mirror of
https://github.com/spantaleev/matrix-docker-ansible-deploy.git
synced 2025-02-12 01:58:58 +01:00
Compare commits
19 Commits
291e66fddf
...
443a90fef5
Author | SHA1 | Date | |
---|---|---|---|
|
443a90fef5 | ||
|
174b18be9a | ||
|
ac90870e30 | ||
|
cf50800b30 | ||
|
ba775a20fc | ||
|
b3aad9b8a4 | ||
|
f2a5b8595e | ||
|
45abdaac01 | ||
|
bc579cd3ba | ||
|
c7e347468f | ||
|
9a75758bbe | ||
|
58fc1a96d1 | ||
|
14d5cfd336 | ||
|
7dd961dea4 | ||
|
fb2f088bf0 | ||
|
3fd7377290 | ||
|
a8ab53c149 | ||
|
ba9aeb7c9f | ||
|
789bf88b92 |
@ -3478,7 +3478,7 @@ By default, public registration is forbidden.
|
|||||||
|
|
||||||
You can also make people automatically get auto-joined to rooms (controlled via `matrix_synapse_auto_join_rooms`).
|
You can also make people automatically get auto-joined to rooms (controlled via `matrix_synapse_auto_join_rooms`).
|
||||||
|
|
||||||
## Support for changing the welcome user id (welcome bot)
|
## Support for changing the welcome user ID (welcome bot)
|
||||||
|
|
||||||
By default, `@riot-bot:matrix.org` is used to welcome newly registered users.
|
By default, `@riot-bot:matrix.org` is used to welcome newly registered users.
|
||||||
This can be changed to something else (or disabled) via the new `matrix_riot_web_welcome_user_id` variable.
|
This can be changed to something else (or disabled) via the new `matrix_riot_web_welcome_user_id` variable.
|
||||||
|
@ -89,7 +89,7 @@ To make the [ma1sd](https://github.com/ma1uta/ma1sd) Identity Server (which this
|
|||||||
|
|
||||||
This is an optional feature for the optionally-installed [ma1sd service](configuring-playbook-ma1sd.md). See [ma1sd's documentation](https://github.com/ma1uta/ma1sd/wiki/mxisd-and-your-privacy#choices-are-never-easy) for information on the privacy implications of setting up this SRV record.
|
This is an optional feature for the optionally-installed [ma1sd service](configuring-playbook-ma1sd.md). See [ma1sd's documentation](https://github.com/ma1uta/ma1sd/wiki/mxisd-and-your-privacy#choices-are-never-easy) for information on the privacy implications of setting up this SRV record.
|
||||||
|
|
||||||
Note: This `_matrix-identity._tcp` SRV record for the identity server is different from the `_matrix._tcp` that can be used for Synapse delegation. See [howto-server-delegation.md](howto-server-delegation.md) for more information about delegation.
|
**Note**: This `_matrix-identity._tcp` SRV record for the identity server is different from the `_matrix._tcp` that can be used for Synapse delegation. See [howto-server-delegation.md](howto-server-delegation.md) for more information about delegation.
|
||||||
|
|
||||||
When you're done with the DNS configuration and ready to proceed, continue with [Getting the playbook](getting-the-playbook.md).
|
When you're done with the DNS configuration and ready to proceed, continue with [Getting the playbook](getting-the-playbook.md).
|
||||||
|
|
||||||
|
@ -54,7 +54,7 @@ The playbook can automatically create users, but it cannot automatically obtain
|
|||||||
2. [Obtain an access token](obtaining-access-tokens.md) for the bot's user account
|
2. [Obtain an access token](obtaining-access-tokens.md) for the bot's user account
|
||||||
3. Invite the bot to a room where you'd like to alerts to be delivered
|
3. Invite the bot to a room where you'd like to alerts to be delivered
|
||||||
4. Log in as the bot using any Matrix client of your choosing, accept the room invitation from the bot's account and log out
|
4. Log in as the bot using any Matrix client of your choosing, accept the room invitation from the bot's account and log out
|
||||||
5. (Optionally) Adjust `matrix_alertmanager_receiver_config_matrix_room_mapping` to create a mapping between the new room and its id
|
5. (Optionally) Adjust `matrix_alertmanager_receiver_config_matrix_room_mapping` to create a mapping between the new room and its ID
|
||||||
|
|
||||||
Steps 1 and 2 above only need to be done once, while preparing your [configuration](#configuration).
|
Steps 1 and 2 above only need to be done once, while preparing your [configuration](#configuration).
|
||||||
|
|
||||||
|
@ -357,7 +357,7 @@ You can configure the **initial values** for these via Ansible, via the `matrix_
|
|||||||
Example **additional** `vars.yml` configuration:
|
Example **additional** `vars.yml` configuration:
|
||||||
|
|
||||||
```yml
|
```yml
|
||||||
# NOTE: these are initial defaults for the bot's global configuration.
|
# Note: these are initial defaults for the bot's global configuration.
|
||||||
# As such, changing any of these values subsequently has no effect on the bot's behavior.
|
# As such, changing any of these values subsequently has no effect on the bot's behavior.
|
||||||
# Once initially configured, the global configuration is managed via bot commands, not via Ansible.
|
# Once initially configured, the global configuration is managed via bot commands, not via Ansible.
|
||||||
|
|
||||||
|
@ -79,7 +79,7 @@ To use the bot, invite the `@bot.buscarron:DOMAIN` to the room you specified in
|
|||||||
</form>
|
</form>
|
||||||
```
|
```
|
||||||
|
|
||||||
**NOTE**: to fight against spam, Buscarron is **very aggressive when it comes to banning** and will ban you if:
|
**Note**: to fight against spam, Buscarron is **very aggressive when it comes to banning** and will ban you if:
|
||||||
|
|
||||||
- if you hit the homepage (HTTP `GET` request to `/`)
|
- if you hit the homepage (HTTP `GET` request to `/`)
|
||||||
- if you submit a form to the wrong URL (`POST` request to `/non-existing-form`)
|
- if you submit a form to the wrong URL (`POST` request to `/non-existing-form`)
|
||||||
|
@ -28,7 +28,7 @@ matrix_appservice_discord_bot_token: "YOUR DISCORD APP BOT TOKEN"
|
|||||||
matrix_synapse_configuration_extension_yaml: |
|
matrix_synapse_configuration_extension_yaml: |
|
||||||
use_appservice_legacy_authorization: true
|
use_appservice_legacy_authorization: true
|
||||||
```
|
```
|
||||||
*Note*: This deprecated method is considered insecure.
|
**Note**: This deprecated method is considered insecure.
|
||||||
|
|
||||||
6. If you've already installed Matrix services using the playbook before, you'll need to re-run it (`--tags=setup-all,start`). If not, proceed with [configuring other playbook services](configuring-playbook.md) and then with [Installing](installing.md). Get back to this guide once ready.
|
6. If you've already installed Matrix services using the playbook before, you'll need to re-run it (`--tags=setup-all,start`). If not, proceed with [configuring other playbook services](configuring-playbook.md) and then with [Installing](installing.md). Get back to this guide once ready.
|
||||||
|
|
||||||
@ -42,14 +42,14 @@ Self-service bridging allows you to bridge specific and existing Matrix rooms to
|
|||||||
matrix_appservice_discord_bridge_enableSelfServiceBridging: true
|
matrix_appservice_discord_bridge_enableSelfServiceBridging: true
|
||||||
```
|
```
|
||||||
|
|
||||||
_Note: If self-service bridging is not enabled, `!discord help` commands will return no results._
|
**Note**: If self-service bridging is not enabled, `!discord help` commands will return no results.
|
||||||
|
|
||||||
Once self-service is enabled:
|
Once self-service is enabled:
|
||||||
|
|
||||||
1. Start a chat with `@_discord_bot:<YOUR_DOMAIN>` and say `!discord help bridge`.
|
1. Start a chat with `@_discord_bot:<YOUR_DOMAIN>` and say `!discord help bridge`.
|
||||||
2. Follow the instructions in the help output message. If the bot is not already in the Discord server, follow the provided invite link. This may require you to be a administrator of the Discord server.
|
2. Follow the instructions in the help output message. If the bot is not already in the Discord server, follow the provided invite link. This may require you to be a administrator of the Discord server.
|
||||||
|
|
||||||
_Note: Encrypted Matrix rooms are not supported as of writing._
|
**Note**: Encrypted Matrix rooms are not supported as of writing.
|
||||||
|
|
||||||
On the Discord side, you can say `!matrix help` to get a list of available commands to manage the bridge and Matrix users.
|
On the Discord side, you can say `!matrix help` to get a list of available commands to manage the bridge and Matrix users.
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
The playbook can install and configure [matrix-appservice-kakaotalk](https://src.miscworks.net/fair/matrix-appservice-kakaotalk) for you. `matrix-appservice-kakaotalk` is a bridge to [Kakaotalk](https://www.kakaocorp.com/page/service/service/KakaoTalk?lang=ENG) based on [node-kakao](https://github.com/storycraft/node-kakao) (now unmaintained) and some [mautrix-facebook](https://github.com/mautrix/facebook) code.
|
The playbook can install and configure [matrix-appservice-kakaotalk](https://src.miscworks.net/fair/matrix-appservice-kakaotalk) for you. `matrix-appservice-kakaotalk` is a bridge to [Kakaotalk](https://www.kakaocorp.com/page/service/service/KakaoTalk?lang=ENG) based on [node-kakao](https://github.com/storycraft/node-kakao) (now unmaintained) and some [mautrix-facebook](https://github.com/mautrix/facebook) code.
|
||||||
|
|
||||||
**NOTE**: there have been recent reports (~2022-09-16) that **using this bridge may get your account banned**.
|
**Note**: there have been recent reports (~2022-09-16) that **using this bridge may get your account banned**.
|
||||||
|
|
||||||
See the project's [documentation](https://src.miscworks.net/fair/matrix-appservice-kakaotalk) to learn what it does and why it might be useful to you.
|
See the project's [documentation](https://src.miscworks.net/fair/matrix-appservice-kakaotalk) to learn what it does and why it might be useful to you.
|
||||||
|
|
||||||
|
@ -10,42 +10,42 @@ See the project's [documentation](https://github.com/matrix-org/matrix-appservic
|
|||||||
|
|
||||||
loosely based on [this](https://github.com/matrix-org/matrix-appservice-slack#Setup)
|
loosely based on [this](https://github.com/matrix-org/matrix-appservice-slack#Setup)
|
||||||
|
|
||||||
1. Create a new Matrix room to act as the administration control room. Note its internal room ID. This can
|
1. Create a new Matrix room to act as the administration control room. Note its internal room ID. This can be done in Element by sending a message, opening the options for that message and choosing "view source". The room ID will be displayed near the top.
|
||||||
be done in Element by making a message, opening the options for that message and choosing "view source". The
|
|
||||||
room ID will be displayed near the top.
|
|
||||||
2. Enable the bridge with the following configuration in your `vars.yml` file:
|
|
||||||
|
|
||||||
```yaml
|
2. Enable the bridge by adding the following configuration to your `inventory/host_vars/matrix.DOMAIN/vars.yml` file:
|
||||||
matrix_appservice_slack_enabled: true
|
|
||||||
matrix_appservice_slack_control_room_id: "Your matrix admin room id"
|
```yaml
|
||||||
```
|
matrix_appservice_slack_enabled: true
|
||||||
|
matrix_appservice_slack_control_room_id: "Your matrix admin room ID"
|
||||||
|
```
|
||||||
|
|
||||||
3. Enable puppeting (optional, but recommended)
|
3. Enable puppeting (optional, but recommended)
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
matrix_appservice_slack_puppeting_enabled: true
|
matrix_appservice_slack_puppeting_enabled: true
|
||||||
matrix_appservice_slack_puppeting_slackapp_client_id: "Your Classic Slack App Client ID"
|
matrix_appservice_slack_puppeting_slackapp_client_id: "Your Classic Slack App Client ID"
|
||||||
matrix_appservice_slack_puppeting_slackapp_client_secret: "Your Classic Slack App Client Secret"
|
matrix_appservice_slack_puppeting_slackapp_client_secret: "Your Classic Slack App Client Secret"
|
||||||
```
|
```
|
||||||
|
|
||||||
4. Enable Team Sync (optional)
|
4. Enable Team Sync (optional)
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
matrix_appservice_slack_team_sync_enabled: true
|
matrix_appservice_slack_team_sync_enabled: true
|
||||||
```
|
```
|
||||||
|
|
||||||
See https://matrix-appservice-slack.readthedocs.io/en/latest/team_sync/
|
See https://matrix-appservice-slack.readthedocs.io/en/latest/team_sync/
|
||||||
|
|
||||||
4. If you've already installed Matrix services using the playbook before, you'll need to re-run it (`--tags=setup-all,start`). If not, proceed with [configuring other playbook services](configuring-playbook.md) and then with [Installing](installing.md). Get back to this guide once ready.
|
5. If you've already installed Matrix services using the playbook before, you'll need to re-run it (`--tags=setup-all,start`). If not, proceed with [configuring other playbook services](configuring-playbook.md) and then with [Installing](installing.md). Get back to this guide once ready.
|
||||||
5. Invite the bridge bot user into the admin room:
|
|
||||||
|
|
||||||
```
|
6. Invite the bridge bot user into the admin room:
|
||||||
|
|
||||||
|
```
|
||||||
/invite @slackbot:MY.DOMAIN
|
/invite @slackbot:MY.DOMAIN
|
||||||
```
|
```
|
||||||
|
|
||||||
Note that the bot's domain is your server's domain **without the `matrix.` prefix.**
|
Note that the bot's domain is your server's domain **without the `matrix.` prefix.**
|
||||||
|
|
||||||
6. Create a Classic Slack App [here](https://api.slack.com/apps?new_classic_app=1).
|
7. Create a Classic Slack App [here](https://api.slack.com/apps?new_classic_app=1).
|
||||||
|
|
||||||
Name the app "matrixbot" (or anything else you'll remember).
|
Name the app "matrixbot" (or anything else you'll remember).
|
||||||
|
|
||||||
@ -53,7 +53,7 @@ Note that the bot's domain is your server's domain **without the `matrix.` prefi
|
|||||||
|
|
||||||
Click on bot users and add a new bot user. We will use this account to bridge the the rooms.
|
Click on bot users and add a new bot user. We will use this account to bridge the the rooms.
|
||||||
|
|
||||||
7. Click on Event Subscriptions and enable them and use the request url `https://matrix.DOMAIN/appservice-slack`. Then add the following events and save:
|
8. Click on Event Subscriptions and enable them and use the request url `https://matrix.DOMAIN/appservice-slack`. Then add the following events and save:
|
||||||
|
|
||||||
Bot User Events:
|
Bot User Events:
|
||||||
|
|
||||||
@ -63,7 +63,7 @@ Note that the bot's domain is your server's domain **without the `matrix.` prefi
|
|||||||
- reaction_added
|
- reaction_added
|
||||||
- reaction_removed
|
- reaction_removed
|
||||||
|
|
||||||
8. Click on OAuth & Permissions and add the following scopes:
|
9. Click on OAuth & Permissions and add the following scopes:
|
||||||
|
|
||||||
- chat:write:bot
|
- chat:write:bot
|
||||||
- users:read
|
- users:read
|
||||||
@ -73,56 +73,62 @@ Note that the bot's domain is your server's domain **without the `matrix.` prefi
|
|||||||
|
|
||||||
- files:write:user
|
- files:write:user
|
||||||
|
|
||||||
Note: In order to make Slack files visible to matrix users, this bridge will make Slack files visible to anyone with the url (including files in private channels). This is different than the current behavior in Slack, which only allows authenticated access to media posted in private channels. See MSC701 for details.
|
**Note**: In order to make Slack files visible to matrix users, this bridge will make Slack files visible to anyone with the url (including files in private channels). This is different than the current behavior in Slack, which only allows authenticated access to media posted in private channels. See MSC701 for details.
|
||||||
|
|
||||||
9. Click on Install App and Install App to Workspace. Note the access tokens shown. You will need the Bot User OAuth Access Token and if you want to bridge files, the OAuth Access Token whenever you link a room.
|
10. Click on Install App and Install App to Workspace. Note the access tokens shown. You will need the Bot User OAuth Access Token and if you want to bridge files, the OAuth Access Token whenever you link a room.
|
||||||
|
|
||||||
10. If Team Sync is not enabled, for each channel you would like to bridge, perform the following steps:
|
11. If Team Sync is not enabled, for each channel you would like to bridge, perform the following steps:
|
||||||
|
|
||||||
* Create a Matrix room in the usual manner for your client. Take a note of its Matrix room ID - it will look something like !aBcDeF:example.com.
|
* Create a Matrix room in the usual manner for your client. Take a note of its Matrix room ID - it will look something like !aBcDeF:example.com.
|
||||||
|
|
||||||
* Invite the bot user to both the Slack and Matrix channels you would like to bridge using `/invite @matrixbot` for slack and `/invite @slackbot:MY.DOMAIN` for matrix.
|
* Invite the bot user to both the Slack and Matrix channels you would like to bridge using `/invite @matrixbot` for Slack and `/invite @slackbot:MY.DOMAIN` for Matrix.
|
||||||
|
|
||||||
* Determine the "channel ID" that Slack uses to identify the channel. You can see it when you open a given Slack channel in a browser. The URL reads like this: `https://app.slack.com/client/XXX/<the channel id>/details/`.
|
* Determine the "channel ID" that Slack uses to identify the channel. You can see it when you open a given Slack channel in a browser. The URL reads like this: `https://app.slack.com/client/XXX/<the channel ID>/details/`.
|
||||||
|
|
||||||
* Issue a link command in the administration control room with these collected values as arguments:
|
* Issue a link command in the administration control room with these collected values as arguments:
|
||||||
|
|
||||||
with file bridging:
|
with file bridging:
|
||||||
```
|
|
||||||
|
```
|
||||||
link --channel_id CHANNELID --room !the-matrix:room.id --slack_bot_token xoxb-xxxxxxxxxx-xxxxxxxxxxxxxxxxxxxx --slack_user_token xoxp-xxxxxxxx-xxxxxxxxx-xxxxxxxx-xxxxxxxx
|
link --channel_id CHANNELID --room !the-matrix:room.id --slack_bot_token xoxb-xxxxxxxxxx-xxxxxxxxxxxxxxxxxxxx --slack_user_token xoxp-xxxxxxxx-xxxxxxxxx-xxxxxxxx-xxxxxxxx
|
||||||
```
|
```
|
||||||
|
|
||||||
without file bridging:
|
without file bridging:
|
||||||
```
|
|
||||||
|
```
|
||||||
link --channel_id CHANNELID --room !the-matrix:room.id --slack_bot_token xoxb-xxxxxxxxxx-xxxxxxxxxxxxxxxxxxxx
|
link --channel_id CHANNELID --room !the-matrix:room.id --slack_bot_token xoxb-xxxxxxxxxx-xxxxxxxxxxxxxxxxxxxx
|
||||||
```
|
```
|
||||||
|
|
||||||
These arguments can be shortened to single-letter forms:
|
These arguments can be shortened to single-letter forms:
|
||||||
```
|
|
||||||
|
```
|
||||||
link -I CHANNELID -R !the-matrix:room.id -t xoxb-xxxxxxxxxx-xxxxxxxxxxxxxxxxxxxx
|
link -I CHANNELID -R !the-matrix:room.id -t xoxb-xxxxxxxxxx-xxxxxxxxxxxxxxxxxxxx
|
||||||
```
|
```
|
||||||
|
|
||||||
Other configuration options are available via the `matrix_appservice_slack_configuration_extension_yaml` variable.
|
Other configuration options are available via the `matrix_appservice_slack_configuration_extension_yaml` variable.
|
||||||
|
|
||||||
11. Unlinking
|
12. Unlinking
|
||||||
|
|
||||||
Channels can be unlinked again like this:
|
Channels can be unlinked again like this:
|
||||||
|
|
||||||
```
|
```
|
||||||
unlink --room !the-matrix:room.id
|
unlink --room !the-matrix:room.id
|
||||||
```
|
```
|
||||||
|
|
||||||
Unlinking doesn't only disconnect the bridge, but also makes the slackbot leave the bridged matrix room. So in case you want to re-link later, don't forget to re-invite the slackbot into this room again.
|
Unlinking doesn't only disconnect the bridge, but also makes the slackbot leave the bridged matrix room. So in case you want to re-link later, don't forget to re-invite the slackbot into this room again.
|
||||||
|
|
||||||
## Troubleshooting
|
## Troubleshooting
|
||||||
|
|
||||||
* as always, check the logs:
|
* As always, check the logs: `journalctl -fu matrix-appservice-slack`
|
||||||
`journalctl -fu matrix-appservice-slack`
|
|
||||||
|
|
||||||
* linking: "Room is now pending-name"
|
* Linking: "Room is now pending-name"
|
||||||
This typically means that you haven't used the correct slack channel id. Unlink the room and recheck 'Determine the "channel ID"' from above.
|
|
||||||
|
This typically means that you haven't used the correct Slack channel ID. Unlink the room and recheck 'Determine the "channel ID"' from above.
|
||||||
|
|
||||||
* Messages work from M to S, but not the other way around
|
* Messages work from M to S, but not the other way around
|
||||||
Check you logs, if they say something like
|
|
||||||
|
|
||||||
`WARN SlackEventHandler Ignoring message from unrecognised slack channel id : %s (%s) <the channel id> <some other id>`
|
Check you logs, if they say something like
|
||||||
|
|
||||||
then unlink your room, reinvite the bot and re-link it again. This may particularly hit you, if you tried to unsuccessfully link
|
`WARN SlackEventHandler Ignoring message from unrecognised Slack channel ID : %s (%s) <the channel ID> <some other ID>`
|
||||||
your room multiple times without unlinking it after each failed attempt.
|
|
||||||
|
then unlink your room, reinvite the bot and re-link it again. This may particularly hit you, if you tried to unsuccessfully link your room multiple times without unlinking it after each failed attempt.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
The playbook can install and configure [matrix-appservice-webhooks](https://github.com/turt2live/matrix-appservice-webhooks) for you.
|
The playbook can install and configure [matrix-appservice-webhooks](https://github.com/turt2live/matrix-appservice-webhooks) for you.
|
||||||
|
|
||||||
Note: This bridge is no longer maintained. While not a 1:1 replacement, the bridge's author suggests taking a look at [matrix-hookshot](https://github.com/Half-Shot/matrix-hookshot) as a replacement, which can also be installed using [this playbook](configuring-playbook-bridge-hookshot.md).
|
**Note**: This bridge is no longer maintained. While not a 1:1 replacement, the bridge's author suggests taking a look at [matrix-hookshot](https://github.com/Half-Shot/matrix-hookshot) as a replacement, which can also be installed using [this playbook](configuring-playbook-bridge-hookshot.md).
|
||||||
|
|
||||||
This bridge provides support for Slack-compatible webhooks.
|
This bridge provides support for Slack-compatible webhooks.
|
||||||
|
|
||||||
@ -20,7 +20,7 @@ matrix_appservice_webhooks_api_secret: '<your_secret>'
|
|||||||
2. In case you want to change the verbosity of logging via `journalctl -fu matrix-appservice-webhooks.service`
|
2. In case you want to change the verbosity of logging via `journalctl -fu matrix-appservice-webhooks.service`
|
||||||
you can adjust this in `inventory/host_vars/matrix.<domain-name>/vars.yml` as well.
|
you can adjust this in `inventory/host_vars/matrix.<domain-name>/vars.yml` as well.
|
||||||
|
|
||||||
*Note*: default value is: `info` and availabe log levels are : `info`, `verbose`
|
**Note**: default value is: `info` and availabe log levels are : `info`, `verbose`
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
matrix_appservice_webhooks_log_level: '<log_level>'
|
matrix_appservice_webhooks_log_level: '<log_level>'
|
||||||
@ -31,7 +31,7 @@ matrix_appservice_webhooks_log_level: '<log_level>'
|
|||||||
matrix_synapse_configuration_extension_yaml: |
|
matrix_synapse_configuration_extension_yaml: |
|
||||||
use_appservice_legacy_authorization: true
|
use_appservice_legacy_authorization: true
|
||||||
```
|
```
|
||||||
*Note*: This deprecated method is considered insecure.
|
**Note**: This deprecated method is considered insecure.
|
||||||
|
|
||||||
4. If you've already installed Matrix services using the playbook before, you'll need to re-run it (`--tags=setup-all,start`). If not, proceed with [configuring other playbook services](configuring-playbook.md) and then with [Installing](installing.md). Get back to this guide once ready.
|
4. If you've already installed Matrix services using the playbook before, you'll need to re-run it (`--tags=setup-all,start`). If not, proceed with [configuring other playbook services](configuring-playbook.md) and then with [Installing](installing.md). Get back to this guide once ready.
|
||||||
|
|
||||||
@ -39,7 +39,7 @@ matrix_synapse_configuration_extension_yaml: |
|
|||||||
|
|
||||||
6. Invite the bridge bot user to your room:
|
6. Invite the bridge bot user to your room:
|
||||||
|
|
||||||
- either with `/invite @_webhook:<domain.name>` (*Note*: Make sure you have administration permissions in your room)
|
- either with `/invite @_webhook:<domain.name>` (**Note**: Make sure you have administration permissions in your room)
|
||||||
|
|
||||||
- or simply add the bridge bot to a private channel (personal channels imply you being an administrator)
|
- or simply add the bridge bot to a private channel (personal channels imply you being an administrator)
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@ To enable the bridge, add the following configuration to your `inventory/host_va
|
|||||||
```yaml
|
```yaml
|
||||||
matrix_sms_bridge_enabled: true
|
matrix_sms_bridge_enabled: true
|
||||||
|
|
||||||
# (optional but recommended) a room id to a default room
|
# (optional but recommended) a room ID to a default room
|
||||||
matrix_sms_bridge_default_room: ""
|
matrix_sms_bridge_default_room: ""
|
||||||
|
|
||||||
# (optional but recommended) configure your server location
|
# (optional but recommended) configure your server location
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
By default, this playbook configures the [Synapse](https://github.com/element-hq/synapse) Matrix server, but you can also use [Conduit](https://conduit.rs).
|
By default, this playbook configures the [Synapse](https://github.com/element-hq/synapse) Matrix server, but you can also use [Conduit](https://conduit.rs).
|
||||||
|
|
||||||
**NOTES**:
|
**Notes**:
|
||||||
|
|
||||||
- **You can't switch an existing Matrix server's implementation** (e.g. Synapse -> Conduit). Proceed below only if you're OK with losing data or you're dealing with a server on a new domain name, which hasn't participated in the Matrix federation yet.
|
- **You can't switch an existing Matrix server's implementation** (e.g. Synapse -> Conduit). Proceed below only if you're OK with losing data or you're dealing with a server on a new domain name, which hasn't participated in the Matrix federation yet.
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
By default, this playbook configures the [Synapse](https://github.com/element-hq/synapse) Matrix server, but you can also use [Dendrite](https://github.com/matrix-org/dendrite).
|
By default, this playbook configures the [Synapse](https://github.com/element-hq/synapse) Matrix server, but you can also use [Dendrite](https://github.com/matrix-org/dendrite).
|
||||||
|
|
||||||
**NOTES**:
|
**Notes**:
|
||||||
|
|
||||||
- **You can't switch an existing Matrix server's implementation** (e.g. Synapse -> Dendrite). Proceed below only if you're OK with losing data or you're dealing with a server on a new domain name, which hasn't participated in the Matrix federation yet.
|
- **You can't switch an existing Matrix server's implementation** (e.g. Synapse -> Dendrite). Proceed below only if you're OK with losing data or you're dealing with a server on a new domain name, which hasn't participated in the Matrix federation yet.
|
||||||
|
|
||||||
@ -29,4 +29,3 @@ To use Dendrite, you **generally** need the following additional `vars.yml` conf
|
|||||||
```yaml
|
```yaml
|
||||||
matrix_homeserver_implementation: dendrite
|
matrix_homeserver_implementation: dendrite
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -35,8 +35,8 @@ It doesn't matter who creates and owns the rooms and who joins later (you or the
|
|||||||
What matters is that both you and the sender user are part of the same room and that the sender user has enough privileges in the room to be able to send messages there.
|
What matters is that both you and the sender user are part of the same room and that the sender user has enough privileges in the room to be able to send messages there.
|
||||||
Inviting additional people to the room is okay too.
|
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).
|
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 doing [Configuration](#configuration) below.
|
You'll need the room ID when doing [Configuration](#configuration) below.
|
||||||
|
|
||||||
|
|
||||||
### Obtaining an access token for the sender user
|
### Obtaining an access token for the sender user
|
||||||
|
@ -5,7 +5,7 @@ If that's alright, you can skip this.
|
|||||||
|
|
||||||
If you'd like to use an external PostgreSQL server that you manage, you can edit your configuration file (`inventory/host_vars/matrix.<your-domain>/vars.yml`).
|
If you'd like to use an external PostgreSQL server that you manage, you can edit your configuration file (`inventory/host_vars/matrix.<your-domain>/vars.yml`).
|
||||||
|
|
||||||
**NOTE**: using **an external Postgres server is currently [not very seamless](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/1682#issuecomment-1061461683) when it comes to enabling various other playbook services** - you will need to create a new database/credentials for each service and to point each service to its corresponding database using custom `vars.yml` configuration. **For the best experience with the playbook, stick to using the integrated Postgres server**.
|
**Note**: using **an external Postgres server is currently [not very seamless](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/1682#issuecomment-1061461683) when it comes to enabling various other playbook services** - you will need to create a new database/credentials for each service and to point each service to its corresponding database using custom `vars.yml` configuration. **For the best experience with the playbook, stick to using the integrated Postgres server**.
|
||||||
|
|
||||||
If you'd like to use an external Postgres server, add the following configuration to your `inventory/host_vars/matrix.DOMAIN/vars.yml` file (adapt to your needs):
|
If you'd like to use an external Postgres server, add the following configuration to your `inventory/host_vars/matrix.DOMAIN/vars.yml` file (adapt to your needs):
|
||||||
|
|
||||||
|
@ -40,7 +40,7 @@ If you're fine with such an open Jitsi instance, please skip to [Apply changes](
|
|||||||
If you would like to control who is allowed to open meetings on your new Jitsi instance, then please follow the following steps to enable Jitsi's authentication and optionally guests mode.
|
If you would like to control who is allowed to open meetings on your new Jitsi instance, then please follow the following steps to enable Jitsi's authentication and optionally guests mode.
|
||||||
Currently, there are three supported authentication modes: 'internal' (default), 'matrix' and 'ldap'.
|
Currently, there are three supported authentication modes: 'internal' (default), 'matrix' and 'ldap'.
|
||||||
|
|
||||||
**Note:** Authentication is not tested via the playbook's self-checks.
|
**Note**: Authentication is not tested via the playbook's self-checks.
|
||||||
We therefore recommend that you manually verify if authentication is required by jitsi.
|
We therefore recommend that you manually verify if authentication is required by jitsi.
|
||||||
For this, try to manually create a conference on jitsi.DOMAIN in your browser.
|
For this, try to manually create a conference on jitsi.DOMAIN in your browser.
|
||||||
|
|
||||||
@ -173,8 +173,8 @@ For this role to work you will need an additional section in the ansible hosts f
|
|||||||
<your jvb hosts> ansible_host=<ip address of the jvb host>
|
<your jvb hosts> ansible_host=<ip address of the jvb host>
|
||||||
```
|
```
|
||||||
|
|
||||||
Each JVB will require a server id to be set so that it can be uniquely identified and this allows Jitsi to keep track of which conferences are on which JVB.
|
Each JVB will require a server ID to be set so that it can be uniquely identified and this allows Jitsi to keep track of which conferences are on which JVB.
|
||||||
The server id is set with the variable `jitsi_jvb_server_id` which ends up as the JVB_WS_SERVER_ID environment variables in the JVB docker container.
|
The server ID is set with the variable `jitsi_jvb_server_id` which ends up as the JVB_WS_SERVER_ID environment variables in the JVB docker container.
|
||||||
This variable can be set via the host file, a parameter to the ansible command or in the `vars.yaml` for the host which will have the additional JVB. For example:
|
This variable can be set via the host file, a parameter to the ansible command or in the `vars.yaml` for the host which will have the additional JVB. For example:
|
||||||
|
|
||||||
``` yaml
|
``` yaml
|
||||||
@ -187,7 +187,7 @@ jvb-2.example.com ansible_host=192.168.0.2 jitsi_jvb_server_id=jvb-2
|
|||||||
jvb-3.example.com ansible_host=192.168.0.3 jitsi_jvb_server_id=jvb-2
|
jvb-3.example.com ansible_host=192.168.0.3 jitsi_jvb_server_id=jvb-2
|
||||||
```
|
```
|
||||||
|
|
||||||
Note that the server id `jvb-1` is reserved for the JVB instance running on the Matrix host and therefore should not be used as the id of an additional jvb host.
|
Note that the server ID `jvb-1` is reserved for the JVB instance running on the Matrix host and therefore should not be used as the ID of an additional jvb host.
|
||||||
|
|
||||||
The additional JVB will also need to expose the colibri web socket port and this can be done with the following variable:
|
The additional JVB will also need to expose the colibri web socket port and this can be done with the following variable:
|
||||||
|
|
||||||
@ -195,7 +195,7 @@ The additional JVB will also need to expose the colibri web socket port and this
|
|||||||
jitsi_jvb_container_colibri_ws_host_bind_port: 9090
|
jitsi_jvb_container_colibri_ws_host_bind_port: 9090
|
||||||
```
|
```
|
||||||
|
|
||||||
The JVB will also need to know where the prosody xmpp server is located, similar to the server id this can be set in the vars for the JVB by using the variable
|
The JVB will also need to know where the prosody xmpp server is located, similar to the server ID this can be set in the vars for the JVB by using the variable
|
||||||
`jitsi_xmpp_server`. The Jitsi prosody container is deployed on the matrix server by default so the value can be set to the matrix domain. For example:
|
`jitsi_xmpp_server`. The Jitsi prosody container is deployed on the matrix server by default so the value can be set to the matrix domain. For example:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
|
@ -52,7 +52,7 @@ matrix_corporal_policy_provider_config: |
|
|||||||
matrix_corporal_http_api_enabled: true
|
matrix_corporal_http_api_enabled: true
|
||||||
matrix_corporal_http_api_auth_token: "AUTH_TOKEN_HERE"
|
matrix_corporal_http_api_auth_token: "AUTH_TOKEN_HERE"
|
||||||
|
|
||||||
# If you need to change matrix-corporal's user id from the default (matrix-corporal).
|
# If you need to change matrix-corporal's user ID from the default (matrix-corporal).
|
||||||
# In any case, you need to make sure this Matrix user is created on your server.
|
# In any case, you need to make sure this Matrix user is created on your server.
|
||||||
matrix_corporal_corporal_user_id_local_part: "matrix-corporal"
|
matrix_corporal_corporal_user_id_local_part: "matrix-corporal"
|
||||||
|
|
||||||
@ -73,7 +73,7 @@ matrix_synapse_rc_login:
|
|||||||
|
|
||||||
Matrix Corporal operates with a specific Matrix user on your server.
|
Matrix Corporal operates with a specific Matrix user on your server.
|
||||||
By default, it's `matrix-corporal` (controllable by the `matrix_corporal_reconciliation_user_id_local_part` setting, see above).
|
By default, it's `matrix-corporal` (controllable by the `matrix_corporal_reconciliation_user_id_local_part` setting, see above).
|
||||||
No matter what Matrix user id you configure to run it with, make sure that:
|
No matter what Matrix user ID you configure to run it with, make sure that:
|
||||||
|
|
||||||
- the Matrix Corporal user is created by [registering it](registering-users.md) **with administrator privileges**. Use a password you remember, as you'll need to log in from time to time to create or join rooms
|
- the Matrix Corporal user is created by [registering it](registering-users.md) **with administrator privileges**. Use a password you remember, as you'll need to log in from time to time to create or join rooms
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@ The playbook can install and configure [matrix-ldap-registration-proxy](https://
|
|||||||
|
|
||||||
This proxy handles Matrix registration requests and forwards them to LDAP.
|
This proxy handles Matrix registration requests and forwards them to LDAP.
|
||||||
|
|
||||||
**Please note:** This does support the full Matrix specification for registrations. It only provide a very coarse
|
**Note**: This does support the full Matrix specification for registrations. It only provide a very coarse
|
||||||
implementation of a basic password registration.
|
implementation of a basic password registration.
|
||||||
|
|
||||||
## Quickstart
|
## Quickstart
|
||||||
|
@ -105,7 +105,7 @@ If you wish to manually generate the signing key and merge it with your homeserv
|
|||||||
|
|
||||||
### Key backup and revoking
|
### Key backup and revoking
|
||||||
|
|
||||||
Since your homeserver signing key file is modified by the playbook, a backup will be created in `HOMESERVER_DIR/config/DOMAIN.signing.key.backup`. If you need to remove/revoke old keys, you can restore from this backup or remove the MMR key id from your `DOMAIN.signing.key` file.
|
Since your homeserver signing key file is modified by the playbook, a backup will be created in `HOMESERVER_DIR/config/DOMAIN.signing.key.backup`. If you need to remove/revoke old keys, you can restore from this backup or remove the MMR key ID from your `DOMAIN.signing.key` file.
|
||||||
|
|
||||||
Additionally, its recommended after revoking a signing key to update your homeserver config file (`old_signing_keys` field for Synapse and `old_private_keys` for Dendrite). See your homeserver config file for further documentation on how to populate the field.
|
Additionally, its recommended after revoking a signing key to update your homeserver config file (`old_signing_keys` field for Synapse and `old_private_keys` for Dendrite). See your homeserver config file for further documentation on how to populate the field.
|
||||||
|
|
||||||
|
@ -22,7 +22,7 @@ grafana_enabled: true
|
|||||||
|
|
||||||
grafana_anonymous_access: false
|
grafana_anonymous_access: false
|
||||||
|
|
||||||
# This has no relation to your Matrix user id. It can be any username you'd like.
|
# This has no relation to your Matrix user ID. It can be any username you'd like.
|
||||||
# Changing the username subsequently won't work.
|
# Changing the username subsequently won't work.
|
||||||
grafana_default_admin_user: "some_username_chosen_by_you"
|
grafana_default_admin_user: "some_username_chosen_by_you"
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@ This adds [prometheus-nginxlog-exporter](https://github.com/martin-helmich/prome
|
|||||||
|
|
||||||
It will collect access logs from various nginx reverse-proxies which may be used internally (e.g. `matrix-synapse-reverse-proxy-companion`, if Synapse workers are enabled) and will make them available at a Prometheus-compatible `/metrics` endpoint.
|
It will collect access logs from various nginx reverse-proxies which may be used internally (e.g. `matrix-synapse-reverse-proxy-companion`, if Synapse workers are enabled) and will make them available at a Prometheus-compatible `/metrics` endpoint.
|
||||||
|
|
||||||
**NOTE**: nginx is only used internally by this Ansible playbook. With Traefik being our default reverse-proxy, collecting nginx metrics is less relevant.
|
**Note**: nginx is only used internally by this Ansible playbook. With Traefik being our default reverse-proxy, collecting nginx metrics is less relevant.
|
||||||
|
|
||||||
To make use of this, you need to install [Prometheus](./configuring-playbook-prometheus-grafana.md) either via the playbook or externally. When using an external Prometheus, configuration adjustments are necessary - see [Save metrics on an external Prometheus server](#save-metrics-on-an-external-prometheus-server).
|
To make use of this, you need to install [Prometheus](./configuring-playbook-prometheus-grafana.md) either via the playbook or externally. When using an external Prometheus, configuration adjustments are necessary - see [Save metrics on an external Prometheus server](#save-metrics-on-an-external-prometheus-server).
|
||||||
|
|
||||||
|
@ -65,7 +65,7 @@ You'll need an Amazon S3 bucket and some IAM user credentials (access key + secr
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
**NOTE**: This policy needs to be attached to an IAM user created from the **Security Credentials** menu. This is not a **Bucket Policy**.
|
**Note**: This policy needs to be attached to an IAM user created from the **Security Credentials** menu. This is not a **Bucket Policy**.
|
||||||
|
|
||||||
|
|
||||||
## Backblaze B2
|
## Backblaze B2
|
||||||
|
@ -10,7 +10,7 @@ Element X iOS is [available on TestFlight](https://testflight.apple.com/join/uZb
|
|||||||
|
|
||||||
Element X Android is [available on the Github Releases page](https://github.com/element-hq/element-x-android/releases).
|
Element X Android is [available on the Github Releases page](https://github.com/element-hq/element-x-android/releases).
|
||||||
|
|
||||||
**NOTE**: The sliding-sync proxy is **not required** when using the **Conduit homeserver**. Starting from version `0.6.0` Conduit has native support for some sliding sync features. If there are issues with the native implementation, you might have a better experience when enabling the sliding-sync proxy anyway.
|
**Note**: The sliding-sync proxy is **not required** when using the **Conduit homeserver**. Starting from version `0.6.0` Conduit has native support for some sliding sync features. If there are issues with the native implementation, you might have a better experience when enabling the sliding-sync proxy anyway.
|
||||||
|
|
||||||
## Decide on a domain and path
|
## Decide on a domain and path
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ The playbook can install and configure [synapse-auto-invite-accept](https://gith
|
|||||||
See that project's [documentation](https://github.com/matrix-org/synapse-auto-accept-invite) to learn what it does and why it might be useful to you.
|
See that project's [documentation](https://github.com/matrix-org/synapse-auto-accept-invite) to learn what it does and why it might be useful to you.
|
||||||
In short, it automatically accepts room invites. You can specify that only 1:1 room invites are auto-accepted. Defaults to false if not specified.
|
In short, it automatically accepts room invites. You can specify that only 1:1 room invites are auto-accepted. Defaults to false if not specified.
|
||||||
|
|
||||||
**NOTE**: Synapse [v1.109.0](https://github.com/element-hq/synapse/releases/tag/v1.109.0), the same feature [has been merged](https://github.com/element-hq/synapse/pull/17147) into Synapse (see the [Native alternative](#native-alternative) section below). You'd better use the native feature, instead of the [synapse-auto-invite-accept](https://github.com/matrix-org/synapse-auto-accept-invite) 3rd party module.
|
**Note**: Synapse [v1.109.0](https://github.com/element-hq/synapse/releases/tag/v1.109.0), the same feature [has been merged](https://github.com/element-hq/synapse/pull/17147) into Synapse (see the [Native alternative](#native-alternative) section below). You'd better use the native feature, instead of the [synapse-auto-invite-accept](https://github.com/matrix-org/synapse-auto-accept-invite) 3rd party module.
|
||||||
|
|
||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
@ -36,7 +36,7 @@ matrix_synapse_ext_synapse_s3_storage_provider_config_region_name: some-region-n
|
|||||||
matrix_synapse_ext_synapse_s3_storage_provider_config_endpoint_url: https://s3.REGION_NAME.amazonaws.com # adjust this
|
matrix_synapse_ext_synapse_s3_storage_provider_config_endpoint_url: https://s3.REGION_NAME.amazonaws.com # adjust this
|
||||||
matrix_synapse_ext_synapse_s3_storage_provider_config_storage_class: STANDARD # or STANDARD_IA, etc.
|
matrix_synapse_ext_synapse_s3_storage_provider_config_storage_class: STANDARD # or STANDARD_IA, etc.
|
||||||
|
|
||||||
# Authentication Method 1 - (access key id + secret)
|
# Authentication Method 1 - (access key ID + secret)
|
||||||
# This works on all providers (AWS and other compatible systems).
|
# This works on all providers (AWS and other compatible systems).
|
||||||
# Uncomment the variables below to use it.
|
# Uncomment the variables below to use it.
|
||||||
# matrix_synapse_ext_synapse_s3_storage_provider_config_access_key_id: access-key-goes-here
|
# matrix_synapse_ext_synapse_s3_storage_provider_config_access_key_id: access-key-goes-here
|
||||||
|
@ -16,7 +16,7 @@ UVS can be used to verify two claims:
|
|||||||
* (A) Whether a given OpenID token is valid for a given server and
|
* (A) Whether a given OpenID token is valid for a given server and
|
||||||
* (B) whether a user is member of a given room and the corresponding PowerLevel
|
* (B) whether a user is member of a given room and the corresponding PowerLevel
|
||||||
|
|
||||||
Verifying an OpenID token id done by finding the corresponding Homeserver via '.well-known/matrix/server' for the given domain.
|
Verifying an OpenID token ID done by finding the corresponding Homeserver via '.well-known/matrix/server' for the given domain.
|
||||||
The configured `matrix_user_verification_service_uvs_homeserver_url` does **not** factor into this.
|
The configured `matrix_user_verification_service_uvs_homeserver_url` does **not** factor into this.
|
||||||
By default, this playbook only checks against `matrix_server_fqn_matrix`.
|
By default, this playbook only checks against `matrix_server_fqn_matrix`.
|
||||||
Therefore, the request will be made against the public openid API for `matrix_server_fqn_matrix`.
|
Therefore, the request will be made against the public openid API for `matrix_server_fqn_matrix`.
|
||||||
|
@ -25,7 +25,7 @@ To learn how to set up `/.well-known/matrix/server`, read the Installing section
|
|||||||
|
|
||||||
## Introduction to Client Server Discovery
|
## Introduction to Client Server Discovery
|
||||||
|
|
||||||
Client Server Service discovery lets various client programs which support it, to receive a full user id (e.g. `@username:example.com`) and determine where the Matrix server is automatically (e.g. `https://matrix.example.com`).
|
Client Server Service discovery lets various client programs which support it, to receive a full user ID (e.g. `@username:example.com`) and determine where the Matrix server is automatically (e.g. `https://matrix.example.com`).
|
||||||
|
|
||||||
This lets you (and your users) easily connect to your Matrix server without having to customize connection URLs. When using client programs that support it, you won't need to point them to `https://matrix.example.com` in Custom Server options manually anymore. The connection URL would be discovered automatically from your full username.
|
This lets you (and your users) easily connect to your Matrix server without having to customize connection URLs. When using client programs that support it, you won't need to point them to `https://matrix.example.com` in Custom Server options manually anymore. The connection URL would be discovered automatically from your full username.
|
||||||
|
|
||||||
|
@ -35,7 +35,7 @@ Otherwise, you can decide to go against the default for this playbook, and inste
|
|||||||
|
|
||||||
## Server Delegation via a DNS SRV record (advanced)
|
## Server Delegation via a DNS SRV record (advanced)
|
||||||
|
|
||||||
**NOTE**: doing Server Delegation via a DNS SRV record is a more **advanced** way to do it and is not the default for this playbook. This is usually **much more complicated** to set up, so **we don't recommend it**. If you're not an experience sysadmin, you'd better stay away from this.
|
**Note**: doing Server Delegation via a DNS SRV record is a more **advanced** way to do it and is not the default for this playbook. This is usually **much more complicated** to set up, so **we don't recommend it**. If you're not an experience sysadmin, you'd better stay away from this.
|
||||||
|
|
||||||
As per the [Server-Server spec](https://matrix.org/docs/spec/server_server/r0.1.0.html#server-discovery), it's possible to do Server Delegation using only a SRV record (without a `/.well-known/matrix/server` file).
|
As per the [Server-Server spec](https://matrix.org/docs/spec/server_server/r0.1.0.html#server-discovery), it's possible to do Server Delegation using only a SRV record (without a `/.well-known/matrix/server` file).
|
||||||
|
|
||||||
|
@ -16,7 +16,7 @@ The up-to-date list can be accessed on [traefik's documentation](https://doc.tra
|
|||||||
|
|
||||||
## The changes
|
## The changes
|
||||||
|
|
||||||
**NOTE**: the changes below instruct you how to do this for a basic Synapse installation. You will need to adapt the variable name and the content of the labels:
|
**Note**: the changes below instruct you how to do this for a basic Synapse installation. You will need to adapt the variable name and the content of the labels:
|
||||||
|
|
||||||
- if you're using another homeserver implementation (e.g. [Conduit](./configuring-playbook-conduit.md) or [Dendrite](./configuring-playbook-dendrite.md))
|
- if you're using another homeserver implementation (e.g. [Conduit](./configuring-playbook-conduit.md) or [Dendrite](./configuring-playbook-dendrite.md))
|
||||||
- if you're using [Synapse with workers enabled](./configuring-playbook-synapse.md#load-balancing-with-workers) (`matrix_synapse_workers_enabled: true`). In that case, it's actually the `matrix-synapse-reverse-proxy-companion` service which has Traefik labels attached
|
- if you're using [Synapse with workers enabled](./configuring-playbook-synapse.md#load-balancing-with-workers) (`matrix_synapse_workers_enabled: true`). In that case, it's actually the `matrix-synapse-reverse-proxy-companion` service which has Traefik labels attached
|
||||||
|
@ -108,6 +108,6 @@ After you have started the services and **finalized the installation process** (
|
|||||||
- or learn how to [upgrade services when new versions are released](maintenance-upgrading-services.md)
|
- or learn how to [upgrade services when new versions are released](maintenance-upgrading-services.md)
|
||||||
- or learn how to [maintain your server](faq.md#maintenance)
|
- or learn how to [maintain your server](faq.md#maintenance)
|
||||||
- or join some Matrix rooms:
|
- or join some Matrix rooms:
|
||||||
* via the *Explore rooms* feature in Element or some other client, or by discovering them using this [matrix-static list](https://view.matrix.org). Note: joining large rooms may overload small servers.
|
* via the *Explore rooms* feature in Element or some other client, or by discovering them using this [matrix-static list](https://view.matrix.org). **Note**: joining large rooms may overload small servers.
|
||||||
* or come say Hi in our support room - [#matrix-docker-ansible-deploy:devture.com](https://matrix.to/#/#matrix-docker-ansible-deploy:devture.com). You might learn something or get to help someone else new to Matrix hosting.
|
* or come say Hi in our support room - [#matrix-docker-ansible-deploy:devture.com](https://matrix.to/#/#matrix-docker-ansible-deploy:devture.com). You might learn something or get to help someone else new to Matrix hosting.
|
||||||
- or help make this playbook better by contributing (code, documentation, or [coffee/beer](https://liberapay.com/s.pantaleev/donate))
|
- or help make this playbook better by contributing (code, documentation, or [coffee/beer](https://liberapay.com/s.pantaleev/donate))
|
||||||
|
@ -10,5 +10,5 @@
|
|||||||
4. Make sure your DNS records are adjusted to point to the new server's IP address
|
4. Make sure your DNS records are adjusted to point to the new server's IP address
|
||||||
5. Remove old server from the `inventory/hosts` file and add new server.
|
5. Remove old server from the `inventory/hosts` file and add new server.
|
||||||
6. Run `ansible-playbook -i inventory/hosts setup.yml --tags=setup-system-user`. This will create the `matrix` user and group on the new server
|
6. Run `ansible-playbook -i inventory/hosts setup.yml --tags=setup-system-user`. This will create the `matrix` user and group on the new server
|
||||||
7. Because the `matrix` user and group are created dynamically on each server, the user/group id may differ between the old and new server. We suggest that you adjust ownership of `/matrix` files manually by running this on the new server: `chown -R matrix:matrix /matrix`.
|
7. Because the `matrix` user and group are created dynamically on each server, the user/group ID may differ between the old and new server. We suggest that you adjust ownership of `/matrix` files manually by running this on the new server: `chown -R matrix:matrix /matrix`.
|
||||||
8. Run `ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start` to finish the installation and start all services
|
8. Run `ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start` to finish the installation and start all services
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
This directory contains a sample config that shows you how to front the integrated [Traefik](https://traefik.io/) reverse-proxy webserver with your own **containerized** [Caddy](https://caddyserver.com/) reverse-proxy. If you have a server with a Caddy container already serving several applications and you want to install Matrix on it (with no changes to existing traffic routing), then this guide is for you.
|
This directory contains a sample config that shows you how to front the integrated [Traefik](https://traefik.io/) reverse-proxy webserver with your own **containerized** [Caddy](https://caddyserver.com/) reverse-proxy. If you have a server with a Caddy container already serving several applications and you want to install Matrix on it (with no changes to existing traffic routing), then this guide is for you.
|
||||||
|
|
||||||
Note: if you're running Caddy on the host itself (not in a container), refer to the [caddy2](../caddy2/README.md) example instead.
|
**Note**: if you're running Caddy on the host itself (not in a container), refer to the [caddy2](../caddy2/README.md) example instead.
|
||||||
|
|
||||||
|
|
||||||
## Prerequisite configuration
|
## Prerequisite configuration
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
version: v4.98-r0-1-1
|
version: v4.98-r0-1-1
|
||||||
name: exim_relay
|
name: exim_relay
|
||||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-grafana.git
|
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-grafana.git
|
||||||
version: v11.1.7-0
|
version: v11.2.2-0
|
||||||
name: grafana
|
name: grafana
|
||||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-jitsi.git
|
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-jitsi.git
|
||||||
version: v9753-0
|
version: v9753-0
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
homeserver:
|
homeserver:
|
||||||
# The Matrix server name, this will be the name of the server in your matrix id.
|
# The Matrix server name, this will be the name of the server in your matrix ID.
|
||||||
domain: "{{ matrix_domain }}"
|
domain: "{{ matrix_domain }}"
|
||||||
# The url for the appservice to call the client server API from.
|
# The url for the appservice to call the client server API from.
|
||||||
url: "{{ matrix_homeserver_url }}"
|
url: "{{ matrix_homeserver_url }}"
|
||||||
@ -15,4 +15,4 @@ adminRoom: "{{ matrix_appservice_draupnir_for_all_master_control_room_alias }}"
|
|||||||
|
|
||||||
# This is a web api that the widget connects to in order to interact with the appservice.
|
# This is a web api that the widget connects to in order to interact with the appservice.
|
||||||
webAPI:
|
webAPI:
|
||||||
port: 9000
|
port: 9000
|
||||||
|
@ -139,8 +139,8 @@ matrix_user_username: "matrix"
|
|||||||
matrix_user_groupname: "matrix"
|
matrix_user_groupname: "matrix"
|
||||||
|
|
||||||
# By default, the playbook creates the user (`matrix_user_username`)
|
# By default, the playbook creates the user (`matrix_user_username`)
|
||||||
# and group (`matrix_user_groupname`) with a random id.
|
# and group (`matrix_user_groupname`) with a random ID.
|
||||||
# To use a specific user/group id, override these variables.
|
# To use a specific user/group ID, override these variables.
|
||||||
matrix_user_uid: ~
|
matrix_user_uid: ~
|
||||||
matrix_user_gid: ~
|
matrix_user_gid: ~
|
||||||
|
|
||||||
|
@ -156,10 +156,10 @@ matrix_bot_honoroit_healthchecks_duration: 60 # in seconds
|
|||||||
matrix_bot_honoroit_redmine_host: '' # e.g. https://redmine.example.com
|
matrix_bot_honoroit_redmine_host: '' # e.g. https://redmine.example.com
|
||||||
matrix_bot_honoroit_redmine_apikey: ''
|
matrix_bot_honoroit_redmine_apikey: ''
|
||||||
matrix_bot_honoroit_redmine_project: '' # project identifier (e.g. 'myproject')
|
matrix_bot_honoroit_redmine_project: '' # project identifier (e.g. 'myproject')
|
||||||
matrix_bot_honoroit_redmine_tracker_id: '' # tracker id (e.g. 1)
|
matrix_bot_honoroit_redmine_tracker_id: '' # tracker ID (e.g. 1)
|
||||||
matrix_bot_honoroit_redmine_new_status_id: '' # new status id (e.g. 1)
|
matrix_bot_honoroit_redmine_new_status_id: '' # new status ID (e.g. 1)
|
||||||
matrix_bot_honoroit_redmine_in_progress_status_id: '' # in progress status id (e.g. 2)
|
matrix_bot_honoroit_redmine_in_progress_status_id: '' # in progress status ID (e.g. 2)
|
||||||
matrix_bot_honoroit_redmine_done_status_id: '' # done status id (e.g. 3)
|
matrix_bot_honoroit_redmine_done_status_id: '' # done status ID (e.g. 3)
|
||||||
|
|
||||||
# A list of whitelisted users allowed to use/invite honoroit
|
# A list of whitelisted users allowed to use/invite honoroit
|
||||||
# If not defined, everyone is allowed.
|
# If not defined, everyone is allowed.
|
||||||
|
@ -412,7 +412,7 @@ matrix_appservice_irc_configuration: "{{ matrix_appservice_irc_configuration_yam
|
|||||||
#
|
#
|
||||||
# We do this to ensure consistency:
|
# We do this to ensure consistency:
|
||||||
# - always having an up-to-date registration.yaml file (synced with the configuration file)
|
# - always having an up-to-date registration.yaml file (synced with the configuration file)
|
||||||
# - always having the same AS/HS token and appservice id in the registration.yaml file
|
# - always having the same AS/HS token and appservice ID in the registration.yaml file
|
||||||
#
|
#
|
||||||
# Learn more about this in `setup_install.yml`
|
# Learn more about this in `setup_install.yml`
|
||||||
matrix_appservice_irc_registration_override_yaml: |
|
matrix_appservice_irc_registration_override_yaml: |
|
||||||
|
@ -73,6 +73,6 @@
|
|||||||
devture_playbook_runtime_messages_list | default([])
|
devture_playbook_runtime_messages_list | default([])
|
||||||
+
|
+
|
||||||
[
|
[
|
||||||
"NOTE: Your appservice-irc database files have been imported into Postgres. The original database files have been moved from `{{ matrix_appservice_irc_data_path }}/*.db` to `{{ matrix_appservice_irc_data_path }}/*.db.backup`. When you've confirmed that the import went well and everything works, you should be able to safely delete these files."
|
"Note: Your appservice-irc database files have been imported into Postgres. The original database files have been moved from `{{ matrix_appservice_irc_data_path }}/*.db` to `{{ matrix_appservice_irc_data_path }}/*.db.backup`. When you've confirmed that the import went well and everything works, you should be able to safely delete these files."
|
||||||
]
|
]
|
||||||
}}
|
}}
|
||||||
|
@ -69,6 +69,6 @@
|
|||||||
devture_playbook_runtime_messages_list | default([])
|
devture_playbook_runtime_messages_list | default([])
|
||||||
+
|
+
|
||||||
[
|
[
|
||||||
"NOTE: Your appservice-slack database files have been imported into Postgres. The original database files have been moved from `{{ matrix_appservice_slack_data_path }}/*.db` to `{{ matrix_appservice_slack_data_path }}/*.db.backup`. When you've confirmed that the import went well and everything works, you should be able to safely delete these files."
|
"Note: Your appservice-slack database files have been imported into Postgres. The original database files have been moved from `{{ matrix_appservice_slack_data_path }}/*.db` to `{{ matrix_appservice_slack_data_path }}/*.db.backup`. When you've confirmed that the import went well and everything works, you should be able to safely delete these files."
|
||||||
]
|
]
|
||||||
}}
|
}}
|
||||||
|
@ -34,6 +34,6 @@
|
|||||||
devture_playbook_runtime_messages_list | default([])
|
devture_playbook_runtime_messages_list | default([])
|
||||||
+
|
+
|
||||||
[
|
[
|
||||||
"NOTE: Your mautrix-facebook bridge is still on SQLite and on the last version that supported it, before support was dropped. Support has been subsequently re-added in v0.3.2, so we advise you to upgrade (by removing your `matrix_mautrix_facebook_docker_image` definition from vars.yml)"
|
"Note: Your mautrix-facebook bridge is still on SQLite and on the last version that supported it, before support was dropped. Support has been subsequently re-added in v0.3.2, so we advise you to upgrade (by removing your `matrix_mautrix_facebook_docker_image` definition from vars.yml)"
|
||||||
]
|
]
|
||||||
}}
|
}}
|
||||||
|
@ -9,7 +9,7 @@ network:
|
|||||||
# * messenger - connect to FB Messenger via messenger.com (can be used with the facebook side deactivated)
|
# * messenger - connect to FB Messenger via messenger.com (can be used with the facebook side deactivated)
|
||||||
# * instagram - connect to Instagram DMs via instagram.com
|
# * instagram - connect to Instagram DMs via instagram.com
|
||||||
#
|
#
|
||||||
# Remember to change the appservice id, bot profile info, bridge username_template and management_room_text too.
|
# Remember to change the appservice ID, bot profile info, bridge username_template and management_room_text too.
|
||||||
mode: {{ matrix_mautrix_meta_instagram_meta_mode | to_json }}
|
mode: {{ matrix_mautrix_meta_instagram_meta_mode | to_json }}
|
||||||
|
|
||||||
# When in Instagram mode, should the bridge connect to WhatsApp servers for encrypted chats?
|
# When in Instagram mode, should the bridge connect to WhatsApp servers for encrypted chats?
|
||||||
|
@ -9,7 +9,7 @@ network:
|
|||||||
# * messenger - connect to FB Messenger via messenger.com (can be used with the facebook side deactivated)
|
# * messenger - connect to FB Messenger via messenger.com (can be used with the facebook side deactivated)
|
||||||
# * instagram - connect to Instagram DMs via instagram.com
|
# * instagram - connect to Instagram DMs via instagram.com
|
||||||
#
|
#
|
||||||
# Remember to change the appservice id, bot profile info, bridge username_template and management_room_text too.
|
# Remember to change the appservice ID, bot profile info, bridge username_template and management_room_text too.
|
||||||
mode: {{ matrix_mautrix_meta_messenger_meta_mode | to_json }}
|
mode: {{ matrix_mautrix_meta_messenger_meta_mode | to_json }}
|
||||||
|
|
||||||
# When in Instagram mode, should the bridge connect to WhatsApp servers for encrypted chats?
|
# When in Instagram mode, should the bridge connect to WhatsApp servers for encrypted chats?
|
||||||
|
@ -10,7 +10,7 @@ url: "http://matrix-cactus-comments:{{ matrix_cactus_comments_container_port }}"
|
|||||||
as_token: {{ matrix_cactus_comments_as_token | to_json }}
|
as_token: {{ matrix_cactus_comments_as_token | to_json }}
|
||||||
hs_token: {{ matrix_cactus_comments_hs_token | to_json }}
|
hs_token: {{ matrix_cactus_comments_hs_token | to_json }}
|
||||||
|
|
||||||
# The user id of the cactusbot which can be used to register and moderate sites
|
# The user ID of the cactusbot which can be used to register and moderate sites
|
||||||
sender_localpart: "{{ matrix_cactus_comments_user_id }}"
|
sender_localpart: "{{ matrix_cactus_comments_user_id }}"
|
||||||
|
|
||||||
namespaces:
|
namespaces:
|
||||||
|
@ -11,7 +11,7 @@ matrix_client_element_container_image_self_build_repo: "https://github.com/eleme
|
|||||||
matrix_client_element_container_image_self_build_low_memory_system_patch_enabled: "{{ ansible_memtotal_mb < 4096 }}"
|
matrix_client_element_container_image_self_build_low_memory_system_patch_enabled: "{{ ansible_memtotal_mb < 4096 }}"
|
||||||
|
|
||||||
# renovate: datasource=docker depName=vectorim/element-web
|
# renovate: datasource=docker depName=vectorim/element-web
|
||||||
matrix_client_element_version: v1.11.80
|
matrix_client_element_version: v1.11.81
|
||||||
|
|
||||||
matrix_client_element_docker_image: "{{ matrix_client_element_docker_image_name_prefix }}vectorim/element-web:{{ matrix_client_element_version }}"
|
matrix_client_element_docker_image: "{{ matrix_client_element_docker_image_name_prefix }}vectorim/element-web:{{ matrix_client_element_version }}"
|
||||||
matrix_client_element_docker_image_name_prefix: "{{ 'localhost/' if matrix_client_element_container_image_self_build else matrix_container_global_registry_prefix }}"
|
matrix_client_element_docker_image_name_prefix: "{{ 'localhost/' if matrix_client_element_container_image_self_build else matrix_container_global_registry_prefix }}"
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
[global]
|
[global]
|
||||||
# The server_name is the pretty name of this server. It is used as a suffix for user
|
# The server_name is the pretty name of this server. It is used as a suffix for user
|
||||||
# and room ids. Examples: matrix.org, conduit.rs
|
# and room IDs. Examples: matrix.org, conduit.rs
|
||||||
|
|
||||||
# The Conduit server needs all /_matrix/ requests to be reachable at
|
# The Conduit server needs all /_matrix/ requests to be reachable at
|
||||||
# https://your.server.name/ on port 443 (client-server) and 8448 (federation).
|
# https://your.server.name/ on port 443 (client-server) and 8448 (federation).
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
ansible.builtin.fail:
|
ansible.builtin.fail:
|
||||||
msg: "To use the external IP address auto-detection feature, you need to set matrix_coturn_turn_external_ip_address_auto_detection_echoip_service_url"
|
msg: "To use the external IP address auto-detection feature, you need to set matrix_coturn_turn_external_ip_address_auto_detection_echoip_service_url"
|
||||||
|
|
||||||
# NOTE:
|
# Note:
|
||||||
# `ansible.builtin.uri` does not provide a way to configure whether IPv4 or IPv6 is used.
|
# `ansible.builtin.uri` does not provide a way to configure whether IPv4 or IPv6 is used.
|
||||||
# Luckily, the default instance we use does not define AAAA records for now, so it's always IPv4.
|
# Luckily, the default instance we use does not define AAAA records for now, so it's always IPv4.
|
||||||
- name: Fetch IP address information from EchoIP service
|
- name: Fetch IP address information from EchoIP service
|
||||||
|
@ -44,7 +44,7 @@ matrix_dimension_systemd_required_services_list_custom: []
|
|||||||
# List of systemd services that matrix-dimension.service wants
|
# List of systemd services that matrix-dimension.service wants
|
||||||
matrix_dimension_systemd_wanted_services_list: []
|
matrix_dimension_systemd_wanted_services_list: []
|
||||||
|
|
||||||
# The user and group id correspond to the node user in the `turt2live/matrix-dimension` image.
|
# The user and group ID correspond to the node user in the `turt2live/matrix-dimension` image.
|
||||||
matrix_dimension_user_uid: '1000'
|
matrix_dimension_user_uid: '1000'
|
||||||
matrix_dimension_user_gid: '1000'
|
matrix_dimension_user_gid: '1000'
|
||||||
|
|
||||||
|
@ -87,7 +87,7 @@ matrix_prometheus_nginxlog_exporter_container_http_host_bind_port: ''
|
|||||||
# Controls whether the matrix-prometheus_nginxlog_exporter container exposes its SYSLOG port (udp/6514 in the container).
|
# Controls whether the matrix-prometheus_nginxlog_exporter container exposes its SYSLOG port (udp/6514 in the container).
|
||||||
#
|
#
|
||||||
# Takes an "<ip>:<port>" or "<port>" value (e.g. "127.0.0.1:6514"), or empty string to not expose.
|
# Takes an "<ip>:<port>" or "<port>" value (e.g. "127.0.0.1:6514"), or empty string to not expose.
|
||||||
# NOTE: is an UDP connection!
|
# Note: is an UDP connection!
|
||||||
matrix_prometheus_nginxlog_exporter_container_syslog_host_bind_port: ''
|
matrix_prometheus_nginxlog_exporter_container_syslog_host_bind_port: ''
|
||||||
|
|
||||||
matrix_prometheus_nginxlog_exporter_config_namespaces_matrix_source_tags: "{{ matrix_prometheus_nginxlog_exporter_config_namespaces_matrix_source_tags_auto + matrix_prometheus_nginxlog_exporter_config_namespaces_matrix_source_tags_custom }}"
|
matrix_prometheus_nginxlog_exporter_config_namespaces_matrix_source_tags: "{{ matrix_prometheus_nginxlog_exporter_config_namespaces_matrix_source_tags_auto + matrix_prometheus_nginxlog_exporter_config_namespaces_matrix_source_tags_custom }}"
|
||||||
|
@ -16,7 +16,7 @@ matrix_synapse_enabled: true
|
|||||||
matrix_synapse_github_org_and_repo: element-hq/synapse
|
matrix_synapse_github_org_and_repo: element-hq/synapse
|
||||||
|
|
||||||
# renovate: datasource=docker depName=ghcr.io/element-hq/synapse
|
# renovate: datasource=docker depName=ghcr.io/element-hq/synapse
|
||||||
matrix_synapse_version: v1.116.0
|
matrix_synapse_version: v1.117.0
|
||||||
|
|
||||||
matrix_synapse_username: ''
|
matrix_synapse_username: ''
|
||||||
matrix_synapse_uid: ''
|
matrix_synapse_uid: ''
|
||||||
@ -547,9 +547,9 @@ matrix_synapse_auto_join_rooms: []
|
|||||||
# automatically if they don't already exist.
|
# automatically if they don't already exist.
|
||||||
matrix_synapse_autocreate_auto_join_rooms: true
|
matrix_synapse_autocreate_auto_join_rooms: true
|
||||||
|
|
||||||
# The local part of the user id which is used to create auto-join rooms if `matrix_synapse_autocreate_auto_join_rooms` is true.
|
# The local part of the user ID which is used to create auto-join rooms if `matrix_synapse_autocreate_auto_join_rooms` is true.
|
||||||
# Defaults to the initial user account that registers.
|
# Defaults to the initial user account that registers.
|
||||||
# The user id is also used to invite new users to any auto-join rooms which are set to invite-only.
|
# The user ID is also used to invite new users to any auto-join rooms which are set to invite-only.
|
||||||
matrix_synapse_auto_join_mxid_localpart: ''
|
matrix_synapse_auto_join_mxid_localpart: ''
|
||||||
|
|
||||||
# Controls whether room invites will be accepted on behalf of users.
|
# Controls whether room invites will be accepted on behalf of users.
|
||||||
@ -832,7 +832,7 @@ matrix_synapse_worker_container_labels_traefik_hostname: "{{ matrix_synapse_cont
|
|||||||
|
|
||||||
# Controls whether labels will be added that expose metrics (see `matrix_synapse_metrics_proxying_enabled`)
|
# Controls whether labels will be added that expose metrics (see `matrix_synapse_metrics_proxying_enabled`)
|
||||||
matrix_synapse_worker_container_labels_public_metrics_enabled: "{{ matrix_synapse_metrics_enabled and matrix_synapse_metrics_proxying_enabled }}"
|
matrix_synapse_worker_container_labels_public_metrics_enabled: "{{ matrix_synapse_metrics_enabled and matrix_synapse_metrics_proxying_enabled }}"
|
||||||
# The `__WORKER_ID__` placeholder will be replaced with the actual worker id during label-file generation (see `../templates/worker-labels.j2`).
|
# The `__WORKER_ID__` placeholder will be replaced with the actual worker ID during label-file generation (see `../templates/worker-labels.j2`).
|
||||||
matrix_synapse_worker_container_labels_public_metrics_traefik_path: "{{ matrix_synapse_metrics_proxying_path_prefix }}/worker/__WORKER_ID__"
|
matrix_synapse_worker_container_labels_public_metrics_traefik_path: "{{ matrix_synapse_metrics_proxying_path_prefix }}/worker/__WORKER_ID__"
|
||||||
matrix_synapse_worker_container_labels_public_metrics_traefik_rule: "Host(`{{ matrix_synapse_metrics_proxying_hostname }}`) && Path(`{{ matrix_synapse_worker_container_labels_public_metrics_traefik_path }}`)"
|
matrix_synapse_worker_container_labels_public_metrics_traefik_rule: "Host(`{{ matrix_synapse_metrics_proxying_hostname }}`) && Path(`{{ matrix_synapse_worker_container_labels_public_metrics_traefik_path }}`)"
|
||||||
matrix_synapse_worker_container_labels_public_metrics_traefik_priority: 0
|
matrix_synapse_worker_container_labels_public_metrics_traefik_priority: 0
|
||||||
@ -1210,7 +1210,7 @@ matrix_synapse_ext_encryption_disabler_download_url: "https://raw.githubusercont
|
|||||||
# A list of server domain names for which to deny encryption if the event sender's domain matches the domain in the list.
|
# A list of server domain names for which to deny encryption if the event sender's domain matches the domain in the list.
|
||||||
# By default, with the configuration below, we prevent all homeserver users from initiating encryption in ANY room.
|
# By default, with the configuration below, we prevent all homeserver users from initiating encryption in ANY room.
|
||||||
matrix_synapse_ext_encryption_disabler_deny_encryption_for_users_of: ["{{ matrix_domain }}"]
|
matrix_synapse_ext_encryption_disabler_deny_encryption_for_users_of: ["{{ matrix_domain }}"]
|
||||||
# A list of server domain names for which to deny encryption if the destination room id's domain matches the domain in the list.
|
# A list of server domain names for which to deny encryption if the destination room ID's domain matches the domain in the list.
|
||||||
# By default, with the configuration below, we prevent locally-created encryption events by ANY user encrypt rooms on the homeserver.
|
# By default, with the configuration below, we prevent locally-created encryption events by ANY user encrypt rooms on the homeserver.
|
||||||
# Note: foreign users with enough room privileges will still be able to send an encryption event to your rooms and encrypt them.
|
# Note: foreign users with enough room privileges will still be able to send an encryption event to your rooms and encrypt them.
|
||||||
matrix_synapse_ext_encryption_disabler_deny_encryption_for_rooms_of: ["{{ matrix_domain }}"]
|
matrix_synapse_ext_encryption_disabler_deny_encryption_for_rooms_of: ["{{ matrix_domain }}"]
|
||||||
|
@ -1531,11 +1531,11 @@ autocreate_auto_join_rooms: {{ matrix_synapse_autocreate_auto_join_rooms|to_json
|
|||||||
#
|
#
|
||||||
#autocreate_auto_join_room_preset: private_chat
|
#autocreate_auto_join_room_preset: private_chat
|
||||||
|
|
||||||
# The local part of the user id which is used to create auto_join_rooms if
|
# The local part of the user ID which is used to create auto_join_rooms if
|
||||||
# autocreate_auto_join_rooms is true. If this is not provided then the
|
# autocreate_auto_join_rooms is true. If this is not provided then the
|
||||||
# initial user account that registers will be used to create the rooms.
|
# initial user account that registers will be used to create the rooms.
|
||||||
#
|
#
|
||||||
# The user id is also used to invite new users to any auto-join rooms which
|
# The user ID is also used to invite new users to any auto-join rooms which
|
||||||
# are set to invite-only.
|
# are set to invite-only.
|
||||||
#
|
#
|
||||||
# It *must* be configured if autocreate_auto_join_room_preset is set to
|
# It *must* be configured if autocreate_auto_join_room_preset is set to
|
||||||
@ -1581,7 +1581,7 @@ auto_accept_invites:
|
|||||||
enable_metrics: {{ matrix_synapse_metrics_enabled|to_json }}
|
enable_metrics: {{ matrix_synapse_metrics_enabled|to_json }}
|
||||||
|
|
||||||
# Enable sentry integration
|
# Enable sentry integration
|
||||||
# NOTE: While attempts are made to ensure that the logs don't contain
|
# Note: While attempts are made to ensure that the logs don't contain
|
||||||
# any sensitive information, this cannot be guaranteed. By enabling
|
# any sensitive information, this cannot be guaranteed. By enabling
|
||||||
# this option the sentry server may therefore receive sensitive
|
# this option the sentry server may therefore receive sensitive
|
||||||
# information, and it in turn may then diseminate sensitive information
|
# information, and it in turn may then diseminate sensitive information
|
||||||
@ -1728,7 +1728,7 @@ old_signing_keys:
|
|||||||
#
|
#
|
||||||
# server_name: the name of the server. required.
|
# server_name: the name of the server. required.
|
||||||
#
|
#
|
||||||
# verify_keys: an optional map from key id to base64-encoded public key.
|
# verify_keys: an optional map from key ID to base64-encoded public key.
|
||||||
# If specified, we will check that the response is signed by at least
|
# If specified, we will check that the response is signed by at least
|
||||||
# one of the given keys.
|
# one of the given keys.
|
||||||
#
|
#
|
||||||
@ -1976,7 +1976,7 @@ saml2_config:
|
|||||||
# issuer: Required. The OIDC issuer. Used to validate tokens and (if discovery
|
# issuer: Required. The OIDC issuer. Used to validate tokens and (if discovery
|
||||||
# is enabled) to discover the provider's endpoints.
|
# is enabled) to discover the provider's endpoints.
|
||||||
#
|
#
|
||||||
# client_id: Required. oauth2 client id to use.
|
# client_id: Required. oauth2 client ID to use.
|
||||||
#
|
#
|
||||||
# client_secret: oauth2 client secret to use. May be omitted if
|
# client_secret: oauth2 client secret to use. May be omitted if
|
||||||
# client_secret_jwt_key is given, or if client_auth_method is 'none'.
|
# client_secret_jwt_key is given, or if client_auth_method is 'none'.
|
||||||
@ -2720,10 +2720,10 @@ stats:
|
|||||||
#
|
#
|
||||||
# Uncomment this section to enable a room which can be used to send notices
|
# Uncomment this section to enable a room which can be used to send notices
|
||||||
# from the server to users. It is a special room which cannot be left; notices
|
# from the server to users. It is a special room which cannot be left; notices
|
||||||
# come from a special "notices" user id.
|
# come from a special "notices" user ID.
|
||||||
#
|
#
|
||||||
# If you uncomment this section, you *must* define the system_mxid_localpart
|
# If you uncomment this section, you *must* define the system_mxid_localpart
|
||||||
# setting, which defines the id of the user which will be used to send the
|
# setting, which defines the ID of the user which will be used to send the
|
||||||
# notices.
|
# notices.
|
||||||
#
|
#
|
||||||
# It's also possible to override the room name, the display name of the
|
# It's also possible to override the room name, the display name of the
|
||||||
|
@ -8,7 +8,7 @@ matrix_synapse_media_store_directory_name: "{{ matrix_synapse_media_store_path |
|
|||||||
# Optionally: `false` to fully disable tls on outbound smtp
|
# Optionally: `false` to fully disable tls on outbound smtp
|
||||||
matrix_synapse_email_smtp_enable_tls: true
|
matrix_synapse_email_smtp_enable_tls: true
|
||||||
|
|
||||||
# Room workers handle any URL that contains a room id, either through the client-server API or the federation API
|
# Room workers handle any URL that contains a room ID, either through the client-server API or the federation API
|
||||||
# - see https://tcpipuk.github.io/synapse/deployment/nginx.html#locationsconf
|
# - see https://tcpipuk.github.io/synapse/deployment/nginx.html#locationsconf
|
||||||
matrix_synapse_workers_room_worker_client_server_endpoints:
|
matrix_synapse_workers_room_worker_client_server_endpoints:
|
||||||
- ^/_matrix/client/.*?!(?<room>[A-Za-z0-9._=\-\/]+):[A-Za-z0-9.\-]+
|
- ^/_matrix/client/.*?!(?<room>[A-Za-z0-9._=\-\/]+):[A-Za-z0-9.\-]+
|
||||||
|
Loading…
x
Reference in New Issue
Block a user