Compare commits

..

21 Commits

Author SHA1 Message Date
Suguru Hirahara
236210eae5
Merge a2445af6d0 into c97dd0b24f 2024-12-23 16:16:35 +01:00
Slavi Pantaleev
c97dd0b24f
Merge pull request #3901 from luixxiul/fix
Edit docs for obtaining an access token
2024-12-23 15:53:27 +02:00
Suguru Hirahara
66ea709cb3
Replace headers for sections about obtaining an access token
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-23 18:18:36 +09:00
Suguru Hirahara
7911cdb232
Add a common warning message about not to share an access token
Based on docs/obtaining-access-tokens.md

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-23 18:18:08 +09:00
Suguru Hirahara
fb05eace5a
Edit instructions to obtain an access token
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-23 18:17:10 +09:00
Suguru Hirahara
3ad2211d74
Use common instructions for referring to the documentation on obtaining an access token
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-23 18:15:41 +09:00
Slavi Pantaleev
11a90a4789 Move matrix-registration-bot's token comment inside the if statement 2024-12-23 09:02:58 +02:00
Slavi Pantaleev
d89e627a79 Move some matrix-registration-bot variables around 2024-12-23 09:00:44 +02:00
Slavi Pantaleev
4d39efe6f6 Rename variable (matrix_bot_matrix_registration_bot_matrix_homeserver_url -> matrix_bot_matrix_registration_bot_api_base_url)
We were overriding the `matrix_bot_matrix_registration_bot_matrix_homeserver_url` variable via `group_vars/matrix_servers`
to point it to the container-local homeserver URL, but this variable was not being used at all.

The actual variable name (which was being used) is `matrix_bot_matrix_registration_bot_api_base_url`.

Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3898
2024-12-23 08:59:24 +02:00
Slavi Pantaleev
358b3486f9 Group matrix-registration-bot's self-building tasks in a block 2024-12-23 08:56:08 +02:00
Slavi Pantaleev
47a337258c Only create docker-src directory for matrix-registration-bot when self building is enabled 2024-12-23 08:55:48 +02:00
Slavi Pantaleev
cea437c844 Expose mautrix-discord's avatar proxy
Possibly fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3900

This patch hasn't been tested.
2024-12-23 08:36:18 +02:00
Slavi Pantaleev
f1c238e732 Update mautrix-discord config to latest upstream sample and introduce a few new Ansible variables
Provoked by https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3900
2024-12-23 08:20:56 +02:00
Slavi Pantaleev
6e3f508d20
Merge pull request #3899 from luixxiul/fix
Edit docs for bots: adopt the common format
2024-12-23 07:51:17 +02:00
Suguru Hirahara
069f1392e0
Update POT files
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-23 13:11:49 +09:00
Suguru Hirahara
9a56aff933
Edit docs for bots: adopt the common format
- Add "To use the bot" if it does not exist: adopt the format of the docs for bridges
- Add "Prerequisites" section if an API key or user account is required
- Use the common instruction for getting an access token
- Replace "Get" with "Obtain" about getting keys or access tokens
- Replace placeholders for access tokens on docs/configuring-playbook-bot-go.neb.md

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-23 13:11:38 +09:00
Slavi Pantaleev
2337e62ecf
Merge pull request #3897 from spantaleev/renovate/urllib3-2.x
Update dependency urllib3 to v2.3.0
2024-12-22 13:25:47 +02:00
Slavi Pantaleev
59d9d2995c
Merge pull request #3896 from luixxiul/fix
Edit docs: consistent instructions to generate passphrases or secrets with pwgen
2024-12-22 13:25:22 +02:00
renovate[bot]
c5f4ea6850
Update dependency urllib3 to v2.3.0 2024-12-22 09:30:35 +00:00
Suguru Hirahara
f044bdd279
Update POT files
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-22 17:54:16 +09:00
Suguru Hirahara
6b87d1aa7d
Edit docs: consistent instructions to generate passphrases or secrets with pwgen
This commit replaces instructions to create passwords, passphrases, or secrets with common ones.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-22 17:53:14 +09:00
63 changed files with 526 additions and 296 deletions

View File

@ -2198,7 +2198,7 @@ To migrate to the new setup, expect a few minutes of downtime, while you follow
1. We believe the steps below are safe and you won't encounter any data loss, but consider [making a Postgres backup](docs/maintenance-postgres.md#backing-up-postgresql) anyway. If you've never backed up Postgres, now would be a good time to try it.
2. Generate a strong password to be used for your superuser Postgres user (called `matrix`). You can use `pwgen -s 64 1` to generate it, or some other tool. The **maximum length** for a Postgres password is 100 bytes (characters). Don't go crazy!
2. Generate a strong password to be used for your superuser Postgres user (called `matrix`). You can create one with a command like `pwgen -s 64 1`. The **maximum length** for a Postgres password is 100 bytes (characters). Don't go crazy!
3. Update your playbook's `inventory/host_vars/matrix.example.com/vars.yml` file, adding a line like this:
```yaml

View File

@ -20,7 +20,7 @@ This service uses a bot (with a username specified in `matrix_alertmanager_recei
The playbook does not automatically create users for you. You **need to register the bot user manually** before setting up the bot.
Choose a strong password for the bot. You can generate a good password with a command like this: `pwgen -s 64 1`.
Generate a strong password for the bot. You can create one with a command like `pwgen -s 64 1`.
You can use the playbook to [register a new user](registering-users.md):
@ -28,10 +28,12 @@ You can use the playbook to [register a new user](registering-users.md):
ansible-playbook -i inventory/hosts setup.yml --extra-vars='username=bot.alertmanager.receiver password=PASSWORD_FOR_THE_BOT admin=no' --tags=register-user
```
### Get an access token
### Obtain an access token
The bot requires an access token to be able to connect to your homeserver. Refer to the documentation on [how to obtain an access token](obtaining-access-tokens.md).
⚠️ **Warning**: Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone.
### Join to rooms as the bot manually
**This bot does not accept room invitations automatically**. To deliver messages to rooms, the bot must be joined to all rooms manually.
@ -42,7 +44,7 @@ Then, log in as the bot using any Matrix client of your choosing, accept the roo
## Adjusting the playbook configuration
Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file. Make sure to replace `ACCESS_TOKEN_HERE` with the one created [above](#get-an-access-token).
Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file. Make sure to replace `ACCESS_TOKEN_HERE` with the one created [above](#obtain-an-access-token).
```yaml
matrix_alertmanager_receiver_enabled: true
@ -50,7 +52,6 @@ matrix_alertmanager_receiver_enabled: true
# Uncomment and adjust this part if you'd like to use a username different than the default
# matrix_alertmanager_receiver_config_matrix_user_id_localpart: "bot.alertmanager.receiver"
# Specify the bot user's access token here.
matrix_alertmanager_receiver_config_matrix_access_token: "ACCESS_TOKEN_HERE"
# Optionally, configure some mappings (URL-friendly room name -> actual Matrix room ID).

View File

