From e5ab17cafd62feb6e68e3234d434d69cbb383962 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Wed, 4 Dec 2024 11:57:15 +0900 Subject: [PATCH 1/5] Remove numbering from headings for consistency Signed-off-by: Suguru Hirahara --- ...ing-playbook-appservice-draupnir-for-all.md | 12 ++++++------ docs/configuring-playbook-bot-chatgpt.md | 8 ++++---- docs/configuring-playbook-bot-draupnir.md | 18 +++++++++--------- docs/configuring-playbook-bot-mjolnir.md | 18 +++++++++--------- docs/configuring-playbook-pantalaimon.md | 4 ++-- 5 files changed, 30 insertions(+), 30 deletions(-) diff --git a/docs/configuring-playbook-appservice-draupnir-for-all.md b/docs/configuring-playbook-appservice-draupnir-for-all.md index dcbc57853..9766af929 100644 --- a/docs/configuring-playbook-appservice-draupnir-for-all.md +++ b/docs/configuring-playbook-appservice-draupnir-for-all.md @@ -18,7 +18,7 @@ Draupnir for all does not support external tooling like [MRU](https://mru.rory.g ## Installation -### 1. Create a main management room. +### Create a main management room. The playbook does not create a management room for your Main Draupnir. This task you have to do on your own. @@ -29,11 +29,11 @@ This management room is used to control who has access to your D4A deployment. T As noted in the Draupnir install instructions the control room is sensitive. The following is said about the control room in the Draupnir install instructions. >Anyone in this room can control the bot so it is important that you only invite trusted users to this room. The room must be unencrypted since the playbook does not support installing Pantalaimon yet. -### 2. Give your main management room an alias. +### Give your main management room an alias. Give the room from step 1 an alias. This alias can be anything you want and its recommended for increased security during the setup phase of the bot that you make this alias be a random string. You can give your room a secondary human readable alias when it has been locked down after setup phase. -### 3. Adjusting the playbook configuration. +### Adjusting the playbook configuration. Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file (adapt to your needs): @@ -45,7 +45,7 @@ matrix_appservice_draupnir_for_all_enabled: true matrix_appservice_draupnir_for_all_master_control_room_alias: "ALIAS_FROM_STEP_2_GOES_HERE" ``` -### 4. Installing +### Installing After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below: @@ -68,7 +68,7 @@ If you made it through all the steps above and your main control room was joined The installation of Draupnir for all in this playbook is very much Alpha quality. Usage-wise, Draupnir for allis almost identical to Draupnir bot mode. -### 1. Granting Users the ability to use D4A +### Granting Users the ability to use D4A Draupnir for all includes several security measures like that it only allows users that are on its allow list to ask for a bot. To add a user to this list we have 2 primary options. Using the chat to tell Draupnir to do this for us or if you want to automatically do it by sending `m.policy.rule.user` events that target the subject you want to allow provisioning for with the `org.matrix.mjolnir.allow` recomendation. Using the chat is recomended. @@ -76,7 +76,7 @@ The bot requires a powerlevel of 50 in the management room to control who is all To allow users or whole homeservers you type /plain @draupnir-main:example.com allow `target` and target can be either a MXID or a wildcard like `@*:example.com` to allow all users on example.com to register. We use /plain to force the client to not attempt to mess with this command as it can break Wildcard commands especially. -### 2. How to provision a D4A once you are allowed to. +### How to provision a D4A once you are allowed to. Open a DM with @draupnir-main:example.com and if using an Element client send a message into this DM to finalise creating it. The bot will reject this invite and you will shortly get invited to the Draupnir control room for your newly provisioned Draupnir. From here its just a normal Draupnir experience. diff --git a/docs/configuring-playbook-bot-chatgpt.md b/docs/configuring-playbook-bot-chatgpt.md index da963bdff..dd9601496 100644 --- a/docs/configuring-playbook-bot-chatgpt.md +++ b/docs/configuring-playbook-bot-chatgpt.md @@ -6,7 +6,7 @@ The playbook can install and configure [matrix-chatgpt-bot](https://github.com/m Talk to [ChatGPT](https://openai.com/blog/chatgpt/) via your favourite Matrix client! -## 1. Register the bot account +## Register the bot account The playbook does not automatically create users for you. The bot requires an access token to be able to connect to your homeserver. @@ -20,13 +20,13 @@ You can use the playbook to [register a new user](registering-users.md): ansible-playbook -i inventory/hosts setup.yml --extra-vars='username=bot.chatgpt password=PASSWORD_FOR_THE_BOT admin=no' --tags=register-user ``` -## 2. Get an access token and create encryption keys +## Get an access token and create encryption keys Refer to the documentation on [how to obtain an access token](obtaining-access-tokens.md). To make sure the bot can read encrypted messages, it will need an encryption key, just like any other new user. While obtaining the access token, follow the prompts to setup a backup key. More information can be found in the [Element documentation](https://element.io/help#encryption6). -## 3. Adjusting the playbook configuration +## Adjusting the playbook configuration Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file (adapt to your needs): @@ -51,7 +51,7 @@ matrix_bot_chatgpt_matrix_bot_prompt_prefix: 'Instructions:\nYou are ChatGPT, a You will need to get tokens for ChatGPT. -## 4. Installing +## Installing After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below: diff --git a/docs/configuring-playbook-bot-draupnir.md b/docs/configuring-playbook-bot-draupnir.md index 4c230297c..47b0901ed 100644 --- a/docs/configuring-playbook-bot-draupnir.md +++ b/docs/configuring-playbook-bot-draupnir.md @@ -8,7 +8,7 @@ This documentation page is about installing Draupnir in bot mode. As an alternat If your migrating from Mjolnir skip to step 5b. -## 1. Register the bot account +## Register the bot account The playbook does not automatically create users for you. The bot requires an access token to be able to connect to your homeserver. @@ -24,11 +24,11 @@ ansible-playbook -i inventory/hosts setup.yml --extra-vars='username=bot.draupni If you would like Draupnir to be able to deactivate users, move aliases, shutdown rooms, show abuse reports ([see below](#abuse-reports)), etc then it must be a server admin so you need to change `admin=no` to `admin=yes` in the command above. -## 2. Get an access token +## Get an access token Refer to the documentation on [how to obtain an access token](obtaining-access-tokens.md). -## 3. Make sure the account is free from rate limiting +## Make sure the account is free from rate limiting You will need to prevent Synapse from rate limiting the bot's account. This is not an optional step. If you do not do this step Draupnir will crash. This can be done using Synapse's [admin API](https://matrix-org.github.io/synapse/latest/admin_api/user_admin_api.html#override-ratelimiting-for-users). Please ask for help if you are uncomfortable with these steps or run into issues. @@ -36,7 +36,7 @@ If your Synapse Admin API is exposed to the internet for some reason like runnin The following command works on semi up to date Windows 10 installs and All Windows 11 installations and other systems that ship curl. `curl --header "Authorization: Bearer " -X POST https://matrix.example.com/_synapse/admin/v1/users/@example:example.com/override_ratelimit` Replace `@example:example.com` with the MXID of your Draupnir and example.com with your homeserver domain. You can easily obtain an access token for a homeserver admin account the same way you can obtain an access token for Draupnir itself. If you made Draupnir Admin you can just use the Draupnir token. -## 4. Create a management room +## Create a management room Using your own account, create a new invite only room that you will use to manage the bot. This is the room where you will see the status of the bot and where you will send commands to the bot, such as the command to ban a user from another room. Anyone in this room can control the bot so it is important that you only invite trusted users to this room. @@ -46,11 +46,11 @@ Once you have created the room you need to copy the room ID so you can tell the Finally invite the `@bot.draupnir:example.com` account you created earlier into the room. -## 5. Adjusting the playbook configuration +## Adjusting the playbook configuration Decide whether you want Draupnir to be capable of operating in end-to-end encrypted (E2EE) rooms. This includes the management room and the moderated rooms. To support E2EE, Draupnir needs to [use Pantalaimon](configuring-playbook-pantalaimon.md). -### 5a. Configuration with E2EE support +### a. Configuration with E2EE support When using Pantalaimon, Draupnir will log in to its bot account itself through Pantalaimon, so configure its username and password. @@ -85,7 +85,7 @@ matrix_bot_draupnir_homeserver_url: "{{ 'http://matrix-pantalaimon:8009' if matr matrix_bot_draupnir_raw_homeserver_url: "{{ matrix_addons_homeserver_client_api_url }}" ``` -### 5b. Configuration without E2EE support +### b. Configuration without E2EE support When NOT using Pantalaimon, Draupnir does not log in by itself and you must give it an access token for its bot account. @@ -101,13 +101,13 @@ matrix_bot_draupnir_access_token: "ACCESS_TOKEN_FROM_STEP_2_GOES_HERE" matrix_bot_draupnir_management_room: "ROOM_ID_FROM_STEP_4_GOES_HERE" ``` -### 5c. Migrating from Mjolnir (Only required if migrating.) +### c. Migrating from Mjolnir (Only required if migrating.) Replace your `matrix_bot_mjolnir` config with `matrix_bot_draupnir` config. Also disable Mjolnir if you're doing migration. That is all you need to do due to that Draupnir can complete migration on its own. -## 6. Installing +## Installing After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below: diff --git a/docs/configuring-playbook-bot-mjolnir.md b/docs/configuring-playbook-bot-mjolnir.md index 7036a1180..81b23fdc8 100644 --- a/docs/configuring-playbook-bot-mjolnir.md +++ b/docs/configuring-playbook-bot-mjolnir.md @@ -4,7 +4,7 @@ The playbook can install and configure the [Mjolnir](https://github.com/matrix-o See the project's [documentation](https://github.com/matrix-org/mjolnir) to learn what it does and why it might be useful to you. -## 1. Register the bot account +## Register the bot account The playbook does not automatically create users for you. The bot requires an access token to be able to connect to your homeserver. @@ -20,11 +20,11 @@ ansible-playbook -i inventory/hosts setup.yml --extra-vars='username=bot.mjolnir If you would like Mjolnir to be able to deactivate users, move aliases, shutdown rooms, etc then it must be a server admin so you need to change `admin=no` to `admin=yes` in the command above. -## 2. Get an access token +## Get an access token Refer to the documentation on [how to obtain an access token](obtaining-access-tokens.md). -## 3. Make sure the account is free from rate limiting +## Make sure the account is free from rate limiting You will need to prevent Synapse from rate limiting the bot's account. This is not an optional step. If you do not do this step Mjolnir will crash. This can be done using Synapse's [admin API](https://matrix-org.github.io/synapse/latest/admin_api/user_admin_api.html#override-ratelimiting-for-users). Please ask for help if you are uncomfortable with these steps or run into issues. @@ -32,7 +32,7 @@ If your Synapse Admin API is exposed to the internet for some reason like runnin The following command works on semi up to date Windows 10 installs and All Windows 11 installations and other systems that ship curl. `curl --header "Authorization: Bearer " -X POST https://matrix.example.com/_synapse/admin/v1/users/@example:example.com/override_ratelimit` Replace `@example:example.com` with the MXID of your Mjolnir and example.com with your homeserver domain. You can easily obtain an access token for a homeserver admin account the same way you can obtain an access token for Mjolnir itself. If you made Mjolnir Admin you can just use the Mjolnir token. -## 4. Create a management room +## Create a management room Using your own account, create a new invite only room that you will use to manage the bot. This is the room where you will see the status of the bot and where you will send commands to the bot, such as the command to ban a user from another room. Anyone in this room can control the bot so it is important that you only invite trusted users to this room. @@ -42,11 +42,11 @@ Once you have created the room you need to copy the room ID so you can tell the Finally invite the `@bot.mjolnir:example.com` account you created earlier into the room. -## 5. Adjusting the playbook configuration +## Adjusting the playbook configuration Decide whether you want Mjolnir to be capable of operating in end-to-end encrypted (E2EE) rooms. This includes the management room and the moderated rooms. To support E2EE, Mjolnir needs to [use Pantalaimon](configuring-playbook-pantalaimon.md). -### 5a. Configuration with E2EE support +### a. Configuration with E2EE support When using Pantalaimon, Mjolnir will log in to its bot account itself through Pantalaimon, so configure its username and password. @@ -81,7 +81,7 @@ matrix_bot_mjolnir_homeserver_url: "{{ 'http://matrix-pantalaimon:8009' if matri matrix_bot_mjolnir_raw_homeserver_url: "{{ matrix_addons_homeserver_client_api_url }}" ``` -### 5b. Configuration without E2EE support +### b. Configuration without E2EE support When NOT using Pantalaimon, Mjolnir does not log in by itself and you must give it an access token for its bot account. @@ -97,7 +97,7 @@ matrix_bot_mjolnir_access_token: "ACCESS_TOKEN_FROM_STEP_2_GOES_HERE" matrix_bot_mjolnir_management_room: "ROOM_ID_FROM_STEP_4_GOES_HERE" ``` -## 6. Adding Mjolnir synapse antispam module (optional) +## Adding Mjolnir synapse antispam module (optional) Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file (adapt to your needs): @@ -109,7 +109,7 @@ matrix_synapse_ext_spam_checker_mjolnir_antispam_config_block_usernames: false matrix_synapse_ext_spam_checker_mjolnir_antispam_config_ban_lists: [] ``` -## 7. Installing +## Installing After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below: diff --git a/docs/configuring-playbook-pantalaimon.md b/docs/configuring-playbook-pantalaimon.md index 054fbcc32..99c42324c 100644 --- a/docs/configuring-playbook-pantalaimon.md +++ b/docs/configuring-playbook-pantalaimon.md @@ -6,7 +6,7 @@ See the project's [documentation](https://github.com/matrix-org/pantalaimon) to This role exposes Pantalaimon's API only within the container network, so bots and clients installed on the same machine can use it. In particular the [Draupnir](configuring-playbook-bot-draupnir.md) and [Mjolnir](configuring-playbook-bot-mjolnir.md) roles (and possibly others) can use it. -## 1. Adjusting the playbook configuration +## Adjusting the playbook configuration Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file (adapt to your needs): @@ -16,7 +16,7 @@ matrix_pantalaimon_enabled: true The default configuration should suffice. For advanced configuration, you can override the variables documented in the role's [defaults](../roles/custom/matrix-pantalaimon/defaults/main.yml). -## 2. Installing +## Installing After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below: From 701e697d908159a29997868808c611f7d08adcdc Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 5 Dec 2024 15:07:33 +0900 Subject: [PATCH 2/5] Update README.md: remove a redundant whitespace character Signed-off-by: Suguru Hirahara --- docs/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/README.md b/docs/README.md index 7ab368150..6a0cf1059 100644 --- a/docs/README.md +++ b/docs/README.md @@ -27,7 +27,7 @@ NOTE: You can check useful documentation for configuring components here: [Configuring the playbook](configuring-playbook.md) -- [Administration](configuring-playbook.md#administration) - services that help you in administrating and monitoring your Matrix installation +- [Administration](configuring-playbook.md#administration) - services that help you in administrating and monitoring your Matrix installation - [Authentication and user-related](configuring-playbook.md#authentication-and-user-related) - extend and modify how users are authenticated on your homeserver From c1c1b3ada0007614794d4656d9f2f63f32932adc Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 5 Dec 2024 15:14:47 +0900 Subject: [PATCH 3/5] Replace triple dots with horizontal ellipsis (U+2026) Signed-off-by: Suguru Hirahara --- .github/ISSUE_TEMPLATE/feature_request.md | 2 +- CHANGELOG.md | 8 ++++---- docs/ansible.md | 8 ++++---- ...ing-playbook-bot-matrix-registration-bot.md | 2 +- ...figuring-playbook-bridge-mautrix-discord.md | 2 +- docs/faq.md | 2 +- docs/importing-postgres.md | 6 +++--- .../caddy2-in-container/docker-compose.yaml | 2 +- justfile | 6 +++--- .../matrix-base/templates/bin/remove-all.j2 | 2 +- .../defaults/main.yml | 2 +- .../matrix-bridge-hookshot/defaults/main.yml | 2 +- .../matrix-dendrite/templates/dendrite.yaml.j2 | 2 +- .../defaults/main.yml | 2 +- roles/custom/matrix-synapse/defaults/main.yml | 4 ++-- .../templates/synapse/homeserver.yaml.j2 | 18 +++++++++--------- roles/custom/matrix-synapse/vars/main.yml | 2 +- 17 files changed, 36 insertions(+), 36 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index 2dd100be5..1c50f6145 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -8,7 +8,7 @@ assignees: '' --- **Is your feature request related to a problem? Please describe.** -A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] +A clear and concise description of what the problem is. Ex. I'm always frustrated when […]