Compare commits

...

20 Commits

Author SHA1 Message Date
Slavi Pantaleev
c5e6873e4b
Merge pull request #3655 from luixxiul/fix
Update docs/registering-users.md: use common expressions for playbook configuration and installation
2024-10-21 18:09:04 +03:00
Suguru Hirahara
cfed646149
Update docs/registering-users.md: use common expressions for playbook configuration and installation
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-10-22 00:01:46 +09:00
Slavi Pantaleev
9141274f59
Merge pull request #3653 from luixxiul/fix
Update room IDs and alias with ones on the Matrix Specification
2024-10-21 16:22:17 +03:00
Suguru Hirahara
159daa7466
Use a room alias on Matrix Specification
"#matrix:example.org" is used as an example of a room alias on https://spec.matrix.org/v1.12/#room-aliases

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-10-21 22:00:32 +09:00
Suguru Hirahara
da07b302fa
Replace !anotherRoom with !aaabaa
!aaabaa is used as an example of a room ID on https://spec.matrix.org/v1.12/#room-aliases

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-10-21 21:48:46 +09:00
Suguru Hirahara
5fc2e2f1f9
Replace !anotherroom with !anotherRoom
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-10-21 21:48:29 +09:00
Suguru Hirahara
0593edbb1a
Replace !example:example.org and !example:example.com with !qporfwt:example.com
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-10-21 21:48:09 +09:00
Suguru Hirahara
aaa6335053
Replace !someRoom with !qporfwt
!qporfwt is used as an example of a room ID on https://spec.matrix.org/v1.12/#room-structure

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-10-21 21:47:52 +09:00
Suguru Hirahara
1e8030810f
Update internal room ID: !someRoom
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-10-21 21:47:02 +09:00
Suguru Hirahara
d152bbcd0c
Replace :matrix.org with :example.com
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-10-21 21:43:02 +09:00
Suguru Hirahara
65967dd52e
Replace :SERVER with :example.com
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-10-21 21:42:56 +09:00
Suguru Hirahara
ec1b18cf6e
Fix internal room ID: id → example.com
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-10-21 21:42:35 +09:00
Suguru Hirahara
ebd4463654
Fix internal room ID: room.id → example.com
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-10-21 21:42:06 +09:00
Slavi Pantaleev
a7ab6e74f8
Merge pull request #3652 from luixxiul/fix
Update docs/configuring-dns: fix an incorrect anchor link
2024-10-21 14:56:34 +03:00
Suguru Hirahara
81a4ef54aa
Update docs/configuring-dns: fix an incorrect anchor link
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-10-21 20:45:02 +09:00
Slavi Pantaleev
7b35beb843 Get rid of some double spaces 2024-10-21 14:31:53 +03:00
Slavi Pantaleev
2a73ea4ae5
Merge pull request #3650 from aine-etke/patch-792975
do not create MAS DB if MAS is disabled
2024-10-21 14:29:49 +03:00
Slavi Pantaleev
17f98f005e Upgrade Hydrogen (v0.5.0 -> v0.5.1) 2024-10-21 14:29:04 +03:00
Slavi Pantaleev
a897841f9b Add missing usage of matrix_authentication_service_syn2mas_process_extra_arguments when constructing matrix_authentication_service_syn2mas_migration_command 2024-10-21 14:26:41 +03:00
Aine
b9ca98d1e3
do not create MAS DB if MAS is disabled 2024-10-21 13:54:38 +03:00
28 changed files with 59 additions and 60 deletions

View File

@ -927,7 +927,7 @@ Until now, we've been doing the migration gradually and keeping full backward co
Each change we do and each new feature that comes in needs to support all these different ways of reverse-proxying. Because `matrix-nginx-proxy` was the default and pretty much everyone was (and still is) using it, means that new PRs also come with `matrix-nginx-proxy` as their main focus and Traefik as an afterthought, which means we need to spend hours fixing up Traefik support. Each change we do and each new feature that comes in needs to support all these different ways of reverse-proxying. Because `matrix-nginx-proxy` was the default and pretty much everyone was (and still is) using it, means that new PRs also come with `matrix-nginx-proxy` as their main focus and Traefik as an afterthought, which means we need to spend hours fixing up Traefik support.
We can't spend all this time maintaining so many different configurations anymore. Traefik support has been an option for 2 weeks and lots of people have already migrated their server and have tested things out. Traefik is what we use and preferentially test for. We can't spend all this time maintaining so many different configurations anymore. Traefik support has been an option for 2 weeks and lots of people have already migrated their server and have tested things out. Traefik is what we use and preferentially test for.
It's time for the **next step in our migration process** to Traefik and elimination of `matrix-nginx-proxy`: It's time for the **next step in our migration process** to Traefik and elimination of `matrix-nginx-proxy`:

View File