@ -66,7 +66,7 @@ where:
* USER - SSH user of a provider/server
* HOST - SSH host of a provider/server
* REPO - BorgBackup repository name, it will be initialized on backup start, eg: `matrix`, regarding Syntax see [Remote repositories](https://borgbackup.readthedocs.io/en/stable/usage/general.html#repository-urls)
* PASSPHRASE - passphrase used for encrypting backups, you may generate it with `pwgen -s 64 1` or use any password manager
* PASSPHRASE - passphrase used for encrypting backups. You can create one with a command like `pwgen -s 64 1`.
* PRIVATE KEY - the content of the **private** part of the SSH key you created before. The whole key (all of its belonging lines) under `backup_borg_ssh_key_private` needs to be indented with 2 spaces
To backup without encryption, add `backup_borg_encryption: 'none'` to your vars. This will also enable the `backup_borg_unknown_unencrypted_repo_access_is_ok` variable.

View File

@ -36,7 +36,7 @@ Depending on your current `vars.yml` file and desired configuration, **you may r
### Base configuration
Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
To enable the bot, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
```yaml
matrix_bot_baibot_enabled: true
@ -44,12 +44,12 @@ matrix_bot_baibot_enabled: true
# Uncomment and adjust this part if you'd like to use a username different than the default
# matrix_bot_baibot_config_user_mxid_localpart: baibot
# Generate a strong password here. Consider generating it with `pwgen -s 64 1`.
# Generate a strong password for the bot. You can create one with a command like `pwgen -s 64 1`.
# If you'd like to change this password subsequently, see the details below.
matrix_bot_baibot_config_user_password: 'PASSWORD_FOR_THE_BOT'
# An optional passphrase to use for backing up and recovering the bot's encryption keys.
# You can put any string here, but generating a strong one is preferred (e.g. `pwgen -s 64 1`).
# You can create one with a command like `pwgen -s 64 1`.
#
# If set to null, the recovery module will not be used and losing your session/database
# will mean you lose access to old messages in encrypted room.

View File

@ -12,7 +12,7 @@ Buscarron is bot that receives HTTP POST submissions of web forms and forwards t
## Adjusting the playbook configuration
To enable Buscarron, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
To enable the bot, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
```yaml
matrix_bot_buscarron_enabled: true
@ -20,7 +20,7 @@ matrix_bot_buscarron_enabled: true
# Uncomment and adjust this part if you'd like to use a username different than the default
# matrix_bot_buscarron_login: bot.buscarron
# Generate a strong password here. Consider generating it with `pwgen -s 64 1`
# Generate a strong password for the bot. You can create one with a command like `pwgen -s 64 1`.
matrix_bot_buscarron_password: PASSWORD_FOR_THE_BOT
# Adjust accepted forms

View File

@ -12,13 +12,17 @@ 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!
## Register the bot account
## Prerequisites
The playbook does not automatically create users for you. The bot requires an access token to be able to connect to your homeserver.
### Obtain an OpenAI API key
You **need to register the bot user manually** before setting up the bot.
To use the bot, you'd need to obtain an API key from [https://platform.openai.com/account/api-keys](https://platform.openai.com/account/api-keys).
Choose a strong password for the bot. You can generate a good password with a command like this: `pwgen -s 64 1`.
### Register the bot account
The playbook does not automatically create users for you. You **need to register the bot user manually** before setting up the bot.
Generate a strong password for the bot. You can create one with a command like `pwgen -s 64 1`.
You can use the playbook to [register a new user](registering-users.md):
@ -26,37 +30,33 @@ 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
```
## Get an access token and create encryption keys
### Obtain an access token and create encryption keys
Refer to the documentation on [how to obtain an access token](obtaining-access-tokens.md).
The bot requires an access token to be able to connect to your homeserver. Refer to the documentation on [how to obtain an access token](obtaining-access-tokens.md).
⚠️ **Warning**: Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone.
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).
## Adjusting the playbook configuration
Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file (adapt to your needs):
To enable the bot, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file. Make sure to replace `API_KEY_HERE` with the API key retrieved [here](#obtain-an-openai-api-key) and `ACCESS_TOKEN_HERE` with the access token created [here](#obtain-an-access-token-and-create-encryption-keys), respectively.
```yaml
matrix_bot_chatgpt_enabled: true
# Obtain a new API key from https://platform.openai.com/account/api-keys
matrix_bot_chatgpt_openai_api_key: ''
matrix_bot_chatgpt_openai_api_key: 'API_KEY_HERE'
# This is the default username
# Uncomment and adjust this part if you'd like to use a username different than the default
# matrix_bot_chatgpt_matrix_bot_username_localpart: 'bot.chatgpt'
# Matrix access token (from bot user above)
# see: https://webapps.stackexchange.com/questions/131056/how-to-get-an-access-token-for-element-riot-matrix
matrix_bot_chatgpt_matrix_access_token: ''
matrix_bot_chatgpt_matrix_access_token: 'ACCESS_TOKEN_HERE'
# Configuring the system promt used, needed if the bot is used for special tasks.
# More information: https://github.com/mustvlad/ChatGPT-System-Prompts
matrix_bot_chatgpt_matrix_bot_prompt_prefix: 'Instructions:\nYou are ChatGPT, a large language model trained by OpenAI.'
```
You will need to get tokens for ChatGPT.
## Installing
After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below:

View File

@ -20,7 +20,7 @@ If your migrating from Mjolnir skip to [this section](#migrating-from-mjolnir-on
The playbook does not automatically create users for you. You **need to register the bot user manually** before setting up the bot.
Choose a strong password for the bot. You can generate a good password with a command like this: `pwgen -s 64 1`.
Generate a strong password for the bot. You can create one with a command like `pwgen -s 64 1`.
You can use the playbook to [register a new user](registering-users.md):
@ -30,10 +30,12 @@ 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.
### Get an access token
### Obtain an access token
The bot requires an access token to be able to connect to your homeserver. Refer to the documentation on [how to obtain an access token](obtaining-access-tokens.md).
⚠️ **Warning**: Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone.
### Make sure the account is free from rate limiting
If your homeserver's implementation is Synapse, you will need to prevent it from rate limiting the bot's account. **This is a required step. If you do not configure it, Draupnir will crash.**
@ -70,7 +72,7 @@ Finally invite the `@bot.draupnir:example.com` account you created earlier into
## Adjusting the playbook configuration
Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file. Make sure to replace `MANAGEMENT_ROOM_ID_HERE`.
To enable the bot, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file. Make sure to replace `MANAGEMENT_ROOM_ID_HERE`.
```yaml
# Enable Draupnir
@ -119,7 +121,7 @@ matrix_bot_draupnir_raw_homeserver_url: "{{ matrix_addons_homeserver_client_api_
When NOT using Pantalaimon, Draupnir does not log in by itself and you must give it an access token for its bot account.
Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file. Make sure to replace `ACCESS_TOKEN_HERE` with the one created [above](#get-an-access-token).
Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file. Make sure to replace `ACCESS_TOKEN_HERE` with the one created [above](#obtain-an-access-token).
```yaml
matrix_bot_draupnir_access_token: "ACCESS_TOKEN_HERE"

View File

@ -14,13 +14,13 @@ Go-NEB is a Matrix bot written in Go. It is the successor to Matrix-NEB, the ori
See the project's [documentation](https://github.com/matrix-org/go-neb/blob/master/README.md) to learn what it does and why it might be useful to you.
## Registering the bot account
## Prerequisites
The playbook does not automatically create users for you. The bot requires at least 1 access token to be able to connect to your homeserver.
### Register the bot account
You **need to register the bot user manually** before setting up the bot.
The playbook does not automatically create users for you. You **need to register the bot user manually** before setting up the bot.
Choose a strong password for the bot. You can generate a good password with a command like this: `pwgen -s 64 1`.
Generate a strong password for the bot. You can create one with a command like `pwgen -s 64 1`.
You can use the playbook to [register a new user](registering-users.md):
@ -28,11 +28,15 @@ You can use the playbook to [register a new user](registering-users.md):
ansible-playbook -i inventory/hosts setup.yml --extra-vars='username=bot.go-neb password=PASSWORD_FOR_THE_BOT admin=no' --tags=register-user
```
Once the user is created you can [obtain an access token](obtaining-access-tokens.md).
### Obtain an access token
The bot requires an access token to be able to connect to your homeserver. Refer to the documentation on [how to obtain an access token](obtaining-access-tokens.md).
⚠️ **Warning**: Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone.
## Adjusting the playbook configuration
To enable Go-NEB, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
To enable the bot, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file. Make sure to replace `ACCESS_TOKEN_FOR_GONEB_HERE` and `ACCESS_TOKEN_FOR_ANOTHER_GONEB_HERE` with the ones created [above](#obtain-an-access-token).
```yaml
matrix_bot_go_neb_enabled: true
@ -41,7 +45,7 @@ matrix_bot_go_neb_enabled: true
# Use the access token you obtained in the step above.
matrix_bot_go_neb_clients:
- UserID: "@goneb:{{ matrix_domain }}"
AccessToken: "MDASDASJDIASDJASDAFGFRGER"
AccessToken: "ACCESS_TOKEN_FOR_GONEB_HERE"
DeviceID: "DEVICE1"
HomeserverURL: "{{ matrix_addons_homeserver_client_api_url }}"
Sync: true
@ -50,7 +54,7 @@ matrix_bot_go_neb_clients:
AcceptVerificationFromUsers: [":{{ matrix_domain }}"]
- UserID: "@another_goneb:{{ matrix_domain }}"
AccessToken: "MDASDASJDIASDJASDAFGFRGER"
AccessToken: "ACCESS_TOKEN_FOR_ANOTHER_GONEB_HERE"
DeviceID: "DEVICE2"
HomeserverURL: "{{ matrix_addons_homeserver_client_api_url }}"
Sync: false
@ -111,7 +115,7 @@ matrix_bot_go_neb_services:
api_key: "AIzaSyA4FD39m9"
cx: "AIASDFWSRRtrtr"
# Get a key via https://api.imgur.com/oauth2/addclient
# Obtain a key via https://api.imgur.com/oauth2/addclient
# Select "oauth2 without callback url"
- ID: "imgur_service"
Type: "imgur"

View File

@ -14,7 +14,7 @@ See the project's [documentation](https://github.com/etkecc/honoroit/blob/main/R
## Adjusting the playbook configuration
To enable Honoroit, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
To enable the bot, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
```yaml
matrix_bot_honoroit_enabled: true
@ -22,7 +22,7 @@ matrix_bot_honoroit_enabled: true
# Uncomment and adjust this part if you'd like to use a username different than the default
# matrix_bot_honoroit_login: honoroit
# Generate a strong password here. Consider generating it with `pwgen -s 64 1`
# Generate a strong password for the bot. You can create one with a command like `pwgen -s 64 1`.
matrix_bot_honoroit_password: PASSWORD_FOR_THE_BOT
# Adjust this to your room ID

View File

@ -12,7 +12,7 @@ The bot allows you to easily **create and manage registration tokens** aka. invi
See the project's [documentation](https://github.com/moan0s/matrix-registration-bot/blob/master/README.md) to learn what it does and why it might be useful to you.
## Configuration
## Adjusting the playbook configuration
To enable the bot, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
@ -23,7 +23,7 @@ matrix_bot_matrix_registration_bot_enabled: true
# Uncomment and adjust this part if you'd like to use a username different than the default
# matrix_bot_matrix_registration_bot_matrix_user_id_localpart: bot.matrix-registration-bot
# Generate a strong password here. Consider generating it with `pwgen -s 64 1`
# Generate a strong password for the bot. You can create one with a command like `pwgen -s 64 1`.
matrix_bot_matrix_registration_bot_bot_password: PASSWORD_FOR_THE_BOT
# Enables registration

View File

@ -14,7 +14,7 @@ See the project's [documentation](https://github.com/anoadragon453/matrix-remind
## Adjusting the playbook configuration
Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
To enable the bot, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
```yaml
matrix_bot_matrix_reminder_bot_enabled: true
@ -22,7 +22,7 @@ matrix_bot_matrix_reminder_bot_enabled: true
# Uncomment and adjust this part if you'd like to use a username different than the default
# matrix_bot_matrix_reminder_bot_matrix_user_id_localpart: bot.matrix-reminder-bot
# Generate a strong password here. Consider generating it with `pwgen -s 64 1`
# Generate a strong password for the bot. You can create one with a command like `pwgen -s 64 1`.
matrix_bot_matrix_reminder_bot_matrix_user_password: PASSWORD_FOR_THE_BOT
# Adjust this to your timezone

View File

@ -14,7 +14,7 @@ See the project's [documentation](https://docs.mau.fi/maubot/usage/basic.html) t
## Adjusting the playbook configuration
To enable maubot, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
To enable the bot, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
```yaml
matrix_bot_maubot_enabled: true
@ -22,7 +22,7 @@ matrix_bot_maubot_enabled: true
# Uncomment and adjust this part if you'd like to use a username different than the default
# matrix_bot_maubot_login: bot.maubot
# Generate a strong password here. Consider generating it with `pwgen -s 64 1`
# Generate a strong password for the bot. You can create one with a command like `pwgen -s 64 1`.
matrix_bot_maubot_initial_password: PASSWORD_FOR_THE_BOT
matrix_bot_maubot_admins:
@ -81,8 +81,10 @@ You should start in the following order
2. **Upload some Plugins**: Plugins can be obtained from [here](https://github.com/maubot/maubot#plugins) or any other source.
3. **Create an instance**: An instance is the actual bot. You have to specify a client which the bot instance will use and the plugin (how the bot will behave)
## Obtaining an access token
## Obtain an access token
This can be done via `mbc login` then `mbc auth` (see the [maubot documentation](https://docs.mau.fi/maubot/usage/cli/auth.html)). To run these commands, you'll first need to `exec` into the maubot container with `docker exec -it matrix-bot-maubot sh`.
Alternatively, you can follow our generic [obtain an access token](obtaining-access-tokens.md) documentation. Be aware that you'd better use the **Obtain an access token via curl** method (not **Obtain an access token via Element Web**) as the latter will give your bot issues in encrypted rooms. Read [more](https://docs.mau.fi/maubot/usage/basic.html#creating-clients).
Alternatively, you can refer to the documentation on [how to obtain an access token](obtaining-access-tokens.md). Be aware that you'd better use the **Obtain an access token via curl** method (not **Obtain an access token via Element Web**) as the latter will causes issues to your bot in encrypted rooms. Read [more](https://docs.mau.fi/maubot/usage/basic.html#creating-clients).
⚠️ **Warning**: Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone.

View File

@ -16,7 +16,7 @@ See the project's [documentation](https://github.com/matrix-org/mjolnir/blob/mai
The playbook does not automatically create users for you. You **need to register the bot user manually** before setting up the bot.
Choose a strong password for the bot. You can generate a good password with a command like this: `pwgen -s 64 1`.
Generate a strong password for the bot. You can create one with a command like `pwgen -s 64 1`.
You can use the playbook to [register a new user](registering-users.md):
@ -26,10 +26,12 @@ 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.
### Get an access token
### Obtain an access token
The bot requires an access token to be able to connect to your homeserver. Refer to the documentation on [how to obtain an access token](obtaining-access-tokens.md).
⚠️ **Warning**: Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone.
### Make sure the account is free from rate limiting
If your homeserver's implementation is Synapse, you will need to prevent it from rate limiting the bot's account. **This is a required step. If you do not configure it, Mjolnir will crash.**
@ -66,7 +68,7 @@ Finally invite the `@bot.mjolnir:example.com` account you created earlier into t
## Adjusting the playbook configuration
Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file. Make sure to replace `MANAGEMENT_ROOM_ID_HERE`.
To enable the bot, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file. Make sure to replace `MANAGEMENT_ROOM_ID_HERE`.
```yaml
# Enable Mjolnir
@ -115,7 +117,7 @@ matrix_bot_mjolnir_raw_homeserver_url: "{{ matrix_addons_homeserver_client_api_u
When NOT using Pantalaimon, Mjolnir does not log in by itself and you must give it an access token for its bot account.
Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file. Make sure to replace `ACCESS_TOKEN_HERE` with the one created [above](#get-an-access-token).
Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file. Make sure to replace `ACCESS_TOKEN_HERE` with the one created [above](#obtain-an-access-token).
```yaml
matrix_bot_mjolnir_access_token: "ACCESS_TOKEN_HERE"

View File

@ -76,7 +76,7 @@ This is the recommended way of setting up Double Puppeting, as it's easier to ac
When using this method, **each user** that wishes to enable Double Puppeting needs to follow the following steps:
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to do that](obtaining-access-tokens.md).
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to obtain one](obtaining-access-tokens.md).
- send the access token to the bot. Example: `login-matrix MATRIX_ACCESS_TOKEN_HERE`

View File

@ -107,7 +107,7 @@ Enabling double puppeting by enabling the [Shared Secret Auth](configuring-playb
When using this method, **each user** that wishes to enable Double Puppeting needs to follow the following steps:
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to do that](obtaining-access-tokens.md).
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to obtain one](obtaining-access-tokens.md).
- send the access token to the bot. Example: `login-matrix MATRIX_ACCESS_TOKEN_HERE`

View File

@ -102,7 +102,7 @@ This is the recommended way of setting up Double Puppeting, as it's easier to ac
When using this method, **each user** that wishes to enable Double Puppeting needs to follow the following steps:
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to do that](obtaining-access-tokens.md).
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to obtain one](obtaining-access-tokens.md).
- send the access token to the bot. Example: `login-matrix MATRIX_ACCESS_TOKEN_HERE`

View File

@ -61,7 +61,7 @@ This is the recommended way of setting up Double Puppeting, as it's easier to ac
When using this method, **each user** that wishes to enable Double Puppeting needs to follow the following steps:
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to do that](obtaining-access-tokens.md).
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to obtain one](obtaining-access-tokens.md).
- send the access token to the bot. Example: `login-matrix MATRIX_ACCESS_TOKEN_HERE`

View File

@ -71,7 +71,7 @@ Enabling double puppeting by enabling the [Shared Secret Auth](configuring-playb
When using this method, **each user** that wishes to enable Double Puppeting needs to follow the following steps:
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to do that](obtaining-access-tokens.md).
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to obtain one](obtaining-access-tokens.md).
- send the access token to the bot. Example: `login-matrix MATRIX_ACCESS_TOKEN_HERE`

View File

@ -71,7 +71,7 @@ This is the recommended way of setting up Double Puppeting, as it's easier to ac
When using this method, **each user** that wishes to enable Double Puppeting needs to follow the following steps:
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to do that](obtaining-access-tokens.md).
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to obtain one](obtaining-access-tokens.md).
- send the access token to the bot. Example: `login-matrix MATRIX_ACCESS_TOKEN_HERE`

View File

