# matrix-ops-bot a bot for ops in matrix Current features: * Catch PagerDuty webhooks and forward them to a matrix room ## Usage Note: Register your bot user manually. This program does not register a new user. ``` docker build -t registry.gitlab.com/guardianproject-ops/matrix-ops-bot . docker run --rm \ --name ops-bot \ --volume /path/to/store:/data \ --env MATRIX_HOMESERVER=https://matrix.org \ --env MATRIX_USER_ID=@YOURBOT:matrix.org \ --env MATRIX_PASSWORD="changeme" \ --env MATRIX_DEVICE_NAME=my-bot-server \ --env BOT_ROUTING_KEYS="{\"room1\": \"!XXXX:matrix.org\", \"room2\": \"!YYYYY:matrix.org\"}" \ --env BOT_BEARER_TOKEN="changeme" \ registry.gitlab.com/guardianproject-ops/matrix-ops-bot ``` or docker-compose: ```yaml version: "3.8" services: bot: image: registry.gitlab.com/guardianproject-ops/matrix-ops-bot:main environment: MATRIX_HOMESERVER: "https://matrix.org" MATRIX_USER_ID: "@YOURBOT:matrix.org" MATRIX_PASSWORD: "changeme" MATRIX_DEVICE_NAME: "my-bot-server" BOT_BEARER_TOKEN: "changeme" BOT_ROUTING_KEYS: > {"room1": "!XXXX:matrix.org", "room2": "!YYYYY:matrix.org"} user: "1000" ports: - "0.0.0.0:1111:1111" volumes: - /home/admin/bot/data:/data:rw logging: driver: "json-file" options: max-size: "100m" max-file: "3" ``` ## Dev Setup `.env`: ``` MATRIX_HOMESERVER=https://matrix.org MATRIX_USER_ID=@YOURBOT:matrix.org MATRIX_PASSWORD="changeme" MATRIX_DEVICE_NAME=my-bot-server MATRIX_VERIFY_SSL=True MATRIX_STORE_PATH=/abs/path/to/persistent-store BOT_ROUTING_KEYS="{\"room1\": \"!XXXX:matrix.org\", \"room2\": \"!YYYYY:matrix.org\"}" BOT_BEARER_TOKEN="changeme" ``` ``` source .env poetry install poetry run start ``` ## License ``` matrix-ops-bot Copyright (C) 2022 Abel Luck This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . ``` This project uses pieces of [maubot/gitlab](https://github.com/maubot/gitlab), which is also AGPL. These files have been noted with a comment header.