@ -10,7 +10,7 @@ over to `matrix.example.com`.
As we discuss in [Server Delegation](howto-server-delegation.md), there are 2 different ways to set up such delegation: As we discuss in [Server Delegation](howto-server-delegation.md), there are 2 different ways to set up such delegation:
- either by serving a `https://example.com/.well-known/matrix/server` file (from the base domain!) - either by serving a `https://example.com/.well-known/matrix/server` file (from the base domain!)
- or by using a `_matrix._tcp` DNS SRV record (don't confuse this with the `_matrix-identity._tcp` SRV record described below) - or by using a `_matrix._tcp` DNS SRV record (don't confuse this with the `_matrix-identity._tcp` SRV record described below)
This playbook mostly discusses the well-known file method, because it's easier to manage with regard to certificates. This playbook mostly discusses the well-known file method, because it's easier to manage with regard to certificates.
If you decide to go with the alternative method ([Server Delegation via a DNS SRV record (advanced)](howto-server-delegation.md#server-delegation-via-a-dns-srv-record-advanced)), please be aware that the general flow that this playbook guides you through may not match what you need to do. If you decide to go with the alternative method ([Server Delegation via a DNS SRV record (advanced)](howto-server-delegation.md#server-delegation-via-a-dns-srv-record-advanced)), please be aware that the general flow that this playbook guides you through may not match what you need to do.
@ -84,7 +84,7 @@ The `wsproxy.example.com` subdomain may be necessary, because this playbook coul
The `buscarron.example.com` subdomain may be necessary, because this playbook could install the [buscarron](https://github.com/etkecc/buscarron) bot. The installation of buscarron is disabled by default, it is not a core required component. To learn how to install it, see our [configuring buscarron guide](configuring-playbook-bot-buscarron.md). If you do not wish to set up buscarron, feel free to skip the `buscarron.example.com` DNS record. The `buscarron.example.com` subdomain may be necessary, because this playbook could install the [buscarron](https://github.com/etkecc/buscarron) bot. The installation of buscarron is disabled by default, it is not a core required component. To learn how to install it, see our [configuring buscarron guide](configuring-playbook-bot-buscarron.md). If you do not wish to set up buscarron, feel free to skip the `buscarron.example.com` DNS record.
The `rageshake.example.com` subdomain may be necessary, because this playbook could install the [rageshake](https://github.com/matrix-org/rageshake) bug report server. The installation of Rageshake is disabled by default, it is not a core required component. To learn how to install it, see our [configuring Rageshake guide](docs/configuring-playbook-rageshake.md). If you do not wish to set up Rageshake, feel free to skip the `rageshake.example.com` DNS record. The `rageshake.example.com` subdomain may be necessary, because this playbook could install the [rageshake](https://github.com/matrix-org/rageshake) bug report server. The installation of Rageshake is disabled by default, it is not a core required component. To learn how to install it, see our [configuring Rageshake guide](configuring-playbook-rageshake.md). If you do not wish to set up Rageshake, feel free to skip the `rageshake.example.com` DNS record.
## `_matrix-identity._tcp` SRV record setup ## `_matrix-identity._tcp` SRV record setup

View File

@ -25,12 +25,12 @@ matrix_alertmanager_receiver_config_matrix_access_token: ''
# Optionally, configure some mappings (URL-friendly room name -> actual Matrix room ID). # Optionally, configure some mappings (URL-friendly room name -> actual Matrix room ID).
# #
# If you don't configure mappings, you can still deliver alerts using URLs like this: # If you don't configure mappings, you can still deliver alerts using URLs like this:
# https://matrix.example.com/matrix-alertmanager-receiver-RANDOM_VALUE_HERE/alert/!some-room-id:example.com # https://matrix.example.com/matrix-alertmanager-receiver-RANDOM_VALUE_HERE/alert/!qporfwt:example.com
# #
# If a mapping like the one below is configured, you can deliver alerts using friendlier URLs like this: # If a mapping like the one below is configured, you can deliver alerts using friendlier URLs like this:
# https://matrix.example.com/matrix-alertmanager-receiver-RANDOM_VALUE_HERE/alert/some-room-name # https://matrix.example.com/matrix-alertmanager-receiver-RANDOM_VALUE_HERE/alert/some-room-name
matrix_alertmanager_receiver_config_matrix_room_mapping: matrix_alertmanager_receiver_config_matrix_room_mapping:
some-room-name: "!some-room-id:{{ matrix_domain }}" some-room-name: "!qporfwt:{{ matrix_domain }}"
``` ```
See `roles/custom/matrix-alertmanager-receiver/defaults/main.yml` for additional configuration variables. See `roles/custom/matrix-alertmanager-receiver/defaults/main.yml` for additional configuration variables.
@ -102,6 +102,6 @@ route:
- receiver: matrix - receiver: matrix
``` ```
.. 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/!some-room-id:example.com`. .. 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`.
This bot does **not** accept room invitations automatically (like many other bots do). To deliver messages to rooms, **the bot must be joined to all rooms manually** - see Step 5 of the [Account and room preparation](#account-and-room-preparation) section. This bot does **not** accept room invitations automatically (like many other bots do). To deliver messages to rooms, **the bot must be joined to all rooms manually** - see Step 5 of the [Account and room preparation](#account-and-room-preparation) section.

View File

@ -20,7 +20,7 @@ matrix_bot_buscarron_password: PASSWORD_FOR_THE_BOT
# Adjust accepted forms # Adjust accepted forms
matrix_bot_buscarron_forms: matrix_bot_buscarron_forms:
- name: contact # (mandatory) Your form name, will be used as endpoint, eg: buscarron.example.com/contact - name: contact # (mandatory) Your form name, will be used as endpoint, eg: buscarron.example.com/contact
room: "!yourRoomID:{{ matrix_domain }}" # (mandatory) Room ID where form submission will be posted room: "!qporfwt:{{ matrix_domain }}" # (mandatory) Room ID where form submission will be posted
redirect: https://example.com # (mandatory) To what page user will be redirected after the form submission redirect: https://example.com # (mandatory) To what page user will be redirected after the form submission
ratelimit: 1r/m # (optional) rate limit of the form, format: <max requests>r/<interval:s,m>, eg: 1r/s or 54r/m ratelimit: 1r/m # (optional) rate limit of the form, format: <max requests>r/<interval:s,m>, eg: 1r/s or 54r/m
hasemail: 1 # (optional) form has "email" field that should be validated hasemail: 1 # (optional) form has "email" field that should be validated

View File

@ -47,7 +47,7 @@ Using your own account, create a new invite only room that you will use to manag
If you make the management room encrypted (E2EE), then you MUST enable and use Pantalaimon (see below). If you make the management room encrypted (E2EE), then you MUST enable and use Pantalaimon (see below).
Once you have created the room you need to copy the room ID so you can tell the bot to use that room. In Element you can do this by going to the room's settings, clicking Advanced, and then copying the internal room ID. The room ID will look something like `!QvgVuKq0ha8glOLGMG:example.com`. Once you have created the room you need to copy the room ID so you can tell the bot to use that room. In Element you can do this by going to the room's settings, clicking Advanced, and then copying the internal room ID. The room ID will look something like `!qporfwt:example.com`.
Finally invite the `@bot.draupnir:example.com` account you created earlier into the room. Finally invite the `@bot.draupnir:example.com` account you created earlier into the room.
@ -135,7 +135,7 @@ Draupnir can be told to self-join public rooms, but it's better to follow this f
2. [Give the bot permissions to do its job](#giving-draupnir-permissions-to-do-its-job) 2. [Give the bot permissions to do its job](#giving-draupnir-permissions-to-do-its-job)
3. Tell it to protect the room (using the [rooms command](https://the-draupnir-project.github.io/draupnir-documentation/moderator/managing-protected-rooms#using-the-draupnir-rooms-command)) by sending the following command to the Management Room: `!draupnir rooms add !ROOM_ID:example.com` 3. Tell it to protect the room (using the [rooms command](https://the-draupnir-project.github.io/draupnir-documentation/moderator/managing-protected-rooms#using-the-draupnir-rooms-command)) by sending the following command to the Management Room: `!draupnir rooms add !qporfwt:example.com`
To have Draupnir provide useful room protection, you need do to a bit more work (at least the first time around). To have Draupnir provide useful room protection, you need do to a bit more work (at least the first time around).
You may wish to [Subscribe to a public policy list](#subscribing-to-a-public-policy-list), [Create your own own policy and rules](#creating-your-own-policy-lists-and-rules) and [Enabling built-in protections](#enabling-built-in-protections). You may wish to [Subscribe to a public policy list](#subscribing-to-a-public-policy-list), [Create your own own policy and rules](#creating-your-own-policy-lists-and-rules) and [Enabling built-in protections](#enabling-built-in-protections).

View File

@ -125,7 +125,7 @@ matrix_bot_go_neb_services:
Config: Config:
feeds: feeds:
"http://lorem-rss.herokuapp.com/feed?unit=second&interval=60": "http://lorem-rss.herokuapp.com/feed?unit=second&interval=60":
rooms: ["!qmElAGdFYCHoCJuaNt:{{ matrix_domain }}"] rooms: ["!qporfwt:{{ matrix_domain }}"]
must_include: must_include:
author: author:
- author1 - author1
@ -151,13 +151,13 @@ matrix_bot_go_neb_services:
RealmID: "github_realm" RealmID: "github_realm"
ClientUserID: "@YOUR_USER_ID:{{ matrix_domain }}" # needs to be an authenticated user so Go-NEB can create webhooks. Check the UserID field in the github_realm in matrix_bot_go_neb_sessions. ClientUserID: "@YOUR_USER_ID:{{ matrix_domain }}" # needs to be an authenticated user so Go-NEB can create webhooks. Check the UserID field in the github_realm in matrix_bot_go_neb_sessions.
Rooms: Rooms:
"!someroom:id": "!qporfwt:example.com":
Repos: Repos:
"element-hq/synapse": "element-hq/synapse":
Events: ["push", "issues"] Events: ["push", "issues"]
"matrix-org/dendron": "matrix-org/dendron":
Events: ["pull_request"] Events: ["pull_request"]
"!anotherroom:id": "!aaabaa:example.com":
Repos: Repos:
"element-hq/synapse": "element-hq/synapse":
Events: ["push", "issues"] Events: ["push", "issues"]
@ -170,7 +170,7 @@ matrix_bot_go_neb_services:
Config: Config:
Hooks: Hooks:
"hook1": "hook1":
RoomID: "!someroom:id" RoomID: "!qporfwt:example.com"
MessageType: "m.text" # default is m.text MessageType: "m.text" # default is m.text
- ID: "alertmanager_service" - ID: "alertmanager_service"
@ -184,7 +184,7 @@ matrix_bot_go_neb_services:
webhook_url: "http://localhost/services/hooks/YWxlcnRtYW5hZ2VyX3NlcnZpY2U" webhook_url: "http://localhost/services/hooks/YWxlcnRtYW5hZ2VyX3NlcnZpY2U"
# Each room will get the notification with the alert rendered with the given template # Each room will get the notification with the alert rendered with the given template
rooms: rooms:
"!someroomid:example.com": "!qporfwt:example.com":
text_template: "{% raw %}{{range .Alerts -}} [{{ .Status }}] {{index .Labels \"alertname\" }}: {{index .Annotations \"description\"}} {{ end -}}{% endraw %}" text_template: "{% raw %}{{range .Alerts -}} [{{ .Status }}] {{index .Labels \"alertname\" }}: {{index .Annotations \"description\"}} {{ end -}}{% endraw %}"
html_template: "{% raw %}{{range .Alerts -}} {{ $severity := index .Labels \"severity\" }} {{ if eq .Status \"firing\" }} {{ if eq $severity \"critical\"}} <font color='red'><b>[FIRING - CRITICAL]</b></font> {{ else if eq $severity \"warning\"}} <font color='orange'><b>[FIRING - WARNING]</b></font> {{ else }} <b>[FIRING - {{ $severity }}]</b> {{ end }} {{ else }} <font color='green'><b>[RESOLVED]</b></font> {{ end }} {{ index .Labels \"alertname\"}} : {{ index .Annotations \"description\"}} <a href=\"{{ .GeneratorURL }}\">source</a><br/>{{end -}}{% endraw %}" html_template: "{% raw %}{{range .Alerts -}} {{ $severity := index .Labels \"severity\" }} {{ if eq .Status \"firing\" }} {{ if eq $severity \"critical\"}} <font color='red'><b>[FIRING - CRITICAL]</b></font> {{ else if eq $severity \"warning\"}} <font color='orange'><b>[FIRING - WARNING]</b></font> {{ else }} <b>[FIRING - {{ $severity }}]</b> {{ end }} {{ else }} <font color='green'><b>[RESOLVED]</b></font> {{ end }} {{ index .Labels \"alertname\"}} : {{ index .Annotations \"description\"}} <a href=\"{{ .GeneratorURL }}\">source</a><br/>{{end -}}{% endraw %}"
msg_type: "m.text" # Must be either `m.text` or `m.notice` msg_type: "m.text" # Must be either `m.text` or `m.notice`

View File

@ -21,7 +21,7 @@ matrix_bot_honoroit_enabled: true
matrix_bot_honoroit_password: PASSWORD_FOR_THE_BOT matrix_bot_honoroit_password: PASSWORD_FOR_THE_BOT
# Adjust this to your room ID # Adjust this to your room ID
matrix_bot_honoroit_roomid: "!yourRoomID:{{ matrix_domain }}" matrix_bot_honoroit_roomid: "!qporfwt:{{ matrix_domain }}"
``` ```
### Adjusting the Honoroit URL ### Adjusting the Honoroit URL

View File

@ -41,7 +41,7 @@ Using your own account, create a new invite only room that you will use to manag
If you make the management room encrypted (E2EE), then you MUST enable and use Pantalaimon (see below). If you make the management room encrypted (E2EE), then you MUST enable and use Pantalaimon (see below).
Once you have created the room you need to copy the room ID so you can tell the bot to use that room. In Element you can do this by going to the room's settings, clicking Advanced, and then copying the internal room ID. The room ID will look something like `!QvgVuKq0ha8glOLGMG:example.com`. Once you have created the room you need to copy the room ID so you can tell the bot to use that room. In Element you can do this by going to the room's settings, clicking Advanced, and then copying the internal room ID. The room ID will look something like `!qporfwt:example.com`.
Finally invite the `@bot.mjolnir:example.com` account you created earlier into the room. Finally invite the `@bot.mjolnir:example.com` account you created earlier into the room.

View File

@ -81,5 +81,5 @@ There's the Discord bridge's guide for [setting privileges on bridge managed roo
```sh ```sh
docker exec -it matrix-appservice-discord \ docker exec -it matrix-appservice-discord \
/bin/sh -c 'cp /cfg/registration.yaml /tmp/discord-registration.yaml && cd /tmp && node /build/tools/adminme.js -c /cfg/config.yaml -m "!ROOM_ID:SERVER" -u "@USER:SERVER" -p 100' /bin/sh -c 'cp /cfg/registration.yaml /tmp/discord-registration.yaml && cd /tmp && node /build/tools/adminme.js -c /cfg/config.yaml -m "!qporfwt:example.com" -u "@USER:example.com" -p 100'
``` ```

View File

@ -79,7 +79,7 @@ loosely based on [this](https://github.com/matrix-org/matrix-appservice-slack#Se
11. 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 !qporfwt: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:example.com` 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:example.com` for Matrix.
@ -90,19 +90,19 @@ loosely based on [this](https://github.com/matrix-org/matrix-appservice-slack#Se
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 !qporfwt:example.com --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 !qporfwt:example.com --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 !qporfwt:example.com -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.
@ -112,7 +112,7 @@ loosely based on [this](https://github.com/matrix-org/matrix-appservice-slack#Se
Channels can be unlinked again like this: Channels can be unlinked again like this:
``` ```
unlink --room !the-matrix:room.id unlink --room !qporfwt:example.com
``` ```
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.

View File

@ -50,7 +50,7 @@ matrix_email2matrix_enabled: true
matrix_email2matrix_matrix_mappings: matrix_email2matrix_matrix_mappings:
- MailboxName: "mailbox1" - MailboxName: "mailbox1"
MatrixRoomId: "!someRoom:{{ matrix_domain }}" MatrixRoomId: "!qporfwt:{{ matrix_domain }}"
MatrixHomeserverUrl: "{{ matrix_homeserver_url }}" MatrixHomeserverUrl: "{{ matrix_homeserver_url }}"
MatrixUserId: "@email2matrix:{{ matrix_domain }}" MatrixUserId: "@email2matrix:{{ matrix_domain }}"
MatrixAccessToken: "MATRIX_ACCESS_TOKEN_HERE" MatrixAccessToken: "MATRIX_ACCESS_TOKEN_HERE"
@ -59,7 +59,7 @@ matrix_email2matrix_matrix_mappings:
SkipMarkdown: false SkipMarkdown: false
- MailboxName: "mailbox2" - MailboxName: "mailbox2"
MatrixRoomId: "!anotherRoom:{{ matrix_domain }}" MatrixRoomId: "!aaabaa:{{ matrix_domain }}"
MatrixHomeserverUrl: "{{ matrix_homeserver_url }}" MatrixHomeserverUrl: "{{ matrix_homeserver_url }}"
MatrixUserId: "@email2matrix:{{ matrix_domain }}" MatrixUserId: "@email2matrix:{{ matrix_domain }}"
MatrixAccessToken: "MATRIX_ACCESS_TOKEN_HERE" MatrixAccessToken: "MATRIX_ACCESS_TOKEN_HERE"

View File

@ -99,13 +99,13 @@ If you'd rather **keep your server private** (public registration closed, as is
## Enabling public user registration ## Enabling public user registration
To **open up user registration publicly** (usually **not recommended**), consider using the following configuration: To **open up user registration publicly** (usually **not recommended**), add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
```yaml ```yaml
matrix_synapse_enable_registration: true matrix_synapse_enable_registration: true
``` ```
and running the [installation](installing.md) procedure once again. After configuring the playbook, run the [installation](installing.md) command: `just install-all` or `just setup-all`
If you're opening up registrations publicly like this, you might also wish to [configure CAPTCHA protection](configuring-captcha.md). If you're opening up registrations publicly like this, you might also wish to [configure CAPTCHA protection](configuring-captcha.md).

View File

@ -3,7 +3,7 @@ matrix.example.com {
handle { handle {
encode zstd gzip encode zstd gzip
# Use the docker service name instead of localhost or 127.0.0.1 here # Use the docker service name instead of localhost or 127.0.0.1 here
matrix-traefik:8080 { matrix-traefik:8080 {
header_up X-Forwarded-Port {http.request.port} header_up X-Forwarded-Port {http.request.port}
header_up X-Forwarded-TlsProto {tls_protocol} header_up X-Forwarded-TlsProto {tls_protocol}
@ -18,7 +18,7 @@ https://matrix.example.com:8448 {
handle { handle {
encode zstd gzip encode zstd gzip
# Use the docker service name instead of localhost or 127.0.0.1 here # Use the docker service name instead of localhost or 127.0.0.1 here
reverse_proxy matrix-traefik:8448 { reverse_proxy matrix-traefik:8448 {
header_up X-Forwarded-Port {http.request.port} header_up X-Forwarded-Port {http.request.port}
header_up X-Forwarded-TlsProto {tls_protocol} header_up X-Forwarded-TlsProto {tls_protocol}

View File

@ -24,8 +24,8 @@ defaults
option forwardfor option forwardfor
option redispatch option redispatch
timeout connect 5000 timeout connect 5000
timeout client 50000 timeout client 50000
timeout server 50000 timeout server 50000
errorfile 400 /etc/haproxy/errors/400.http errorfile 400 /etc/haproxy/errors/400.http
errorfile 403 /etc/haproxy/errors/403.http errorfile 403 /etc/haproxy/errors/403.http
errorfile 408 /etc/haproxy/errors/408.http errorfile 408 /etc/haproxy/errors/408.http
@ -71,11 +71,10 @@ backend matrix-federation
backend nginx-static backend nginx-static
capture request header origin len 128 capture request header origin len 128
http-response add-header Access-Control-Allow-Origin * http-response add-header Access-Control-Allow-Origin *
rspadd Access-Control-Allow-Methods:\ GET,\ HEAD,\ OPTIONS,\ POST,\ PUT if { capture.req.hdr(0) -m found } rspadd Access-Control-Allow-Methods:\ GET,\ HEAD,\ OPTIONS,\ POST,\ PUT if { capture.req.hdr(0) -m found }
rspadd Access-Control-Allow-Credentials:\ true if { capture.req.hdr(0) -m found } rspadd Access-Control-Allow-Credentials:\ true if { capture.req.hdr(0) -m found }
rspadd Access-Control-Allow-Headers:\ Origin,\ Accept,\ X-Requested-With,\ Content-Type,\ Access-Control-Request-Method,\ Access-Control-Request-Headers,\ Authorization if { capture.req.hdr(0) -m found } rspadd Access-Control-Allow-Headers:\ Origin,\ Accept,\ X-Requested-With,\ Content-Type,\ Access-Control-Request-Method,\ Access-Control-Request-Headers,\ Authorization if { capture.req.hdr(0) -m found }
server nginx 127.0.0.1:40888 check server nginx 127.0.0.1:40888 check
backend element backend element
server element 127.0.0.1:8765 check server element 127.0.0.1:8765 check

View File

@ -4027,7 +4027,7 @@ postgres_managed_databases_auto: |
'name': matrix_authentication_service_config_database_database, 'name': matrix_authentication_service_config_database_database,
'username': matrix_authentication_service_config_database_username, 'username': matrix_authentication_service_config_database_username,
'password': matrix_authentication_service_config_database_password, 'password': matrix_authentication_service_config_database_password,
}] if (matrix_authentication_service_config_database_host == postgres_connection_hostname) else []) }] if (matrix_authentication_service_enabled and matrix_authentication_service_config_database_host == postgres_connection_hostname) else [])
+ +
([{ ([{
'name': matrix_sliding_sync_database_name, 'name': matrix_sliding_sync_database_name,
@ -4063,7 +4063,7 @@ postgres_managed_databases_auto: |
'name': matrix_bot_maubot_database_name, 'name': matrix_bot_maubot_database_name,
'username': matrix_bot_maubot_database_username, 'username': matrix_bot_maubot_database_username,
'password': matrix_bot_maubot_database_password, 'password': matrix_bot_maubot_database_password,
}] if (matrix_bot_maubot_enabled and matrix_bot_maubot_database_engine == 'postgres' and matrix_bot_maubot_database_hostname == postgres_connection_hostname) else []) }] if (matrix_bot_maubot_enabled and matrix_bot_maubot_database_engine == 'postgres' and matrix_bot_maubot_database_hostname == postgres_connection_hostname) else [])
+ +
([{ ([{
'name': matrix_bot_buscarron_database_name, 'name': matrix_bot_buscarron_database_name,
@ -4231,7 +4231,7 @@ postgres_managed_databases_auto: |
'name': matrix_mx_puppet_discord_database_name, 'name': matrix_mx_puppet_discord_database_name,
'username': matrix_mx_puppet_discord_database_username, 'username': matrix_mx_puppet_discord_database_username,
'password': matrix_mx_puppet_discord_database_password, 'password': matrix_mx_puppet_discord_database_password,
}] if (matrix_mx_puppet_discord_enabled and matrix_mx_puppet_discord_database_engine == 'postgres' and matrix_mx_puppet_discord_database_hostname == postgres_connection_hostname) else []) }] if (matrix_mx_puppet_discord_enabled and matrix_mx_puppet_discord_database_engine == 'postgres' and matrix_mx_puppet_discord_database_hostname == postgres_connection_hostname) else [])
+ +
([{ ([{
'name': matrix_mx_puppet_steam_database_name, 'name': matrix_mx_puppet_steam_database_name,

View File

@ -127,8 +127,8 @@ matrix_alertmanager_receiver_config_matrix_access_token: ''
# #
# Example: # Example:
# matrix_alertmanager_receiver_config_matrix_room: # matrix_alertmanager_receiver_config_matrix_room:
# simple-name: "!qohfwef7qwerf:example.com" # simple-name: "!qporfwt:example.com"
# another-name: "!bf3zfio3wbanw:example.com" # another-name: "!aaabaa:example.com"
matrix_alertmanager_receiver_config_matrix_room_mapping: {} matrix_alertmanager_receiver_config_matrix_room_mapping: {}
# Controls the `templating.external-url-mapping` configuration setting. # Controls the `templating.external-url-mapping` configuration setting.

View File

@ -97,6 +97,7 @@
--command=migrate --command=migrate
--synapseConfigFile=/homeserver.yaml --synapseConfigFile=/homeserver.yaml
--masConfigFile=/mas-config.yaml --masConfigFile=/mas-config.yaml
{{ matrix_authentication_service_syn2mas_process_extra_arguments | join(' ') }}
{% if matrix_authentication_service_syn2mas_dry_run | bool %}--dryRun{% endif %} {% if matrix_authentication_service_syn2mas_dry_run | bool %}--dryRun{% endif %}
tags: tags:
- skip_ansible_lint - skip_ansible_lint

View File

@ -38,7 +38,7 @@ autojoinOnlyIfManager: true
# If `autojoinOnlyIfManager` is false, only the members in this space can invite # If `autojoinOnlyIfManager` is false, only the members in this space can invite
# the bot to new rooms. # the bot to new rooms.
#acceptInvitesFromSpace: "!example:example.org" #acceptInvitesFromSpace: "!qporfwt:example.com"
# Whether Draupnir should report ignored invites to the management room (if autojoinOnlyIfManager is true). # Whether Draupnir should report ignored invites to the management room (if autojoinOnlyIfManager is true).
recordIgnoredInvites: false recordIgnoredInvites: false
@ -109,7 +109,7 @@ automaticallyRedactForReasons:
# #
# Note: These must be matrix.to URLs # Note: These must be matrix.to URLs
#protectedRooms: #protectedRooms:
# - "https://matrix.to/#/#yourroom:example.org" # - "https://matrix.to/#/#matrix:example.org"
# Whether or not to add all joined rooms to the "protected rooms" list # Whether or not to add all joined rooms to the "protected rooms" list
# (excluding the management room and watched policy list rooms, see below). # (excluding the management room and watched policy list rooms, see below).

View File

@ -262,7 +262,7 @@ matrix_bot_go_neb_services: []
# Config: # Config:
# feeds: # feeds:
# "http://lorem-rss.herokuapp.com/feed?unit=second&interval=60": # "http://lorem-rss.herokuapp.com/feed?unit=second&interval=60":
# rooms: ["!qmElAGdFYCHoCJuaNt:localhost"] # rooms: ["!qporfwt:localhost"]
# must_include: # must_include:
# author: # author:
# - author1 # - author1
@ -288,13 +288,13 @@ matrix_bot_go_neb_services: []
# RealmID: "github_realm" # RealmID: "github_realm"
# ClientUserID: "@YOUR_USER_ID:{{ matrix_domain }}" # needs to be an authenticated user so Go-NEB can create webhooks. Check the UserID field in the github_realm in matrix_bot_go_neb_sessions. # ClientUserID: "@YOUR_USER_ID:{{ matrix_domain }}" # needs to be an authenticated user so Go-NEB can create webhooks. Check the UserID field in the github_realm in matrix_bot_go_neb_sessions.
# Rooms: # Rooms:
# "!someroom:id": # "!qporfwt:example.com":
# Repos: # Repos:
# "element-hq/synapse": # "element-hq/synapse":
# Events: ["push", "issues"] # Events: ["push", "issues"]
# "matrix-org/dendron": # "matrix-org/dendron":
# Events: ["pull_request"] # Events: ["pull_request"]
# "!anotherroom:id": # "!aaabaa:example.com":
# Repos: # Repos:
# "element-hq/synapse": # "element-hq/synapse":
# Events: ["push", "issues"] # Events: ["push", "issues"]
@ -307,7 +307,7 @@ matrix_bot_go_neb_services: []
# Config: # Config:
# Hooks: # Hooks:
# "hook1": # "hook1":
# RoomID: "!someroom:id" # RoomID: "!qporfwt:example.com"
# MessageType: "m.text" # default is m.text # MessageType: "m.text" # default is m.text
# #
# - ID: "alertmanager_service" # - ID: "alertmanager_service"
@ -321,7 +321,7 @@ matrix_bot_go_neb_services: []
# webhook_url: "http://localhost/services/hooks/YWxlcnRtYW5hZ2VyX3NlcnZpY2U" # webhook_url: "http://localhost/services/hooks/YWxlcnRtYW5hZ2VyX3NlcnZpY2U"
# # Each room will get the notification with the alert rendered with the given template # # Each room will get the notification with the alert rendered with the given template
# rooms: # rooms:
# "!someroomid:example.com": # "!qporfwt:example.com":
# text_template: "{% raw %}{{range .Alerts -}} [{{ .Status }}] {{index .Labels \"alertname\"}}: {{index .Annotations \"description\"}} {{ end -}}{% endraw %}" # text_template: "{% raw %}{{range .Alerts -}} [{{ .Status }}] {{index .Labels \"alertname\"}}: {{index .Annotations \"description\"}} {{ end -}}{% endraw %}"
# html_template: "{% raw %}{{range .Alerts -}} {{ $severity := index .Labels \"severity\"}} {{ if eq .Status \"firing\"}} {{ if eq $severity \"critical\"}} <font color='red'><b>[FIRING - CRITICAL]</b></font> {{ else if eq $severity \"warning\"}} <font color='orange'><b>[FIRING - WARNING]</b></font> {{ else }} <b>[FIRING - {{ $severity }}]</b> {{ end }} {{ else }} <font color='green'><b>[RESOLVED]</b></font> {{ end }} {{ index .Labels \"alertname\"}} : {{ index .Annotations \"description\"}} <a href=\"{{ .GeneratorURL }}\">source</a><br/>{{end -}}{% endraw %}" # html_template: "{% raw %}{{range .Alerts -}} {{ $severity := index .Labels \"severity\"}} {{ if eq .Status \"firing\"}} {{ if eq $severity \"critical\"}} <font color='red'><b>[FIRING - CRITICAL]</b></font> {{ else if eq $severity \"warning\"}} <font color='orange'><b>[FIRING - WARNING]</b></font> {{ else }} <b>[FIRING - {{ $severity }}]</b> {{ end }} {{ else }} <font color='green'><b>[RESOLVED]</b></font> {{ end }} {{ index .Labels \"alertname\"}} : {{ index .Annotations \"description\"}} <a href=\"{{ .GeneratorURL }}\">source</a><br/>{{end -}}{% endraw %}"
# msg_type: "m.text" # Must be either `m.text` or `m.notice` # msg_type: "m.text" # Must be either `m.text` or `m.notice`

View File

@ -38,7 +38,7 @@ autojoinOnlyIfManager: true
# If `autojoinOnlyIfManager` is false, only the members in this space can invite # If `autojoinOnlyIfManager` is false, only the members in this space can invite
# the bot to new rooms. # the bot to new rooms.
#acceptInvitesFromSpace: "!example:example.org" #acceptInvitesFromSpace: "!qporfwt:example.com"
# Whether Mjolnir should report ignored invites to the management room (if autojoinOnlyIfManager is true). # Whether Mjolnir should report ignored invites to the management room (if autojoinOnlyIfManager is true).
recordIgnoredInvites: false recordIgnoredInvites: false
@ -103,7 +103,7 @@ automaticallyRedactForReasons:
# #
# Note: These must be matrix.to URLs # Note: These must be matrix.to URLs
#protectedRooms: #protectedRooms:
# - "https://matrix.to/#/#yourroom:example.org" # - "https://matrix.to/#/#matrix:example.org"
# Whether or not to add all joined rooms to the "protected rooms" list # Whether or not to add all joined rooms to the "protected rooms" list
# (excluding the management room and watched policy list rooms, see below). # (excluding the management room and watched policy list rooms, see below).

View File

@ -256,7 +256,7 @@ matrix_appservice_irc_ircService_servers: [] # noqa var-naming
# # Apply specific rules to Matrix rooms. Only matrix-to-IRC takes effect. # # Apply specific rules to Matrix rooms. Only matrix-to-IRC takes effect.
# rooms: # rooms:
# - room: "!fuasirouddJoxtwfge:localhost" # - room: "!qporfwt:localhost"
# matrixToIrc: # matrixToIrc:
# initial: false # initial: false
# incremental: false # incremental: false
@ -273,7 +273,7 @@ matrix_appservice_irc_ircService_servers: [] # noqa var-naming
# # The Matrix room must already exist. Your Matrix client should expose # # The Matrix room must already exist. Your Matrix client should expose
# # the room ID in a "settings" page for the room. # # the room ID in a "settings" page for the room.
# "#thepub": # "#thepub":
# roomIds: ["!kieouiJuedJoxtVdaG:localhost"] # roomIds: ["!qporfwt:localhost"]
# # Channel key/password to use. Optional. If provided, Matrix users do # # Channel key/password to use. Optional. If provided, Matrix users do
# # not need to know the channel key in order to join the channel. # # not need to know the channel key in order to join the channel.
# # key: "secret" # # key: "secret"

View File

@ -141,7 +141,7 @@ matrix_appservice_slack_configuration_extension_yaml: |
# Optional # Optional
#slack_master_token: "abc-123-def" #slack_master_token: "abc-123-def"
# Optional # Optional
#matrix_admin_room: "!aBcDeF:matrix.org" #matrix_admin_room: "!qporfwt:example.com"
#homeserver: #homeserver:
# url: http://localhost:{{ matrix_synapse_container_client_api_port }} # url: http://localhost:{{ matrix_synapse_container_client_api_port }}
# server_name: my.server # server_name: my.server

View File

@ -87,7 +87,7 @@ manhole:
# Bridge config # Bridge config
bridge: bridge:
# Localpart template of MXIDs for LinkedIn users. # Localpart template of MXIDs for LinkedIn users.
# {userid} is replaced with the user ID of the LinkedIn user # {userid} is replaced with the user ID of the LinkedIn user
username_template: "linkedin_{userid}" username_template: "linkedin_{userid}"
# Settings for creating a space for every user. # Settings for creating a space for every user.
@ -263,4 +263,3 @@ logging:
root: root:
level: {{ matrix_beeper_linkedin_logging_level|to_json }} level: {{ matrix_beeper_linkedin_logging_level|to_json }}
handlers: [console] handlers: [console]

View File

@ -205,7 +205,7 @@ bridge:
# The management room for the bot. This is where all status notifications are posted and # The management room for the bot. This is where all status notifications are posted and
# in this room, you can use `!wa <command>` instead of `!wa relaybot <command>`. Omitting # in this room, you can use `!wa <command>` instead of `!wa relaybot <command>`. Omitting
# the command prefix completely like in user management rooms is not possible. # the command prefix completely like in user management rooms is not possible.
management: '!foo:example.com' management: '!qporfwt:example.com'
# List of users to invite to all created rooms that include the relaybot. # List of users to invite to all created rooms that include the relaybot.
invites: [] invites: []
# The formats to use when sending messages to Skype via the relaybot. # The formats to use when sending messages to Skype via the relaybot.

View File

@ -7,7 +7,7 @@ matrix_client_hydrogen_container_image_self_build: false
matrix_client_hydrogen_container_image_self_build_repo: "https://github.com/element-hq/hydrogen-web.git" matrix_client_hydrogen_container_image_self_build_repo: "https://github.com/element-hq/hydrogen-web.git"
# renovate: datasource=docker depName=ghcr.io/element-hq/hydrogen-web # renovate: datasource=docker depName=ghcr.io/element-hq/hydrogen-web
matrix_client_hydrogen_version: v0.5.0 matrix_client_hydrogen_version: v0.5.1
matrix_client_hydrogen_docker_image: "{{ matrix_client_hydrogen_docker_image_name_prefix }}element-hq/hydrogen-web:{{ matrix_client_hydrogen_version }}" matrix_client_hydrogen_docker_image: "{{ matrix_client_hydrogen_docker_image_name_prefix }}element-hq/hydrogen-web:{{ matrix_client_hydrogen_version }}"
matrix_client_hydrogen_docker_image_name_prefix: "{{ 'localhost/' if matrix_client_hydrogen_container_image_self_build else 'ghcr.io/' }}" matrix_client_hydrogen_docker_image_name_prefix: "{{ 'localhost/' if matrix_client_hydrogen_container_image_self_build else 'ghcr.io/' }}"
matrix_client_hydrogen_docker_image_force_pull: "{{ matrix_client_hydrogen_docker_image.endswith(':latest') }}" matrix_client_hydrogen_docker_image_force_pull: "{{ matrix_client_hydrogen_docker_image.endswith(':latest') }}"

View File

@ -46,7 +46,7 @@ matrix_email2matrix_smtp_hostname: "{{ matrix_server_fqn_matrix }}"
# Example: # Example:
# matrix_email2matrix_matrix_mappings: # matrix_email2matrix_matrix_mappings:
# - MailboxName: "mailbox1" # - MailboxName: "mailbox1"
# MatrixRoomId: "!someRoom:{{ matrix_domain }}" # MatrixRoomId: "!qporfwt:{{ matrix_domain }}"
# MatrixHomeserverUrl: "{{ matrix_homeserver_url }}" # MatrixHomeserverUrl: "{{ matrix_homeserver_url }}"
# MatrixUserId: "@email2matrix:{{ matrix_domain }}" # MatrixUserId: "@email2matrix:{{ matrix_domain }}"
# MatrixAccessToken: "MATRIX_ACCESS_TOKEN_HERE" # MatrixAccessToken: "MATRIX_ACCESS_TOKEN_HERE"
@ -55,7 +55,7 @@ matrix_email2matrix_smtp_hostname: "{{ matrix_server_fqn_matrix }}"
# SkipMarkdown: false # SkipMarkdown: false
# #
# - MailboxName: "mailbox2" # - MailboxName: "mailbox2"
# MatrixRoomId: "!anotherRoom:{{ matrix_domain }}" # MatrixRoomId: "!aaabaa:{{ matrix_domain }}"
# MatrixHomeserverUrl: "{{ matrix_homeserver_url }}" # MatrixHomeserverUrl: "{{ matrix_homeserver_url }}"
# MatrixUserId: "@email2matrix:{{ matrix_domain }}" # MatrixUserId: "@email2matrix:{{ matrix_domain }}"
# MatrixAccessToken: "MATRIX_ACCESS_TOKEN_HERE" # MatrixAccessToken: "MATRIX_ACCESS_TOKEN_HERE"

View File

@ -1245,7 +1245,7 @@ matrix_synapse_ext_spam_checker_mjolnir_antispam_config_block_usernames: false
# this list cannot be room aliases or permalinks. This server is expected # this list cannot be room aliases or permalinks. This server is expected
# to already be joined to the room - Mjolnir will not automatically join # to already be joined to the room - Mjolnir will not automatically join
# these rooms. # these rooms.
# ["!roomid:example.org"] # ["!qporfwt:example.com"]
matrix_synapse_ext_spam_checker_mjolnir_antispam_config_ban_lists: [] matrix_synapse_ext_spam_checker_mjolnir_antispam_config_ban_lists: []
# A dictionary with various fields controlling max length. # A dictionary with various fields controlling max length.
# See https://github.com/matrix-org/mjolnir/blob/main/docs/synapse_module.md for details. # See https://github.com/matrix-org/mjolnir/blob/main/docs/synapse_module.md for details.

View File

@ -575,7 +575,7 @@ templates:
# By default, no room is excluded. # By default, no room is excluded.
# #
#exclude_rooms_from_sync: #exclude_rooms_from_sync:
# - !foo:example.com # - !qporfwt:example.com
# Message retention policy at the server level. # Message retention policy at the server level.