@ -110,7 +110,7 @@ This is the recommended way of setting up Double Puppeting, as it's easier to ac
When using this method, **each user** that wishes to enable Double Puppeting needs to follow the following steps:
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to do that](obtaining-access-tokens.md).
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to obtain one](obtaining-access-tokens.md).
- send the access token to the bot. Example: `login-matrix MATRIX_ACCESS_TOKEN_HERE`

View File

@ -127,7 +127,7 @@ This is the recommended way of setting up Double Puppeting, as it's easier to ac
When using this method, **each user** that wishes to enable Double Puppeting needs to follow the following steps:
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to do that](obtaining-access-tokens.md).
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to obtain one](obtaining-access-tokens.md).
- send the access token to the bot. Example: `login-matrix MATRIX_ACCESS_TOKEN_HERE`

View File

@ -112,7 +112,7 @@ This is the recommended way of setting up Double Puppeting, as it's easier to ac
When using this method, **each user** that wishes to enable Double Puppeting needs to follow the following steps:
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to do that](obtaining-access-tokens.md).
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to obtain one](obtaining-access-tokens.md).
- send the access token to the bot. Example: `login-matrix MATRIX_ACCESS_TOKEN_HERE`

View File

@ -88,7 +88,7 @@ This is the recommended way of setting up Double Puppeting, as it's easier to ac
When using this method, **each user** that wishes to enable Double Puppeting needs to follow the following steps:
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to do that](obtaining-access-tokens.md).
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to obtain one](obtaining-access-tokens.md).
- send the access token to the bot. Example: `login-matrix MATRIX_ACCESS_TOKEN_HERE`

View File

@ -94,7 +94,7 @@ Enabling double puppeting by enabling the [Shared Secret Auth](configuring-playb
When using this method, **each user** that wishes to enable Double Puppeting needs to follow the following steps:
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to do that](obtaining-access-tokens.md).
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to obtain one](obtaining-access-tokens.md).
- send `login-matrix` to the bot and follow instructions about how to send the access token to it

View File

@ -68,7 +68,7 @@ This is the recommended way of setting up Double Puppeting, as it's easier to ac
When using this method, **each user** that wishes to enable Double Puppeting needs to follow the following steps:
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to do that](obtaining-access-tokens.md).
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to obtain one](obtaining-access-tokens.md).
- send the access token to the bot. Example: `login-matrix MATRIX_ACCESS_TOKEN_HERE`

View File

@ -79,7 +79,7 @@ Enabling double puppeting by enabling the [Shared Secret Auth](configuring-playb
When using this method, **each user** that wishes to enable Double Puppeting needs to follow the following steps:
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to do that](obtaining-access-tokens.md).
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to obtain one](obtaining-access-tokens.md).
- send the access token to the bot. Example: `login-matrix MATRIX_ACCESS_TOKEN_HERE`

View File

@ -35,7 +35,7 @@ matrix_postmoogle_enabled: true
# Uncomment and adjust this part if you'd like to use a username different than the default
# matrix_postmoogle_login: postmoogle
# Generate a strong password here. Consider generating it with `pwgen -s 64 1`
# Generate a strong password for the bot. You can create one with a command like `pwgen -s 64 1`.
matrix_postmoogle_password: PASSWORD_FOR_THE_BOT
# Uncomment to add one or more admins to this bridge:

View File

@ -32,13 +32,13 @@ matrix_dimension_admins:
The admin interface is accessible within Element Web by accessing it in any room and clicking the cog wheel/settings icon in the top right. Currently, Dimension can be opened in Element Web by the "Add widgets, bridges, & bots" link in the room information.
### Access token
### Obtain an access token
We recommend that you create a dedicated Matrix user for Dimension (`dimension` is a good username). Follow our [Registering users](registering-users.md) guide to learn how to register **a regular (non-admin) user**.
You are required to specify an access token (belonging to this new user) for Dimension to work. To get an access token for the Dimension user, you can follow the documentation on [how to do obtain an access token](obtaining-access-tokens.md).
You are required to specify an access token (belonging to this new user) for Dimension to work. Refer to the documentation on [how to obtain an access token](obtaining-access-tokens.md).
**Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone.**
⚠️ **Warning**: Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone.
Add access token to your configuration file (`inventory/host_vars/matrix.example.com/vars.yml`):

View File

@ -44,10 +44,12 @@ Inviting additional people to the room is okay too.
Take note of each room's room ID (different clients show the room ID in a different place). You'll need the room ID when [configuring the playbook](#adjusting-the-playbook-configuration) below.
### Obtaining an access token for the sender user
### Obtain an access token for the sender user
In order for the sender user created above to be able to send messages to the room, we'll need to obtain an access token for it. Refer to the documentation on [how to obtain an access token](obtaining-access-tokens.md).
⚠️ **Warning**: Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone.
## Adjusting the playbook configuration
After doing the preparation steps above, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file (adapt to your needs):

View File

@ -29,7 +29,7 @@ To enable matrix-registration, add the following configuration to your `inventor
```yaml
matrix_registration_enabled: true
# Generate a strong secret here. Consider generating it with `pwgen -s 64 1`
# Generate a strong secret here. You can create one with a command like `pwgen -s 64 1`.
matrix_registration_admin_secret: "ENTER_SOME_SECRET_HERE"
```

View File

@ -17,7 +17,7 @@ Add the following configuration to your `inventory/host_vars/matrix.example.com/
```yaml
matrix_synapse_ext_password_provider_shared_secret_auth_enabled: true
# Generate a strong shared secret here. Consider generating it with `pwgen -s 64 1`
# Generate a strong shared secret here. You can create one with a command like `pwgen -s 64 1`.
matrix_synapse_ext_password_provider_shared_secret_auth_shared_secret: YOUR_SHARED_SECRET_GOES_HERE
```

View File

@ -45,15 +45,15 @@ For a list of all configuration options see the role defaults [`roles/matrix-use
In the default configuration, the UVS Server is only reachable via the docker network, which is fine if e.g. Jitsi is also running in a container on the host. However, it is possible to expose UVS via setting `matrix_user_verification_service_container_http_host_bind_port`.
### Access token
### Obtain an access token
The Synapse Access Token is used to verify RoomMembership and PowerLevel against `matrix_user_verification_service_uvs_homeserver_url`.
We recommend that you create a dedicated Matrix user for uvs (`uvs` is a good username). Follow our [Registering users](registering-users.md) guide to register a user with administration privileges.
You are required to specify an access token (belonging to this new user) for UVS to work. To get an access token for the UVS user, you can follow the documentation on [how to do obtain an access token](obtaining-access-tokens.md).
You are required to specify an access token (belonging to this new user) for UVS to work. Refer to the documentation on [how to obtain an access token](obtaining-access-tokens.md).
**Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone.**
⚠️ **Warning**: Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone.
```yaml
matrix_user_verification_service_uvs_access_token: "YOUR ACCESS TOKEN HERE"

View File

@ -57,7 +57,7 @@ To use DNS SRV record validation, you need to:
For more details on how to configure the playbook to work with SRV delegation, take a look at this documentation: [Server Delegation via a DNS SRV record (advanced)](howto-srv-server-delegation.md)
### Obtaining certificates
### Obtain certificates
How you can obtain a valid certificate for `example.com` on the `matrix.example.com` server is up to you.

View File

@ -24,6 +24,8 @@ You can use the **[Purge History API](https://github.com/element-hq/synapse/blob
To make use of this Synapse Admin API, **you'll need an admin access token** first. Refer to the documentation on [how to obtain an access token](obtaining-access-tokens.md).
⚠️ **Warning**: Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone.
Synapse's Admin API is not exposed to the internet by default, following [official Synapse reverse-proxying recommendations](https://github.com/element-hq/synapse/blob/master/docs/reverse_proxy.md#synapse-administration-endpoints). To expose it you will need to add `matrix_synapse_container_labels_public_client_synapse_admin_api_enabled: true` to your `vars.yml` file.
Follow the [Purge History API](https://github.com/element-hq/synapse/blob/master/docs/admin_api/purge_history_api.md) documentation page for the actual purging instructions.

View File

@ -8,7 +8,7 @@ SPDX-License-Identifier: AGPL-3.0-or-later
When setting up some optional features like bots and bridges you will need to provide an access token for some user. This document provides documentation on how to obtain such an access token.
**Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone.**
⚠️ **Warning**: Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone.
## Prerequisites

View File

@ -24,7 +24,7 @@ matrix_domain: example.com
matrix_homeserver_implementation: synapse
# A secret used as a base, for generating various other secrets.
# You can put any string here, but generating a strong one is preferred (e.g. `pwgen -s 64 1`).
# You can put any string here, but generating a strong one is preferred. You can create one with a command like `pwgen -s 64 1`.
matrix_homeserver_generic_secret_key: ''
# By default, the playbook manages its own Traefik (https://doc.traefik.io/traefik/) reverse-proxy server.

View File

@ -1107,9 +1107,16 @@ matrix_mautrix_discord_container_additional_networks_auto: |-
([] if matrix_addons_homeserver_container_network == '' else [matrix_addons_homeserver_container_network])
+
([postgres_container_network] if postgres_enabled and matrix_mautrix_facebook_database_hostname == postgres_connection_hostname else [])
+
([matrix_playbook_reverse_proxyable_services_additional_network] if (matrix_playbook_reverse_proxyable_services_additional_network and matrix_mautrix_discord_container_labels_traefik_enabled) else [])
) | unique
}}
matrix_mautrix_discord_container_labels_traefik_enabled: "{{ matrix_playbook_reverse_proxy_type in ['playbook-managed-traefik', 'other-traefik-container'] }}"
matrix_mautrix_discord_container_labels_traefik_docker_network: "{{ matrix_playbook_reverse_proxyable_services_additional_network }}"
matrix_mautrix_discord_container_labels_traefik_entrypoints: "{{ traefik_entrypoint_primary }}"
matrix_mautrix_discord_container_labels_traefik_tls_certResolver: "{{ traefik_certResolver_primary }}"
matrix_mautrix_discord_systemd_required_services_list_auto: |
{{
matrix_addons_homeserver_systemd_services_list
@ -1120,9 +1127,13 @@ matrix_mautrix_discord_systemd_required_services_list_auto: |
matrix_mautrix_discord_appservice_token: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'maudisc.as.tok', rounds=655555) | to_uuid }}"
matrix_mautrix_discord_homeserver_address: "{{ matrix_addons_homeserver_client_api_url }}"
matrix_mautrix_discord_homeserver_public_address: "{{ 'https' if matrix_playbook_ssl_enabled else 'http' }}://{{ matrix_server_fqn_matrix }}"
matrix_mautrix_discord_homeserver_token: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'maudisc.hs.tok', rounds=655555) | to_uuid }}"
matrix_mautrix_discord_bridge_avatar_proxy_key: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'maudisc.avatar', rounds=655555) | to_uuid }}"
matrix_mautrix_discord_hostname: "{{ matrix_server_fqn_matrix }}"
matrix_mautrix_discord_scheme: "{{ 'https' if matrix_playbook_ssl_enabled else 'http' }}"
matrix_mautrix_discord_bridge_login_shared_secret_map_auto: |-
{{
({
@ -2730,7 +2741,7 @@ matrix_bot_matrix_registration_bot_container_additional_networks_auto: |-
([] if matrix_addons_homeserver_container_network == '' else [matrix_addons_homeserver_container_network])
}}
matrix_bot_matrix_registration_bot_matrix_homeserver_url: "{{ matrix_addons_homeserver_client_api_url }}"
matrix_bot_matrix_registration_bot_api_base_url: "{{ matrix_addons_homeserver_client_api_url }}"
######################################################################
#

View File

@ -30,4 +30,4 @@ sphinxcontrib-qthelp==2.0.0
sphinxcontrib-serializinghtml==2.0.0
tabulate==0.9.0
uc-micro-py==1.0.3
urllib3==2.2.3
urllib3==2.3.0

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: matrix-docker-ansible-deploy \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-20 07:23+0200\n"
"POT-Creation-Date: 2024-12-22 17:53+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -4005,7 +4005,7 @@ msgid "We believe the steps below are safe and you won't encounter any data loss
msgstr ""
#: ../../../CHANGELOG.md:2195
msgid "Generate a strong password to be used for your superuser Postgres user (called `matrix`). You can use `pwgen -s 64 1` to generate it, or some other tool. The **maximum length** for a Postgres password is 100 bytes (characters). Don't go crazy!"
msgid "Generate a strong password to be used for your superuser Postgres user (called `matrix`). You can create one with a command like `pwgen -s 64 1`. The **maximum length** for a Postgres password is 100 bytes (characters). Don't go crazy!"
msgstr ""
#: ../../../CHANGELOG.md:2197

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: matrix-docker-ansible-deploy \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-20 09:53+0200\n"
"POT-Creation-Date: 2024-12-23 13:09+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -49,7 +49,7 @@ msgid "The playbook does not automatically create users for you. You **need to r
msgstr ""
#: ../../../docs/configuring-playbook-alertmanager-receiver.md:17
msgid "Choose a strong password for the bot. You can generate a good password with a command like this: `pwgen -s 64 1`."
msgid "Generate a strong password for the bot. You can create one with a command like `pwgen -s 64 1`."
msgstr ""
#: ../../../docs/configuring-playbook-alertmanager-receiver.md:19
@ -57,7 +57,7 @@ msgid "You can use the playbook to [register a new user](registering-users.md):"
msgstr ""
#: ../../../docs/configuring-playbook-alertmanager-receiver.md:25
msgid "Get an access token"
msgid "Obtain an access token"
msgstr ""
#: ../../../docs/configuring-playbook-alertmanager-receiver.md:27
@ -85,77 +85,77 @@ msgid "Adjusting the playbook configuration"
msgstr ""
#: ../../../docs/configuring-playbook-alertmanager-receiver.md:39
msgid "Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file. Make sure to replace `ACCESS_TOKEN_HERE` with the one created [above](#get-an-access-token)."
msgid "Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file. Make sure to replace `ACCESS_TOKEN_HERE` with the one created [above](#obtain-an-access-token)."
msgstr ""
#: ../../../docs/configuring-playbook-alertmanager-receiver.md:61
#: ../../../docs/configuring-playbook-alertmanager-receiver.md:60
msgid "See `roles/custom/matrix-alertmanager-receiver/defaults/main.yml` for additional configuration variables."
msgstr ""
#: ../../../docs/configuring-playbook-alertmanager-receiver.md:63
#: ../../../docs/configuring-playbook-alertmanager-receiver.md:62
msgid "Adjusting the matrix-alertmanager-receiver URL"
msgstr ""
#: ../../../docs/configuring-playbook-alertmanager-receiver.md:65
#: ../../../docs/configuring-playbook-alertmanager-receiver.md:64
msgid "By default, this playbook installs matrix-alertmanager-receiver on the `matrix.` subdomain, at the `/matrix-alertmanager-receiver` path (https://matrix.example.com/matrix-alertmanager-receiver). This makes it easy to install it, because it **doesn't require additional DNS records to be set up**. If that's okay, you can skip this section."
msgstr ""
#: ../../../docs/configuring-playbook-alertmanager-receiver.md:67
#: ../../../docs/configuring-playbook-alertmanager-receiver.md:66
msgid "By tweaking the `matrix_alertmanager_receiver_hostname` and `matrix_alertmanager_receiver_path_prefix` variables, you can easily make the service available at a **different hostname and/or path** than the default one."
msgstr ""
#: ../../../docs/configuring-playbook-alertmanager-receiver.md:69
#: ../../../docs/configuring-playbook-alertmanager-receiver.md:68
msgid "Example additional configuration for your `inventory/host_vars/matrix.example.com/vars.yml` file:"
msgstr ""
#: ../../../docs/configuring-playbook-alertmanager-receiver.md:77
#: ../../../docs/configuring-playbook-alertmanager-receiver.md:76
msgid "Adjusting DNS records"
msgstr ""
#: ../../../docs/configuring-playbook-alertmanager-receiver.md:79
#: ../../../docs/configuring-playbook-alertmanager-receiver.md:78
msgid "If you've changed the default hostname, **you may need to adjust your DNS** records to point the matrix-alertmanager-receiver domain to the Matrix server."
msgstr ""
#: ../../../docs/configuring-playbook-alertmanager-receiver.md:81
#: ../../../docs/configuring-playbook-alertmanager-receiver.md:80
msgid "See [Configuring DNS](configuring-dns.md) for details about DNS changes."
msgstr ""
#: ../../../docs/configuring-playbook-alertmanager-receiver.md:83
#: ../../../docs/configuring-playbook-alertmanager-receiver.md:82
msgid "If you've decided to use the default hostname, you won't need to do any extra DNS configuration."
msgstr ""
#: ../../../docs/configuring-playbook-alertmanager-receiver.md:85
#: ../../../docs/configuring-playbook-alertmanager-receiver.md:84
msgid "Installing"
msgstr ""
#: ../../../docs/configuring-playbook-alertmanager-receiver.md:87
#: ../../../docs/configuring-playbook-alertmanager-receiver.md:86
msgid "After configuring the playbook and potentially [adjusting your DNS records](#adjusting-dns-records), run the playbook with [playbook tags](playbook-tags.md) as below:"
msgstr ""
#: ../../../docs/configuring-playbook-alertmanager-receiver.md:94
#: ../../../docs/configuring-playbook-alertmanager-receiver.md:93
msgid "**Notes**:"
msgstr ""
#: ../../../docs/configuring-playbook-alertmanager-receiver.md:96
#: ../../../docs/configuring-playbook-alertmanager-receiver.md:95
msgid "The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account."
msgstr ""
#: ../../../docs/configuring-playbook-alertmanager-receiver.md:98
#: ../../../docs/configuring-playbook-alertmanager-receiver.md:97
msgid "The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`"
msgstr ""
#: ../../../docs/configuring-playbook-alertmanager-receiver.md:100
#: ../../../docs/configuring-playbook-alertmanager-receiver.md:99
msgid "`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed."
msgstr ""
#: ../../../docs/configuring-playbook-alertmanager-receiver.md:102
#: ../../../docs/configuring-playbook-alertmanager-receiver.md:101
msgid "Usage"
msgstr ""
#: ../../../docs/configuring-playbook-alertmanager-receiver.md:104
#: ../../../docs/configuring-playbook-alertmanager-receiver.md:103
msgid "Configure your Prometheus Alertmanager with configuration like this:"
msgstr ""
#: ../../../docs/configuring-playbook-alertmanager-receiver.md:123
#: ../../../docs/configuring-playbook-alertmanager-receiver.md:122
msgid "where `URL_HERE` looks like `https://matrix.example.com/matrix-alertmanager-receiver-RANDOM_VALUE_HERE/alert/some-room-name` or `https://matrix.example.com/matrix-alertmanager-receiver-RANDOM_VALUE_HERE/alert/!qporfwt:example.com`."
msgstr ""

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: matrix-docker-ansible-deploy \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-20 07:23+0200\n"
"POT-Creation-Date: 2024-12-22 17:53+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -93,7 +93,7 @@ msgid "REPO - BorgBackup repository name, it will be initialized on backup start
msgstr ""
#: ../../../docs/configuring-playbook-backup-borg.md:63
msgid "PASSPHRASE - passphrase used for encrypting backups, you may generate it with `pwgen -s 64 1` or use any password manager"
msgid "PASSPHRASE - passphrase used for encrypting backups. You can create one with a command like `pwgen -s 64 1`."
msgstr ""
#: ../../../docs/configuring-playbook-backup-borg.md:64

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: matrix-docker-ansible-deploy \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-22 11:54+0900\n"
"POT-Creation-Date: 2024-12-23 13:09+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -77,7 +77,7 @@ msgid "Base configuration"
msgstr ""
#: ../../../docs/configuring-playbook-bot-baibot.md:33
msgid "Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:"
msgid "To enable the bot, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:"
msgstr ""
#: ../../../docs/configuring-playbook-bot-baibot.md:71

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: matrix-docker-ansible-deploy \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-22 11:54+0900\n"
"POT-Creation-Date: 2024-12-23 13:09+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -33,7 +33,7 @@ msgid "Adjusting the playbook configuration"
msgstr ""
#: ../../../docs/configuring-playbook-bot-buscarron.md:9
msgid "To enable Buscarron, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:"
msgid "To enable the bot, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:"
msgstr ""
#: ../../../docs/configuring-playbook-bot-buscarron.md:32

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: matrix-docker-ansible-deploy \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-22 11:54+0900\n"
"POT-Creation-Date: 2024-12-23 13:09+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -33,85 +33,89 @@ msgid "Talk to [ChatGPT](https://openai.com/blog/chatgpt/) via your favourite Ma
msgstr ""
#: ../../../docs/configuring-playbook-bot-chatgpt.md:9
msgid "Register the bot account"
msgid "Prerequisites"
msgstr ""
#: ../../../docs/configuring-playbook-bot-chatgpt.md:11
msgid "The playbook does not automatically create users for you. The bot requires an access token to be able to connect to your homeserver."
msgid "Obtain an OpenAI API key"
msgstr ""
#: ../../../docs/configuring-playbook-bot-chatgpt.md:13
msgid "You **need to register the bot user manually** before setting up the bot."
msgid "To use the bot, you'd need to obtain an API key from [https://platform.openai.com/account/api-keys](https://platform.openai.com/account/api-keys)."
msgstr ""
#: ../../../docs/configuring-playbook-bot-chatgpt.md:15
msgid "Choose a strong password for the bot. You can generate a good password with a command like this: `pwgen -s 64 1`."
msgid "Register the bot account"
msgstr ""
#: ../../../docs/configuring-playbook-bot-chatgpt.md:17
msgid "The playbook does not automatically create users for you. You **need to register the bot user manually** before setting up the bot."
msgstr ""
#: ../../../docs/configuring-playbook-bot-chatgpt.md:19
msgid "Generate a strong password for the bot. You can create one with a command like `pwgen -s 64 1`."
msgstr ""
#: ../../../docs/configuring-playbook-bot-chatgpt.md:21
msgid "You can use the playbook to [register a new user](registering-users.md):"
msgstr ""
#: ../../../docs/configuring-playbook-bot-chatgpt.md:23
msgid "Get an access token and create encryption keys"
msgstr ""
#: ../../../docs/configuring-playbook-bot-chatgpt.md:25
msgid "Refer to the documentation on [how to obtain an access token](obtaining-access-tokens.md)."
msgstr ""
#: ../../../docs/configuring-playbook-bot-chatgpt.md:27
msgid "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)."
msgid "Obtain an access token and create encryption keys"
msgstr ""
#: ../../../docs/configuring-playbook-bot-chatgpt.md:29
msgid "Adjusting the playbook configuration"
msgid "The bot requires an access token to be able to connect to your homeserver. Refer to the documentation on [how to obtain an access token](obtaining-access-tokens.md)."
msgstr ""
#: ../../../docs/configuring-playbook-bot-chatgpt.md:31
msgid "Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file (adapt to your needs):"
msgid "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)."
msgstr ""
#: ../../../docs/configuring-playbook-bot-chatgpt.md:33
msgid "Adjusting the playbook configuration"
msgstr ""
#: ../../../docs/configuring-playbook-bot-chatgpt.md:35
msgid "To enable the bot, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file. Make sure to replace `API_KEY_HERE` with the API key retrieved [here](#obtain-an-openai-api-key) and `ACCESS_TOKEN_HERE` with the access token created [here](#obtain-an-access-token-and-create-encryption-keys), respectively."
msgstr ""
#: ../../../docs/configuring-playbook-bot-chatgpt.md:52
msgid "You will need to get tokens for ChatGPT."
msgstr ""
#: ../../../docs/configuring-playbook-bot-chatgpt.md:54
msgid "Installing"
msgstr ""
#: ../../../docs/configuring-playbook-bot-chatgpt.md:56
#: ../../../docs/configuring-playbook-bot-chatgpt.md:54
msgid "After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below:"
msgstr ""
#: ../../../docs/configuring-playbook-bot-chatgpt.md:63
#: ../../../docs/configuring-playbook-bot-chatgpt.md:61
msgid "**Notes**:"
msgstr ""
#: ../../../docs/configuring-playbook-bot-chatgpt.md:65
#: ../../../docs/configuring-playbook-bot-chatgpt.md:63
msgid "The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account."
msgstr ""
#: ../../../docs/configuring-playbook-bot-chatgpt.md:67
#: ../../../docs/configuring-playbook-bot-chatgpt.md:65
msgid "The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`"
msgstr ""
#: ../../../docs/configuring-playbook-bot-chatgpt.md:69
#: ../../../docs/configuring-playbook-bot-chatgpt.md:67
msgid "`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed."
msgstr ""
#: ../../../docs/configuring-playbook-bot-chatgpt.md:71
#: ../../../docs/configuring-playbook-bot-chatgpt.md:69
msgid "Usage"
msgstr ""
#: ../../../docs/configuring-playbook-bot-chatgpt.md:73
#: ../../../docs/configuring-playbook-bot-chatgpt.md:71
msgid "To use the bot, invite it to the room you specified on your `vars.yml` file (`/invite @bot.chatgpt:example.com` where `example.com` is your base domain, not the `matrix.` domain)."
msgstr ""
#: ../../../docs/configuring-playbook-bot-chatgpt.md:75
#: ../../../docs/configuring-playbook-bot-chatgpt.md:73
msgid "After the bot joins the room, you can send a message to it. When you do so, use the prefix if you configured it or mention the bot."
msgstr ""
#: ../../../docs/configuring-playbook-bot-chatgpt.md:77
#: ../../../docs/configuring-playbook-bot-chatgpt.md:75
msgid "You can also refer to the upstream [documentation](https://github.com/matrixgpt/matrix-chatgpt-bot)."
msgstr ""

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: matrix-docker-ansible-deploy \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-20 09:53+0200\n"
"POT-Creation-Date: 2024-12-23 13:09+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -49,7 +49,7 @@ msgid "The playbook does not automatically create users for you. You **need to r
msgstr ""
#: ../../../docs/configuring-playbook-bot-draupnir.md:17
msgid "Choose a strong password for the bot. You can generate a good password with a command like this: `pwgen -s 64 1`."
msgid "Generate a strong password for the bot. You can create one with a command like `pwgen -s 64 1`."
msgstr ""
#: ../../../docs/configuring-playbook-bot-draupnir.md:19
@ -61,7 +61,7 @@ msgid "If you would like Draupnir to be able to deactivate users, move aliases,
msgstr ""
#: ../../../docs/configuring-playbook-bot-draupnir.md:27
msgid "Get an access token"
msgid "Obtain an access token"
msgstr ""
#: ../../../docs/configuring-playbook-bot-draupnir.md:29
@ -125,7 +125,7 @@ msgid "Adjusting the playbook configuration"
msgstr ""
#: ../../../docs/configuring-playbook-bot-draupnir.md:67
msgid "Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file. Make sure to replace `MANAGEMENT_ROOM_ID_HERE`."
msgid "To enable the bot, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file. Make sure to replace `MANAGEMENT_ROOM_ID_HERE`."
msgstr ""
#: ../../../docs/configuring-playbook-bot-draupnir.md:76
@ -165,7 +165,7 @@ msgid "When NOT using Pantalaimon, Draupnir does not log in by itself and you mu
msgstr ""
#: ../../../docs/configuring-playbook-bot-draupnir.md:116
msgid "Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file. Make sure to replace `ACCESS_TOKEN_HERE` with the one created [above](#get-an-access-token)."
msgid "Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file. Make sure to replace `ACCESS_TOKEN_HERE` with the one created [above](#obtain-an-access-token)."
msgstr ""
#: ../../../docs/configuring-playbook-bot-draupnir.md:122

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: matrix-docker-ansible-deploy \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-20 23:17+0900\n"
"POT-Creation-Date: 2024-12-23 13:09+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -37,19 +37,19 @@ msgid "See the project's [documentation](https://github.com/matrix-org/go-neb/bl
msgstr ""
#: ../../../docs/configuring-playbook-bot-go-neb.md:11
msgid "Registering the bot account"
msgid "Prerequisites"
msgstr ""
#: ../../../docs/configuring-playbook-bot-go-neb.md:13
msgid "The playbook does not automatically create users for you. The bot requires at least 1 access token to be able to connect to your homeserver."
msgid "Register the bot account"
msgstr ""
#: ../../../docs/configuring-playbook-bot-go-neb.md:15
msgid "You **need to register the bot user manually** before setting up the bot."
msgid "The playbook does not automatically create users for you. You **need to register the bot user manually** before setting up the bot."
msgstr ""
#: ../../../docs/configuring-playbook-bot-go-neb.md:17
msgid "Choose a strong password for the bot. You can generate a good password with a command like this: `pwgen -s 64 1`."
msgid "Generate a strong password for the bot. You can create one with a command like `pwgen -s 64 1`."
msgstr ""
#: ../../../docs/configuring-playbook-bot-go-neb.md:19
@ -57,89 +57,93 @@ msgid "You can use the playbook to [register a new user](registering-users.md):"
msgstr ""
#: ../../../docs/configuring-playbook-bot-go-neb.md:25
msgid "Once the user is created you can [obtain an access token](obtaining-access-tokens.md)."
msgid "Obtain an access token"
msgstr ""
#: ../../../docs/configuring-playbook-bot-go-neb.md:27
msgid "Adjusting the playbook configuration"
msgid "The bot requires an access token to be able to connect to your homeserver. Refer to the documentation on [how to obtain an access token](obtaining-access-tokens.md)."
msgstr ""
#: ../../../docs/configuring-playbook-bot-go-neb.md:29
msgid "To enable Go-NEB, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:"
msgid "Adjusting the playbook configuration"
msgstr ""
#: ../../../docs/configuring-playbook-bot-go-neb.md:193
msgid "Adjusting the Go-NEB URL"
#: ../../../docs/configuring-playbook-bot-go-neb.md:31
msgid "To enable the bot, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file. Make sure to replace `ACCESS_TOKEN_FOR_GONEB_HERE` and `ACCESS_TOKEN_FOR_ANOTHER_GONEB_HERE` with the ones created [above](#obtain-an-access-token)."
msgstr ""
#: ../../../docs/configuring-playbook-bot-go-neb.md:195
msgid "By default, this playbook installs Go-NEB on the `goneb.` subdomain (`goneb.example.com`) and requires you to [adjust your DNS records](#adjusting-dns-records)."
msgid "Adjusting the Go-NEB URL"
msgstr ""
#: ../../../docs/configuring-playbook-bot-go-neb.md:197
msgid "By tweaking the `matrix_bot_go_neb_hostname` and `matrix_bot_go_neb_path_prefix` variables, you can easily make the service available at a **different hostname and/or path** than the default one."
msgid "By default, this playbook installs Go-NEB on the `goneb.` subdomain (`goneb.example.com`) and requires you to [adjust your DNS records](#adjusting-dns-records)."
msgstr ""
#: ../../../docs/configuring-playbook-bot-go-neb.md:199
msgid "By tweaking the `matrix_bot_go_neb_hostname` and `matrix_bot_go_neb_path_prefix` variables, you can easily make the service available at a **different hostname and/or path** than the default one."
msgstr ""
#: ../../../docs/configuring-playbook-bot-go-neb.md:201
msgid "Example additional configuration for your `inventory/host_vars/matrix.example.com/vars.yml` file:"
msgstr ""
#: ../../../docs/configuring-playbook-bot-go-neb.md:210
#: ../../../docs/configuring-playbook-bot-go-neb.md:212
msgid "Adjusting DNS records"
msgstr ""
#: ../../../docs/configuring-playbook-bot-go-neb.md:212
#: ../../../docs/configuring-playbook-bot-go-neb.md:214
msgid "Once you've decided on the domain and path, **you may need to adjust your DNS** records to point the Go-NEB domain to the Matrix server."
msgstr ""
#: ../../../docs/configuring-playbook-bot-go-neb.md:214
#: ../../../docs/configuring-playbook-bot-go-neb.md:216
msgid "By default, you will need to create a CNAME record for `goneb`. See [Configuring DNS](configuring-dns.md) for details about DNS changes."
msgstr ""
#: ../../../docs/configuring-playbook-bot-go-neb.md:216
#: ../../../docs/configuring-playbook-bot-go-neb.md:218
msgid "If you've decided to reuse the `matrix.` domain, you won't need to do any extra DNS configuration."
msgstr ""
#: ../../../docs/configuring-playbook-bot-go-neb.md:218
#: ../../../docs/configuring-playbook-bot-go-neb.md:220
msgid "Installing"
msgstr ""
#: ../../../docs/configuring-playbook-bot-go-neb.md:220
#: ../../../docs/configuring-playbook-bot-go-neb.md:222
msgid "After configuring the playbook and potentially [adjusting your DNS records](#adjusting-dns-records), run the playbook with [playbook tags](playbook-tags.md) as below:"
msgstr ""
#: ../../../docs/configuring-playbook-bot-go-neb.md:227
#: ../../../docs/configuring-playbook-bot-go-neb.md:229
msgid "**Notes**:"
msgstr ""
#: ../../../docs/configuring-playbook-bot-go-neb.md:229
#: ../../../docs/configuring-playbook-bot-go-neb.md:231
msgid "The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account."
msgstr ""
#: ../../../docs/configuring-playbook-bot-go-neb.md:231
#: ../../../docs/configuring-playbook-bot-go-neb.md:233
msgid "The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`"
msgstr ""
#: ../../../docs/configuring-playbook-bot-go-neb.md:233
#: ../../../docs/configuring-playbook-bot-go-neb.md:235
msgid "`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed."
msgstr ""
#: ../../../docs/configuring-playbook-bot-go-neb.md:235
#: ../../../docs/configuring-playbook-bot-go-neb.md:237
msgid "Usage"
msgstr ""
#: ../../../docs/configuring-playbook-bot-go-neb.md:237
#: ../../../docs/configuring-playbook-bot-go-neb.md:239
msgid "To use the bot, invite it to any existing Matrix room (`/invite @bot.go-neb:example.com` where `example.com` is your base domain, not the `matrix.` domain). Make sure you are granted with the sufficient permission if you are not the room owner."
msgstr ""
#: ../../../docs/configuring-playbook-bot-go-neb.md:239
#: ../../../docs/configuring-playbook-bot-go-neb.md:241
msgid "Basic usage is like this: `!echo hi` or `!imgur puppies` or `!giphy matrix`"
msgstr ""
#: ../../../docs/configuring-playbook-bot-go-neb.md:241
#: ../../../docs/configuring-playbook-bot-go-neb.md:243
msgid "If you enabled the github_cmd service, send `!github help` to the bot in the room to see the available commands."
msgstr ""
#: ../../../docs/configuring-playbook-bot-go-neb.md:243
#: ../../../docs/configuring-playbook-bot-go-neb.md:245
msgid "You can also refer to the upstream [Documentation](https://github.com/matrix-org/go-neb)."
msgstr ""

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: matrix-docker-ansible-deploy \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-22 11:54+0900\n"
"POT-Creation-Date: 2024-12-23 13:09+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -37,7 +37,7 @@ msgid "Adjusting the playbook configuration"
msgstr ""
#: ../../../docs/configuring-playbook-bot-honoroit.md:11
msgid "To enable Honoroit, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:"
msgid "To enable the bot, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:"
msgstr ""
#: ../../../docs/configuring-playbook-bot-honoroit.md:26

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: matrix-docker-ansible-deploy \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-20 23:17+0900\n"
"POT-Creation-Date: 2024-12-23 13:09+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -33,7 +33,7 @@ msgid "See the project's [documentation](https://github.com/moan0s/matrix-regist
msgstr ""
#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:9
msgid "Configuration"
msgid "Adjusting the playbook configuration"
msgstr ""
#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:11

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: matrix-docker-ansible-deploy \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-20 09:53+0200\n"
"POT-Creation-Date: 2024-12-23 13:09+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -37,7 +37,7 @@ msgid "Adjusting the playbook configuration"
msgstr ""
#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:11
msgid "Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:"
msgid "To enable the bot, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:"
msgstr ""
#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:26

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: matrix-docker-ansible-deploy \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-20 07:23+0200\n"
"POT-Creation-Date: 2024-12-23 13:09+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -37,7 +37,7 @@ msgid "Adjusting the playbook configuration"
msgstr ""
#: ../../../docs/configuring-playbook-bot-maubot.md:11
msgid "To enable maubot, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:"
msgid "To enable the bot, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:"
msgstr ""
#: ../../../docs/configuring-playbook-bot-maubot.md:26
@ -129,7 +129,7 @@ msgid "**Create an instance**: An instance is the actual bot. You have to specif
msgstr ""
#: ../../../docs/configuring-playbook-bot-maubot.md:78
msgid "Obtaining an access token"
msgid "Obtain an access token"
msgstr ""
#: ../../../docs/configuring-playbook-bot-maubot.md:80

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: matrix-docker-ansible-deploy \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-20 09:53+0200\n"
"POT-Creation-Date: 2024-12-23 13:09+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -41,7 +41,7 @@ msgid "The playbook does not automatically create users for you. You **need to r
msgstr ""
#: ../../../docs/configuring-playbook-bot-mjolnir.md:13
msgid "Choose a strong password for the bot. You can generate a good password with a command like this: `pwgen -s 64 1`."
msgid "Generate a strong password for the bot. You can create one with a command like `pwgen -s 64 1`."
msgstr ""
#: ../../../docs/configuring-playbook-bot-mjolnir.md:15
@ -53,7 +53,7 @@ msgid "If you would like Mjolnir to be able to deactivate users, move aliases, s
msgstr ""
#: ../../../docs/configuring-playbook-bot-mjolnir.md:23
msgid "Get an access token"
msgid "Obtain an access token"
msgstr ""
#: ../../../docs/configuring-playbook-bot-mjolnir.md:25
@ -117,7 +117,7 @@ msgid "Adjusting the playbook configuration"
msgstr ""
#: ../../../docs/configuring-playbook-bot-mjolnir.md:63
msgid "Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file. Make sure to replace `MANAGEMENT_ROOM_ID_HERE`."
msgid "To enable the bot, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file. Make sure to replace `MANAGEMENT_ROOM_ID_HERE`."
msgstr ""
#: ../../../docs/configuring-playbook-bot-mjolnir.md:72
@ -157,7 +157,7 @@ msgid "When NOT using Pantalaimon, Mjolnir does not log in by itself and you mus
msgstr ""
#: ../../../docs/configuring-playbook-bot-mjolnir.md:112
msgid "Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file. Make sure to replace `ACCESS_TOKEN_HERE` with the one created [above](#get-an-access-token)."
msgid "Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file. Make sure to replace `ACCESS_TOKEN_HERE` with the one created [above](#obtain-an-access-token)."
msgstr ""
#: ../../../docs/configuring-playbook-bot-mjolnir.md:118

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: matrix-docker-ansible-deploy \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-20 09:53+0200\n"
"POT-Creation-Date: 2024-12-23 13:09+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -97,7 +97,7 @@ msgid "Take note of each room's room ID (different clients show the room ID in a
msgstr ""
#: ../../../docs/configuring-playbook-email2matrix.md:41
msgid "Obtaining an access token for the sender user"
msgid "Obtain an access token for the sender user"
msgstr ""
#: ../../../docs/configuring-playbook-email2matrix.md:43

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: matrix-docker-ansible-deploy \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-20 07:23+0200\n"
"POT-Creation-Date: 2024-12-23 13:09+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -125,7 +125,7 @@ msgid "For more details on how to configure the playbook to work with SRV delega
msgstr ""
#: ../../../docs/howto-server-delegation.md:54
msgid "Obtaining certificates"
msgid "Obtain certificates"
msgstr ""
#: ../../../docs/howto-server-delegation.md:56

View File

@ -24,12 +24,19 @@ matrix_bot_matrix_registration_bot_config_path: "{{ matrix_bot_matrix_registrati
matrix_bot_matrix_registration_bot_data_path: "{{ matrix_bot_matrix_registration_bot_base_path }}/data"
matrix_bot_matrix_registration_bot_bot_server: "{{ matrix_homeserver_url }}"
matrix_bot_matrix_registration_bot_api_base_url: "{{ matrix_homeserver_url }}"
# The bot's username. This user needs to be created manually beforehand.
# Also see `matrix_bot_matrix_registration_bot_user_password`.
matrix_bot_matrix_registration_bot_matrix_user_id_localpart: "bot.matrix-registration-bot"
matrix_bot_matrix_registration_bot_matrix_user_id: '@{{ matrix_bot_matrix_registration_bot_matrix_user_id_localpart }}:{{ matrix_domain }}'
# The bot's password (can also be used to login via a client like Element Web)
matrix_bot_matrix_registration_bot_bot_password: ''
# Homeserver base URL
matrix_bot_matrix_registration_bot_api_base_url: "{{ matrix_homeserver_url }}"
# Optional variable that only needs to be set if the bot account is not admin
# Needs to be a valid access token of an admin account
matrix_bot_matrix_registration_bot_api_token: ''
@ -55,11 +62,3 @@ matrix_bot_matrix_registration_bot_systemd_required_services_list_custom: []
# List of systemd services that matrix-bot-matrix-registration-bot.service wants
matrix_bot_matrix_registration_bot_systemd_wanted_services_list: []
# The bot's username. This user needs to be created manually beforehand.
# Also see `matrix_bot_matrix_registration_bot_user_password`.
matrix_bot_matrix_registration_bot_matrix_user_id_localpart: "bot.matrix-registration-bot"
matrix_bot_matrix_registration_bot_matrix_user_id: '@{{ matrix_bot_matrix_registration_bot_matrix_user_id_localpart }}:{{ matrix_domain }}'
matrix_bot_matrix_registration_bot_matrix_homeserver_url: ""

View File

@ -14,7 +14,7 @@
with_items:
- {path: "{{ matrix_bot_matrix_registration_bot_config_path }}", when: true}
- {path: "{{ matrix_bot_matrix_registration_bot_data_path }}", when: true}
- {path: "{{ matrix_bot_matrix_registration_bot_docker_src_files_path }}", when: true}
- {path: "{{ matrix_bot_matrix_registration_bot_docker_src_files_path }}", when: "{{ matrix_bot_matrix_registration_bot_container_image_self_build }}"}
when: "item.when | bool"
- name: Ensure matrix-registration-bot configuration file created
@ -37,28 +37,28 @@
delay: "{{ devture_playbook_help_container_retries_delay }}"
until: result is not failed
- name: Ensure matrix-registration-bot repository is present on self-build
ansible.builtin.git:
repo: "{{ matrix_bot_matrix_registration_bot_docker_repo }}"
version: "{{ matrix_bot_matrix_registration_bot_docker_repo_version }}"
dest: "{{ matrix_bot_matrix_registration_bot_docker_src_files_path }}"
force: "yes"
become: true
become_user: "{{ matrix_user_username }}"
register: matrix_bot_matrix_registration_bot_git_pull_results
when: "matrix_bot_matrix_registration_bot_container_image_self_build | bool"
- when: matrix_bot_matrix_registration_bot_container_image_self_build | bool
block:
- name: Ensure matrix-registration-bot repository is present on self-build
ansible.builtin.git:
repo: "{{ matrix_bot_matrix_registration_bot_docker_repo }}"
version: "{{ matrix_bot_matrix_registration_bot_docker_repo_version }}"
dest: "{{ matrix_bot_matrix_registration_bot_docker_src_files_path }}"
force: "yes"
become: true
become_user: "{{ matrix_user_username }}"
register: matrix_bot_matrix_registration_bot_git_pull_results
- name: Ensure matrix-registration-bot image is built
community.docker.docker_image:
name: "{{ matrix_bot_matrix_registration_bot_docker_image }}"
source: build
force_source: "{{ matrix_bot_matrix_registration_bot_git_pull_results.changed if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_bot_matrix_registration_bot_git_pull_results.changed }}"
build:
dockerfile: Dockerfile
path: "{{ matrix_bot_matrix_registration_bot_docker_src_files_path }}"
pull: true
when: "matrix_bot_matrix_registration_bot_container_image_self_build | bool"
- name: Ensure matrix-registration-bot image is built
community.docker.docker_image:
name: "{{ matrix_bot_matrix_registration_bot_docker_image }}"
source: build
force_source: "{{ matrix_bot_matrix_registration_bot_git_pull_results.changed if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_bot_matrix_registration_bot_git_pull_results.changed }}"
build:
dockerfile: Dockerfile
path: "{{ matrix_bot_matrix_registration_bot_docker_src_files_path }}"
pull: true
- name: Ensure matrix-registration-bot container network is created
community.general.docker_network:

View File

@ -11,12 +11,14 @@
when: "vars[item] == ''"
with_items:
- "matrix_bot_matrix_registration_bot_bot_password"
- "matrix_bot_matrix_registration_bot_matrix_homeserver_url"
- "matrix_bot_matrix_registration_bot_api_base_url"
- name: (Deprecation) Catch and report old settings
- name: (Deprecation) Catch and report renamed settings
ansible.builtin.fail:
msg: >-
Your configuration contains a variable, which is deprecated - Please check the documentation on how to configure the matrix-registration-bot.
when: "item in vars"
Your configuration contains a variable, which now has a different name.
Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`).
when: "item.old in vars"
with_items:
- "matrix_bot_matrix_registration_bot_bot_access_token"
- {'old': 'matrix_bot_matrix_registration_bot_bot_access_token', 'new': '<removed>'}
- {'old': 'matrix_bot_matrix_registration_bot_matrix_homeserver_url', 'new': 'matrix_bot_matrix_registration_bot_api_base_url'}

View File

@ -12,8 +12,8 @@ bot:
api:
# API endpoint of the registration tokens
base_url: {{ matrix_bot_matrix_registration_bot_api_base_url|to_json }}
# Access token of an administrator on the server
{% if matrix_bot_matrix_registration_bot_api_token | length > 0 %}
# Access token of an administrator on the server
token: {{ matrix_bot_matrix_registration_bot_api_token|to_json }}
{% endif %}

View File

@ -8,6 +8,10 @@
matrix_mautrix_discord_enabled: true
matrix_mautrix_discord_hostname: ""
matrix_mautrix_discord_path_prefix: /
matrix_mautrix_discord_scheme: https
matrix_mautrix_discord_container_image_self_build: false
matrix_mautrix_discord_container_image_self_build_repo: "https://mau.dev/mautrix/discord.git"
matrix_mautrix_discord_container_image_self_build_branch: "{{ 'main' if matrix_mautrix_discord_version == 'latest' else matrix_mautrix_discord_version }}"
@ -26,11 +30,31 @@ matrix_mautrix_discord_data_path: "{{ matrix_mautrix_discord_base_path }}/data"
matrix_mautrix_discord_docker_src_files_path: "{{ matrix_mautrix_discord_base_path }}/docker-src"
matrix_mautrix_discord_homeserver_address: ""
matrix_mautrix_discord_homeserver_public_address: ''
matrix_mautrix_discord_homeserver_domain: "{{ matrix_domain }}"
matrix_mautrix_discord_appservice_address: "http://matrix-mautrix-discord:8080"
matrix_mautrix_discord_command_prefix: "!discord"
matrix_mautrix_discord_bridge_command_prefix: "!discord"
# Publicly accessible base URL that Discord can use to reach the bridge, used for avatars in relay mode.
# If not set, avatars will not be bridged. Only the /mautrix-discord/avatar/{server}/{id}/{hash} endpoint is used on this address.
# This should not have a trailing slash, the endpoint above will be appended to the provided address.
matrix_mautrix_discord_bridge_public_address: "{{ (matrix_mautrix_discord_scheme + '://' + matrix_mautrix_discord_hostname + (matrix_mautrix_discord_path_prefix if matrix_mautrix_discord_path_prefix != '/' else '')) if matrix_mautrix_discord_hostname else '' }}"
# A random key used to sign the avatar URLs. The bridge will only accept requests with a valid signature.
matrix_mautrix_discord_bridge_avatar_proxy_key: ''
# Localpart template of MXIDs for Discord users.
# {{ '{{.}}' }} is replaced with the internal ID of the Discord user.
matrix_mautrix_discord_bridge_username_template: "{% raw %}discord_{{.}}{% endraw %}"
# Displayname template for Discord users. This is also used as the room name in DMs if private_chat_portal_meta is enabled.
matrix_mautrix_discord_bridge_displayname_template: "{% raw %}{{or .GlobalName .Username}}{{if .Bot}} (bot){{end}}{% endraw %}"
# Displayname template for Discord channels (bridged as rooms, or spaces when type=4).
matrix_mautrix_discord_bridge_channel_name_template: "{% raw %}{{if or (eq .Type 3) (eq .Type 4)}}{{.Name}}{{else}}#{{.Name}}{{end}}{% endraw %}"
# Displayname template for Discord guilds (bridged as spaces).
matrix_mautrix_discord_bridge_guild_name_template: "{% raw %}{{.Name}}{% endraw %}"
matrix_mautrix_discord_bridge_permissions: |
{{
@ -44,6 +68,38 @@ matrix_mautrix_discord_container_additional_networks: "{{ matrix_mautrix_discord
matrix_mautrix_discord_container_additional_networks_auto: []
matrix_mautrix_discord_container_additional_networks_custom: []
# matrix_mautrix_discord_container_labels_traefik_enabled controls whether labels to assist a Traefik reverse-proxy will be attached to the container.
# See `../templates/labels.j2` for details.
#
# To inject your own other container labels, see `matrix_mautrix_discord_container_labels_additional_labels`.
matrix_mautrix_discord_container_labels_traefik_enabled: true
matrix_mautrix_discord_container_labels_traefik_docker_network: "{{ matrix_mautrix_discord_container_network }}"
matrix_mautrix_discord_container_labels_traefik_hostname: "{{ matrix_mautrix_discord_hostname }}"
# The path prefix must either be `/` or not end with a slash (e.g. `/matrix-alertmanager-receiver`).
matrix_mautrix_discord_container_labels_traefik_path_prefix: "{{ matrix_mautrix_discord_path_prefix }}"
matrix_mautrix_discord_container_labels_traefik_entrypoints: web-secure
matrix_mautrix_discord_container_labels_traefik_tls_certResolver: default # noqa var-naming
# Controls whether labels will be added that expose the bridge's avatar proxy (`/mautrix-discord/avatar/{server}/{id}/{hash}`).
# See: matrix_mautrix_discord_bridge_public_address
matrix_mautrix_discord_container_labels_avatar_proxy_enabled: "{{ matrix_mautrix_discord_bridge_public_address != '' }}"
matrix_mautrix_discord_container_labels_avatar_proxy_hostname: "{{ matrix_mautrix_discord_container_labels_traefik_hostname }}"
matrix_mautrix_discord_container_labels_avatar_proxy_path_prefix: "{{ matrix_mautrix_discord_container_labels_traefik_path_prefix if matrix_mautrix_discord_container_labels_traefik_path_prefix == '/' else (matrix_mautrix_discord_container_labels_traefik_path_prefix + '/') }}mautrix-discord/avatar"
matrix_mautrix_discord_container_labels_avatar_proxy_traefik_rule: "Host(`{{ matrix_mautrix_discord_container_labels_traefik_hostname }}`) && PathPrefix(`{{ matrix_mautrix_discord_container_labels_avatar_proxy_path_prefix }}`)"
matrix_mautrix_discord_container_labels_avatar_proxy_traefik_priority: 0
matrix_mautrix_discord_container_labels_avatar_proxy_traefik_entrypoints: "{{ matrix_mautrix_discord_container_labels_traefik_entrypoints }}"
matrix_mautrix_discord_container_labels_avatar_proxy_traefik_tls: "{{ matrix_mautrix_discord_container_labels_avatar_proxy_traefik_entrypoints != 'web' }}"
matrix_mautrix_discord_container_labels_avatar_proxy_traefik_tls_certResolver: "{{ matrix_mautrix_discord_container_labels_traefik_tls_certResolver }}" # noqa var-naming
# matrix_mautrix_discord_container_labels_additional_labels contains a multiline string with additional labels to add to the container label file.
# See `../templates/labels.j2` for details.
#
# Example:
# matrix_mautrix_discord_container_labels_additional_labels: |
# my.label=1
# another.label="here"
matrix_mautrix_discord_container_labels_additional_labels: ''
# A list of extra arguments to pass to the container
matrix_mautrix_discord_container_extra_arguments: []
@ -60,6 +116,8 @@ matrix_mautrix_discord_appservice_token: ''
matrix_mautrix_discord_homeserver_token: ''
matrix_mautrix_discord_appservice_bot_username: discordbot
matrix_mautrix_discord_appservice_bot_displayname: Discord bridge bot
matrix_mautrix_discord_appservice_bot_avatar: mxc://maunium.net/nIdEykemnwdisvHbpxflpDlC
matrix_mautrix_discord_provisioning_shared_secret: disable
@ -166,6 +224,9 @@ matrix_mautrix_discord_registration: "{{ matrix_mautrix_discord_registration_yam
# Enable End-to-bridge encryption
matrix_mautrix_discord_bridge_encryption_allow: "{{ matrix_bridges_encryption_enabled }}"
matrix_mautrix_discord_bridge_encryption_default: "{{ matrix_bridges_encryption_default }}"
matrix_mautrix_discord_bridge_encryption_require: false
matrix_mautrix_discord_bridge_encryption_appservice: false
matrix_mautrix_discord_bridge_encryption_plaintext_mentions: false
matrix_mautrix_discord_bridge_encryption_key_sharing_allow: "{{ matrix_mautrix_discord_bridge_encryption_allow }}"
# On Conduit versions before 0.5.0 this option prevented users from joining spaces created by the bridge.

View File

@ -97,6 +97,16 @@
owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_groupname }}"
- name: Ensure mautrix-discord support files installed
ansible.builtin.template:
src: "{{ role_path }}/templates/{{ item }}.j2"
dest: "{{ matrix_mautrix_discord_base_path }}/{{ item }}"
mode: 0640
owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_groupname }}"
with_items:
- labels
- name: Ensure mautrix-discord container network is created
community.general.docker_network:
enable_ipv6: "{{ devture_systemd_docker_base_ipv6_enabled }}"

View File

@ -13,9 +13,11 @@
- {'name': 'matrix_mautrix_discord_appservice_token', when: true}
- {'name': 'matrix_mautrix_discord_homeserver_address', when: true}
- {'name': 'matrix_mautrix_discord_homeserver_token', when: true}
- {'name': 'matrix_mautrix_discord_homeserver_public_address', when: true}
- {'name': 'matrix_mautrix_discord_bridge_public_address', when: true}
- {'name': 'matrix_mautrix_discord_container_network', when: true}
- {'name': 'matrix_mautrix_discord_database_hostname', when: "{{ matrix_mautrix_discord_database_engine == 'postgres' }}"}
- {'name': 'matrix_mautrix_discord_container_labels_avatar_proxy_hostname', when: "{{ matrix_mautrix_discord_container_labels_avatar_proxy_enabled }}"}
- {'name': 'matrix_mautrix_discord_container_labels_avatar_proxy_path_prefix', when: "{{ matrix_mautrix_discord_container_labels_avatar_proxy_enabled }}"}
- name: (Deprecation) Catch and report renamed settings
ansible.builtin.fail:
@ -25,3 +27,5 @@
when: "item.old in vars"
with_items:
- {'old': 'matrix_mautrix_discord_login_shared_secret', 'new': '<removed>'}
- {'old': 'matrix_mautrix_discord_homeserver_public_address', 'new': 'matrix_mautrix_discord_bridge_public_address'}
- {'old': 'matrix_mautrix_discord_command_prefix', 'new': 'matrix_mautrix_discord_bridge_command_prefix'}

View File

@ -9,13 +9,12 @@ SPDX-License-Identifier: AGPL-3.0-or-later
homeserver:
# The address that this appservice can use to connect to the homeserver.
address: {{ matrix_mautrix_discord_homeserver_address | to_json }}
# Publicly accessible base URL for media, used for avatars in relay mode.
# If not set, the connection address above will be used.
public_address: {{ matrix_mautrix_discord_homeserver_public_address | to_json }}
# The domain of the homeserver (for MXIDs, etc).
# The domain of the homeserver (also known as server_name, used for MXIDs, etc).
domain: {{ matrix_mautrix_discord_homeserver_domain | to_json }}
# Is the homeserver actually mautrix-asmux?
asmux: false
# What software is the homeserver running?
# Standard Matrix homeservers like Synapse, Dendrite and Conduit should just use "standard" here.
software: standard
# The URL to push real-time bridge status to.
# If set, the bridge will make POST requests to this URL whenever a user's discord connection state changes.
# The bridge will use the appservice as_token to authorize requests.
@ -25,6 +24,13 @@ homeserver:
# Does the homeserver support https://github.com/matrix-org/matrix-spec-proposals/pull/2246?
async_media: false
# Should the bridge use a websocket for connecting to the homeserver?
# The server side is currently not documented anywhere and is only implemented by mautrix-wsproxy,
# mautrix-asmux (deprecated), and hungryserv (proprietary).
websocket: false
# How often should the websocket be pinged? Pinging will be disabled if this is zero.
ping_interval_seconds: 0
# Application service host/registration related details.
# Changing these values requires regeneration of the registration.
appservice:
@ -37,13 +43,14 @@ appservice:
# Database config.
database:
# The database type. "sqlite3" and "postgres" are supported.
type: {{ matrix_mautrix_discord_appservice_database_type|to_json }}
# The database type. "sqlite3-fk-wal" and "postgres" are supported.
type: {{ matrix_mautrix_discord_appservice_database_type | to_json }}
# The database URI.
# SQLite: File name is enough. https://github.com/mattn/go-sqlite3#connection-string
# SQLite: A raw file path is supported, but `file:<path>?_txlock=immediate` is recommended.
# https://github.com/mattn/go-sqlite3#connection-string
# Postgres: Connection string. For example, postgres://user:password@host/database?sslmode=disable
# To connect via Unix socket, use something like postgres:///dbname?host=/var/run/postgresql
uri: {{ matrix_mautrix_discord_appservice_database_uri|to_json }}
uri: {{ matrix_mautrix_discord_appservice_database_uri | to_json }}
# Maximum number of connections. Mostly relevant for Postgres.
max_open_conns: 20
max_idle_conns: 2
@ -57,15 +64,21 @@ appservice:
# Appservice bot details.
bot:
# Username of the appservice bot.
username: {{ matrix_mautrix_discord_appservice_bot_username|to_json }}
username: {{ matrix_mautrix_discord_appservice_bot_username | to_json }}
# Display name and avatar for bot. Set to "remove" to remove display name/avatar, leave empty
# to leave display name/avatar as-is.
displayname: Discord bridge bot
avatar: mxc://maunium.net/nIdEykemnwdisvHbpxflpDlC
displayname: {{ matrix_mautrix_discord_appservice_bot_displayname | to_json }}
avatar: {{ matrix_mautrix_discord_appservice_bot_avatar | to_json }}
# Whether or not to receive ephemeral events via appservice transactions.
# Requires MSC2409 support (i.e. Synapse 1.22+).
ephemeral_events: true
# Should incoming events be handled asynchronously?
# This may be necessary for large public instances with lots of messages going through.
# However, messages will not be guaranteed to be bridged in the same order they were sent in.
async_transactions: false
# Authentication tokens for AS <-> HS communication. Autogenerated; do not modify.
as_token: {{ matrix_mautrix_discord_appservice_token | to_json }}
hs_token: {{ matrix_mautrix_discord_homeserver_token | to_json }}
@ -73,51 +86,67 @@ appservice:
# Bridge config
bridge:
# Localpart template of MXIDs for Discord users.
# {{ '{{.}}' }} is replaced with the internal ID of the Discord user.
username_template: "{{ 'discord_{{.}}' }}"
# {% raw %}{{.}}{% endraw %} is replaced with the internal ID of the Discord user.
username_template: {{ matrix_mautrix_discord_bridge_username_template | to_json }}
# Displayname template for Discord users. This is also used as the room name in DMs if private_chat_portal_meta is enabled.
# Available variables:
# {{ '{{.ID}}' }} - Internal user ID
# {{ '{{.Username}}' }} - Legacy display/username on Discord
# {{ '{{.GlobalName}}' }} - New displayname on Discord
# {{ '{{.Discriminator}}' }} - The 4 numbers after the name on Discord
# {{ '{{.Bot}}' }} - Whether the user is a bot
# {{ '{{.System}}' }} - Whether the user is an official system user
# {{ '{{.Webhook}}' }} - Whether the user is a webhook and is not an application
# {{ '{{.Application}}' }} - Whether the user is an application
displayname_template: "{{ '{{or .GlobalName .Username}}{{if .Bot}} (bot){{end}}' }}"
# .ID - Internal user ID
# .Username - Legacy display/username on Discord
# .GlobalName - New displayname on Discord
# .Discriminator - The 4 numbers after the name on Discord
# .Bot - Whether the user is a bot
# .System - Whether the user is an official system user
# .Webhook - Whether the user is a webhook and is not an application
# .Application - Whether the user is an application
displayname_template: {{ matrix_mautrix_discord_bridge_displayname_template | to_json }}
# Displayname template for Discord channels (bridged as rooms, or spaces when type=4).
# Available variables:
# {{ '{{.Name}}' }} - Channel name, or user displayname (pre-formatted with displayname_template) in DMs.
# {{ '{{.ParentName}}' }} - Parent channel name (used for categories).
# {{ '{{.GuildName}}' }} - Guild name.
# {{ '{{.NSFW}}' }} - Whether the channel is marked as NSFW.
# {{ '{{.Type}}' }} - Channel type (see values at https://github.com/bwmarrin/discordgo/blob/v0.25.0/structs.go#L251-L267)
channel_name_template: "{{ '{{if or (eq .Type 3) (eq .Type 4)}}{{.Name}}{{else}}#{{.Name}}{{end}}' }}"
# .Name - Channel name, or user displayname (pre-formatted with displayname_template) in DMs.
# .ParentName - Parent channel name (used for categories).
# .GuildName - Guild name.
# .NSFW - Whether the channel is marked as NSFW.
# .Type - Channel type (see values at https://github.com/bwmarrin/discordgo/blob/v0.25.0/structs.go#L251-L267)
channel_name_template: {{ matrix_mautrix_discord_bridge_channel_name_template | to_json }}
# Displayname template for Discord guilds (bridged as spaces).
# Available variables:
# {{ '{{.Name}}' }} - Guild name
guild_name_template: "{{ '{{.Name}}' }}"
# Should the bridge explicitly set the avatar and room name for DM portal rooms?
# This is implicitly enabled in encrypted rooms.
# .Name - Guild name
guild_name_template: {{ matrix_mautrix_discord_bridge_guild_name_template | to_json }}
# Whether to explicitly set the avatar and room name for private chat portal rooms.
# If set to `default`, this will be enabled in encrypted rooms and disabled in unencrypted rooms.
# If set to `always`, all DM rooms will have explicit names and avatars set.
# If set to `never`, DM rooms will never have names and avatars set.
private_chat_portal_meta: default
# Publicly accessible base URL that Discord can use to reach the bridge, used for avatars in relay mode.
# If not set, avatars will not be bridged. Only the /mautrix-discord/avatar/{server}/{id}/{hash} endpoint is used on this address.
# This should not have a trailing slash, the endpoint above will be appended to the provided address.
public_address: {{ matrix_mautrix_discord_bridge_public_address | to_json }}
# A random key used to sign the avatar URLs. The bridge will only accept requests with a valid signature.
avatar_proxy_key: {{ matrix_mautrix_discord_bridge_avatar_proxy_key | to_json }}
portal_message_buffer: 128
# Number of private channel portals to create on bridge startup.
# Other portals will be created when receiving messages.
startup_private_channel_create_limit: 5
# Should the bridge send a read receipt from the bridge bot when a message has been sent to Discord?
delivery_receipts: false
# Whether the bridge should send the message status as a custom com.beeper.message_send_status event.
message_status_events: true
message_status_events: false
# Whether the bridge should send error notices via m.notice events when a message fails to bridge.
message_error_notices: true
# Should the bridge use space-restricted join rules instead of invite-only for guild rooms?
# This can avoid unnecessary invite events in guild rooms when members are synced in.
restricted_rooms: {{ matrix_mautrix_discord_bridge_restricted_rooms|to_json }}
restricted_rooms: {{ matrix_mautrix_discord_bridge_restricted_rooms | to_json }}
# Should the bridge automatically join the user to threads on Discord when the thread is opened on Matrix?
# This only works with clients that support thread read receipts (MSC3771 added in Matrix v1.4).
autojoin_thread_on_open: true
# Should inline fields in Discord embeds be bridged as HTML tables to Matrix?
# Tables aren't supported in all clients, but are the only way to emulate the Discord inline field UI.
embed_fields_as_tables: true
# Should guild channels be muted when the portal is created? This only meant for single-user instances,
# it won't mute it for all users if there are multiple Matrix users in the same Discord guild.
mute_channels_on_create: false
# Should the bridge update the m.direct account data event when double puppeting is enabled.
# Note that updating the m.direct event is not atomic (except with mautrix-asmux)
# and is therefore prone to race conditions.
@ -126,7 +155,7 @@ bridge:
# This field will automatically be changed back to false after it, except if the config file is not writable.
resend_bridge_info: false
# Should incoming custom emoji reactions be bridged as mxc:// URIs?
# If set to false, custom emoji reactions will be bridged as the shortcode instead, and the image wont be available.
# If set to false, custom emoji reactions will be bridged as the shortcode instead, and the image won't be available.
custom_emoji_reactions: true
# Should the bridge attempt to completely delete portal rooms when a channel is deleted on Discord?
# If true, the bridge will try to kick Matrix users from the room. Otherwise, the bridge only makes ghosts leave.
@ -136,7 +165,7 @@ bridge:
delete_guild_on_leave: true
# Whether or not created rooms should have federation enabled.
# If false, created portal rooms will never be federated.
federate_rooms: {{ matrix_mautrix_discord_federate_rooms|to_json }}
federate_rooms: {{ matrix_mautrix_discord_federate_rooms | to_json }}
# Prefix messages from webhooks with the profile info? This can be used along with a custom displayname_template
# to better handle webhooks that change their name all the time (like ones used by bridges).
prefix_webhook_messages: false
@ -146,24 +175,29 @@ bridge:
# like the official client does? The other option is sending the media in the message send request as a form part
# (which is always used by bots and webhooks).
use_discord_cdn_upload: true
# Proxy for Discord connections
proxy:
# Should mxc uris copied from Discord be cached?
# This can be `never` to never cache, `unencrypted` to only cache unencrypted mxc uris, or `always` to cache everything.
# If you have a media repo that generates non-unique mxc uris, you should set this to never.
cache_media: unencrypted
# Patterns for converting Discord media to custom mxc:// URIs instead of reuploading.
# Each of the patterns can be set to null to disable custom URIs for that type of media.
# Settings for converting Discord media to custom mxc:// URIs instead of reuploading.
# More details can be found at https://docs.mau.fi/bridges/go/discord/direct-media.html
media_patterns:
direct_media:
# Should custom mxc:// URIs be used instead of reuploading media?
enabled: false
# Pattern for normal message attachments.
attachments: {% raw %}mxc://discord-media.mau.dev/attachments|{{.ChannelID}}|{{.AttachmentID}}|{{.FileName}}{% endraw %}
# Pattern for custom emojis.
emojis: {% raw %}mxc://discord-media.mau.dev/emojis|{{.ID}}.{{.Ext}}{% endraw %}
# Pattern for stickers. Note that animated lottie stickers will not be converted if this is enabled.
stickers: {% raw %}mxc://discord-media.mau.dev/stickers|{{.ID}}.{{.Ext}}{% endraw %}
# Pattern for static user avatars.
avatars: {% raw %}mxc://discord-media.mau.dev/avatars|{{.UserID}}|{{.AvatarID}}.{{.Ext}}{% endraw %}
# The server name to use for the custom mxc:// URIs.
# This server name will effectively be a real Matrix server, it just won't implement anything other than media.
# You must either set up .well-known delegation from this domain to the bridge, or proxy the domain directly to the bridge.
server_name: discord-media.example.com
# Optionally a custom .well-known response. This defaults to `server_name:443`
well_known_response:
# The bridge supports MSC3860 media download redirects and will use them if the requester supports it.
# Optionally, you can force redirects and not allow proxying at all by setting this to false.
allow_proxy: true
# Matrix server signing key to make the federation tester pass, same format as synapse's .signing.key file.
# This key is also used to sign the mxc:// URIs to ensure only the bridge can generate them.
server_key: ""
# Settings for converting animated stickers.
animated_sticker:
# Format to which animated stickers should be converted.
@ -187,11 +221,10 @@ bridge:
# If set, double puppeting will be enabled automatically for local users
# instead of users having to find an access token and run `login-matrix`
# manually.
login_shared_secret_map: {{ matrix_mautrix_discord_bridge_login_shared_secret_map|to_json }}
login_shared_secret_map: {{ matrix_mautrix_discord_bridge_login_shared_secret_map | to_json }}
# The prefix for commands. Only required in non-management rooms.
command_prefix: "{{ matrix_mautrix_discord_command_prefix }}"
command_prefix: {{ matrix_mautrix_discord_bridge_command_prefix | to_json }}
# Messages sent upon joining a management room.
# Markdown is supported. The defaults are listed below.
management_room_text:
@ -233,15 +266,40 @@ bridge:
# See https://docs.mau.fi/bridges/general/end-to-bridge-encryption.html for more info.
encryption:
# Allow encryption, work in group chat rooms with e2ee enabled
allow: {{ matrix_mautrix_discord_bridge_encryption_allow|to_json }}
allow: {{ matrix_mautrix_discord_bridge_encryption_allow | to_json }}
# Default to encryption, force-enable encryption in all portals the bridge creates
# This will cause the bridge bot to be in private chats for the encryption to work properly.
default: {{ matrix_mautrix_discord_bridge_encryption_default|to_json }}
default: {{ matrix_mautrix_discord_bridge_encryption_default | to_json }}
# Whether to use MSC2409/MSC3202 instead of /sync long polling for receiving encryption-related data.
appservice: {{ matrix_mautrix_discord_bridge_encryption_appservice | to_json}}
# Require encryption, drop any unencrypted messages.
require: false
require: {{ matrix_mautrix_discord_bridge_encryption_require | to_json }}
# Enable key sharing? If enabled, key requests for rooms where users are in will be fulfilled.
# You must use a client that supports requesting keys from other users to use this feature.
allow_key_sharing: {{ matrix_mautrix_discord_bridge_encryption_key_sharing_allow|to_json }}
allow_key_sharing: {{ matrix_mautrix_discord_bridge_encryption_key_sharing_allow | to_json }}
# Should users mentions be in the event wire content to enable the server to send push notifications?
plaintext_mentions: {{ matrix_mautrix_discord_bridge_encryption_plaintext_mentions | to_json }}
# Options for deleting megolm sessions from the bridge.
delete_keys:
# Beeper-specific: delete outbound sessions when hungryserv confirms
# that the user has uploaded the key to key backup.
delete_outbound_on_ack: false
# Don't store outbound sessions in the inbound table.
dont_store_outbound: false
# Ratchet megolm sessions forward after decrypting messages.
ratchet_on_decrypt: false
# Delete fully used keys (index >= max_messages) after decrypting messages.
delete_fully_used_on_decrypt: false
# Delete previous megolm sessions from same device when receiving a new one.
delete_prev_on_new_session: false
# Delete megolm sessions received from a device when the device is deleted.
delete_on_device_delete: false
# Periodically delete megolm sessions when 2x max_age has passed since receiving the session.
periodically_delete_expired: false
# Delete inbound megolm sessions that don't have the received_at field used for
# automatic ratcheting and expired session deletion. This is meant as a migration
# to delete old keys prior to the bridge update.
delete_outdated_inbound: false
# What level of device verification should be required from users?
#
# Valid levels:
@ -277,6 +335,10 @@ bridge:
# default.
messages: 100
# Disable rotating keys when a user's devices change?
# You should not enable this option unless you understand all the implications.
disable_device_change_key_rotation: false
# Settings for provisioning API
provisioning:
# Prefix for the provisioning API paths.
@ -284,6 +346,8 @@ bridge:
# Shared secret for authentication. If set to "generate", a random secret will be generated,
# or if set to "disable", the provisioning API will be disabled.
shared_secret: {{ matrix_mautrix_discord_provisioning_shared_secret | to_json }}
# Enable debug API at /debug with provisioning authentication.
debug_endpoints: false
# Permissions for using the bridge.
# Permitted values:
@ -296,12 +360,9 @@ bridge:
# mxid - Specific user
permissions: {{ matrix_mautrix_discord_bridge_permissions|to_json }}
# Logging config. See https://github.com/tulir/zeroconfig for details.
logging:
directory: ./logs
file_name_format: ''
file_date_format: "2006-01-02"
file_mode: 384
timestamp_format: Jan _2, 2006 15:04:05
print_level: {{ matrix_mautrix_discord_logging_level | to_json }}
print_json: false
file_json: false
min_level: {{ matrix_mautrix_discord_logging_level | to_json }}
writers:
- type: stdout
format: pretty-colored

View File

@ -0,0 +1,58 @@
{% if matrix_mautrix_discord_container_labels_traefik_enabled %}
traefik.enable=true
{% if matrix_mautrix_discord_container_labels_traefik_docker_network %}
traefik.docker.network={{ matrix_mautrix_discord_container_labels_traefik_docker_network }}
{% endif %}
traefik.http.services.matrix-mautrix-discord.loadbalancer.server.port=8080
{% if matrix_mautrix_discord_container_labels_avatar_proxy_enabled %}
############################################################
# #
# Avatar proxy #
# #
############################################################
{% set middlewares = [] %}
{% if matrix_mautrix_discord_container_labels_traefik_path_prefix != '/' %}
traefik.http.middlewares.matrix-mautrix-discord-slashless-redirect.redirectregex.regex=({{ matrix_mautrix_discord_container_labels_traefik_path_prefix | quote }})$
traefik.http.middlewares.matrix-mautrix-discord-slashless-redirect.redirectregex.replacement=${1}/
{% set middlewares = middlewares + ['matrix-mautrix-discord-slashless-redirect'] %}
{% endif %}
{% if matrix_mautrix_discord_container_labels_traefik_path_prefix != '/' %}
traefik.http.middlewares.matrix-mautrix-discord-strip-prefix.stripprefix.prefixes={{ matrix_mautrix_discord_container_labels_traefik_path_prefix }}
{% set middlewares = middlewares + ['matrix-mautrix-discord-strip-prefix'] %}
{% endif %}
traefik.http.routers.matrix-mautrix-discord-avatar-proxy.rule={{ matrix_mautrix_discord_container_labels_avatar_proxy_traefik_rule }}
{% if matrix_mautrix_discord_container_labels_avatar_proxy_traefik_priority | int > 0 %}
traefik.http.routers.matrix-mautrix-discord-avatar-proxy.priority={{ matrix_mautrix_discord_container_labels_avatar_proxy_traefik_priority }}
{% endif %}
{% if middlewares | length > 0 %}
traefik.http.routers.matrix-mautrix-discord-avatar-proxy.middlewares={{ middlewares | join(',') }}
{% endif %}
traefik.http.routers.matrix-mautrix-discord-avatar-proxy.service=matrix-mautrix-discord
traefik.http.routers.matrix-mautrix-discord-avatar-proxy.entrypoints={{ matrix_mautrix_discord_container_labels_avatar_proxy_traefik_entrypoints }}
traefik.http.routers.matrix-mautrix-discord-avatar-proxy.tls={{ matrix_mautrix_discord_container_labels_avatar_proxy_traefik_tls | to_json }}
{% if matrix_mautrix_discord_container_labels_avatar_proxy_traefik_tls %}
traefik.http.routers.matrix-mautrix-discord-avatar-proxy.tls.certResolver={{ matrix_mautrix_discord_container_labels_avatar_proxy_traefik_tls_certResolver }}
{% endif %}
############################################################
# #
# /Avatar proxy #
# #
############################################################
{% endif %}
{% endif %}
{{ matrix_mautrix_discord_container_labels_additional_labels }}

View File

@ -29,6 +29,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
--user={{ matrix_user_uid }}:{{ matrix_user_gid }} \
--cap-drop=ALL \
--network={{ matrix_mautrix_discord_container_network }} \
--label-file={{ matrix_mautrix_discord_base_path }}/labels \
--mount type=bind,src={{ matrix_mautrix_discord_config_path }},dst=/config,ro \
--mount type=bind,src={{ matrix_mautrix_discord_data_path }},dst=/data \
--workdir=/data \