From ba19e4d303e2e3c7f9c1ee8b9ba48ff55c3c3992 Mon Sep 17 00:00:00 2001 From: Catalan Lover Date: Sun, 19 Jan 2025 18:14:05 +0100 Subject: [PATCH 001/841] Replace Discharge with Disable In the context of disabling rate limits on an API its disable that is correct. We arent talking about controlling the discharge rate of a battery we dont want to blow up or harm. We are talking about matrix APIs and disabling the rate limiter on them. --- docs/configuring-playbook-bot-draupnir.md | 2 +- docs/configuring-playbook-bot-mjolnir.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/configuring-playbook-bot-draupnir.md b/docs/configuring-playbook-bot-draupnir.md index 58c15b1af..288cc4104 100644 --- a/docs/configuring-playbook-bot-draupnir.md +++ b/docs/configuring-playbook-bot-draupnir.md @@ -87,7 +87,7 @@ The APIs can also be accessed via [Synapse Admin](https://github.com/etkecc/syna **Note**: access to the APIs is restricted with a valid access token, so exposing them publicly should not be a real security concern. Still, doing so is not recommended for additional security. See [official Synapse reverse-proxying recommendations](https://element-hq.github.io/synapse/latest/reverse_proxy.html#synapse-administration-endpoints). -To discharge rate limiting, run the following command on systems that ship curl (note that it does not work on outdated Windows 10). Even if the APIs are not exposed to the internet, you should still be able to run the command on the homeserver locally. Before running it, make sure to replace `@bot.draupnir:example.com` with the MXID of your Draupnir: +To disable rate limiting, run the following command on systems that ship curl (note that it does not work on outdated Windows 10). Even if the APIs are not exposed to the internet, you should still be able to run the command on the homeserver locally. Before running it, make sure to replace `@bot.draupnir:example.com` with the MXID of your Draupnir: ```sh curl --header "Authorization: Bearer " -X POST https://matrix.example.com/_synapse/admin/v1/users/@bot.draupnir:example.com/override_ratelimit diff --git a/docs/configuring-playbook-bot-mjolnir.md b/docs/configuring-playbook-bot-mjolnir.md index c7a211491..2564cd2f9 100644 --- a/docs/configuring-playbook-bot-mjolnir.md +++ b/docs/configuring-playbook-bot-mjolnir.md @@ -42,7 +42,7 @@ The APIs can also be accessed via [Synapse Admin](https://github.com/etkecc/syna **Note**: access to the APIs is restricted with a valid access token, so exposing them publicly should not be a real security concern. Still, doing so is not recommended for additional security. See [official Synapse reverse-proxying recommendations](https://element-hq.github.io/synapse/latest/reverse_proxy.html#synapse-administration-endpoints). -To discharge rate limiting, run the following command on systems that ship curl (note that it does not work on outdated Windows 10). Even if the APIs are not exposed to the internet, you should still be able to run the command on the homeserver locally. Before running it, make sure to replace `@bot.mjolnir:example.com` with the MXID of your Mjolnir: +To disable rate limiting, run the following command on systems that ship curl (note that it does not work on outdated Windows 10). Even if the APIs are not exposed to the internet, you should still be able to run the command on the homeserver locally. Before running it, make sure to replace `@bot.mjolnir:example.com` with the MXID of your Mjolnir: ```sh curl --header "Authorization: Bearer " -X POST https://matrix.example.com/_synapse/admin/v1/users/@bot.mjolnir:example.com/override_ratelimit From f987d295eee041c36dda91398dfe7a0880ac2276 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 28 Dec 2024 10:32:19 -0500 Subject: [PATCH 002/841] Update docs for Draupnir, D4A, and Mjolnir: adopt the common section "Extending the configuration" Also: fix the variable "matrix_appservice_draupnir_for_all_configuration_yaml" Signed-off-by: Suguru Hirahara --- ...nfiguring-playbook-appservice-draupnir-for-all.md | 12 ++++++++---- docs/configuring-playbook-bot-draupnir.md | 6 +++++- docs/configuring-playbook-bot-mjolnir.md | 6 +++++- 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/docs/configuring-playbook-appservice-draupnir-for-all.md b/docs/configuring-playbook-appservice-draupnir-for-all.md index be7aacc30..f9d7f650e 100644 --- a/docs/configuring-playbook-appservice-draupnir-for-all.md +++ b/docs/configuring-playbook-appservice-draupnir-for-all.md @@ -46,19 +46,23 @@ matrix_appservice_draupnir_for_all_master_control_room_alias: "MANAGEMENT_ROOM_A ### Extending the configuration -You can configure additional options by adding the `matrix_appservice_draupnir_for_all_extension_yaml` variable. +There are some additional things you may wish to configure about the component. + +Take a look at: + +- `roles/custom/matrix-appservice-draupnir-for-all/defaults/main.yml` for some variables that you can customize via your `vars.yml` file. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_appservice_draupnir_for_all_configuration_extension_yaml` variable For example, to change Draupnir's `protectAllJoinedRooms` option to `true`, add the following configuration to your `vars.yml` file: ```yaml -matrix_appservice_draupnir_for_all_extension_yaml: | +matrix_appservice_draupnir_for_all_configuration_extension_yaml: | # Your custom YAML configuration goes here. - # This configuration extends the default starting configuration (`matrix_appservice_draupnir_for_all_yaml`). + # This configuration extends the default starting configuration (`matrix_appservice_draupnir_for_all_configuration_yaml`). # # You can override individual variables from the default configuration, or introduce new ones. # # If you need something more special, you can take full control by - # completely redefining `matrix_appservice_draupnir_for_all_yaml`. + # completely redefining `matrix_appservice_draupnir_for_all_configuration_yaml`. protectAllJoinedRooms: true ``` diff --git a/docs/configuring-playbook-bot-draupnir.md b/docs/configuring-playbook-bot-draupnir.md index 288cc4104..3fb7298ea 100644 --- a/docs/configuring-playbook-bot-draupnir.md +++ b/docs/configuring-playbook-bot-draupnir.md @@ -117,7 +117,11 @@ The other method polls an Synapse Admin API endpoint, hence it is available only ### Extending the configuration -You can configure additional options by adding the `matrix_bot_draupnir_configuration_extension_yaml` variable. +There are some additional things you may wish to configure about the bot. + +Take a look at: + +- `roles/custom/matrix-bot-draupnir/defaults/main.yml` for some variables that you can customize via your `vars.yml` file. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_bot_draupnir_configuration_extension_yaml` variable For example, to change Draupnir's `acceptInvitesFromSpace` option to `!qporfwt:example.com`, add the following configuration to your `vars.yml` file: diff --git a/docs/configuring-playbook-bot-mjolnir.md b/docs/configuring-playbook-bot-mjolnir.md index 2564cd2f9..0702fb992 100644 --- a/docs/configuring-playbook-bot-mjolnir.md +++ b/docs/configuring-playbook-bot-mjolnir.md @@ -131,7 +131,11 @@ matrix_synapse_ext_spam_checker_mjolnir_antispam_config_ban_lists: [] ### Extending the configuration -You can configure additional options by adding the `matrix_bot_mjolnir_configuration_extension_yaml` variable to your `inventory/host_vars/matrix.example.com/vars.yml` file. +There are some additional things you may wish to configure about the bot. + +Take a look at: + +- `roles/custom/matrix-bot-mjolnir/defaults/main.yml` for some variables that you can customize via your `vars.yml` file. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_bot_mjolnir_configuration_extension_yaml` variable For example, to change Mjolnir's `recordIgnoredInvites` option to `true`, add the following configuration to your `vars.yml` file: From 8ba607a76ab6fb13fabe0aeebb5124b61aa915de Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 20 Jan 2025 12:38:14 +0900 Subject: [PATCH 003/841] =?UTF-8?q?Change=20capitalization=20per=20author'?= =?UTF-8?q?s=20preference:=20Conduwuit=20=E2=86=92=20conduwuit?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit See: https://github.com/girlbossceo/conduwuit/commit/e8508d16e1f5686881c40ba5b54f7a1a87cbe7e9 Signed-off-by: Suguru Hirahara --- CHANGELOG.md | 10 +++++----- README.md | 2 +- docs/configuring-playbook-conduit.md | 2 +- docs/configuring-playbook-conduwuit.md | 16 ++++++++-------- docs/configuring-playbook.md | 2 +- docs/container-images.md | 2 +- docs/howto-srv-server-delegation.md | 2 +- .../tasks/self_check_client_api.yml | 2 +- .../matrix-conduwuit/templates/conduwuit.toml.j2 | 2 +- .../custom/matrix-conduwuit/templates/labels.j2 | 4 ++-- .../util/ensure_user_registered_conduwuit.yml | 4 ++-- 11 files changed, 24 insertions(+), 24 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a31ce22ff..bd098a3dd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,16 +1,16 @@ # 2025-01-19 -## Conduwuit support +## conduwuit support -Thanks to [Virkkunen](https://github.com/Virkkunen), we now have optional experimental [Conduwuit](https://conduwuit.puppyirl.gay/) homeserver support for new installations. +Thanks to [Virkkunen](https://github.com/Virkkunen), we now have optional experimental [conduwuit](https://conduwuit.puppyirl.gay/) homeserver support for new installations. -Conduwuit is a fork of [Conduit](./docs/configuring-playbook-conduit.md), which the playbook also supports. See [Differences from upstream Conduit](https://conduwuit.puppyirl.gay/differences.html). +conduwuit is a fork of [Conduit](./docs/configuring-playbook-conduit.md), which the playbook also supports. See [Differences from upstream Conduit](https://conduwuit.puppyirl.gay/differences.html). Existing installations do **not** need to be updated. **Synapse is still the default homeserver implementation** installed by the playbook. -To try out Conduwuit, we recommend that you **use a new server**. Refer to our [Configuring Conduwuit](./docs/configuring-playbook-conduwuit.md) guide for details. +To try out conduwuit, we recommend that you **use a new server**. Refer to our [Configuring conduwuit](./docs/configuring-playbook-conduwuit.md) guide for details. -**The homeserver implementation of an existing server cannot be changed** (e.g. from Synapse/Conduit/Dendrite to Conduwuit) without data loss. +**The homeserver implementation of an existing server cannot be changed** (e.g. from Synapse/Conduit/Dendrite to conduwuit) without data loss. # 2025-01-14 diff --git a/README.md b/README.md index ee1c5a144..d3e2a4dbc 100644 --- a/README.md +++ b/README.md @@ -52,7 +52,7 @@ The homeserver is the backbone of your Matrix system. Choose one from the follow | ---- | -------- | ----------- | ------------- | | [Synapse](https://github.com/element-hq/synapse) | ✅ | Storing your data and managing your presence in the [Matrix](http://matrix.org/) network | [Link](docs/configuring-playbook-synapse.md) | | [Conduit](https://conduit.rs) | ❌ | Storing your data and managing your presence in the [Matrix](http://matrix.org/) network. Conduit is a lightweight open-source server implementation of the Matrix Specification with a focus on easy setup and low system requirements | [Link](docs/configuring-playbook-conduit.md) | -| [Conduwuit](https://conduwuit.puppyirl.gay/) | ❌ | Storing your data and managing your presence in the [Matrix](http://matrix.org/) network. Conduwuit is a fork of Conduit. | [Link](docs/configuring-playbook-conduwuit.md) | +| [conduwuit](https://conduwuit.puppyirl.gay/) | ❌ | Storing your data and managing your presence in the [Matrix](http://matrix.org/) network. conduwuit is a fork of Conduit. | [Link](docs/configuring-playbook-conduwuit.md) | | [Dendrite](https://github.com/element-hq/dendrite) | ❌ | Storing your data and managing your presence in the [Matrix](http://matrix.org/) network. Dendrite is a second-generation Matrix homeserver written in Go, an alternative to Synapse. | [Link](docs/configuring-playbook-dendrite.md) | ### Clients diff --git a/docs/configuring-playbook-conduit.md b/docs/configuring-playbook-conduit.md index 81ac48ee5..f2fc70096 100644 --- a/docs/configuring-playbook-conduit.md +++ b/docs/configuring-playbook-conduit.md @@ -6,7 +6,7 @@ See the project's [documentation](https://docs.conduit.rs/) to learn what it doe By default, the playbook installs [Synapse](https://github.com/element-hq/synapse) as it's the only full-featured Matrix server at the moment. If that's okay, you can skip this document. -💡 **Note**: The playbook also supports installing a (currently) faster-moving Conduit fork called [Conduwuit](./configuring-playbook-conduwuit.md). +💡 **Note**: The playbook also supports installing a (currently) faster-moving Conduit fork called [conduwuit](./configuring-playbook-conduwuit.md). ⚠️ **Warnings**: diff --git a/docs/configuring-playbook-conduwuit.md b/docs/configuring-playbook-conduwuit.md index 512f4530b..71cedbb5f 100644 --- a/docs/configuring-playbook-conduwuit.md +++ b/docs/configuring-playbook-conduwuit.md @@ -1,22 +1,22 @@ -# Configuring Conduwuit (optional) +# Configuring conduwuit (optional) -The playbook can install and configure the [Conduwuit](https://conduwuit.puppyirl.gay/) Matrix server for you. +The playbook can install and configure the [conduwuit](https://conduwuit.puppyirl.gay/) Matrix server for you. See the project's [documentation](https://conduwuit.puppyirl.gay/) to learn what it does and why it might be useful to you. By default, the playbook installs [Synapse](https://github.com/element-hq/synapse) as it's the only full-featured Matrix server at the moment. If that's okay, you can skip this document. -💡 **Note**: Conduwuit is a fork of [Conduit](./configuring-playbook-conduit.md), which the playbook also supports. See [Differences from upstream Conduit](https://conduwuit.puppyirl.gay/differences.html). +💡 **Note**: conduwuit is a fork of [Conduit](./configuring-playbook-conduit.md), which the playbook also supports. See [Differences from upstream Conduit](https://conduwuit.puppyirl.gay/differences.html). ⚠️ **Warnings**: -- **You can't switch an existing Matrix server's implementation** (e.g. Synapse -> Conduwuit). 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 -> conduwuit). 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. - **Homeserver implementations other than Synapse may not be fully functional**. The playbook may also not assist you in an optimal way (like it does with Synapse). Make yourself familiar with the downsides before proceeding ## Adjusting the playbook configuration -To use Conduwuit, you **generally** need to adjust the `matrix_homeserver_implementation: synapse` configuration on your `inventory/host_vars/matrix.example.com/vars.yml` file as below: +To use conduwuit, you **generally** need to adjust the `matrix_homeserver_implementation: synapse` configuration on your `inventory/host_vars/matrix.example.com/vars.yml` file as below: ```yaml matrix_homeserver_implementation: conduwuit @@ -51,7 +51,7 @@ matrix_conduwuit_environment_variables_extension: | ## Creating the first user account -Unlike other homeserver implementations (like Synapse and Dendrite), Conduwuit does not support creating users via the command line or via the playbook. +Unlike other homeserver implementations (like Synapse and Dendrite), conduwuit does not support creating users via the command line or via the playbook. If you followed the instructions above (see [Adjusting the playbook configuration](#adjusting-the-playbook-configuration)), you should have registration enabled and protected by a registration token. @@ -64,9 +64,9 @@ The **first user account that you create will be marked as an admin** and **will For other homeserver implementations (like Synapse and Dendrite), the playbook automatically registers appservices (for bridges, bots, etc.) with the homeserver. -For Conduwuit, you will have to manually register appservices using the [`!admin appservices register` command](https://conduwuit.puppyirl.gay/appservices.html#set-up-the-appservice---general-instructions) sent to the server bot account. +For conduwuit, you will have to manually register appservices using the [`!admin appservices register` command](https://conduwuit.puppyirl.gay/appservices.html#set-up-the-appservice---general-instructions) sent to the server bot account. -The server's bot account has a Matrix ID of `@conduit:example.com` (not `@conduwuit:example.com`!) due to Conduwuit's historical legacy. +The server's bot account has a Matrix ID of `@conduit:example.com` (not `@conduwuit:example.com`!) due to conduwuit's historical legacy. Your first user account would already have been invited to an admin room with this bot. Find the appservice file you'd like to register. This can be any `registration.yaml` file found in the `/matrix` directory, for example `/matrix/mautrix-signal/bridge/registration.yaml`. diff --git a/docs/configuring-playbook.md b/docs/configuring-playbook.md index 98d182122..7836190f8 100644 --- a/docs/configuring-playbook.md +++ b/docs/configuring-playbook.md @@ -35,7 +35,7 @@ For a more custom setup, see the [Other configuration options](#other-configurat - [Configuring Conduit](configuring-playbook-conduit.md), if you've switched to the [Conduit](https://conduit.rs) homeserver implementation - - [Configuring Conduwuit](configuring-playbook-conduwuit.md), if you've switched to the [Conduwuit](https://conduwuit.puppyirl.gay/) homeserver implementation + - [Configuring conduwuit](configuring-playbook-conduwuit.md), if you've switched to the [conduwuit](https://conduwuit.puppyirl.gay/) homeserver implementation - [Configuring Dendrite](configuring-playbook-dendrite.md), if you've switched to the [Dendrite](https://matrix-org.github.io/dendrite) homeserver implementation diff --git a/docs/container-images.md b/docs/container-images.md index 2a38b2bd4..4f77a7bc6 100644 --- a/docs/container-images.md +++ b/docs/container-images.md @@ -10,7 +10,7 @@ We try to stick to official images (provided by their respective projects) as mu | ------- | --------------- | -------- | ----------- | | [Synapse](configuring-playbook-synapse.md) | [element-hq/synapse](https://ghcr.io/element-hq/synapse) | ✅ | Storing your data and managing your presence in the [Matrix](http://matrix.org/) network | | [Conduit](configuring-playbook-conduit.md) | [matrixconduit/matrix-conduit](https://hub.docker.com/r/matrixconduit/matrix-conduit) | ❌ | Storing your data and managing your presence in the [Matrix](http://matrix.org/) network. Conduit is a lightweight open-source server implementation of the Matrix Specification with a focus on easy setup and low system requirements | -| [Conduwuit](configuring-playbook-conduwuit.md) | [girlbossceo/conduwuit](https://ghcr.io/girlbossceo/conduwuit) | ❌ | Storing your data and managing your presence in the [Matrix](http://matrix.org/) network. Conduwuit is a fork of Conduit. | +| [conduwuit](configuring-playbook-conduwuit.md) | [girlbossceo/conduwuit](https://ghcr.io/girlbossceo/conduwuit) | ❌ | Storing your data and managing your presence in the [Matrix](http://matrix.org/) network. conduwuit is a fork of Conduit. | | [Dendrite](configuring-playbook-dendrite.md) | [matrixdotorg/dendrite-monolith](https://hub.docker.com/r/matrixdotorg/dendrite-monolith/) | ❌ | Storing your data and managing your presence in the [Matrix](http://matrix.org/) network. Dendrite is a second-generation Matrix homeserver written in Go, an alternative to Synapse. | ## Clients diff --git a/docs/howto-srv-server-delegation.md b/docs/howto-srv-server-delegation.md index 7cf484712..3d83dd86a 100644 --- a/docs/howto-srv-server-delegation.md +++ b/docs/howto-srv-server-delegation.md @@ -18,7 +18,7 @@ The up-to-date list can be accessed on [traefik's documentation](https://doc.tra **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), [Conduwuit](./configuring-playbook-conduwuit.md) or [Dendrite](./configuring-playbook-dendrite.md)) +- if you're using another homeserver implementation (e.g. [Conduit](./configuring-playbook-conduit.md), [conduwuit](./configuring-playbook-conduwuit.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 Also, all instructions below are from an older version of the playbook and may not work anymore. diff --git a/roles/custom/matrix-conduwuit/tasks/self_check_client_api.yml b/roles/custom/matrix-conduwuit/tasks/self_check_client_api.yml index a34c14fb4..19da0161b 100644 --- a/roles/custom/matrix-conduwuit/tasks/self_check_client_api.yml +++ b/roles/custom/matrix-conduwuit/tasks/self_check_client_api.yml @@ -14,7 +14,7 @@ - name: Fail if Matrix Client API not working ansible.builtin.fail: - msg: "Failed checking Matrix Client API is up at `{{ matrix_server_fqn_matrix }}` (checked endpoint: `{{ matrix_conduwuit_client_api_url_endpoint_public }}`). Is Conduwuit running? Is port 443 open in your firewall? Full error: {{ result_matrix_conduwuit_client_api }}" + msg: "Failed checking Matrix Client API is up at `{{ matrix_server_fqn_matrix }}` (checked endpoint: `{{ matrix_conduwuit_client_api_url_endpoint_public }}`). Is conduwuit running? Is port 443 open in your firewall? Full error: {{ result_matrix_conduwuit_client_api }}" when: "matrix_conduwuit_enabled | bool and (result_matrix_conduwuit_client_api.failed or 'json' not in result_matrix_conduwuit_client_api)" - name: Report working Matrix Client API diff --git a/roles/custom/matrix-conduwuit/templates/conduwuit.toml.j2 b/roles/custom/matrix-conduwuit/templates/conduwuit.toml.j2 index 4b011448c..86c1ac255 100644 --- a/roles/custom/matrix-conduwuit/templates/conduwuit.toml.j2 +++ b/roles/custom/matrix-conduwuit/templates/conduwuit.toml.j2 @@ -870,7 +870,7 @@ turn_password = {{ matrix_conduwuit_config_turn_password | to_json }} # 0 = AbsoluteConsistency # 1 = TolerateCorruptedTailRecords (default) # 2 = PointInTime (use me if trying to recover) -# 3 = SkipAnyCorruptedRecord (you now voided your Conduwuit warranty) +# 3 = SkipAnyCorruptedRecord (you now voided your conduwuit warranty) # # For more information on these modes, see: # https://github.com/facebook/rocksdb/wiki/WAL-Recovery-Modes diff --git a/roles/custom/matrix-conduwuit/templates/labels.j2 b/roles/custom/matrix-conduwuit/templates/labels.j2 index 9ef9db4f8..4a268c366 100644 --- a/roles/custom/matrix-conduwuit/templates/labels.j2 +++ b/roles/custom/matrix-conduwuit/templates/labels.j2 @@ -134,7 +134,7 @@ traefik.http.routers.matrix-conduwuit-public-federation-api.tls.certResolver={{ {% if matrix_conduwuit_container_labels_public_conduwuit_api_enabled %} ############################################################ # # -# Public Conduwuit-API (/_conduwuit) # +# Public conduwuit-API (/_conduwuit) # # # ############################################################ @@ -154,7 +154,7 @@ traefik.http.routers.matrix-conduwuit-public-conduwuit-api.tls.certResolver={{ m ############################################################ # # -# /Public Conduwuit-API (/_conduwuit) # +# /Public conduwuit-API (/_conduwuit) # # # ############################################################ {% endif %} diff --git a/roles/custom/matrix-user-creator/tasks/util/ensure_user_registered_conduwuit.yml b/roles/custom/matrix-user-creator/tasks/util/ensure_user_registered_conduwuit.yml index a44f982e4..8526fe996 100644 --- a/roles/custom/matrix-user-creator/tasks/util/ensure_user_registered_conduwuit.yml +++ b/roles/custom/matrix-user-creator/tasks/util/ensure_user_registered_conduwuit.yml @@ -1,5 +1,5 @@ --- -- name: Ensure Conduwuit user registered - {{ user.username | quote }} +- name: Ensure conduwuit user registered - {{ user.username | quote }} ansible.builtin.debug: - msg: "Not registering user. To register Conduwuit users, message the Conduwuit bot" + msg: "Not registering user. To register conduwuit users, message the conduwuit bot" From 4e5532a0d5f17c7d16829a91b9dc4113f2246e2e Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 19 Jan 2025 12:32:35 +0900 Subject: [PATCH 004/841] Update docs for Draupnir, D4A, and Mjolnir: emphasize the importance of being careful when inviting a user to the management room Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-appservice-draupnir-for-all.md | 2 +- docs/configuring-playbook-bot-draupnir.md | 4 +++- docs/configuring-playbook-bot-mjolnir.md | 4 +++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/docs/configuring-playbook-appservice-draupnir-for-all.md b/docs/configuring-playbook-appservice-draupnir-for-all.md index be7aacc30..8d6547dfd 100644 --- a/docs/configuring-playbook-appservice-draupnir-for-all.md +++ b/docs/configuring-playbook-appservice-draupnir-for-all.md @@ -28,7 +28,7 @@ The management room has to be given an alias, and your bot has to be invited to This management room is used to control who has access to your D4A deployment. The room stores this data inside of the control room state so your bot must have sufficient powerlevel to send custom state events. This is default 50 or moderator as Element clients call this powerlevel. -As noted in the Draupnir install instructions the control room is sensitive. **Anyone in this room can control the bot so it is important that you only invite trusted users to this room.** +⚠️ **Warning**: anyone in this room can control the bot so it is important that you only invite trusted users to this room. ### Set an alias to the management room diff --git a/docs/configuring-playbook-bot-draupnir.md b/docs/configuring-playbook-bot-draupnir.md index 288cc4104..79747fae6 100644 --- a/docs/configuring-playbook-bot-draupnir.md +++ b/docs/configuring-playbook-bot-draupnir.md @@ -12,7 +12,9 @@ If your migrating from Mjolnir skip to [this section](#migrating-from-mjolnir-on ### Create a management room -Using your own account, create a new invite only room that you will use to manage the bot. This is the room where you will see the status of the bot and where you will send commands to the bot, such as the command to ban a user from another room. Anyone in this room can control the bot so it is important that you only invite trusted users to this room. +Using your own account, create a new invite only room that you will use to manage the bot. This is the room where you will see the status of the bot and where you will send commands to the bot, such as the command to ban a user from another room. + +⚠️ **Warning**: anyone in this room can control the bot so it is important that you only invite trusted users to this room. If you make the management room encrypted (E2EE), then you need to enable the native E2EE support (see [below](#native-e2ee-support)). diff --git a/docs/configuring-playbook-bot-mjolnir.md b/docs/configuring-playbook-bot-mjolnir.md index 2564cd2f9..4e9717b55 100644 --- a/docs/configuring-playbook-bot-mjolnir.md +++ b/docs/configuring-playbook-bot-mjolnir.md @@ -52,7 +52,9 @@ You can obtain an access token for a homeserver admin account in the same way as ### Create a management room -Using your own account, create a new invite only room that you will use to manage the bot. This is the room where you will see the status of the bot and where you will send commands to the bot, such as the command to ban a user from another room. Anyone in this room can control the bot so it is important that you only invite trusted users to this room. +Using your own account, create a new invite only room that you will use to manage the bot. This is the room where you will see the status of the bot and where you will send commands to the bot, such as the command to ban a user from another room. + +⚠️ **Warning**: anyone in this room can control the bot so it is important that you only invite trusted users to this room. If you make the management room encrypted (E2EE), then you MUST enable and use Pantalaimon (see [below](#configuration-with-e2ee-support)). From 39625aae155869a0f65d6bbada20f0491e8631c3 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 19 Jan 2025 16:32:16 +0900 Subject: [PATCH 005/841] Update docs for Draupnir and Mjolnir: small edits for the common sentences Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bot-draupnir.md | 2 +- docs/configuring-playbook-bot-mjolnir.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/configuring-playbook-bot-draupnir.md b/docs/configuring-playbook-bot-draupnir.md index 79747fae6..69ab00e60 100644 --- a/docs/configuring-playbook-bot-draupnir.md +++ b/docs/configuring-playbook-bot-draupnir.md @@ -16,7 +16,7 @@ Using your own account, create a new invite only room that you will use to manag ⚠️ **Warning**: anyone in this room can control the bot so it is important that you only invite trusted users to this room. -If you make the management room encrypted (E2EE), then you need to enable the native E2EE support (see [below](#native-e2ee-support)). +It is possible to make the management room encrypted (E2EE). If doing so, then you need to enable the native E2EE support (see [below](#native-e2ee-support)). 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 Web 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`. diff --git a/docs/configuring-playbook-bot-mjolnir.md b/docs/configuring-playbook-bot-mjolnir.md index 4e9717b55..4d44a0e7a 100644 --- a/docs/configuring-playbook-bot-mjolnir.md +++ b/docs/configuring-playbook-bot-mjolnir.md @@ -56,7 +56,7 @@ Using your own account, create a new invite only room that you will use to manag ⚠️ **Warning**: anyone in this room can control the bot so it is important that you only invite trusted users to this room. -If you make the management room encrypted (E2EE), then you MUST enable and use Pantalaimon (see [below](#configuration-with-e2ee-support)). +It is possible to make the management room encrypted (E2EE). If doing so, then you MUST enable and use Pantalaimon (see [below](#configuration-with-e2ee-support)). 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 Web 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`. From 04ff68e229c9f4e2f2f9f4472e22c11bc29924f4 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 20 Jan 2025 13:08:49 +0900 Subject: [PATCH 006/841] Update docs for Draupnir and Mjolnir: tidy up the instruction to check the room ID Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bot-draupnir.md | 2 +- docs/configuring-playbook-bot-mjolnir.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/configuring-playbook-bot-draupnir.md b/docs/configuring-playbook-bot-draupnir.md index 69ab00e60..6884d67e5 100644 --- a/docs/configuring-playbook-bot-draupnir.md +++ b/docs/configuring-playbook-bot-draupnir.md @@ -18,7 +18,7 @@ Using your own account, create a new invite only room that you will use to manag It is possible to make the management room encrypted (E2EE). If doing so, then you need to enable the native E2EE support (see [below](#native-e2ee-support)). -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 Web 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`. +Once you have created the room you need to copy the room ID so you can specify it on your `inventory/host_vars/matrix.example.com/vars.yml` file. In Element Web you can check the ID by going to the room's settings and clicking "Advanced". The room ID will look something like `!qporfwt:example.com`. Finally invite the `@bot.draupnir:example.com` account that the playbook will create for you to the management room. Please note that clients can issue a warning that your attempting to invite a user that doesnt have a profile and might not exist. This warning is expected as your inviting the bot before its user account exists. diff --git a/docs/configuring-playbook-bot-mjolnir.md b/docs/configuring-playbook-bot-mjolnir.md index 4d44a0e7a..8d138396d 100644 --- a/docs/configuring-playbook-bot-mjolnir.md +++ b/docs/configuring-playbook-bot-mjolnir.md @@ -58,7 +58,7 @@ Using your own account, create a new invite only room that you will use to manag It is possible to make the management room encrypted (E2EE). If doing so, then you MUST enable and use Pantalaimon (see [below](#configuration-with-e2ee-support)). -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 Web 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`. +Once you have created the room you need to copy the room ID so you can specify it on your `vars.yml` file. In Element Web you can check the ID by going to the room's settings and clicking "Advanced". The room ID will look something like `!qporfwt:example.com`. Finally invite the `@bot.mjolnir:example.com` account you created earlier into the room. From 340e569984dd3f6c8343bba6632b8b5984ca3783 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 19 Jan 2025 11:42:59 +0900 Subject: [PATCH 007/841] Update docs/configuring-playbook-appservice-draupnir-for-all.md: remove the duplicated instruction to set an alias to the management room Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-appservice-draupnir-for-all.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/docs/configuring-playbook-appservice-draupnir-for-all.md b/docs/configuring-playbook-appservice-draupnir-for-all.md index 8d6547dfd..f2a2ade8c 100644 --- a/docs/configuring-playbook-appservice-draupnir-for-all.md +++ b/docs/configuring-playbook-appservice-draupnir-for-all.md @@ -30,10 +30,6 @@ This management room is used to control who has access to your D4A deployment. T ⚠️ **Warning**: anyone in this room can control the bot so it is important that you only invite trusted users to this room. -### Set an alias to the management room - -Next, set an alias to the management room. - ## Adjusting the playbook configuration Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file. Make sure to replace `MANAGEMENT_ROOM_ALIAS_HERE`. From 7b6b103e01f842e1e7d32fe6e7dd1c4eae9e179a Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 19 Jan 2025 11:39:59 +0900 Subject: [PATCH 008/841] Update docs/configuring-playbook-bot-draupnir.md: misc changes mainly fixing typos The typos were introduced by f15c0a46be2f9bd4adfdff207f64701560d11b13. Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bot-draupnir.md | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/docs/configuring-playbook-bot-draupnir.md b/docs/configuring-playbook-bot-draupnir.md index 6884d67e5..bbf04217b 100644 --- a/docs/configuring-playbook-bot-draupnir.md +++ b/docs/configuring-playbook-bot-draupnir.md @@ -20,29 +20,29 @@ It is possible to make the management room encrypted (E2EE). If doing so, then y Once you have created the room you need to copy the room ID so you can specify it on your `inventory/host_vars/matrix.example.com/vars.yml` file. In Element Web you can check the ID by going to the room's settings and clicking "Advanced". The room ID will look something like `!qporfwt:example.com`. -Finally invite the `@bot.draupnir:example.com` account that the playbook will create for you to the management room. Please note that clients can issue a warning that your attempting to invite a user that doesnt have a profile and might not exist. This warning is expected as your inviting the bot before its user account exists. +Finally invite the `@bot.draupnir:example.com` account that the playbook will create for you to the management room. Please note that clients can issue a warning that you are attempting to invite a user that does not have a profile and might not exist. This warning is expected as your inviting the bot before its user account exists. ## End-to-End Encryption support -Decide whether you want to support having an Encrypted management room or not. Draupnir can still protect encrypted rooms without encryption support enabled. +Decide whether you want to support having an encrypted management room or not. Draupnir can still protect encrypted rooms without encryption support enabled. -Refer to Draupnir's [Documentation](https://the-draupnir-project.github.io/draupnir-documentation/moderator/managing-protected-rooms#protecting-encrypted-rooms) for more information on why you might or might not care about encryption support for protected rooms. +Refer to Draupnir's [documentation](https://the-draupnir-project.github.io/draupnir-documentation/moderator/managing-protected-rooms#protecting-encrypted-rooms) for more details about why you might want to care about encryption support for protected rooms. -**Note**: Draupnir does not support running with Pantalaimon as it would break all workflows that involve answering prompts with reactions. +**Note**: since v2.0.0 Draupnir does not support running with Pantalaimon as it would break all workflows that involve answering prompts with reactions. ### Native E2EE support -To enable the native E2EE support, you need to obtain an access token for Draupnir. +To enable the native E2EE support, you need to obtain an access token for Draupnir and set it on your `vars.yml` file. Note that native E2EE requires a clean access token that has not touched E2EE so curl is recommended as a method to obtain it. **The access token obtained via Element Web does not work with it**. Refer to the documentation on [how to obtain an access token via curl](obtaining-access-tokens.md#obtain-an-access-token-via-curl). To enable the native E2EE support, add the following configuration to your `vars.yml` file: ```yaml -# Enables the native E2EE Support +# Enables the native E2EE support matrix_bot_draupnir_enable_experimental_rust_crypto: true -# Access Token the bot uses to login. +# Access token which the bot will use for logging in. # Comment out `matrix_bot_draupnir_login_native` when using this option. matrix_bot_draupnir_access_token: "ACCESS_TOKEN_HERE" ``` @@ -68,14 +68,15 @@ matrix_bot_draupnir_login_native: true matrix_bot_draupnir_management_room: "MANAGEMENT_ROOM_ID_HERE" ``` -Before Proceeding run the playbook with the following command to make sure the Draupnir user has been created. +Before proceeding to the next step, run the playbook with the following command to make sure that the bot user has been created. + ```sh ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created ``` ### Make sure the account is free from rate limiting -If your homeserver's implementation is Synapse, you will need to prevent it from rate limiting the bot's account. **This is a heavily recomended step. If you do not configure it, Draupnir performance will be degraded.** +If your homeserver's implementation is Synapse, you will need to prevent it from rate limiting the bot's account. **This is a highly recommended step. If you do not configure it, Draupnir performance will be degraded.** This can be done using Synapse's [Admin APIs](https://element-hq.github.io/synapse/latest/admin_api/user_admin_api.html#override-ratelimiting-for-users). They can be accessed both externally and internally. @@ -114,7 +115,7 @@ matrix_bot_draupnir_abuse_reporting_enabled: true ### Extending the configuration From 2c7914d07142ee555903c631a9309a0311dd9419 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 20 Jan 2025 13:06:47 +0900 Subject: [PATCH 009/841] Update docs/configuring-playbook-bot-draupnir.md: invite the Draupnir bot after installation Now that the bot user for Draupnir is created automatically and you no longer need to register it manually since its 2.0.0 version, it does not seem to be sensible to synchronize descriptions about inviting bots between documents for Draupnir and Mjolnir. It is not friendly to instruct to invite the bot which does not exist just yet, only to let the known error message about the nonexistent user displayed. Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bot-draupnir.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/configuring-playbook-bot-draupnir.md b/docs/configuring-playbook-bot-draupnir.md index bbf04217b..f95e3b3c5 100644 --- a/docs/configuring-playbook-bot-draupnir.md +++ b/docs/configuring-playbook-bot-draupnir.md @@ -20,8 +20,6 @@ It is possible to make the management room encrypted (E2EE). If doing so, then y Once you have created the room you need to copy the room ID so you can specify it on your `inventory/host_vars/matrix.example.com/vars.yml` file. In Element Web you can check the ID by going to the room's settings and clicking "Advanced". The room ID will look something like `!qporfwt:example.com`. -Finally invite the `@bot.draupnir:example.com` account that the playbook will create for you to the management room. Please note that clients can issue a warning that you are attempting to invite a user that does not have a profile and might not exist. This warning is expected as your inviting the bot before its user account exists. - ## End-to-End Encryption support Decide whether you want to support having an encrypted management room or not. Draupnir can still protect encrypted rooms without encryption support enabled. @@ -163,6 +161,8 @@ ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-use ## Usage +To use Draupnir, you need to invite the bot (`@bot.draupnir:example.com`) to its management room which you have created earlier. + You can refer to the upstream [documentation](https://the-draupnir-project.github.io/draupnir-documentation/) for additional ways to use and configure Draupnir and for a more detailed usage guide. Below is a **non-exhaustive quick-start guide** for the impatient. From 7186d5fb930f731f76e72e5dbd66f9d075fe377b Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 20 Jan 2025 00:00:10 +0900 Subject: [PATCH 010/841] Update docs/configuring-playbook-bot-draupnir.md: add an anchor link to configuring-playbook-bot-mjolnir.md Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bot-draupnir.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/configuring-playbook-bot-draupnir.md b/docs/configuring-playbook-bot-draupnir.md index f95e3b3c5..a79d69b66 100644 --- a/docs/configuring-playbook-bot-draupnir.md +++ b/docs/configuring-playbook-bot-draupnir.md @@ -6,7 +6,7 @@ See the project's [documentation](https://the-draupnir-project.github.io/draupni This documentation page is about installing Draupnir in bot mode. As an alternative, you can run a multi-instance Draupnir deployment by installing [Draupnir in appservice mode](./configuring-playbook-appservice-draupnir-for-all.md) (called Draupnir-for-all) instead. -If your migrating from Mjolnir skip to [this section](#migrating-from-mjolnir-only-required-if-migrating). +If your migrating from [Mjolnir](configuring-playbook-bot-mjolnir.md), skip to [this section](#migrating-from-mjolnir-only-required-if-migrating). ## Prerequisites From c4507d42e3bd07c7c94269a95d216f083dc2b89d Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 19 Jan 2025 15:33:35 +0900 Subject: [PATCH 011/841] Update docs/configuring-playbook-bot-draupnir.md: add "optoional, recommended" label to the section Unlike Mjolnir, the step is no longer required. It is optional and recommended on Draupnir, therefore it should be clarified so. Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bot-draupnir.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/configuring-playbook-bot-draupnir.md b/docs/configuring-playbook-bot-draupnir.md index a79d69b66..808bc4aa6 100644 --- a/docs/configuring-playbook-bot-draupnir.md +++ b/docs/configuring-playbook-bot-draupnir.md @@ -72,7 +72,7 @@ Before proceeding to the next step, run the playbook with the following command ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created ``` -### Make sure the account is free from rate limiting +### Make sure the account is free from rate limiting (optional, recommended) If your homeserver's implementation is Synapse, you will need to prevent it from rate limiting the bot's account. **This is a highly recommended step. If you do not configure it, Draupnir performance will be degraded.** From c691f855334ac568c80b6a5696ae209c21df98c5 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Mon, 20 Jan 2025 09:41:08 +0200 Subject: [PATCH 012/841] Upgrade ddclient (3.11.2 -> 4.0.0) and adjust config path Closes https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3971 The path change is due to: https://github.com/ddclient/ddclient/pull/789 This is untested. --- roles/custom/matrix-dynamic-dns/defaults/main.yml | 2 +- .../templates/systemd/matrix-dynamic-dns.service.j2 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/custom/matrix-dynamic-dns/defaults/main.yml b/roles/custom/matrix-dynamic-dns/defaults/main.yml index c2810e3d9..066d501f0 100644 --- a/roles/custom/matrix-dynamic-dns/defaults/main.yml +++ b/roles/custom/matrix-dynamic-dns/defaults/main.yml @@ -8,7 +8,7 @@ matrix_dynamic_dns_enabled: true matrix_dynamic_dns_daemon_interval: '300' # renovate: datasource=docker depName=linuxserver/ddclient versioning=semver -matrix_dynamic_dns_version: 3.11.2 +matrix_dynamic_dns_version: 4.0.0 # The docker container to use when in mode matrix_dynamic_dns_docker_image: "{{ matrix_dynamic_dns_docker_image_name_prefix }}linuxserver/ddclient:{{ matrix_dynamic_dns_version }}" diff --git a/roles/custom/matrix-dynamic-dns/templates/systemd/matrix-dynamic-dns.service.j2 b/roles/custom/matrix-dynamic-dns/templates/systemd/matrix-dynamic-dns.service.j2 index 488c692ad..e5507a337 100644 --- a/roles/custom/matrix-dynamic-dns/templates/systemd/matrix-dynamic-dns.service.j2 +++ b/roles/custom/matrix-dynamic-dns/templates/systemd/matrix-dynamic-dns.service.j2 @@ -23,7 +23,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ --network={{ matrix_dynamic_dns_container_network }} \ -e PUID={{ matrix_user_uid }} \ -e PGID={{ matrix_user_gid }} \ - --mount type=bind,src={{ matrix_dynamic_dns_config_path }},dst=/config \ + --mount type=bind,src={{ matrix_dynamic_dns_config_path }},dst=/config/ddclient \ {% for arg in matrix_dynamic_dns_container_extra_arguments %} {{ arg }} \ {% endfor %} From 887db388e8dbe060e0a8db07dd50f649348ca3dd Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 20 Jan 2025 11:55:52 +0900 Subject: [PATCH 013/841] Apply the review from another PR Cherry-picked from f7c01cca9c5a4aa6002f45fd011e0a2753a86482. Regressed by f15c0a46be2f9bd4adfdff207f64701560d11b13. Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bot-draupnir.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/docs/configuring-playbook-bot-draupnir.md b/docs/configuring-playbook-bot-draupnir.md index 808bc4aa6..bb0d479d7 100644 --- a/docs/configuring-playbook-bot-draupnir.md +++ b/docs/configuring-playbook-bot-draupnir.md @@ -26,7 +26,13 @@ Decide whether you want to support having an encrypted management room or not. D Refer to Draupnir's [documentation](https://the-draupnir-project.github.io/draupnir-documentation/moderator/managing-protected-rooms#protecting-encrypted-rooms) for more details about why you might want to care about encryption support for protected rooms. -**Note**: since v2.0.0 Draupnir does not support running with Pantalaimon as it would break all workflows that involve answering prompts with reactions. +### Disable Pantalaimon for Draupnir (since v2.0.0; optional) + +It is known that running Draupnir along with Pantalaimon breaks all workflows that involve answering prompts with reactions. + +If you are updating Draupnir from v1.x.x and have enabled Pantalaimon for it, you can disable Pantalaimon in favor of the native E2EE support. To disable Pantalaimon, remove the configuration `matrix_bot_draupnir_pantalaimon_use: true` from your `vars.yml` file. + +**Note**: because the management room is still encrypted, disabling it without enabling the native E2EE support will break the management room. ### Native E2EE support @@ -138,7 +144,7 @@ matrix_bot_draupnir_configuration_extension_yaml: | Replace your `matrix_bot_mjolnir` config with `matrix_bot_draupnir` config. Also disable Mjolnir if you're doing migration. -Note that Pantalaimon is unsupported by Draupnir so it is recommended to consult the instructions to enable [the native E2EE support](#native-e2ee-support). +Note that Draupnir supports E2EE natively, so you can enable it instead of Pantalaimon. It is recommended to consult the instruction [here](#native-e2ee-support). That is all you need to do due to that Draupnir can complete migration on its own. From d000b558e12e939c3bb7dc84cc08baddfbf291cb Mon Sep 17 00:00:00 2001 From: Kolja Date: Mon, 20 Jan 2025 09:25:13 +0100 Subject: [PATCH 014/841] Fix postgres maintenance links --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bd098a3dd..60fee527e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,9 +19,9 @@ To try out conduwuit, we recommend that you **use a new server**. Refer to our [ The Synapse homeserver [requires Postgres v13 or newer](https://github.com/element-hq/synapse/issues/18034). -If you've been maintaining your setup for a while and you haven't been doing [Postgres upgrades](maintenance-postgres.md#upgrading-postgresql), you may be on an old version of Postgres. The easiest way to check is to see the contents of the `/matrix/postgres/data/PG_VERSION` file. +If you've been maintaining your setup for a while and you haven't been doing [Postgres upgrades](docs/maintenance-postgres.md#upgrading-postgresql), you may be on an old version of Postgres. The easiest way to check is to see the contents of the `/matrix/postgres/data/PG_VERSION` file. -If you're on a Postgres version older than v13, you need to [upgrade your Postgres setup](maintenance-postgres.md#upgrading-postgresql) or Synapse will produce an error on startup. +If you're on a Postgres version older than v13, you need to [upgrade your Postgres setup](docs/maintenance-postgres.md#upgrading-postgresql) or Synapse will produce an error on startup. If you're using an external Postgres server (not installed by this playbook), you'll need to figure out how to upgrade it yourself. From 30a53efaddfc8605268b588614bc9c7534042d7b Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 19 Jan 2025 12:56:19 +0900 Subject: [PATCH 015/841] Update docs for Draupnir and Mjolnir: move the note about API access above Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bot-draupnir.md | 4 ++-- docs/configuring-playbook-bot-mjolnir.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/configuring-playbook-bot-draupnir.md b/docs/configuring-playbook-bot-draupnir.md index daa770567..e9cae6aaa 100644 --- a/docs/configuring-playbook-bot-draupnir.md +++ b/docs/configuring-playbook-bot-draupnir.md @@ -84,6 +84,8 @@ If your homeserver's implementation is Synapse, you will need to prevent it from This can be done using Synapse's [Admin APIs](https://element-hq.github.io/synapse/latest/admin_api/user_admin_api.html#override-ratelimiting-for-users). They can be accessed both externally and internally. +**Note**: access to the APIs is restricted with a valid access token, so exposing them publicly should not be a real security concern. Still, doing so is not recommended for additional security. See [official Synapse reverse-proxying recommendations](https://element-hq.github.io/synapse/latest/reverse_proxy.html#synapse-administration-endpoints). + To expose the APIs publicly, add the following configuration to your `vars.yml` file: ```yaml @@ -92,8 +94,6 @@ matrix_synapse_container_labels_public_client_synapse_admin_api_enabled: true The APIs can also be accessed via [Synapse Admin](https://github.com/etkecc/synapse-admin), a web UI tool you can use to administrate users, rooms, media, etc. on your Matrix server. The playbook can install and configure Synapse Admin for you. For details about it, see [this page](configuring-playbook-synapse-admin.md). -**Note**: access to the APIs is restricted with a valid access token, so exposing them publicly should not be a real security concern. Still, doing so is not recommended for additional security. See [official Synapse reverse-proxying recommendations](https://element-hq.github.io/synapse/latest/reverse_proxy.html#synapse-administration-endpoints). - To disable rate limiting, run the following command on systems that ship curl (note that it does not work on outdated Windows 10). Even if the APIs are not exposed to the internet, you should still be able to run the command on the homeserver locally. Before running it, make sure to replace `@bot.draupnir:example.com` with the MXID of your Draupnir: ```sh diff --git a/docs/configuring-playbook-bot-mjolnir.md b/docs/configuring-playbook-bot-mjolnir.md index 87a8f85dc..f0d96f163 100644 --- a/docs/configuring-playbook-bot-mjolnir.md +++ b/docs/configuring-playbook-bot-mjolnir.md @@ -32,6 +32,8 @@ If your homeserver's implementation is Synapse, you will need to prevent it from This can be done using Synapse's [Admin APIs](https://element-hq.github.io/synapse/latest/admin_api/user_admin_api.html#override-ratelimiting-for-users). They can be accessed both externally and internally. +**Note**: access to the APIs is restricted with a valid access token, so exposing them publicly should not be a real security concern. Still, doing so is not recommended for additional security. See [official Synapse reverse-proxying recommendations](https://element-hq.github.io/synapse/latest/reverse_proxy.html#synapse-administration-endpoints). + To expose the APIs publicly, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: ```yaml @@ -40,8 +42,6 @@ matrix_synapse_container_labels_public_client_synapse_admin_api_enabled: true The APIs can also be accessed via [Synapse Admin](https://github.com/etkecc/synapse-admin), a web UI tool you can use to administrate users, rooms, media, etc. on your Matrix server. The playbook can install and configure Synapse Admin for you. For details about it, see [this page](configuring-playbook-synapse-admin.md). -**Note**: access to the APIs is restricted with a valid access token, so exposing them publicly should not be a real security concern. Still, doing so is not recommended for additional security. See [official Synapse reverse-proxying recommendations](https://element-hq.github.io/synapse/latest/reverse_proxy.html#synapse-administration-endpoints). - To disable rate limiting, run the following command on systems that ship curl (note that it does not work on outdated Windows 10). Even if the APIs are not exposed to the internet, you should still be able to run the command on the homeserver locally. Before running it, make sure to replace `@bot.mjolnir:example.com` with the MXID of your Mjolnir: ```sh From aea2a6d53fcd671962a0c3381ae6f9cea4dabcf9 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 19 Jan 2025 13:03:10 +0900 Subject: [PATCH 016/841] Update docs for Draupnir and Mjolnir: create subsections for the instruction about making sure the account is free from rate limiting Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bot-draupnir.md | 6 +++++- docs/configuring-playbook-bot-mjolnir.md | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/docs/configuring-playbook-bot-draupnir.md b/docs/configuring-playbook-bot-draupnir.md index e9cae6aaa..dce9362b1 100644 --- a/docs/configuring-playbook-bot-draupnir.md +++ b/docs/configuring-playbook-bot-draupnir.md @@ -86,13 +86,17 @@ This can be done using Synapse's [Admin APIs](https://element-hq.github.io/synap **Note**: access to the APIs is restricted with a valid access token, so exposing them publicly should not be a real security concern. Still, doing so is not recommended for additional security. See [official Synapse reverse-proxying recommendations](https://element-hq.github.io/synapse/latest/reverse_proxy.html#synapse-administration-endpoints). +The APIs can also be accessed via [Synapse Admin](https://github.com/etkecc/synapse-admin), a web UI tool you can use to administrate users, rooms, media, etc. on your Matrix server. The playbook can install and configure Synapse Admin for you. For details about it, see [this page](configuring-playbook-synapse-admin.md). + +#### Add the configuration + To expose the APIs publicly, add the following configuration to your `vars.yml` file: ```yaml matrix_synapse_container_labels_public_client_synapse_admin_api_enabled: true ``` -The APIs can also be accessed via [Synapse Admin](https://github.com/etkecc/synapse-admin), a web UI tool you can use to administrate users, rooms, media, etc. on your Matrix server. The playbook can install and configure Synapse Admin for you. For details about it, see [this page](configuring-playbook-synapse-admin.md). +#### Run the `curl` command To disable rate limiting, run the following command on systems that ship curl (note that it does not work on outdated Windows 10). Even if the APIs are not exposed to the internet, you should still be able to run the command on the homeserver locally. Before running it, make sure to replace `@bot.draupnir:example.com` with the MXID of your Draupnir: diff --git a/docs/configuring-playbook-bot-mjolnir.md b/docs/configuring-playbook-bot-mjolnir.md index f0d96f163..d52952724 100644 --- a/docs/configuring-playbook-bot-mjolnir.md +++ b/docs/configuring-playbook-bot-mjolnir.md @@ -34,13 +34,17 @@ This can be done using Synapse's [Admin APIs](https://element-hq.github.io/synap **Note**: access to the APIs is restricted with a valid access token, so exposing them publicly should not be a real security concern. Still, doing so is not recommended for additional security. See [official Synapse reverse-proxying recommendations](https://element-hq.github.io/synapse/latest/reverse_proxy.html#synapse-administration-endpoints). +The APIs can also be accessed via [Synapse Admin](https://github.com/etkecc/synapse-admin), a web UI tool you can use to administrate users, rooms, media, etc. on your Matrix server. The playbook can install and configure Synapse Admin for you. For details about it, see [this page](configuring-playbook-synapse-admin.md). + +#### Add the configuration + To expose the APIs publicly, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: ```yaml matrix_synapse_container_labels_public_client_synapse_admin_api_enabled: true ``` -The APIs can also be accessed via [Synapse Admin](https://github.com/etkecc/synapse-admin), a web UI tool you can use to administrate users, rooms, media, etc. on your Matrix server. The playbook can install and configure Synapse Admin for you. For details about it, see [this page](configuring-playbook-synapse-admin.md). +#### Run the `curl` command To disable rate limiting, run the following command on systems that ship curl (note that it does not work on outdated Windows 10). Even if the APIs are not exposed to the internet, you should still be able to run the command on the homeserver locally. Before running it, make sure to replace `@bot.mjolnir:example.com` with the MXID of your Mjolnir: From 9a0e1e64a8ac11696e6039ccdaeaed11b5363cd0 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 19 Jan 2025 13:08:08 +0900 Subject: [PATCH 017/841] Update docs for Draupnir and Mjolnir: move the instruction to obtain an access token for the admin account above the one about running the curl command Also: clarify that it is the admin account that needs to be obtained for Synapse's Admin APIs. Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bot-draupnir.md | 12 ++++++------ docs/configuring-playbook-bot-mjolnir.md | 8 ++++++-- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/docs/configuring-playbook-bot-draupnir.md b/docs/configuring-playbook-bot-draupnir.md index dce9362b1..89258f620 100644 --- a/docs/configuring-playbook-bot-draupnir.md +++ b/docs/configuring-playbook-bot-draupnir.md @@ -96,6 +96,12 @@ To expose the APIs publicly, add the following configuration to your `vars.yml` matrix_synapse_container_labels_public_client_synapse_admin_api_enabled: true ``` +#### Obtain an access token for admin account + +Manual access to Synapse's Admin APIs requires an access token for a homeserver admin account. Refer to the documentation on [how to obtain an access token](obtaining-access-tokens.md). + +⚠️ **Warning**: Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone. + #### Run the `curl` command To disable rate limiting, run the following command on systems that ship curl (note that it does not work on outdated Windows 10). Even if the APIs are not exposed to the internet, you should still be able to run the command on the homeserver locally. Before running it, make sure to replace `@bot.draupnir:example.com` with the MXID of your Draupnir: @@ -104,12 +110,6 @@ To disable rate limiting, run the following command on systems that ship curl (n curl --header "Authorization: Bearer " -X POST https://matrix.example.com/_synapse/admin/v1/users/@bot.draupnir:example.com/override_ratelimit ``` -### Obtain an access token - -Manual access to Synapse's Admin API requires an access token. Refer to the documentation on [how to obtain an access token](obtaining-access-tokens.md). - -⚠️ **Warning**: Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone. - ### Abuse Reports Draupnir can receive reports in the management room. diff --git a/docs/configuring-playbook-bot-mjolnir.md b/docs/configuring-playbook-bot-mjolnir.md index d52952724..ef3900277 100644 --- a/docs/configuring-playbook-bot-mjolnir.md +++ b/docs/configuring-playbook-bot-mjolnir.md @@ -44,6 +44,12 @@ To expose the APIs publicly, add the following configuration to your `inventory/ matrix_synapse_container_labels_public_client_synapse_admin_api_enabled: true ``` +#### Obtain an access token for admin account + +Manual access to Synapse's Admin APIs requires an access token for a homeserver admin account. Refer to the documentation on [how to obtain an access token](obtaining-access-tokens.md). If you have made Mjolnir an admin, you can just use the Mjolnir token. + +⚠️ **Warning**: Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone. + #### Run the `curl` command To disable rate limiting, run the following command on systems that ship curl (note that it does not work on outdated Windows 10). Even if the APIs are not exposed to the internet, you should still be able to run the command on the homeserver locally. Before running it, make sure to replace `@bot.mjolnir:example.com` with the MXID of your Mjolnir: @@ -52,8 +58,6 @@ To disable rate limiting, run the following command on systems that ship curl (n curl --header "Authorization: Bearer " -X POST https://matrix.example.com/_synapse/admin/v1/users/@bot.mjolnir:example.com/override_ratelimit ``` -You can obtain an access token for a homeserver admin account in the same way as you can do so for Mjolnir itself. If you have made Mjolnir an admin, you can just use the Mjolnir token. - ### Create a management room Using your own account, create a new invite only room that you will use to manage the bot. This is the room where you will see the status of the bot and where you will send commands to the bot, such as the command to ban a user from another room. From 8eb513a49de6e55c7b5db495893ace87e14d0660 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 19 Jan 2025 13:20:40 +0900 Subject: [PATCH 018/841] Update docs for Draupnir and Mjolnir: improve instructions to replace the IDs Also: replace the placeholder for the clean access token Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bot-draupnir.md | 6 +++--- docs/configuring-playbook-bot-mjolnir.md | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/configuring-playbook-bot-draupnir.md b/docs/configuring-playbook-bot-draupnir.md index 89258f620..92c9ce5af 100644 --- a/docs/configuring-playbook-bot-draupnir.md +++ b/docs/configuring-playbook-bot-draupnir.md @@ -40,7 +40,7 @@ To enable the native E2EE support, you need to obtain an access token for Draupn Note that native E2EE requires a clean access token that has not touched E2EE so curl is recommended as a method to obtain it. **The access token obtained via Element Web does not work with it**. Refer to the documentation on [how to obtain an access token via curl](obtaining-access-tokens.md#obtain-an-access-token-via-curl). -To enable the native E2EE support, add the following configuration to your `vars.yml` file: +To enable the native E2EE support, add the following configuration to your `vars.yml` file. Make sure to replace `CLEAN_ACCESS_TOKEN_HERE` with the access token you obtained just now. ```yaml # Enables the native E2EE support @@ -48,12 +48,12 @@ matrix_bot_draupnir_enable_experimental_rust_crypto: true # Access token which the bot will use for logging in. # Comment out `matrix_bot_draupnir_login_native` when using this option. -matrix_bot_draupnir_access_token: "ACCESS_TOKEN_HERE" +matrix_bot_draupnir_access_token: "CLEAN_ACCESS_TOKEN_HERE" ``` ## Adjusting the playbook configuration -To enable the bot, add the following configuration to your `vars.yml` file. Make sure to replace `MANAGEMENT_ROOM_ID_HERE`. +To enable the bot, add the following configuration to your `vars.yml` file. Make sure to replace `MANAGEMENT_ROOM_ID_HERE` with the one of the room which you have created earlier. ```yaml # Enable Draupnir diff --git a/docs/configuring-playbook-bot-mjolnir.md b/docs/configuring-playbook-bot-mjolnir.md index ef3900277..f5218a87f 100644 --- a/docs/configuring-playbook-bot-mjolnir.md +++ b/docs/configuring-playbook-bot-mjolnir.md @@ -72,7 +72,7 @@ Finally invite the `@bot.mjolnir:example.com` account you created earlier into t ## Adjusting the playbook configuration -To enable the bot, add the following configuration to your `vars.yml` file. Make sure to replace `MANAGEMENT_ROOM_ID_HERE`. +To enable the bot, add the following configuration to your `vars.yml` file. Make sure to replace `MANAGEMENT_ROOM_ID_HERE` with the one of the room which you have created just now. ```yaml # Enable Mjolnir From 9c5cd42af156a07970968da52462edb77aeb4b49 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 19 Jan 2025 13:44:14 +0900 Subject: [PATCH 019/841] Update roles/custom/matrix-bot-draupnir/defaults/main.yml: fix capitalization, typo, and sentences Signed-off-by: Suguru Hirahara --- roles/custom/matrix-bot-draupnir/defaults/main.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/roles/custom/matrix-bot-draupnir/defaults/main.yml b/roles/custom/matrix-bot-draupnir/defaults/main.yml index aa4da34f6..632c9bfff 100644 --- a/roles/custom/matrix-bot-draupnir/defaults/main.yml +++ b/roles/custom/matrix-bot-draupnir/defaults/main.yml @@ -72,12 +72,12 @@ matrix_bot_draupnir_access_token: "" matrix_bot_draupnir_pantalaimon_username: "" matrix_bot_draupnir_pantalaimon_password: "" -# Username and password the bot uses for logging in directly. If using Pantalimon +# Username and password the bot uses for logging in directly. If using Pantalaimon # these values become the values of `matrix_bot_draupnir_pantalaimon_username` and `matrix_bot_draupnir_pantalaimon_password` matrix_bot_draupnir_login: "{{ matrix_bot_draupnir_pantalaimon_username if matrix_bot_draupnir_pantalaimon_use == 'true' else 'bot.draupnir' }}" matrix_bot_draupnir_password: "{{ matrix_bot_draupnir_pantalaimon_password }}" -# Controls if we activate the pantalaimon config block for now. This configuration block is proable to change name for our usecase +# Controls if we activate the Pantalaimon config block for now. This configuration block's name will probably be changed for our usecase # due to a Draupnir push to scrub Pantalaimon from the codebase. matrix_bot_draupnir_login_native: "" @@ -88,11 +88,11 @@ matrix_bot_draupnir_login_native: "" matrix_bot_draupnir_management_room: "" # Endpoint URL that Draupnir uses to interact with the Matrix homeserver (client-server API). -# Set this to the pantalaimon URL if you're using that. +# Set this to the Pantalaimon URL if you're using that. matrix_bot_draupnir_homeserver_url: "" # Endpoint URL that Draupnir could use to fetch events related to reports (client-server API and /_synapse/), -# only set this to the public-internet homeserver client API URL, do NOT set this to the pantalaimon URL. +# only set this to the public-internet homeserver client API URL. Do NOT set this to the Pantalaimon URL. matrix_bot_draupnir_raw_homeserver_url: "" # Disable Server ACL is used if you want to not give the bot the right to apply Server ACLs in rooms without complaints from the bot. From c3e9e513851803edb2833d07300e12acb6259d37 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 20 Jan 2025 18:07:48 +0900 Subject: [PATCH 020/841] Update roles/custom/matrix-bot-draupnir/defaults/main.yml: clarify that setting "matrix_bot_draupnir_pantalaimon_use" to false is opinionated Signed-off-by: Suguru Hirahara --- roles/custom/matrix-bot-draupnir/defaults/main.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/roles/custom/matrix-bot-draupnir/defaults/main.yml b/roles/custom/matrix-bot-draupnir/defaults/main.yml index 632c9bfff..6bd3387df 100644 --- a/roles/custom/matrix-bot-draupnir/defaults/main.yml +++ b/roles/custom/matrix-bot-draupnir/defaults/main.yml @@ -49,9 +49,9 @@ matrix_bot_draupnir_systemd_wanted_services_list: [] # Whether Draupnir should talk to the homeserver through Pantalaimon # If true, then other variables must be provided including pointing # `matrix_bot_draupnir_homeserver_url` to the Pantalaimon URL. -# Enabling this option is discouraged, because Draupnir does not support -# running with Pantalaimon as it would break all workflows that involve answering -# prompts with reactions. (Hint: a lot of workflows rely on them.) +# We discourage enabling this option, because it is known that running +# Draupnir along with Pantalaimon breaks all workflows that involve +# answering prompts with reactions. (Hint: a lot of workflows rely on them.) matrix_bot_draupnir_pantalaimon_use: false # If you choose to accept the risks of using Pantalaimon in your installation From 177ac8caa19fd80772bdaec38cedd14e39543f38 Mon Sep 17 00:00:00 2001 From: Catalan Lover Date: Mon, 20 Jan 2025 14:39:40 +0100 Subject: [PATCH 021/841] Replace old warnings with Github Markdown Warnings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit I executed a Search for `⚠️ **Warning**:` and replaced it with ``` > [!WARNING] > ``` I also capitalised the first letter where missing. Draupnir Docs have been excluded from this Commit as to not cause a separate PR im working on for the Draupnir docs to have potential merge conflicts and im making said change in that document too. --- docs/configuring-playbook-alertmanager-receiver.md | 3 ++- docs/configuring-playbook-appservice-draupnir-for-all.md | 3 ++- docs/configuring-playbook-bot-chatgpt.md | 3 ++- docs/configuring-playbook-bot-go-neb.md | 3 ++- docs/configuring-playbook-bot-maubot.md | 3 ++- docs/configuring-playbook-bot-mjolnir.md | 6 ++++-- docs/configuring-playbook-bridge-appservice-kakaotalk.md | 3 ++- docs/configuring-playbook-dimension.md | 3 ++- docs/configuring-playbook-email.md | 3 ++- docs/configuring-playbook-email2matrix.md | 3 ++- docs/configuring-playbook-jitsi.md | 6 ++++-- docs/configuring-playbook-matrix-corporal.md | 3 ++- docs/configuring-playbook-synapse-admin.md | 3 ++- docs/configuring-playbook-traefik.md | 6 ++++-- docs/configuring-playbook-user-verification-service.md | 3 ++- docs/installing.md | 3 ++- docs/maintenance-synapse.md | 3 ++- docs/obtaining-access-tokens.md | 3 ++- docs/registering-users.md | 9 ++++++--- 19 files changed, 48 insertions(+), 24 deletions(-) diff --git a/docs/configuring-playbook-alertmanager-receiver.md b/docs/configuring-playbook-alertmanager-receiver.md index 8a0b8776b..2184821fb 100644 --- a/docs/configuring-playbook-alertmanager-receiver.md +++ b/docs/configuring-playbook-alertmanager-receiver.md @@ -26,7 +26,8 @@ ansible-playbook -i inventory/hosts setup.yml --extra-vars='username=bot.alertma The bot requires an access token to be able to connect to your homeserver. Refer to the documentation on [how to obtain an access token](obtaining-access-tokens.md). -⚠️ **Warning**: Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone. +> [!WARNING] +> Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone. ### Join to rooms as the bot manually diff --git a/docs/configuring-playbook-appservice-draupnir-for-all.md b/docs/configuring-playbook-appservice-draupnir-for-all.md index d3e4741b2..ee5c11700 100644 --- a/docs/configuring-playbook-appservice-draupnir-for-all.md +++ b/docs/configuring-playbook-appservice-draupnir-for-all.md @@ -28,7 +28,8 @@ The management room has to be given an alias, and your bot has to be invited to This management room is used to control who has access to your D4A deployment. The room stores this data inside of the control room state so your bot must have sufficient powerlevel to send custom state events. This is default 50 or moderator as Element clients call this powerlevel. -⚠️ **Warning**: anyone in this room can control the bot so it is important that you only invite trusted users to this room. +> [!WARNING] +> Anyone in this room can control the bot so it is important that you only invite trusted users to this room. ## Adjusting the playbook configuration diff --git a/docs/configuring-playbook-bot-chatgpt.md b/docs/configuring-playbook-bot-chatgpt.md index 3ed5ef729..d29e6855d 100644 --- a/docs/configuring-playbook-bot-chatgpt.md +++ b/docs/configuring-playbook-bot-chatgpt.md @@ -28,7 +28,8 @@ ansible-playbook -i inventory/hosts setup.yml --extra-vars='username=bot.chatgpt The bot requires an access token to be able to connect to your homeserver. Refer to the documentation on [how to obtain an access token](obtaining-access-tokens.md). -⚠️ **Warning**: Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone. +> [!WARNING] +> Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone. To make sure the bot can read encrypted messages, it will need an encryption key, just like any other new user. While obtaining the access token, follow the prompts to setup a backup key. More information can be found in the [Element documentation](https://element.io/help#encryption6). diff --git a/docs/configuring-playbook-bot-go-neb.md b/docs/configuring-playbook-bot-go-neb.md index cd6e875cd..ff428c3e1 100644 --- a/docs/configuring-playbook-bot-go-neb.md +++ b/docs/configuring-playbook-bot-go-neb.md @@ -26,7 +26,8 @@ ansible-playbook -i inventory/hosts setup.yml --extra-vars='username=bot.go-neb The bot requires an access token to be able to connect to your homeserver. Refer to the documentation on [how to obtain an access token](obtaining-access-tokens.md). -⚠️ **Warning**: Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone. +> [!WARNING] +> Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone. ## Adjusting DNS records diff --git a/docs/configuring-playbook-bot-maubot.md b/docs/configuring-playbook-bot-maubot.md index 0436de588..be267b326 100644 --- a/docs/configuring-playbook-bot-maubot.md +++ b/docs/configuring-playbook-bot-maubot.md @@ -100,4 +100,5 @@ This can be done via `mbc login` then `mbc auth` (see the [maubot documentation] Alternatively, you can refer to the documentation on [how to obtain an access token](obtaining-access-tokens.md). Be aware that you'd better use the **Obtain an access token via curl** method (not **Obtain an access token via Element Web**) as the latter will causes issues to your bot in encrypted rooms. Read [more](https://docs.mau.fi/maubot/usage/basic.html#creating-clients). -⚠️ **Warning**: Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone. +> [!WARNING] +> Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone. diff --git a/docs/configuring-playbook-bot-mjolnir.md b/docs/configuring-playbook-bot-mjolnir.md index 87a8f85dc..9e40ceb04 100644 --- a/docs/configuring-playbook-bot-mjolnir.md +++ b/docs/configuring-playbook-bot-mjolnir.md @@ -24,7 +24,8 @@ If you would like Mjolnir to be able to deactivate users, move aliases, shutdown The bot requires an access token to be able to connect to your homeserver. Refer to the documentation on [how to obtain an access token](obtaining-access-tokens.md). -⚠️ **Warning**: Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone. +> [!WARNING] +> Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone. ### Make sure the account is free from rate limiting @@ -54,7 +55,8 @@ You can obtain an access token for a homeserver admin account in the same way as Using your own account, create a new invite only room that you will use to manage the bot. This is the room where you will see the status of the bot and where you will send commands to the bot, such as the command to ban a user from another room. -⚠️ **Warning**: anyone in this room can control the bot so it is important that you only invite trusted users to this room. +> [!WARNING] +> Anyone in this room can control the bot so it is important that you only invite trusted users to this room. It is possible to make the management room encrypted (E2EE). If doing so, then you MUST enable and use Pantalaimon (see [below](#configuration-with-e2ee-support)). diff --git a/docs/configuring-playbook-bridge-appservice-kakaotalk.md b/docs/configuring-playbook-bridge-appservice-kakaotalk.md index af0955273..9b029e194 100644 --- a/docs/configuring-playbook-bridge-appservice-kakaotalk.md +++ b/docs/configuring-playbook-bridge-appservice-kakaotalk.md @@ -4,7 +4,8 @@ The playbook can install and configure [matrix-appservice-kakaotalk](https://src See the project's [documentation](https://src.miscworks.net/fair/matrix-appservice-kakaotalk/src/branch/master/README.md) to learn what it does and why it might be useful to you. -⚠️ **Warning**: there have been recent reports (~2022-09-16) that **using this bridge may get your account banned**. +> [!WARNING] +> There have been recent reports (~2022-09-16) that **using this bridge may get your account banned**. ## Prerequisite (optional) diff --git a/docs/configuring-playbook-dimension.md b/docs/configuring-playbook-dimension.md index 7d1c0ce3f..71d5b9c0d 100644 --- a/docs/configuring-playbook-dimension.md +++ b/docs/configuring-playbook-dimension.md @@ -34,7 +34,8 @@ ansible-playbook -i inventory/hosts setup.yml --extra-vars='username=dimension p Dimension requires an access token to be able to connect to your homeserver. Refer to the documentation on [how to obtain an access token](obtaining-access-tokens.md). -⚠️ **Warning**: Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone. +> [!WARNING] +> Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone. ## Adjusting DNS records diff --git a/docs/configuring-playbook-email.md b/docs/configuring-playbook-email.md index b10dd8224..85fa6e37a 100644 --- a/docs/configuring-playbook-email.md +++ b/docs/configuring-playbook-email.md @@ -6,7 +6,8 @@ The email server would attempt to deliver emails directly to their final destina By default, emails are sent from `matrix@matrix.example.com`, as specified by the `exim_relay_sender_address` playbook variable. -⚠️ **Warning**: On some cloud providers (Google Cloud, etc.), [port 25 is always blocked](https://cloud.google.com/compute/docs/tutorials/sending-mail/), so sending email directly from your server is not possible. You will need to [relay email through another SMTP server](#relaying-email-through-another-smtp-server). +> [!WARNING] +> On some cloud providers (Google Cloud, etc.), [port 25 is always blocked](https://cloud.google.com/compute/docs/tutorials/sending-mail/), so sending email directly from your server is not possible. You will need to [relay email through another SMTP server](#relaying-email-through-another-smtp-server). 💡 To improve deliverability, we recommend [relaying email through another SMTP server](#relaying-email-through-another-smtp-server) anyway. diff --git a/docs/configuring-playbook-email2matrix.md b/docs/configuring-playbook-email2matrix.md index d703d5417..64ef5e112 100644 --- a/docs/configuring-playbook-email2matrix.md +++ b/docs/configuring-playbook-email2matrix.md @@ -36,7 +36,8 @@ Take note of the user's ID as it needs to be specified as `MatrixUserId` on your Email2Matrix requires an access token for the sender user to be able to send messages to the room. Refer to the documentation on [how to obtain an access token](obtaining-access-tokens.md). -⚠️ **Warning**: Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone. +> [!WARNING] +> Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone. ### Join to rooms as the sender user manually diff --git a/docs/configuring-playbook-jitsi.md b/docs/configuring-playbook-jitsi.md index a6b3cc28f..882d434e4 100644 --- a/docs/configuring-playbook-jitsi.md +++ b/docs/configuring-playbook-jitsi.md @@ -72,7 +72,8 @@ jitsi_prosody_auth_internal_accounts: #### Authenticate using Matrix OpenID: Auth-Type `matrix` -⚠️ **Warning**: this breaks the Jitsi instance on federated rooms probably and does not allow sharing conference links with guests. +> [!WARNING] +> This breaks the Jitsi instance on federated rooms probably and does not allow sharing conference links with guests. This authentication method requires [Matrix User Verification Service](https://github.com/matrix-org/matrix-user-verification-service), which can be installed using this [playbook](configuring-playbook-user-verification-service.md). It verifies against Matrix openID, and requires a user-verification-service to run. @@ -149,7 +150,8 @@ To enable the Gravatar service, add the following configuration to your `vars.ym jitsi_disable_gravatar: false ``` -⚠️ **Warning**: this will result in third party request leaking data to the Gravatar Service (`gravatar.com`, unless configured otherwise). Besides metadata, the Matrix user_id and possibly the room ID (via `referrer` header) will be also sent to the third party. +> [!WARNING] +> This will result in third party request leaking data to the Gravatar Service (`gravatar.com`, unless configured otherwise). Besides metadata, the Matrix user_id and possibly the room ID (via `referrer` header) will be also sent to the third party. ### Fine tune Jitsi (optional) diff --git a/docs/configuring-playbook-matrix-corporal.md b/docs/configuring-playbook-matrix-corporal.md index 6c4df4985..fea63b552 100644 --- a/docs/configuring-playbook-matrix-corporal.md +++ b/docs/configuring-playbook-matrix-corporal.md @@ -2,7 +2,8 @@
-⚠️ **Warning**: This is an advanced feature! It requires prior experience with Matrix and a specific need for using [Matrix Corporal](https://github.com/devture/matrix-corporal). If you're unsure whether you have such a need, you most likely don't. +> [!WARNING] +> This is an advanced feature! It requires prior experience with Matrix and a specific need for using [Matrix Corporal](https://github.com/devture/matrix-corporal). If you're unsure whether you have such a need, you most likely don't.
diff --git a/docs/configuring-playbook-synapse-admin.md b/docs/configuring-playbook-synapse-admin.md index 22635d012..bc404b9f1 100644 --- a/docs/configuring-playbook-synapse-admin.md +++ b/docs/configuring-playbook-synapse-admin.md @@ -27,7 +27,8 @@ matrix_synapse_admin_enabled: true By default, synapse-admin installation will be [restricted to only work with one homeserver](https://github.com/etkecc/synapse-admin/blob/e21e44362c879ac41f47c580b04210842b6ff3d7/README.md#restricting-available-homeserver) - the one managed by the playbook. To adjust these restrictions, tweak the `matrix_synapse_admin_config_restrictBaseUrl` variable. -⚠️ **Warning**: If you're using [Matrix Authentication Service](./configuring-playbook-matrix-authentication-service.md) (MAS) for authentication, you will be able to [log into synapse-admin with an access token](https://github.com/etkecc/synapse-admin/pull/58), but certain synapse-admin features (especially those around user management) will be limited or not work at all. +> [!WARNING] +> If you're using [Matrix Authentication Service](./configuring-playbook-matrix-authentication-service.md) (MAS) for authentication, you will be able to [log into synapse-admin with an access token](https://github.com/etkecc/synapse-admin/pull/58), but certain synapse-admin features (especially those around user management) will be limited or not work at all. ### Adjusting the Synapse Admin URL (optional) diff --git a/docs/configuring-playbook-traefik.md b/docs/configuring-playbook-traefik.md index 66d6b1aee..b9f3e86e8 100644 --- a/docs/configuring-playbook-traefik.md +++ b/docs/configuring-playbook-traefik.md @@ -34,7 +34,8 @@ traefik_dashboard_basicauth_user: YOUR_USERNAME_HERE traefik_dashboard_basicauth_password: YOUR_PASSWORD_HERE ``` -⚠️ **Warning**: Enabling the dashboard on a hostname you use for something else (like `matrix_server_fqn_matrix` in the configuration above) may cause conflicts. Enabling the Traefik Dashboard makes Traefik capture all `/dashboard` and `/api` requests and forward them to itself. If any of the services hosted on the same hostname requires any of these 2 URL prefixes, you will experience problems. So far, we're not aware of any playbook services which occupy these endpoints and are likely to cause conflicts. +> [!WARNING] +> Enabling the dashboard on a hostname you use for something else (like `matrix_server_fqn_matrix` in the configuration above) may cause conflicts. Enabling the Traefik Dashboard makes Traefik capture all `/dashboard` and `/api` requests and forward them to itself. If any of the services hosted on the same hostname requires any of these 2 URL prefixes, you will experience problems. So far, we're not aware of any playbook services which occupy these endpoints and are likely to cause conflicts. ## Additional configuration @@ -134,7 +135,8 @@ Changing the `url` to one with an `http://` prefix would allow to connect to the With these changes, all TCP traffic will be reverse-proxied to the target system. -⚠️ **Warning**: This configuration might lead to problems or need additional steps when a [certbot](https://certbot.eff.org/) behind Traefik also tries to manage [Let's Encrypt](https://letsencrypt.org/) certificates, as Traefik captures all traffic to ```PathPrefix(`/.well-known/acme-challenge/`)```. +> [!WARNING] +> This configuration might lead to problems or need additional steps when a [certbot](https://certbot.eff.org/) behind Traefik also tries to manage [Let's Encrypt](https://letsencrypt.org/) certificates, as Traefik captures all traffic to ```PathPrefix(`/.well-known/acme-challenge/`)```. ## Traefik behind a `proxy_protocol` reverse-proxy diff --git a/docs/configuring-playbook-user-verification-service.md b/docs/configuring-playbook-user-verification-service.md index 4b62c378b..0459752bb 100644 --- a/docs/configuring-playbook-user-verification-service.md +++ b/docs/configuring-playbook-user-verification-service.md @@ -43,7 +43,8 @@ ansible-playbook -i inventory/hosts setup.yml --extra-vars='username=uvs passwor UVS requires an access token as an admin user to verify RoomMembership and PowerLevel against `matrix_user_verification_service_uvs_homeserver_url`. Refer to the documentation on [how to obtain an access token](obtaining-access-tokens.md). -⚠️ **Warning**: Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone. +> [!WARNING] +> Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone. ## Adjusting the playbook configuration diff --git a/docs/installing.md b/docs/installing.md index c4eda3b9f..bcd2e2325 100644 --- a/docs/installing.md +++ b/docs/installing.md @@ -53,7 +53,8 @@ To do the installation **without** starting services, run `ansible-playbook` wit ansible-playbook -i inventory/hosts setup.yml --tags=install-all ``` -⚠️ **Warning**: do not run the just "recipe" `just install-all` instead, because it automatically starts services at the end of execution. See: [Difference between playbook tags and shortcuts](just.md#difference-between-playbook-tags-and-shortcuts) +> [!WARNING] +> Do not run the just "recipe" `just install-all` instead, because it automatically starts services at the end of execution. See: [Difference between playbook tags and shortcuts](just.md#difference-between-playbook-tags-and-shortcuts) When this command completes, services won't be running yet. diff --git a/docs/maintenance-synapse.md b/docs/maintenance-synapse.md index 0c2eded9b..3bb315fcb 100644 --- a/docs/maintenance-synapse.md +++ b/docs/maintenance-synapse.md @@ -18,7 +18,8 @@ You can use the **[Purge History API](https://github.com/element-hq/synapse/blob To make use of this Synapse Admin API, **you'll need an admin access token** first. Refer to the documentation on [how to obtain an access token](obtaining-access-tokens.md). -⚠️ **Warning**: Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone. +> [!WARNING] +> Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone. Synapse's Admin API is not exposed to the internet by default, following [official Synapse reverse-proxying recommendations](https://github.com/element-hq/synapse/blob/master/docs/reverse_proxy.md#synapse-administration-endpoints). To expose it you will need to add `matrix_synapse_container_labels_public_client_synapse_admin_api_enabled: true` to your `vars.yml` file. diff --git a/docs/obtaining-access-tokens.md b/docs/obtaining-access-tokens.md index e1f69b226..909d62b8f 100644 --- a/docs/obtaining-access-tokens.md +++ b/docs/obtaining-access-tokens.md @@ -2,7 +2,8 @@ When setting up some optional features like bots and bridges you will need to provide an access token for some user. This document provides documentation on how to obtain such an access token. -⚠️ **Warning**: Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone. +> [!WARNING] +> Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone. ## Prerequisites diff --git a/docs/registering-users.md b/docs/registering-users.md index ca62398da..1d92ce131 100644 --- a/docs/registering-users.md +++ b/docs/registering-users.md @@ -42,7 +42,8 @@ ansible-playbook -i inventory/hosts setup.yml --extra-vars='username=USERNAME_HE Feel free to register as many users (for friends, family, etc.) as you want. Still, perhaps you should grant full administrative access to your user account only (with `admin=yes`), and others should be created with `admin=no`. -⚠️ **Warning**: If you're registering users against Matrix Authentication Service, do note that it [still insists](https://github.com/element-hq/matrix-authentication-service/issues/1505) on having a verified email address for each user. Upon a user's first login, they will be asked to confirm their email address. This requires that email sending is [configured](./configuring-playbook-email.md). You can also consult the [Working around email deliverability issues](./configuring-playbook-matrix-authentication-service.md#working-around-email-deliverability-issues) section for more information. +> [!WARNING] +> If you're registering users against Matrix Authentication Service, do note that it [still insists](https://github.com/element-hq/matrix-authentication-service/issues/1505) on having a verified email address for each user. Upon a user's first login, they will be asked to confirm their email address. This requires that email sending is [configured](./configuring-playbook-email.md). You can also consult the [Working around email deliverability issues](./configuring-playbook-matrix-authentication-service.md#working-around-email-deliverability-issues) section for more information. ### Registering users manually for Synapse @@ -80,13 +81,15 @@ This `register-user` script actually invokes the `mas-cli manage register-user` /matrix/matrix-authentication-service/bin/mas-cli manage register-user --help ``` -⚠️ **Warning**: Matrix Authentication Service [still insists](https://github.com/element-hq/matrix-authentication-service/issues/1505) on having a verified email address for each user. Upon a user's first login, they will be asked to confirm their email address. This requires that email sending is [configured](./configuring-playbook-email.md). You can also consult the [Working around email deliverability issues](./configuring-playbook-matrix-authentication-service.md#working-around-email-deliverability-issues) section for more information. +> [!WARNING] +> Matrix Authentication Service [still insists](https://github.com/element-hq/matrix-authentication-service/issues/1505) on having a verified email address for each user. Upon a user's first login, they will be asked to confirm their email address. This requires that email sending is [configured](./configuring-playbook-email.md). You can also consult the [Working around email deliverability issues](./configuring-playbook-matrix-authentication-service.md#working-around-email-deliverability-issues) section for more information. ## Managing users via a Web UI To manage users more easily (via a web user-interace), you can install [Synapse Admin](configuring-playbook-synapse-admin.md). -⚠️ **Warning**: If you're using [Matrix Authentication Service](configuring-playbook-matrix-authentication-service.md), note that user management via synapse-admin is not fully working yet. See the [Expectations](configuring-playbook-matrix-authentication-service.md#expectations) section for more information. +> [!WARNING] +> If you're using [Matrix Authentication Service](configuring-playbook-matrix-authentication-service.md), note that user management via synapse-admin is not fully working yet. See the [Expectations](configuring-playbook-matrix-authentication-service.md#expectations) section for more information. ## Letting certain users register on your private server From cb0798bc0615687e3e1972b1c4c19774d565ee7f Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 20 Jan 2025 23:02:35 +0900 Subject: [PATCH 022/841] Update docs/configuring-playbook-bot-draupnir.md: create and soon invite the bot user to the management room Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bot-draupnir.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/docs/configuring-playbook-bot-draupnir.md b/docs/configuring-playbook-bot-draupnir.md index daa770567..eff27752d 100644 --- a/docs/configuring-playbook-bot-draupnir.md +++ b/docs/configuring-playbook-bot-draupnir.md @@ -72,12 +72,16 @@ matrix_bot_draupnir_login_native: true matrix_bot_draupnir_management_room: "MANAGEMENT_ROOM_ID_HERE" ``` -Before proceeding to the next step, run the playbook with the following command to make sure that the bot user has been created. +### Create and invite the bot to the management room + +Before proceeding to the next step, run the playbook with the following command to create the bot user. ```sh ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created ``` +Then, invite the bot (`@bot.draupnir:example.com`) to its management room which you have created earlier. + ### Make sure the account is free from rate limiting (optional, recommended) If your homeserver's implementation is Synapse, you will need to prevent it from rate limiting the bot's account. **This is a highly recommended step. If you do not configure it, Draupnir performance will be degraded.** @@ -171,8 +175,6 @@ ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-use ## Usage -To use Draupnir, you need to invite the bot (`@bot.draupnir:example.com`) to its management room which you have created earlier. - You can refer to the upstream [documentation](https://the-draupnir-project.github.io/draupnir-documentation/) for additional ways to use and configure Draupnir and for a more detailed usage guide. Below is a **non-exhaustive quick-start guide** for the impatient. From 66d96844d66c4b82d053a0fb566fe2036da6444c Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 20 Jan 2025 23:06:42 +0900 Subject: [PATCH 023/841] Update docs/configuring-playbook-bot-draupnir.md: move the note about the "ensure-matrix-users-created" playbook tag Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bot-draupnir.md | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/docs/configuring-playbook-bot-draupnir.md b/docs/configuring-playbook-bot-draupnir.md index eff27752d..f95adf68c 100644 --- a/docs/configuring-playbook-bot-draupnir.md +++ b/docs/configuring-playbook-bot-draupnir.md @@ -80,6 +80,8 @@ Before proceeding to the next step, run the playbook with the following command ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created ``` +**Note**: the `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. + Then, invite the bot (`@bot.draupnir:example.com`) to its management room which you have created earlier. ### Make sure the account is free from rate limiting (optional, recommended) @@ -165,13 +167,9 @@ After configuring the playbook, run it with [playbook tags](playbook-tags.md) as ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start ``` -**Notes**: +The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` -- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. - -- The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` - - `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. +`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. ## Usage From 8fadab4ee84e0c9f71d9d2b563d1c8ddf1df30e2 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 21 Jan 2025 12:16:51 +0900 Subject: [PATCH 024/841] Change the expression and fix other typos Signed-off-by: Suguru Hirahara --- roles/custom/matrix-bot-draupnir/defaults/main.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/roles/custom/matrix-bot-draupnir/defaults/main.yml b/roles/custom/matrix-bot-draupnir/defaults/main.yml index 6bd3387df..f1d4514de 100644 --- a/roles/custom/matrix-bot-draupnir/defaults/main.yml +++ b/roles/custom/matrix-bot-draupnir/defaults/main.yml @@ -67,7 +67,7 @@ matrix_bot_draupnir_enable_experimental_rust_crypto: false # (Otherwise provide `matrix_bot_draupnir_pantalaimon_username` and `matrix_bot_draupnir_pantalaimon_password` instead.) matrix_bot_draupnir_access_token: "" -# User name and password for the bot. Required when using Pantalaimon. +# Username and password for the bot. Required when using Pantalaimon. # (Otherwise provide `matrix_bot_draupnir_access_token` instead.) matrix_bot_draupnir_pantalaimon_username: "" matrix_bot_draupnir_pantalaimon_password: "" @@ -77,8 +77,8 @@ matrix_bot_draupnir_pantalaimon_password: "" matrix_bot_draupnir_login: "{{ matrix_bot_draupnir_pantalaimon_username if matrix_bot_draupnir_pantalaimon_use == 'true' else 'bot.draupnir' }}" matrix_bot_draupnir_password: "{{ matrix_bot_draupnir_pantalaimon_password }}" -# Controls if we activate the Pantalaimon config block for now. This configuration block's name will probably be changed for our usecase -# due to a Draupnir push to scrub Pantalaimon from the codebase. +# Controls if we activate the config block for Pantalaimon for now. Its name will +# probably be changed for our usecase due to Draupnir's push to scrub Pantalaimon from the codebase. matrix_bot_draupnir_login_native: "" # The room ID where people can use the bot. The bot has no access controls, so @@ -91,8 +91,8 @@ matrix_bot_draupnir_management_room: "" # Set this to the Pantalaimon URL if you're using that. matrix_bot_draupnir_homeserver_url: "" -# Endpoint URL that Draupnir could use to fetch events related to reports (client-server API and /_synapse/), -# only set this to the public-internet homeserver client API URL. Do NOT set this to the Pantalaimon URL. +# Endpoint URL that Draupnir could use to fetch events related to reports (client-server API and /_synapse/). +# Only set this to the public-internet homeserver client API URL. Do NOT set this to the Pantalaimon URL. matrix_bot_draupnir_raw_homeserver_url: "" # Disable Server ACL is used if you want to not give the bot the right to apply Server ACLs in rooms without complaints from the bot. @@ -102,7 +102,7 @@ matrix_bot_draupnir_raw_homeserver_url: "" # DO NOT change this to `true` unless you are very confident that you know what you are doing. # # Please follow the advice of upstream and only change this value if you know what your doing. -# Its Exposed here because its common enough to be valid to expose. +# It is exposed here because it is common enough to be valid to expose. matrix_bot_draupnir_disable_server_acl: "false" # Controls if the room state backing store is activated. From 5731bcd22211933e21e4fdcbf3b72744d49c7f2e Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 21 Jan 2025 12:31:16 +0900 Subject: [PATCH 025/841] Update roles/custom/matrix-bot-draupnir/defaults/main.yml: fix another sentence and capitalization Signed-off-by: Suguru Hirahara --- roles/custom/matrix-bot-draupnir/defaults/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/custom/matrix-bot-draupnir/defaults/main.yml b/roles/custom/matrix-bot-draupnir/defaults/main.yml index f1d4514de..e59dfc800 100644 --- a/roles/custom/matrix-bot-draupnir/defaults/main.yml +++ b/roles/custom/matrix-bot-draupnir/defaults/main.yml @@ -95,8 +95,8 @@ matrix_bot_draupnir_homeserver_url: "" # Only set this to the public-internet homeserver client API URL. Do NOT set this to the Pantalaimon URL. matrix_bot_draupnir_raw_homeserver_url: "" -# Disable Server ACL is used if you want to not give the bot the right to apply Server ACLs in rooms without complaints from the bot. -# This setting is described the following way in the Configuration. +# Disable Server ACL is used if you do not want to give the bot the right to apply Server ACLs in rooms without complaints from the bot. +# This setting is described the following way in the configuration. # # Whether or not Draupnir should apply `m.room.server_acl` events. # DO NOT change this to `true` unless you are very confident that you know what you are doing. From a7e1474c3a14af4003b7f8ebd30d210ac0277caa Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 21 Jan 2025 12:32:02 +0900 Subject: [PATCH 026/841] Update roles/custom/matrix-bot-draupnir/defaults/main.yml: strip a noisy warning and the order to check in at the upstream Multiple use of the phrase "you know what you are doing" does not increase its effect but rather makes it noisy instead. Since it is warned with capitalized "DO NOT", it is enough. Also replace the order to check in at the upstream with the recommendation, as it is inconsistent for this project overall to ask users to do so. It is not sensible to make an exception for Draupnir. Signed-off-by: Suguru Hirahara --- roles/custom/matrix-bot-draupnir/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-bot-draupnir/defaults/main.yml b/roles/custom/matrix-bot-draupnir/defaults/main.yml index e59dfc800..bd283e82b 100644 --- a/roles/custom/matrix-bot-draupnir/defaults/main.yml +++ b/roles/custom/matrix-bot-draupnir/defaults/main.yml @@ -100,8 +100,8 @@ matrix_bot_draupnir_raw_homeserver_url: "" # # Whether or not Draupnir should apply `m.room.server_acl` events. # DO NOT change this to `true` unless you are very confident that you know what you are doing. +# It is recommended to consult with people from the upstream project beforehand. # -# Please follow the advice of upstream and only change this value if you know what your doing. # It is exposed here because it is common enough to be valid to expose. matrix_bot_draupnir_disable_server_acl: "false" From 665f7369d68e43f5e1c898552be7df8586c8b4d7 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 21 Jan 2025 13:41:39 +0900 Subject: [PATCH 027/841] Update roles/custom/matrix-bot-draupnir/defaults/main.yml: change the subject who discourages Pantalaimon This change clarifies that it is the upstream project, not this project owner, that discourages enabling Pantalaimon for Draupnir. This distinction should make it clear who is responsible for the matter. Signed-off-by: Suguru Hirahara --- roles/custom/matrix-bot-draupnir/defaults/main.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/roles/custom/matrix-bot-draupnir/defaults/main.yml b/roles/custom/matrix-bot-draupnir/defaults/main.yml index bd283e82b..fb91a1c33 100644 --- a/roles/custom/matrix-bot-draupnir/defaults/main.yml +++ b/roles/custom/matrix-bot-draupnir/defaults/main.yml @@ -49,8 +49,9 @@ matrix_bot_draupnir_systemd_wanted_services_list: [] # Whether Draupnir should talk to the homeserver through Pantalaimon # If true, then other variables must be provided including pointing # `matrix_bot_draupnir_homeserver_url` to the Pantalaimon URL. -# We discourage enabling this option, because it is known that running -# Draupnir along with Pantalaimon breaks all workflows that involve +# +# The upstream project discourages enabling this option, because it is +# known that running Draupnir along with Pantalaimon breaks all workflows that involve # answering prompts with reactions. (Hint: a lot of workflows rely on them.) matrix_bot_draupnir_pantalaimon_use: false From 7b979ff7a93b3fb6a30a438d78dd3f59a065d20a Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 21 Jan 2025 13:55:49 +0900 Subject: [PATCH 028/841] Update roles/custom/matrix-bot-draupnir/defaults/main.yml: replace "when" with "if" for consistency and to clarify that these are conditions Note that there is no other "when" on this file. It is not sensible to keep these exceptions here. Signed-off-by: Suguru Hirahara --- roles/custom/matrix-bot-draupnir/defaults/main.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/roles/custom/matrix-bot-draupnir/defaults/main.yml b/roles/custom/matrix-bot-draupnir/defaults/main.yml index fb91a1c33..7c2eacde8 100644 --- a/roles/custom/matrix-bot-draupnir/defaults/main.yml +++ b/roles/custom/matrix-bot-draupnir/defaults/main.yml @@ -64,16 +64,16 @@ matrix_bot_draupnir_pantalaimon_breakage_ignore: false # Rust Crypto requires a clean access token that has not touched E2EE so curl is recommended as a method to obtain it. matrix_bot_draupnir_enable_experimental_rust_crypto: false -# The access token for the bot user. Required when NOT using Pantalaimon. +# The access token for the bot user. Required if Pantalaimon is NOT used. # (Otherwise provide `matrix_bot_draupnir_pantalaimon_username` and `matrix_bot_draupnir_pantalaimon_password` instead.) matrix_bot_draupnir_access_token: "" -# Username and password for the bot. Required when using Pantalaimon. +# Username and password for the bot. Required if Pantalaimon is used. # (Otherwise provide `matrix_bot_draupnir_access_token` instead.) matrix_bot_draupnir_pantalaimon_username: "" matrix_bot_draupnir_pantalaimon_password: "" -# Username and password the bot uses for logging in directly. If using Pantalaimon +# Username and password the bot uses for logging in directly. If Pantalaimon is used, # these values become the values of `matrix_bot_draupnir_pantalaimon_username` and `matrix_bot_draupnir_pantalaimon_password` matrix_bot_draupnir_login: "{{ matrix_bot_draupnir_pantalaimon_username if matrix_bot_draupnir_pantalaimon_use == 'true' else 'bot.draupnir' }}" matrix_bot_draupnir_password: "{{ matrix_bot_draupnir_pantalaimon_password }}" From 9d3ef6134bbba7bc91c915ce136f734317fd8841 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 21 Jan 2025 14:52:39 +0900 Subject: [PATCH 029/841] Update roles/custom/matrix-bot-draupnir/defaults/main.yml: make sure what the word "it" means here Here "it" should not mean "the upstream advice". Signed-off-by: Suguru Hirahara --- roles/custom/matrix-bot-draupnir/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-bot-draupnir/defaults/main.yml b/roles/custom/matrix-bot-draupnir/defaults/main.yml index 7c2eacde8..2219cdd98 100644 --- a/roles/custom/matrix-bot-draupnir/defaults/main.yml +++ b/roles/custom/matrix-bot-draupnir/defaults/main.yml @@ -56,7 +56,7 @@ matrix_bot_draupnir_systemd_wanted_services_list: [] matrix_bot_draupnir_pantalaimon_use: false # If you choose to accept the risks of using Pantalaimon in your installation -# against the upstream advice, you can enable this to disable the warning about it. +# against the upstream advice, you can enable this to disable the warning about using it. matrix_bot_draupnir_pantalaimon_breakage_ignore: false # Tells the bot if it should use its native E2EE support in the form of experimental Rust Crypto in the bot SDK. From 2698ed85a045e9166acd49329cde92622decd2e8 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Tue, 21 Jan 2025 08:13:31 +0200 Subject: [PATCH 030/841] Replace old warnings with Github Markdown Warnings Ref: https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3980 --- docs/configuring-playbook-bot-mjolnir.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/docs/configuring-playbook-bot-mjolnir.md b/docs/configuring-playbook-bot-mjolnir.md index f5218a87f..78337025c 100644 --- a/docs/configuring-playbook-bot-mjolnir.md +++ b/docs/configuring-playbook-bot-mjolnir.md @@ -24,7 +24,8 @@ If you would like Mjolnir to be able to deactivate users, move aliases, shutdown The bot requires an access token to be able to connect to your homeserver. Refer to the documentation on [how to obtain an access token](obtaining-access-tokens.md). -⚠️ **Warning**: Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone. +> [!WARNING] +> Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone. ### Make sure the account is free from rate limiting @@ -48,7 +49,8 @@ matrix_synapse_container_labels_public_client_synapse_admin_api_enabled: true Manual access to Synapse's Admin APIs requires an access token for a homeserver admin account. Refer to the documentation on [how to obtain an access token](obtaining-access-tokens.md). If you have made Mjolnir an admin, you can just use the Mjolnir token. -⚠️ **Warning**: Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone. +> [!WARNING] +> Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone. #### Run the `curl` command @@ -62,7 +64,8 @@ curl --header "Authorization: Bearer " -X POST https://matrix.exam Using your own account, create a new invite only room that you will use to manage the bot. This is the room where you will see the status of the bot and where you will send commands to the bot, such as the command to ban a user from another room. -⚠️ **Warning**: anyone in this room can control the bot so it is important that you only invite trusted users to this room. +> [!WARNING] +> Anyone in this room can control the bot so it is important that you only invite trusted users to this room. It is possible to make the management room encrypted (E2EE). If doing so, then you MUST enable and use Pantalaimon (see [below](#configuration-with-e2ee-support)). From 3343eadd466c52c61468531f765e7177356560cc Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Tue, 21 Jan 2025 08:14:49 +0200 Subject: [PATCH 031/841] Replace old warnings with Github Markdown Warnings on Draupnir doc page Ref: https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3980 --- docs/configuring-playbook-bot-draupnir.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/configuring-playbook-bot-draupnir.md b/docs/configuring-playbook-bot-draupnir.md index 92c9ce5af..ce4ac494f 100644 --- a/docs/configuring-playbook-bot-draupnir.md +++ b/docs/configuring-playbook-bot-draupnir.md @@ -14,7 +14,8 @@ If your migrating from [Mjolnir](configuring-playbook-bot-mjolnir.md), skip to [ Using your own account, create a new invite only room that you will use to manage the bot. This is the room where you will see the status of the bot and where you will send commands to the bot, such as the command to ban a user from another room. -⚠️ **Warning**: anyone in this room can control the bot so it is important that you only invite trusted users to this room. +> [!WARNING] +> Anyone in this room can control the bot so it is important that you only invite trusted users to this room. It is possible to make the management room encrypted (E2EE). If doing so, then you need to enable the native E2EE support (see [below](#native-e2ee-support)). @@ -100,7 +101,8 @@ matrix_synapse_container_labels_public_client_synapse_admin_api_enabled: true Manual access to Synapse's Admin APIs requires an access token for a homeserver admin account. Refer to the documentation on [how to obtain an access token](obtaining-access-tokens.md). -⚠️ **Warning**: Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone. +> [!WARNING] +> Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone. #### Run the `curl` command From 3b685df1abde9271794ac61bcbd135570aecf7ff Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 19 Jan 2025 14:33:37 +0900 Subject: [PATCH 032/841] Update docs for Draupnir and Mjolnir: improve the instructions for running the curl command to disable rate limiting Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bot-draupnir.md | 12 ++++++++++-- docs/configuring-playbook-bot-mjolnir.md | 12 ++++++++++-- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/docs/configuring-playbook-bot-draupnir.md b/docs/configuring-playbook-bot-draupnir.md index ecc63256b..965906b16 100644 --- a/docs/configuring-playbook-bot-draupnir.md +++ b/docs/configuring-playbook-bot-draupnir.md @@ -112,12 +112,20 @@ Manual access to Synapse's Admin APIs requires an access token for a homeserver #### Run the `curl` command -To disable rate limiting, run the following command on systems that ship curl (note that it does not work on outdated Windows 10). Even if the APIs are not exposed to the internet, you should still be able to run the command on the homeserver locally. Before running it, make sure to replace `@bot.draupnir:example.com` with the MXID of your Draupnir: +To disable rate limiting, run the following command on systems that ship curl. Before running it, make sure to replace: + +- `ADMIN_ACCESS_TOKEN_HERE` with the access token of the admin account +- `example.com` with your base domain +- `@bot.draupnir:example.com` with the MXID of your Draupnir bot user ```sh -curl --header "Authorization: Bearer " -X POST https://matrix.example.com/_synapse/admin/v1/users/@bot.draupnir:example.com/override_ratelimit +curl --header "Authorization: Bearer ADMIN_ACCESS_TOKEN_HERE" -X POST https://matrix.example.com/_synapse/admin/v1/users/@bot.draupnir:example.com/override_ratelimit ``` +**Notes**: +- This does not work on outdated Windows 10 as curl is not available there. +- Even if the APIs are not exposed to the internet, you should still be able to run the command on the homeserver locally. + ### Abuse Reports Draupnir can receive reports in the management room. diff --git a/docs/configuring-playbook-bot-mjolnir.md b/docs/configuring-playbook-bot-mjolnir.md index 78337025c..2f068e7fa 100644 --- a/docs/configuring-playbook-bot-mjolnir.md +++ b/docs/configuring-playbook-bot-mjolnir.md @@ -54,12 +54,20 @@ Manual access to Synapse's Admin APIs requires an access token for a homeserver #### Run the `curl` command -To disable rate limiting, run the following command on systems that ship curl (note that it does not work on outdated Windows 10). Even if the APIs are not exposed to the internet, you should still be able to run the command on the homeserver locally. Before running it, make sure to replace `@bot.mjolnir:example.com` with the MXID of your Mjolnir: +To disable rate limiting, run the following command on systems that ship curl. Before running it, make sure to replace: + +- `ADMIN_ACCESS_TOKEN_HERE` with the access token of the admin account +- `example.com` with your base domain +- `@bot.mjolnir:example.com` with the MXID of your Mjolnir bot user ```sh -curl --header "Authorization: Bearer " -X POST https://matrix.example.com/_synapse/admin/v1/users/@bot.mjolnir:example.com/override_ratelimit +curl --header "Authorization: Bearer ADMIN_ACCESS_TOKEN_HERE" -X POST https://matrix.example.com/_synapse/admin/v1/users/@bot.mjolnir:example.com/override_ratelimit ``` +**Notes**: +- This does not work on outdated Windows 10 as curl is not available there. +- Even if the APIs are not exposed to the internet, you should still be able to run the command on the homeserver locally. + ### Create a management room Using your own account, create a new invite only room that you will use to manage the bot. This is the room where you will see the status of the bot and where you will send commands to the bot, such as the command to ban a user from another room. From ef6f50e898d873a9e7d3ad0438abe15d7dd7c6c1 Mon Sep 17 00:00:00 2001 From: Catalan Lover Date: Tue, 21 Jan 2025 16:49:21 +0100 Subject: [PATCH 033/841] Change matrix_synapse_forgotten_room_retention_period from null to 28d As we automatically forget rooms on leave in the playbook this option working at all is probably heavily desired. Timing is copied from upstream example. Credit goes to Anoa for making me even check this. --- roles/custom/matrix-synapse/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-synapse/defaults/main.yml b/roles/custom/matrix-synapse/defaults/main.yml index b45381c56..657d546bf 100644 --- a/roles/custom/matrix-synapse/defaults/main.yml +++ b/roles/custom/matrix-synapse/defaults/main.yml @@ -1456,7 +1456,7 @@ matrix_synapse_redaction_retention_period: 7d # Controls how long to keep locally forgotten rooms before purging them from the DB. # Defaults to `null`, meaning it's disabled. # Example value: 28d -matrix_synapse_forgotten_room_retention_period: ~ +matrix_synapse_forgotten_room_retention_period: 28d matrix_synapse_user_ips_max_age: 28d From fbe32cc17ce431dc88fa03587d9413d5523d059b Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Wed, 22 Jan 2025 01:35:34 +0900 Subject: [PATCH 034/841] Update docs/configuring-playbook-backup-borg.md and docs/configuring-playbook-synapse-auto-compressor.md: adopt the common description Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-backup-borg.md | 2 +- docs/configuring-playbook-synapse-auto-compressor.md | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/docs/configuring-playbook-backup-borg.md b/docs/configuring-playbook-backup-borg.md index ed960f252..702e72613 100644 --- a/docs/configuring-playbook-backup-borg.md +++ b/docs/configuring-playbook-backup-borg.md @@ -138,6 +138,6 @@ The shortcut commands with the [`just` program](just.md) are also available: `ju Sometimes it can be helpful to run the backup as you'd like, avoiding to wait until 4 a.m., like when you test your configuration. -If you want to run the backup immediately, log in to the server with SSH and run `systemctl start matrix-backup-borg`. +If you want to run it immediately, log in to the server with SSH and run `systemctl start matrix-backup-borg`. This will not return until the backup is done, so it can possibly take a long time. Consider using [tmux](https://en.wikipedia.org/wiki/Tmux) if your SSH connection is unstable. diff --git a/docs/configuring-playbook-synapse-auto-compressor.md b/docs/configuring-playbook-synapse-auto-compressor.md index 50e981cb4..8af611fae 100644 --- a/docs/configuring-playbook-synapse-auto-compressor.md +++ b/docs/configuring-playbook-synapse-auto-compressor.md @@ -31,6 +31,10 @@ The shortcut commands with the [`just` program](just.md) are also available: `ju After installation, `synapse_auto_compressor` will run automatically every day at `00:00:00` (as defined in `matrix_synapse_auto_compressor_calendar` by default). -## Manually start the tool +## Manually execute compression -For testing your setup it can be helpful to not wait until 00:00. If you want to run the tool immediately, log onto the server and run `systemctl start matrix-synapse-auto-compressor`. Running this command will not return control to your terminal until the compression run is done, which may take a long time. Consider using [tmux](https://en.wikipedia.org/wiki/Tmux) if your SSH connection is unstable. +Sometimes it can be helpful to execute compression as you'd like, avoiding to wait until 00:00, like when you test your configuration. + +If you want to execute it immediately, log in to the server with SSH and run `systemctl start matrix-synapse-auto-compressor`. + +This will not return until the compression is done, so it can possibly take a long time. Consider using [tmux](https://en.wikipedia.org/wiki/Tmux) if your SSH connection is unstable. From 4d6ee3db7e249f641ba74f440306f1509685f95a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 21 Jan 2025 21:34:42 +0000 Subject: [PATCH 035/841] Update matrixdotorg/mjolnir Docker tag to v1.9.2 --- roles/custom/matrix-bot-mjolnir/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-bot-mjolnir/defaults/main.yml b/roles/custom/matrix-bot-mjolnir/defaults/main.yml index 9f7fea28c..cba27a58d 100644 --- a/roles/custom/matrix-bot-mjolnir/defaults/main.yml +++ b/roles/custom/matrix-bot-mjolnir/defaults/main.yml @@ -5,7 +5,7 @@ matrix_bot_mjolnir_enabled: true # renovate: datasource=docker depName=matrixdotorg/mjolnir -matrix_bot_mjolnir_version: "v1.9.1" +matrix_bot_mjolnir_version: "v1.9.2" matrix_bot_mjolnir_container_image_self_build: false matrix_bot_mjolnir_container_image_self_build_repo: "https://github.com/matrix-org/mjolnir.git" From 52da325ab83bb6b16e15adbd7bdad1e5b32c3943 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Wed, 22 Jan 2025 08:43:35 +0200 Subject: [PATCH 036/841] Cross-link `matrix_synapse_forget_rooms_on_leave` and `matrix_synapse_forgotten_room_retention_period` variables --- roles/custom/matrix-synapse/defaults/main.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/roles/custom/matrix-synapse/defaults/main.yml b/roles/custom/matrix-synapse/defaults/main.yml index 657d546bf..2c070b47d 100644 --- a/roles/custom/matrix-synapse/defaults/main.yml +++ b/roles/custom/matrix-synapse/defaults/main.yml @@ -1415,6 +1415,7 @@ matrix_synapse_default_room_version: "10" # Controls whether leaving a room will automatically forget it. # The upstream default is `false`, but we try to make Synapse less wasteful of resources, so we do things differently. +# Also see: `matrix_synapse_forgotten_room_retention_period` matrix_synapse_forget_rooms_on_leave: true # Controls the Synapse `modules` list. @@ -1455,6 +1456,7 @@ matrix_synapse_redaction_retention_period: 7d # Controls how long to keep locally forgotten rooms before purging them from the DB. # Defaults to `null`, meaning it's disabled. +# Also see: `matrix_synapse_forget_rooms_on_leave` # Example value: 28d matrix_synapse_forgotten_room_retention_period: 28d From c8ca9489bb833cf2460993717cf1aa68a1a3bf36 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 16 Jan 2025 23:54:20 +0900 Subject: [PATCH 037/841] Update docs/configuring-playbook-bridge-mautrix-wsproxy.md: move down the section "Extending the configuration" for consistency Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bridge-mautrix-wsproxy.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/configuring-playbook-bridge-mautrix-wsproxy.md b/docs/configuring-playbook-bridge-mautrix-wsproxy.md index bdc1f3bb2..fb2005c6d 100644 --- a/docs/configuring-playbook-bridge-mautrix-wsproxy.md +++ b/docs/configuring-playbook-bridge-mautrix-wsproxy.md @@ -28,12 +28,6 @@ matrix_mautrix_wsproxy_syncproxy_shared_secret: 'secret token from bridge' Note that the tokens must match what is compiled into the [mautrix-imessage](https://github.com/mautrix/imessage) bridge running on your Mac or Android device. -### Extending the configuration - -There are some additional things you may wish to configure about the bridge. - -See [this section](configuring-playbook-bridge-mautrix-bridges.md#extending-the-configuration) on the [common guide for configuring mautrix bridges](configuring-playbook-bridge-mautrix-bridges.md) for details about variables that you can customize and the bridge's default configuration, including [bridge permissions](configuring-playbook-bridge-mautrix-bridges.md#configure-bridge-permissions-optional), [encryption support](configuring-playbook-bridge-mautrix-bridges.md#enable-encryption-optional), [relay mode](configuring-playbook-bridge-mautrix-bridges.md#enable-relay-mode-optional), [bot's username](configuring-playbook-bridge-mautrix-bridges.md#set-the-bots-username-optional), etc. - ### Adjusting the wsproxy URL (optional) By tweaking the `matrix_mautrix_wsproxy_hostname` variable, you can easily make the service available at a **different hostname** than the default one. @@ -47,6 +41,12 @@ matrix_mautrix_wsproxy_hostname: ws.example.com After changing the domain, **you may need to adjust your DNS** records to point the wsproxy domain to the Matrix server. +### Extending the configuration + +There are some additional things you may wish to configure about the bridge. + +See [this section](configuring-playbook-bridge-mautrix-bridges.md#extending-the-configuration) on the [common guide for configuring mautrix bridges](configuring-playbook-bridge-mautrix-bridges.md) for details about variables that you can customize and the bridge's default configuration, including [bridge permissions](configuring-playbook-bridge-mautrix-bridges.md#configure-bridge-permissions-optional), [encryption support](configuring-playbook-bridge-mautrix-bridges.md#enable-encryption-optional), [relay mode](configuring-playbook-bridge-mautrix-bridges.md#enable-relay-mode-optional), [bot's username](configuring-playbook-bridge-mautrix-bridges.md#set-the-bots-username-optional), etc. + ## Installing After configuring the playbook and potentially [adjusting your DNS records](#adjusting-dns-records), run the playbook with [playbook tags](playbook-tags.md) as below: From 97418bf2ea8cc20a31b297fe84a107b5eeea7328 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 23 Jan 2025 18:43:11 +0900 Subject: [PATCH 038/841] Update docs/configuring-playbook-email.md: tidy up This commit applies the common format to the file. Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-email.md | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/docs/configuring-playbook-email.md b/docs/configuring-playbook-email.md index 85fa6e37a..e3713c142 100644 --- a/docs/configuring-playbook-email.md +++ b/docs/configuring-playbook-email.md @@ -15,7 +15,9 @@ By default, emails are sent from `matrix@matrix.example.com`, as specified by th No matter whether you send email directly (the default) or you relay email through another host (see how below), you'll probably need to allow outgoing traffic for TCP ports 25/587 (depending on configuration). -## Relaying email through another SMTP server +## Adjusting the playbook configuration + +### Relaying email through another SMTP server If you'd like to relay email through another SMTP server, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file (adapt to your needs): @@ -26,29 +28,34 @@ exim_relay_relay_host_name: "mail.example.com" exim_relay_relay_host_port: 587 exim_relay_relay_auth: true exim_relay_relay_auth_username: "another.sender@example.com" -exim_relay_relay_auth_password: "some-password" +exim_relay_relay_auth_password: "PASSWORD_FOR_THE_RELAY_HERE" ``` **Note**: only the secure submission protocol (using `STARTTLS`, usually on port `587`) is supported. **SMTPS** (encrypted SMTP, usually on port `465`) **is not supported**. -### Configuations for sending emails using Sendgrid +### Sending emails using Sendgrid -An easy and free SMTP service to set up is [Sendgrid](https://sendgrid.com/), the free tier allows for up to 100 emails per day to be sent. In the settings below you can provide any email for `exim_relay_sender_address`. +An easy and free SMTP service to set up is [Sendgrid](https://sendgrid.com/). Its free tier allows for up to 100 emails per day to be sent. -The only other thing you need to change is the `exim_relay_relay_auth_password`, which you can generate at https://app.sendgrid.com/settings/api_keys. The API key password looks something like `SG.955oW1mLSfwds7i9Yd6IA5Q.q8GTaB8q9kGDzasegdG6u95fQ-6zkdwrPP8bOeuI`. - -Note that the `exim_relay_relay_auth_username` is literally the string `apikey`, it's always the same for Sendgrid. +To set it up, add the following configuration to your `vars.yml` file (adapt to your needs): ```yaml -exim_relay_sender_address: "arbitrary@email.com" +exim_relay_sender_address: "example@example.org" exim_relay_relay_use: true exim_relay_relay_host_name: "smtp.sendgrid.net" exim_relay_relay_host_port: 587 exim_relay_relay_auth: true + +# This needs to be literally the string "apikey". It is always the same for Sendgrid. exim_relay_relay_auth_username: "apikey" -exim_relay_relay_auth_password: "" + +# You can generate the API key password at this URL: https://app.sendgrid.com/settings/api_keys +# The password looks something like `SG.955oW1mLSfwds7i9Yd6IA5Q.q8GTaB8q9kGDzasegdG6u95fQ-6zkdwrPP8bOeuI`. +exim_relay_relay_auth_password: "YOUR_API_KEY_PASSWORD_HERE" ``` ## Troubleshooting -If you're having trouble with email not being delivered, it may be useful to inspect the mailer logs: `journalctl -f -u matrix-exim-relay`. +If you're having trouble with email not being delivered, it may be useful to inspect the mailer logs. + +To do so, log in to the server with SSH and run `journalctl -f -u matrix-exim-relay`. From 4b155c276ba3c682a2571b64b1c2c507d5ac4662 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 23 Jan 2025 10:11:01 +0000 Subject: [PATCH 039/841] Update halfshot/matrix-hookshot Docker tag to v6.0.2 --- roles/custom/matrix-bridge-hookshot/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-bridge-hookshot/defaults/main.yml b/roles/custom/matrix-bridge-hookshot/defaults/main.yml index 8dd61e973..82ceabe24 100644 --- a/roles/custom/matrix-bridge-hookshot/defaults/main.yml +++ b/roles/custom/matrix-bridge-hookshot/defaults/main.yml @@ -17,7 +17,7 @@ matrix_hookshot_container_additional_networks_auto: [] matrix_hookshot_container_additional_networks_custom: [] # renovate: datasource=docker depName=halfshot/matrix-hookshot -matrix_hookshot_version: 6.0.1 +matrix_hookshot_version: 6.0.2 matrix_hookshot_docker_image: "{{ matrix_hookshot_docker_image_name_prefix }}matrix-org/matrix-hookshot:{{ matrix_hookshot_version }}" matrix_hookshot_docker_image_name_prefix: "{{ 'localhost/' if matrix_hookshot_container_image_self_build else 'ghcr.io/' }}" From e047e860ffbe766aa07300693f2eadb246e47053 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 27 Dec 2024 10:20:30 -0500 Subject: [PATCH 040/841] Update docs/configuring-playbook-bridge-postmoogle.md: add the section "Extending the configuration" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bridge-postmoogle.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/configuring-playbook-bridge-postmoogle.md b/docs/configuring-playbook-bridge-postmoogle.md index af52e6acc..9ab01f2ee 100644 --- a/docs/configuring-playbook-bridge-postmoogle.md +++ b/docs/configuring-playbook-bridge-postmoogle.md @@ -55,6 +55,14 @@ matrix_postmoogle_password: PASSWORD_FOR_THE_BOT # matrix_admin: '@yourAdminAccount:{{ matrix_domain }}' ``` +### Extending the configuration + +There are some additional things you may wish to configure about the bridge. + +Take a look at: + +- `roles/custom/matrix-bridge-postmoogle/defaults/main.yml` for some variables that you can customize via your `vars.yml` file + ## Installing After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below: From a6333df04e996718e0cacac0187657451cc1a102 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 23 Jan 2025 23:26:08 +0900 Subject: [PATCH 041/841] Update configuring-playbook-bot-baibot.md and configuring-playbook-bridge-postmoogle.md: the common section for troubleshooting Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bot-baibot.md | 2 +- docs/configuring-playbook-bridge-postmoogle.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/configuring-playbook-bot-baibot.md b/docs/configuring-playbook-bot-baibot.md index 0874095d5..bdc29eafd 100644 --- a/docs/configuring-playbook-bot-baibot.md +++ b/docs/configuring-playbook-bot-baibot.md @@ -396,7 +396,7 @@ Send `!bai help` to the bot in the room to see the available commands. You can also refer to the upstream [baibot](https://github.com/etkecc/baibot) project's documentation. -## Debugging +## Troubleshooting As with all other services, you can find service logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by running something like `journalctl -fu matrix-bot-baibot` diff --git a/docs/configuring-playbook-bridge-postmoogle.md b/docs/configuring-playbook-bridge-postmoogle.md index 9ab01f2ee..20ecce4c7 100644 --- a/docs/configuring-playbook-bridge-postmoogle.md +++ b/docs/configuring-playbook-bridge-postmoogle.md @@ -92,7 +92,7 @@ Send `!pm help` to the bot in the room to see the available commands. You can also refer to the upstream [documentation](https://github.com/etkecc/postmoogle). -### Debug/Logs +## Troubleshooting As with all other services, you can find their logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by running something like `journalctl -fu matrix-postmoogle` From 74e4c2a5bd910713b76e50e63278c4475d4d91c9 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 28 Dec 2024 08:43:30 -0500 Subject: [PATCH 042/841] Update docs/configuring-playbook-pantalaimon.md: add the common section "Extending the configuration" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-pantalaimon.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/docs/configuring-playbook-pantalaimon.md b/docs/configuring-playbook-pantalaimon.md index db40fe018..a2e0be4b8 100644 --- a/docs/configuring-playbook-pantalaimon.md +++ b/docs/configuring-playbook-pantalaimon.md @@ -14,7 +14,13 @@ Add the following configuration to your `inventory/host_vars/matrix.example.com/ matrix_pantalaimon_enabled: true ``` -The default configuration should suffice. For advanced configuration, you can override the variables documented in the role's [defaults](../roles/custom/matrix-pantalaimon/defaults/main.yml). +### Extending the configuration + +There are some additional things you may wish to configure about the component. + +Take a look at: + +- `roles/custom/matrix-pantalaimon/defaults/main.yml` for some variables that you can customize via your `vars.yml` file. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_pantalaimon_configuration` variable ## Installing From 4c00e88fa4d306d1801297726dc7ee64b22a3d88 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 24 Jan 2025 01:32:01 +0900 Subject: [PATCH 043/841] Update docs/configuring-playbook-pantalaimon.md: add the common section "Troubleshooting" The comment was copied from roles/custom/matrix-pantalaimon/defaults/main.yml. The latest status of the variable "matrix_pantalaimon_log_level" can be checked on 55fcaac1f1d5c9a05bfede2ba516aa2073c10392. Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-pantalaimon.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/docs/configuring-playbook-pantalaimon.md b/docs/configuring-playbook-pantalaimon.md index a2e0be4b8..fb34c7b5c 100644 --- a/docs/configuring-playbook-pantalaimon.md +++ b/docs/configuring-playbook-pantalaimon.md @@ -34,3 +34,14 @@ ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. + +## Troubleshooting + +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-pantalaimon`. + +The default logging level for this component is `Warning`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook: + +```yaml +# Pantalaimon log level, case-insensitive (Error, Warning, Info, Debug) +matrix_pantalaimon_log_level: Debug +``` From d6abd309045b1ea9f12f3cba49bd61c77468d452 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 24 Jan 2025 16:01:51 +0900 Subject: [PATCH 044/841] Update docs/configuring-playbook-user-verification-service.md (#3994) * Update docs/configuring-playbook-user-verification-service.md: add the common section "Extending the configuration" Signed-off-by: Suguru Hirahara * Update docs/configuring-playbook-user-verification-service.md: replace single quotes with backticks Signed-off-by: Suguru Hirahara * Update docs/configuring-playbook-user-verification-service.md: adopt the common section "Troubleshooting" Signed-off-by: Suguru Hirahara * Update docs/configuring-playbook-user-verification-service.md: use the variable specified on main.yml directly There are other variables specified on .env.j2 such as UVS_ACCESS_TOKEN and UVS_AUTH_TOKEN, but these are not used in the description on the document other than UVS_LOG_LEVEL. This commit therefore replaces the variable with the one specified on main.yml (matrix_user_verification_service_uvs_log_level) to improve consistency. Signed-off-by: Suguru Hirahara * Update docs/configuring-playbook-user-verification-service.md: fix capitalization Signed-off-by: Suguru Hirahara * Update docs/configuring-playbook-user-verification-service.md: replace the placeholder TOKEN with YOUR_TOKEN_HERE Signed-off-by: Suguru Hirahara * Update docs/configuring-playbook-user-verification-service.md: change a section title Signed-off-by: Suguru Hirahara --------- Signed-off-by: Suguru Hirahara Co-authored-by: Suguru Hirahara --- ...ring-playbook-user-verification-service.md | 39 +++++++++++-------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/docs/configuring-playbook-user-verification-service.md b/docs/configuring-playbook-user-verification-service.md index 0459752bb..8e09d61ef 100644 --- a/docs/configuring-playbook-user-verification-service.md +++ b/docs/configuring-playbook-user-verification-service.md @@ -56,25 +56,23 @@ matrix_user_verification_service_enabled: true matrix_user_verification_service_uvs_access_token: "ACCESS_TOKEN_HERE" ``` -Check the role's [defaults/main.yml](../roles/custom/matrix-user-verification-service/defaults/main.yml) for the full list of variables that you could override. Note that all the plugging happening in `group_vars/matrix_servers`. - In the default configuration, the UVS Server is only reachable via the docker network, which is fine if e.g. Jitsi is also running in a container on the host. However, it is possible to expose UVS via setting `matrix_user_verification_service_container_http_host_bind_port`. ### Custom Auth Token (optional) -It is possible to set an API Auth Token to restrict access to the UVS. If this is enabled, anyone making a request to UVS must provide it via the header "Authorization: Bearer TOKEN" +It is possible to set an API Auth Token to restrict access to the UVS. If this is enabled, anyone making a request to UVS must provide it via the header `Authorization: Bearer YOUR_TOKEN_HERE`. -By default, the token will be derived from `matrix_homeserver_generic_secret_key` in `group_vars/matrix_servers`. +By default, the token (`YOUR_TOKEN_HERE`) will be derived from `matrix_homeserver_generic_secret_key` in `group_vars/matrix_servers`. -To set your own Token, add the following configuration to your `vars.yml` file: +To set your own token, add the following configuration to your `vars.yml` file. Make sure to replace `YOUR_TOKEN_HERE` with your own. ```yaml -matrix_user_verification_service_uvs_auth_token: "TOKEN" +matrix_user_verification_service_uvs_auth_token: "YOUR_TOKEN_HERE" ``` If a Jitsi instance is also managed by this playbook and [`matrix` authentication](configuring-playbook-jitsi.md#authenticate-using-matrix-openid-auth-type-matrix) is enabled there, this collection will automatically configure Jitsi to use the configured auth token. -### Disable Auth (optional) +### Disable Authorization (optional) Authorization is enabled by default. To disable it, add the following configuration to your `vars.yml` file: @@ -90,19 +88,15 @@ In theory (however currently untested), UVS can handle federation. To enable it, matrix_user_verification_service_uvs_pin_openid_verify_server_name: false ``` -This will instruct UVS to verify the OpenID token against any domain given in a request. Homeserver discovery is done via '.well-known/matrix/server' of the given domain. +This will instruct UVS to verify the OpenID token against any domain given in a request. Homeserver discovery is done via `.well-known/matrix/server` of the given domain. -### Controlling the logging level (optional) +### Extending the configuration -To specify the logging level, add the following configuration to your `vars.yml` file: +There are some additional things you may wish to configure about the component. -```yaml -UVS_LOG_LEVEL: info -``` +Take a look at: -Replace `info` with one of the choices (they can be checked [here](https://github.com/winstonjs/winston#logging-levels)) to control the verbosity of the logs generated. - -If you have issues with a service, and are requesting support, the higher levels of logging will generally be more helpful. +- `roles/custom/matrix-user-verification-service/defaults/main.yml` for some variables that you can customize via your `vars.yml` file ## Installing @@ -119,13 +113,24 @@ The shortcut commands with the [`just` program](just.md) are also available: `ju ## Troubleshooting +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-user-verification-service`. + +### Increase logging verbosity + +The default logging level for this component is `info`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook: + +```yaml +# See choices here: https://github.com/winstonjs/winston#logging-levels +matrix_user_verification_service_uvs_log_level: debug +``` + ### TLS Certificate Checking If the Matrix Homeserver does not provide a valid TLS certificate, UVS will fail with the following error message: > message: 'No response received: [object Object]', -This also applies to self-signed and let's encrypt staging certificates. +This also applies to self-signed and Let's Encrypt staging certificates. To disable certificate validation altogether (INSECURE! Not suitable for production use!) set: `NODE_TLS_REJECT_UNAUTHORIZED=0` From 01050c520de6a03f03d3a1f50eb9cc0b17fda1f9 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 24 Jan 2025 17:15:16 +0900 Subject: [PATCH 045/841] Update roles/custom/matrix-bridge-appservice-slack/defaults/main.yml: fix indentation Signed-off-by: Suguru Hirahara --- roles/custom/matrix-bridge-appservice-slack/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-bridge-appservice-slack/defaults/main.yml b/roles/custom/matrix-bridge-appservice-slack/defaults/main.yml index 5b8594e51..b5c6f6bf9 100644 --- a/roles/custom/matrix-bridge-appservice-slack/defaults/main.yml +++ b/roles/custom/matrix-bridge-appservice-slack/defaults/main.yml @@ -153,7 +153,7 @@ matrix_appservice_slack_configuration_extension_yaml: | # console: "info" # files: # - "./debug.log": "info" - #- "./error.log": "error" + # - "./error.log": "error" matrix_appservice_slack_configuration_extension: "{{ matrix_appservice_slack_configuration_extension_yaml | from_yaml if matrix_appservice_slack_configuration_extension_yaml | from_yaml else {} }}" From ff7dbcee1b786618119d644b0170ae53e3e17df8 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 26 Dec 2024 22:42:41 -0500 Subject: [PATCH 046/841] Update docs/configuring-playbook-bridge-appservice-slack.md: add the common section "Extending the configuration" Also: add an example for "+matrix_appservice_slack_configuration_extension_yaml" Signed-off-by: Suguru Hirahara --- ...nfiguring-playbook-bridge-appservice-slack.md | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/docs/configuring-playbook-bridge-appservice-slack.md b/docs/configuring-playbook-bridge-appservice-slack.md index b33f565cf..d3295311c 100644 --- a/docs/configuring-playbook-bridge-appservice-slack.md +++ b/docs/configuring-playbook-bridge-appservice-slack.md @@ -61,7 +61,21 @@ matrix_appservice_slack_control_room_id: "Your Matrix admin room ID" # matrix_appservice_slack_team_sync_enabled: true ``` -Other configuration options are available via the `matrix_appservice_slack_configuration_extension_yaml` variable. +### Extending the configuration + +There are some additional things you may wish to configure about the bridge. + +Take a look at: + +- `roles/custom/matrix-bridge-appservice-slack/defaults/main.yml` for some variables that you can customize via your `vars.yml` file +- `roles/custom/matrix-bridge-appservice-slack/templates/config.yaml.j2` for the bridge's default configuration. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_appservice_slack_configuration_extension_yaml` variable + +For example, to change the bot's username from `slackbot`, add the following configuration to your `vars.yml` file. Replace `examplebot` with your own. + +```yaml +matrix_appservice_slack_configuration_extension_yaml: | + bot_username: "examplebot" +``` ## Installing From 2b4865d44beb6d45c932ca8ef498e7fbedcd1d89 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 24 Jan 2025 17:08:25 +0900 Subject: [PATCH 047/841] Update docs/configuring-playbook-bridge-appservice-slack.md: adopt the common expression for troubleshooting Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bridge-appservice-slack.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/configuring-playbook-bridge-appservice-slack.md b/docs/configuring-playbook-bridge-appservice-slack.md index d3295311c..7c6a7c7a8 100644 --- a/docs/configuring-playbook-bridge-appservice-slack.md +++ b/docs/configuring-playbook-bridge-appservice-slack.md @@ -135,7 +135,7 @@ Unlinking doesn't only disconnect the bridge, but also makes the slackbot leave ## Troubleshooting -As always, check the logs: `journalctl -fu matrix-appservice-slack` +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-appservice-slack`. ### Linking: "Room is now pending-name" From e6d631c6f1b275a754f9645d14a281e954babfe3 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 24 Jan 2025 17:58:08 +0900 Subject: [PATCH 048/841] Update docs/configuring-playbook-bridge-appservice-slack.md: change the instruction into a sentence Fixing the grammatical structure to avoid word puzzles for better i18n. Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bridge-appservice-slack.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/configuring-playbook-bridge-appservice-slack.md b/docs/configuring-playbook-bridge-appservice-slack.md index 7c6a7c7a8..d21e1496a 100644 --- a/docs/configuring-playbook-bridge-appservice-slack.md +++ b/docs/configuring-playbook-bridge-appservice-slack.md @@ -143,8 +143,8 @@ This typically means that you haven't used the correct Slack channel ID. Unlink ### Messages work from Matrix to Slack, but not the other way around -Check you logs, if they say something like +Check the logs, and if you find the message like below, unlink your room, reinvite the bot and re-link it again. `WARN SlackEventHandler Ignoring message from unrecognised Slack channel ID : %s (%s) ` -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. +This may particularly hit you, if you tried to unsuccessfully link your room multiple times without unlinking it after each failed attempt. From 9d8dac83cc12ecafbbb509ae35606af39972671c Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 27 Dec 2024 10:43:24 -0500 Subject: [PATCH 049/841] Update docs/configuring-playbook-dimension.md: add the common section "Extending the configuration" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-dimension.md | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/docs/configuring-playbook-dimension.md b/docs/configuring-playbook-dimension.md index 71d5b9c0d..30b945f8c 100644 --- a/docs/configuring-playbook-dimension.md +++ b/docs/configuring-playbook-dimension.md @@ -86,6 +86,17 @@ If you've decided to reuse the `matrix.` domain, you won't need to do any extra **Note**: while there is a `matrix_dimension_path_prefix` variable for changing the path where Dimension is served, overriding it is not possible due to [this Dimension issue](https://github.com/turt2live/matrix-dimension/issues/510). You'd need to serve Dimension at a dedicated subdomain. +### Extending the configuration + +There are some additional things you may wish to configure about the component. + +Take a look at: + +- `roles/custom/matrix-dimension/defaults/main.yml` for some variables that you can customize via your `vars.yml` file +- `roles/custom/matrix-dimension/templates/config.yaml.j2` for the component's default configuration. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_dimension_configuration_extension_yaml` variable + +You can find all configuration options on [GitHub page of Dimension project](https://github.com/turt2live/matrix-dimension/blob/master/config/default.yaml). + ## Installing After configuring the playbook and potentially [adjusting your DNS records](#adjusting-dns-records), run the playbook with [playbook tags](playbook-tags.md) as below: @@ -108,9 +119,3 @@ ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start By default Dimension will use [jitsi.riot.im](https://jitsi.riot.im/) as the `conferenceDomain` of [Jitsi](https://jitsi.org/) audio/video conference widgets. For users running [a self-hosted Jitsi instance](./configuring-playbook-jitsi.md), you will likely want the widget to use your own Jitsi instance. Currently there is no way to configure this via the playbook, see [this issue](https://github.com/turt2live/matrix-dimension/issues/345) for details. In the interim until the above limitation is resolved, an admin user needs to configure the domain via the admin ui once dimension is running. In Element Web, go to *Manage Integrations* → *Settings* → *Widgets* → *Jitsi Conference Settings* and set *Jitsi Domain* and *Jitsi Script URL* appropriately. - -## Additional features - -To use a more custom configuration, you can define a `matrix_dimension_configuration_extension_yaml` string variable and put your configuration in it. To learn more about how to do this, refer to the information about `matrix_dimension_configuration_extension_yaml` in the [default variables file](../roles/custom/matrix-dimension/defaults/main.yml) of the Dimension component. - -You can find all configuration options on [GitHub page of Dimension project](https://github.com/turt2live/matrix-dimension/blob/master/config/default.yaml). From 5ea579d4ee811d016788ac205417f913a54476c2 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 24 Jan 2025 22:20:58 +0900 Subject: [PATCH 050/841] Update docs/configuring-playbook-dimension.md: apply the fact that the project has been finished and the update will not be provided The original description has been added with a0ce5eec6457b80f0b812a5c1ccefbc6d4c7c679 on 2020. Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-dimension.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/configuring-playbook-dimension.md b/docs/configuring-playbook-dimension.md index 30b945f8c..9989d9154 100644 --- a/docs/configuring-playbook-dimension.md +++ b/docs/configuring-playbook-dimension.md @@ -116,6 +116,8 @@ ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start ## Jitsi domain -By default Dimension will use [jitsi.riot.im](https://jitsi.riot.im/) as the `conferenceDomain` of [Jitsi](https://jitsi.org/) audio/video conference widgets. For users running [a self-hosted Jitsi instance](./configuring-playbook-jitsi.md), you will likely want the widget to use your own Jitsi instance. Currently there is no way to configure this via the playbook, see [this issue](https://github.com/turt2live/matrix-dimension/issues/345) for details. +By default Dimension will use [jitsi.riot.im](https://jitsi.riot.im/) as the `conferenceDomain` of [Jitsi](https://jitsi.org/) audio/video conference widgets. For users running [a self-hosted Jitsi instance](configuring-playbook-jitsi.md), you will likely want the widget to use your own Jitsi instance. -In the interim until the above limitation is resolved, an admin user needs to configure the domain via the admin ui once dimension is running. In Element Web, go to *Manage Integrations* → *Settings* → *Widgets* → *Jitsi Conference Settings* and set *Jitsi Domain* and *Jitsi Script URL* appropriately. +To set up the widget, an admin user needs to configure the domain via the admin UI once Dimension is running. In Element Web, go to *Manage Integrations* → *Settings* → *Widgets* → *Jitsi Conference Settings* and set *Jitsi Domain* and *Jitsi Script URL* appropriately. + +There is unfortunately no way to configure it via the playbook. See [this issue](https://github.com/turt2live/matrix-dimension/issues/345) for details. From 4400d3c06daaca071f68ce34a65b682fb831e394 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 24 Jan 2025 22:27:43 +0900 Subject: [PATCH 051/841] Update docs/configuring-playbook-dimension.md: create the section "Usage" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-dimension.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/docs/configuring-playbook-dimension.md b/docs/configuring-playbook-dimension.md index 9989d9154..ef3df23b3 100644 --- a/docs/configuring-playbook-dimension.md +++ b/docs/configuring-playbook-dimension.md @@ -112,12 +112,14 @@ ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. -- After Dimension has been installed you may need to log out and log back in for it to pick up the new integration manager. Then you can access integrations in Element Web by opening a room, clicking the Room info button (`i`) button in the top right corner of the screen, and then clicking Add widgets, bridges & bots. +## Usage -## Jitsi domain +After Dimension has been installed you may need to log out and log back in for it to pick up the new integration manager. Then you can access integrations in Element Web by opening a room, clicking the room info button (`i`) on the top right corner, and then clicking the "Add widgets, bridges, & bots" link. + +### Set up a Jitsi widget By default Dimension will use [jitsi.riot.im](https://jitsi.riot.im/) as the `conferenceDomain` of [Jitsi](https://jitsi.org/) audio/video conference widgets. For users running [a self-hosted Jitsi instance](configuring-playbook-jitsi.md), you will likely want the widget to use your own Jitsi instance. To set up the widget, an admin user needs to configure the domain via the admin UI once Dimension is running. In Element Web, go to *Manage Integrations* → *Settings* → *Widgets* → *Jitsi Conference Settings* and set *Jitsi Domain* and *Jitsi Script URL* appropriately. -There is unfortunately no way to configure it via the playbook. See [this issue](https://github.com/turt2live/matrix-dimension/issues/345) for details. +There is unfortunately no way to configure the widget via the playbook. See [this issue](https://github.com/turt2live/matrix-dimension/issues/345) for details. From 30d01cc22d32a933853c07c2c04aff1b1390015d Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 24 Jan 2025 22:30:26 +0900 Subject: [PATCH 052/841] Update docs/configuring-playbook-dimension.md: replace right arrows with actual ones Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-dimension.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/configuring-playbook-dimension.md b/docs/configuring-playbook-dimension.md index ef3df23b3..6a662e87c 100644 --- a/docs/configuring-playbook-dimension.md +++ b/docs/configuring-playbook-dimension.md @@ -120,6 +120,6 @@ After Dimension has been installed you may need to log out and log back in for i By default Dimension will use [jitsi.riot.im](https://jitsi.riot.im/) as the `conferenceDomain` of [Jitsi](https://jitsi.org/) audio/video conference widgets. For users running [a self-hosted Jitsi instance](configuring-playbook-jitsi.md), you will likely want the widget to use your own Jitsi instance. -To set up the widget, an admin user needs to configure the domain via the admin UI once Dimension is running. In Element Web, go to *Manage Integrations* → *Settings* → *Widgets* → *Jitsi Conference Settings* and set *Jitsi Domain* and *Jitsi Script URL* appropriately. +To set up the widget, an admin user needs to configure the domain via the admin UI once Dimension is running. In Element Web, go to *Manage Integrations* → *Settings* → *Widgets* → *Jitsi Conference Settings* and set *Jitsi Domain* and *Jitsi Script URL* appropriately. There is unfortunately no way to configure the widget via the playbook. See [this issue](https://github.com/turt2live/matrix-dimension/issues/345) for details. From 292b0704cce486d1a6ed78334eb2fd1fb2157be5 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 24 Jan 2025 19:29:15 +0000 Subject: [PATCH 053/841] Update gnuxie/draupnir Docker tag to v2.0.2 --- .../custom/matrix-appservice-draupnir-for-all/defaults/main.yml | 2 +- roles/custom/matrix-bot-draupnir/defaults/main.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/custom/matrix-appservice-draupnir-for-all/defaults/main.yml b/roles/custom/matrix-appservice-draupnir-for-all/defaults/main.yml index 0d2a0f575..8d028a98b 100644 --- a/roles/custom/matrix-appservice-draupnir-for-all/defaults/main.yml +++ b/roles/custom/matrix-appservice-draupnir-for-all/defaults/main.yml @@ -5,7 +5,7 @@ matrix_appservice_draupnir_for_all_enabled: true # renovate: datasource=docker depName=gnuxie/draupnir -matrix_appservice_draupnir_for_all_version: "v2.0.1" +matrix_appservice_draupnir_for_all_version: "v2.0.2" matrix_appservice_draupnir_for_all_container_image_self_build: false matrix_appservice_draupnir_for_all_container_image_self_build_repo: "https://github.com/the-draupnir-project/Draupnir.git" diff --git a/roles/custom/matrix-bot-draupnir/defaults/main.yml b/roles/custom/matrix-bot-draupnir/defaults/main.yml index 2219cdd98..08f3fa4e7 100644 --- a/roles/custom/matrix-bot-draupnir/defaults/main.yml +++ b/roles/custom/matrix-bot-draupnir/defaults/main.yml @@ -5,7 +5,7 @@ matrix_bot_draupnir_enabled: true # renovate: datasource=docker depName=gnuxie/draupnir -matrix_bot_draupnir_version: "v2.0.1" +matrix_bot_draupnir_version: "v2.0.2" matrix_bot_draupnir_container_image_self_build: false matrix_bot_draupnir_container_image_self_build_repo: "https://github.com/the-draupnir-project/Draupnir.git" From d225f52ba27315b0bca62c196741a86bd981a37a Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 28 Dec 2024 10:35:19 -0500 Subject: [PATCH 054/841] Update docs/configuring-playbook-alertmanager-receiver.md: add the common section "Extending the configuration" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-alertmanager-receiver.md | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/docs/configuring-playbook-alertmanager-receiver.md b/docs/configuring-playbook-alertmanager-receiver.md index 2184821fb..84be123f6 100644 --- a/docs/configuring-playbook-alertmanager-receiver.md +++ b/docs/configuring-playbook-alertmanager-receiver.md @@ -66,8 +66,6 @@ matrix_alertmanager_receiver_config_matrix_room_mapping: some-room-name: "!qporfwt:{{ matrix_domain }}" ``` -See `roles/custom/matrix-alertmanager-receiver/defaults/main.yml` for additional configuration variables. - ### Adjusting the matrix-alertmanager-receiver URL (optional) By tweaking the `matrix_alertmanager_receiver_hostname` and `matrix_alertmanager_receiver_path_prefix` variables, you can easily make the service available at a **different hostname and/or path** than the default one. @@ -84,6 +82,15 @@ If you've changed the default hostname, you may need to create a CNAME record fo When setting, replace `example.com` with your own. +### Extending the configuration + +There are some additional things you may wish to configure about the component. + +Take a look at: + +- `roles/custom/matrix-alertmanager-receiver/defaults/main.yml` for some variables that you can customize via your `vars.yml` file +- `roles/custom/matrix-alertmanager-receiver/templates/config.yml.j2` for the component's default configuration. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_alertmanager_receiver_configuration_extension_yaml` variable + ## Installing After configuring the playbook and potentially [adjusting your DNS records](#adjusting-dns-records), run the playbook with [playbook tags](playbook-tags.md) as below: From 42f38dae07f1ecfa531aec5362a09a4ed3f5713d Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 25 Jan 2025 11:51:30 +0900 Subject: [PATCH 055/841] Update docs/configuring-playbook-alertmanager-receiver.md: add the common section "Troubleshooting" The configuration was copied from main.yml. Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-alertmanager-receiver.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/docs/configuring-playbook-alertmanager-receiver.md b/docs/configuring-playbook-alertmanager-receiver.md index 84be123f6..1d64b1af7 100644 --- a/docs/configuring-playbook-alertmanager-receiver.md +++ b/docs/configuring-playbook-alertmanager-receiver.md @@ -130,3 +130,16 @@ route: ``` 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`. + +## Troubleshooting + +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-alertmanager-receiver`. + +### Increase logging verbosity + +The default logging level for this component is `info`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook: + +```yaml +# Valid values: error, warn, info, debug +matrix_alertmanager_receiver_container_process_argument_log_level: debug +``` From 21b5963f63f19524bcc5cec223e59e521e599a30 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 25 Jan 2025 12:03:42 +0900 Subject: [PATCH 056/841] Update files for the matrix-alertmanager-receiver: rename config.yml.j2 to config.yaml.j2 in order to improve consistency Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-alertmanager-receiver.md | 2 +- roles/custom/matrix-alertmanager-receiver/defaults/main.yml | 2 +- .../templates/{config.yml.j2 => config.yaml.j2} | 0 3 files changed, 2 insertions(+), 2 deletions(-) rename roles/custom/matrix-alertmanager-receiver/templates/{config.yml.j2 => config.yaml.j2} (100%) diff --git a/docs/configuring-playbook-alertmanager-receiver.md b/docs/configuring-playbook-alertmanager-receiver.md index 1d64b1af7..eee2dd0a5 100644 --- a/docs/configuring-playbook-alertmanager-receiver.md +++ b/docs/configuring-playbook-alertmanager-receiver.md @@ -89,7 +89,7 @@ There are some additional things you may wish to configure about the component. Take a look at: - `roles/custom/matrix-alertmanager-receiver/defaults/main.yml` for some variables that you can customize via your `vars.yml` file -- `roles/custom/matrix-alertmanager-receiver/templates/config.yml.j2` for the component's default configuration. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_alertmanager_receiver_configuration_extension_yaml` variable +- `roles/custom/matrix-alertmanager-receiver/templates/config.yaml.j2` for the component's default configuration. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_alertmanager_receiver_configuration_extension_yaml` variable ## Installing diff --git a/roles/custom/matrix-alertmanager-receiver/defaults/main.yml b/roles/custom/matrix-alertmanager-receiver/defaults/main.yml index 05e9c9705..e3c423340 100644 --- a/roles/custom/matrix-alertmanager-receiver/defaults/main.yml +++ b/roles/custom/matrix-alertmanager-receiver/defaults/main.yml @@ -218,7 +218,7 @@ matrix_alertmanager_receiver_config_templating_resolved_template: |- # # For a more advanced customization, you can extend the default (see `matrix_alertmanager_receiver_configuration_extension_yaml`) # or completely replace this variable with your own template. -matrix_alertmanager_receiver_configuration_yaml: "{{ lookup('template', 'templates/config.yml.j2') }}" +matrix_alertmanager_receiver_configuration_yaml: "{{ lookup('template', 'templates/config.yaml.j2') }}" matrix_alertmanager_receiver_configuration_extension_yaml: | # Your custom YAML configuration for matrix-alertmanager-receiver goes here. diff --git a/roles/custom/matrix-alertmanager-receiver/templates/config.yml.j2 b/roles/custom/matrix-alertmanager-receiver/templates/config.yaml.j2 similarity index 100% rename from roles/custom/matrix-alertmanager-receiver/templates/config.yml.j2 rename to roles/custom/matrix-alertmanager-receiver/templates/config.yaml.j2 From 5b2282de27674c31489d590fdeda9c200948b822 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 29 Dec 2024 13:07:04 -0500 Subject: [PATCH 057/841] Update docs/configuring-playbook-bridge-hookshot.md: add the common section "Extending the configuration" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bridge-hookshot.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/docs/configuring-playbook-bridge-hookshot.md b/docs/configuring-playbook-bridge-hookshot.md index e0f852f1c..2cb197156 100644 --- a/docs/configuring-playbook-bridge-hookshot.md +++ b/docs/configuring-playbook-bridge-hookshot.md @@ -38,7 +38,12 @@ Take special note of the `matrix_hookshot_*_enabled` variables. Services that ne ### Extending the configuration -You can configure additional options by adding the `matrix_hookshot_configuration_extension_yaml` and `matrix_hookshot_registration_extension_yaml` variables. +There are some additional things you may wish to configure about the bridge. + +Take a look at: + +- `roles/custom/matrix-bridge-hookshot/defaults/main.yml` for some variables that you can customize via your `vars.yml` file +- `roles/custom/matrix-bridge-hookshot/templates/config.yml.j2` for the bridge's default configuration. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_hookshot_configuration_extension_yaml` and `matrix_hookshot_registration_extension_yaml` variables Refer the [official instructions](https://matrix-org.github.io/matrix-hookshot/latest/setup.html) and the comments in [main.yml](../roles/custom/matrix-bridge-hookshot/defaults/main.yml) to learn what the individual options do. From 5c39ef8ca225701eaa9563dbd6b8fd6f25b7f7c5 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 25 Jan 2025 18:02:18 +0900 Subject: [PATCH 058/841] Update docs/configuring-playbook-bridge-hookshot.md: add the common section "Troubleshooting" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bridge-hookshot.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/docs/configuring-playbook-bridge-hookshot.md b/docs/configuring-playbook-bridge-hookshot.md index 2cb197156..948704ecc 100644 --- a/docs/configuring-playbook-bridge-hookshot.md +++ b/docs/configuring-playbook-bridge-hookshot.md @@ -143,3 +143,16 @@ Whichever one you go with, by default metrics are exposed publicly **without** p ### Collision with matrix-appservice-webhooks If you are also running [matrix-appservice-webhooks](configuring-playbook-bridge-appservice-webhooks.md), it reserves its namespace by the default setting `matrix_appservice_webhooks_user_prefix: '_webhook_'`. You should take care if you modify its or hookshot's prefix that they do not collide with each other's namespace (default `matrix_hookshot_generic_userIdPrefix: '_webhooks_'`). + +## Troubleshooting + +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-bridge-hookshot`. + +### Increase logging verbosity + +The default logging level for this component is `warn`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook: + +```yaml +# Valid values: debug, info, warn, error +matrix_hookshot_logging_level: debug +``` From e8213768a5661b20c322c881db712f0ac6c99b71 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 25 Jan 2025 18:04:42 +0900 Subject: [PATCH 059/841] Update files for matrix-bridge-hookshot: sort logging levels Based on docs/configuring-playbook-alertmanager-receiver.md We can re-sort the levels it if is found out that debug should be placed at the first. Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bridge-hookshot.md | 2 +- roles/custom/matrix-bridge-hookshot/defaults/main.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/configuring-playbook-bridge-hookshot.md b/docs/configuring-playbook-bridge-hookshot.md index 948704ecc..6f6bda8e8 100644 --- a/docs/configuring-playbook-bridge-hookshot.md +++ b/docs/configuring-playbook-bridge-hookshot.md @@ -153,6 +153,6 @@ As with all other services, you can find the logs in [systemd-journald](https:// The default logging level for this component is `warn`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook: ```yaml -# Valid values: debug, info, warn, error +# Valid values: error, warn, info, debug matrix_hookshot_logging_level: debug ``` diff --git a/roles/custom/matrix-bridge-hookshot/defaults/main.yml b/roles/custom/matrix-bridge-hookshot/defaults/main.yml index 82ceabe24..835ef6c38 100644 --- a/roles/custom/matrix-bridge-hookshot/defaults/main.yml +++ b/roles/custom/matrix-bridge-hookshot/defaults/main.yml @@ -183,7 +183,7 @@ matrix_hookshot_provisioning_internal: "/v1" matrix_hookshot_provisioning_hostname: "{{ matrix_hookshot_public_hostname }}" matrix_hookshot_provisioning_endpoint: "{{ matrix_hookshot_public_endpoint }}{{ matrix_hookshot_provisioning_internal }}" -# Valid logging levels are: debug, info, warn, error +# Valid values: error, warn, info, debug matrix_hookshot_logging_level: warn matrix_hookshot_widgets_enabled: true From acf2b9034629ed689cad155a340be14ef65b56e5 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 25 Jan 2025 17:54:00 +0900 Subject: [PATCH 060/841] Update files for matrix-bridge-hookshot: change the file path of config.yml.j2 in order to improve consistency Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bridge-hookshot.md | 2 +- roles/custom/matrix-bridge-hookshot/defaults/main.yml | 2 +- .../templates/{config.yml.j2 => config.yaml.j2} | 0 3 files changed, 2 insertions(+), 2 deletions(-) rename roles/custom/matrix-bridge-hookshot/templates/{config.yml.j2 => config.yaml.j2} (100%) diff --git a/docs/configuring-playbook-bridge-hookshot.md b/docs/configuring-playbook-bridge-hookshot.md index 6f6bda8e8..ec5f72700 100644 --- a/docs/configuring-playbook-bridge-hookshot.md +++ b/docs/configuring-playbook-bridge-hookshot.md @@ -43,7 +43,7 @@ There are some additional things you may wish to configure about the bridge. Take a look at: - `roles/custom/matrix-bridge-hookshot/defaults/main.yml` for some variables that you can customize via your `vars.yml` file -- `roles/custom/matrix-bridge-hookshot/templates/config.yml.j2` for the bridge's default configuration. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_hookshot_configuration_extension_yaml` and `matrix_hookshot_registration_extension_yaml` variables +- `roles/custom/matrix-bridge-hookshot/templates/config.yaml.j2` for the bridge's default configuration. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_hookshot_configuration_extension_yaml` and `matrix_hookshot_registration_extension_yaml` variables Refer the [official instructions](https://matrix-org.github.io/matrix-hookshot/latest/setup.html) and the comments in [main.yml](../roles/custom/matrix-bridge-hookshot/defaults/main.yml) to learn what the individual options do. diff --git a/roles/custom/matrix-bridge-hookshot/defaults/main.yml b/roles/custom/matrix-bridge-hookshot/defaults/main.yml index 835ef6c38..4de899ca9 100644 --- a/roles/custom/matrix-bridge-hookshot/defaults/main.yml +++ b/roles/custom/matrix-bridge-hookshot/defaults/main.yml @@ -330,7 +330,7 @@ matrix_hookshot_homeserver_token: '' # # For a more advanced customization, you can extend the default (see `matrixhookshot_configuration_extension_yaml`) # or completely replace this variable with your own template. -matrix_hookshot_configuration_yaml: "{{ lookup('template', 'templates/config.yml.j2') }}" +matrix_hookshot_configuration_yaml: "{{ lookup('template', 'templates/config.yaml.j2') }}" matrix_hookshot_configuration_extension_yaml: | # Your custom YAML configuration goes here. diff --git a/roles/custom/matrix-bridge-hookshot/templates/config.yml.j2 b/roles/custom/matrix-bridge-hookshot/templates/config.yaml.j2 similarity index 100% rename from roles/custom/matrix-bridge-hookshot/templates/config.yml.j2 rename to roles/custom/matrix-bridge-hookshot/templates/config.yaml.j2 From 5c80c820bc62f40c44bd052f7e00efecbdcf0fa9 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 25 Jan 2025 18:24:40 +0900 Subject: [PATCH 061/841] Update docs/configuring-playbook-bridge-hookshot.md: add a period Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bridge-hookshot.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/configuring-playbook-bridge-hookshot.md b/docs/configuring-playbook-bridge-hookshot.md index ec5f72700..13c6eb6f3 100644 --- a/docs/configuring-playbook-bridge-hookshot.md +++ b/docs/configuring-playbook-bridge-hookshot.md @@ -98,7 +98,7 @@ Unless indicated otherwise, the following endpoints are reachable on your `matri | widgets | `/hookshot/widgetapi/` | `matrix_hookshot_widgets_endpoint` | Widgets | | metrics | `/metrics/hookshot` | `matrix_hookshot_metrics_enabled` and exposure enabled via `matrix_hookshot_metrics_proxying_enabled` or `matrix_metrics_exposure_enabled`. Read more in the [Metrics section](#metrics) below. | Prometheus | -Also see the various `matrix_hookshot_container_labels_*` variables in [main.yml](../roles/custom/matrix-bridge-hookshot/defaults/main.yml), which expose URLs publicly +Also see the various `matrix_hookshot_container_labels_*` variables in [main.yml](../roles/custom/matrix-bridge-hookshot/defaults/main.yml), which expose URLs publicly. The different listeners are also reachable *internally* in the docker-network via the container's name (configured by `matrix_hookshot_container_url`) and on different ports (e.g. `matrix_hookshot_appservice_port`). Read [main.yml](../roles/custom/matrix-bridge-hookshot/defaults/main.yml) in detail for more info. From 6c19bf509e7924f6ad792ec31a3b5628bc97915d Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 26 Dec 2024 12:02:03 -0500 Subject: [PATCH 062/841] Update docs/configuring-playbook-bot-buscarron.md: add the section "Extending the configuration" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bot-buscarron.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/configuring-playbook-bot-buscarron.md b/docs/configuring-playbook-bot-buscarron.md index c7ed4f69d..691aa2468 100644 --- a/docs/configuring-playbook-bot-buscarron.md +++ b/docs/configuring-playbook-bot-buscarron.md @@ -54,6 +54,14 @@ After changing the domain, **you may need to adjust your DNS** records to point If you've decided to reuse the `matrix.` domain, you won't need to do any extra DNS configuration. +### Extending the configuration + +There are some additional things you may wish to configure about the bot. + +Take a look at: + +- `roles/custom/matrix-bot-buscarron/defaults/main.yml` for some variables that you can customize via your `vars.yml` file + ## Installing After configuring the playbook and potentially [adjusting your DNS records](#adjusting-dns-records), run the playbook with [playbook tags](playbook-tags.md) as below: From 2a7111f287b011da7d88cf2be5462956f8e33f6d Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 25 Jan 2025 22:24:32 +0900 Subject: [PATCH 063/841] Update docs/configuring-playbook-bot-buscarron.md: add the common section "Troubleshooting" See roles/custom/matrix-bot-buscarron/defaults/main.yml at 601406ddda79b1ea4dd50ffe38d65ddada5ee62b for the default log value (INFO). Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bot-buscarron.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/configuring-playbook-bot-buscarron.md b/docs/configuring-playbook-bot-buscarron.md index 691aa2468..f74bf2ea8 100644 --- a/docs/configuring-playbook-bot-buscarron.md +++ b/docs/configuring-playbook-bot-buscarron.md @@ -104,3 +104,15 @@ Here is an example for the `contact` form: If you get banned, you'd need to restart the process by running the playbook with `--tags=start` or running `systemctl restart matrix-bot-buscarron` on the server. You can also refer to the upstream [documentation](https://github.com/etkecc/buscarron). + +## Troubleshooting + +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-bot-buscarron`. + +### Increase logging verbosity + +The default logging level for this component is `INFO`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook: + +```yaml +matrix_bot_buscarron_loglevel: DEBUG +``` From 0dc566f1a3643112d439d7a91d16fd6bbdc34d27 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 25 Jan 2025 22:28:15 +0900 Subject: [PATCH 064/841] Update docs/configuring-playbook-bot-buscarron.md: add the common expression for linking to the documentation Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bot-buscarron.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/configuring-playbook-bot-buscarron.md b/docs/configuring-playbook-bot-buscarron.md index f74bf2ea8..e2762ed94 100644 --- a/docs/configuring-playbook-bot-buscarron.md +++ b/docs/configuring-playbook-bot-buscarron.md @@ -4,6 +4,8 @@ The playbook can install and configure [Buscarron](https://github.com/etkecc/bus Buscarron is bot that receives HTTP POST submissions of web forms and forwards them to a Matrix room. +See the project's [documentation](https://github.com/etkecc/buscarron/blob/main/README.md) to learn what it does and why it might be useful to you. + ## Adjusting DNS records By default, this playbook installs Buscarron on the `buscarron.` subdomain (`buscarron.example.com`) and requires you to create a CNAME record for `buscarron`, which targets `matrix.example.com`. @@ -103,8 +105,6 @@ Here is an example for the `contact` form: If you get banned, you'd need to restart the process by running the playbook with `--tags=start` or running `systemctl restart matrix-bot-buscarron` on the server. -You can also refer to the upstream [documentation](https://github.com/etkecc/buscarron). - ## Troubleshooting As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-bot-buscarron`. From 50f259d505008b388353df9583e61a4cf4d2f37f Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 27 Dec 2024 10:30:35 -0500 Subject: [PATCH 065/841] Update docs/configuring-playbook-cactus-comments.md: add the common section "Extending the configuration" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-cactus-comments.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/configuring-playbook-cactus-comments.md b/docs/configuring-playbook-cactus-comments.md index ee5213be9..679a0cea5 100644 --- a/docs/configuring-playbook-cactus-comments.md +++ b/docs/configuring-playbook-cactus-comments.md @@ -61,6 +61,18 @@ If you've changed the default hostname, you may need to create a CNAME record fo When setting, replace `example.com` with your own. +### Extending the configuration + +There are some additional things you may wish to configure about the components. + +For `matrix-cactus-comments`, take a look at: + +- `roles/custom/matrix-cactus-comments/defaults/main.yml` for some variables that you can customize via your `vars.yml` file + +For `matrix-cactus-comments-client`, take a look at: + +- `roles/custom/matrix-cactus-comments-client/defaults/main.yml` for some variables that you can customize via your `vars.yml` file + ## Installing After configuring the playbook and potentially [adjusting your DNS records](#adjusting-dns-records), run the playbook with [playbook tags](playbook-tags.md) as below: From 909ca59cb7cee4f44670ce878dfca01ef3bc9581 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 26 Jan 2025 02:49:37 +0900 Subject: [PATCH 066/841] Update docs/configuring-playbook-cactus-comments.md: remove the uncommon comment block Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-cactus-comments.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/docs/configuring-playbook-cactus-comments.md b/docs/configuring-playbook-cactus-comments.md index 679a0cea5..77b6c54d2 100644 --- a/docs/configuring-playbook-cactus-comments.md +++ b/docs/configuring-playbook-cactus-comments.md @@ -25,10 +25,6 @@ If you wish to adjust it, see the section [below](#adjusting-the-cactus-comments To enable Cactus Comments, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: ```yaml -################# -## Cactus Comments ## -################# - # This enables the backend (appservice) matrix_cactus_comments_enabled: true From 7f13747e82225418c3297f914484ce0667c09913 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 26 Jan 2025 11:15:42 +0900 Subject: [PATCH 067/841] Update docs/configuring-playbook-cactus-comments.md: move the configuration enabled by default Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-cactus-comments.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/docs/configuring-playbook-cactus-comments.md b/docs/configuring-playbook-cactus-comments.md index 77b6c54d2..4542fe11d 100644 --- a/docs/configuring-playbook-cactus-comments.md +++ b/docs/configuring-playbook-cactus-comments.md @@ -28,16 +28,15 @@ To enable Cactus Comments, add the following configuration to your `inventory/ho # This enables the backend (appservice) matrix_cactus_comments_enabled: true +# This enables client assets static files serving on `https://matrix.example.com/cactus-comments`. +# When the backend (appservice) is enabled, this is also enabled automatically, but we explicitly enable it here. +matrix_cactus_comments_client_enabled: true + # To allow guest comments without users needing to log in, you need to have guest registration enabled. # To do this you need to uncomment one of the following lines (depending if you are using Synapse or Dendrite as a homeserver) # If you don't know which one you use: The default is Synapse ;) # matrix_synapse_allow_guest_access: true # matrix_dendrite_allow_guest_access: true - -# This enables client assets static files serving on `https://matrix.example.com/cactus-comments`. -# When the backend (appservice) is enabled, this is also enabled automatically, -# but we explicitly enable it here. -matrix_cactus_comments_client_enabled: true ``` ### Adjusting the Cactus Comments' client URL (optional) From f2083aa8a7c62df1c6a1ae414a7d1e29d01dd769 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 26 Jan 2025 02:51:19 +0900 Subject: [PATCH 068/841] Update docs/configuring-playbook-cactus-comments.md: replace the placeholders for the site name Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-cactus-comments.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/configuring-playbook-cactus-comments.md b/docs/configuring-playbook-cactus-comments.md index 4542fe11d..62dda0392 100644 --- a/docs/configuring-playbook-cactus-comments.md +++ b/docs/configuring-playbook-cactus-comments.md @@ -91,7 +91,7 @@ Upon starting Cactus Comments, a `bot.cactusbot` user account is created automat To get started, send `help` to the `@bot.cactusbot:example.com` bot to confirm it's working. -Then, register a site by sending `register ` (where `` is a unique identifier you choose. It does not have to match your domain). You will then be invited into a moderation room. +Then, register a site by sending `register YOUR_SITE_NAME_HERE` (where `YOUR_SITE_NAME_HERE` is a unique identifier you choose. It does not have to match your domain). You will then be invited into a moderation room. Now you are good to go and can embed the comment section on your website! @@ -105,7 +105,7 @@ After including the JavaScript and CSS asset files, insert a `
` where you'd
```` -Then, you need to initialize the comment section. Make sure to replace `example.com` with your base domain and `` with the one that has been registered above: +Then, you need to initialize the comment section. Make sure to replace `example.com` with your base domain and `YOUR_SITE_NAME_HERE` with the one that has been registered above: ```html From 83ad4d4975a0c4bacd7997a4f2a3fc8b9918bca9 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 26 Jan 2025 11:18:44 +0900 Subject: [PATCH 069/841] Update docs/configuring-playbook-cactus-comments.md: adopt the common instruction to start using the component Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-cactus-comments.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/docs/configuring-playbook-cactus-comments.md b/docs/configuring-playbook-cactus-comments.md index 62dda0392..6dfdc4bd6 100644 --- a/docs/configuring-playbook-cactus-comments.md +++ b/docs/configuring-playbook-cactus-comments.md @@ -87,9 +87,7 @@ ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-use ## Usage -Upon starting Cactus Comments, a `bot.cactusbot` user account is created automatically. - -To get started, send `help` to the `@bot.cactusbot:example.com` bot to confirm it's working. +To use the component, you need to start a chat with `@bot.cactusbot:example.com` (where `example.com` is your base domain, not the `matrix.` domain). Then, register a site by sending `register YOUR_SITE_NAME_HERE` (where `YOUR_SITE_NAME_HERE` is a unique identifier you choose. It does not have to match your domain). You will then be invited into a moderation room. From 89864c6de0e8592164fa23aba2de50003acbe86e Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 26 Jan 2025 02:48:06 +0900 Subject: [PATCH 070/841] Update files for cactus-comments: add the common section "Troubleshooting" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-cactus-comments.md | 15 +++++++++++++++ .../defaults/main.yml | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/docs/configuring-playbook-cactus-comments.md b/docs/configuring-playbook-cactus-comments.md index 6dfdc4bd6..e6410946e 100644 --- a/docs/configuring-playbook-cactus-comments.md +++ b/docs/configuring-playbook-cactus-comments.md @@ -129,3 +129,18 @@ Make sure to replace `example.com` with your base domain before you include the ``` **Note**: if the `matrix_cactus_comments_client_hostname` and `matrix_cactus_comments_client_path_prefix` variables are tweaked, you would need to adjust the URLs of the assets accordingly. + +## Troubleshooting + +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-cactus-comments` for the backend appservice or `journalctl -fu matrix-cactus-comments-client` for the server serving the client assets, respectively. + +### Increase logging verbosity + +It is possible to increase logging verbosity for `matrix-cactus-comments-client`. The default logging level for this component is `error`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook: + +```yaml +# Controls the SERVER_LOG_LEVEL environment variable. +# See: https://static-web-server.net/configuration/environment-variables/ +# Valid values: error, warn, info, debug, trace +matrix_cactus_comments_client_environment_variable_server_log_level: debug +``` diff --git a/roles/custom/matrix-cactus-comments-client/defaults/main.yml b/roles/custom/matrix-cactus-comments-client/defaults/main.yml index 6a43ba585..7c5b15bfc 100644 --- a/roles/custom/matrix-cactus-comments-client/defaults/main.yml +++ b/roles/custom/matrix-cactus-comments-client/defaults/main.yml @@ -67,7 +67,7 @@ matrix_cactus_comments_client_environment_variable_server_port: 8080 # Controls the SERVER_LOG_LEVEL environment variable. # See: https://static-web-server.net/configuration/environment-variables/ -# Valid values: error, warn, info, debug or trace +# Valid values: error, warn, info, debug, trace matrix_cactus_comments_client_environment_variable_server_log_level: error # Controls the SERVER_LOG_REMOTE_ADDRESS environment variable. From 1f532fe90d259acdf676171cce9defe14d2aae9f Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 26 Jan 2025 11:40:28 +0900 Subject: [PATCH 071/841] Update docs/configuring-playbook-cactus-comments.md: add the configuration for changing the default username (bot.cactusbot) Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-cactus-comments.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/configuring-playbook-cactus-comments.md b/docs/configuring-playbook-cactus-comments.md index e6410946e..3b6916d2f 100644 --- a/docs/configuring-playbook-cactus-comments.md +++ b/docs/configuring-playbook-cactus-comments.md @@ -32,6 +32,9 @@ matrix_cactus_comments_enabled: true # When the backend (appservice) is enabled, this is also enabled automatically, but we explicitly enable it here. matrix_cactus_comments_client_enabled: true +# Uncomment and adjust this part if you'd like to use a username different than the default +# matrix_cactus_comments_user_id: "bot.cactusbot" + # To allow guest comments without users needing to log in, you need to have guest registration enabled. # To do this you need to uncomment one of the following lines (depending if you are using Synapse or Dendrite as a homeserver) # If you don't know which one you use: The default is Synapse ;) From abff629e366f484dabeab45026afee14f0681edd Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 26 Jan 2025 11:42:10 +0900 Subject: [PATCH 072/841] Update docs/configuring-playbook-cactus-comments.md: replace "-" with "—" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-cactus-comments.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/configuring-playbook-cactus-comments.md b/docs/configuring-playbook-cactus-comments.md index 3b6916d2f..f6adfda36 100644 --- a/docs/configuring-playbook-cactus-comments.md +++ b/docs/configuring-playbook-cactus-comments.md @@ -8,9 +8,9 @@ See the project's [documentation](https://cactus.chat/docs/getting-started/intro The playbook contains 2 roles for configuring different pieces of the Cactus Comments system: -- `matrix-cactus-comments` - the backend appservice integrating with the Matrix homeserver +- `matrix-cactus-comments` — the backend appservice integrating with the Matrix homeserver -- `matrix-cactus-comments-client` - a static website server serving the [cactus-client](https://cactus.chat/docs/client/introduction/) static assets (`cactus.js` and `styles.css`) +- `matrix-cactus-comments-client` — a static website server serving the [cactus-client](https://cactus.chat/docs/client/introduction/) static assets (`cactus.js` and `styles.css`) You can enable whichever component you need (typically both). From 76e346573c95caaca85ef895f766fa8c7edec96e Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 26 Jan 2025 12:18:31 +0900 Subject: [PATCH 073/841] Replace hyphen as dash with "Em Dash" unicode character (U+2014) This commit replaces hyphen characters used as dash with the actual unicode character for dash. It avoids using HTML character entity reference (—), because IMHO it would make it a bit harder to read documents as plain markdown files on your local text editor. Signed-off-by: Suguru Hirahara --- CHANGELOG.md | 168 +++++++++--------- docs/README.md | 18 +- docs/configuring-playbook-bot-baibot.md | 6 +- ...guring-playbook-bridge-appservice-slack.md | 2 +- ...onfiguring-playbook-bridge-heisenbridge.md | 2 +- ...-playbook-bridge-mautrix-meta-messenger.md | 4 +- docs/configuring-playbook-cactus-comments.md | 4 +- docs/configuring-playbook-conduit.md | 2 +- docs/configuring-playbook-email2matrix.md | 16 +- .../configuring-playbook-external-postgres.md | 2 +- docs/configuring-playbook-jitsi.md | 4 +- docs/configuring-playbook-ma1sd.md | 10 +- ...-playbook-matrix-authentication-service.md | 6 +- docs/configuring-playbook-matrix-corporal.md | 2 +- .../configuring-playbook-matrix-media-repo.md | 8 +- ...onfiguring-playbook-matrix-registration.md | 2 +- docs/configuring-playbook-own-webserver.md | 10 +- ...onfiguring-playbook-prometheus-nginxlog.md | 4 +- docs/configuring-playbook-riot-web.md | 4 +- docs/configuring-playbook-s3.md | 8 +- docs/configuring-playbook-synapse-admin.md | 2 +- ...ng-playbook-synapse-s3-storage-provider.md | 14 +- docs/configuring-playbook-synapse.md | 18 +- docs/configuring-playbook-traefik.md | 2 +- docs/configuring-playbook.md | 28 +-- docs/container-images.md | 2 +- docs/faq.md | 16 +- docs/howto-server-delegation.md | 2 +- docs/importing-postgres.md | 4 +- docs/importing-synapse-sqlite.md | 2 +- docs/installing.md | 4 +- docs/just.md | 2 +- docs/maintenance-synapse.md | 6 +- docs/obtaining-access-tokens.md | 2 +- docs/playbook-tags.md | 14 +- docs/quick-start.md | 2 +- docs/registering-users.md | 4 +- group_vars/matrix_servers | 8 +- 38 files changed, 207 insertions(+), 207 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 60fee527e..d2951af62 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -60,11 +60,11 @@ You can disable authenticated media at any time by setting `matrix_synapse_enabl The playbook used to install Redis or KeyDB if services have a need for a Redis-compatible implementation ([enabling worker support for Synapse](docs/configuring-playbook-synapse.md#load-balancing-with-workers), [enabling Hookshot encryption](docs/configuring-playbook-bridge-hookshot.md#end-to-bridge-encryption), etc.). -Earlier this year, we switched from Redis to KeyDB - see [(Backward Compatibility Break) The playbook now defaults to KeyDB, instead of Redis](#backward-compatibility-break-the-playbook-now-defaults-to-keydb-instead-of-redis). +Earlier this year, we switched from Redis to KeyDB — see [(Backward Compatibility Break) The playbook now defaults to KeyDB, instead of Redis](#backward-compatibility-break-the-playbook-now-defaults-to-keydb-instead-of-redis). Because Valkey seems to be a better successor to Redis (than KeyDB) and likely doesn't suffer from [issues like this one](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3544), we now replace KeyDB with Valkey. -Valkey (like KeyDB and Redis in the past) is an implicitly enabled dependency - you don't need custom configuration in `vars.yml` to enable it. +Valkey (like KeyDB and Redis in the past) is an implicitly enabled dependency — you don't need custom configuration in `vars.yml` to enable it. Next time your run the playbook (via the `setup-all` tag), **KeyDB will be automatically uninstalled and replaced with Valkey**. Some Synapse downtime may occur while the switch happens. @@ -186,7 +186,7 @@ As always, the playbook would let you know about this and point out any variable ## Support for baibot -The playbook now supports installing [baibot](./docs/configuring-playbook-bot-baibot.md) (pronounced bye-bot) - a [Matrix](https://matrix.org/) bot developed by [etke.cc](https://etke.cc/) that exposes the power of [AI](https://en.wikipedia.org/wiki/Artificial_intelligence) / [Large Language Models](https://en.wikipedia.org/wiki/Large_language_model) to you. 🤖 +The playbook now supports installing [baibot](./docs/configuring-playbook-bot-baibot.md) (pronounced bye-bot) — a [Matrix](https://matrix.org/) bot developed by [etke.cc](https://etke.cc/) that exposes the power of [AI](https://en.wikipedia.org/wiki/Artificial_intelligence) / [Large Language Models](https://en.wikipedia.org/wiki/Large_language_model) to you. 🤖 It supports [OpenAI](https://openai.com/)'s [ChatGPT](https://openai.com/blog/chatgpt/) models, as well as many other [☁️ providers](https://github.com/etkecc/baibot/blob/main/docs/providers.md). @@ -198,7 +198,7 @@ To get started, see the [Setting up baibot](./docs/configuring-playbook-bot-baib The playbook now installs [etke.cc](https://etke.cc/)'s [fork](https://github.com/etkecc/synapse-admin) of [synapse-admin](https://github.com/Awesome-Technologies/synapse-admin) (originally developed by [Awesome-Technologies](https://github.com/Awesome-Technologies)). This fork is a drop-in replacement for the original software. -The creation of the fork has been provoked by users frequently encountering issues with the original synapse-admin software, such as unintentionally deleting their one-and-only admin user account (fixed [here](https://github.com/etkecc/synapse-admin/pull/1) and also contributed upstream [here](https://github.com/Awesome-Technologies/synapse-admin/pull/608) - to no avail for now). Since its inception, [a bunch of other quality-of-life improvements](https://github.com/etkecc/synapse-admin?tab=readme-ov-file#changes) have been made to the fork. +The creation of the fork has been provoked by users frequently encountering issues with the original synapse-admin software, such as unintentionally deleting their one-and-only admin user account (fixed [here](https://github.com/etkecc/synapse-admin/pull/1) and also contributed upstream [here](https://github.com/Awesome-Technologies/synapse-admin/pull/608) — to no avail for now). Since its inception, [a bunch of other quality-of-life improvements](https://github.com/etkecc/synapse-admin?tab=readme-ov-file#changes) have been made to the fork. If upstream synapse-admin picks up the pace and improves, the etke.cc fork may disappear and the playbook may switch to the original software again. Until that time comes, we believe that etke.cc's fork is the better software to use right now. @@ -269,7 +269,7 @@ matrix_corporal_version: 2.8.0 ## synapse-usage-exporter support -Thanks to [Michael Hollister](https://github.com/Michael-Hollister) from [FUTO](https://www.futo.org/), the creators of the [Circles app](https://circu.li/), the playbook can now set up [synapse-usage-exporter](https://github.com/loelkes/synapse-usage-exporter) - a small [Flask](https://flask.palletsprojects.com)-based webservice which can capture usage statistics from Synapse (via HTTP `PUT`) and then make them available for Prometheus to scrape. +Thanks to [Michael Hollister](https://github.com/Michael-Hollister) from [FUTO](https://www.futo.org/), the creators of the [Circles app](https://circu.li/), the playbook can now set up [synapse-usage-exporter](https://github.com/loelkes/synapse-usage-exporter) — a small [Flask](https://flask.palletsprojects.com)-based webservice which can capture usage statistics from Synapse (via HTTP `PUT`) and then make them available for Prometheus to scrape. To learn more see our [Enabling synapse-usage-exporter for Synapse usage statistics](docs/configuring-playbook-synapse-usage-exporter.md) documentation page. @@ -300,7 +300,7 @@ If you're using the playbook's Traefik instance to reverse-proxy to some other s If you've tweaked any of this playbook's `_path_prefix` variables and made them use a regular expression, you will now need to make additional adjustments. The playbook makes extensive use of `PathPrefix()` matchers in Traefik rules and `PathPrefix` does not support regular expressions anymore. To work around it, you may now need to override a whole `_traefik_rule` variable and switch it from [`PathPrefix` to `PathRegexp`](https://doc.traefik.io/traefik/routing/routers/#path-pathprefix-and-pathregexp). -If you're not using [matrix-media-repo](./docs/configuring-playbook-matrix-media-repo.md) (the only role we had to tweak to adapt it to Traefik v3), you **may potentially downgrade to Traefik v2** (if necessary) by adding `traefik_verison: v2.11.4` to your configuration. People using `matrix-media-repo` cannot downgrade this way, because `matrix-media-repo` has been adjusted to use `PathRegexp` - a [routing matcher](https://doc.traefik.io/traefik/v2.11/routing/routers/#rule) that Traefik v2 does not understand. +If you're not using [matrix-media-repo](./docs/configuring-playbook-matrix-media-repo.md) (the only role we had to tweak to adapt it to Traefik v3), you **may potentially downgrade to Traefik v2** (if necessary) by adding `traefik_verison: v2.11.4` to your configuration. People using `matrix-media-repo` cannot downgrade this way, because `matrix-media-repo` has been adjusted to use `PathRegexp` — a [routing matcher](https://doc.traefik.io/traefik/v2.11/routing/routers/#rule) that Traefik v2 does not understand. ### HTTP/3 is enabled by default @@ -371,7 +371,7 @@ When generating new webhooks, you should start seeing the new URLs being used. **For now**, **both** old URLs (`/hookshot/webhooks/:hookId`) and new URLs (`/hookshot/webhooks/webhook/:hookId`) **continue to work**, so your webhooks will not break just yet. -However, **we recommend that you update all your old webhook URLs** (configured in other systems) to include the new `/webhook` path component, so that future Hookshot changes (whenever they come) will not break your webhooks. You don't need to do anything on the Hookshot side - you merely need to reconfigure the remote systems that use your webhook URLs. +However, **we recommend that you update all your old webhook URLs** (configured in other systems) to include the new `/webhook` path component, so that future Hookshot changes (whenever they come) will not break your webhooks. You don't need to do anything on the Hookshot side — you merely need to reconfigure the remote systems that use your webhook URLs. # 2024-06-22 @@ -433,7 +433,7 @@ It should be noted that: ## Pantalaimon support -Thanks to [Julian Foad](https://matrix.to/#/@julian:foad.me.uk), the playbook can now install the [Pantalaimon](https://github.com/matrix-org/pantalaimon) E2EE aware proxy daemon for you. It's already possible to integrate it with [Draupnir](docs/configuring-playbook-bot-draupnir.md) to allow it to work in E2EE rooms - see our Draupnir docs for details. +Thanks to [Julian Foad](https://matrix.to/#/@julian:foad.me.uk), the playbook can now install the [Pantalaimon](https://github.com/matrix-org/pantalaimon) E2EE aware proxy daemon for you. It's already possible to integrate it with [Draupnir](docs/configuring-playbook-bot-draupnir.md) to allow it to work in E2EE rooms — see our Draupnir docs for details. See our [Setting up Pantalaimon](docs/configuring-playbook-pantalaimon.md) documentation to get started. @@ -453,9 +453,9 @@ The documentation page for [Draupnir for all](./docs/configuring-playbook-appser ## Support for bridging to Facebook/Messenger via the new mautrix-meta bridge -The [mautrix-facebook](./docs/configuring-playbook-bridge-mautrix-facebook.md) and [mautrix-instagram](./docs/configuring-playbook-bridge-mautrix-instagram.md) bridges are being [superseded by a new bridge](https://github.com/mautrix/facebook/issues/332) - the [mautrix-meta](https://github.com/mautrix/meta) bridge. +The [mautrix-facebook](./docs/configuring-playbook-bridge-mautrix-facebook.md) and [mautrix-instagram](./docs/configuring-playbook-bridge-mautrix-instagram.md) bridges are being [superseded by a new bridge](https://github.com/mautrix/facebook/issues/332) — the [mautrix-meta](https://github.com/mautrix/meta) bridge. -The playbook now supports the new mautrix-meta bridge - a single bridge, which can run in different modes and bridge to Messenger (via [Facebook](https://facebook.com/), Facebook over [Tor](https://www.torproject.org/) or via [Messenger](https://messenger.com/)) and [Instagram](https://instagram.com/). The playbook makes this bridge available via 2 separate Ansible roles, allowing you to easily run 2 instances of mautrix-meta, for bridging to both services at the same time. +The playbook now supports the new mautrix-meta bridge — a single bridge, which can run in different modes and bridge to Messenger (via [Facebook](https://facebook.com/), Facebook over [Tor](https://www.torproject.org/) or via [Messenger](https://messenger.com/)) and [Instagram](https://instagram.com/). The playbook makes this bridge available via 2 separate Ansible roles, allowing you to easily run 2 instances of mautrix-meta, for bridging to both services at the same time. If you're using mautrix-facebook or mautrix-instagram right now, **you can still continue using the old bridges, but may wish to change to the new bridge implementations**. See: @@ -476,9 +476,9 @@ The playbook has always used a very conservative cache factor (`matrix_synapse_c The playbook now uses **a 20x larger cache factor** (currently `10`), adjusts a few other cache-related variables, and **enables cache auto-tuning** via the following variables: -- `matrix_synapse_cache_autotuning_max_cache_memory_usage` - defaults to 1/8 of total RAM with a cap of 2GB; values are specified in bytes -- `matrix_synapse_cache_autotuning_target_cache_memory_usage` - defaults to 1/16 of total RAM with a cap of 1GB; values are specified in bytes -- `matrix_synapse_cache_autotuning_min_cache_ttl` - defaults to `30s` +- `matrix_synapse_cache_autotuning_max_cache_memory_usage` — defaults to 1/8 of total RAM with a cap of 2GB; values are specified in bytes +- `matrix_synapse_cache_autotuning_target_cache_memory_usage` — defaults to 1/16 of total RAM with a cap of 1GB; values are specified in bytes +- `matrix_synapse_cache_autotuning_min_cache_ttl` — defaults to `30s` These values should be good defaults for most servers, but may change over time as we experiment further. @@ -491,7 +491,7 @@ Refer to our new [Tuning caches and cache autotuning](docs/maintenance-synapse.m This only affects people who are [Serving a static website at the base domain](./docs/configuring-playbook-base-domain-serving.md#serving-a-static-website-at-the-base-domain), but not managing its `index.html` through the playbook. -That is, for people who have `matrix_static_files_file_index_html_enabled: false` in their `vars.yml` configuration, the playbook has a new default behavior. Since the playbook is not managing the `index.html` file, it will default to a more sensible way of handling the base domain - redirecting `https://example.com/` to `https://matrix.example.com/`, instead of serving a 404 page. +That is, for people who have `matrix_static_files_file_index_html_enabled: false` in their `vars.yml` configuration, the playbook has a new default behavior. Since the playbook is not managing the `index.html` file, it will default to a more sensible way of handling the base domain — redirecting `https://example.com/` to `https://matrix.example.com/`, instead of serving a 404 page. If you are managing your static website by yourself (by dropping files into `/matrix/static-files/public` somehow), then you probably don't wish for such redirection to happen. You can disable it by adding `matrix_static_files_container_labels_base_domain_root_path_redirection_enabled: false` to your `vars.yml` configuration file. @@ -515,7 +515,7 @@ To get started, refer to our [Specialized workers](./docs/configuring-playbook-s A few months ago, the [Element](https://element.io/) company has [announced](https://element.io/blog/element-to-adopt-agplv3/) that their work on the Synapse homeserver would no longer be available under the permissive [Apache-2.0 license](https://www.apache.org/licenses/LICENSE-2.0), but only under: -- the [AGPLv3](https://www.gnu.org/licenses/agpl-3.0.en.html) free-software license - the same license that this Ansible playbook has always used +- the [AGPLv3](https://www.gnu.org/licenses/agpl-3.0.en.html) free-software license — the same license that this Ansible playbook has always used - a proprietary license, for those wishing for Element to [sell them an exception](https://gnu.org/philosophy/selling-exceptions.html) to the AGPLv3 license You can also learn more in [this post](https://matrix.org/blog/2023/11/06/future-of-synapse-dendrite/) by the Matrix Foundation. @@ -546,7 +546,7 @@ matrix_synapse_version: v1.98.0 Notes: -- if you had already upgraded Synapse to `v1.99.0` by running this playbook, you will still be able to downgrade to `v1.98.0`, because both releases use the same database schema version (`SCHEMA_COMPAT_VERSION = 83` - see [here for v1.98.0](https://github.com/element-hq/synapse/blob/v1.98.0/synapse/storage/schema/__init__.py#L131-L134) and [here for v1.99.0](https://github.com/element-hq/synapse/blob/v1.99.0/synapse/storage/schema/__init__.py#L137-L140)). More details on Synapse's database schema are available [here](https://element-hq.github.io/synapse/develop/development/database_schema.html). It appears that there are no new database migrations introduced in `v1.99.0`, so going back to the older release is possible. This is not guaranteed to hold true for future Synapse releases, so if you're seeing this early-enough, consider pinning the version and organization before re-running the playbook and getting upgraded to the latest version +- if you had already upgraded Synapse to `v1.99.0` by running this playbook, you will still be able to downgrade to `v1.98.0`, because both releases use the same database schema version (`SCHEMA_COMPAT_VERSION = 83` — see [here for v1.98.0](https://github.com/element-hq/synapse/blob/v1.98.0/synapse/storage/schema/__init__.py#L131-L134) and [here for v1.99.0](https://github.com/element-hq/synapse/blob/v1.99.0/synapse/storage/schema/__init__.py#L137-L140)). More details on Synapse's database schema are available [here](https://element-hq.github.io/synapse/develop/development/database_schema.html). It appears that there are no new database migrations introduced in `v1.99.0`, so going back to the older release is possible. This is not guaranteed to hold true for future Synapse releases, so if you're seeing this early-enough, consider pinning the version and organization before re-running the playbook and getting upgraded to the latest version - running an outdated homeserver exposes you to security issues and incompatibilities. Only consider doing this as a short-term solution. @@ -564,14 +564,14 @@ As of [#204](https://github.com/the-draupnir-project/Draupnir/pull/204) Draupnir ### Backstory on `matrix-nginx-proxy` -We gather here today to celebrate the loss of a once-beloved component in our stack - `matrix-nginx-proxy`. It's been our [nginx](https://nginx.org/)-based reverse-proxy of choice since the [first commit](https://github.com/spantaleev/matrix-docker-ansible-deploy/tree/87f5883f2455fb115457b65f267f17de305c053c) of this playbook, 7 years ago. +We gather here today to celebrate the loss of a once-beloved component in our stack — `matrix-nginx-proxy`. It's been our [nginx](https://nginx.org/)-based reverse-proxy of choice since the [first commit](https://github.com/spantaleev/matrix-docker-ansible-deploy/tree/87f5883f2455fb115457b65f267f17de305c053c) of this playbook, 7 years ago. -For 6 years, `matrix-nginx-proxy` has been the front-most reverse-proxy in our setup (doing SSL termination, etc.). After [transitioning to Traefik last year](#traefik-is-the-default-reverse-proxy-now), `matrix-nginx-proxy` took a step back. Nevertheless, since it was so ingrained into the playbook, it still remained in use - even if only internally. Despite our warnings of its imminent death, many of you have indubitably continued to use it instead of Traefik. Its suffering continued for too long, because it served many different purposes and massive effort was required to transition them to others. +For 6 years, `matrix-nginx-proxy` has been the front-most reverse-proxy in our setup (doing SSL termination, etc.). After [transitioning to Traefik last year](#traefik-is-the-default-reverse-proxy-now), `matrix-nginx-proxy` took a step back. Nevertheless, since it was so ingrained into the playbook, it still remained in use — even if only internally. Despite our warnings of its imminent death, many of you have indubitably continued to use it instead of Traefik. Its suffering continued for too long, because it served many different purposes and massive effort was required to transition them to others. To us, `matrix-nginx-proxy` was: - an [nginx](https://nginx.org/)-based reverse-proxy -- an Ansible role organizing the work of [certbot](https://certbot.eff.org/) - retrieving free [Let's Encrypt](https://letsencrypt.org/) SSL certificates for `matrix-nginx-proxy` and for the [coturn TURN server](./docs/configuring-playbook-turn.md) +- an Ansible role organizing the work of [certbot](https://certbot.eff.org/) — retrieving free [Let's Encrypt](https://letsencrypt.org/) SSL certificates for `matrix-nginx-proxy` and for the [coturn TURN server](./docs/configuring-playbook-turn.md) - a central component for reverse-proxying to the [long list of services](./docs/configuring-playbook.md) supported by the playbook. As such, it became a dependency that all these services had to inject themselves into during runtime - an intermediary through which addons (bridges, bots) communicated with the homeserver. Going through an intermediary (instead of directly talking to the homeserver) is useful when certain components (like [matrix-media-repo](./docs/configuring-playbook-matrix-media-repo.md) or [matrix-corporal](./docs/configuring-playbook-matrix-corporal.md)) are enabled, because it lets these services "steal routes" from the homeserver - a webserver for serving the `/.well-known/matrix` static files (generated by the `matrix-base` role until now) @@ -596,9 +596,9 @@ This reduces "network" hops (improving performance) and also decreases the numbe ### Traefik now has an extra job -Previously, **Traefik had a single purpose** - being the main reverse-proxy. It was either front-most (terminating SSL, etc.) or you were [fronting Traefik with your own other reverse-proxy](./docs/configuring-playbook-own-webserver.md#fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy). In any case - it had this central (yet decentralized) job. +Previously, **Traefik had a single purpose** — being the main reverse-proxy. It was either front-most (terminating SSL, etc.) or you were [fronting Traefik with your own other reverse-proxy](./docs/configuring-playbook-own-webserver.md#fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy). In any case — it had this central (yet decentralized) job. -Now, **Traefik has one more role** - it serves as an intermediary which allows addon services (bridges, bots, etc.) to communicate with the homeserver. As mentioned above, such an intermediary service is not strictly necessary in all kinds of setups, but more complex setups (including [matrix-media-repo](./docs/configuring-playbook-matrix-media-repo.md) or [matrix-corporal](./docs/configuring-playbook-matrix-corporal.md)) benefit from it. +Now, **Traefik has one more role** — it serves as an intermediary which allows addon services (bridges, bots, etc.) to communicate with the homeserver. As mentioned above, such an intermediary service is not strictly necessary in all kinds of setups, but more complex setups (including [matrix-media-repo](./docs/configuring-playbook-matrix-media-repo.md) or [matrix-corporal](./docs/configuring-playbook-matrix-corporal.md)) benefit from it. To perform this new role, Traefik now has a new internal [entrypoint](https://doc.traefik.io/traefik/routing/entrypoints/) called `matrix-internal-matrix-client-api`. All homeservers (Conduit, Dendrite, Synapse and even `matrix-synapse-reverse-proxy-companion`) and homeserver-related core services ([matrix-media-repo](./docs/configuring-playbook-matrix-media-repo.md), [matrix-corporal](./docs/configuring-playbook-matrix-corporal.md) and potentially others) register their routes (using [container labels](https://docs.docker.com/config/labels-custom-metadata/)) not only on the public entrypoints (`web-secure`, `matrix-federation`), but also on this new internal entrypoint. @@ -633,7 +633,7 @@ If you don't do these changes (switching from `traefik_additional_entrypoints_au ### Supported reverse proxy types are now fewer -This section is for people using a more custom reverse-proxy setup - those having `matrix_playbook_reverse_proxy_type` set to a value different than the default (`playbook-managed-traefik`). +This section is for people using a more custom reverse-proxy setup — those having `matrix_playbook_reverse_proxy_type` set to a value different than the default (`playbook-managed-traefik`). Previously, we allowed you to set `matrix_playbook_reverse_proxy_type` to 7 different values to accommodate various reverse-proxy setups. @@ -658,7 +658,7 @@ Now that `matrix-nginx-proxy` is not in the mix, it became easier to clear out s Since the very beginning of this playbook, all playbook services were connected to a single (shared) `matrix` container network. Later on, some additional container networks appeared, but most services (database, etc.) still remained in the `matrix` container network. This meant that any random container in this network could try to talk (or attack) the Postgres database operating in the same `matrix` network. -Moving components (especially the database) into other container networks was difficult - it required changes to many other components to ensure correct connectivity. +Moving components (especially the database) into other container networks was difficult — it required changes to many other components to ensure correct connectivity. All the hard work has been done now. We've added much more isolation between services by splitting them up into separate networks (`matrix-homeserver`, `matrix-addons`, `matrix-monitoring`, `matrix-exim-relay`, etc). Components are only joined to the networks they need and should (for the most part) not be able to access unrelated things. @@ -672,11 +672,11 @@ This section is for people who are exposing monitoring metrics publicly, to be c Previously, `matrix-nginx-proxy` was potentially password-protecting all `/metrics/*` endpoints with the same username and password (specified as plain-text in your `vars.yml` configuration file). -From now on, there are new variables for doing roughly the same - `matrix_metrics_exposure_enabled`, `matrix_metrics_exposure_http_basic_auth_enabled` and `matrix_metrics_exposure_http_basic_auth_users`. See the [Prometheus & Grafana](./docs/configuring-playbook-prometheus-grafana.md) docs page for details. +From now on, there are new variables for doing roughly the same — `matrix_metrics_exposure_enabled`, `matrix_metrics_exposure_http_basic_auth_enabled` and `matrix_metrics_exposure_http_basic_auth_users`. See the [Prometheus & Grafana](./docs/configuring-playbook-prometheus-grafana.md) docs page for details. `matrix-nginx-proxy` is not acting as a "global guardian" anymore. Now, each role provides its own metrics exposure and protection by registering with Traefik. Nevertheless, all roles are wired (via playbook configuration in `group_vars/matrix_servers`) to obey these new `matrix_metrics_exposure_*` variables. We've eliminated the centralization, but have kept the ease of use. Now, you can also do per-service password-protection (with different credentials), should you need to do that for some reason. -The playbook will tell you about all variables that you need to migrate during runtime, so rest assured - you shouldn't be able to miss anything! +The playbook will tell you about all variables that you need to migrate during runtime, so rest assured — you shouldn't be able to miss anything! ### Matrix static files @@ -696,9 +696,9 @@ We believe that using Traefik provides way too many benefits to worry about this The heaviest part of running a Matrix homeserver is all the slow and potentially inefficient things the homeserver (e.g. Synapse) is doing. These things affect performance much more than whatever reverse-proxy is in front. Your server will die the same way by joining the famously large **Matrix HQ** room, no matter which reverse-proxy you put in front. -Even our previously mentioned benchmarks (yielding ~1300 rps) are synthetic - hitting a useless `/_matrix/client/versions` endpoint. Real-use does much more than this. +Even our previously mentioned benchmarks (yielding ~1300 rps) are synthetic — hitting a useless `/_matrix/client/versions` endpoint. Real-use does much more than this. -If this is still not convincing enough for you and you want the best possible performance, consider [Fronting Traefik with another reverse-proxy](./docs/configuring-playbook-own-webserver.md#fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy) (thus having the slowest part - SSL termination - happen elsewhere) or [Using no reverse-proxy on the Matrix side at all](./docs/configuring-playbook-own-webserver.md#using-no-reverse-proxy-on-the-matrix-side-at-all). The playbook will not get in your way of doing that, but these options may make your life much harder. Performance comes at a cost, after all. +If this is still not convincing enough for you and you want the best possible performance, consider [Fronting Traefik with another reverse-proxy](./docs/configuring-playbook-own-webserver.md#fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy) (thus having the slowest part — SSL termination — happen elsewhere) or [Using no reverse-proxy on the Matrix side at all](./docs/configuring-playbook-own-webserver.md#using-no-reverse-proxy-on-the-matrix-side-at-all). The playbook will not get in your way of doing that, but these options may make your life much harder. Performance comes at a cost, after all. ### Migration procedure @@ -710,7 +710,7 @@ The updated playbook will automatically perform some migration tasks for you: 3. It will delete the `/matrix/ssl` directory and all files within it. You can disable this behavior by adding `matrix_playbook_migration_matrix_ssl_uninstallation_enabled: false` to your `vars.yml` configuration file. If you have some important certificates there for some reason, take them out or temporarily disable removal of these files until you do. -4. It will tell you about all variables (`matrix_nginx_proxy_*` and many others - even from other roles) that have changed during this large nginx-elimination upgrade. You can disable this behavior by adding `matrix_playbook_migration_matrix_nginx_proxy_elimination_variable_transition_checks_enabled: false` to your `vars.yml` configuration file. +4. It will tell you about all variables (`matrix_nginx_proxy_*` and many others — even from other roles) that have changed during this large nginx-elimination upgrade. You can disable this behavior by adding `matrix_playbook_migration_matrix_nginx_proxy_elimination_variable_transition_checks_enabled: false` to your `vars.yml` configuration file. 5. It will tell you about any leftover `matrix_nginx_proxy_*` variables in your `vars.yml` file. You can disable this behavior by adding `matrix_playbook_migration_matrix_nginx_proxy_leftover_variable_validation_checks_enabled: false` to your `vars.yml` configuration file. @@ -833,17 +833,17 @@ The playbook should **automatically migrate your mautrix-signal installation to **TDLR**: if your Matrix server is federating (which it mostly likely is, unless you've [disabled federation](docs/configuring-playbook-federation.md#disabling-federation)), your public rooms will not only be joinable across federation (as they've always been), but from now on will be discoverable (made available as a list across federation). We're changing this by flipping the value for Synapse's `allow_public_rooms_over_federation` setting to `true`, going against the upstream default. Servers that disable federation are not affected. Servers that have public rooms which are not published to the room directory are also not affected. -We generally try to stick to the default configuration for Synapse (and all other components), unless these defaults seem wrong or harmful. One such previous case from a few months ago was us [Enabling `forget_rooms_on_leave` by default for Synapse](#enabling-forget_rooms_on_leave-by-default-for-synapse) - the default value was making Synapse more wasteful of resources by default. +We generally try to stick to the default configuration for Synapse (and all other components), unless these defaults seem wrong or harmful. One such previous case from a few months ago was us [Enabling `forget_rooms_on_leave` by default for Synapse](#enabling-forget_rooms_on_leave-by-default-for-synapse) — the default value was making Synapse more wasteful of resources by default. Today, we're going against upstream defaults again and flipping the `allow_public_rooms_over_federation` configuration option to `true`. This way, public rooms on your server will be made discoverable by others via federation, using the [`GET /_matrix/federation/v1/publicRooms` of the Server-Server API](https://spec.matrix.org/v1.8/server-server-api/#get_matrixfederationv1publicrooms). The upstream Synapse default is `false` (disabled), so that public rooms are not exposed for other servers to discover (learn about their existence). Nevertheless, even if these rooms are not exposed (listed) for discovery, they are **still joinable** by anyone who knows their address or is invited to the room by an existing member. -**We go against the upstream default** in an effort to make Matrix federation more useful - a public room should be globally public - not only joinable, but also discoverable across federation. +**We go against the upstream default** in an effort to make Matrix federation more useful — a public room should be globally public — not only joinable, but also discoverable across federation. The **historical reasoning** behind this change is as follows: -- `allow_public_rooms_over_federation` seems to have been enabled by default for Synapse until v1.7.0 (~2019), just like we believe it should be for a globally-federating network - rooms should be joinable and discoverable across federation. +- `allow_public_rooms_over_federation` seems to have been enabled by default for Synapse until v1.7.0 (~2019), just like we believe it should be for a globally-federating network — rooms should be joinable and discoverable across federation. - In Synapse v1.7.0 (~2019), `allow_public_rooms_over_federation` [got disabled](https://github.com/element-hq/synapse/blob/e9069c9f919685606506f04527332e83fbfa44d9/docs/upgrade.md?plain=1#L1877-L1891) by default in a [security-by-obscurity](https://en.wikipedia.org/wiki/Security_through_obscurity) workaround for misconfigured servers. See the [Avoiding unwelcome visitors on private Matrix servers](https://matrix.org/blog/2019/11/09/avoiding-unwelcome-visitors-on-private-matrix-servers/) `matrix.org` blog article. We believe that people wishing for a truly private server, should [disable federation](docs/configuring-playbook-federation.md#disabling-federation), instead of having a fully-federating server and trying to hide its public rooms. We also provide other workarounds below. We (and the Synapse team, obviously) believe that Matrix should federate by default, so federating the public room list seems to make sense. @@ -853,7 +853,7 @@ Here are **actions you may wish to take** as a result of this change: - (recommended) embrace the new default. If your Matrix server is federating, your public rooms have always been joinable across federation anyway. Exposing the list of public rooms does no harm and more-so does good by contributing to the usefulness of the Matrix network by facilitating room discovery. -- (switch to a better way of doings things on your semi-private server) The problem that the Synapse team appears to have solved by flipping the `allow_public_rooms_over_federation` default in Synapse v1.7.0 seems to for "mostly private" servers, which federate and have a bunch of rooms made public (and published in their room directory) in an effort to allow people on the same homeserver to easily find and join them (self-onboarding). With the introduction of Matrix Spaces, you can reorganize your flow around spaces - you can auto-join your users to a Matrix Space (via Synapse's `auto_join_rooms` setting - controlled by our `matrix_synapse_auto_join_rooms` variable), then add a bunch of rooms to the space and make them joinable by people belonging to the space. That is to say, do not make rooms public and do not publish them to the room directory unless they are really public. Instead, use other mechanisms for semi-public rooms or private rooms. One alternative is to stick to what you're doing (public rooms published to your rooms directory) but having a `m.federate: true` flag set during creation (clients like Element Web have a nice UI checkbox for this) to explicitly disable federation for them. +- (switch to a better way of doings things on your semi-private server) The problem that the Synapse team appears to have solved by flipping the `allow_public_rooms_over_federation` default in Synapse v1.7.0 seems to for "mostly private" servers, which federate and have a bunch of rooms made public (and published in their room directory) in an effort to allow people on the same homeserver to easily find and join them (self-onboarding). With the introduction of Matrix Spaces, you can reorganize your flow around spaces — you can auto-join your users to a Matrix Space (via Synapse's `auto_join_rooms` setting — controlled by our `matrix_synapse_auto_join_rooms` variable), then add a bunch of rooms to the space and make them joinable by people belonging to the space. That is to say, do not make rooms public and do not publish them to the room directory unless they are really public. Instead, use other mechanisms for semi-public rooms or private rooms. One alternative is to stick to what you're doing (public rooms published to your rooms directory) but having a `m.federate: true` flag set during creation (clients like Element Web have a nice UI checkbox for this) to explicitly disable federation for them. - (keeping the old behavior) if you wish to keep doing what you're doing (keeping your Matrix server federating, but hiding its public rooms list), add `matrix_synapse_allow_public_rooms_over_federation: false` to your `vars.yml` configuration. This restores the old behavior. You may also consider [disabling federation](docs/configuring-playbook-federation.md#disabling-federation) completely instead of relying on security-by-obscurity measures. @@ -912,7 +912,7 @@ Thanks to [Shreyas Ajjarapu](https://github.com/shreyasajj)'s efforts, the playb ## matrix-media-repo support -Thanks to [Michael Hollister](https://github.com/Michael-Hollister) from [FUTO](https://www.futo.org/), the creators of the [Circles app](https://circu.li/), the playbook can now set up [matrix-media-repo](https://github.com/turt2live/matrix-media-repo) - an alternative way to store homeserver media files, powered by a homeserver-independent implementation which supports S3 storage, IPFS, deduplication and other advanced features. +Thanks to [Michael Hollister](https://github.com/Michael-Hollister) from [FUTO](https://www.futo.org/), the creators of the [Circles app](https://circu.li/), the playbook can now set up [matrix-media-repo](https://github.com/turt2live/matrix-media-repo) — an alternative way to store homeserver media files, powered by a homeserver-independent implementation which supports S3 storage, IPFS, deduplication and other advanced features. To learn more see our [Storing Matrix media files using matrix-media-repo](docs/configuring-playbook-matrix-media-repo.md) documentation page. @@ -936,7 +936,7 @@ If you'd like to go back to the old behavior, add the following to your configur **TLDR**: the `matrix-jitsi` role is now included from the [ansible-role-jitsi](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi) repository, part of the [MASH playbook](https://github.com/mother-of-all-self-hosting/mash-playbook). Some variables have been renamed. All functionality remains intact. -The `matrix-jitsi` role has been relocated in its own repository, part of the [MASH playbook](https://github.com/mother-of-all-self-hosting/mash-playbook) project - an Ansible playbook for self-hosting [a growing list of FOSS software](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/supported-services.md). If hosting a Jitsi stack on the Matrix server itself did not stand right with you or you always wanted to host most stuff, you can now use this new playbook to do so. +The `matrix-jitsi` role has been relocated in its own repository, part of the [MASH playbook](https://github.com/mother-of-all-self-hosting/mash-playbook) project — an Ansible playbook for self-hosting [a growing list of FOSS software](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/supported-services.md). If hosting a Jitsi stack on the Matrix server itself did not stand right with you or you always wanted to host most stuff, you can now use this new playbook to do so. As part of the extraction process of this role out of the Matrix playbook, a few other things improved: @@ -966,7 +966,7 @@ This change was already applied a while before this entry, but as some users wer **TLDR**: the `matrix-prometheus` role is now included from the [ansible-role-prometheus](https://github.com/mother-of-all-self-hosting/ansible-role-prometheus) repository, part of the [MASH playbook](https://github.com/mother-of-all-self-hosting/mash-playbook). Some variables have been renamed. All functionality remains intact. -The `matrix-prometheus` role has been relocated in its own repository, part of the [MASH playbook](https://github.com/mother-of-all-self-hosting/mash-playbook) project - an Ansible playbook for self-hosting [a growing list of FOSS software](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/supported-services.md). If hosting a Prometheus stack on the Matrix server itself did not stand right with you or you always wanted to host most stuff, you can now use this new playbook to do so. +The `matrix-prometheus` role has been relocated in its own repository, part of the [MASH playbook](https://github.com/mother-of-all-self-hosting/mash-playbook) project — an Ansible playbook for self-hosting [a growing list of FOSS software](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/supported-services.md). If hosting a Prometheus stack on the Matrix server itself did not stand right with you or you always wanted to host most stuff, you can now use this new playbook to do so. Extracting the Prometheus role out of this Matrix playbook required huge internal refactoring to the way the Prometheus configuration (scraping jobs) is generated. If you notice any breakage after upgrading, let us know. @@ -985,7 +985,7 @@ If you're making use of Prometheus via this playbook, you will need to update va Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook can now set up [rust-synapse-compress-state](https://github.com/matrix-org/rust-synapse-compress-state)'s `synapse_auto_compressor` tool to run periodically. -If enabled, `synapse_auto_compressor` runs on a schedule and compresses your Synapse database's `state_groups` table. It was possible to run `rust-synapse-compress-state` manually via the playbook even before - see [Compressing state with rust-synapse-compress-state](docs/maintenance-synapse.md#compressing-state-with-rust-synapse-compress-state). However, using `synapse_auto_compressor` is better, because: +If enabled, `synapse_auto_compressor` runs on a schedule and compresses your Synapse database's `state_groups` table. It was possible to run `rust-synapse-compress-state` manually via the playbook even before — see [Compressing state with rust-synapse-compress-state](docs/maintenance-synapse.md#compressing-state-with-rust-synapse-compress-state). However, using `synapse_auto_compressor` is better, because: - it runs on a more up-to-date version of `rust-synapse-compress-state` - it's a set-it-and-forget-it tool that you can enable and never have to deal with manual compression anymore @@ -1049,7 +1049,7 @@ Until now, we've been doing the migration gradually and keeping full backward co - Traefik managed by the user in another way - another reverse-proxy on the same host (`127.0.0.1` port exposure) - another reverse-proxy on another host (`0.0.0.0` port exposure) -- `matrix-nginx-proxy` - an `nginx` container managed by the playbook +- `matrix-nginx-proxy` — an `nginx` container managed by the playbook - `nginx` webserver operated by the user, running without a container on the same server 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. @@ -1166,7 +1166,7 @@ You need to **update your roles** (`just roles` or `make roles`) regardless of w ### Motivation for redoing our reverse-proxy setup -The playbook has supported various reverse-proxy setups for a long time. We have various configuration variables (`matrix_nginx_proxy_enabled`, various `_host_bind_port` variables, etc.) which allow the playbook to adapt to these different setups. The whole situation was messy though - hard to figure out and with lots of variables to toggle to make things work as you'd expect - huge **operational complexity**. +The playbook has supported various reverse-proxy setups for a long time. We have various configuration variables (`matrix_nginx_proxy_enabled`, various `_host_bind_port` variables, etc.) which allow the playbook to adapt to these different setups. The whole situation was messy though — hard to figure out and with lots of variables to toggle to make things work as you'd expect — huge **operational complexity**. We love containers, proven by the fact that **everything** that this playbook manages runs in a container. Yet, we weren't allowing people to easily host other web-exposed containers alongside Matrix services on the same server. We were using `matrix-nginx-proxy` (our integrated [nginx](https://nginx.org/) server), which was handling web-exposure and SSL termination for our own services, but we **weren't helping you with all your other containers**. @@ -1181,19 +1181,19 @@ Others still, wanted to run Matrix locally (no SSL certificates), regardless of Despite this operational complexity, things worked and were reasonably flexible to adapt to all these situations. -When using `matrix-nginx-proxy` as is, we still had another problem - one of **internal playbook complexity**. Too many services need to be web-exposed (port 80/443, SSL certificates). Because of this, they all had to integrate with the `matrix-nginx-proxy` role. Tens of different roles explicitly integrating with `matrix-nginx-proxy` is not what we call clean. The `matrix-nginx-proxy` role contains variables for many of these roles (yikes). Other roles were more decoupled from it and were injecting configuration into `matrix-nginx-proxy` at runtime - see all the `inject_into_nginx_proxy.yml` task files in this playbook (more decoupled, but still… yikes). +When using `matrix-nginx-proxy` as is, we still had another problem — one of **internal playbook complexity**. Too many services need to be web-exposed (port 80/443, SSL certificates). Because of this, they all had to integrate with the `matrix-nginx-proxy` role. Tens of different roles explicitly integrating with `matrix-nginx-proxy` is not what we call clean. The `matrix-nginx-proxy` role contains variables for many of these roles (yikes). Other roles were more decoupled from it and were injecting configuration into `matrix-nginx-proxy` at runtime — see all the `inject_into_nginx_proxy.yml` task files in this playbook (more decoupled, but still… yikes). The next problem is one of **efficiency, interoperability and cost-saving**. We're working on other playbooks: -- [vaultwarden-docker-ansible-deploy](https://github.com/spantaleev/vaultwarden-docker-ansible-deploy) for hosting the [Vaultwarden](https://github.com/dani-garcia/vaultwarden) server - an alternative implementation of the [Bitwarden](https://bitwarden.com/) password manager -- [gitea-docker-ansible-deploy](https://github.com/spantaleev/gitea-docker-ansible-deploy) - for hosting the [Gitea](https://gitea.io/) git source code hosting service -- [nextcloud-docker-ansible-deploy](https://github.com/spantaleev/nextcloud-docker-ansible-deploy) - for hosting the [Nextcloud](https://nextcloud.com/) groupware platform +- [vaultwarden-docker-ansible-deploy](https://github.com/spantaleev/vaultwarden-docker-ansible-deploy) for hosting the [Vaultwarden](https://github.com/dani-garcia/vaultwarden) server — an alternative implementation of the [Bitwarden](https://bitwarden.com/) password manager +- [gitea-docker-ansible-deploy](https://github.com/spantaleev/gitea-docker-ansible-deploy) — for hosting the [Gitea](https://gitea.io/) git source code hosting service +- [nextcloud-docker-ansible-deploy](https://github.com/spantaleev/nextcloud-docker-ansible-deploy) — for hosting the [Nextcloud](https://nextcloud.com/) groupware platform We'd love for users to be able to **seamlessly use all these playbooks (and others, even) against a single server**. We don't want `matrix-nginx-proxy` to have a monopoly on port `80`/`443` and make it hard for other services to join in on the party. Such a thing forces people into running multiple servers (one for each service), which does provide nice security benefits, but is costly and ineffiecient. We'd like to make self-hosting these services cheap and easy. These other playbooks have been using [Traefik](https://traefik.io/) as their default reverse-proxy for a long time. They can all coexist nicely together (as an example, see the [Interoperability](https://github.com/spantaleev/nextcloud-docker-ansible-deploy/blob/master/docs/configuring-playbook-interoperability.md) documentation for the [Nextcloud playbook](https://github.com/spantaleev/nextcloud-docker-ansible-deploy)). Now that this playbook is gaining Traefik support, it will be able to interoperate with them. If you're going this way, make sure to have the Matrix playbook install Traefik and have the others use `*_reverse_proxy_type: other-traefik-container`. -Finally, at [etke.cc - a managed Matrix server hosting service](https://etke.cc) (built on top of this playbook, and coincidentally [turning 2 years old today](https://etke.cc/news/upsyw4ykbtgmwhz8k7ukldx0zbbfq-fh0iqi3llixi0/) 🎉), we're allowing people to host some additional services besides Matrix components. Exposing these services to the web requires ugly hacks and configuration files being dropped into `/matrix/nginx-proxy/conf.d`. We believe that everything should run in independent containers and be exposed to the web via a Traefik server, without a huge Ansible role like `matrix-nginx-proxy` that everything else needs to integrate with. +Finally, at [etke.cc — a managed Matrix server hosting service](https://etke.cc) (built on top of this playbook, and coincidentally [turning 2 years old today](https://etke.cc/news/upsyw4ykbtgmwhz8k7ukldx0zbbfq-fh0iqi3llixi0/) 🎉), we're allowing people to host some additional services besides Matrix components. Exposing these services to the web requires ugly hacks and configuration files being dropped into `/matrix/nginx-proxy/conf.d`. We believe that everything should run in independent containers and be exposed to the web via a Traefik server, without a huge Ansible role like `matrix-nginx-proxy` that everything else needs to integrate with. ### How do these changes fix all these problems? @@ -1258,7 +1258,7 @@ You can help by: - **explicitly switching your server to Traefik** right now (see example configuration in [How do I explicitly switch to Traefik right now?](#how-do-i-explicitly-switch-to-traefik-right-now) above), testing, reporting troubles -- **adding native Traefik support to a role** (requires adding Traefik labels, etc.) - for inspiration, see these roles ([prometheus_node_exporter](https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-node-exporter), [prometheus_postgres_exporter](https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-postgres-exporter)) and how they're hooked into the playbook via [group_vars/matrix_servers](group_vars/matrix_servers). +- **adding native Traefik support to a role** (requires adding Traefik labels, etc.) — for inspiration, see these roles ([prometheus_node_exporter](https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-node-exporter), [prometheus_postgres_exporter](https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-postgres-exporter)) and how they're hooked into the playbook via [group_vars/matrix_servers](group_vars/matrix_servers). - **adding reverse-proxying examples for nginx users** in `examples/nginx`. People who insist on using their own `nginx` server on the same Matrix host, can run Traefik in local-only mode (`traefik_config_entrypoint_web_secure_enabled: false`) and reverse-proxy to the Traefik server @@ -1341,16 +1341,16 @@ Other roles which aren't strictly related to Matrix are likely to follow this fa We've previously used [make](https://www.gnu.org/software/make/) for easily running some playbook commands (e.g. `make roles` which triggers `ansible-galaxy`, see [Makefile](Makefile)). Our `Makefile` is still around and you can still run these commands. -In addition, we've added support for running commands via [just](https://github.com/casey/just) - a more modern command-runner alternative to `make`. Instead of `make roles`, you can now run `just roles` to accomplish the same. +In addition, we've added support for running commands via [just](https://github.com/casey/just) — a more modern command-runner alternative to `make`. Instead of `make roles`, you can now run `just roles` to accomplish the same. Our [justfile](justfile) already defines some additional helpful **shortcut** commands that weren't part of our `Makefile`. Here are some examples: - `just install-all` to trigger the much longer `ansible-playbook -i inventory/hosts setup.yml --tags=install-all,ensure-matrix-users-created,start` command -- `just install-all --ask-vault-pass` - commands also support additional arguments (`--ask-vault-pass` will be appended to the above installation command) -- `just run-tags install-mautrix-slack,start` - to run specific playbook tags -- `just start-all` - (re-)starts all services -- `just stop-group postgres` - to stop only the Postgres service -- `just register-user alice secret-password yes` - registers an `alice` user with the `secret-password` password and admin access (admin = `yes`) +- `just install-all --ask-vault-pass` — commands also support additional arguments (`--ask-vault-pass` will be appended to the above installation command) +- `just run-tags install-mautrix-slack,start` — to run specific playbook tags +- `just start-all` — (re-)starts all services +- `just stop-group postgres` — to stop only the Postgres service +- `just register-user alice secret-password yes` — registers an `alice` user with the `secret-password` password and admin access (admin = `yes`) Additional helpful commands and shortcuts may be defined in the future. @@ -1370,7 +1370,7 @@ Thanks to [Cody Neiman](https://github.com/xangelix)'s efforts, the playbook now ## ChatGPT support -Thanks to [@bertybuttface](https://github.com/bertybuttface), the playbook can now help you set up [matrix-chatgpt-bot](https://github.com/matrixgpt/matrix-chatgpt-bot) - a bot through which you can talk to the [ChatGPT](https://openai.com/blog/chatgpt/) model. +Thanks to [@bertybuttface](https://github.com/bertybuttface), the playbook can now help you set up [matrix-chatgpt-bot](https://github.com/matrixgpt/matrix-chatgpt-bot) — a bot through which you can talk to the [ChatGPT](https://openai.com/blog/chatgpt/) model. See our [Setting up matrix-bot-chatgpt](docs/configuring-playbook-bot-chatgpt.md) documentation to get started. @@ -1379,7 +1379,7 @@ See our [Setting up matrix-bot-chatgpt](docs/configuring-playbook-bot-chatgpt.md ## matrix-postgres-backup has been replaced by the ansible-role-postgres-backup external role -Just like we've [replaced Postgres with an external role](#matrix-postgres-has-been-replaced-by-the-comdevtureansiblerolepostgres-external-role) on 2022-11-28, we're now replacing `matrix-postgres-backup` with an external role - [com.devture.ansible.role.postgres_backup](https://github.com/mother-of-all-self-hosting/ansible-role-postgres_backup). +Just like we've [replaced Postgres with an external role](#matrix-postgres-has-been-replaced-by-the-comdevtureansiblerolepostgres-external-role) on 2022-11-28, we're now replacing `matrix-postgres-backup` with an external role — [com.devture.ansible.role.postgres_backup](https://github.com/mother-of-all-self-hosting/ansible-role-postgres_backup). You'll need to rename your `matrix_postgres_backup`-prefixed variables such that they use a `postgres_backup` prefix. @@ -1388,7 +1388,7 @@ You'll need to rename your `matrix_postgres_backup`-prefixed variables such that ## matrix-postgres has been replaced by the ansible-role-postgres external role -**TLDR**: the tasks that install the integrated Postgres server now live in an external role - [ansible-role-postgres](https://github.com/mother-of-all-self-hosting/ansible-role-postgres). You'll need to run `make roles` to install it, and to also rename your `matrix_postgres`-prefixed variables to use a `devture_postgres` prefix (e.g. `matrix_postgres_connection_password` -> `postgres_connection_password`). All your data will still be there! Some scripts have moved (`/usr/local/bin/matrix-postgres-cli` -> `/matrix/postgres/bin/cli`). +**TLDR**: the tasks that install the integrated Postgres server now live in an external role — [ansible-role-postgres](https://github.com/mother-of-all-self-hosting/ansible-role-postgres). You'll need to run `make roles` to install it, and to also rename your `matrix_postgres`-prefixed variables to use a `devture_postgres` prefix (e.g. `matrix_postgres_connection_password` -> `postgres_connection_password`). All your data will still be there! Some scripts have moved (`/usr/local/bin/matrix-postgres-cli` -> `/matrix/postgres/bin/cli`). The `matrix-postgres` role that has been part of the playbook for a long time has been replaced with the [ansible-role-postgres](https://github.com/mother-of-all-self-hosting/ansible-role-postgres) role. This was done as part of our work to [use external roles for some things](#the-playbook-now-uses-external-roles-for-some-things) for better code re-use and maintainability. @@ -1399,7 +1399,7 @@ The new role is an upgraded version of the old `matrix-postgres` role with these You'll need to run `make roles` to install the new role. You would also need to rename your `matrix_postgres`-prefixed variables to use a `devture_postgres` prefix. -Note: the systemd service still remains the same - `matrix-postgres.service`. Your data will still be in `/matrix/postgres`, etc. Postgres-related scripts will be moved to `/matrix/postgres/bin` (`/usr/local/bin/matrix-postgres-cli` -> `/matrix/postgres/bin/cli`, etc). Also see [The playbook no longer installs scripts in /usr/local/bin](#the-playbook-no-longer-installs-scripts-in-usrlocalbin). +Note: the systemd service still remains the same — `matrix-postgres.service`. Your data will still be in `/matrix/postgres`, etc. Postgres-related scripts will be moved to `/matrix/postgres/bin` (`/usr/local/bin/matrix-postgres-cli` -> `/matrix/postgres/bin/cli`, etc). Also see [The playbook no longer installs scripts in /usr/local/bin](#the-playbook-no-longer-installs-scripts-in-usrlocalbin). ## The playbook no longer installs scripts to /usr/local/bin @@ -1455,9 +1455,9 @@ These additional roles are downloaded into the playbook directory (to `roles/gal # 2022-11-20 -## (Backward Compatibility Break) Changing how reverse-proxying to Synapse works - now via a `matrix-synapse-reverse-proxy-companion` service +## (Backward Compatibility Break) Changing how reverse-proxying to Synapse works — now via a `matrix-synapse-reverse-proxy-companion` service -**TLDR**: There's now a `matrix-synapse-reverse-proxy-companion` nginx service, which helps with reverse-proxying to Synapse and its various worker processes (if workers are enabled), so that `matrix-nginx-proxy` can be relieved of this role. `matrix-nginx-proxy` still remains as the public SSL-terminating reverse-proxy in the playbook. `matrix-synapse-reverse-proxy-companion` is just one more reverse-proxy thrown into the mix for convenience. People with a more custom reverse-proxying configuration may be affected - see [Webserver configuration](#webserver-configuration) below. +**TLDR**: There's now a `matrix-synapse-reverse-proxy-companion` nginx service, which helps with reverse-proxying to Synapse and its various worker processes (if workers are enabled), so that `matrix-nginx-proxy` can be relieved of this role. `matrix-nginx-proxy` still remains as the public SSL-terminating reverse-proxy in the playbook. `matrix-synapse-reverse-proxy-companion` is just one more reverse-proxy thrown into the mix for convenience. People with a more custom reverse-proxying configuration may be affected — see [Webserver configuration](#webserver-configuration) below. ### Background @@ -1475,7 +1475,7 @@ From now on, `matrix-nginx-proxy` is relieved of its function of reverse-proxyin - `matrix-synapse-reverse-proxy-companion:8008` for Synapse Client-Server API traffic - `matrix-synapse-reverse-proxy-companion:8048` for Synapse Server-Server (Federation) API traffic -- simplify `matrix-nginx-proxy` configuration - it now only needs to send requests to `matrix-synapse-reverse-proxy-companion` or `matrix-dendrite`, etc., without having to worry about workers +- simplify `matrix-nginx-proxy` configuration — it now only needs to send requests to `matrix-synapse-reverse-proxy-companion` or `matrix-dendrite`, etc., without having to worry about workers - allow reverse-proxying to Synapse, even if `matrix-nginx-proxy` is disabled @@ -1491,7 +1491,7 @@ Various services (like Dimension, etc.) still talk to Synapse via `matrix-nginx- - if you're using your own `nginx` webserver running on the server, you shouldn't be affected. The `/matrix/nginx/conf.d` configuration and exposed ports that you're relying on will automatically be updated in a way that should work -- if you're using another local webserver (e.g. Apache, etc.) and haven't changed any ports (`matrix_*_host_bind_port` definitions), you shouldn't be affected. You're likely sending Matrix traffic to `127.0.0.1:8008` and `127.0.0.1:8048`. These ports (`8008` and `8048`) will still be exposed on `127.0.0.1` by default - just not by the `matrix-synapse` container from now on, but by the `matrix-synapse-reverse-proxy-companion` container instead +- if you're using another local webserver (e.g. Apache, etc.) and haven't changed any ports (`matrix_*_host_bind_port` definitions), you shouldn't be affected. You're likely sending Matrix traffic to `127.0.0.1:8008` and `127.0.0.1:8048`. These ports (`8008` and `8048`) will still be exposed on `127.0.0.1` by default — just not by the `matrix-synapse` container from now on, but by the `matrix-synapse-reverse-proxy-companion` container instead - if you've been exposing `matrix-synapse` ports (`matrix_synapse_container_client_api_host_bind_port`, etc.) manually, you should consider exposing `matrix-synapse-reverse-proxy-companion` ports instead @@ -1527,7 +1527,7 @@ Starting now, the playbook is composed of 2 types of Ansible roles: - those downloaded from other sources (using [ansible-galaxy](https://docs.ansible.com/ansible/latest/cli/ansible-galaxy.html) to `roles/galaxy`, based on the [`requirements.yml` file](requirements.yml)). These roles are maintained by us or by other people from the Ansible community. -We're doing this for greater code-reuse (across Ansible playbooks, including our own related playbooks [gitea-docker-ansible-deploy](https://github.com/spantaleev/gitea-docker-ansible-deploy) and [nextcloud-docker-ansible-deploy](https://github.com/spantaleev/nextcloud-docker-ansible-deploy)) and decreased maintenance burden. Until now, certain features were copy-pasted across playbooks or were maintained separately in each one, with improvements often falling behind. We've also tended to do too much by ourselves - installing Docker on the server from our `matrix-base` role, etc. - something that we'd rather not do anymore by switching to the [geerlingguy.docker](https://galaxy.ansible.com/geerlingguy/docker) role. +We're doing this for greater code-reuse (across Ansible playbooks, including our own related playbooks [gitea-docker-ansible-deploy](https://github.com/spantaleev/gitea-docker-ansible-deploy) and [nextcloud-docker-ansible-deploy](https://github.com/spantaleev/nextcloud-docker-ansible-deploy)) and decreased maintenance burden. Until now, certain features were copy-pasted across playbooks or were maintained separately in each one, with improvements often falling behind. We've also tended to do too much by ourselves — installing Docker on the server from our `matrix-base` role, etc. — something that we'd rather not do anymore by switching to the [geerlingguy.docker](https://galaxy.ansible.com/geerlingguy/docker) role. Some variable names will change during the transition to having more and more external (galaxy) roles. There's a new `custom/matrix_playbook_migration` role added to the playbook which will tell you about these changes each time you run the playbook. @@ -1540,7 +1540,7 @@ Some variable names will change during the transition to having more and more ex **`synapse-s3-storage-provider` support is very new and still relatively untested. Using it may cause data loss.** -You can now store your Synapse media repository files on Amazon S3 (or another S3-compatible object store) using [synapse-s3-storage-provider](https://github.com/matrix-org/synapse-s3-storage-provider) - a media provider for Synapse (Python module), which should work faster and more reliably than our previous [Goofys](docs/configuring-playbook-s3-goofys.md) implementation (Goofys will continue to work). +You can now store your Synapse media repository files on Amazon S3 (or another S3-compatible object store) using [synapse-s3-storage-provider](https://github.com/matrix-org/synapse-s3-storage-provider) — a media provider for Synapse (Python module), which should work faster and more reliably than our previous [Goofys](docs/configuring-playbook-s3-goofys.md) implementation (Goofys will continue to work). This is not just for initial installations. Users with existing files (stored in the local filesystem) can also migrate their files to `synapse-s3-storage-provider`. @@ -1572,7 +1572,7 @@ With the new Synapse-customization feature in the playbook, we use the original ## matrix-ldap-registration-proxy support -Thanks to [@TheOneWithTheBraid](https://github.com/TheOneWithTheBraid), we now support installing [matrix-ldap-registration-proxy](https://gitlab.com/activism.international/matrix_ldap_registration_proxy) - a proxy which handles Matrix registration requests and forwards them to LDAP. +Thanks to [@TheOneWithTheBraid](https://github.com/TheOneWithTheBraid), we now support installing [matrix-ldap-registration-proxy](https://gitlab.com/activism.international/matrix_ldap_registration_proxy) — a proxy which handles Matrix registration requests and forwards them to LDAP. See our [Setting up matrix-ldap-registration-proxy](docs/configuring-playbook-matrix-ldap-registration-proxy.md) documentation to get started. @@ -1664,7 +1664,7 @@ Below we'll discuss **potential backward incompatibilities**. ## Cactus Comments support -Thanks to [Julian-Samuel Gebühr (@moan0s)](https://github.com/moan0s), the playbook can now set up [Cactus Comments](https://cactus.chat) - federated comment system for the web based on Matrix. +Thanks to [Julian-Samuel Gebühr (@moan0s)](https://github.com/moan0s), the playbook can now set up [Cactus Comments](https://cactus.chat) — federated comment system for the web based on Matrix. See our [Setting up Cactus Comments](docs/configuring-playbook-cactus-comments.md) documentation to get started. @@ -1719,7 +1719,7 @@ Thanks to [MdotAmaan](https://github.com/MdotAmaan)'s efforts, the playbook now ## matrix-appservice-kakaotalk support -The playbook now supports bridging to [Kakaotalk](https://www.kakaocorp.com/page/service/service/KakaoTalk?lang=ENG) via [matrix-appservice-kakaotalk](https://src.miscworks.net/fair/matrix-appservice-kakaotalk) - a bridge based on [node-kakao](https://github.com/storycraft/node-kakao) (now unmaintained) and some [mautrix-facebook](https://github.com/mautrix/facebook) code. Thanks to [hnarjis](https://github.com/hnarjis) for helping us add support for this! +The playbook now supports bridging to [Kakaotalk](https://www.kakaocorp.com/page/service/service/KakaoTalk?lang=ENG) via [matrix-appservice-kakaotalk](https://src.miscworks.net/fair/matrix-appservice-kakaotalk) — a bridge based on [node-kakao](https://github.com/storycraft/node-kakao) (now unmaintained) and some [mautrix-facebook](https://github.com/mautrix/facebook) code. Thanks to [hnarjis](https://github.com/hnarjis) for helping us add support for this! See our [Setting up Appservice Kakaotalk bridging](docs/configuring-playbook-bridge-appservice-kakaotalk.md) documentation to get started. @@ -1728,7 +1728,7 @@ See our [Setting up Appservice Kakaotalk bridging](docs/configuring-playbook-bri ## maubot support -Thanks to [Stuart Mumford (@Cadair)](https://github.com/cadair) for starting ([PR #373](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/373) and [PR #622](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/622)) and to [Julian-Samuel Gebühr (@moan0s)](https://github.com/moan0s) for finishing up (in [PR #1894](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/1894)), the playbook can now help you set up [maubot](https://github.com/maubot/maubot) - a plugin-based Matrix bot system. +Thanks to [Stuart Mumford (@Cadair)](https://github.com/cadair) for starting ([PR #373](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/373) and [PR #622](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/622)) and to [Julian-Samuel Gebühr (@moan0s)](https://github.com/moan0s) for finishing up (in [PR #1894](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/1894)), the playbook can now help you set up [maubot](https://github.com/maubot/maubot) — a plugin-based Matrix bot system. See our [Setting up maubot](docs/configuring-playbook-bot-maubot.md) documentation to get started. @@ -1869,7 +1869,7 @@ See our [Setting up Buscarron](docs/configuring-playbook-bot-buscarron.md) docum ## matrix-registration-bot support -Thanks to [Julian-Samuel Gebühr (@moan0s)](https://github.com/moan0s), the playbook can now help you set up [matrix-registration-bot](https://github.com/moan0s/matrix-registration-bot) - a bot that is used to create and manage registration tokens for a Matrix server. +Thanks to [Julian-Samuel Gebühr (@moan0s)](https://github.com/moan0s), the playbook can now help you set up [matrix-registration-bot](https://github.com/moan0s/matrix-registration-bot) — a bot that is used to create and manage registration tokens for a Matrix server. See our [Setting up matrix-registration-bot](docs/configuring-playbook-bot-matrix-registration-bot.md) documentation to get started. @@ -1911,7 +1911,7 @@ When self-building, the playbook used to `git clone` repositories (into `/matrix If you're on a non-`amd64` architecture (that is, you're overriding `matrix_architecture` in your `vars.yml` file) or you have enabled self-building for some service (e.g. `matrix_*_self_build: true`), you're certainly building some container images from source and have `docker-src` directories with mixed permissions lying around in various `/matrix/SERVICE` directories. -The playbook *could* correct these permissions automatically, but that requires additional Ansible tasks in some ~45 different places - something that takes considerable effort. So we ask users observing errors related to `docker-src` directories to correct the problem manually by **running this command on the Matrix server** (which deletes all `/matrix/*/docker-src` directories): `find /matrix -maxdepth 2 -name 'docker-src' | xargs rm -rf` +The playbook *could* correct these permissions automatically, but that requires additional Ansible tasks in some ~45 different places — something that takes considerable effort. So we ask users observing errors related to `docker-src` directories to correct the problem manually by **running this command on the Matrix server** (which deletes all `/matrix/*/docker-src` directories): `find /matrix -maxdepth 2 -name 'docker-src' | xargs rm -rf` # 2022-03-17 @@ -1998,7 +1998,7 @@ We're excited to gain support for other homeserver implementations, like [Condui ## Honoroit bot support -Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook can now help you set up [Honoroit](https://github.com/etkecc/honoroit) - a helpdesk bot. +Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook can now help you set up [Honoroit](https://github.com/etkecc/honoroit) — a helpdesk bot. See our [Setting up Honoroit](docs/configuring-playbook-bot-honoroit.md) documentation to get started. @@ -2007,7 +2007,7 @@ See our [Setting up Honoroit](docs/configuring-playbook-bot-honoroit.md) documen ## Cinny support -Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook now supports [Cinny](https://cinny.in/) - a new simple, elegant and secure Matrix client. +Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook now supports [Cinny](https://cinny.in/) — a new simple, elegant and secure Matrix client. By default, we still install Element Web. Still, people who'd like to try Cinny out can now install it via the playbook. @@ -2061,7 +2061,7 @@ To get started with bridging to LinkedIn, see [Setting up Beeper LinkedIn bridgi # 2021-08-20 -# Sygnal upgraded - ARM support and no longer requires a database +# Sygnal upgraded — ARM support and no longer requires a database The [Sygnal](docs/configuring-playbook-sygnal.md) push gateway has been upgraded from `v0.9.0` to `v0.10.1`. @@ -2076,7 +2076,7 @@ The new version is also available for the ARM architecture. It also no longer re ## Hydrogen support -Thanks to [Aaron Raimist](https://github.com/aaronraimist), the playbook now supports [Hydrogen](https://github.com/vector-im/hydrogen-web) - a new lightweight Matrix client with legacy and mobile browser support. +Thanks to [Aaron Raimist](https://github.com/aaronraimist), the playbook now supports [Hydrogen](https://github.com/vector-im/hydrogen-web) — a new lightweight Matrix client with legacy and mobile browser support. By default, we still install Element Web, as Hydrogen is still not fully-featured. Still, people who'd like to try Hydrogen out can now install it via the playbook. @@ -2166,7 +2166,7 @@ After [lots and lots of work](https://github.com/spantaleev/matrix-docker-ansibl Having support for workers makes the playbook suitable for larger homeserver deployments. -Our setup is not yet perfect (we don't support all types of workers; scaling some of them (like `pusher`, `federation_sender`) beyond a single instance is not yet supported). Still, it's a great start and can already power homeservers with thousands of users, like the [Matrix deployment at TU Dresden](https://doc.matrix.tu-dresden.de/en/) discussed in [Matrix Live S06E09 - TU Dresden on their Matrix deployment](https://www.youtube.com/watch?v=UHJX2pmT2gk). +Our setup is not yet perfect (we don't support all types of workers; scaling some of them (like `pusher`, `federation_sender`) beyond a single instance is not yet supported). Still, it's a great start and can already power homeservers with thousands of users, like the [Matrix deployment at TU Dresden](https://doc.matrix.tu-dresden.de/en/) discussed in [Matrix Live S06E09 — TU Dresden on their Matrix deployment](https://www.youtube.com/watch?v=UHJX2pmT2gk). By default, workers are disabled and Synapse runs as a single process (homeservers don't necessarily need the complexity and increased memory requirements of running a worker-based setup). @@ -2317,7 +2317,7 @@ You have 3 ways to proceed: - stop the bridge (`systemctl stop matrix-mautrix-facebook`) - create a new `matrix_mautrix_facebook` Postgres database for it - run [pgloader](https://pgloader.io/) manually (we import this bridge's data using default settings and it works well) - - define `matrix_mautrix_facebook_database_*` variables in your `vars.yml` file (credentials, etc.) - you can find their defaults in `roles/custom/matrix-mautrix-facebook/defaults/main.yml` + - define `matrix_mautrix_facebook_database_*` variables in your `vars.yml` file (credentials, etc.) — you can find their defaults in `roles/custom/matrix-mautrix-facebook/defaults/main.yml` - switch the bridge to Postgres (`matrix_mautrix_facebook_database_engine: 'postgres'` in your `vars.yml` file) - re-run the playbook (`--tags=setup-all,start`) and ensure the bridge works (`systemctl status matrix-mautrix-facebook` and `journalctl -fu matrix-mautrix-facebook`) - send a `login` message to the Facebook bridge bot again @@ -2406,7 +2406,7 @@ Moving all services to Postgres brings a few **benefits** to us: - **improved performance** - **improved compatibility**. Most bridges are deprecating SQLite/nedb support or offer less features when not on Postgres. - **easier backups**. It's still some effort to take a proper backup (Postgres dump + various files, keys), but a Postgres dump now takes you much further. -- we're now **more prepared to introduce other services** that need a Postgres database - [Dendrite](https://github.com/matrix-org/dendrite), the [mautrix-signal](https://github.com/tulir/mautrix-signal) bridge (existing [pull request](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/686)), etc. +- we're now **more prepared to introduce other services** that need a Postgres database — [Dendrite](https://github.com/matrix-org/dendrite), the [mautrix-signal](https://github.com/tulir/mautrix-signal) bridge (existing [pull request](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/686)), etc. ### Key takeway @@ -2556,7 +2556,7 @@ If you have have an existing setup, it's likely running on an older Postgres ver ## matrix-registration support -The playbook can now help you set up [matrix-registration](https://github.com/ZerataX/matrix-registration) - an application that lets you keep your Matrix server's registration private, but still allow certain users (those having a unique registration link) to register by themselves. +The playbook can now help you set up [matrix-registration](https://github.com/ZerataX/matrix-registration) — an application that lets you keep your Matrix server's registration private, but still allow certain users (those having a unique registration link) to register by themselves. See our [Setting up matrix-registration](docs/configuring-playbook-matrix-registration.md) documentation page to get started. @@ -2659,7 +2659,7 @@ See our [Setting up Matrix SMS bridging](docs/configuring-playbook-bridge-matrix User Directory search requests used to go to the ma1sd identity server by default, which queried its own stores and the Synapse database. -ma1sd current has [a security issue](https://github.com/ma1uta/ma1sd/issues/44), which made it leak information about all users - including users created by bridges, etc. +ma1sd current has [a security issue](https://github.com/ma1uta/ma1sd/issues/44), which made it leak information about all users — including users created by bridges, etc. Until the issue gets fixed, we're making User Directory search not go to ma1sd by default. You **need to re-run the playbook and restart services to apply this workaround**. @@ -2811,7 +2811,7 @@ Learn more in [Setting up Appservice Webhooks bridging](docs/configuring-playboo Double Puppeting can now be easily enabled for all Mautrix bridges supported by the playbook (Facebook, Hangouts, Whatsapp, Telegram). -This is possible due to those bridges' integration with [matrix-synapse-shared-secret-auth](https://github.com/devture/matrix-synapse-shared-secret-auth) - yet another component that this playbook can install for you. +This is possible due to those bridges' integration with [matrix-synapse-shared-secret-auth](https://github.com/devture/matrix-synapse-shared-secret-auth) — yet another component that this playbook can install for you. To get started, following the playbook's documentation for the bridge you'd like to configure. @@ -3065,10 +3065,10 @@ Likewise, data is now also stored in a subdirectory (`/matrix/mautrix-telegram/d Also, we're now following the default configuration for the Telegram bridge, so some default configuration values are different: -- `edits_as_replies` (used to be `false`, now `true`) - previously replies were not sent over to Matrix at all; ow they are sent over as a reply to the original message -- `inline_images` (used to be `true`, now `false`) - this has to do with captioned images. Inline-image (included caption) are said to exhibit troubles on Riot iOS. When `false`, the caption arrives on the Matrix side as a separate message. -- `authless_portals` (used to be `false`, now `true`) - creating portals from the Telegram side is now possible -- `whitelist_group_admins` (used to be `false`, now `true`) - allows Telegram group admins to use the bot commands +- `edits_as_replies` (used to be `false`, now `true`) — previously replies were not sent over to Matrix at all; ow they are sent over as a reply to the original message +- `inline_images` (used to be `true`, now `false`) — this has to do with captioned images. Inline-image (included caption) are said to exhibit troubles on Riot iOS. When `false`, the caption arrives on the Matrix side as a separate message. +- `authless_portals` (used to be `false`, now `true`) — creating portals from the Telegram side is now possible +- `whitelist_group_admins` (used to be `false`, now `true`) — allows Telegram group admins to use the bot commands If the new values are not to your liking, use `matrix_mautrix_telegram_configuration_extension_yaml` to specify an override (refer to `matrix_mautrix_telegram_configuration_yaml` to figure out which variable goes where). @@ -3109,7 +3109,7 @@ Likewise, data is now also stored in a subdirectory (`/matrix/mautrix-facebook/d Until now, various roles supported a `matrix_*_expose_port` variable, which would expose their container's port to the host. This was mostly useful for reverse-proxying manually (in case `matrix-nginx-proxy` was disabled). It could also be used for installing some playbook services (e.g. bridges, etc.) and wiring them to a separate (manual) Matrix setup. -`matrix_*_expose_port` variables were not granular enough - sometimes they would expose one port, other times multiple. They also didn't provide control over **where** to expose (to which port number and to which network interface), because they would usually hardcode something like `127.0.0.1:8080`. +`matrix_*_expose_port` variables were not granular enough — sometimes they would expose one port, other times multiple. They also didn't provide control over **where** to expose (to which port number and to which network interface), because they would usually hardcode something like `127.0.0.1:8080`. All such variables have been superseded by a better (more flexible) way to do it. @@ -3317,7 +3317,7 @@ Matrix is undergoing a lot of changes as it matures towards Synapse v1.0. The fi If you've been using this playbook successfully until now, you'd be aware that we've been doing [Server Delegation](docs/howto-server-delegation.md) using a `_matrix._tcp` DNS SRV record (as per [Configuring DNS](docs/configuring-dns.md)). -Due to changes related to certificate file requirements that will affect us at Synapse v1.0, we'll have to stop using a **`_matrix._tcp` DNS SRV record in the future** (when Synapse goes to v1.0 - around 5th of March 2019). We **still need to keep the SRV record for now**, for backward compatibility with older Synapse versions (lower than v0.99). +Due to changes related to certificate file requirements that will affect us at Synapse v1.0, we'll have to stop using a **`_matrix._tcp` DNS SRV record in the future** (when Synapse goes to v1.0 — around 5th of March 2019). We **still need to keep the SRV record for now**, for backward compatibility with older Synapse versions (lower than v0.99). **What you need to do now** is make use of this transitional Synapse v0.99 release to **prepare your federation settings for the future**. You have 2 choices to prepare yourself for compatibility with the future Synapse v1.0: @@ -3373,7 +3373,7 @@ Using the [devture/exim-relay](https://hub.docker.com/r/devture/exim-relay) cont ## (BC Break) Making the playbook's roles more independent of one another -The following change **affects people running a more non-standard setup** - external Postgres or using our roles in their own other playbook. +The following change **affects people running a more non-standard setup** — external Postgres or using our roles in their own other playbook. **Most users don't need to do anything**, besides becoming aware of the new glue variables file [`group_vars/matrix-servers`](group_vars/matrix-servers). Because people like using the playbook's components independently (outside of this playbook) and because it's much better for maintainability, we've continued working on separating them. Still, we'd like to offer a turnkey solution for running a fully-featured Matrix server, so this playbook remains important for wiring up the various components. @@ -3645,7 +3645,7 @@ The playbook can now [check if services are configured correctly](docs/maintenan ## Presence tracking made configurable -The playbook can now enable/disable user presence-status tracking in Synapse, through the playbook's `matrix_synapse_use_presence` variable (having a default value of `true` - enabled). +The playbook can now enable/disable user presence-status tracking in Synapse, through the playbook's `matrix_synapse_use_presence` variable (having a default value of `true` — enabled). If users participate in large rooms with many other servers, disabling presence will decrease server load significantly. diff --git a/docs/README.md b/docs/README.md index 6a0cf1059..600a4c557 100644 --- a/docs/README.md +++ b/docs/README.md @@ -27,23 +27,23 @@ NOTE: You can check useful documentation for configuring components here: [Configuring the playbook](configuring-playbook.md) -- [Administration](configuring-playbook.md#administration) - services that help you in administrating and monitoring your Matrix installation +- [Administration](configuring-playbook.md#administration) — services that help you in administrating and monitoring your Matrix installation -- [Authentication and user-related](configuring-playbook.md#authentication-and-user-related) - extend and modify how users are authenticated on your homeserver +- [Authentication and user-related](configuring-playbook.md#authentication-and-user-related) — extend and modify how users are authenticated on your homeserver -- [Bots](configuring-playbook.md#bots) - bots provide various additional functionality to your installation +- [Bots](configuring-playbook.md#bots) — bots provide various additional functionality to your installation -- [Bridges](configuring-playbook.md#bridging-other-networks) - bridges can be used to connect your Matrix installation with third-party communication networks +- [Bridges](configuring-playbook.md#bridging-other-networks) — bridges can be used to connect your Matrix installation with third-party communication networks -- [Clients](configuring-playbook.md#clients) - web clients for Matrix that you can host on your own domains +- [Clients](configuring-playbook.md#clients) — web clients for Matrix that you can host on your own domains -- [Core service adjustments](configuring-playbook.md#core-service-adjustments) - backbone of your Matrix system +- [Core service adjustments](configuring-playbook.md#core-service-adjustments) — backbone of your Matrix system -- [File Storage](configuring-playbook.md#file-storage) - use alternative file storage to the default `media_store` folder +- [File Storage](configuring-playbook.md#file-storage) — use alternative file storage to the default `media_store` folder -- [Other specialized services](configuring-playbook.md#other-specialized-services) - various services that don't fit any other categories +- [Other specialized services](configuring-playbook.md#other-specialized-services) — various services that don't fit any other categories ## 👨‍🔧 Maintenance @@ -63,7 +63,7 @@ If your server and services experience issues, feel free to come to [our support ## Other documentation pages -- ℹ️ **[FAQ](faq.md)** - various Frequently Asked Questions about Matrix, with a focus on this Ansible playbook +- ℹ️ **[FAQ](faq.md)** — various Frequently Asked Questions about Matrix, with a focus on this Ansible playbook diff --git a/docs/configuring-playbook-bot-baibot.md b/docs/configuring-playbook-bot-baibot.md index bdc29eafd..01984a4b7 100644 --- a/docs/configuring-playbook-bot-baibot.md +++ b/docs/configuring-playbook-bot-baibot.md @@ -123,7 +123,7 @@ Configuring `matrix_bot_baibot_config_initial_global_config_user_patterns` is op You are **not required** to define agents [statically](https://github.com/etkecc/baibot/blob/main/docs/configuration/README.md#static-configuration) via Ansible. **To get started quickly**, you can **skip this section and define agents at runtime via chat commands** (following the bot's guidance). -Privileged users (like the [👮‍♂️ Administrator](#️-administrator-configuration), but potentially others too - see the upstream [🔒 access](https://github.com/etkecc/baibot/blob/main/docs/access.md) documentation) can **define agents dynamically at any time** via chat commands. +Privileged users (like the [👮‍♂️ Administrator](#️-administrator-configuration), but potentially others too — see the upstream [🔒 access](https://github.com/etkecc/baibot/blob/main/docs/access.md) documentation) can **define agents dynamically at any time** via chat commands. The Ansible role includes preset variables for easily enabling some [🤖 agents](https://github.com/etkecc/baibot/blob/main/docs/agents.md) on various [☁️ providers](https://github.com/etkecc/baibot/blob/main/docs/providers.md) (e.g. OpenAI, etc). @@ -250,7 +250,7 @@ You can statically-define a single [🤖 agent](https://github.com/etkecc/baibot This provider allows you to use OpenAI-compatible API services like [OpenRouter](https://github.com/etkecc/baibot/blob/main/docs/providers.md#openrouter), [Together AI](https://github.com/etkecc/baibot/blob/main/docs/providers.md#together-ai), etc. -Some of these popular services already have **shortcut** providers (see [supported providers](https://github.com/etkecc/baibot/blob/main/docs/providers.md#supported-providers) leading to this one behind the scenes - this make it easier to get started. +Some of these popular services already have **shortcut** providers (see [supported providers](https://github.com/etkecc/baibot/blob/main/docs/providers.md#supported-providers) leading to this one behind the scenes — this make it easier to get started. As of this moment, the playbook does not include presets for any of these services, so you'll need to [Configuring additional agents (without a preset)](#configuring-additional-agents-without-a-preset). @@ -305,7 +305,7 @@ Because these are [statically](https://github.com/etkecc/baibot/blob/main/docs/c 💡 To figure out what to put in the `config` section, refer to the [☁️ provider](https://github.com/etkecc/baibot/blob/main/docs/providers.md) page, which contains **sample configuration YAML for each provider**. -As with any [🤖 agent](https://github.com/etkecc/baibot/blob/main/docs/agents.md), defining them means they exist. To actually make use of them, they need to be configured as handlers globally or in a specific room - see [Mixing & matching models](https://github.com/etkecc/baibot/blob/main/docs/features.md#mixing--matching-models). +As with any [🤖 agent](https://github.com/etkecc/baibot/blob/main/docs/agents.md), defining them means they exist. To actually make use of them, they need to be configured as handlers globally or in a specific room — see [Mixing & matching models](https://github.com/etkecc/baibot/blob/main/docs/features.md#mixing--matching-models). 💡 You may also wish to use these new agents for [🤝 Configuring initial default handlers](#-configuring-initial-default-handlers). diff --git a/docs/configuring-playbook-bridge-appservice-slack.md b/docs/configuring-playbook-bridge-appservice-slack.md index d21e1496a..4d602da35 100644 --- a/docs/configuring-playbook-bridge-appservice-slack.md +++ b/docs/configuring-playbook-bridge-appservice-slack.md @@ -100,7 +100,7 @@ To use the bridge, you need to send `/invite @slackbot:example.com` to invite th 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 `!qporfwt: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. - 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//details/`. - Issue a link command in the administration control room with these collected values as arguments: diff --git a/docs/configuring-playbook-bridge-heisenbridge.md b/docs/configuring-playbook-bridge-heisenbridge.md index a464a60f3..d3a08fb82 100644 --- a/docs/configuring-playbook-bridge-heisenbridge.md +++ b/docs/configuring-playbook-bridge-heisenbridge.md @@ -2,7 +2,7 @@ **Note**: bridging to [IRC](https://en.wikipedia.org/wiki/Internet_Relay_Chat) can also happen via the [matrix-appservice-irc](configuring-playbook-bridge-appservice-irc.md) bridge supported by the playbook. -The playbook can install and configure [Heisenbridge](https://github.com/hifi/heisenbridge) - the bouncer-style [IRC](https://en.wikipedia.org/wiki/Internet_Relay_Chat) bridge for you. +The playbook can install and configure [Heisenbridge](https://github.com/hifi/heisenbridge) — the bouncer-style [IRC](https://en.wikipedia.org/wiki/Internet_Relay_Chat) bridge for you. See the project's [documentation](https://github.com/hifi/heisenbridge/blob/master/README.md) to learn what it does and why it might be useful to you. You can also take a look at [this demonstration video](https://www.youtube.com/watch?v=nQk1Bp4tk4I). diff --git a/docs/configuring-playbook-bridge-mautrix-meta-messenger.md b/docs/configuring-playbook-bridge-mautrix-meta-messenger.md index de3421147..96041c829 100644 --- a/docs/configuring-playbook-bridge-mautrix-meta-messenger.md +++ b/docs/configuring-playbook-bridge-mautrix-meta-messenger.md @@ -45,8 +45,8 @@ As mentioned above, the [mautrix-meta](https://github.com/mautrix/meta) bridge s The bridge can pull your Messenger messages via 3 different methods: - (`facebook`) Facebook via `facebook.com` -- (`facebook-tor`) Facebook via `facebookwkhpilnemxj7asaniu7vnjjbiltxjqhye3mhbshg7kx5tfyd.onion` ([Tor](https://www.torproject.org/)) - does not currently proxy media downloads -- (default) (`messenger`) Messenger via `messenger.com` - usable even without a Facebook account +- (`facebook-tor`) Facebook via `facebookwkhpilnemxj7asaniu7vnjjbiltxjqhye3mhbshg7kx5tfyd.onion` ([Tor](https://www.torproject.org/)) — does not currently proxy media downloads +- (default) (`messenger`) Messenger via `messenger.com` — usable even without a Facebook account You may switch the mode via the `matrix_mautrix_meta_messenger_meta_mode` variable. The playbook defaults to the `messenger` mode, because it's most universal (every Facebook user has a Messenger account, but the opposite is not true). diff --git a/docs/configuring-playbook-cactus-comments.md b/docs/configuring-playbook-cactus-comments.md index f6adfda36..f6b704133 100644 --- a/docs/configuring-playbook-cactus-comments.md +++ b/docs/configuring-playbook-cactus-comments.md @@ -8,9 +8,9 @@ See the project's [documentation](https://cactus.chat/docs/getting-started/intro The playbook contains 2 roles for configuring different pieces of the Cactus Comments system: -- `matrix-cactus-comments` — the backend appservice integrating with the Matrix homeserver +- `matrix-cactus-comments` — the backend appservice integrating with the Matrix homeserver -- `matrix-cactus-comments-client` — a static website server serving the [cactus-client](https://cactus.chat/docs/client/introduction/) static assets (`cactus.js` and `styles.css`) +- `matrix-cactus-comments-client` — a static website server serving the [cactus-client](https://cactus.chat/docs/client/introduction/) static assets (`cactus.js` and `styles.css`) You can enable whichever component you need (typically both). diff --git a/docs/configuring-playbook-conduit.md b/docs/configuring-playbook-conduit.md index f2fc70096..760307b22 100644 --- a/docs/configuring-playbook-conduit.md +++ b/docs/configuring-playbook-conduit.md @@ -42,7 +42,7 @@ matrix_conduit_template_conduit_config: "{{ playbook_dir }}/inventory/host_vars/ Since it is difficult to create the first user account on Conduit (see [famedly/conduit#276](https://gitlab.com/famedly/conduit/-/issues/276) and [famedly/conduit#354](https://gitlab.com/famedly/conduit/-/merge_requests/354)) and it does not support [registering users](registering-users.md) (via the command line or via the playbook) like Synapse and Dendrite do, we recommend the following procedure: 1. Add `matrix_conduit_allow_registration: true` to your `vars.yml` the first time around, temporarily -2. Run the playbook (`ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start` - see [Installing](installing.md)) +2. Run the playbook (`ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start` — see [Installing](installing.md)) 3. Create your first user via Element Web or any other client which supports creating users 4. Get rid of `matrix_conduit_allow_registration: true` from your `vars.yml` 5. Run the playbook again (`ansible-playbook -i inventory/hosts setup.yml --tags=setup-conduit,start` would be enough this time) diff --git a/docs/configuring-playbook-email2matrix.md b/docs/configuring-playbook-email2matrix.md index 64ef5e112..7b24cd335 100644 --- a/docs/configuring-playbook-email2matrix.md +++ b/docs/configuring-playbook-email2matrix.md @@ -89,14 +89,14 @@ matrix_email2matrix_matrix_mappings: where: -* MailboxName - local-part of the email address, through which emails are bridged to the room whose ID is defined with MatrixRoomId -* MatrixRoomId - internal ID of the room, to which received emails are sent as Matrix message -* MatrixHomeserverUrl - URL of your Matrix homeserver, through which to send Matrix messages. You can also set `MatrixHomeserverUrl` to the container URL where your homeserver's Client-Server API lives by using the `{{ matrix_addons_homeserver_client_api_url }}` variable -* MatrixUserId - the full ID of the sender user which sends bridged messages to the room. On this configuration it is `@email2matrix1:example.com` and `@email2matrix2:example.com` (where `example.com` is your base domain, not the `matrix.` domain) -* MatrixAccessToken - sender user's access token -* IgnoreSubject - if set to "true", the subject is not bridged to Matrix -* IgnoreBody - if set to "true", the message body is not bridged to Matrix -* SkipMarkdown - if set to "true", emails are bridged as plain text Matrix message instead of Markdown (actually HTML) +* MailboxName — local-part of the email address, through which emails are bridged to the room whose ID is defined with MatrixRoomId +* MatrixRoomId — internal ID of the room, to which received emails are sent as Matrix message +* MatrixHomeserverUrl — URL of your Matrix homeserver, through which to send Matrix messages. You can also set `MatrixHomeserverUrl` to the container URL where your homeserver's Client-Server API lives by using the `{{ matrix_addons_homeserver_client_api_url }}` variable +* MatrixUserId — the full ID of the sender user which sends bridged messages to the room. On this configuration it is `@email2matrix1:example.com` and `@email2matrix2:example.com` (where `example.com` is your base domain, not the `matrix.` domain) +* MatrixAccessToken — sender user's access token +* IgnoreSubject — if set to "true", the subject is not bridged to Matrix +* IgnoreBody — if set to "true", the message body is not bridged to Matrix +* SkipMarkdown — if set to "true", emails are bridged as plain text Matrix message instead of Markdown (actually HTML) Refer to the official documentation [here](https://github.com/devture/email2matrix/blob/master/docs/configuration.md). diff --git a/docs/configuring-playbook-external-postgres.md b/docs/configuring-playbook-external-postgres.md index e922c8299..ca49d985c 100644 --- a/docs/configuring-playbook-external-postgres.md +++ b/docs/configuring-playbook-external-postgres.md @@ -2,7 +2,7 @@ By default, this playbook would set up a PostgreSQL database server on your machine, running in a Docker container. If that's okay, you can skip this document. -**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 that you manage, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file (adapt to your needs): diff --git a/docs/configuring-playbook-jitsi.md b/docs/configuring-playbook-jitsi.md index 882d434e4..b9aca9819 100644 --- a/docs/configuring-playbook-jitsi.md +++ b/docs/configuring-playbook-jitsi.md @@ -12,8 +12,8 @@ See the project's [documentation](https://jitsi.github.io/handbook/) to learn wh You may need to open the following ports to your server: -- `4443/tcp` - RTP media fallback over TCP -- `10000/udp` - RTP media over UDP. Depending on your firewall/NAT configuration, incoming RTP packets on port `10000` may have the external IP of your firewall as destination address, due to the usage of STUN in JVB (see [`jitsi_jvb_stun_servers`](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/defaults/main.yml)). +- `4443/tcp` — RTP media fallback over TCP +- `10000/udp` — RTP media over UDP. Depending on your firewall/NAT configuration, incoming RTP packets on port `10000` may have the external IP of your firewall as destination address, due to the usage of STUN in JVB (see [`jitsi_jvb_stun_servers`](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/defaults/main.yml)). ## Adjusting DNS records diff --git a/docs/configuring-playbook-ma1sd.md b/docs/configuring-playbook-ma1sd.md index c2f9d3132..7138ce3d3 100644 --- a/docs/configuring-playbook-ma1sd.md +++ b/docs/configuring-playbook-ma1sd.md @@ -65,15 +65,15 @@ If you'd like to change the default email templates used by ma1sd, take a look a To use the [Registration](https://github.com/ma1uta/ma1sd/blob/master/docs/features/registration.md) feature of ma1sd, you can make use of the following variables: -- `matrix_synapse_enable_registration` - to enable user-initiated registration in Synapse +- `matrix_synapse_enable_registration` — to enable user-initiated registration in Synapse -- `matrix_synapse_enable_registration_captcha` - to validate registering users using reCAPTCHA, as described in the [enabling reCAPTCHA](configuring-captcha.md) documentation. +- `matrix_synapse_enable_registration_captcha` — to validate registering users using reCAPTCHA, as described in the [enabling reCAPTCHA](configuring-captcha.md) documentation. -- `matrix_synapse_registrations_require_3pid` - a list of 3pid types (among `'email'`, `'msisdn'`) required by the Synapse server for registering +- `matrix_synapse_registrations_require_3pid` — a list of 3pid types (among `'email'`, `'msisdn'`) required by the Synapse server for registering -- variables prefixed with `matrix_ma1sd_container_labels_` (e.g. `matrix_ma1sd_container_labels_matrix_client_3pid_registration_enabled`) - to configure the Traefik reverse-proxy to capture and send registration requests to ma1sd (instead of Synapse), so it can apply its additional functionality +- variables prefixed with `matrix_ma1sd_container_labels_` (e.g. `matrix_ma1sd_container_labels_matrix_client_3pid_registration_enabled`) — to configure the Traefik reverse-proxy to capture and send registration requests to ma1sd (instead of Synapse), so it can apply its additional functionality -- `matrix_ma1sd_configuration_extension_yaml` - to configure ma1sd as required. See the [Registration feature's docs](https://github.com/ma1uta/ma1sd/blob/master/docs/features/registration.md) for inspiration. Also see the [Additional features](#additional-features) section below to learn more about how to use `matrix_ma1sd_configuration_extension_yaml`. +- `matrix_ma1sd_configuration_extension_yaml` — to configure ma1sd as required. See the [Registration feature's docs](https://github.com/ma1uta/ma1sd/blob/master/docs/features/registration.md) for inspiration. Also see the [Additional features](#additional-features) section below to learn more about how to use `matrix_ma1sd_configuration_extension_yaml`. **Note**: For this to work, either the homeserver needs to [federate](configuring-playbook-federation.md) or the `openid` APIs need to exposed on the federation port. When federation is disabled and ma1sd is enabled, we automatically expose the `openid` APIs (only!) on the federation port. Make sure the federation port (usually `https://matrix.example.com:8448`) is whitelisted in your firewall (even if you don't actually use/need federation). diff --git a/docs/configuring-playbook-matrix-authentication-service.md b/docs/configuring-playbook-matrix-authentication-service.md index 616ab54cc..ee8960352 100644 --- a/docs/configuring-playbook-matrix-authentication-service.md +++ b/docs/configuring-playbook-matrix-authentication-service.md @@ -1,6 +1,6 @@ # Setting up Matrix Authentication Service (optional) -The playbook can install and configure [Matrix Authentication Service](https://github.com/element-hq/matrix-authentication-service/) (MAS) - a service operating alongside your existing [Synapse](./configuring-playbook-synapse.md) homeserver and providing [better authentication, session management and permissions in Matrix](https://matrix.org/blog/2023/09/better-auth/). +The playbook can install and configure [Matrix Authentication Service](https://github.com/element-hq/matrix-authentication-service/) (MAS) — a service operating alongside your existing [Synapse](./configuring-playbook-synapse.md) homeserver and providing [better authentication, session management and permissions in Matrix](https://matrix.org/blog/2023/09/better-auth/). Matrix Authentication Service is an implementation of [MSC3861: Next-generation auth for Matrix, based on OAuth 2.0/OIDC](https://github.com/matrix-org/matrix-spec-proposals/pull/3861) and still work in progress, tracked at the [areweoidcyet.com](https://areweoidcyet.com/) website. @@ -63,13 +63,13 @@ This section details what you can expect when switching to the Matrix Authentica - ⚠️ [Migrating an existing Synapse homeserver to Matrix Authentication Service](#migrating-an-existing-synapse-homeserver-to-matrix-authentication-service) is **possible**, but requires **some playbook-assisted manual work**. Migration is **reversible with no or minor issues if done quickly enough**, but as users start logging in (creating new login sessions) via the new MAS setup, disabling MAS and reverting back to the Synapse user database will cause these new sessions to break. -- ⚠️ [Migrating an existing Synapse homeserver to Matrix Authentication Service](#migrating-an-existing-synapse-homeserver-to-matrix-authentication-service) does not currently seem to preserve the "admin" flag for users (as found in the Synapse database). All users are imported as non-admin - see [element-hq/matrix-authentication-service#3440](https://github.com/element-hq/matrix-authentication-service/issues/3440). You may need update the Matrix Authentication Service's database manually and adjust the `can_request_admin` column in the `users` table to `true` for users that need to be administrators (e.g. `UPDATE users SET can_request_admin = true WHERE username = 'someone';`) +- ⚠️ [Migrating an existing Synapse homeserver to Matrix Authentication Service](#migrating-an-existing-synapse-homeserver-to-matrix-authentication-service) does not currently seem to preserve the "admin" flag for users (as found in the Synapse database). All users are imported as non-admin — see [element-hq/matrix-authentication-service#3440](https://github.com/element-hq/matrix-authentication-service/issues/3440). You may need update the Matrix Authentication Service's database manually and adjust the `can_request_admin` column in the `users` table to `true` for users that need to be administrators (e.g. `UPDATE users SET can_request_admin = true WHERE username = 'someone';`) - ⚠️ Delegating user authentication to MAS causes **your Synapse server to be completely dependant on one more service** for its operations. MAS is quick & lightweight and should be stable enough already, but this is something to keep in mind when making the switch. - ⚠️ If you've got [OIDC configured in Synapse](./configuring-playbook-synapse.md#synapse--openid-connect-for-single-sign-on), you will need to migrate your OIDC configuration to MAS by adding an [Upstream OAuth2 configuration](#upstream-oauth2-configuration). -- ⚠️ A [compatibility layer](https://element-hq.github.io/matrix-authentication-service/setup/homeserver.html#set-up-the-compatibility-layer) is installed - all `/_matrix/client/*/login` (etc.) requests will be routed to MAS instead of going to the homeserver. This is done both publicly (e.g. `https://matrix.example.com/_matrix/client/*/login`) and on the internal Traefik entrypoint (e.g. `https://matrix-traefik:8008/_matrix/client/*/login`) which helps addon services reach the homeserver's Client-Server API. You typically don't need to do anything to make this work, but it's good to be aware of it, especially if you have a [custom webserver setup](./configuring-playbook-own-webserver.md). +- ⚠️ A [compatibility layer](https://element-hq.github.io/matrix-authentication-service/setup/homeserver.html#set-up-the-compatibility-layer) is installed — all `/_matrix/client/*/login` (etc.) requests will be routed to MAS instead of going to the homeserver. This is done both publicly (e.g. `https://matrix.example.com/_matrix/client/*/login`) and on the internal Traefik entrypoint (e.g. `https://matrix-traefik:8008/_matrix/client/*/login`) which helps addon services reach the homeserver's Client-Server API. You typically don't need to do anything to make this work, but it's good to be aware of it, especially if you have a [custom webserver setup](./configuring-playbook-own-webserver.md). - ✅ Your **existing login sessions will continue to work** (you won't get logged out). Migration will require a bit of manual work and minutes of downtime, but it's not too bad. diff --git a/docs/configuring-playbook-matrix-corporal.md b/docs/configuring-playbook-matrix-corporal.md index fea63b552..03bf7b22f 100644 --- a/docs/configuring-playbook-matrix-corporal.md +++ b/docs/configuring-playbook-matrix-corporal.md @@ -139,4 +139,4 @@ The following local filesystem paths are mounted in the `matrix-corporal` contai - `/matrix/corporal/cache` is mounted at `/var/cache/matrix-corporal` (read and write) -As an example: you can create your own configuration files in `/matrix/corporal/config` and they will appear in `/etc/matrix-corporal` in the Docker container. Your configuration (stuff in `matrix_corporal_policy_provider_config`) needs to refer to these files via the local container paths - `/etc/matrix-corporal` (read-only), `/var/matrix-corporal` (read and write), `/var/cache/matrix-corporal` (read and write). +As an example: you can create your own configuration files in `/matrix/corporal/config` and they will appear in `/etc/matrix-corporal` in the Docker container. Your configuration (stuff in `matrix_corporal_policy_provider_config`) needs to refer to these files via the local container paths — `/etc/matrix-corporal` (read-only), `/var/matrix-corporal` (read and write), `/var/cache/matrix-corporal` (read and write). diff --git a/docs/configuring-playbook-matrix-media-repo.md b/docs/configuring-playbook-matrix-media-repo.md index 4a9c31372..748d3aaf0 100644 --- a/docs/configuring-playbook-matrix-media-repo.md +++ b/docs/configuring-playbook-matrix-media-repo.md @@ -60,10 +60,10 @@ matrix_media_repo_admins: [] # To disable this datastore, making it readonly, specify `forKinds: []`. # # The kinds available are: -# thumbnails - Used to store thumbnails of media (local and remote). -# remote_media - Original copies of remote media (servers not configured by this repo). -# local_media - Original uploads for local media. -# archives - Archives of content (GDPR and similar requests). +# thumbnails — Used to store thumbnails of media (local and remote). +# remote_media — Original copies of remote media (servers not configured by this repo). +# local_media — Original uploads for local media. +# archives — Archives of content (GDPR and similar requests). matrix_media_repo_datastore_file_for_kinds: ["thumbnails", "remote_media", "local_media", "archives"] matrix_media_repo_datastore_s3_for_kinds: [] diff --git a/docs/configuring-playbook-matrix-registration.md b/docs/configuring-playbook-matrix-registration.md index fb5e04b31..311be8fb7 100644 --- a/docs/configuring-playbook-matrix-registration.md +++ b/docs/configuring-playbook-matrix-registration.md @@ -64,7 +64,7 @@ The shortcut commands with the [`just` program](just.md) are also available: `ju **matrix-registration** gets exposed at `https://matrix.example.com/matrix-registration` -It provides various [APIs](https://github.com/ZerataX/matrix-registration/wiki/api) - for creating registration tokens, listing tokens, disabling tokens, etc. To make use of all of its capabilities, consider using `curl`. +It provides various [APIs](https://github.com/ZerataX/matrix-registration/wiki/api) — for creating registration tokens, listing tokens, disabling tokens, etc. To make use of all of its capabilities, consider using `curl`. We make the most common APIs easy to use via the playbook (see below). diff --git a/docs/configuring-playbook-own-webserver.md b/docs/configuring-playbook-own-webserver.md index 8f8f8682d..d738183a6 100644 --- a/docs/configuring-playbook-own-webserver.md +++ b/docs/configuring-playbook-own-webserver.md @@ -56,10 +56,10 @@ By default, the playbook configured a `default` certificate resolver and multipl You need to configure 4 entrypoints for your Traefik server: -- `web` (TCP port `80`) - used for redirecting to HTTPS (`web-secure`) -- `web-secure` (TCP port `443`) - used for exposing the Matrix Client-Server API and all other services -- `matrix-federation` (TCP port `8448`) - used for exposing the Matrix Federation API -- `matrix-internal-matrix-client-api` (TCP port `8008`) - used internally for addon services (bridges, bots) to communicate with the homserver +- `web` (TCP port `80`) — used for redirecting to HTTPS (`web-secure`) +- `web-secure` (TCP port `443`) — used for exposing the Matrix Client-Server API and all other services +- `matrix-federation` (TCP port `8448`) — used for exposing the Matrix Federation API +- `matrix-internal-matrix-client-api` (TCP port `8008`) — used internally for addon services (bridges, bots) to communicate with the homserver Below is some configuration for running Traefik yourself, although we recommend using [Traefik managed by the playbook](#traefik-managed-by-the-playbook). @@ -127,7 +127,7 @@ Doing this is possible, but requires manual work. There are 2 ways to go about it: -- (recommended) [Fronting the integrated reverse-proxy webserver with another reverse-proxy](#fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy) - using the playbook-managed reverse-proxy (Traefik), but disabling SSL termination for it, exposing this reverse-proxy on a few local ports (e.g. `127.0.0.1:81`, etc.) and forwarding traffic from your own webserver to those few ports +- (recommended) [Fronting the integrated reverse-proxy webserver with another reverse-proxy](#fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy) — using the playbook-managed reverse-proxy (Traefik), but disabling SSL termination for it, exposing this reverse-proxy on a few local ports (e.g. `127.0.0.1:81`, etc.) and forwarding traffic from your own webserver to those few ports - (difficult) [Using no reverse-proxy on the Matrix side at all](#using-no-reverse-proxy-on-the-matrix-side-at-all) disabling the playbook-managed reverse-proxy (Traefik), exposing services one by one using `_host_bind_port` variables and forwarding traffic from your own webserver to those ports diff --git a/docs/configuring-playbook-prometheus-nginxlog.md b/docs/configuring-playbook-prometheus-nginxlog.md index 1683210c3..224061c07 100644 --- a/docs/configuring-playbook-prometheus-nginxlog.md +++ b/docs/configuring-playbook-prometheus-nginxlog.md @@ -8,7 +8,7 @@ It will collect access logs from various nginx reverse-proxies which may be used **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). If your setup includes [Grafana](./configuring-playbook-prometheus-grafana.md), a dedicated `NGINX PROXY` Grafana dashboard will be created. @@ -48,7 +48,7 @@ Metrics and resulting graphs can contain a lot of information. NginX logs contai ## Save metrics on an external Prometheus server -The playbook will automatically integrate the metrics into the [Prometheus](./configuring-playbook-prometheus-grafana.md) server provided with this playbook (if enabled). In such cases, the metrics endpoint is not exposed publicly - it's only available on the container network. +The playbook will automatically integrate the metrics into the [Prometheus](./configuring-playbook-prometheus-grafana.md) server provided with this playbook (if enabled). In such cases, the metrics endpoint is not exposed publicly — it's only available on the container network. When using an external Prometheus server, you'll need to expose metrics publicly. See [Collecting metrics to an external Prometheus server](./configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server). diff --git a/docs/configuring-playbook-riot-web.md b/docs/configuring-playbook-riot-web.md index e008a3f89..4e312a7c2 100644 --- a/docs/configuring-playbook-riot-web.md +++ b/docs/configuring-playbook-riot-web.md @@ -21,9 +21,9 @@ We used to set up Riot at the `riot.example.com` domain. The playbook now sets u There are a few options for handling this: -- (**avoiding changes** - using the old `riot.example.com` domain and avoiding DNS changes) -- to keep using `riot.example.com` instead of `element.example.com`, override the domain at which the playbook serves Element Web: `matrix_server_fqn_element: "riot.{{ matrix_domain }}"` +- (**avoiding changes** — using the old `riot.example.com` domain and avoiding DNS changes) -- to keep using `riot.example.com` instead of `element.example.com`, override the domain at which the playbook serves Element Web: `matrix_server_fqn_element: "riot.{{ matrix_domain }}"` -- (**embracing changes** - using only `element.example.com`) - set up the `element.example.com` DNS record (see [Configuring DNS](configuring-dns.md)). You can drop the `riot.example.com` in this case. +- (**embracing changes** — using only `element.example.com`) — set up the `element.example.com` DNS record (see [Configuring DNS](configuring-dns.md)). You can drop the `riot.example.com` in this case. ### Re-running the playbook diff --git a/docs/configuring-playbook-s3.md b/docs/configuring-playbook-s3.md index cb43c62fb..2f6f1ad49 100644 --- a/docs/configuring-playbook-s3.md +++ b/docs/configuring-playbook-s3.md @@ -29,7 +29,7 @@ Here are some of the important aspects of choosing the right provider: - if a provider has a data region close to your Matrix server (if it's farther away, high latency may cause slowdowns) - if a provider's infrastructure such as data center is centralized or distributed - if a provider's price model is transparent (whether it includes hidden costs like minimum charge, minimum storage term, etc.) -- if a provider has free or cheap egress fee (in case you need to get the data out often, for some reason) - likely not too important for the common use-case +- if a provider has free or cheap egress fee (in case you need to get the data out often, for some reason) — likely not too important for the common use-case ## Bucket creation and Security Configuration @@ -83,11 +83,11 @@ The `keyID` value is your **Access Key** and `applicationKey` is your **Secret K For configuring [Goofys](configuring-playbook-s3-goofys.md) or [s3-synapse-storage-provider](configuring-playbook-synapse-s3-storage-provider.md) you will need: -- **Endpoint URL** - this is the **Endpoint** value you saw above, but prefixed with `https://` +- **Endpoint URL** — this is the **Endpoint** value you saw above, but prefixed with `https://` -- **Region** - use the value you see in the Endpoint (e.g. `us-west-002`) +- **Region** — use the value you see in the Endpoint (e.g. `us-west-002`) -- **Storage Class** - use `STANDARD`. Backblaze B2 does not have different storage classes, so it doesn't make sense to use any other value. +- **Storage Class** — use `STANDARD`. Backblaze B2 does not have different storage classes, so it doesn't make sense to use any other value. ## Other providers diff --git a/docs/configuring-playbook-synapse-admin.md b/docs/configuring-playbook-synapse-admin.md index bc404b9f1..b5e8991bd 100644 --- a/docs/configuring-playbook-synapse-admin.md +++ b/docs/configuring-playbook-synapse-admin.md @@ -25,7 +25,7 @@ matrix_synapse_admin_enabled: true - for [Synapse](./configuring-playbook-synapse.md) (our default homeserver implementation): `matrix_synapse_container_labels_public_client_synapse_admin_api_enabled: true` - for [Dendrite](./configuring-playbook-dendrite.md): `matrix_dendrite_container_labels_public_client_synapse_admin_api_enabled: true` -By default, synapse-admin installation will be [restricted to only work with one homeserver](https://github.com/etkecc/synapse-admin/blob/e21e44362c879ac41f47c580b04210842b6ff3d7/README.md#restricting-available-homeserver) - the one managed by the playbook. To adjust these restrictions, tweak the `matrix_synapse_admin_config_restrictBaseUrl` variable. +By default, synapse-admin installation will be [restricted to only work with one homeserver](https://github.com/etkecc/synapse-admin/blob/e21e44362c879ac41f47c580b04210842b6ff3d7/README.md#restricting-available-homeserver) — the one managed by the playbook. To adjust these restrictions, tweak the `matrix_synapse_admin_config_restrictBaseUrl` variable. > [!WARNING] > If you're using [Matrix Authentication Service](./configuring-playbook-matrix-authentication-service.md) (MAS) for authentication, you will be able to [log into synapse-admin with an access token](https://github.com/etkecc/synapse-admin/pull/58), but certain synapse-admin features (especially those around user management) will be limited or not work at all. diff --git a/docs/configuring-playbook-synapse-s3-storage-provider.md b/docs/configuring-playbook-synapse-s3-storage-provider.md index 02b79c240..c564e4c83 100644 --- a/docs/configuring-playbook-synapse-s3-storage-provider.md +++ b/docs/configuring-playbook-synapse-s3-storage-provider.md @@ -17,7 +17,7 @@ The way media storage providers in Synapse work has some caveats: You may be thinking **if all files are stored locally as well, what's the point**? -You can run some scripts to delete the local files once in a while (which we do automatically by default - see [Periodically cleaning up the local filesystem](#periodically-cleaning-up-the-local-filesystem)), thus freeing up local disk space. If these files are needed in the future (for serving them to users, etc.), Synapse will pull them from the media storage provider on demand. +You can run some scripts to delete the local files once in a while (which we do automatically by default — see [Periodically cleaning up the local filesystem](#periodically-cleaning-up-the-local-filesystem)), thus freeing up local disk space. If these files are needed in the future (for serving them to users, etc.), Synapse will pull them from the media storage provider on demand. While you will need some local disk space around, it's only to accommodate usage, etc., and won't grow as large as your S3 store. @@ -33,13 +33,13 @@ 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_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). # 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_secret_access_key: secret-key-goes-here -# Authentication Method 2 - EC2 instance profile which grants permission to access S3 +# Authentication Method 2 — EC2 instance profile which grants permission to access S3 # This only works on AWS when your server is hosted on an EC2 instance with the correct instance profile set. # Uncomment the variable below to use it. # matrix_synapse_ext_synapse_s3_storage_provider_config_ec2_instance_profile: true @@ -78,13 +78,13 @@ To copy your existing files, SSH into the server and run `/matrix/synapse/ext/s3 This launches a Synapse container, which has access to the local media store, Postgres database, S3 store and has some convenient environment variables configured for you to use (`MEDIA_PATH`, `BUCKET`, `ENDPOINT`, `UPDATE_DB_DAYS`, etc). -Then use the following commands (`$` values come from environment variables - they're **not placeholders** that you need to substitute): +Then use the following commands (`$` values come from environment variables — they're **not placeholders** that you need to substitute): -1. `s3_media_upload update-db $UPDATE_DB_DURATION` - create a local SQLite database (`cache.db`) with a list of media repository files (from the `synapse` Postgres database) eligible for operating on +1. `s3_media_upload update-db $UPDATE_DB_DURATION` — create a local SQLite database (`cache.db`) with a list of media repository files (from the `synapse` Postgres database) eligible for operating on - `$UPDATE_DB_DURATION` is influenced by the `matrix_synapse_ext_synapse_s3_storage_provider_update_db_day_count` variable (defaults to `0`) - `$UPDATE_DB_DURATION` defaults to `0d` (0 days), which means **include files which haven't been accessed for more than 0 days** (that is, **all files will be included**). -2. `s3_media_upload check-deleted $MEDIA_PATH` - check whether files in the local cache still exist in the local media repository directory -3. `s3_media_upload upload $MEDIA_PATH $BUCKET --delete --storage-class $STORAGE_CLASS --endpoint-url $ENDPOINT` - uploads locally-stored files to S3 and deletes them from the local media repository directory +2. `s3_media_upload check-deleted $MEDIA_PATH` — check whether files in the local cache still exist in the local media repository directory +3. `s3_media_upload upload $MEDIA_PATH $BUCKET --delete --storage-class $STORAGE_CLASS --endpoint-url $ENDPOINT` — uploads locally-stored files to S3 and deletes them from the local media repository directory The `s3_media_upload upload` command may take a lot of time to complete. diff --git a/docs/configuring-playbook-synapse.md b/docs/configuring-playbook-synapse.md index 6b1ec9f3e..12ae0f061 100644 --- a/docs/configuring-playbook-synapse.md +++ b/docs/configuring-playbook-synapse.md @@ -22,9 +22,9 @@ By default, this enables the `one-of-each` [worker preset](#worker-presets), but We support a few configuration presets (`matrix_synapse_workers_preset: one-of-each` being the default configuration right now): -- (federation-only) `little-federation-helper` - a very minimal worker configuration to improve federation performance -- (generic) `one-of-each` - defaults to one worker of each supported type - no smart routing, just generic workers -- (specialized) `specialized-workers` - defaults to one worker of each supported type, but disables generic workers and uses [specialized workers](#specialized-workers) instead +- (federation-only) `little-federation-helper` — a very minimal worker configuration to improve federation performance +- (generic) `one-of-each` — defaults to one worker of each supported type — no smart routing, just generic workers +- (specialized) `specialized-workers` — defaults to one worker of each supported type, but disables generic workers and uses [specialized workers](#specialized-workers) instead These presets represent a few common configurations. There are many worker types which can be mixed and matched based on your needs. @@ -34,20 +34,20 @@ Previously, the playbook only supported the most basic type of load-balancing. W This is **still the default load-balancing method (preset) used by the playbook**. -To use generic load-balancing, do not specify `matrix_synapse_workers_preset` to make it use the default value (`one-of-each`), or better yet - explicitly set it as `one-of-each`. +To use generic load-balancing, do not specify `matrix_synapse_workers_preset` to make it use the default value (`one-of-each`), or better yet — explicitly set it as `one-of-each`. You may also consider [tweaking the number of workers of each type](#controlling-the-number-of-worker-instances) from the default (one of each). ##### Specialized workers -The playbook now supports a smarter **specialized load-balancing** inspired by [Tom Foster](https://github.com/tcpipuk)'s [Synapse homeserver guide](https://tcpipuk.github.io/synapse/index.html). Instead of routing requests to one or more [generic workers](#generic-workers) based only on the requestor's IP adddress, specialized load-balancing routes to **4 different types of specialized workers** based on **smarter criteria** - the access token (username) of the requestor and/or on the resource (room, etc.) being requested. +The playbook now supports a smarter **specialized load-balancing** inspired by [Tom Foster](https://github.com/tcpipuk)'s [Synapse homeserver guide](https://tcpipuk.github.io/synapse/index.html). Instead of routing requests to one or more [generic workers](#generic-workers) based only on the requestor's IP adddress, specialized load-balancing routes to **4 different types of specialized workers** based on **smarter criteria** — the access token (username) of the requestor and/or on the resource (room, etc.) being requested. The playbook supports these **4 types** of specialized workers: -- Room workers - handles various [Client-Server](https://spec.matrix.org/v1.9/client-server-api/) & [Federation](https://spec.matrix.org/v1.9/server-server-api) APIs dedicated to handling specific rooms -- Sync workers - handles various [Client-Server](https://spec.matrix.org/v1.9/client-server-api/) APIs related to synchronization (most notably [the `/sync` endpoint](https://spec.matrix.org/v1.9/client-server-api/#get_matrixclientv3sync)) -- Client readers - handles various [Client-Server](https://spec.matrix.org/v1.9/client-server-api/) APIs which are not for specific rooms (handled by **room workers**) or for synchronization (handled by **sync workers**) -- Federation readers - handles various [Federation](https://spec.matrix.org/v1.9/server-server-api) APIs which are not for specific rooms (handled by **room workers**) +- Room workers — handles various [Client-Server](https://spec.matrix.org/v1.9/client-server-api/) & [Federation](https://spec.matrix.org/v1.9/server-server-api) APIs dedicated to handling specific rooms +- Sync workers — handles various [Client-Server](https://spec.matrix.org/v1.9/client-server-api/) APIs related to synchronization (most notably [the `/sync` endpoint](https://spec.matrix.org/v1.9/client-server-api/#get_matrixclientv3sync)) +- Client readers — handles various [Client-Server](https://spec.matrix.org/v1.9/client-server-api/) APIs which are not for specific rooms (handled by **room workers**) or for synchronization (handled by **sync workers**) +- Federation readers — handles various [Federation](https://spec.matrix.org/v1.9/server-server-api) APIs which are not for specific rooms (handled by **room workers**) To use specialized load-balancing, consider enabling the `specialized-workers` [worker preset](#worker-presets) and potentially [tweaking the number of workers of each type](#controlling-the-number-of-worker-instances) from the default (one of each). diff --git a/docs/configuring-playbook-traefik.md b/docs/configuring-playbook-traefik.md index b9f3e86e8..cab20454f 100644 --- a/docs/configuring-playbook-traefik.md +++ b/docs/configuring-playbook-traefik.md @@ -59,7 +59,7 @@ However, if your service does not run on a container or runs on another machine, If you want to host another webserver would be reachable via `my-fancy-website.example.net` from the internet and via `https://:` from inside your network, you can make the playbook's integrated Traefik instance reverse-proxy the traffic to the correct host. -Prerequisites: DNS and routing for the domain `my-fancy-website.example.net` need to be set up correctly. In this case, you'd be pointing the domain name to your Matrix server - `my-fancy-website.example.net` would be a CNAME going to `matrix.example.com`. +Prerequisites: DNS and routing for the domain `my-fancy-website.example.net` need to be set up correctly. In this case, you'd be pointing the domain name to your Matrix server — `my-fancy-website.example.net` would be a CNAME going to `matrix.example.com`. First, we have to adjust the static configuration of Traefik, so that we can add additional configuration files: diff --git a/docs/configuring-playbook.md b/docs/configuring-playbook.md index 7836190f8..a2332f9bf 100644 --- a/docs/configuring-playbook.md +++ b/docs/configuring-playbook.md @@ -111,7 +111,7 @@ Use alternative file storage to the default `media_store` folder. Bridges can be used to connect your Matrix installation with third-party communication networks. -- [Setting up a Generic Mautrix Bridge](configuring-playbook-bridge-mautrix-bridges.md) - a common guide for configuring mautrix bridges +- [Setting up a Generic Mautrix Bridge](configuring-playbook-bridge-mautrix-bridges.md) — a common guide for configuring mautrix bridges - [Setting up Mautrix Discord bridging](configuring-playbook-bridge-mautrix-discord.md) @@ -145,7 +145,7 @@ Bridges can be used to connect your Matrix installation with third-party communi - [Setting up Beeper LinkedIn bridging](configuring-playbook-bridge-beeper-linkedin.md) -- [Setting up matrix-hookshot](configuring-playbook-bridge-hookshot.md) - a bridge between Matrix and multiple project management services, such as [GitHub](https://github.com), [GitLab](https://about.gitlab.com) and [JIRA](https://www.atlassian.com/software/jira). +- [Setting up matrix-hookshot](configuring-playbook-bridge-hookshot.md) — a bridge between Matrix and multiple project management services, such as [GitHub](https://github.com), [GitLab](https://about.gitlab.com) and [JIRA](https://www.atlassian.com/software/jira). - [Setting up MX Puppet Slack bridging](configuring-playbook-bridge-mx-puppet-slack.md) @@ -175,23 +175,23 @@ Bridges can be used to connect your Matrix installation with third-party communi Bots provide various additional functionality to your installation. -- [Setting up baibot](configuring-playbook-bot-baibot.md) - a bot through which you can talk to various [AI](https://en.wikipedia.org/wiki/Artificial_intelligence) / [Large Language Models](https://en.wikipedia.org/wiki/Large_language_model) services ([OpenAI](https://openai.com/)'s [ChatGPT](https://openai.com/blog/chatgpt/) and [others](https://github.com/etkecc/baibot/blob/main/docs/providers.md)) +- [Setting up baibot](configuring-playbook-bot-baibot.md) — a bot through which you can talk to various [AI](https://en.wikipedia.org/wiki/Artificial_intelligence) / [Large Language Models](https://en.wikipedia.org/wiki/Large_language_model) services ([OpenAI](https://openai.com/)'s [ChatGPT](https://openai.com/blog/chatgpt/) and [others](https://github.com/etkecc/baibot/blob/main/docs/providers.md)) -- [Setting up matrix-reminder-bot](configuring-playbook-bot-matrix-reminder-bot.md) - a bot to remind you about stuff +- [Setting up matrix-reminder-bot](configuring-playbook-bot-matrix-reminder-bot.md) — a bot to remind you about stuff -- [Setting up matrix-registration-bot](configuring-playbook-bot-matrix-registration-bot.md) - a bot to create and manage registration tokens to invite users +- [Setting up matrix-registration-bot](configuring-playbook-bot-matrix-registration-bot.md) — a bot to create and manage registration tokens to invite users -- [Setting up maubot](configuring-playbook-bot-maubot.md) - a plugin-based Matrix bot system +- [Setting up maubot](configuring-playbook-bot-maubot.md) — a plugin-based Matrix bot system -- [Setting up Honoroit](configuring-playbook-bot-honoroit.md) - a helpdesk bot +- [Setting up Honoroit](configuring-playbook-bot-honoroit.md) — a helpdesk bot -- [Setting up Mjolnir](configuring-playbook-bot-mjolnir.md) - a moderation tool/bot +- [Setting up Mjolnir](configuring-playbook-bot-mjolnir.md) — a moderation tool/bot -- [Setting up Draupnir](configuring-playbook-bot-draupnir.md) - a moderation tool/bot, forked from Mjolnir and maintained by its former leader developer +- [Setting up Draupnir](configuring-playbook-bot-draupnir.md) — a moderation tool/bot, forked from Mjolnir and maintained by its former leader developer -- [Setting up Draupnir for all/D4A](configuring-playbook-appservice-draupnir-for-all.md) - like the [Draupnir bot](configuring-playbook-bot-draupnir.md) mentioned above, but running in appservice mode and supporting multiple instances +- [Setting up Draupnir for all/D4A](configuring-playbook-appservice-draupnir-for-all.md) — like the [Draupnir bot](configuring-playbook-bot-draupnir.md) mentioned above, but running in appservice mode and supporting multiple instances -- [Setting up Buscarron](configuring-playbook-bot-buscarron.md) - a bot you can use to send any form (HTTP POST, HTML) to a (encrypted) Matrix room +- [Setting up Buscarron](configuring-playbook-bot-buscarron.md) — a bot you can use to send any form (HTTP POST, HTML) to a (encrypted) Matrix room ### Administration @@ -208,9 +208,9 @@ Services that help you in administrating and monitoring your Matrix installation - [Enabling synapse-usage-exporter for Synapse usage statistics](configuring-playbook-synapse-usage-exporter.md) - Backups: - - [Setting up BorgBackup](configuring-playbook-backup-borg.md) - a full Matrix server backup solution, including the Postgres database + - [Setting up BorgBackup](configuring-playbook-backup-borg.md) — a full Matrix server backup solution, including the Postgres database - - [Setting up postgres backup](configuring-playbook-postgres-backup.md) - a Postgres-database backup solution (note: does not include other files) + - [Setting up postgres backup](configuring-playbook-postgres-backup.md) — a Postgres-database backup solution (note: does not include other files) ### Other specialized services @@ -226,7 +226,7 @@ Various services that don't fit any other categories. - [Setting up the Jitsi video-conferencing platform](configuring-playbook-jitsi.md) -- [Setting up Cactus Comments](configuring-playbook-cactus-comments.md) - a federated comment system built on Matrix +- [Setting up Cactus Comments](configuring-playbook-cactus-comments.md) — a federated comment system built on Matrix - [Setting up Pantalaimon (E2EE aware proxy daemon)](configuring-playbook-pantalaimon.md) (advanced) diff --git a/docs/container-images.md b/docs/container-images.md index 4f77a7bc6..4c43786b8 100644 --- a/docs/container-images.md +++ b/docs/container-images.md @@ -32,7 +32,7 @@ Services that run on the server to make the various parts of your installation w | ------- | --------------- | -------- | ----------- | | [PostgreSQL](configuring-playbook-external-postgres.md) | [postgres](https://hub.docker.com/_/postgres/) | ✅ | Database for Synapse. [Using an external PostgreSQL server](configuring-playbook-external-postgres.md) is also possible. | | [coturn](configuring-playbook-turn.md) | [coturn/coturn](https://hub.docker.com/r/coturn/coturn/) | ✅ | STUN/TURN server for WebRTC audio/video calls | -| [Traefik](configuring-playbook-traefik.md) | [Traefik](https://hub.docker.com/_/traefik/) | ✅ | Web server, listening on ports 80, 443 and 8448 - standing in front of all the other services. Using your own webserver [is possible](configuring-playbook-own-webserver.md) | +| [Traefik](configuring-playbook-traefik.md) | [Traefik](https://hub.docker.com/_/traefik/) | ✅ | Web server, listening on ports 80, 443 and 8448 — standing in front of all the other services. Using your own webserver [is possible](configuring-playbook-own-webserver.md) | | [Let's Encrypt](configuring-playbook-ssl-certificates.md) | [certbot/certbot](https://hub.docker.com/r/certbot/certbot/) | ✅ | The [certbot](https://certbot.eff.org/) tool for obtaining SSL certificates from [Let's Encrypt](https://letsencrypt.org/) | | [Exim](configuring-playbook-email.md) | [devture/exim-relay](https://hub.docker.com/r/devture/exim-relay/) | ✅ | Mail server, through which all Matrix services send outgoing email (can be configured to relay through another SMTP server) | | [ma1sd](configuring-playbook-ma1sd.md) | [ma1uta/ma1sd](https://hub.docker.com/r/ma1uta/ma1sd/) | ❌ | Matrix Identity Server | diff --git a/docs/faq.md b/docs/faq.md index 51e093fc7..92b9238b1 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -32,7 +32,7 @@ If you'd like to host your own server (you being `@alice:example.com`), you'd ne In short: -- Matrix is the protocol - a set of rules about how the chat network operates +- Matrix is the protocol — a set of rules about how the chat network operates - Element is a client program you can use to participate on the Matrix chat network via some server (yours or someone else's). There are also [many other client programs](https://matrix.org/clients/). - Synapse is a server program you can use to host your very own Matrix server. @@ -48,15 +48,15 @@ Besides setting up your own bridges (preferable), you can also use some [public ### How do I get started with Matrix? -One of [Matrix](https://matrix.org/)'s distinguishing strengths (compared to other chat networks) is its decentralized nature. There's not just one entity (company, organization) controlling the servers. Rather there's thousands of servers operated by different people - one server being insecure, slow or disrespective toward its users does not affect the rest of the network. To participate in that decentralization in its fullest, consider hosting your own server or using some public server other than the largest/default one (`matrix.org`). +One of [Matrix](https://matrix.org/)'s distinguishing strengths (compared to other chat networks) is its decentralized nature. There's not just one entity (company, organization) controlling the servers. Rather there's thousands of servers operated by different people — one server being insecure, slow or disrespective toward its users does not affect the rest of the network. To participate in that decentralization in its fullest, consider hosting your own server or using some public server other than the largest/default one (`matrix.org`). There are 3 ways to get into Matrix, depending on your technical ability and needs: -- **using the existing default server** - the easiest way is to use an existing server. The largest public Matrix server is `matrix.org` and it's configured as a default server in clients such as [Element Web](https://app.element.io) and many others. Just use Element Web on the browser via that link (or [download client apps for your Desktop or smartphone](https://element.io/app-for-productivity)), create an account and start chatting. +- **using the existing default server** — the easiest way is to use an existing server. The largest public Matrix server is `matrix.org` and it's configured as a default server in clients such as [Element Web](https://app.element.io) and many others. Just use Element Web on the browser via that link (or [download client apps for your Desktop or smartphone](https://element.io/app-for-productivity)), create an account and start chatting. -- **using some other server** - instead of using the largest public server (`matrix.org`), you can use another public one. Here's a [list of public Matrix servers](https://joinmatrix.org/servers/) to choose from. Go to [Element Web](https://app.element.io) or download [some other client](https://matrix.org/clients/) of your choosing and adjust the homeserver URL during login. +- **using some other server** — instead of using the largest public server (`matrix.org`), you can use another public one. Here's a [list of public Matrix servers](https://joinmatrix.org/servers/) to choose from. Go to [Element Web](https://app.element.io) or download [some other client](https://matrix.org/clients/) of your choosing and adjust the homeserver URL during login. -- **using your own server** - running your own server puts you in ultimate control of your data. It also lets you have your own user IDs (e.g. `@bob:example.com`). See [How do I set up my own Matrix server](#how-do-i-set-up-my-own-matrix-server). +- **using your own server** — running your own server puts you in ultimate control of your data. It also lets you have your own user IDs (e.g. `@bob:example.com`). See [How do I set up my own Matrix server](#how-do-i-set-up-my-own-matrix-server). ### How do I set up my own Matrix server? @@ -117,7 +117,7 @@ All services run in Docker containers (most being officially provided by each co Reasons are similar to the reasons for not installing manually. -Besides Synapse, you'd need other things - a Postgres database, likely the [Element](https://element.io) client, etc., etc. +Besides Synapse, you'd need other things — a Postgres database, likely the [Element](https://element.io) client, etc., etc. Using the playbook, you get all these components in a way that works well together out of the box. @@ -129,7 +129,7 @@ It is the acronym of us: **m**atrix-**d**ocker-**a**nsible-**d**eploy. This is similar to the [EMnify/matrix-synapse-auto-deploy](https://github.com/EMnify/matrix-synapse-auto-deploy) Ansible deployment, but: -- this one is a complete Ansible playbook (instead of just a role), so it's **easier to run** - especially for folks not familiar with Ansible +- this one is a complete Ansible playbook (instead of just a role), so it's **easier to run** — especially for folks not familiar with Ansible - this one installs and hooks together **a lot more Matrix-related services** for you (see above) @@ -391,7 +391,7 @@ Yes, you can. You generally need to do a playbook installation. It's recommended to follow the full installation guide (starting at the [Prerequisites](prerequisites.md) page), not the [Quick start](quick-start.md) guide. The full installation guide will tell you when it's time to import your existing data into the newly-prepared server. -This Ansible playbook guides you into installing a server for `example.com` (user IDs are like this: `@alice:example.com`), while the server is at `matrix.example.com`. If your existing setup has a server name (`server_name` configuration setting in Synapse's `homeserver.yaml` file) other than the base `example.com`, you may need to tweak some additional variables. This FAQ entry may be of use if you're dealing with a more complicated setup - [How do I install on matrix.example.com without involving the base domain?](#how-do-i-install-on-matrixexamplecom-without-involving-the-base-domain) +This Ansible playbook guides you into installing a server for `example.com` (user IDs are like this: `@alice:example.com`), while the server is at `matrix.example.com`. If your existing setup has a server name (`server_name` configuration setting in Synapse's `homeserver.yaml` file) other than the base `example.com`, you may need to tweak some additional variables. This FAQ entry may be of use if you're dealing with a more complicated setup — [How do I install on matrix.example.com without involving the base domain?](#how-do-i-install-on-matrixexamplecom-without-involving-the-base-domain) After configuring the playbook and installing and **before starting** services (done with `ansible-playbook … --tags=start`) you'd import [your SQLite](importing-synapse-sqlite.md) (or [Postgres](importing-postgres.md)) database and also [import your media store](importing-synapse-media-store.md). diff --git a/docs/howto-server-delegation.md b/docs/howto-server-delegation.md index 429e06982..602fda481 100644 --- a/docs/howto-server-delegation.md +++ b/docs/howto-server-delegation.md @@ -11,7 +11,7 @@ Both methods have their place and will continue to do so. You only need to use j For simplicity reasons, this playbook recommends you to set up server delegation via a `/.well-known/matrix/server` file. However, that method may have some downsides that are not to your liking. Hence this guide about alternative ways to set up Server Delegation. -**Note**: as an alternative, it is possible to install the server such that it uses only the `matrix.example.com` domain (instead of identifying as the shorter base domain - `example.com`). This should be helpful if you are not in control of anything on the base domain (`example.com`). In this case, you would not need to configure server delegation, but you would need to add other configuration. For more information, see [How do I install on matrix.example.com without involving the base domain?](faq.md#how-do-i-install-on-matrix-example-com-without-involving-the-base-domain) on our FAQ. +**Note**: as an alternative, it is possible to install the server such that it uses only the `matrix.example.com` domain (instead of identifying as the shorter base domain — `example.com`). This should be helpful if you are not in control of anything on the base domain (`example.com`). In this case, you would not need to configure server delegation, but you would need to add other configuration. For more information, see [How do I install on matrix.example.com without involving the base domain?](faq.md#how-do-i-install-on-matrix-example-com-without-involving-the-base-domain) on our FAQ. ## Server Delegation via a well-known file diff --git a/docs/importing-postgres.md b/docs/importing-postgres.md index 44c49c7c6..d73b3c95a 100644 --- a/docs/importing-postgres.md +++ b/docs/importing-postgres.md @@ -1,7 +1,7 @@ # Importing an existing Postgres database from another installation (optional) Run this if you'd like to import your database from a previous installation. -(don't forget to import your Synapse `media_store` files as well - see [the importing-synape-media-store guide](importing-synapse-media-store.md)). +(don't forget to import your Synapse `media_store` files as well — see [the importing-synape-media-store guide](importing-synapse-media-store.md)). ## Prerequisites @@ -64,7 +64,7 @@ It can be worked around by changing the username to `synapse`, for example by us $ sed -i "s/OWNER TO synapse_user;/OWNER TO synapse;/g" homeserver.sql ``` -This uses sed to perform an 'in-place' (`-i`) replacement globally (`/g`), searching for `synapse_user` and replacing with `synapse` (`s/synapse_user/synapse`). If your database username was different, change `synapse_user` to that username instead. Expand search/replace statement as shown in example above, in case of old user name like `matrix` - replacing `matrix` only would… well - you can imagine. +This uses sed to perform an 'in-place' (`-i`) replacement globally (`/g`), searching for `synapse_user` and replacing with `synapse` (`s/synapse_user/synapse`). If your database username was different, change `synapse_user` to that username instead. Expand search/replace statement as shown in example above, in case of old user name like `matrix` — replacing `matrix` only would… well — you can imagine. Note that if the previous import failed with an error it may have made changes which are incompatible with re-running the import task right away; if you do so it may fail with an error such as: diff --git a/docs/importing-synapse-sqlite.md b/docs/importing-synapse-sqlite.md index 2453e8cfc..29fa0594a 100644 --- a/docs/importing-synapse-sqlite.md +++ b/docs/importing-synapse-sqlite.md @@ -1,6 +1,6 @@ # Importing an existing SQLite database from another Synapse installation (optional) -Run this if you'd like to import your database from a previous default installation of Synapse (don't forget to import your `media_store` files as well - see [the importing-synapse-media-store guide](importing-synapse-media-store.md)). +Run this if you'd like to import your database from a previous default installation of Synapse (don't forget to import your `media_store` files as well — see [the importing-synapse-media-store guide](importing-synapse-media-store.md)). While this playbook only supports running Synapse in combination with PostgreSQL, a Synapse instance installed manually usually defaults to using an SQLite database. diff --git a/docs/installing.md b/docs/installing.md index bcd2e2325..10bbd32bc 100644 --- a/docs/installing.md +++ b/docs/installing.md @@ -27,7 +27,7 @@ If you **don't** use SSH keys for authentication, but rather a regular password, If you **do** use SSH keys for authentication, **and** use a non-root user to *become* root (sudo), you may need to add `-K` (`--ask-become-pass`) to all Ansible commands. -There 2 ways to start the installation process - depending on whether you're [Installing a brand new server (without importing data)](#installing-a-brand-new-server-without-importing-data) or [Installing a server into which you'll import old data](#installing-a-server-into-which-youll-import-old-data). +There 2 ways to start the installation process — depending on whether you're [Installing a brand new server (without importing data)](#installing-a-brand-new-server-without-importing-data) or [Installing a server into which you'll import old data](#installing-a-server-into-which-youll-import-old-data). **Note**: if you are migrating from an old server to a new one, take a look at [this guide](maintenance-migrating.md) instead. This is an easier and more straightforward way than installing a server and importing old data into it. @@ -130,7 +130,7 @@ After finilizing the installation, you can: - or learn how to [maintain your server](faq.md#maintenance) - or join some Matrix rooms: * via the *Explore rooms* feature in Element Web or some other clients, 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)) ### Maintaining your setup in the future diff --git a/docs/just.md b/docs/just.md index ecc09e495..53743a03b 100644 --- a/docs/just.md +++ b/docs/just.md @@ -2,7 +2,7 @@ We have previously used [make](https://www.gnu.org/software/make/) for easily running some playbook commands (e.g. `make roles` which triggers [`ansible-galaxy`](https://docs.ansible.com/ansible/latest/cli/ansible-galaxy.html)). Our [`Makefile`](../Makefile) is still around, and you can still run these commands. -In addition, we have added support for running commands via [`just`](https://github.com/casey/just) - a more modern command-runner alternative to `make`. It can be used to invoke `ansible-playbook` commands with less typing. +In addition, we have added support for running commands via [`just`](https://github.com/casey/just) — a more modern command-runner alternative to `make`. It can be used to invoke `ansible-playbook` commands with less typing. The `just` utility executes shortcut commands (called as "recipes"), which invoke `ansible-playbook`, `ansible-galaxy` or [`agru`](https://github.com/etkecc/agru) (depending on what is available in your system). The targets of the recipes are defined in [`justfile`](../justfile). Most of the just recipes have no corresponding `Makefile` targets. diff --git a/docs/maintenance-synapse.md b/docs/maintenance-synapse.md index 3bb315fcb..bc78f28fd 100644 --- a/docs/maintenance-synapse.md +++ b/docs/maintenance-synapse.md @@ -88,9 +88,9 @@ Tuning the cache factor is useful only to a limited degree (as its crude to do i Cache autotuning is **enabled by default** and controlled via the following variables: -- `matrix_synapse_cache_autotuning_max_cache_memory_usage` - defaults to 1/8 of total RAM with a cap of 2GB; values are specified in bytes -- `matrix_synapse_cache_autotuning_target_cache_memory_usage` - defaults to 1/16 of total RAM with a cap of 1GB; values are specified in bytes -- `matrix_synapse_cache_autotuning_min_cache_ttl` - defaults to `30s` +- `matrix_synapse_cache_autotuning_max_cache_memory_usage` — defaults to 1/8 of total RAM with a cap of 2GB; values are specified in bytes +- `matrix_synapse_cache_autotuning_target_cache_memory_usage` — defaults to 1/16 of total RAM with a cap of 1GB; values are specified in bytes +- `matrix_synapse_cache_autotuning_min_cache_ttl` — defaults to `30s` You can **learn more about cache-autotuning and the global cache factor settings** in the [Synapse's documentation on caches and associated values](https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html#caches-and-associated-values). diff --git a/docs/obtaining-access-tokens.md b/docs/obtaining-access-tokens.md index 909d62b8f..3466f1a4e 100644 --- a/docs/obtaining-access-tokens.md +++ b/docs/obtaining-access-tokens.md @@ -9,7 +9,7 @@ When setting up some optional features like bots and bridges you will need to pr The user for whom you want to obtain an access token needs to already exist. You can use this playbook to [register a new user](registering-users.md), if you have not already. -Below, we describe 2 ways to generate an access token for a user - using [Element Web](#obtain-an-access-token-via-element-web) or [curl](#obtain-an-access-token-via-curl). For both ways you need the user's password. +Below, we describe 2 ways to generate an access token for a user — using [Element Web](#obtain-an-access-token-via-element-web) or [curl](#obtain-an-access-token-via-curl). For both ways you need the user's password. ## Obtain an access token via Element Web diff --git a/docs/playbook-tags.md b/docs/playbook-tags.md index 8e2a064ce..02da3ea7e 100644 --- a/docs/playbook-tags.md +++ b/docs/playbook-tags.md @@ -6,19 +6,19 @@ The general command syntax is: `ansible-playbook -i inventory/hosts setup.yml -- Here are some playbook tags that you should be familiar with: -- `setup-all` - runs all setup tasks (installation and uninstallation) for all components, but does not start/restart services +- `setup-all` — runs all setup tasks (installation and uninstallation) for all components, but does not start/restart services -- `install-all` - like `setup-all`, but skips uninstallation tasks. Useful for maintaining your setup quickly when its components remain unchanged. If you adjust your `vars.yml` to remove components, you'd need to run `setup-all` though, or these components will still remain installed +- `install-all` — like `setup-all`, but skips uninstallation tasks. Useful for maintaining your setup quickly when its components remain unchanged. If you adjust your `vars.yml` to remove components, you'd need to run `setup-all` though, or these components will still remain installed -- `setup-SERVICE` (e.g. `setup-postmoogle`) - runs the setup tasks only for a given role, but does not start/restart services. You can discover these additional tags in each role (`roles/**/tasks/main.yml`). Running per-component setup tasks is **not recommended**, as components sometimes depend on each other and running just the setup tasks for a given component may not be enough. For example, setting up the [mautrix-telegram bridge](configuring-playbook-bridge-mautrix-telegram.md), in addition to the `setup-mautrix-telegram` tag, requires database changes (the `setup-postgres` tag) as well as reverse-proxy changes (the `setup-nginx-proxy` tag). +- `setup-SERVICE` (e.g. `setup-postmoogle`) — runs the setup tasks only for a given role, but does not start/restart services. You can discover these additional tags in each role (`roles/**/tasks/main.yml`). Running per-component setup tasks is **not recommended**, as components sometimes depend on each other and running just the setup tasks for a given component may not be enough. For example, setting up the [mautrix-telegram bridge](configuring-playbook-bridge-mautrix-telegram.md), in addition to the `setup-mautrix-telegram` tag, requires database changes (the `setup-postgres` tag) as well as reverse-proxy changes (the `setup-nginx-proxy` tag). -- `install-SERVICE` (e.g. `install-postmoogle`) - like `setup-SERVICE`, but skips uninstallation tasks. See `install-all` above for additional information. +- `install-SERVICE` (e.g. `install-postmoogle`) — like `setup-SERVICE`, but skips uninstallation tasks. See `install-all` above for additional information. -- `start` - starts all systemd services and makes them start automatically in the future +- `start` — starts all systemd services and makes them start automatically in the future -- `stop` - stops all systemd services +- `stop` — stops all systemd services -- `ensure-matrix-users-created` - a special tag which ensures that all special users needed by the playbook (for bots, etc.) are created +- `ensure-matrix-users-created` — a special tag which ensures that all special users needed by the playbook (for bots, etc.) are created **Notes**: - `setup-*` tags and `install-*` tags **do not start services** automatically, because you may wish to do things before starting services, such as importing a database dump, restoring data from another server, etc. diff --git a/docs/quick-start.md b/docs/quick-start.md index 9f75b61f7..fbb579f61 100644 --- a/docs/quick-start.md +++ b/docs/quick-start.md @@ -193,7 +193,7 @@ You should be able to log in to it with your own [Element Web](configuring-playb **If you successfully logged in to your account, installing and configuring is complete**🎉 -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. +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. ## Things to do next diff --git a/docs/registering-users.md b/docs/registering-users.md index 1d92ce131..2972378b6 100644 --- a/docs/registering-users.md +++ b/docs/registering-users.md @@ -143,8 +143,8 @@ where: If you're using the integrated Postgres server and not an [external Postgres server](configuring-playbook-external-postgres.md), you can launch a Postgres into the `synapse` database by: -- running `/matrix/postgres/bin/cli` - to launch [`psql`](https://www.postgresql.org/docs/current/app-psql.html) -- running `\c synapse` - to change to the `synapse` database +- running `/matrix/postgres/bin/cli` — to launch [`psql`](https://www.postgresql.org/docs/current/app-psql.html) +- running `\c synapse` — to change to the `synapse` database You can then proceed to run the query above. diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index 4e5f0c9b2..857a470d9 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -257,7 +257,7 @@ matrix_homeserver_sliding_sync_url: "{{ matrix_sliding_sync_base_url if matrix_s # - so that addon services (starting later) can communicte with the homeserver via Traefik's internal entrypoint # (see `matrix_playbook_internal_matrix_client_api_traefik_entrypoint_enabled`) # - core services (the homeserver) get a level of ~1000 -# - services that the homeserver depends on (database, Redis, ntfy, coturn, etc.) get a lower level - between 500 and 1000 +# - services that the homeserver depends on (database, Redis, ntfy, coturn, etc.) get a lower level — between 500 and 1000 # - coturn gets a higher level if `devture_systemd_service_manager_service_restart_mode == 'one-by-one'` to intentionally delay it, because: # - starting services one by one means that the service manager role waits for each service to fully start before proceeding to the next one # - if coturn has a lower priority than the homeserver, it would be started before it @@ -268,8 +268,8 @@ matrix_homeserver_sliding_sync_url: "{{ matrix_sliding_sync_base_url if matrix_s # - Matrix utility services (bridges, bots) get a level of 2000/2200, so that: # - they can start before the reverse-proxy # - so that, when the reverse-proxy is up (Matrix is up), all bots and bridges can be interacted with -# - monitoring services (Prometheus, Grafana, …) get a level of 4000 - they can start later than all-of-Matrix -# - services which aren't time-sensitive (various crons and timers) get a level of 5000 - they can start later than all-of-Matrix +# - monitoring services (Prometheus, Grafana, …) get a level of 4000 — they can start later than all-of-Matrix +# - services which aren't time-sensitive (various crons and timers) get a level of 5000 — they can start later than all-of-Matrix devture_systemd_service_manager_services_list_auto: | {{ ([{'name': (backup_borg_identifier + '.timer'), 'priority': 5000, 'groups': ['matrix', 'backup', 'borg']}] if backup_borg_enabled else []) @@ -5966,7 +5966,7 @@ matrix_user_verification_service_container_additional_networks: | ) | unique }} -# If Jitsi is managed by this playbook we can use the docker network - no need to expose a port. +# If Jitsi is managed by this playbook we can use the docker network — no need to expose a port. # If Jitsi is not managed by this playbook, or you otherwise have a need for it, you can expose # matrix-user-verfification-services's client-server port to port 3003. # By default Matrix-User-Verification-Service binds to port 3000, which collides with grafana, therefore this uses port 3003. From 1db5f76024ba23bf29ac4aea5a4889e57b90ef4d Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 26 Jan 2025 16:35:06 +0900 Subject: [PATCH 074/841] Replace double hyphens with "Em Dash" unicode character (U+2014) Signed-off-by: Suguru Hirahara --- .github/ISSUE_TEMPLATE/bug_report.md | 2 +- .github/ISSUE_TEMPLATE/i-need-help.md | 2 +- CHANGELOG.md | 4 ++-- docs/configuring-playbook-own-webserver.md | 2 +- docs/configuring-playbook-riot-web.md | 2 +- docs/configuring-well-known.md | 8 ++++---- docs/faq.md | 2 +- group_vars/matrix_servers | 2 +- .../matrix-client-schildichat/tasks/setup_install.yml | 2 +- .../conf.d/matrix-synapse-reverse-proxy-companion.conf.j2 | 6 +++--- roles/custom/matrix-synapse/defaults/main.yml | 2 +- 11 files changed, 17 insertions(+), 17 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index fff721410..985806d5b 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -34,7 +34,7 @@ A clear and concise description of what you expected to happen. **Ansible:** If your problem appears to be with Ansible, tell us: -- where you run Ansible -- e.g. on the Matrix server itself; on another computer (which OS? distro? standard installation or containerized Ansible?) +- where you run Ansible — e.g. on the Matrix server itself; on another computer (which OS? distro? standard installation or containerized Ansible?) - what version of Ansible you're running (see `ansible --version`) -- [Checking if services work](maintenance-checking-services.md) - - [Maintenance and Troubleshooting](maintenance-and-troubleshooting.md) - [PostgreSQL maintenance](maintenance-postgres.md) diff --git a/docs/configuring-playbook-federation.md b/docs/configuring-playbook-federation.md index 87e573830..e87d10e79 100644 --- a/docs/configuring-playbook-federation.md +++ b/docs/configuring-playbook-federation.md @@ -2,7 +2,7 @@ By default, your server federates with the whole Matrix network. That is, people on your server can communicate with people on any other Matrix server. -**Note**: in the sample `vars.yml` ([`examples/vars.yml`](../examples/vars.yml)), we recommend to use a short user ID like `@alice:example.com` instead of `@alice:matrix.example.com` and set up [server delegation](howto-server-delegation.md) / redirection. Without a proper configuration, your server will effectively not be part of the Matrix network. If you find your server is not federated, make sure to [check whether services work](maintenance-checking-services.md) and your server is properly delegated. +**Note**: in the sample `vars.yml` ([`examples/vars.yml`](../examples/vars.yml)), we recommend to use a short user ID like `@alice:example.com` instead of `@alice:matrix.example.com` and set up [server delegation](howto-server-delegation.md) / redirection. Without a proper configuration, your server will effectively not be part of the Matrix network. If you find your server is not federated, make sure to [check whether services work](maintenance-and-troubleshooting.md#how-to-check-if-services-work) and your server is properly delegated. ## Federating only with select servers diff --git a/docs/configuring-well-known.md b/docs/configuring-well-known.md index e7bbc9562..58bd1615b 100644 --- a/docs/configuring-well-known.md +++ b/docs/configuring-well-known.md @@ -185,4 +185,4 @@ No matter which method you've used to set up the well-known files, if you've don - `https://example.com/.well-known/matrix/client` - `https://example.com/.well-known/matrix/support` -You can also check if everything is configured correctly, by [checking if services work](maintenance-checking-services.md). +You can also check if everything is configured correctly, by [checking if services work](maintenance-and-troubleshooting.md#how-to-check-if-services-work). diff --git a/docs/installing.md b/docs/installing.md index 10bbd32bc..860e8d9bf 100644 --- a/docs/installing.md +++ b/docs/installing.md @@ -124,7 +124,7 @@ ansible-playbook -i inventory/hosts setup.yml --tags=install-matrix-static-files After finilizing the installation, you can: -- [check if services work](maintenance-checking-services.md) +- [check if services work](maintenance-and-troubleshooting.md#how-to-check-if-services-work) - or [set up additional services](configuring-playbook.md#other-configuration-options) (bridges to other chat networks, bots, etc.) - 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) diff --git a/docs/maintenance-and-troubleshooting.md b/docs/maintenance-and-troubleshooting.md index 0ab46f900..41704dfe4 100644 --- a/docs/maintenance-and-troubleshooting.md +++ b/docs/maintenance-and-troubleshooting.md @@ -38,6 +38,22 @@ matrix_synapse_root_log_level: "INFO" Re-run the playbook after making these configuration changes. +## How to check if services work + +The playbook can perform a check to ensure that you've configured things correctly and that services are running. + +To perform the check, run: + +```sh +ansible-playbook -i inventory/hosts setup.yml --tags=self-check +``` + +The shortcut command with `just` program is also available: `just run-tags self-check` + +If it's all green, everything is probably running correctly. + +Besides this self-check, you can also check whether your server federates with the Matrix network by using the [Federation Tester](https://federationtester.matrix.org/) against your base domain (`example.com`), not the `matrix.example.com` subdomain. + ## Remove unused Docker data You can free some disk space from Docker, see [docker system prune](https://docs.docker.com/engine/reference/commandline/system_prune/) for more information. diff --git a/docs/maintenance-checking-services.md b/docs/maintenance-checking-services.md deleted file mode 100644 index b2d90554c..000000000 --- a/docs/maintenance-checking-services.md +++ /dev/null @@ -1,15 +0,0 @@ -# Checking if services work - -The playbook can perform a check to ensure that you've configured things correctly and that services are running. - -To perform the check, run: - -```sh -ansible-playbook -i inventory/hosts setup.yml --tags=self-check -``` - -The shortcut command with `just` program is also available: `just run-tags self-check` - -If it's all green, everything is probably running correctly. - -Besides this self-check, you can also check whether your server federates with the Matrix network by using the [Federation Tester](https://federationtester.matrix.org/) against your base domain (`example.com`), not the `matrix.example.com` subdomain. diff --git a/docs/maintenance-migrating.md b/docs/maintenance-migrating.md index e2c0a7efa..2aa2e5a86 100644 --- a/docs/maintenance-migrating.md +++ b/docs/maintenance-migrating.md @@ -66,6 +66,6 @@ The shortcut command with `just` program is also available: `just run-tags insta ### Check if services work -After starting the services, you probably might want to ensure that you've migrated things correctly and that services are running. For instructions, see: [check if services work](maintenance-checking-services.md) +After starting the services, you probably might want to ensure that you've migrated things correctly and that services are running. For instructions, see: [check if services work](maintenance-and-troubleshooting.md#how-to-check-if-services-work) Having make sure that both services and federation work as expected, you can safely shutdown the old server. From cbcbe33a91a80375393701309d2aa3fc43036bb4 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 30 Jan 2025 19:10:12 +0900 Subject: [PATCH 136/841] Update docs for Element Web and SchildiChat Web: add the instruction to change the default theme from light to dark Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-client-element-web.md | 13 +++++++++++-- docs/configuring-playbook-client-schildichat-web.md | 13 +++++++++++-- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/docs/configuring-playbook-client-element-web.md b/docs/configuring-playbook-client-element-web.md index 4d832752c..0656c93fa 100644 --- a/docs/configuring-playbook-client-element-web.md +++ b/docs/configuring-playbook-client-element-web.md @@ -19,11 +19,20 @@ When setting, replace `example.com` with your own. ### Themes -You can change the look of Element Web by pulling themes provided by the [aaronraimist/element-themes](https://github.com/aaronraimist/element-themes) project or defining your own themes manually. +#### Change the default theme + +You can change the default theme from `light` to `dark`. To do so, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: + +```yaml +# Controls the default theme +matrix_client_element_default_theme: 'dark' +``` #### Use themes by `element-themes` -To pull the themes from the `element-themes` project and use them for your Element Web instance, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: +You can change the look of Element Web by pulling themes provided by the [aaronraimist/element-themes](https://github.com/aaronraimist/element-themes) project or defining your own themes manually. + +To pull the themes and use them for your Element Web instance, add the following configuration to your `vars.yml` file: ```yaml matrix_client_element_themes_enabled: true diff --git a/docs/configuring-playbook-client-schildichat-web.md b/docs/configuring-playbook-client-schildichat-web.md index e9781255a..147d8056e 100644 --- a/docs/configuring-playbook-client-schildichat-web.md +++ b/docs/configuring-playbook-client-schildichat-web.md @@ -24,11 +24,20 @@ matrix_client_schildichat_enabled: true ### Themes -You can change the look of SchildiChat Web by pulling themes provided by the [aaronraimist/element-themes](https://github.com/aaronraimist/element-themes) project or defining your own themes manually. +#### Change the default theme + +You can change the default theme from `light` to `dark`. To do so, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: + +```yaml +# Controls the default theme +matrix_client_schildichat_default_theme: 'dark' +``` #### Use themes by `element-themes` -To pull the themes from the `element-themes` project and use them for your SchildiChat Web instance, add the following configuration to your `vars.yml` file: +You can change the look of SchildiChat Web by pulling themes provided by the [aaronraimist/element-themes](https://github.com/aaronraimist/element-themes) project or defining your own themes manually. + +To pull the themes and use them for your SchildiChat Web instance, add the following configuration to your `vars.yml` file: ```yaml matrix_client_schildichat_themes_enabled: true From 22ea3b00d67d298aa6723b6372690c886b40b3f8 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 30 Jan 2025 19:19:02 +0900 Subject: [PATCH 137/841] Update docs for Element Web and SchildiChat Web: add the instruction to change the default country code to help to make the clients less British Note the order of the instructions is intended to align with that of configurations on main.yml files. Also: replace the explanations with the one available at https://github.com/element-hq/element-web/blob/develop/docs/config.md Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-client-element-web.md | 10 +++++++++- docs/configuring-playbook-client-schildichat-web.md | 10 +++++++++- roles/custom/matrix-client-element/defaults/main.yml | 2 +- .../custom/matrix-client-schildichat/defaults/main.yml | 2 +- 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/docs/configuring-playbook-client-element-web.md b/docs/configuring-playbook-client-element-web.md index 0656c93fa..21ab26591 100644 --- a/docs/configuring-playbook-client-element-web.md +++ b/docs/configuring-playbook-client-element-web.md @@ -17,11 +17,19 @@ When setting, replace `example.com` with your own. ## Adjusting the playbook configuration +### Set the country code for phone number inputs + +You can change the country code (default: `GB`) to use when showing phone number inputs. To change it to `FR` for example, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: + +```yaml +matrix_client_element_default_country_code: "FR" +``` + ### Themes #### Change the default theme -You can change the default theme from `light` to `dark`. To do so, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: +You can change the default theme from `light` to `dark`. To do so, add the following configuration to your `vars.yml` file: ```yaml # Controls the default theme diff --git a/docs/configuring-playbook-client-schildichat-web.md b/docs/configuring-playbook-client-schildichat-web.md index 147d8056e..9c2f1eba4 100644 --- a/docs/configuring-playbook-client-schildichat-web.md +++ b/docs/configuring-playbook-client-schildichat-web.md @@ -22,11 +22,19 @@ To enable SchildiChat Web, add the following configuration to your `inventory/ho matrix_client_schildichat_enabled: true ``` +### Set the country code for phone number inputs + +You can change the country code (default: `GB`) to use when showing phone number inputs. To change it to `FR` for example, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: + +```yaml +matrix_client_schildichat_default_country_code: "FR" +``` + ### Themes #### Change the default theme -You can change the default theme from `light` to `dark`. To do so, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: +You can change the default theme from `light` to `dark`. To do so, add the following configuration to your `vars.yml` file: ```yaml # Controls the default theme diff --git a/roles/custom/matrix-client-element/defaults/main.yml b/roles/custom/matrix-client-element/defaults/main.yml index 863c14910..c970b3f38 100644 --- a/roles/custom/matrix-client-element/defaults/main.yml +++ b/roles/custom/matrix-client-element/defaults/main.yml @@ -194,7 +194,7 @@ matrix_client_element_self_check_validate_certificates: true # don't show the registration button on welcome page matrix_client_element_registration_enabled: false -# Default country code on welcome page when login by phone number +# An optional ISO 3166 alpha2 country code (eg: GB, the default) to use when showing phone number inputs matrix_client_element_default_country_code: "GB" # Controls whether presence will be enabled diff --git a/roles/custom/matrix-client-schildichat/defaults/main.yml b/roles/custom/matrix-client-schildichat/defaults/main.yml index 68f0e86b9..8d170e4e3 100644 --- a/roles/custom/matrix-client-schildichat/defaults/main.yml +++ b/roles/custom/matrix-client-schildichat/defaults/main.yml @@ -189,7 +189,7 @@ matrix_client_schildichat_self_check_validate_certificates: true # don't show the registration button on welcome page matrix_client_schildichat_registration_enabled: false -# Default country code on welcome page when login by phone number +# An optional ISO 3166 alpha2 country code (eg: GB, the default) to use when showing phone number inputs matrix_client_schildichat_default_country_code: "GB" # Controls whether presence will be enabled From 45a09bc37d276905b85c1881832597b561cadf46 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 30 Jan 2025 19:27:53 +0900 Subject: [PATCH 138/841] Update docs/configuring-playbook-client-schildichat-web.md: add the common section "Troubleshooting" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-client-schildichat-web.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/configuring-playbook-client-schildichat-web.md b/docs/configuring-playbook-client-schildichat-web.md index 9c2f1eba4..ec34b2be7 100644 --- a/docs/configuring-playbook-client-schildichat-web.md +++ b/docs/configuring-playbook-client-schildichat-web.md @@ -126,3 +126,7 @@ ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. + +## Troubleshooting + +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-client-schildichat`. From 21b003ef270daf6ce136f5d16641ca744bcfb6f1 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 30 Jan 2025 19:28:59 +0900 Subject: [PATCH 139/841] Update docs/configuring-playbook-client-element-web.md: add the common section "Troubleshooting" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-client-element-web.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/configuring-playbook-client-element-web.md b/docs/configuring-playbook-client-element-web.md index 21ab26591..071be15ee 100644 --- a/docs/configuring-playbook-client-element-web.md +++ b/docs/configuring-playbook-client-element-web.md @@ -129,3 +129,7 @@ ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. + +## Troubleshooting + +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-client-element`. From 0515787de28cf89bb87d4def7187198f4256b5ca Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Fri, 31 Jan 2025 14:33:34 +0200 Subject: [PATCH 140/841] Upgrade Traefik (v3.3.2-0 -> v3.3.2-1) and remove `traefik_config_certificatesResolvers_acme_email` references Ref: - https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/4014 - https://github.com/mother-of-all-self-hosting/ansible-role-traefik/commit/21b36ce336c6ab391f30632df3d7d970b8ad94c0 Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/4014 --- CHANGELOG.md | 2 -- docs/configuring-playbook-own-webserver.md | 2 -- docs/howto-srv-server-delegation.md | 3 --- examples/vars.yml | 10 ---------- requirements.yml | 2 +- roles/custom/matrix-base/defaults/main.yml | 1 - 6 files changed, 1 insertion(+), 19 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index aeb956290..2f659a85a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1246,8 +1246,6 @@ Unless we have some regression, **existing `matrix-nginx-proxy` users should be ```yaml matrix_playbook_reverse_proxy_type: playbook-managed-traefik - -traefik_config_certificatesResolvers_acme_email: YOUR_EMAIL_ADDRESS ``` You may still need to keep certain old `matrix_nginx_proxy_*` variables (like `matrix_nginx_proxy_base_domain_serving_enabled`), even when using Traefik. For now, we recommend keeping all `matrix_nginx_proxy_*` variables just in case. In the future, reliance on `matrix-nginx-proxy` will be removed. diff --git a/docs/configuring-playbook-own-webserver.md b/docs/configuring-playbook-own-webserver.md index 214640725..e49c454ae 100644 --- a/docs/configuring-playbook-own-webserver.md +++ b/docs/configuring-playbook-own-webserver.md @@ -18,8 +18,6 @@ To have the playbook install and use Traefik, add the following configuration to ```yaml matrix_playbook_reverse_proxy_type: playbook-managed-traefik - -traefik_config_certificatesResolvers_acme_email: YOUR_EMAIL_ADDRESS ``` Traefik will manage SSL certificates for all services seamlessly. diff --git a/docs/howto-srv-server-delegation.md b/docs/howto-srv-server-delegation.md index 3d83dd86a..4512dfca8 100644 --- a/docs/howto-srv-server-delegation.md +++ b/docs/howto-srv-server-delegation.md @@ -64,7 +64,6 @@ traefik_configuration_extension_yaml: | acme: # To use a staging endpoint for testing purposes, uncomment the line below. # caServer: https://acme-staging-v02.api.letsencrypt.org/directory - email: {{ traefik_config_certificatesResolvers_acme_email | to_json }} dnsChallenge: provider: cloudflare resolvers: @@ -124,7 +123,6 @@ matrix_coturn_container_additional_volumes: | ```yaml # Choosing the reverse proxy implementation matrix_playbook_reverse_proxy_type: playbook-managed-traefik -traefik_config_certificatesResolvers_acme_email: redacted@example.com # To serve the federation from any domain, as long as the path matches matrix_synapse_container_labels_public_federation_api_traefik_rule: PathPrefix(`/_matrix/federation`) @@ -141,7 +139,6 @@ traefik_configuration_extension_yaml: | acme: # To use a staging endpoint for testing purposes, uncomment the line below. # caServer: https://acme-staging-v02.api.letsencrypt.org/directory - email: {{ traefik_config_certificatesResolvers_acme_email | to_json }} dnsChallenge: provider: cloudflare resolvers: diff --git a/examples/vars.yml b/examples/vars.yml index d4d8066f8..cc6aa8333 100644 --- a/examples/vars.yml +++ b/examples/vars.yml @@ -28,16 +28,6 @@ matrix_homeserver_generic_secret_key: '' # For alternatives, see `docs/configuring-playbook-own-webserver.md`. matrix_playbook_reverse_proxy_type: playbook-managed-traefik -# This is something which is provided to Let's Encrypt when retrieving SSL certificates for domains. -# -# In case SSL renewal fails at some point, you'll also get an email notification there. -# -# If you decide to use another method for managing SSL certificates (different than the default Let's Encrypt), -# you won't be required to define this variable (see `docs/configuring-playbook-ssl-certificates.md`). -# -# Example value: someone@example.com -traefik_config_certificatesResolvers_acme_email: '' - # A Postgres password to use for the superuser Postgres user (called `matrix` by default). # # The playbook creates additional Postgres users and databases (one for each enabled service) diff --git a/requirements.yml b/requirements.yml index 3e1de26f2..8943945b4 100644 --- a/requirements.yml +++ b/requirements.yml @@ -64,7 +64,7 @@ version: v1.0.0-0 name: timesync - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-traefik.git - version: v3.3.2-0 + version: v3.3.2-1 name: traefik - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-traefik-certs-dumper.git version: v2.8.3-5 diff --git a/roles/custom/matrix-base/defaults/main.yml b/roles/custom/matrix-base/defaults/main.yml index e70328a40..8dabc239d 100644 --- a/roles/custom/matrix-base/defaults/main.yml +++ b/roles/custom/matrix-base/defaults/main.yml @@ -217,7 +217,6 @@ matrix_metrics_exposure_http_basic_auth_users: '' # - `playbook-managed-traefik` # - the playbook will run a managed Traefik instance (matrix-traefik) # - Traefik will do SSL termination, unless you disable it (e.g. `traefik_config_entrypoint_web_secure_enabled: false`) -# - if SSL termination is enabled (as it is by default), you need to populate: `traefik_config_certificatesResolvers_acme_email` # # - `other-traefik-container` # - this playbook will not install Traefik From 0318ee1f3867e1412ce067a9b08db95ceb5a5b4c Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Fri, 31 Jan 2025 17:04:41 +0200 Subject: [PATCH 141/841] Remove `ensure-matrix-users-created` Ansible tag recommendation from WeChat bot docs This tag does nothing for the WeChat bot user. It appears like the matrix-wechat appservice is supposed to register it. --- docs/configuring-playbook-bridge-wechat.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/docs/configuring-playbook-bridge-wechat.md b/docs/configuring-playbook-bridge-wechat.md index aa4ce17e5..60986016c 100644 --- a/docs/configuring-playbook-bridge-wechat.md +++ b/docs/configuring-playbook-bridge-wechat.md @@ -27,13 +27,11 @@ After configuring the playbook, run it with [playbook tags](playbook-tags.md) as ```sh -ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start +ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start ``` **Notes**: -- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. - - The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. From f8ad4384fac19c5a9ff3fb1b4a2d87e32b0fd4c8 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 28 Dec 2024 08:48:59 -0500 Subject: [PATCH 142/841] Update docs/configuring-playbook-prometheus-nginxlog.md: add the common section "Extending the configuration" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-prometheus-nginxlog.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/configuring-playbook-prometheus-nginxlog.md b/docs/configuring-playbook-prometheus-nginxlog.md index 224061c07..af8cf3306 100644 --- a/docs/configuring-playbook-prometheus-nginxlog.md +++ b/docs/configuring-playbook-prometheus-nginxlog.md @@ -20,6 +20,14 @@ Add the following configuration to your `inventory/host_vars/matrix.example.com/ matrix_prometheus_nginxlog_exporter_enabled: true ``` +### Extending the configuration + +There are some additional things you may wish to configure about the component. + +Take a look at: + +- `roles/custom/matrix-prometheus-nginxlog-exporter/defaults/main.yml` for some variables that you can customize via your `vars.yml` file + ## Installing After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below: From 421f13f6c531572549bf35eed82ec8875605e9b9 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 30 Jan 2025 13:40:56 +0900 Subject: [PATCH 143/841] Update docs/configuring-playbook-prometheus-nginxlog.md: add the common section "Troubleshooting" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-prometheus-nginxlog.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/configuring-playbook-prometheus-nginxlog.md b/docs/configuring-playbook-prometheus-nginxlog.md index af8cf3306..74e10be30 100644 --- a/docs/configuring-playbook-prometheus-nginxlog.md +++ b/docs/configuring-playbook-prometheus-nginxlog.md @@ -65,3 +65,7 @@ You can either use `matrix_prometheus_nginxlog_exporter_metrics_proxying_enabled Whichever way you go with, this service will expose its metrics endpoint **without password-protection** at `https://matrix.example.com/metrics/nginxlog` by default. For password-protection, use (`matrix_metrics_exposure_http_basic_auth_enabled` and `matrix_metrics_exposure_http_basic_auth_users`) or (`matrix_prometheus_nginxlog_exporter_container_labels_metrics_middleware_basic_auth_enabled` and `matrix_prometheus_nginxlog_exporter_container_labels_metrics_middleware_basic_auth_users`). + +## Troubleshooting + +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-prometheus-nginxlog-exporter`. From ac926fb6b78522ad3a3306a4fced9bb9bbaf0d94 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 30 Jan 2025 13:48:47 +0900 Subject: [PATCH 144/841] Update docs/configuring-playbook-prometheus-nginxlog.md: adopt the common format for the introduction Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-prometheus-nginxlog.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/docs/configuring-playbook-prometheus-nginxlog.md b/docs/configuring-playbook-prometheus-nginxlog.md index 74e10be30..4b68ad3bc 100644 --- a/docs/configuring-playbook-prometheus-nginxlog.md +++ b/docs/configuring-playbook-prometheus-nginxlog.md @@ -1,13 +1,15 @@ # Enabling metrics and graphs for NginX logs (optional) -It can be useful to have some (visual) insight into [nginx](https://nginx.org/) logs. - -This adds [prometheus-nginxlog-exporter](https://github.com/martin-helmich/prometheus-nginxlog-exporter/) to your Matrix deployment. +The playbook can install and configure the [prometheus-nginxlog-exporter](https://github.com/martin-helmich/prometheus-nginxlog-exporter/) service for you, in order to make it possible to have some (visual) insight into [nginx](https://nginx.org/) logs. 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. +See the project's [documentation](https://github.com/martin-helmich/prometheus-nginxlog-exporter/blob/master/README.adoc) to learn what it does and why it might be useful to you. + **Note**: nginx is only used internally by this Ansible playbook. With Traefik being our default reverse-proxy, collecting nginx metrics is less relevant. +## Prerequisite + 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). If your setup includes [Grafana](./configuring-playbook-prometheus-grafana.md), a dedicated `NGINX PROXY` Grafana dashboard will be created. From 57bc9f46cc3d01341fe6b97d4721e7b33bbdb733 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 30 Jan 2025 13:50:40 +0900 Subject: [PATCH 145/841] Update docs/configuring-playbook-prometheus-nginxlog.md: move sections related to configuration to the dedicated one Signed-off-by: Suguru Hirahara --- ...onfiguring-playbook-prometheus-nginxlog.md | 50 +++++++++---------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/docs/configuring-playbook-prometheus-nginxlog.md b/docs/configuring-playbook-prometheus-nginxlog.md index 4b68ad3bc..9218a0553 100644 --- a/docs/configuring-playbook-prometheus-nginxlog.md +++ b/docs/configuring-playbook-prometheus-nginxlog.md @@ -22,6 +22,31 @@ Add the following configuration to your `inventory/host_vars/matrix.example.com/ matrix_prometheus_nginxlog_exporter_enabled: true ``` +### Docker Image Compatibility (optional) + +At the moment of writing only images for `amd64` and `arm64` architectures are available. The playbook currently does not support [self-building](./self-building.md) a container image on other architectures. You can however use a custom-build image by setting: + +```yaml +matrix_prometheus_nginxlog_exporter_docker_image_arch_check_enabled: false +matrix_prometheus_nginxlog_exporter_docker_image: path/to/docker/image:tag +``` + +## Security and privacy + +Metrics and resulting graphs can contain a lot of information. NginX logs contain information like IP address, URLs, UserAgents and more. This information can reveal usage patterns and could be considered Personally Identifiable Information (PII). Think about this before enabling (anonymous) access. Please make sure you change the default Grafana password. + +### Save metrics on an external Prometheus server (optional) + +The playbook will automatically integrate the metrics into the [Prometheus](./configuring-playbook-prometheus-grafana.md) server provided with this playbook (if enabled). In such cases, the metrics endpoint is not exposed publicly — it's only available on the container network. + +When using an external Prometheus server, you'll need to expose metrics publicly. See [Collecting metrics to an external Prometheus server](./configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server). + +You can either use `matrix_prometheus_nginxlog_exporter_metrics_proxying_enabled: true` to expose just this one service, or `matrix_metrics_exposure_enabled: true` to expose all services. + +Whichever way you go with, this service will expose its metrics endpoint **without password-protection** at `https://matrix.example.com/metrics/nginxlog` by default. + +For password-protection, use (`matrix_metrics_exposure_http_basic_auth_enabled` and `matrix_metrics_exposure_http_basic_auth_users`) or (`matrix_prometheus_nginxlog_exporter_container_labels_metrics_middleware_basic_auth_enabled` and `matrix_prometheus_nginxlog_exporter_container_labels_metrics_middleware_basic_auth_users`). + ### Extending the configuration There are some additional things you may wish to configure about the component. @@ -43,31 +68,6 @@ The shortcut commands with the [`just` program](just.md) are also available: `ju `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. -## Docker Image Compatibility - -At the moment of writing only images for `amd64` and `arm64` architectures are available. The playbook currently does not support [self-building](./self-building.md) a container image on other architectures. You can however use a custom-build image by setting: - -```yaml -matrix_prometheus_nginxlog_exporter_docker_image_arch_check_enabled: false -matrix_prometheus_nginxlog_exporter_docker_image: path/to/docker/image:tag -``` - -## Security and privacy - -Metrics and resulting graphs can contain a lot of information. NginX logs contain information like IP address, URLs, UserAgents and more. This information can reveal usage patterns and could be considered Personally Identifiable Information (PII). Think about this before enabling (anonymous) access. Please make sure you change the default Grafana password. - -## Save metrics on an external Prometheus server - -The playbook will automatically integrate the metrics into the [Prometheus](./configuring-playbook-prometheus-grafana.md) server provided with this playbook (if enabled). In such cases, the metrics endpoint is not exposed publicly — it's only available on the container network. - -When using an external Prometheus server, you'll need to expose metrics publicly. See [Collecting metrics to an external Prometheus server](./configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server). - -You can either use `matrix_prometheus_nginxlog_exporter_metrics_proxying_enabled: true` to expose just this one service, or `matrix_metrics_exposure_enabled: true` to expose all services. - -Whichever way you go with, this service will expose its metrics endpoint **without password-protection** at `https://matrix.example.com/metrics/nginxlog` by default. - -For password-protection, use (`matrix_metrics_exposure_http_basic_auth_enabled` and `matrix_metrics_exposure_http_basic_auth_users`) or (`matrix_prometheus_nginxlog_exporter_container_labels_metrics_middleware_basic_auth_enabled` and `matrix_prometheus_nginxlog_exporter_container_labels_metrics_middleware_basic_auth_users`). - ## Troubleshooting As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-prometheus-nginxlog-exporter`. From a6364cc6a9f320838aeedb8f0488a905dc82e9f6 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 30 Jan 2025 14:05:12 +0900 Subject: [PATCH 146/841] Update docs/configuring-playbook-prometheus-nginxlog.md: change the section "Security and privacy" into the warning blockquote Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-prometheus-nginxlog.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/docs/configuring-playbook-prometheus-nginxlog.md b/docs/configuring-playbook-prometheus-nginxlog.md index 9218a0553..eb46f1b54 100644 --- a/docs/configuring-playbook-prometheus-nginxlog.md +++ b/docs/configuring-playbook-prometheus-nginxlog.md @@ -31,12 +31,11 @@ matrix_prometheus_nginxlog_exporter_docker_image_arch_check_enabled: false matrix_prometheus_nginxlog_exporter_docker_image: path/to/docker/image:tag ``` -## Security and privacy - -Metrics and resulting graphs can contain a lot of information. NginX logs contain information like IP address, URLs, UserAgents and more. This information can reveal usage patterns and could be considered Personally Identifiable Information (PII). Think about this before enabling (anonymous) access. Please make sure you change the default Grafana password. - ### Save metrics on an external Prometheus server (optional) +> [!WARNING] +> Metrics and resulting graphs can contain a lot of information. NginX logs contain information like IP address, URLs, UserAgents and more. This information can reveal usage patterns and could be considered Personally Identifiable Information (PII). Think about this before enabling (anonymous) access. Please make sure you change the default Grafana password. + The playbook will automatically integrate the metrics into the [Prometheus](./configuring-playbook-prometheus-grafana.md) server provided with this playbook (if enabled). In such cases, the metrics endpoint is not exposed publicly — it's only available on the container network. When using an external Prometheus server, you'll need to expose metrics publicly. See [Collecting metrics to an external Prometheus server](./configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server). From 5543e1523c5fb7db3cf9e798ea3e374c4c7b783d Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Fri, 31 Jan 2025 17:53:38 +0200 Subject: [PATCH 147/841] Add warning about WeChat bridge not working anymore --- docs/configuring-playbook-bridge-wechat.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/configuring-playbook-bridge-wechat.md b/docs/configuring-playbook-bridge-wechat.md index 60986016c..b42388bb7 100644 --- a/docs/configuring-playbook-bridge-wechat.md +++ b/docs/configuring-playbook-bridge-wechat.md @@ -4,6 +4,9 @@ The playbook can install and configure [matrix-wechat](https://github.com/duo/ma See the project's [documentation](https://github.com/duo/matrix-wechat/blob/master/README.md) to learn what it does and why it might be useful to you. +> [!WARNING] +> This bridge does not work against newer versions of Synapse anymore. See [this issue](https://github.com/duo/matrix-wechat/issues/33). Don't even bother installing it. Unless bridge maintenance is resumed and fixes this issue, we have no choice but to remove it from the playbook. + ## Adjusting the playbook configuration To enable the bridge, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: From 7f90dda4fcec32bf2a0e798e60684b2a187e6eea Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 30 Jan 2025 14:12:19 +0900 Subject: [PATCH 148/841] Update docs/configuring-playbook-prometheus-nginxlog.md: move down the section "Docker Image Compatibility" The section seems to be less relevant than the one for saving metrics on a Prometheus server. Signed-off-by: Suguru Hirahara --- ...configuring-playbook-prometheus-nginxlog.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/configuring-playbook-prometheus-nginxlog.md b/docs/configuring-playbook-prometheus-nginxlog.md index eb46f1b54..5d04d905b 100644 --- a/docs/configuring-playbook-prometheus-nginxlog.md +++ b/docs/configuring-playbook-prometheus-nginxlog.md @@ -22,15 +22,6 @@ Add the following configuration to your `inventory/host_vars/matrix.example.com/ matrix_prometheus_nginxlog_exporter_enabled: true ``` -### Docker Image Compatibility (optional) - -At the moment of writing only images for `amd64` and `arm64` architectures are available. The playbook currently does not support [self-building](./self-building.md) a container image on other architectures. You can however use a custom-build image by setting: - -```yaml -matrix_prometheus_nginxlog_exporter_docker_image_arch_check_enabled: false -matrix_prometheus_nginxlog_exporter_docker_image: path/to/docker/image:tag -``` - ### Save metrics on an external Prometheus server (optional) > [!WARNING] @@ -46,6 +37,15 @@ Whichever way you go with, this service will expose its metrics endpoint **witho For password-protection, use (`matrix_metrics_exposure_http_basic_auth_enabled` and `matrix_metrics_exposure_http_basic_auth_users`) or (`matrix_prometheus_nginxlog_exporter_container_labels_metrics_middleware_basic_auth_enabled` and `matrix_prometheus_nginxlog_exporter_container_labels_metrics_middleware_basic_auth_users`). +### Docker Image Compatibility (optional) + +At the moment of writing only images for `amd64` and `arm64` architectures are available. The playbook currently does not support [self-building](./self-building.md) a container image on other architectures. You can however use a custom-build image by setting: + +```yaml +matrix_prometheus_nginxlog_exporter_docker_image_arch_check_enabled: false +matrix_prometheus_nginxlog_exporter_docker_image: path/to/docker/image:tag +``` + ### Extending the configuration There are some additional things you may wish to configure about the component. From 90bb956a2e129057474305a84e2525c557691f37 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 26 Dec 2024 22:22:17 -0500 Subject: [PATCH 149/841] Update configuring-playbook-bridge-appservice-discord.md: add the common section "Extending the configuration" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bridge-appservice-discord.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/configuring-playbook-bridge-appservice-discord.md b/docs/configuring-playbook-bridge-appservice-discord.md index 5368db974..d7ce54893 100644 --- a/docs/configuring-playbook-bridge-appservice-discord.md +++ b/docs/configuring-playbook-bridge-appservice-discord.md @@ -28,6 +28,15 @@ matrix_appservice_discord_bot_token: "YOUR DISCORD APP BOT TOKEN" # use_appservice_legacy_authorization: true ``` +### Extending the configuration + +There are some additional things you may wish to configure about the bridge. + +Take a look at: + +- `roles/custom/matrix-bridge-appservice-discord/defaults/main.yml` for some variables that you can customize via your `vars.yml` file +- `roles/custom/matrix-bridge-appservice-discord/templates/config.yaml.j2` for the bridge's default configuration. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_appservice_discord_configuration_extension_yaml` variable + ## Installing After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below: From 97a7540e5d0588d95af9d383fa2fd34ecc239a00 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 28 Jan 2025 02:52:16 +0900 Subject: [PATCH 150/841] Update docs/configuring-playbook-bridge-appservice-discord.md: add the common section "Troubleshooting" Signed-off-by: Suguru Hirahara --- ...figuring-playbook-bridge-appservice-discord.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/docs/configuring-playbook-bridge-appservice-discord.md b/docs/configuring-playbook-bridge-appservice-discord.md index d7ce54893..a8ad36fc7 100644 --- a/docs/configuring-playbook-bridge-appservice-discord.md +++ b/docs/configuring-playbook-bridge-appservice-discord.md @@ -108,3 +108,18 @@ There's the Discord bridge's guide for [setting privileges on bridge managed roo 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 "!qporfwt:example.com" -u "@alice:example.com" -p 100' ``` + +## Troubleshooting + +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-appservice-discord`. + +### Increase logging verbosity + +The default logging level for this component is `warn`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file (adapt to your needs) and re-run the playbook: + +```yaml +matrix_appservice_discord_configuration_extension_yaml: | + logging: + # What level should the logger output to the console at. + console: "info" #silly, verbose, info, http, warn, error, silent +``` From 811abc09a83980fb46a13046d48fa7375c5be4ee Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 28 Jan 2025 02:54:51 +0900 Subject: [PATCH 151/841] Update files for matrix-appservice-discord: sort the logging levels Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bridge-appservice-discord.md | 2 +- .../matrix-bridge-appservice-discord/templates/config.yaml.j2 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/configuring-playbook-bridge-appservice-discord.md b/docs/configuring-playbook-bridge-appservice-discord.md index a8ad36fc7..6ea6b88db 100644 --- a/docs/configuring-playbook-bridge-appservice-discord.md +++ b/docs/configuring-playbook-bridge-appservice-discord.md @@ -121,5 +121,5 @@ The default logging level for this component is `warn`. If you want to increase matrix_appservice_discord_configuration_extension_yaml: | logging: # What level should the logger output to the console at. - console: "info" #silly, verbose, info, http, warn, error, silent + console: "info" # Valid values: silent, error, warn, http, info, verbose, silly ``` diff --git a/roles/custom/matrix-bridge-appservice-discord/templates/config.yaml.j2 b/roles/custom/matrix-bridge-appservice-discord/templates/config.yaml.j2 index 64f2923cc..a304a4f24 100644 --- a/roles/custom/matrix-bridge-appservice-discord/templates/config.yaml.j2 +++ b/roles/custom/matrix-bridge-appservice-discord/templates/config.yaml.j2 @@ -48,7 +48,7 @@ auth: usePrivilegedIntents: {{ matrix_appservice_discord_auth_usePrivilegedIntents|to_json }} logging: # What level should the logger output to the console at. - console: "warn" #silly, verbose, info, http, warn, error, silent + console: "warn" # Valid values: silent, error, warn, http, info, verbose, silly lineDateFormat: "MMM-D HH:mm:ss.SSS" # This is in moment.js format # files: # - file: "debug.log" From 18983f66031b11896820eceb8c41aaade08d42fc Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 30 Jan 2025 14:29:43 +0900 Subject: [PATCH 152/841] Update docs/configuring-playbook-conduit.md: add the common section "Troubleshooting" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-conduit.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/configuring-playbook-conduit.md b/docs/configuring-playbook-conduit.md index 760307b22..be5b46f6a 100644 --- a/docs/configuring-playbook-conduit.md +++ b/docs/configuring-playbook-conduit.md @@ -75,3 +75,7 @@ Find the `registration.yaml` in the `/matrix` directory, for example `/matrix/ma sender_localpart: _bot_signalbot url: http://matrix-mautrix-signal:29328 ``` + +## Troubleshooting + +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-conduit`. From 85b766124975dba1470226466ee41444485d300e Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 30 Jan 2025 14:41:39 +0900 Subject: [PATCH 153/841] Update docs/configuring-playbook-dendrite.md: add the common section "Troubleshooting" See: https://matrix-org.github.io/dendrite/administration/troubleshooting#1-logs Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-dendrite.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/docs/configuring-playbook-dendrite.md b/docs/configuring-playbook-dendrite.md index 83510e7af..7496e918d 100644 --- a/docs/configuring-playbook-dendrite.md +++ b/docs/configuring-playbook-dendrite.md @@ -62,3 +62,18 @@ ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. + +## Troubleshooting + +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-dendrite`. + +### Increase logging verbosity + +The default logging level for this component is `warning`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook: + +```yaml +matrix_dendrite_configuration_extension_yaml: | + logging: + - type: std + level: debug +``` From bd7f35d38392efb1f998d02ac69311a83b778dce Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 29 Dec 2024 10:03:09 -0500 Subject: [PATCH 154/841] Update docs/configuring-playbook-client-cinny.md: add the common section "Extending the configuration" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-client-cinny.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/configuring-playbook-client-cinny.md b/docs/configuring-playbook-client-cinny.md index 4e9decb4f..9e1aabc30 100644 --- a/docs/configuring-playbook-client-cinny.md +++ b/docs/configuring-playbook-client-cinny.md @@ -40,6 +40,15 @@ After changing the domain, **you may need to adjust your DNS** records to point **Note**: while there is a `matrix_client_cinny_path_prefix` variable for changing the path where Cinny is served, overriding it is [not possible](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3701), because Cinny requires an application rebuild (with a tweaked build config) to be functional under a custom path. You'd need to serve Cinny at a dedicated subdomain. +### Extending the configuration + +There are some additional things you may wish to configure about the component. + +Take a look at: + +- `roles/custom/matrix-client-cinny/defaults/main.yml` for some variables that you can customize via your `vars.yml` file +- `roles/custom/matrix-client-cinny/templates/config.json.j2` for the component's default configuration. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_client_cinny_configuration_extension_json` variable + ## Installing After configuring the playbook and [adjusting your DNS records](#adjusting-dns-records), run the playbook with [playbook tags](playbook-tags.md) as below: From 69c64073726974320a3887cfb9c4ada4bd05f01e Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 30 Jan 2025 18:48:48 +0900 Subject: [PATCH 155/841] Update docs/configuring-playbook-client-cinny.md: adopt the common section "Troubleshooting" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-client-cinny.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/configuring-playbook-client-cinny.md b/docs/configuring-playbook-client-cinny.md index 9e1aabc30..2ba895eb9 100644 --- a/docs/configuring-playbook-client-cinny.md +++ b/docs/configuring-playbook-client-cinny.md @@ -61,3 +61,7 @@ ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. + +## Troubleshooting + +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-client-cinny`. From 533ab41f7975015a411f287527372b06acffba76 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 29 Dec 2024 10:20:24 -0500 Subject: [PATCH 156/841] Update docs/configuring-playbook-client-hydrogen.md: add the common section "Extending the configuration" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-client-hydrogen.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/configuring-playbook-client-hydrogen.md b/docs/configuring-playbook-client-hydrogen.md index db44e6a62..c99856873 100644 --- a/docs/configuring-playbook-client-hydrogen.md +++ b/docs/configuring-playbook-client-hydrogen.md @@ -37,6 +37,15 @@ After changing the domain, **you may need to adjust your DNS** records to point If you've decided to reuse the `matrix.` domain, you won't need to do any extra DNS configuration. +### Extending the configuration + +There are some additional things you may wish to configure about the client. + +Take a look at: + +- `roles/custom/matrix-client-hydrogen/defaults/main.yml` for some variables that you can customize via your `vars.yml` file +- `roles/custom/matrix-client-hydrogen/templates/config.json.j2` for the client's default configuration. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_client_hydrogen_configuration_extension_json` variable + ## Installing After configuring the playbook and potentially [adjusting your DNS records](#adjusting-dns-records), run the playbook with [playbook tags](playbook-tags.md) as below: From f38c69b30bb76efb62fa74e66c7bf34700dda52e Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 30 Jan 2025 19:31:44 +0900 Subject: [PATCH 157/841] Update docs/configuring-playbook-client-hydrogen.md: adopt the common section "Troubleshooting" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-client-hydrogen.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/configuring-playbook-client-hydrogen.md b/docs/configuring-playbook-client-hydrogen.md index c99856873..cf9b30335 100644 --- a/docs/configuring-playbook-client-hydrogen.md +++ b/docs/configuring-playbook-client-hydrogen.md @@ -58,3 +58,7 @@ ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. + +## Troubleshooting + +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-client-hydrogen`. From 74b95b57f1d8b78b54f29ff1ad150bd9aef2674a Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 28 Dec 2024 07:51:02 -0500 Subject: [PATCH 158/841] Update docs/configuring-playbook-matrix-media-repo.md: add the common section "Extending the configuration" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-matrix-media-repo.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/docs/configuring-playbook-matrix-media-repo.md b/docs/configuring-playbook-matrix-media-repo.md index 748d3aaf0..0a8302db3 100644 --- a/docs/configuring-playbook-matrix-media-repo.md +++ b/docs/configuring-playbook-matrix-media-repo.md @@ -88,7 +88,13 @@ matrix_media_repo_datastore_s3_opts_bucket_name: "your-media-bucket" ``` -Full list of configuration options with documentation can be found in [`roles/custom/matrix-media-repo/defaults/main.yml`](../roles/custom/matrix-media-repo/defaults/main.yml) +### Extending the configuration + +There are some additional things you may wish to configure about the component. + +Take a look at: + +- `roles/custom/matrix-media-repo/defaults/main.yml` for some variables that you can customize via your `vars.yml` file ## Signing Keys From 66bb56db1821ac16b7891869eda7e297189eda49 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 26 Jan 2025 03:41:12 +0900 Subject: [PATCH 159/841] Update docs/configuring-playbook-matrix-media-repo.md: add the common section "Troubleshooting" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-matrix-media-repo.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/configuring-playbook-matrix-media-repo.md b/docs/configuring-playbook-matrix-media-repo.md index 0a8302db3..da4250b0d 100644 --- a/docs/configuring-playbook-matrix-media-repo.md +++ b/docs/configuring-playbook-matrix-media-repo.md @@ -167,3 +167,15 @@ docker exec -it matrix-media-repo \ Enter `1` for the Machine ID when prompted (you are not doing any horizontal scaling) unless you know what you're doing. This should output a `msg="Import completed"` when finished successfully! + +## Troubleshooting + +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-media-repo`. + +### Increase logging verbosity + +If you want to turn on sentry's built-in debugging, add the following configuration to your `vars.yml` file and re-run the playbook: + +```yaml +matrix_media_repo_sentry_debug: true +``` From cc3fa496efe5df14ff697d08746be1d350d974f7 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 30 Jan 2025 01:06:59 +0900 Subject: [PATCH 160/841] Update docs/configuring-playbook-matrix-media-repo.md: adopt the common format - Adopt the common introduction - Remove the ToC - Merge sections for additional configuration options and extending the configuration Signed-off-by: Suguru Hirahara --- .../configuring-playbook-matrix-media-repo.md | 38 ++++++++----------- 1 file changed, 16 insertions(+), 22 deletions(-) diff --git a/docs/configuring-playbook-matrix-media-repo.md b/docs/configuring-playbook-matrix-media-repo.md index da4250b0d..b832e4b85 100644 --- a/docs/configuring-playbook-matrix-media-repo.md +++ b/docs/configuring-playbook-matrix-media-repo.md @@ -1,20 +1,18 @@ # Storing Matrix media files using matrix-media-repo (optional) -[matrix-media-repo](https://docs.t2bot.io/matrix-media-repo/) (often abbreviated "MMR") is a highly customizable multi-domain media repository for Matrix. Intended for medium to large environments consisting of several homeservers, this media repo de-duplicates media (including remote media) while being fully compliant with the specification. +The playbook can install and configure [matrix-media-repo](https://docs.t2bot.io/matrix-media-repo/) (often abbreviated "MMR") for you. -Smaller/individual homeservers can still make use of this project's features, though it may be difficult to set up or have higher than expected resource consumption. Please do your research before deploying this as this project may not be useful for your environment. +MMR is a highly customizable multi-domain media repository for Matrix. Intended for medium to large environments consisting of several homeservers, this media repo de-duplicates media (including remote media) while being fully compliant with the specification. -For a simpler alternative (which allows you to offload your media repository storage to S3, etc.), you can [configure S3 storage](configuring-playbook-s3.md) instead of setting up matrix-media-repo. +**Notes**: -| **Table of Contents** | -| :------------------------------------------------------------------------------------------ | -| [Quickstart](#quickstart) | -| [Additional configuration options](#configuring-the-media-repo) | -| [Importing data from an existing media store](#importing-data-from-an-existing-media-store) | +- Smaller/individual homeservers can still make use of this project's features, though it may be difficult to set up or have higher than expected resource consumption. Please do your research before deploying this as this project may not be useful for your environment. -## Quickstart +- For a simpler alternative (which allows you to offload your media repository storage to S3, etc.), you can [configure S3 storage](configuring-playbook-s3.md) instead of setting up matrix-media-repo. -Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file and [re-run the installation process](./installing.md) for the playbook: +## Adjusting the playbook configuration + +To enable matrix-media-repo, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: ```yaml matrix_media_repo_enabled: true @@ -27,12 +25,17 @@ The repo is pre-configured for integrating with the Postgres database, Traefik p By default, the media-repo will use the local filesystem for data storage. You can alternatively use a `s3` cloud backend as well. Access token caching is also enabled by default since the logout endpoints are proxied through the media repo. -## Configuring the media-repo +### Extending the configuration -Additional common configuration options: +There are some additional things you may wish to configure about the component. + +Take a look at: + +- `roles/custom/matrix-media-repo/defaults/main.yml` for some variables that you can customize via your `vars.yml` file + +Here is a list of additional common configuration options: ```yaml - # The postgres database pooling options # The maximum number of connects to hold open. More of these allow for more concurrent @@ -85,17 +88,8 @@ matrix_media_repo_datastore_s3_opts_bucket_name: "your-media-bucket" # An optional storage class for tuning how the media is stored at s3. # See https://aws.amazon.com/s3/storage-classes/ for details; uncomment to use. # matrix_media_repo_datastore_s3_opts_storage_class: "STANDARD" - ``` -### Extending the configuration - -There are some additional things you may wish to configure about the component. - -Take a look at: - -- `roles/custom/matrix-media-repo/defaults/main.yml` for some variables that you can customize via your `vars.yml` file - ## Signing Keys Authenticated media endpoints ([MSC3916](https://github.com/matrix-org/matrix-spec-proposals/pull/3916)) requires MMR to have a configured signing key to authorize outbound federation requests. Additionally, the signing key must be merged with your homeserver's signing key file. From 1242281fa2fca16a2544db2061bec2a840dbbf86 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 28 Dec 2024 09:30:04 -0500 Subject: [PATCH 161/841] Update docs/configuring-playbook-synapse-usage-exporter.md: add the common section "Extending the configuration" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-synapse-usage-exporter.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/configuring-playbook-synapse-usage-exporter.md b/docs/configuring-playbook-synapse-usage-exporter.md index e07fc6d0d..59f2b42d1 100644 --- a/docs/configuring-playbook-synapse-usage-exporter.md +++ b/docs/configuring-playbook-synapse-usage-exporter.md @@ -48,6 +48,14 @@ If you've changed the default hostname, you may need to create a CNAME record fo When setting, replace `example.com` with your own. +### Extending the configuration + +There are some additional things you may wish to configure about the component. + +Take a look at: + +- `roles/custom/matrix-synapse-usage-exporter/defaults/main.yml` for some variables that you can customize via your `vars.yml` file + ## Installing After configuring the playbook and potentially [adjusting your DNS records](#adjusting-dns-records), run the playbook with [playbook tags](playbook-tags.md) as below: From a67fea982c488d12503255dc7fbd47258f221ab3 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 30 Jan 2025 18:19:51 +0900 Subject: [PATCH 162/841] Update docs/configuring-playbook-synapse-usage-exporter.md: adopt the common section "Troubleshooting" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-synapse-usage-exporter.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/configuring-playbook-synapse-usage-exporter.md b/docs/configuring-playbook-synapse-usage-exporter.md index 59f2b42d1..ca1881667 100644 --- a/docs/configuring-playbook-synapse-usage-exporter.md +++ b/docs/configuring-playbook-synapse-usage-exporter.md @@ -68,3 +68,7 @@ ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. + +## Troubleshooting + +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-synapse-usage-exporter`. From 17761aaa876dbb3cd1b7c384df5823d22c957ce6 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 30 Jan 2025 16:35:47 +0900 Subject: [PATCH 163/841] Update docs/configuring-playbook-synapse-usage-exporter.md: adopt the common description for the introduction Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-synapse-usage-exporter.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/configuring-playbook-synapse-usage-exporter.md b/docs/configuring-playbook-synapse-usage-exporter.md index ca1881667..3eb98921f 100644 --- a/docs/configuring-playbook-synapse-usage-exporter.md +++ b/docs/configuring-playbook-synapse-usage-exporter.md @@ -1,6 +1,8 @@ # Enabling synapse-usage-exporter for Synapse usage statistics (optional) -[synapse-usage-exporter](https://github.com/loelkes/synapse-usage-exporter) allows you to export the usage statistics of a Synapse homeserver to this container service and for the collected metrics to later be scraped by Prometheus. +The playbook can install and configure [synapse-usage-exporter](https://github.com/loelkes/synapse-usage-exporter) for you. + +It allows you to export the usage statistics of a Synapse homeserver to this container service and for the collected metrics to later be scraped by Prometheus. Synapse does not include usage statistics in its Prometheus metrics. They can be reported to an HTTP `PUT` endpoint 5 minutes after startup and from then on at a fixed interval of once every three hours. This role integrates a simple [Flask](https://flask.palletsprojects.com) project that offers an HTTP `PUT` endpoint and holds the most recent received record available to be scraped by Prometheus. @@ -11,6 +13,8 @@ Enabling this service will automatically: - re-configure [Prometheus](./configuring-playbook-prometheus-grafana.md) (if Prometheus is enabled), to periodically scrape metrics from synapse-usage-exporter - add a new [Grafana](./configuring-playbook-prometheus-grafana.md) dashboard (if Grafana is enabled) containing Synapse usage statistics +See the project's [documentation](https://github.com/loelkes/synapse-usage-exporter/blob/main/README.md) to learn what it does and why it might be useful to you. + ## Adjusting DNS records (optional) By default, this playbook installs synapse-usage-exporter on the `matrix.` subdomain, at the `/report-usage-stats/push` path (https://matrix.example.com/report-usage-stats/push). This makes it easy to install it, because it **doesn't require additional DNS records to be set up**. If that's okay, you can skip this section. From 39066954b3d53254fc647023ba57c958c3747896 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 28 Dec 2024 09:23:34 -0500 Subject: [PATCH 164/841] Update docs/configuring-playbook-synapse-admin.md: add the common section "Extending the configuration" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-synapse-admin.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/configuring-playbook-synapse-admin.md b/docs/configuring-playbook-synapse-admin.md index b5e8991bd..0ce5e9d6f 100644 --- a/docs/configuring-playbook-synapse-admin.md +++ b/docs/configuring-playbook-synapse-admin.md @@ -46,6 +46,14 @@ If you've changed the default hostname, you may need to create a CNAME record fo When setting, replace `example.com` with your own. +### Extending the configuration + +There are some additional things you may wish to configure about the component. + +Take a look at: + +- `roles/custom/matrix-synapse-admin/defaults/main.yml` for some variables that you can customize via your `vars.yml` file. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_synapse_admin_configuration_extension_json` variable + ## Installing After configuring the playbook and potentially [adjusting your DNS records](#adjusting-dns-records), run the playbook with [playbook tags](playbook-tags.md) as below: From 57172d85e48c12ea2ae52ba8e0a39887ace2d820 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 30 Jan 2025 15:51:58 +0900 Subject: [PATCH 165/841] Update docs/configuring-playbook-synapse-admin.md: add the common section "Troubleshooting" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-synapse-admin.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/configuring-playbook-synapse-admin.md b/docs/configuring-playbook-synapse-admin.md index 0ce5e9d6f..bd07a8bb9 100644 --- a/docs/configuring-playbook-synapse-admin.md +++ b/docs/configuring-playbook-synapse-admin.md @@ -72,3 +72,7 @@ The shortcut commands with the [`just` program](just.md) are also available: `ju After installation, Synapse Admin will be accessible at: `https://matrix.example.com/synapse-admin/` To use Synapse Admin, you need to have [registered at least one administrator account](registering-users.md) on your server. + +## Troubleshooting + +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-synapse-admin`. From 42694883e6cdb855f6ddbea4a972845b7c04e821 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 31 Jan 2025 00:18:15 +0900 Subject: [PATCH 166/841] Update files for Mjolnir: add the common section "Troubleshooting" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bot-mjolnir.md | 14 ++++++++++++++ .../templates/production.yaml.j2 | 5 ++--- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/docs/configuring-playbook-bot-mjolnir.md b/docs/configuring-playbook-bot-mjolnir.md index 2f068e7fa..ec56f345f 100644 --- a/docs/configuring-playbook-bot-mjolnir.md +++ b/docs/configuring-playbook-bot-mjolnir.md @@ -194,3 +194,17 @@ ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-use ## Usage You can refer to the upstream [documentation](https://github.com/matrix-org/mjolnir) for additional ways to use and configure Mjolnir. Check out their [quickstart guide](https://github.com/matrix-org/mjolnir#quickstart-guide) for some basic commands you can give to the bot. + +## Troubleshooting + +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-bot-mjolnir`. + +### Increase logging verbosity + +The default logging level for this component is `INFO`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook: + +```yaml +# Valid values: ERROR, WARN, INFO, DEBUG +matrix_bot_mjolnir_configuration_extension_yaml: | + logLevel: "DEBUG" +``` diff --git a/roles/custom/matrix-bot-mjolnir/templates/production.yaml.j2 b/roles/custom/matrix-bot-mjolnir/templates/production.yaml.j2 index 35aac3af4..ec2b0ea28 100644 --- a/roles/custom/matrix-bot-mjolnir/templates/production.yaml.j2 +++ b/roles/custom/matrix-bot-mjolnir/templates/production.yaml.j2 @@ -57,10 +57,9 @@ managementRoom: {{ matrix_bot_mjolnir_management_room | to_json }} # mainly involves "all-OK" messages, and debugging messages for when mjolnir checks bans in a room. verboseLogging: false -# The log level of terminal (or container) output, -# can be one of DEBUG, INFO, WARN and ERROR, in increasing order of importance and severity. +# The log level of terminal (or container) output. # -# This should be at INFO or DEBUG in order to get support for Mjolnir problems. +# Valid values: ERROR, WARN, INFO, DEBUG logLevel: "INFO" # Whether or not Mjolnir should synchronize policy lists immediately after startup. From 6bd94d860f06e1120d7a9b134ded180b21c5edd9 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 19 Jan 2025 01:29:07 +0900 Subject: [PATCH 167/841] Update docs/configuring-playbook-jitsi.md: add the common section "Extending the configuration" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-jitsi.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/docs/configuring-playbook-jitsi.md b/docs/configuring-playbook-jitsi.md index b9aca9819..9e976b691 100644 --- a/docs/configuring-playbook-jitsi.md +++ b/docs/configuring-playbook-jitsi.md @@ -175,6 +175,17 @@ These configurations: - **disable audio levels** to avoid excessive refresh of the client-side page and decrease the CPU consumption involved - **limit the number of video feeds forwarded to each client**, to save up resources on both server and clients. As clients’ bandwidth and CPU may not bear the load, use this setting to avoid lag and crashes. This feature is available by default on other webconference applications such as Office 365 Teams (the number is limited to 4). Read how it works [here](https://github.com/jitsi/jitsi-videobridge/blob/5ff195985edf46c9399dcf263cb07167f0a2c724/doc/allocation.md). +### Extending the configuration + +There are some additional things you may wish to configure about the component. + +Take a look at: + +- [Jitsi role](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi)'s [`defaults/main.yml`](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/defaults/main.yml) for some variables that you can customize via your `vars.yml` file. You can override settings (even those that don't have dedicated playbook variables) using these variables: + - `jitsi_web_custom_interface_config_extension`: custom configuration to be appended to `interface_config.js`, passed to Jitsi Web + - `jitsi_web_custom_config_extension`: custom configuration to be injected into `custom-config.js`, passed to Jitsi Web + - `jitsi_jvb_custom_config_extension`: custom configuration to be injected into `custom-sip-communicator.properties`, passed to Jitsi JVB + ### Example configurations Here is an example set of configurations for running a Jitsi instance with: From 25298cb6966c9f7812eb2a0f07dbbffb57d041c1 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 30 Jan 2025 15:41:48 +0900 Subject: [PATCH 168/841] Update docs/configuring-playbook-sygnal.md: add the common section "Troubleshooting" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-sygnal.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/configuring-playbook-sygnal.md b/docs/configuring-playbook-sygnal.md index 7ce58714e..9db6ee290 100644 --- a/docs/configuring-playbook-sygnal.md +++ b/docs/configuring-playbook-sygnal.md @@ -100,3 +100,7 @@ The shortcut commands with the [`just` program](just.md) are also available: `ju To make use of your Sygnal installation, you'd need to build your own Matrix client application, which uses the same API keys (for [GCM/FCM](https://firebase.google.com/docs/cloud-messaging/)) and certificates (for [APNS](https://developer.apple.com/notifications/)) and is to your Sygnal URL endpoint (e.g. `https://sygnal.example.com`). Refer to Sygnal's [Notes for application developers](https://github.com/matrix-org/sygnal/blob/master/docs/applications.md) document. + +## Troubleshooting + +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-sygnal`. From 8889b018f3b88e8e59ee65de9e0712573d0a110e Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sat, 1 Feb 2025 07:56:06 +0200 Subject: [PATCH 169/841] Adjust baibot's openai-config.yml.j2 to avoid `max_response_tokens` if unspecified Reasoning models like `o1` and `o3` and their `-mini` variants report errors if we try to configure `max_response_tokens` (which ultimately influences the `max_tokens` field in the API request): > invalid_request_error: Unsupported parameter: 'max_tokens' is not supported with this model. Use 'max_completion_tokens' instead. (param: max_tokens) (code: unsupported_parameter) `max_completion_tokens` is not yet supported by baibot, so the best we can do is at least get rid of `max_response_tokens` (`max_tokens`). Ref: https://github.com/etkecc/baibot/commit/db9422740ceca32956d9628b6326b8be206344e2 --- .../matrix-bot-baibot/templates/provider/openai-config.yml.j2 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/roles/custom/matrix-bot-baibot/templates/provider/openai-config.yml.j2 b/roles/custom/matrix-bot-baibot/templates/provider/openai-config.yml.j2 index 56cf47fdd..c239e6d4a 100644 --- a/roles/custom/matrix-bot-baibot/templates/provider/openai-config.yml.j2 +++ b/roles/custom/matrix-bot-baibot/templates/provider/openai-config.yml.j2 @@ -8,7 +8,9 @@ text_generation: model_id: {{ matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_model_id | to_json }} prompt: {{ matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_prompt | to_json }} temperature: {{ matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_temperature | to_json }} + {% if matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_max_response_tokens %} max_response_tokens: {{ matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_max_response_tokens | int | to_json }} + {% endif %} max_context_tokens: {{ matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_max_context_tokens | int | to_json }} {% endif %} From 4853de26de0cc57371919783cfc7ff3bccd91d86 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sat, 1 Feb 2025 08:15:36 +0200 Subject: [PATCH 170/841] Upgrade Traefik (v3.3.2-1 -> v3.3.3-0) --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 8943945b4..dd8644f0a 100644 --- a/requirements.yml +++ b/requirements.yml @@ -64,7 +64,7 @@ version: v1.0.0-0 name: timesync - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-traefik.git - version: v3.3.2-1 + version: v3.3.3-0 name: traefik - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-traefik-certs-dumper.git version: v2.8.3-5 From a1430f4d3f713af3eab9c295a260677a1fea631e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 1 Feb 2025 22:06:58 +0000 Subject: [PATCH 171/841] Update dependency babel to v2.17.0 --- i18n/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/requirements.txt b/i18n/requirements.txt index d7693e0b8..cf48bd5a0 100644 --- a/i18n/requirements.txt +++ b/i18n/requirements.txt @@ -1,5 +1,5 @@ alabaster==1.0.0 -babel==2.16.0 +babel==2.17.0 certifi==2025.1.31 charset-normalizer==3.4.1 click==8.1.8 From 1034c06fc7caa53915ab8ef6dbf06f8ad8f6bc2b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 2 Feb 2025 16:54:40 +0000 Subject: [PATCH 172/841] Update gnuxie/draupnir Docker tag to v2.1.0 --- .../custom/matrix-appservice-draupnir-for-all/defaults/main.yml | 2 +- roles/custom/matrix-bot-draupnir/defaults/main.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/custom/matrix-appservice-draupnir-for-all/defaults/main.yml b/roles/custom/matrix-appservice-draupnir-for-all/defaults/main.yml index 8d028a98b..140b92d4a 100644 --- a/roles/custom/matrix-appservice-draupnir-for-all/defaults/main.yml +++ b/roles/custom/matrix-appservice-draupnir-for-all/defaults/main.yml @@ -5,7 +5,7 @@ matrix_appservice_draupnir_for_all_enabled: true # renovate: datasource=docker depName=gnuxie/draupnir -matrix_appservice_draupnir_for_all_version: "v2.0.2" +matrix_appservice_draupnir_for_all_version: "v2.1.0" matrix_appservice_draupnir_for_all_container_image_self_build: false matrix_appservice_draupnir_for_all_container_image_self_build_repo: "https://github.com/the-draupnir-project/Draupnir.git" diff --git a/roles/custom/matrix-bot-draupnir/defaults/main.yml b/roles/custom/matrix-bot-draupnir/defaults/main.yml index 08f3fa4e7..57db9448d 100644 --- a/roles/custom/matrix-bot-draupnir/defaults/main.yml +++ b/roles/custom/matrix-bot-draupnir/defaults/main.yml @@ -5,7 +5,7 @@ matrix_bot_draupnir_enabled: true # renovate: datasource=docker depName=gnuxie/draupnir -matrix_bot_draupnir_version: "v2.0.2" +matrix_bot_draupnir_version: "v2.1.0" matrix_bot_draupnir_container_image_self_build: false matrix_bot_draupnir_container_image_self_build_repo: "https://github.com/the-draupnir-project/Draupnir.git" From a321b069f9b72a4ae6761df812e5720e6807bf93 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 2 Feb 2025 02:09:36 +0900 Subject: [PATCH 173/841] Update docs/configuring-playbook-traefik.md: add the common introduction Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-traefik.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/configuring-playbook-traefik.md b/docs/configuring-playbook-traefik.md index cab20454f..40a27c798 100644 --- a/docs/configuring-playbook-traefik.md +++ b/docs/configuring-playbook-traefik.md @@ -1,6 +1,6 @@ # Configuring the Traefik reverse-proxy (optional, advanced) -By default, this playbook installs and manages a [Traefik](https://doc.traefik.io/traefik/) reverse-proxy server, powered by the [ansible-role-traefik](https://github.com/mother-of-all-self-hosting/ansible-role-traefik) Ansible role. +By default, this playbook installs and manages a [Traefik](https://doc.traefik.io/traefik/) reverse-proxy server, powered by the [ansible-role-traefik](https://github.com/mother-of-all-self-hosting/ansible-role-traefik) Ansible role for you. If that's okay, you can skip this document. This Ansible role support various configuration options. Feel free to consult its `default/main.yml` variables file. From 30d46397e66c3d121007dfa6c026949b2c4e4ffb Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 1 Feb 2025 19:39:43 +0900 Subject: [PATCH 174/841] Update docs/configuring-playbook-traefik.md: adopt the common format to descriptions Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-traefik.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/configuring-playbook-traefik.md b/docs/configuring-playbook-traefik.md index 40a27c798..4529f167e 100644 --- a/docs/configuring-playbook-traefik.md +++ b/docs/configuring-playbook-traefik.md @@ -16,7 +16,7 @@ traefik_config_log_level: DEBUG ## Disable access logs -This will disable access logging. +To disable access logging, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: ```yaml traefik_config_accessLog_enabled: false @@ -24,7 +24,7 @@ traefik_config_accessLog_enabled: false ## Enable Traefik Dashboard -This will enable a Traefik [Dashboard](https://doc.traefik.io/traefik/operations/dashboard/) UI at `https://matrix.example.com/dashboard/` (note the trailing `/`). +To enable a Traefik [Dashboard](https://doc.traefik.io/traefik/operations/dashboard/) UI at `https://matrix.example.com/dashboard/` (note the trailing `/`), add the following configuration to your `vars.yml` file: ```yaml traefik_dashboard_enabled: true @@ -140,7 +140,7 @@ With these changes, all TCP traffic will be reverse-proxied to the target system ## Traefik behind a `proxy_protocol` reverse-proxy -If you run a reverse-proxy which speaks `proxy_protocol`, add the following to your configuration file: +If you run a reverse-proxy which speaks `proxy_protocol`, add the following configuration to your `vars.yml` file: ```yaml traefik_configuration_extension_yaml: | From f5c6b61561f719a3bcc98a334aaaa263fb642215 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 31 Jan 2025 03:58:53 +0900 Subject: [PATCH 175/841] Update docs/just.md: fix the description Signed-off-by: Suguru Hirahara --- docs/just.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/just.md b/docs/just.md index 53743a03b..153a20f1e 100644 --- a/docs/just.md +++ b/docs/just.md @@ -35,4 +35,4 @@ For example, these two commands are different: The just recipe runs `ensure-matrix-users-created` and `start` tags after `install-all`, while the latter runs only `install-all` tag. The correct shortcut of the latter is `just run-tags install-all`. -Such kind of difference sometimes matters. For example, when you install a Matrix server into which you will import old data (see [here](installing.md#installing-a-server-into-which-youll-import-old-data)), you are not supposed to run `just install-all` or `just setup-all`, because these commands start services immediately after installing components which may prevent your from importing old data. +Such kind of difference sometimes matters. For example, when you install a Matrix server into which you will import old data (see [here](installing.md#installing-a-server-into-which-youll-import-old-data)), you are not supposed to run `just install-all` or `just setup-all`, because these commands start services immediately after installing components, which may prevent you from importing the data. From 452bc3273ffc2491996d177a0d78d99aa9fc941f Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Wed, 25 Dec 2024 11:04:51 -0500 Subject: [PATCH 176/841] Update docs/configuring-playbook-traefik.md: add the common section "Extending the configuration" Refer: - docs/configuring-playbook-backup-borg.md - https://github.com/mother-of-all-self-hosting/ansible-role-traefik/blob/main/defaults/main.yml Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-traefik.md | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/docs/configuring-playbook-traefik.md b/docs/configuring-playbook-traefik.md index 4529f167e..5cdc0826a 100644 --- a/docs/configuring-playbook-traefik.md +++ b/docs/configuring-playbook-traefik.md @@ -37,14 +37,30 @@ traefik_dashboard_basicauth_password: YOUR_PASSWORD_HERE > [!WARNING] > Enabling the dashboard on a hostname you use for something else (like `matrix_server_fqn_matrix` in the configuration above) may cause conflicts. Enabling the Traefik Dashboard makes Traefik capture all `/dashboard` and `/api` requests and forward them to itself. If any of the services hosted on the same hostname requires any of these 2 URL prefixes, you will experience problems. So far, we're not aware of any playbook services which occupy these endpoints and are likely to cause conflicts. -## Additional configuration +## Extending the configuration -Use the `traefik_configuration_extension_yaml` variable provided by the Traefik Ansible role to override or inject additional settings, even when no dedicated variable exists. +There are some additional things you may wish to configure about the component. + +Take a look at: + +- [Traefik role](https://github.com/mother-of-all-self-hosting/ansible-role-traefik)'s [`defaults/main.yml`](https://github.com/mother-of-all-self-hosting/ansible-role-traefik/blob/main/defaults/main.yml) for some variables that you can customize via your `vars.yml` file. You can override settings (even those that don't have dedicated playbook variables) using the `traefik_configuration_extension_yaml` variable + +For example, to enable and secure the Dashboard, you can add the following configuration to your `vars.yml` file: + +**Note**: this is a contrived example as you can enable and secure the Dashboard using the dedicated variables. See above for details. ```yaml -# This is a contrived example. -# You can enable and secure the Dashboard using dedicated variables. See above. traefik_configuration_extension_yaml: | + # Your custom YAML configuration for Traefik goes here. + # This configuration extends the default starting configuration (`traefik_configuration_yaml`). + # + # You can override individual variables from the default configuration, or introduce new ones. + # + # If you need something more special, you can take full control by + # completely redefining `traefik_configuration_yaml`. + # + # Example configuration extension follows: + # api: dashboard: true ``` From c2cd5fdb48a7a6d38f2ecbfc317248be0483dc9c Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 1 Feb 2025 19:09:52 +0900 Subject: [PATCH 177/841] Update docs/configuring-playbook-traefik.md: add the common section "Troubleshooting" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-traefik.md | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/docs/configuring-playbook-traefik.md b/docs/configuring-playbook-traefik.md index 5cdc0826a..6873b3f77 100644 --- a/docs/configuring-playbook-traefik.md +++ b/docs/configuring-playbook-traefik.md @@ -8,12 +8,6 @@ This Ansible role support various configuration options. Feel free to consult it See the dedicated [Adjusting SSL certificate retrieval](configuring-playbook-ssl-certificates.md) documentation page. -## Increase logging verbosity - -```yaml -traefik_config_log_level: DEBUG -``` - ## Disable access logs To disable access logging, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: @@ -174,3 +168,15 @@ traefik_configuration_extension_yaml: | - "/32" - "/128" ``` + +## Troubleshooting + +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-traefik`. + +### Increase logging verbosity + +The default logging level for this component is `INFO`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook: + +```yaml +traefik_config_log_level: DEBUG +``` From eb51913deaa8f889c552b31159e9d43641b5697c Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 1 Feb 2025 19:29:28 +0900 Subject: [PATCH 178/841] Update docs/configuring-playbook-traefik.md: add the common section "Adjusting the playbook configuration" - Move the section not related to adjusting the playbook configurations out of it Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-traefik.md | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/docs/configuring-playbook-traefik.md b/docs/configuring-playbook-traefik.md index 6873b3f77..876492ff5 100644 --- a/docs/configuring-playbook-traefik.md +++ b/docs/configuring-playbook-traefik.md @@ -2,13 +2,11 @@ By default, this playbook installs and manages a [Traefik](https://doc.traefik.io/traefik/) reverse-proxy server, powered by the [ansible-role-traefik](https://github.com/mother-of-all-self-hosting/ansible-role-traefik) Ansible role for you. If that's okay, you can skip this document. +## Adjusting the playbook configuration + This Ansible role support various configuration options. Feel free to consult its `default/main.yml` variables file. -## Adjusting SSL certificate retrieval - -See the dedicated [Adjusting SSL certificate retrieval](configuring-playbook-ssl-certificates.md) documentation page. - -## Disable access logs +### Disable access logs To disable access logging, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: @@ -16,7 +14,7 @@ To disable access logging, add the following configuration to your `inventory/ho traefik_config_accessLog_enabled: false ``` -## Enable Traefik Dashboard +### Enable Traefik Dashboard To enable a Traefik [Dashboard](https://doc.traefik.io/traefik/operations/dashboard/) UI at `https://matrix.example.com/dashboard/` (note the trailing `/`), add the following configuration to your `vars.yml` file: @@ -31,7 +29,7 @@ traefik_dashboard_basicauth_password: YOUR_PASSWORD_HERE > [!WARNING] > Enabling the dashboard on a hostname you use for something else (like `matrix_server_fqn_matrix` in the configuration above) may cause conflicts. Enabling the Traefik Dashboard makes Traefik capture all `/dashboard` and `/api` requests and forward them to itself. If any of the services hosted on the same hostname requires any of these 2 URL prefixes, you will experience problems. So far, we're not aware of any playbook services which occupy these endpoints and are likely to cause conflicts. -## Extending the configuration +### Extending the configuration There are some additional things you may wish to configure about the component. @@ -59,13 +57,13 @@ traefik_configuration_extension_yaml: | dashboard: true ``` -## Reverse-proxying another service behind Traefik +### Reverse-proxying another service behind Traefik The preferred way to reverse-proxy additional services behind Traefik would be to start the service as another container, configure the container with the corresponding Traefik [container labels](https://docs.docker.com/config/labels-custom-metadata/) (see [Traefik & Docker](https://doc.traefik.io/traefik/routing/providers/docker/)), and connect the service to the `traefik` network. Some services are also already available via the compatible [mash-playbook](https://github.com/mother-of-all-self-hosting/mash-playbook), but take a look at the minor [interoperability adjustments](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/interoperability.md). However, if your service does not run on a container or runs on another machine, the following configuration might be what you are looking for. -## Reverse-proxying a remote HTTP/HTTPS service behind Traefik +### Reverse-proxying a remote HTTP/HTTPS service behind Traefik If you want to host another webserver would be reachable via `my-fancy-website.example.net` from the internet and via `https://:` from inside your network, you can make the playbook's integrated Traefik instance reverse-proxy the traffic to the correct host. @@ -120,7 +118,7 @@ aux_file_definitions: ``` Changing the `url` to one with an `http://` prefix would allow to connect to the server via HTTP. -## Reverse-proxying another service behind Traefik without terminating SSL +### Reverse-proxying another service behind Traefik without terminating SSL If you do not want to terminate SSL at the Traefik instance (for example, because you're already terminating SSL at other webserver), you need to adjust the static configuration in the same way as in the previous chapter in order to be able to add our own dynamic configuration files. Afterwards, you can add the following configuration to your `vars.yml` configuration file: @@ -148,7 +146,7 @@ With these changes, all TCP traffic will be reverse-proxied to the target system > [!WARNING] > This configuration might lead to problems or need additional steps when a [certbot](https://certbot.eff.org/) behind Traefik also tries to manage [Let's Encrypt](https://letsencrypt.org/) certificates, as Traefik captures all traffic to ```PathPrefix(`/.well-known/acme-challenge/`)```. -## Traefik behind a `proxy_protocol` reverse-proxy +### Traefik behind a `proxy_protocol` reverse-proxy If you run a reverse-proxy which speaks `proxy_protocol`, add the following configuration to your `vars.yml` file: @@ -169,6 +167,12 @@ traefik_configuration_extension_yaml: | - "/128" ``` +## Other configurations + +### Adjusting SSL certificate retrieval + +See the dedicated [Adjusting SSL certificate retrieval](configuring-playbook-ssl-certificates.md) documentation page. + ## Troubleshooting As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-traefik`. From 0c60d0898ad780b1b149eaa5b783e382c9a4538d Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 3 Feb 2025 16:48:39 +0900 Subject: [PATCH 179/841] Update docs/configuring-playbook-traefik.md: change section levels of ones related to reverse-proxying Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-traefik.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/configuring-playbook-traefik.md b/docs/configuring-playbook-traefik.md index 876492ff5..71bfc7f0a 100644 --- a/docs/configuring-playbook-traefik.md +++ b/docs/configuring-playbook-traefik.md @@ -63,7 +63,7 @@ The preferred way to reverse-proxy additional services behind Traefik would be t However, if your service does not run on a container or runs on another machine, the following configuration might be what you are looking for. -### Reverse-proxying a remote HTTP/HTTPS service behind Traefik +#### Reverse-proxying a remote HTTP/HTTPS service behind Traefik If you want to host another webserver would be reachable via `my-fancy-website.example.net` from the internet and via `https://:` from inside your network, you can make the playbook's integrated Traefik instance reverse-proxy the traffic to the correct host. @@ -118,7 +118,7 @@ aux_file_definitions: ``` Changing the `url` to one with an `http://` prefix would allow to connect to the server via HTTP. -### Reverse-proxying another service behind Traefik without terminating SSL +#### Reverse-proxying another service behind Traefik without terminating SSL If you do not want to terminate SSL at the Traefik instance (for example, because you're already terminating SSL at other webserver), you need to adjust the static configuration in the same way as in the previous chapter in order to be able to add our own dynamic configuration files. Afterwards, you can add the following configuration to your `vars.yml` configuration file: @@ -146,7 +146,7 @@ With these changes, all TCP traffic will be reverse-proxied to the target system > [!WARNING] > This configuration might lead to problems or need additional steps when a [certbot](https://certbot.eff.org/) behind Traefik also tries to manage [Let's Encrypt](https://letsencrypt.org/) certificates, as Traefik captures all traffic to ```PathPrefix(`/.well-known/acme-challenge/`)```. -### Traefik behind a `proxy_protocol` reverse-proxy +#### Traefik behind a `proxy_protocol` reverse-proxy If you run a reverse-proxy which speaks `proxy_protocol`, add the following configuration to your `vars.yml` file: From 7f1695b2b52aae18839f81b6fb3ab639cd1f71eb Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 3 Feb 2025 17:07:20 +0900 Subject: [PATCH 180/841] Update docs/configuring-playbook-traefik.md: add the common section "Installing" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-traefik.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/docs/configuring-playbook-traefik.md b/docs/configuring-playbook-traefik.md index 71bfc7f0a..489d2e8df 100644 --- a/docs/configuring-playbook-traefik.md +++ b/docs/configuring-playbook-traefik.md @@ -173,6 +173,19 @@ traefik_configuration_extension_yaml: | See the dedicated [Adjusting SSL certificate retrieval](configuring-playbook-ssl-certificates.md) documentation page. +## Installing + +After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below: + + +```sh +ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start +``` + +The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` + +`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. + ## Troubleshooting As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-traefik`. From 9cb3c99bf915ab878839c70af85dc19aa3088113 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Mon, 3 Feb 2025 10:40:27 +0200 Subject: [PATCH 181/841] Upgrade devture/ansible and note that it also includes agru now Ref https://github.com/devture/docker-ansible/issues/2 --- docs/ansible.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/docs/ansible.md b/docs/ansible.md index 87b4d86e8..1962c83bb 100644 --- a/docs/ansible.md +++ b/docs/ansible.md @@ -31,7 +31,10 @@ If using the `pip` method, do note that the `ansible-playbook` binary may not be Alternatively, you can run Ansible inside a Docker container (powered by the [devture/ansible](https://hub.docker.com/r/devture/ansible/) Docker image). -This ensures that you're using a very recent Ansible version, which is less likely to be incompatible with the playbook. +This ensures that: + +- you're using a very recent Ansible version, which is less likely to be incompatible with the playbook +- you also get access to the [agru](https://github.com/etkecc/agru) tool for quicker Ansible role installation (when running `just roles`) compared to `ansible-galaxy` You can either [run Ansible in a container on the Matrix server itself](#running-ansible-in-a-container-on-the-matrix-server-itself) or [run Ansible in a container on another computer (not the Matrix server)](#running-ansible-in-a-container-on-another-computer-not-the-matrix-server). @@ -57,7 +60,7 @@ docker run -it --rm \ -w /work \ -v `pwd`:/work \ --entrypoint=/bin/sh \ -docker.io/devture/ansible:2.18.1-r0-0 +docker.io/devture/ansible:2.18.1-r0-2 ``` Once you execute the above command, you'll be dropped into a `/work` directory inside a Docker container. The `/work` directory contains the playbook's code. @@ -76,7 +79,7 @@ docker run -it --rm \ -v `pwd`:/work \ -v $HOME/.ssh/id_rsa:/root/.ssh/id_rsa:ro \ --entrypoint=/bin/sh \ -docker.io/devture/ansible:2.18.1-r0-0 +docker.io/devture/ansible:2.18.1-r0-2 ``` The above command tries to mount an SSH key (`$HOME/.ssh/id_rsa`) into the container (at `/root/.ssh/id_rsa`). If your SSH key is at a different path (not in `$HOME/.ssh/id_rsa`), adjust that part. From 8fb2719a68ce9260694a8bb97fc9d8683ec55bd0 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 30 Jan 2025 02:31:54 +0900 Subject: [PATCH 182/841] Update docs for Synapse: move descriptions from docs/maintenance-and-troubleshooting.md and create the common section "Troubleshooting" I am not sure what would be the motive to put the instruction for debugging Synapse on maintenance-and-troubleshooting.md above all, but now that we have the common section for an instruction about troubleshooting, it should make sense to move the instruction to the documentation page for configuring Synapse. Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-synapse.md | 15 +++++++++++++++ docs/maintenance-and-troubleshooting.md | 16 ---------------- 2 files changed, 15 insertions(+), 16 deletions(-) diff --git a/docs/configuring-playbook-synapse.md b/docs/configuring-playbook-synapse.md index 12ae0f061..590434117 100644 --- a/docs/configuring-playbook-synapse.md +++ b/docs/configuring-playbook-synapse.md @@ -173,3 +173,18 @@ This playbook allows you to enable Synapse metrics, which can provide insight in To enable Synapse runtime metrics see: [Enabling metrics and graphs (Prometheus, Grafana) for your Matrix server](configuring-playbook-prometheus-grafana.md) To enable Synapse usage metrics, see: [Enabling synapse-usage-exporter for Synapse usage statistics](configuring-playbook-synapse-usage-exporter.md) + +## Troubleshooting + +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-synapse`. + +### Increase logging verbosity + +Because the [Synapse](https://github.com/element-hq/synapse) Matrix server is originally very chatty when it comes to logging, we intentionally reduce its [logging level](https://docs.python.org/3/library/logging.html#logging-levels) from `INFO` to `WARNING`. + +If you'd like to debug an issue or [report a Synapse bug](https://github.com/element-hq/synapse/issues/new/choose) to the developers, it'd be better if you temporarily increase the logging verbosity to `INFO`. To do so, add the following configuration to your `vars.yml` file and re-run the playbook: + +```yaml +matrix_synapse_log_level: "INFO" +matrix_synapse_storage_sql_log_level: "INFO" +matrix_synapse_root_log_level: "INFO" diff --git a/docs/maintenance-and-troubleshooting.md b/docs/maintenance-and-troubleshooting.md index 41704dfe4..fa38df727 100644 --- a/docs/maintenance-and-troubleshooting.md +++ b/docs/maintenance-and-troubleshooting.md @@ -22,22 +22,6 @@ To view systemd-journald logs using [journalctl](https://man.archlinux.org/man/j sudo journalctl -fu matrix-synapse ``` -## Increase logging verbosity - -Because the [Synapse](https://github.com/element-hq/synapse) Matrix server is originally very chatty when it comes to logging, we intentionally reduce its [logging level](https://docs.python.org/3/library/logging.html#logging-levels) from `INFO` to `WARNING`. - -If you'd like to debug an issue or [report a Synapse bug](https://github.com/element-hq/synapse/issues/new/choose) to the developers, it'd be better if you temporarily increasing the logging level to `INFO`. - -Example configuration (`inventory/host_vars/matrix.example.com/vars.yml`): - -```yaml -matrix_synapse_log_level: "INFO" -matrix_synapse_storage_sql_log_level: "INFO" -matrix_synapse_root_log_level: "INFO" -``` - -Re-run the playbook after making these configuration changes. - ## How to check if services work The playbook can perform a check to ensure that you've configured things correctly and that services are running. From b67e5729dacdcdf458815d6849981f1d48b35084 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 30 Jan 2025 02:34:41 +0900 Subject: [PATCH 183/841] Update docs/configuring-playbook-synapse: remove the duplicated anchor link Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-synapse.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/configuring-playbook-synapse.md b/docs/configuring-playbook-synapse.md index 590434117..f31ca5d81 100644 --- a/docs/configuring-playbook-synapse.md +++ b/docs/configuring-playbook-synapse.md @@ -180,7 +180,7 @@ As with all other services, you can find the logs in [systemd-journald](https:// ### Increase logging verbosity -Because the [Synapse](https://github.com/element-hq/synapse) Matrix server is originally very chatty when it comes to logging, we intentionally reduce its [logging level](https://docs.python.org/3/library/logging.html#logging-levels) from `INFO` to `WARNING`. +Because Synapse is originally very chatty when it comes to logging, we intentionally reduce its [logging level](https://docs.python.org/3/library/logging.html#logging-levels) from `INFO` to `WARNING`. If you'd like to debug an issue or [report a Synapse bug](https://github.com/element-hq/synapse/issues/new/choose) to the developers, it'd be better if you temporarily increase the logging verbosity to `INFO`. To do so, add the following configuration to your `vars.yml` file and re-run the playbook: From da0952e05862d8a0cb8aba7076fb8ca4ddbfa3b3 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 2 Feb 2025 01:12:38 +0900 Subject: [PATCH 184/841] Update docs for Synapse: add anchor links to each other Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-synapse.md | 2 ++ docs/maintenance-synapse.md | 2 ++ 2 files changed, 4 insertions(+) diff --git a/docs/configuring-playbook-synapse.md b/docs/configuring-playbook-synapse.md index f31ca5d81..04e33c36b 100644 --- a/docs/configuring-playbook-synapse.md +++ b/docs/configuring-playbook-synapse.md @@ -2,6 +2,8 @@ By default, this playbook configures the [Synapse](https://github.com/element-hq/synapse) Matrix server, so that it works for the general case. If that's okay, you can skip this document. +💡 See this page for details about maintaining Synapse: [Synapse maintenance](maintenance-synapse.md) + ## Adjusting the playbook configuration ### Load balancing with workers diff --git a/docs/maintenance-synapse.md b/docs/maintenance-synapse.md index bc78f28fd..cd8f11697 100644 --- a/docs/maintenance-synapse.md +++ b/docs/maintenance-synapse.md @@ -12,6 +12,8 @@ Table of contents: - [Make Synapse faster](#make-synapse-faster) +💡 See this page for details about configuring Synapse: [Configuring Synapse](configuring-playbook-synapse.md) + ## Purging old data with the Purge History API You can use the **[Purge History API](https://github.com/element-hq/synapse/blob/master/docs/admin_api/purge_history_api.md)** to delete old messages on a per-room basis. **This is destructive** (especially for non-federated rooms), because it means **people will no longer have access to history past a certain point**. From 4c9ea2ef304d9d0c8dfaa24b631edb7f10f2678f Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Mon, 3 Feb 2025 11:00:19 +0200 Subject: [PATCH 185/841] Upgrade exim-relay (v4.98-r0-3-0 -> v4.98-r0-4-0) --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index dd8644f0a..298406d3d 100644 --- a/requirements.yml +++ b/requirements.yml @@ -19,7 +19,7 @@ version: v2.2.6-0 name: etherpad - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay.git - version: v4.98-r0-3-0 + version: v4.98-r0-4-0 name: exim_relay - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-grafana.git version: v11.4.0-0 From d5d64f7ca3d75076e9236343ca214f3bd3c31713 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Mon, 3 Feb 2025 11:46:43 +0200 Subject: [PATCH 186/841] Upgrade matrix-corporal (3.1.2 -> 3.1.3) --- roles/custom/matrix-corporal/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-corporal/defaults/main.yml b/roles/custom/matrix-corporal/defaults/main.yml index c6829a689..6013e3a28 100644 --- a/roles/custom/matrix-corporal/defaults/main.yml +++ b/roles/custom/matrix-corporal/defaults/main.yml @@ -5,7 +5,7 @@ matrix_corporal_enabled: true # renovate: datasource=docker depName=devture/matrix-corporal -matrix_corporal_version: 3.1.2 +matrix_corporal_version: 3.1.3 matrix_corporal_container_image_self_build: false matrix_corporal_container_image_self_build_repo: "https://github.com/devture/matrix-corporal.git" From bd42874ed721d5ca5658fe4eaa4c9b16e71b99e7 Mon Sep 17 00:00:00 2001 From: adam-kress Date: Mon, 3 Feb 2025 07:46:58 -0500 Subject: [PATCH 187/841] Upgrade Jitsi (v9955-0 -> v10008-0) --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 298406d3d..7c4a1db6e 100644 --- a/requirements.yml +++ b/requirements.yml @@ -25,7 +25,7 @@ version: v11.4.0-0 name: grafana - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-jitsi.git - version: v9955-0 + version: v10008-0 name: jitsi - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-ntfy.git version: v2.11.0-0 From 98d5ede2c6c7bec177e92ebdf0eed59a6fb91338 Mon Sep 17 00:00:00 2001 From: Aine Date: Mon, 3 Feb 2025 16:42:34 +0200 Subject: [PATCH 188/841] grafana v11.5.1 --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 7c4a1db6e..7d4f69401 100644 --- a/requirements.yml +++ b/requirements.yml @@ -22,7 +22,7 @@ version: v4.98-r0-4-0 name: exim_relay - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-grafana.git - version: v11.4.0-0 + version: v11.5.1-0 name: grafana - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-jitsi.git version: v10008-0 From c399992542aa4b7f19e7fea9c1d24d64b4a3cab5 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Mon, 3 Feb 2025 17:08:12 +0200 Subject: [PATCH 189/841] Remove `matrix-bridge-mautrix-hangouts` role Closes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3863 --- CHANGELOG.md | 11 + ...guring-playbook-bridge-mautrix-hangouts.md | 59 +----- ...iguring-playbook-bridge-mx-puppet-skype.md | 2 +- docs/configuring-playbook.md | 2 - docs/container-images.md | 1 - docs/self-building.md | 1 - group_vars/matrix_servers | 84 -------- .../defaults/main.yml | 190 ------------------ .../tasks/main.yml | 20 -- .../tasks/setup_install.yml | 144 ------------- .../tasks/setup_uninstall.yml | 20 -- .../tasks/validate_config.yml | 31 --- .../templates/config.yaml.j2 | 149 -------------- .../templates/labels.j2 | 76 ------- .../matrix-mautrix-hangouts.service.j2 | 69 ------- .../tasks/validate_config.yml | 13 ++ setup.yml | 1 - 17 files changed, 34 insertions(+), 839 deletions(-) delete mode 100644 roles/custom/matrix-bridge-mautrix-hangouts/defaults/main.yml delete mode 100644 roles/custom/matrix-bridge-mautrix-hangouts/tasks/main.yml delete mode 100644 roles/custom/matrix-bridge-mautrix-hangouts/tasks/setup_install.yml delete mode 100644 roles/custom/matrix-bridge-mautrix-hangouts/tasks/setup_uninstall.yml delete mode 100644 roles/custom/matrix-bridge-mautrix-hangouts/tasks/validate_config.yml delete mode 100644 roles/custom/matrix-bridge-mautrix-hangouts/templates/config.yaml.j2 delete mode 100644 roles/custom/matrix-bridge-mautrix-hangouts/templates/labels.j2 delete mode 100644 roles/custom/matrix-bridge-mautrix-hangouts/templates/systemd/matrix-mautrix-hangouts.service.j2 diff --git a/CHANGELOG.md b/CHANGELOG.md index 2f659a85a..bbbc609d9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,14 @@ +# 2025-02-03 + +## The mautrix-hangouts bridge has been removed from the playbook + +The [mautrix-hangouts](./docs/configuring-playbook-bridge-mautrix-hangouts.md) bridge has been deprecated in the playbook since December 2024 and finally got completely removed from the playbook in February 2025. + +This is because Google Hangouts has been discontinued since the 1st of November 2022. + +The playbook will let you know if you're using any `matrix_mautrix_hangouts_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the bridge manually](./docs/configuring-playbook-bridge-mautrix-hangouts.md#uninstalling-the-bridge-manually). + + # 2025-01-27 ## Redis and KeyDB are no longer part of the playbook diff --git a/docs/configuring-playbook-bridge-mautrix-hangouts.md b/docs/configuring-playbook-bridge-mautrix-hangouts.md index 307605be4..c12283d0c 100644 --- a/docs/configuring-playbook-bridge-mautrix-hangouts.md +++ b/docs/configuring-playbook-bridge-mautrix-hangouts.md @@ -1,58 +1,17 @@ # Setting up Mautrix Hangouts bridging (optional, deprecated) -Refer the common guide for configuring mautrix bridges: [Setting up a Generic Mautrix Bridge](configuring-playbook-bridge-mautrix-bridges.md) +🪦 The playbook used to be able to install and configure [mautrix-hangouts](https://github.com/mautrix/hangouts), but no longer includes this component, because Google Hangouts has been discontinued since the 1st of November 2022. -💡 **Note**: This bridge has been deprecated in favor of [Google Chat bridge](https://github.com/mautrix/googlechat), which can be installed using [this playbook](configuring-playbook-bridge-mautrix-googlechat.md). Installing the mautrix-hangouts bridge is **no longer possible**. For now, this documentation page remains here for historical purposes. +You may wish to use the [Google Chat bridge](https://github.com/mautrix/googlechat) instead. -The playbook can install and configure [mautrix-hangouts](https://github.com/mautrix/hangouts) for you. +## Uninstalling the bridge manually -## Prerequisite (optional) +If you still have the Hangouts bridge installed on your Matrix server, the playbook can no longer help you uninstall it and you will need to do it manually. To uninstall manually, run these commands on the server: -### Enable Shared Secret Auth - -If you want to set up [Double Puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html) (hint: you most likely do) for this bridge automatically, you need to have enabled [Shared Secret Auth](configuring-playbook-shared-secret-auth.md) for this playbook. - -See [this section](configuring-playbook-bridge-mautrix-bridges.md#set-up-double-puppeting-optional) on the [common guide for configuring mautrix bridges](configuring-playbook-bridge-mautrix-bridges.md) for details about setting up Double Puppeting. - -**Note**: double puppeting with the Shared Secret Auth works at the time of writing, but is deprecated and will stop working in the future. - -## Adjusting the playbook configuration - -To enable the [Google Hangouts](https://hangouts.google.com/) bridge, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: - -```yaml -matrix_mautrix_hangouts_enabled: true -``` - -### Extending the configuration - -There are some additional things you may wish to configure about the bridge. - -See [this section](configuring-playbook-bridge-mautrix-bridges.md#extending-the-configuration) on the [common guide for configuring mautrix bridges](configuring-playbook-bridge-mautrix-bridges.md) for details about variables that you can customize and the bridge's default configuration, including [bridge permissions](configuring-playbook-bridge-mautrix-bridges.md#configure-bridge-permissions-optional), [encryption support](configuring-playbook-bridge-mautrix-bridges.md#enable-encryption-optional), [relay mode](configuring-playbook-bridge-mautrix-bridges.md#enable-relay-mode-optional), [bot's username](configuring-playbook-bridge-mautrix-bridges.md#set-the-bots-username-optional), etc. - -## Installing - -After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below: - - ```sh -ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start +systemctl disable --now matrix-mautrix-hangouts.service + +rm -rf /matrix/mautrix-hangouts + +/matrix/postgres/bin/cli-non-interactive 'DROP DATABASE matrix_mautrix_hangouts;' ``` - -**Notes**: - -- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. - -- The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` - - `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. - -## Usage - -To use the bridge, you need to start a chat with `@hangoutsbot:example.com` (where `example.com` is your base domain, not the `matrix.` domain). - -You then need to send `login` to the bridge bot to receive a link to the portal from which you can enable the bridging. Open the link sent by the bot and follow the instructions. - -Automatic login may not work. If it does not, reload the page and select the "Manual login" checkbox before starting. Manual login involves logging into your Google account normally and then manually getting the OAuth token from browser cookies with developer tools. - -Once logged in, recent chats should show up as new conversations automatically. Other chats will get portals as you receive messages. diff --git a/docs/configuring-playbook-bridge-mx-puppet-skype.md b/docs/configuring-playbook-bridge-mx-puppet-skype.md index bc9d6d534..6bbfb7aa5 100644 --- a/docs/configuring-playbook-bridge-mx-puppet-skype.md +++ b/docs/configuring-playbook-bridge-mx-puppet-skype.md @@ -1,5 +1,5 @@ # Setting up MX Puppet Skype bridging (optional, removed) -The playbook used to be able to install and configure [mx-puppet-skype](https://github.com/Sorunome/mx-puppet-skype), but no longer includes this component, because it has been broken and unmaintained for a long time. +🪦 The playbook used to be able to install and configure [mx-puppet-skype](https://github.com/Sorunome/mx-puppet-skype), but no longer includes this component, because it has been broken and unmaintained for a long time. Bridging to [Skype](https://www.skype.com/) can also happen via the [go-skype-bridge](configuring-playbook-bridge-go-skype-bridge.md) bridge supported by the playbook. diff --git a/docs/configuring-playbook.md b/docs/configuring-playbook.md index ea371c99b..6a2942a24 100644 --- a/docs/configuring-playbook.md +++ b/docs/configuring-playbook.md @@ -250,8 +250,6 @@ Various services that don't fit any other categories. - [Setting up Mautrix Facebook bridging](configuring-playbook-bridge-mautrix-facebook.md) (deprecated in favor of the Messenger/Instagram bridge with [mautrix-meta-messenger](configuring-playbook-bridge-mautrix-meta-messenger.md)) -- [Setting up Mautrix Hangouts bridging](configuring-playbook-bridge-mautrix-hangouts.md) (deprecated in favor of the Google Chat bridge with [mautrix-googlechat](configuring-playbook-bridge-mautrix-googlechat.md)) - - [Setting up Mautrix Instagram bridging](configuring-playbook-bridge-mautrix-instagram.md) (deprecated in favor of the Messenger/Instagram bridge with [mautrix-meta-instagram](configuring-playbook-bridge-mautrix-meta-instagram.md)) - [Setting up MX Puppet Skype bridging](configuring-playbook-bridge-mx-puppet-skype.md) (removed; this component has been broken for a long time, so it has been removed from the playbook. Consider [setting up Go Skype Bridge bridging](configuring-playbook-bridge-go-skype-bridge.md)) diff --git a/docs/container-images.md b/docs/container-images.md index 7fb671c16..23e2004f9 100644 --- a/docs/container-images.md +++ b/docs/container-images.md @@ -161,5 +161,4 @@ The list of the deprecated or unmaintained services is available [here](configur | [Go-NEB](configuring-playbook-bot-go-neb.md) | [matrixdotorg/go-neb](https://hub.docker.com/r/matrixdotorg/go-neb) | ❌ | Multi functional bot written in Go | | [matrix-chatgpt-bot](configuring-playbook-bot-chatgpt.md) | [matrixgpt/matrix-chatgpt-bot](https://ghcr.io/matrixgpt/matrix-chatgpt-bot) | ❌ | Accessing ChatGPT via your favourite Matrix client | | [mautrix-facebook](configuring-playbook-bridge-mautrix-facebook.md) | [mautrix/facebook](https://mau.dev/mautrix/facebook/container_registry) | ❌ | Bridge to [Facebook](https://facebook.com/) | -| [mautrix-hangouts](configuring-playbook-bridge-mautrix-hangouts.md) | [mautrix/hangouts](https://mau.dev/mautrix/hangouts/container_registry) | ❌ | Bridge to [Google Hangouts](https://en.wikipedia.org/wiki/Google_Hangouts) | | [mautrix-instagram](configuring-playbook-bridge-mautrix-instagram.md) | [mautrix/instagram](https://mau.dev/mautrix/instagram/container_registry) | ❌ | Bridge to [Instagram](https://instagram.com/) | diff --git a/docs/self-building.md b/docs/self-building.md index 4304f4ded..543065d89 100644 --- a/docs/self-building.md +++ b/docs/self-building.md @@ -28,7 +28,6 @@ Possibly outdated list of roles where self-building the Docker image is currentl - `matrix-bridge-appservice-webhooks` - `matrix-bridge-beeper-linkedin` - `matrix-bridge-mautrix-facebook` -- `matrix-bridge-mautrix-hangouts` - `matrix-bridge-mautrix-googlechat` - `matrix-bridge-mautrix-telegram` - `matrix-bridge-mautrix-signal` diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index b08f02e6a..516fd6d83 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -115,8 +115,6 @@ matrix_homeserver_container_extra_arguments_auto: | + (['--mount type=bind,src=' + matrix_mautrix_googlechat_config_path + '/registration.yaml,dst=/matrix-mautrix-googlechat-registration.yaml,ro'] if matrix_mautrix_googlechat_enabled else []) + - (['--mount type=bind,src=' + matrix_mautrix_hangouts_config_path + '/registration.yaml,dst=/matrix-mautrix-hangouts-registration.yaml,ro'] if matrix_mautrix_hangouts_enabled else []) - + (['--mount type=bind,src=' + matrix_mautrix_instagram_config_path + '/registration.yaml,dst=/matrix-mautrix-instagram-registration.yaml,ro'] if matrix_mautrix_instagram_enabled else []) + (['--mount type=bind,src=' + matrix_mautrix_signal_config_path + '/registration.yaml,dst=/matrix-mautrix-signal-registration.yaml,ro'] if matrix_mautrix_signal_enabled else []) @@ -188,8 +186,6 @@ matrix_homeserver_app_service_config_files_auto: | + (['/matrix-mautrix-googlechat-registration.yaml'] if matrix_mautrix_googlechat_enabled else []) + - (['/matrix-mautrix-hangouts-registration.yaml'] if matrix_mautrix_hangouts_enabled else []) - + (['/matrix-mautrix-instagram-registration.yaml'] if matrix_mautrix_instagram_enabled else []) + (['/matrix-mautrix-signal-registration.yaml'] if matrix_mautrix_signal_enabled else []) @@ -332,8 +328,6 @@ devture_systemd_service_manager_services_list_auto: | + ([{'name': 'matrix-mautrix-googlechat.service', 'priority': 2000, 'groups': ['matrix', 'bridges', 'mautrix-googlechat']}] if matrix_mautrix_googlechat_enabled else []) + - ([{'name': 'matrix-mautrix-hangouts.service', 'priority': 2000, 'groups': ['matrix', 'bridges', 'mautrix-hangouts']}] if matrix_mautrix_hangouts_enabled else []) - + ([{'name': 'matrix-mautrix-instagram.service', 'priority': 2000, 'groups': ['matrix', 'bridges', 'mautrix-instagram']}] if matrix_mautrix_instagram_enabled else []) + ([{'name': 'matrix-mautrix-signal.service', 'priority': 2000, 'groups': ['matrix', 'bridges', 'mautrix-signal', 'mautrix-signal']}] if matrix_mautrix_signal_enabled else []) @@ -1362,73 +1356,6 @@ matrix_mautrix_googlechat_database_password: "{{ '%s' | format(matrix_homeserver ###################################################################### -###################################################################### -# -# matrix-bridge-mautrix-hangouts -# -###################################################################### - -# We don't enable bridges by default. -matrix_mautrix_hangouts_enabled: false - -matrix_mautrix_hangouts_systemd_required_services_list_auto: | - {{ - matrix_addons_homeserver_systemd_services_list - + - ([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_mautrix_hangouts_database_hostname == postgres_connection_hostname) else []) - }} - -matrix_mautrix_hangouts_container_image_self_build: "{{ matrix_architecture not in ['amd64', 'arm64'] }}" - -matrix_mautrix_hangouts_container_http_host_bind_port: "{{ (matrix_playbook_service_host_bind_interface_prefix ~ '9007') if matrix_playbook_service_host_bind_interface_prefix else '' }}" - -matrix_mautrix_hangouts_container_network: "{{ matrix_addons_container_network }}" - -matrix_mautrix_hangouts_container_additional_networks_auto: |- - {{ - ( - ([] if matrix_addons_homeserver_container_network == '' else [matrix_addons_homeserver_container_network]) - + - ([postgres_container_network] if (postgres_enabled and matrix_mautrix_hangouts_database_hostname == postgres_connection_hostname and matrix_mautrix_hangouts_container_network != postgres_container_network) else []) - + - ([matrix_playbook_reverse_proxyable_services_additional_network] if (matrix_playbook_reverse_proxyable_services_additional_network and matrix_mautrix_gmessages_container_labels_traefik_enabled) else []) - ) | unique - }} - -matrix_mautrix_hangouts_container_labels_traefik_enabled: "{{ matrix_playbook_reverse_proxy_type in ['playbook-managed-traefik', 'other-traefik-container'] }}" -matrix_mautrix_hangouts_container_labels_traefik_docker_network: "{{ matrix_playbook_reverse_proxyable_services_additional_network }}" -matrix_mautrix_hangouts_container_labels_traefik_entrypoints: "{{ traefik_entrypoint_primary }}" -matrix_mautrix_hangouts_container_labels_traefik_tls_certResolver: "{{ traefik_certResolver_primary }}" - -matrix_mautrix_hangouts_container_labels_public_endpoint_hostname: "{{ matrix_server_fqn_matrix }}" - -matrix_mautrix_hangouts_container_labels_metrics_middleware_basic_auth_enabled: "{{ matrix_metrics_exposure_http_basic_auth_enabled }}" -matrix_mautrix_hangouts_container_labels_metrics_middleware_basic_auth_users: "{{ matrix_metrics_exposure_http_basic_auth_users }}" - -matrix_mautrix_hangouts_appservice_token: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'ho.as.token', rounds=655555) | to_uuid }}" - -matrix_mautrix_hangouts_homeserver_address: "{{ matrix_addons_homeserver_client_api_url }}" -matrix_mautrix_hangouts_homeserver_token: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'ho.hs.token', rounds=655555) | to_uuid }}" - -matrix_mautrix_hangouts_login_shared_secret: "{{ matrix_synapse_ext_password_provider_shared_secret_auth_shared_secret if matrix_synapse_ext_password_provider_shared_secret_auth_enabled else '' }}" - -matrix_mautrix_hangouts_metrics_enabled: "{{ prometheus_enabled or matrix_metrics_exposure_enabled }}" - -matrix_mautrix_hangouts_metrics_proxying_enabled: "{{ matrix_mautrix_hangouts_metrics_enabled and matrix_metrics_exposure_enabled }}" -matrix_mautrix_hangouts_metrics_proxying_hostname: "{{ matrix_metrics_exposure_hostname }}" -matrix_mautrix_hangouts_metrics_proxying_path_prefix: "{{ matrix_metrics_exposure_path_prefix }}/mautrix-hangouts" - -# Postgres is the default, except if not using internal Postgres server -matrix_mautrix_hangouts_database_engine: "{{ 'postgres' if postgres_enabled else 'sqlite' }}" -matrix_mautrix_hangouts_database_hostname: "{{ postgres_connection_hostname if postgres_enabled else '' }}" -matrix_mautrix_hangouts_database_password: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'mau.hangouts.db', rounds=655555) | to_uuid }}" - -###################################################################### -# -# /matrix-bridge-mautrix-hangouts -# -###################################################################### - ###################################################################### # @@ -4139,12 +4066,6 @@ postgres_managed_databases_auto: | 'password': matrix_mautrix_facebook_database_password, }] if (matrix_mautrix_facebook_enabled and matrix_mautrix_facebook_database_engine == 'postgres' and matrix_mautrix_facebook_database_hostname == postgres_connection_hostname) else []) + - ([{ - 'name': matrix_mautrix_hangouts_database_name, - 'username': matrix_mautrix_hangouts_database_username, - 'password': matrix_mautrix_hangouts_database_password, - }] if (matrix_mautrix_hangouts_enabled and matrix_mautrix_hangouts_database_engine == 'postgres' and matrix_mautrix_hangouts_database_hostname == postgres_connection_hostname) else []) - + ([{ 'name': matrix_mautrix_googlechat_database_name, 'username': matrix_mautrix_googlechat_database_username, @@ -5009,11 +4930,6 @@ matrix_synapse_admin_config_asManagedUsers_auto: | '^@googlechat_[a-zA-Z0-9]+:'+(matrix_domain | regex_escape)+'$', ] if matrix_mautrix_googlechat_enabled else []) + - ([ - '^@'+(matrix_mautrix_hangouts_appservice_bot_username | default('') | regex_escape)+':'+(matrix_domain | regex_escape)+'$', - '^@hangouts_[a-zA-Z0-9]+:'+(matrix_domain | regex_escape)+'$', - ] if matrix_mautrix_hangouts_enabled else []) - + ([ '^@'+(matrix_mautrix_instagram_appservice_bot_username | default('') | regex_escape)+':'+(matrix_domain | regex_escape)+'$', '^@instagram_[a-zA-Z0-9]+:'+(matrix_domain | regex_escape)+'$', diff --git a/roles/custom/matrix-bridge-mautrix-hangouts/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-hangouts/defaults/main.yml deleted file mode 100644 index 764854017..000000000 --- a/roles/custom/matrix-bridge-mautrix-hangouts/defaults/main.yml +++ /dev/null @@ -1,190 +0,0 @@ ---- -# mautrix-hangouts is a Matrix <-> Hangouts bridge -# Project source code URL: https://github.com/mautrix/hangouts - -matrix_mautrix_hangouts_enabled: true - -matrix_mautrix_hangouts_container_image_self_build: false -matrix_mautrix_hangouts_container_image_self_build_repo: "https://github.com/mautrix/hangouts.git" -matrix_mautrix_hangouts_container_image_self_build_repo_version: "{{ 'master' if matrix_mautrix_hangouts_version == 'latest' else matrix_mautrix_hangouts_version }}" - -# renovate: datasource=docker depName=dock.mau.dev/mautrix/hangouts -matrix_mautrix_hangouts_version: latest -# See: https://mau.dev/mautrix/hangouts/container_registry -matrix_mautrix_hangouts_docker_image: "{{ matrix_mautrix_hangouts_docker_image_name_prefix }}mautrix/hangouts:{{ matrix_mautrix_hangouts_version }}" -matrix_mautrix_hangouts_docker_image_name_prefix: "{{ 'localhost/' if matrix_mautrix_hangouts_container_image_self_build else 'dock.mau.dev/' }}" -matrix_mautrix_hangouts_docker_image_force_pull: "{{ matrix_mautrix_hangouts_docker_image.endswith(':latest') }}" - -matrix_mautrix_hangouts_base_path: "{{ matrix_base_data_path }}/mautrix-hangouts" -matrix_mautrix_hangouts_config_path: "{{ matrix_mautrix_hangouts_base_path }}/config" -matrix_mautrix_hangouts_data_path: "{{ matrix_mautrix_hangouts_base_path }}/data" -matrix_mautrix_hangouts_docker_src_files_path: "{{ matrix_mautrix_hangouts_base_path }}/docker-src" - -matrix_mautrix_hangouts_public_endpoint: '/mautrix-hangouts' - -matrix_mautrix_hangouts_homeserver_address: "" -matrix_mautrix_hangouts_homeserver_domain: '{{ matrix_domain }}' -matrix_mautrix_hangouts_appservice_address: 'http://matrix-mautrix-hangouts:8080' - -matrix_mautrix_hangouts_command_prefix: "!HO" - -matrix_mautrix_hangouts_bridge_permissions: | - {{ - {matrix_mautrix_hangouts_homeserver_domain: 'user'} - | combine({matrix_admin: 'admin'} if matrix_admin else {}) - }} - -# Controls whether the matrix-mautrix-hangouts container exposes its HTTP port (tcp/8080 in the container). -# -# Takes an ":" or "" value (e.g. "127.0.0.1:9007"), or empty string to not expose. -matrix_mautrix_hangouts_container_http_host_bind_port: '' - -matrix_mautrix_hangouts_container_network: "" - -matrix_mautrix_hangouts_container_additional_networks: "{{ matrix_mautrix_hangouts_container_additional_networks_auto + matrix_mautrix_hangouts_container_additional_networks_custom }}" -matrix_mautrix_hangouts_container_additional_networks_auto: [] -matrix_mautrix_hangouts_container_additional_networks_custom: [] - -# matrix_mautrix_hangouts_container_labels_traefik_enabled controls whether labels to assist a Traefik reverse-proxy will be attached to the container. -# See `../templates/labels.j2` for details. -# -# To inject your own other container labels, see `matrix_mautrix_hangouts_container_labels_additional_labels`. -matrix_mautrix_hangouts_container_labels_traefik_enabled: true -matrix_mautrix_hangouts_container_labels_traefik_docker_network: "{{ matrix_mautrix_hangouts_container_network }}" -matrix_mautrix_hangouts_container_labels_traefik_entrypoints: web-secure -matrix_mautrix_hangouts_container_labels_traefik_tls_certResolver: default # noqa var-naming - -# Controls whether labels will be added that expose mautrix-googlechat's public endpoint -matrix_mautrix_hangouts_container_labels_public_endpoint_enabled: true -matrix_mautrix_hangouts_container_labels_public_endpoint_hostname: "" -matrix_mautrix_hangouts_container_labels_public_endpoint_path_prefix: "{{ matrix_mautrix_hangouts_public_endpoint }}" -matrix_mautrix_hangouts_container_labels_public_endpoint_traefik_rule: "Host(`{{ matrix_mautrix_hangouts_container_labels_public_endpoint_hostname }}`) && PathPrefix(`{{ matrix_mautrix_hangouts_container_labels_public_endpoint_path_prefix }}`)" -matrix_mautrix_hangouts_container_labels_public_endpoint_traefik_priority: 0 -matrix_mautrix_hangouts_container_labels_public_endpoint_traefik_entrypoints: "{{ matrix_mautrix_hangouts_container_labels_traefik_entrypoints }}" -matrix_mautrix_hangouts_container_labels_public_endpoint_traefik_tls: "{{ matrix_mautrix_hangouts_container_labels_public_endpoint_traefik_entrypoints != 'web' }}" -matrix_mautrix_hangouts_container_labels_public_endpoint_traefik_tls_certResolver: "{{ matrix_mautrix_hangouts_container_labels_traefik_tls_certResolver }}" # noqa var-naming - -# Controls whether labels will be added that expose mautrix-googlechat's metrics -matrix_mautrix_hangouts_container_labels_metrics_enabled: "{{ matrix_mautrix_hangouts_metrics_enabled and matrix_mautrix_hangouts_metrics_proxying_enabled }}" -matrix_mautrix_hangouts_container_labels_metrics_traefik_rule: "Host(`{{ matrix_mautrix_hangouts_metrics_proxying_hostname }}`) && PathPrefix(`{{ matrix_mautrix_hangouts_metrics_proxying_path_prefix }}`)" -matrix_mautrix_hangouts_container_labels_metrics_traefik_priority: 0 -matrix_mautrix_hangouts_container_labels_metrics_traefik_entrypoints: "{{ matrix_mautrix_hangouts_container_labels_traefik_entrypoints }}" -matrix_mautrix_hangouts_container_labels_metrics_traefik_tls: "{{ matrix_mautrix_hangouts_container_labels_metrics_traefik_entrypoints != 'web' }}" -matrix_mautrix_hangouts_container_labels_metrics_traefik_tls_certResolver: "{{ matrix_mautrix_hangouts_container_labels_traefik_tls_certResolver }}" # noqa var-naming -matrix_mautrix_hangouts_container_labels_metrics_middleware_basic_auth_enabled: false -# See: https://doc.traefik.io/traefik/middlewares/http/basicauth/#users -matrix_mautrix_hangouts_container_labels_metrics_middleware_basic_auth_users: '' - -# matrix_mautrix_hangouts_container_labels_additional_labels contains a multiline string with additional labels to add to the container label file. -# See `../templates/labels.j2` for details. -# -# Example: -# matrix_mautrix_hangouts_container_labels_additional_labels: | -# my.label=1 -# another.label="here" -matrix_mautrix_hangouts_container_labels_additional_labels: '' - -# A list of extra arguments to pass to the container -matrix_mautrix_hangouts_container_extra_arguments: [] - -# List of systemd services that matrix-mautrix-hangouts.service depends on. -matrix_mautrix_hangouts_systemd_required_services_list: "{{ matrix_mautrix_hangouts_systemd_required_services_list_default + matrix_mautrix_hangouts_systemd_required_services_list_auto + matrix_mautrix_hangouts_systemd_required_services_list_custom }}" -matrix_mautrix_hangouts_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}" -matrix_mautrix_hangouts_systemd_required_services_list_auto: [] -matrix_mautrix_hangouts_systemd_required_services_list_custom: [] - -# List of systemd services that matrix-mautrix-hangouts.service wants -matrix_mautrix_hangouts_systemd_wanted_services_list: [] - -matrix_mautrix_hangouts_appservice_token: '' -matrix_mautrix_hangouts_homeserver_token: '' - -# Whether or not metrics endpoint should be enabled. -# Enabling them is usually enough for a local (in-container) Prometheus to consume them. -# If metrics need to be consumed by another (external) Prometheus server, consider exposing them via `matrix_mautrix_hangouts_metrics_proxying_enabled`. -matrix_mautrix_hangouts_metrics_enabled: false - -# Controls whether metrics should be proxied (exposed) on a public URL. -matrix_mautrix_hangouts_metrics_proxying_enabled: false -matrix_mautrix_hangouts_metrics_proxying_hostname: '' -matrix_mautrix_hangouts_metrics_proxying_path_prefix: '' - -# Database-related configuration fields. -# -# To use SQLite, stick to these defaults. -# -# To use Postgres: -# - change the engine (`matrix_mautrix_hangouts_database_engine: 'postgres'`) -# - adjust your database credentials via the `matrix_mautrix_hangouts_database_*` variables -matrix_mautrix_hangouts_database_engine: 'sqlite' - -matrix_mautrix_hangouts_sqlite_database_path_local: "{{ matrix_mautrix_hangouts_data_path }}/mautrix-hangouts.db" -matrix_mautrix_hangouts_sqlite_database_path_in_container: "/data/mautrix-hangouts.db" - -matrix_mautrix_hangouts_database_username: 'matrix_mautrix_hangouts' -matrix_mautrix_hangouts_database_password: 'some-password' -matrix_mautrix_hangouts_database_hostname: '' -matrix_mautrix_hangouts_database_port: 5432 -matrix_mautrix_hangouts_database_name: 'matrix_mautrix_hangouts' - -matrix_mautrix_hangouts_database_connection_string: 'postgres://{{ matrix_mautrix_hangouts_database_username }}:{{ matrix_mautrix_hangouts_database_password }}@{{ matrix_mautrix_hangouts_database_hostname }}:{{ matrix_mautrix_hangouts_database_port }}/{{ matrix_mautrix_hangouts_database_name }}' - -matrix_mautrix_hangouts_appservice_database: "{{ - { - 'sqlite': ('sqlite:///' + matrix_mautrix_hangouts_sqlite_database_path_in_container), - 'postgres': matrix_mautrix_hangouts_database_connection_string, - }[matrix_mautrix_hangouts_database_engine] -}}" - - -# Can be set to enable automatic double-puppeting via Shared Secret Auth (https://github.com/devture/matrix-synapse-shared-secret-auth). -matrix_mautrix_hangouts_login_shared_secret: '' - -matrix_mautrix_hangouts_appservice_bot_username: hangoutsbot - -# Specifies the default log level for all bridge loggers. -matrix_mautrix_hangouts_logging_level: WARNING - -# Default configuration template which covers the generic use case. -# You can customize it by controlling the various variables inside it. -# -# For a more advanced customization, you can extend the default (see `matrix_mautrix_hangouts_configuration_extension_yaml`) -# or completely replace this variable with your own template. -matrix_mautrix_hangouts_configuration_yaml: "{{ lookup('template', 'templates/config.yaml.j2') }}" - -matrix_mautrix_hangouts_configuration_extension_yaml: | - # Your custom YAML configuration goes here. - # This configuration extends the default starting configuration (`matrix_mautrix_hangouts_configuration_yaml`). - # - # You can override individual variables from the default configuration, or introduce new ones. - # - # If you need something more special, you can take full control by - # completely redefining `matrix_mautrix_hangouts_configuration_yaml`. - -matrix_mautrix_hangouts_configuration_extension: "{{ matrix_mautrix_hangouts_configuration_extension_yaml | from_yaml if matrix_mautrix_hangouts_configuration_extension_yaml | from_yaml is mapping else {} }}" - -# Holds the final configuration (a combination of the default and its extension). -# You most likely don't need to touch this variable. Instead, see `matrix_mautrix_hangouts_configuration_yaml`. -matrix_mautrix_hangouts_configuration: "{{ matrix_mautrix_hangouts_configuration_yaml | from_yaml | combine(matrix_mautrix_hangouts_configuration_extension, recursive=True) }}" - -matrix_mautrix_hangouts_registration_yaml: | - id: hangouts - as_token: "{{ matrix_mautrix_hangouts_appservice_token }}" - hs_token: "{{ matrix_mautrix_hangouts_homeserver_token }}" - namespaces: - users: - - exclusive: true - regex: '^@hangouts_.+:{{ matrix_mautrix_hangouts_homeserver_domain | regex_escape }}$' - - exclusive: true - regex: '^@{{ matrix_mautrix_hangouts_appservice_bot_username | regex_escape }}:{{ matrix_mautrix_hangouts_homeserver_domain | regex_escape }}$' - url: {{ matrix_mautrix_hangouts_appservice_address }} - # See https://github.com/mautrix/signal/issues/43 - sender_localpart: _bot_{{ matrix_mautrix_hangouts_appservice_bot_username }} - rate_limited: false - de.sorunome.msc2409.push_ephemeral: true - -matrix_mautrix_hangouts_registration: "{{ matrix_mautrix_hangouts_registration_yaml | from_yaml }}" - -# Enable End-to-bridge encryption -matrix_mautrix_hangouts_bridge_encryption_allow: "{{ matrix_bridges_encryption_enabled }}" -matrix_mautrix_hangouts_bridge_encryption_default: "{{ matrix_bridges_encryption_default }}" diff --git a/roles/custom/matrix-bridge-mautrix-hangouts/tasks/main.yml b/roles/custom/matrix-bridge-mautrix-hangouts/tasks/main.yml deleted file mode 100644 index 601c0b0ae..000000000 --- a/roles/custom/matrix-bridge-mautrix-hangouts/tasks/main.yml +++ /dev/null @@ -1,20 +0,0 @@ ---- - -- tags: - - setup-all - - setup-mautrix-hangouts - - install-all - - install-mautrix-hangouts - block: - - when: matrix_mautrix_hangouts_enabled | bool - ansible.builtin.include_tasks: "{{ role_path }}/tasks/validate_config.yml" - - - when: matrix_mautrix_hangouts_enabled | bool - ansible.builtin.include_tasks: "{{ role_path }}/tasks/setup_install.yml" - -- tags: - - setup-all - - setup-mautrix-hangouts - block: - - when: not matrix_mautrix_hangouts_enabled | bool - ansible.builtin.include_tasks: "{{ role_path }}/tasks/setup_uninstall.yml" diff --git a/roles/custom/matrix-bridge-mautrix-hangouts/tasks/setup_install.yml b/roles/custom/matrix-bridge-mautrix-hangouts/tasks/setup_install.yml deleted file mode 100644 index 49bdb5ab2..000000000 --- a/roles/custom/matrix-bridge-mautrix-hangouts/tasks/setup_install.yml +++ /dev/null @@ -1,144 +0,0 @@ ---- - -- ansible.builtin.set_fact: - matrix_mautrix_hangouts_requires_restart: false - -- when: "matrix_mautrix_hangouts_database_engine == 'postgres'" - block: - - name: Check if an SQLite database already exists - ansible.builtin.stat: - path: "{{ matrix_mautrix_hangouts_sqlite_database_path_local }}" - register: matrix_mautrix_hangouts_sqlite_database_path_local_stat_result - - - when: "matrix_mautrix_hangouts_sqlite_database_path_local_stat_result.stat.exists | bool" - block: - - ansible.builtin.include_role: - name: galaxy/postgres - tasks_from: migrate_db_to_postgres - vars: - postgres_db_migration_request: - src: "{{ matrix_mautrix_hangouts_sqlite_database_path_local }}" - dst: "{{ matrix_mautrix_hangouts_database_connection_string }}" - caller: "{{ role_path | basename }}" - engine_variable_name: 'matrix_mautrix_hangouts_database_engine' - engine_old: 'sqlite' - systemd_services_to_stop: ['matrix-mautrix-hangouts.service'] - - - ansible.builtin.set_fact: - matrix_mautrix_hangouts_requires_restart: true - -- name: Ensure Mautrix Hangouts image is pulled - community.docker.docker_image: - name: "{{ matrix_mautrix_hangouts_docker_image }}" - source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}" - force_source: "{{ matrix_mautrix_hangouts_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" - force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_mautrix_hangouts_docker_image_force_pull }}" - when: not matrix_mautrix_hangouts_container_image_self_build - register: result - retries: "{{ devture_playbook_help_container_retries_count }}" - delay: "{{ devture_playbook_help_container_retries_delay }}" - until: result is not failed - -- name: Ensure Mautrix Hangouts paths exist - ansible.builtin.file: - path: "{{ item.path }}" - state: directory - mode: 0750 - owner: "{{ matrix_user_username }}" - group: "{{ matrix_user_groupname }}" - with_items: - - {path: "{{ matrix_mautrix_hangouts_base_path }}", when: true} - - {path: "{{ matrix_mautrix_hangouts_config_path }}", when: true} - - {path: "{{ matrix_mautrix_hangouts_data_path }}", when: true} - - {path: "{{ matrix_mautrix_hangouts_docker_src_files_path }}", when: "{{ matrix_mautrix_hangouts_container_image_self_build }}"} - when: "item.when | bool" - -- name: Ensure Mautrix Hangots repository is present on self build - ansible.builtin.git: - repo: "{{ matrix_mautrix_hangouts_container_image_self_build_repo }}" - version: "{{ matrix_mautrix_hangouts_container_image_self_build_repo_version }}" - dest: "{{ matrix_mautrix_hangouts_docker_src_files_path }}" - force: "yes" - become: true - become_user: "{{ matrix_user_username }}" - register: matrix_mautrix_hangouts_git_pull_results - when: "matrix_mautrix_hangouts_container_image_self_build | bool" - -- name: Ensure Mautrix Hangouts Docker image is built - community.docker.docker_image: - name: "{{ matrix_mautrix_hangouts_docker_image }}" - source: build - force_source: "{{ matrix_mautrix_hangouts_git_pull_results.changed if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" - force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_mautrix_hangouts_git_pull_results.changed }}" - build: - dockerfile: Dockerfile - path: "{{ matrix_mautrix_hangouts_docker_src_files_path }}" - pull: true - when: "matrix_mautrix_hangouts_container_image_self_build | bool" - -- name: Check if an old database file already exists - ansible.builtin.stat: - path: "{{ matrix_mautrix_hangouts_base_path }}/mautrix-hangouts.db" - register: matrix_mautrix_hangouts_stat_database - -- name: (Data relocation) Ensure matrix-mautrix-hangouts.service is stopped - ansible.builtin.service: - name: matrix-mautrix-hangouts - state: stopped - enabled: false - daemon_reload: true - failed_when: false - when: "matrix_mautrix_hangouts_stat_database.stat.exists" - -- name: (Data relocation) Move mautrix-hangouts database file to ./data directory - ansible.builtin.command: - cmd: "mv {{ matrix_mautrix_hangouts_base_path }}/mautrix-hangouts.db {{ matrix_mautrix_hangouts_data_path }}/mautrix-hangouts.db" - creates: "{{ matrix_mautrix_hangouts_data_path }}/mautrix-hangouts.db" - removes: "{{ matrix_mautrix_hangouts_base_path }}/mautrix-hangouts.db" - when: "matrix_mautrix_hangouts_stat_database.stat.exists" - -- name: Ensure mautrix-hangouts config.yaml installed - ansible.builtin.copy: - content: "{{ matrix_mautrix_hangouts_configuration | to_nice_yaml(indent=2, width=999999) }}" - dest: "{{ matrix_mautrix_hangouts_config_path }}/config.yaml" - mode: 0644 - owner: "{{ matrix_user_username }}" - group: "{{ matrix_user_groupname }}" - -- name: Ensure mautrix-hangouts registration.yaml installed - ansible.builtin.copy: - content: "{{ matrix_mautrix_hangouts_registration | to_nice_yaml(indent=2, width=999999) }}" - dest: "{{ matrix_mautrix_hangouts_config_path }}/registration.yaml" - mode: 0644 - owner: "{{ matrix_user_username }}" - group: "{{ matrix_user_groupname }}" - -- name: Ensure mautrix-hangouts support files installed - ansible.builtin.template: - src: "{{ role_path }}/templates/{{ item }}.j2" - dest: "{{ matrix_mautrix_hangouts_base_path }}/{{ item }}" - mode: 0640 - owner: "{{ matrix_user_username }}" - group: "{{ matrix_user_groupname }}" - with_items: - - labels - -- name: Ensure matrix-mautrix-hangouts container network is created - community.general.docker_network: - enable_ipv6: "{{ devture_systemd_docker_base_ipv6_enabled }}" - name: "{{ matrix_mautrix_hangouts_container_network }}" - driver: bridge - driver_options: "{{ devture_systemd_docker_base_container_networks_driver_options }}" - -- name: Ensure matrix-mautrix-hangouts.service installed - ansible.builtin.template: - src: "{{ role_path }}/templates/systemd/matrix-mautrix-hangouts.service.j2" - dest: "{{ devture_systemd_docker_base_systemd_path }}/matrix-mautrix-hangouts.service" - mode: 0644 - -- name: Ensure matrix-mautrix-hangouts.service restarted, if necessary - ansible.builtin.service: - name: "matrix-mautrix-hangouts.service" - state: restarted - daemon_reload: true - when: "matrix_mautrix_hangouts_requires_restart | bool" diff --git a/roles/custom/matrix-bridge-mautrix-hangouts/tasks/setup_uninstall.yml b/roles/custom/matrix-bridge-mautrix-hangouts/tasks/setup_uninstall.yml deleted file mode 100644 index 02d7183f6..000000000 --- a/roles/custom/matrix-bridge-mautrix-hangouts/tasks/setup_uninstall.yml +++ /dev/null @@ -1,20 +0,0 @@ ---- - -- name: Check existence of matrix-mautrix-hangouts service - ansible.builtin.stat: - path: "{{ devture_systemd_docker_base_systemd_path }}/matrix-mautrix-hangouts.service" - register: matrix_mautrix_hangouts_service_stat - -- when: matrix_mautrix_hangouts_service_stat.stat.exists | bool - block: - - name: Ensure matrix-mautrix-hangouts is stopped - ansible.builtin.service: - name: matrix-mautrix-hangouts - state: stopped - enabled: false - daemon_reload: true - - - name: Ensure matrix-mautrix-hangouts.service doesn't exist - ansible.builtin.file: - path: "{{ devture_systemd_docker_base_systemd_path }}/matrix-mautrix-hangouts.service" - state: absent diff --git a/roles/custom/matrix-bridge-mautrix-hangouts/tasks/validate_config.yml b/roles/custom/matrix-bridge-mautrix-hangouts/tasks/validate_config.yml deleted file mode 100644 index 0d992175e..000000000 --- a/roles/custom/matrix-bridge-mautrix-hangouts/tasks/validate_config.yml +++ /dev/null @@ -1,31 +0,0 @@ ---- - -- ansible.builtin.fail: - msg: |- - The Google Hangouts service was discontinued on November 1st, 2022. - The mautrix-hangouts bridge (which you have enabled via the `matrix_mautrix_hangouts_enabled` variable) will be removed from the playbook soon (in February 2025). - - We suggest that you uninstall this bridge by: - 1. Tweaking your `vars.yml` file - setting `matrix_mautrix_hangouts_enabled` to `false` or better yet removing all `matrix_mautrix_hangouts_*` variables - 2. Re-running the playbook with the `setup-all` (e.g. `just setup-all`) or `setup-mautrix-hangouts` tag (e.g. `just run-tags setup-mautrix-hangouts`), so that uninstallation tasks will run. - - In the future, an error will be raised for any `matrix_mautrix_hangouts_*` variables that the playbook detects in your `vars.yml` configuration file. - - Also see: https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3863 - -- name: Fail if required mautrix-hangouts settings not defined - ansible.builtin.fail: - msg: >- - You need to define a required configuration setting (`{{ item.name }}`). - when: "item.when | bool and vars[item.name] == ''" - with_items: - - {'name': 'matrix_mautrix_hangouts_public_endpoint', when: true} - - {'name': 'matrix_mautrix_hangouts_appservice_token', when: true} - - {'name': 'matrix_mautrix_hangouts_homeserver_token', when: true} - - {'name': 'matrix_mautrix_hangouts_homeserver_address', when: true} - - {'name': 'matrix_mautrix_hangouts_database_hostname', when: "{{ matrix_mautrix_hangouts_database_engine == 'postgres' }}"} - - {'name': 'matrix_mautrix_hangouts_container_network', when: true} - - {'name': 'matrix_mautrix_hangouts_metrics_proxying_hostname', when: "{{ matrix_mautrix_hangouts_metrics_proxying_enabled }}"} - - {'name': 'matrix_mautrix_hangouts_metrics_proxying_path_prefix', when: "{{ matrix_mautrix_hangouts_metrics_proxying_enabled }}"} - - {'name': 'matrix_mautrix_hangouts_container_labels_public_endpoint_hostname', when: "{{ matrix_mautrix_hangouts_container_labels_public_endpoint_enabled }}"} - - {'name': 'matrix_mautrix_hangouts_container_labels_public_endpoint_path_prefix', when: "{{ matrix_mautrix_hangouts_container_labels_public_endpoint_enabled }}"} diff --git a/roles/custom/matrix-bridge-mautrix-hangouts/templates/config.yaml.j2 b/roles/custom/matrix-bridge-mautrix-hangouts/templates/config.yaml.j2 deleted file mode 100644 index 79fdffd53..000000000 --- a/roles/custom/matrix-bridge-mautrix-hangouts/templates/config.yaml.j2 +++ /dev/null @@ -1,149 +0,0 @@ -#jinja2: lstrip_blocks: "True" -# Homeserver details -homeserver: - # The address that this appservice can use to connect to the homeserver. - address: {{ matrix_mautrix_hangouts_homeserver_address }} - # The domain of the homeserver (for MXIDs, etc). - domain: {{ matrix_mautrix_hangouts_homeserver_domain }} - # Whether or not to verify the SSL certificate of the homeserver. - # Only applies if address starts with https:// - verify_ssl: true - -# Application service host/registration related details -# Changing these values requires regeneration of the registration. -appservice: - # The address that the homeserver can use to connect to this appservice. - address: {{ matrix_mautrix_hangouts_appservice_address }} - - # The hostname and port where this appservice should listen. - hostname: 0.0.0.0 - port: 8080 - # The maximum body size of appservice API requests (from the homeserver) in mebibytes - # Usually 1 is enough, but on high-traffic bridges you might need to increase this to avoid 413s - max_body_size: 1 - - # The full URI to the database. SQLite and Postgres are fully supported. - # Other DBMSes supported by SQLAlchemy may or may not work. - # Format examples: - # SQLite: sqlite:///filename.db - # Postgres: postgres://username:password@hostname/dbname - database: {{ matrix_mautrix_hangouts_appservice_database|to_json }} - - # The unique ID of this appservice. - id: hangouts - # Username of the appservice bot. - bot_username: {{ matrix_mautrix_hangouts_appservice_bot_username|to_json }} - # Display name and avatar for bot. Set to "remove" to remove display name/avatar, leave empty - # to leave display name/avatar as-is. - bot_displayname: Hangouts bridge bot - bot_avatar: mxc://maunium.net/FBXZnpfORkBEruORbikmleAy - - # Authentication tokens for AS <-> HS communication. - as_token: "{{ matrix_mautrix_hangouts_appservice_token }}" - hs_token: "{{ matrix_mautrix_hangouts_homeserver_token }}" - -# Prometheus telemetry config. Requires prometheus-client to be installed. -metrics: - enabled: {{ matrix_mautrix_hangouts_metrics_enabled | to_json }} - listen_port: 8000 - -# Bridge config -bridge: - # Localpart template of MXIDs for Hangouts users. - # {userid} is replaced with the user ID of the Hangouts user. - username_template: "hangouts_{userid}" - # Displayname template for Hangouts users. - # {displayname} is replaced with the display name of the Hangouts user - # as defined below in displayname_preference. - # Keys available for displayname_preference are also available here. - displayname_template: '{full_name} (Hangouts)' - # Available keys: - # "name" (full name) - # "first_name" - # "last_name" - # "nickname" - # "own_nickname" (user-specific!) - displayname_preference: - - name - - # The prefix for commands. Only required in non-management rooms. - command_prefix: "{{ matrix_mautrix_hangouts_command_prefix }}" - - # Number of chats to sync (and create portals for) on startup/login. - # Maximum 20, set 0 to disable automatic syncing. - initial_chat_sync: 20 - # Whether or not the Hangouts users of logged in Matrix users should be - # invited to private chats when the user sends a message from another client. - invite_own_puppet_to_pm: false - # Whether or not to use /sync to get presence, read receipts and typing notifications when using - # your own Matrix account as the Matrix puppet for your Hangouts account. - sync_with_custom_puppets: true - # Shared secret for https://github.com/devture/matrix-synapse-shared-secret-auth - # - # If set, custom puppets will be enabled automatically for local users - # instead of users having to find an access token and run `login-matrix` - # manually. - login_shared_secret: {{ matrix_mautrix_hangouts_login_shared_secret|to_json }} - # Whether or not to update avatars when syncing all contacts at startup. - update_avatar_initial_sync: true - # End-to-bridge encryption support options. These require matrix-nio to be installed with pip - # and login_shared_secret to be configured in order to get a device for the bridge bot. - # - # Additionally, https://github.com/matrix-org/synapse/pull/5758 is required if using a normal - # application service. - encryption: - # Allow encryption, work in group chat rooms with e2ee enabled - allow: {{ matrix_mautrix_hangouts_bridge_encryption_allow|to_json }} - # Default to encryption, force-enable encryption in all portals the bridge creates - # This will cause the bridge bot to be in private chats for the encryption to work properly. - default: {{ matrix_mautrix_hangouts_bridge_encryption_default|to_json }} - - # Public website and API configs - web: - # Auth server config - auth: - # Publicly accessible base URL for the login endpoints. - # The prefix below is not implicitly added. This URL and all subpaths should be proxied - # or otherwise pointed to the appservice's webserver to the path specified below (prefix). - # This path should usually include a trailing slash. - # Internal prefix in the appservice web server for the login endpoints. - public: "{{ matrix_homeserver_url }}{{ matrix_mautrix_hangouts_public_endpoint }}/login" - prefix: "{{ matrix_mautrix_hangouts_public_endpoint }}/login" - - - # Permissions for using the bridge. - # Permitted values: - # user - Use the bridge with puppeting. - # admin - Use and administrate the bridge. - # Permitted keys: - # * - All Matrix users - # domain - All users on that homeserver - # mxid - Specific user - permissions: {{ matrix_mautrix_hangouts_bridge_permissions|to_json }} - -# Python logging configuration. -# -# See section 16.7.2 of the Python documentation for more info: -# https://docs.python.org/3.6/library/logging.config.html#configuration-dictionary-schema -logging: - version: 1 - formatters: - colored: - (): mautrix_hangouts.util.ColorFormatter - format: "[%(asctime)s] [%(levelname)s@%(name)s] %(message)s" - normal: - format: "[%(asctime)s] [%(levelname)s@%(name)s] %(message)s" - handlers: - console: - class: logging.StreamHandler - formatter: colored - loggers: - mau: - level: {{ matrix_mautrix_hangouts_logging_level|to_json }} - hangups: - level: {{ matrix_mautrix_hangouts_logging_level|to_json }} - aiohttp: - level: {{ matrix_mautrix_hangouts_logging_level|to_json }} - root: - level: {{ matrix_mautrix_hangouts_logging_level|to_json }} - handlers: [console] diff --git a/roles/custom/matrix-bridge-mautrix-hangouts/templates/labels.j2 b/roles/custom/matrix-bridge-mautrix-hangouts/templates/labels.j2 deleted file mode 100644 index 31dd03e2d..000000000 --- a/roles/custom/matrix-bridge-mautrix-hangouts/templates/labels.j2 +++ /dev/null @@ -1,76 +0,0 @@ -{% if matrix_mautrix_hangouts_container_labels_traefik_enabled %} -traefik.enable=true - -{% if matrix_mautrix_hangouts_container_labels_traefik_docker_network %} -traefik.docker.network={{ matrix_mautrix_hangouts_container_labels_traefik_docker_network }} -{% endif %} - -traefik.http.services.matrix-mautrix-hangouts-public.loadbalancer.server.port=8080 -traefik.http.services.matrix-mautrix-hangouts-metrics.loadbalancer.server.port=8000 - -{% if matrix_mautrix_hangouts_container_labels_public_endpoint_enabled %} -############################################################ -# # -# Public # -# # -############################################################ - -traefik.http.routers.matrix-mautrix-hangouts-public.rule={{ matrix_mautrix_hangouts_container_labels_public_endpoint_traefik_rule }} - -{% if matrix_mautrix_hangouts_container_labels_public_endpoint_traefik_priority | int > 0 %} -traefik.http.routers.matrix-mautrix-hangouts-public.priority={{ matrix_mautrix_hangouts_container_labels_public_endpoint_traefik_priority }} -{% endif %} - -traefik.http.routers.matrix-mautrix-hangouts-public.service=matrix-mautrix-hangouts-public -traefik.http.routers.matrix-mautrix-hangouts-public.entrypoints={{ matrix_mautrix_hangouts_container_labels_public_endpoint_traefik_entrypoints }} - -traefik.http.routers.matrix-mautrix-hangouts-public.tls={{ matrix_mautrix_hangouts_container_labels_public_endpoint_traefik_tls | to_json }} -{% if matrix_mautrix_hangouts_container_labels_public_endpoint_traefik_tls %} -traefik.http.routers.matrix-mautrix-hangouts-public.tls.certResolver={{ matrix_mautrix_hangouts_container_labels_public_endpoint_traefik_tls_certResolver }} -{% endif %} - -############################################################ -# # -# /Public # -# # -############################################################ -{% endif %} - - -{% if matrix_mautrix_hangouts_container_labels_metrics_enabled %} -############################################################ -# # -# Metrics # -# # -############################################################ - -{% if matrix_mautrix_hangouts_container_labels_metrics_middleware_basic_auth_enabled %} -traefik.http.middlewares.matrix-mautrix-hangouts-metrics-basic-auth.basicauth.users={{ matrix_mautrix_hangouts_container_labels_metrics_middleware_basic_auth_users }} -traefik.http.routers.matrix-mautrix-hangouts-metrics.middlewares=matrix-mautrix-hangouts-metrics-basic-auth -{% endif %} - -traefik.http.routers.matrix-mautrix-hangouts-metrics.rule={{ matrix_mautrix_hangouts_container_labels_metrics_traefik_rule }} - -{% if matrix_mautrix_hangouts_container_labels_metrics_traefik_priority | int > 0 %} -traefik.http.routers.matrix-mautrix-hangouts-metrics.priority={{ matrix_mautrix_hangouts_container_labels_metrics_traefik_priority }} -{% endif %} - -traefik.http.routers.matrix-mautrix-hangouts-metrics.service=matrix-mautrix-hangouts-metrics -traefik.http.routers.matrix-mautrix-hangouts-metrics.entrypoints={{ matrix_mautrix_hangouts_container_labels_metrics_traefik_entrypoints }} - -traefik.http.routers.matrix-mautrix-hangouts-metrics.tls={{ matrix_mautrix_hangouts_container_labels_metrics_traefik_tls | to_json }} -{% if matrix_mautrix_hangouts_container_labels_metrics_traefik_tls %} -traefik.http.routers.matrix-mautrix-hangouts-metrics.tls.certResolver={{ matrix_mautrix_hangouts_container_labels_metrics_traefik_tls_certResolver }} -{% endif %} - -############################################################ -# # -# /Metrics # -# # -############################################################ -{% endif %} - - -{% endif %} - -{{ matrix_mautrix_hangouts_container_labels_additional_labels }} diff --git a/roles/custom/matrix-bridge-mautrix-hangouts/templates/systemd/matrix-mautrix-hangouts.service.j2 b/roles/custom/matrix-bridge-mautrix-hangouts/templates/systemd/matrix-mautrix-hangouts.service.j2 deleted file mode 100644 index cc0dfa353..000000000 --- a/roles/custom/matrix-bridge-mautrix-hangouts/templates/systemd/matrix-mautrix-hangouts.service.j2 +++ /dev/null @@ -1,69 +0,0 @@ -#jinja2: lstrip_blocks: "True" -[Unit] -Description=Matrix Mautrix Hangouts bridge -{% for service in matrix_mautrix_hangouts_systemd_required_services_list %} -Requires={{ service }} -After={{ service }} -{% endfor %} -{% for service in matrix_mautrix_hangouts_systemd_wanted_services_list %} -Wants={{ service }} -{% endfor %} -DefaultDependencies=no - -[Service] -Type=simple -Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-hangouts matrix-mautrix-hangouts-db 2>/dev/null || true' -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mautrix-hangouts matrix-mautrix-hangouts-db 2>/dev/null || true' - -ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ - --rm \ - --name=matrix-mautrix-hangouts-db \ - --log-driver=none \ - --user={{ matrix_user_uid }}:{{ matrix_user_gid }} \ - --cap-drop=ALL \ - --network={{ matrix_mautrix_hangouts_container_network }} \ - --mount type=bind,src={{ matrix_mautrix_hangouts_config_path }},dst=/config \ - --mount type=bind,src={{ matrix_mautrix_hangouts_data_path }},dst=/data \ - {{ matrix_mautrix_hangouts_docker_image }} \ - alembic -x config=/config/config.yaml upgrade head - -{% for network in matrix_mautrix_hangouts_container_additional_networks %} -ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network connect {{ network }} matrix-mautrix-hangouts-db -{% endfor %} - -ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-mautrix-hangouts-db - -ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ - --rm \ - --name=matrix-mautrix-hangouts \ - --log-driver=none \ - --user={{ matrix_user_uid }}:{{ matrix_user_gid }} \ - --cap-drop=ALL \ - --network={{ matrix_mautrix_hangouts_container_network }} \ - {% if matrix_mautrix_hangouts_container_http_host_bind_port %} - -p {{ matrix_mautrix_hangouts_container_http_host_bind_port }}:8080 \ - {% endif %} - --mount type=bind,src={{ matrix_mautrix_hangouts_config_path }},dst=/config \ - --mount type=bind,src={{ matrix_mautrix_hangouts_data_path }},dst=/data \ - --label-file={{ matrix_mautrix_hangouts_base_path }}/labels \ - {% for arg in matrix_mautrix_hangouts_container_extra_arguments %} - {{ arg }} \ - {% endfor %} - {{ matrix_mautrix_hangouts_docker_image }} \ - python3 -m mautrix_hangouts -c /config/config.yaml --no-update - -{% for network in matrix_mautrix_hangouts_container_additional_networks %} -ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network connect {{ network }} matrix-mautrix-hangouts -{% endfor %} - -ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-mautrix-hangouts - -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-hangouts 2>/dev/null || true' -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mautrix-hangouts 2>/dev/null || true' -Restart=always -RestartSec=30 -SyslogIdentifier=matrix-mautrix-hangouts - -[Install] -WantedBy=multi-user.target diff --git a/roles/custom/matrix_playbook_migration/tasks/validate_config.yml b/roles/custom/matrix_playbook_migration/tasks/validate_config.yml index 77a72aa3a..4d61f765f 100644 --- a/roles/custom/matrix_playbook_migration/tasks/validate_config.yml +++ b/roles/custom/matrix_playbook_migration/tasks/validate_config.yml @@ -452,3 +452,16 @@ The following variables in your configuration need to be renamed: {{ vars | dict2items | selectattr('key', 'match', 'devture_traefik_.*') | map (attribute='key') | join(', ') }} when: "vars | dict2items | selectattr('key', 'match', 'devture_traefik_.*') | list | items2dict" + +- name: (Deprecation) Catch and report mautrix-hangouts variables + ansible.builtin.fail: + msg: |- + The Google Hangouts service was discontinued on 1st of November 2022. + The mautrix-hangouts bridge has been deprecated in the playbook since December 2024 and was completely removed from the playbook in February 2025. + + Please change your configuration (`vars.yml`) to remove all `matrix_mautrix_hangouts_*` variables. + + You may also wish to uninstall the bridge manually. See `docs/configuring-playbook-bridge-mautrix-hangouts.md` for more information. + + The following variables in your configuration need to be removed: {{ vars | dict2items | selectattr('key', 'match', 'matrix_mautrix_hangouts_.*') | map (attribute='key') | join(', ') }} + when: "vars | dict2items | selectattr('key', 'match', 'matrix_mautrix_hangouts_.*') | list | items2dict" diff --git a/setup.yml b/setup.yml index 1eb867c7f..37ae61f26 100644 --- a/setup.yml +++ b/setup.yml @@ -64,7 +64,6 @@ - custom/matrix-bridge-wechat - custom/matrix-bridge-mautrix-facebook - custom/matrix-bridge-mautrix-twitter - - custom/matrix-bridge-mautrix-hangouts - custom/matrix-bridge-mautrix-googlechat - custom/matrix-bridge-mautrix-instagram - custom/matrix-bridge-mautrix-meta-messenger From 038d046612f1d225c8aecfe15a43882c8be94cd6 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 30 Jan 2025 13:29:38 +0900 Subject: [PATCH 190/841] Update docs/maintenance-and-troubleshooting.md: tidy up Signed-off-by: Suguru Hirahara --- docs/maintenance-and-troubleshooting.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/maintenance-and-troubleshooting.md b/docs/maintenance-and-troubleshooting.md index fa38df727..ed164997e 100644 --- a/docs/maintenance-and-troubleshooting.md +++ b/docs/maintenance-and-troubleshooting.md @@ -14,14 +14,14 @@ sudo systemctl status matrix-synapse Docker containers that the playbook configures are supervised by [systemd](https://wiki.archlinux.org/title/Systemd) and their logs are configured to go to [systemd-journald](https://wiki.archlinux.org/title/Systemd/Journal). -To prevent double-logging, Docker logging is disabled by explicitly passing `--log-driver=none` to all containers. Due to this, you **cannot** view logs using `docker logs`. - -To view systemd-journald logs using [journalctl](https://man.archlinux.org/man/journalctl.1), run a command like this: +To view systemd-journald logs using [journalctl](https://man.archlinux.org/man/journalctl.1), log in to the server with SSH and run a command like this: ```sh sudo journalctl -fu matrix-synapse ``` +**Note**: to prevent double-logging, Docker logging is disabled by explicitly passing `--log-driver=none` to all containers. Due to this, you **cannot** view logs using `docker logs`. + ## How to check if services work The playbook can perform a check to ensure that you've configured things correctly and that services are running. @@ -40,7 +40,7 @@ Besides this self-check, you can also check whether your server federates with t ## Remove unused Docker data -You can free some disk space from Docker, see [docker system prune](https://docs.docker.com/engine/reference/commandline/system_prune/) for more information. +You can free some disk space from Docker by removing its unused data. See [docker system prune](https://docs.docker.com/engine/reference/commandline/system_prune/) for more information. ```sh ansible-playbook -i inventory/hosts setup.yml --tags=run-docker-prune From 61c9d4c55c49966b4b8bcbc684a1118c24b95fda Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 1 Feb 2025 15:48:59 +0900 Subject: [PATCH 191/841] Update docs/faq.md and docs/maintenance-and-troubleshooting.md: adopt the common description Signed-off-by: Suguru Hirahara --- docs/faq.md | 2 +- docs/maintenance-and-troubleshooting.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/faq.md b/docs/faq.md index c41c7fe11..bd537aa69 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -419,7 +419,7 @@ Available service names can be seen by doing `ls /etc/systemd/system/matrix*.ser Some services also log to files in `/matrix/*/data/..`, but we're slowly moving away from that. -We also disable Docker logging, so you can't use `docker logs matrix-*` either. We do this to prevent useless double (or even triple) logging and to avoid having to rotate log files. +To prevent double-logging, Docker logging is disabled by explicitly passing `--log-driver=none` to all containers. Due to this, you **cannot** view logs using `docker logs matrix-*`. We just simply delegate logging to journald and it takes care of persistence and expiring old data. diff --git a/docs/maintenance-and-troubleshooting.md b/docs/maintenance-and-troubleshooting.md index ed164997e..e6439a3bb 100644 --- a/docs/maintenance-and-troubleshooting.md +++ b/docs/maintenance-and-troubleshooting.md @@ -20,7 +20,7 @@ To view systemd-journald logs using [journalctl](https://man.archlinux.org/man/j sudo journalctl -fu matrix-synapse ``` -**Note**: to prevent double-logging, Docker logging is disabled by explicitly passing `--log-driver=none` to all containers. Due to this, you **cannot** view logs using `docker logs`. +**Note**: to prevent double-logging, Docker logging is disabled by explicitly passing `--log-driver=none` to all containers. Due to this, you **cannot** view logs using `docker logs matrix-*`. ## How to check if services work From ecdf370cb77553568bf708a51adf544af56859c8 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 1 Feb 2025 16:19:10 +0900 Subject: [PATCH 192/841] Update docs/faq.md and docs/maintenance-and-troubleshooting.md: move the troubleshooting section from the FAQ page to the dedicated page As the theme deserves the dedicated page and we already have it, it seems sensible to move the topic from the general FAQ page. Signed-off-by: Suguru Hirahara --- docs/faq.md | 33 +------------------------ docs/maintenance-and-troubleshooting.md | 25 +++++++++++++++++-- 2 files changed, 24 insertions(+), 34 deletions(-) diff --git a/docs/faq.md b/docs/faq.md index bd537aa69..502e40b0d 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -407,40 +407,9 @@ If you're running Ansible from within a container (one of the possibilities we l ### I get "Error response from daemon: configured logging driver does not support reading" when I do `docker logs matrix-synapse`. -See [How can I see the logs?](#how-can-i-see-the-logs). - -### How can I see the logs? - -We utilize [systemd/journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html#Description) for logging. - -To see logs for Synapse, run `journalctl -fu matrix-synapse.service`. You may wish to see the [manual page for journalctl](https://www.commandlinux.com/man-page/man1/journalctl.1.html). - -Available service names can be seen by doing `ls /etc/systemd/system/matrix*.service` on the server. - -Some services also log to files in `/matrix/*/data/..`, but we're slowly moving away from that. - To prevent double-logging, Docker logging is disabled by explicitly passing `--log-driver=none` to all containers. Due to this, you **cannot** view logs using `docker logs matrix-*`. -We just simply delegate logging to journald and it takes care of persistence and expiring old data. - -Also see: [How long do systemd/journald logs persist for?](#how-long-do-systemdjournald-logs-persist-for) - -### How long do systemd/journald logs persist for? - -On some distros, the journald logs are just in-memory and not persisted to disk. - -Consult (and feel free to adjust) your distro's journald logging configuration in `/etc/systemd/journald.conf`. - -To enable persistence and put some limits on how large the journal log files can become, adjust your configuration like this: - -```ini -[Journal] -RuntimeMaxUse=200M -SystemMaxUse=1G -RateLimitInterval=0 -RateLimitBurst=0 -Storage=persistent -``` +See [this section](maintenance-and-troubleshooting.md#how-to-see-the-logs) on the page for maintenance and troubleshooting for more details to see the logs. ## Maintenance diff --git a/docs/maintenance-and-troubleshooting.md b/docs/maintenance-and-troubleshooting.md index e6439a3bb..377eca51a 100644 --- a/docs/maintenance-and-troubleshooting.md +++ b/docs/maintenance-and-troubleshooting.md @@ -12,15 +12,36 @@ sudo systemctl status matrix-synapse Active: active (running) since Sun 2024-01-14 09:13:06 UTC; 1h 31min ago ``` +## How to see the logs + Docker containers that the playbook configures are supervised by [systemd](https://wiki.archlinux.org/title/Systemd) and their logs are configured to go to [systemd-journald](https://wiki.archlinux.org/title/Systemd/Journal). -To view systemd-journald logs using [journalctl](https://man.archlinux.org/man/journalctl.1), log in to the server with SSH and run a command like this: +For example, you can find the logs of `matrix-synapse` in `systemd-journald` by logging in to the server with SSH and running the command as below: ```sh sudo journalctl -fu matrix-synapse ``` -**Note**: to prevent double-logging, Docker logging is disabled by explicitly passing `--log-driver=none` to all containers. Due to this, you **cannot** view logs using `docker logs matrix-*`. +Available service names can be seen by doing `ls /etc/systemd/system/matrix*.service` on the server. Some services also log to files in `/matrix/*/data/..`, but we're slowly moving away from that. + +We just simply delegate logging to journald and it takes care of persistence and expiring old data. + +### Enable systemd/journald logs persistence + +On some distros, the journald logs are just in-memory and not persisted to disk. + +Consult (and feel free to adjust) your distro's journald logging configuration in `/etc/systemd/journald.conf`. + +To enable persistence and put some limits on how large the journal log files can become, adjust your configuration like this: + +```ini +[Journal] +RuntimeMaxUse=200M +SystemMaxUse=1G +RateLimitInterval=0 +RateLimitBurst=0 +Storage=persistent +``` ## How to check if services work From bd794e8c2c39020724474dacf25b65f0280ca934 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 1 Feb 2025 16:21:21 +0900 Subject: [PATCH 193/841] Update maintenance-and-troubleshooting.md: create sections "Maintenance" and "Troubleshooting" Signed-off-by: Suguru Hirahara --- docs/maintenance-and-troubleshooting.md | 40 ++++++++++++++----------- 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/docs/maintenance-and-troubleshooting.md b/docs/maintenance-and-troubleshooting.md index 377eca51a..460144183 100644 --- a/docs/maintenance-and-troubleshooting.md +++ b/docs/maintenance-and-troubleshooting.md @@ -1,6 +1,24 @@ # Maintenance and Troubleshooting -## How to see the current status of your services +## Maintenance + +### Remove unused Docker data + +You can free some disk space from Docker by removing its unused data. See [docker system prune](https://docs.docker.com/engine/reference/commandline/system_prune/) for more information. + +```sh +ansible-playbook -i inventory/hosts setup.yml --tags=run-docker-prune +``` + +The shortcut command with `just` program is also available: `just run-tags run-docker-prune` + +### Postgres + +See the dedicated [PostgreSQL Maintenance](maintenance-postgres.md) documentation page. + +## Troubleshooting + +### How to see the current status of your services You can check the status of your services by using `systemctl status`. Example: @@ -12,7 +30,7 @@ sudo systemctl status matrix-synapse Active: active (running) since Sun 2024-01-14 09:13:06 UTC; 1h 31min ago ``` -## How to see the logs +### How to see the logs Docker containers that the playbook configures are supervised by [systemd](https://wiki.archlinux.org/title/Systemd) and their logs are configured to go to [systemd-journald](https://wiki.archlinux.org/title/Systemd/Journal). @@ -26,7 +44,7 @@ Available service names can be seen by doing `ls /etc/systemd/system/matrix*.ser We just simply delegate logging to journald and it takes care of persistence and expiring old data. -### Enable systemd/journald logs persistence +#### Enable systemd/journald logs persistence On some distros, the journald logs are just in-memory and not persisted to disk. @@ -43,7 +61,7 @@ RateLimitBurst=0 Storage=persistent ``` -## How to check if services work +### How to check if services work The playbook can perform a check to ensure that you've configured things correctly and that services are running. @@ -58,17 +76,3 @@ The shortcut command with `just` program is also available: `just run-tags self- If it's all green, everything is probably running correctly. Besides this self-check, you can also check whether your server federates with the Matrix network by using the [Federation Tester](https://federationtester.matrix.org/) against your base domain (`example.com`), not the `matrix.example.com` subdomain. - -## Remove unused Docker data - -You can free some disk space from Docker by removing its unused data. See [docker system prune](https://docs.docker.com/engine/reference/commandline/system_prune/) for more information. - -```sh -ansible-playbook -i inventory/hosts setup.yml --tags=run-docker-prune -``` - -The shortcut command with `just` program is also available: `just run-tags run-docker-prune` - -## Postgres - -See the dedicated [PostgreSQL Maintenance](maintenance-postgres.md) documentation page. From 1be1a5e3970828d4edcdfbb53b9423c99066bbe2 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 1 Feb 2025 16:30:46 +0900 Subject: [PATCH 194/841] Update docs/faq.md and docs/maintenance-and-troubleshooting.md: move entries which are instruction and how-to, rather than questions Signed-off-by: Suguru Hirahara --- docs/faq.md | 23 ----------------------- docs/maintenance-and-troubleshooting.md | 23 +++++++++++++++++++++++ 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/docs/faq.md b/docs/faq.md index 502e40b0d..9effaa235 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -425,35 +425,12 @@ If you have an existing installation done using this Ansible playbook, you can e If your previous installation is done in some other way (not using this Ansible playbook), see [I installed Synapse some other way. Can I migrate such a setup to the playbook?](#i-installed-synapse-some-other-way-can-i-migrate-such-a-setup-to-the-playbook). -### How do I back up the data on my server? - -We haven't documented this properly yet, but the general advice is to: - -- back up Postgres by making a database dump. See [Backing up PostgreSQL](maintenance-postgres.md#backing-up-postgresql) - -- back up all `/matrix` files, except for `/matrix/postgres/data` (you already have a dump) and `/matrix/postgres/data-auto-upgrade-backup` (this directory may exist and contain your old data if you've [performed a major Postgres upgrade](maintenance-postgres.md#upgrading-postgresql)). - -You can later restore these by: - -- Restoring the `/matrix` directory and files on the new server manually -- Following the instruction described on [Installing a server into which you'll import old data](installing.md#installing-a-server-into-which-youll-import-old-data) - -If your server's IP address has changed, you may need to [set up DNS](configuring-dns.md) again. - ### What is this `/matrix/postgres/data-auto-upgrade-backup` directory that is taking up so much space? When you [perform a major Postgres upgrade](maintenance-postgres.md#upgrading-postgresql), we save the the old data files in `/matrix/postgres/data-auto-upgrade-backup`, just so you could easily restore them should something have gone wrong. After verifying that everything still works after the Postgres upgrade, you can safely delete `/matrix/postgres/data-auto-upgrade-backup` -### How do I debug or force SSL certificate renewal? - -SSL certificates are managed automatically by the [Traefik](https://doc.traefik.io/traefik/) reverse-proxy server. - -If you're having trouble with SSL certificate renewal, check the Traefik logs (`journalctl -fu matrix-traefik`). - -If you're [using your own webserver](configuring-playbook-own-webserver.md) instead of the integrated one (Traefik), you should investigate in another way. - ## Miscellaneous ### I would like to see this favorite service of mine integrated and become available on my Matrix server. How can I request it? diff --git a/docs/maintenance-and-troubleshooting.md b/docs/maintenance-and-troubleshooting.md index 460144183..7cf08e2eb 100644 --- a/docs/maintenance-and-troubleshooting.md +++ b/docs/maintenance-and-troubleshooting.md @@ -2,6 +2,21 @@ ## Maintenance +### How to back up the data on your server + +We haven't documented this properly yet, but the general advice is to: + +- back up Postgres by making a database dump. See [Backing up PostgreSQL](maintenance-postgres.md#backing-up-postgresql) + +- back up all `/matrix` files, except for `/matrix/postgres/data` (you already have a dump) and `/matrix/postgres/data-auto-upgrade-backup` (this directory may exist and contain your old data if you've [performed a major Postgres upgrade](maintenance-postgres.md#upgrading-postgresql)). + +You can later restore these by: + +- Restoring the `/matrix` directory and files on the new server manually +- Following the instruction described on [Installing a server into which you'll import old data](installing.md#installing-a-server-into-which-youll-import-old-data) + +If your server's IP address has changed, you may need to [set up DNS](configuring-dns.md) again. + ### Remove unused Docker data You can free some disk space from Docker by removing its unused data. See [docker system prune](https://docs.docker.com/engine/reference/commandline/system_prune/) for more information. @@ -76,3 +91,11 @@ The shortcut command with `just` program is also available: `just run-tags self- If it's all green, everything is probably running correctly. Besides this self-check, you can also check whether your server federates with the Matrix network by using the [Federation Tester](https://federationtester.matrix.org/) against your base domain (`example.com`), not the `matrix.example.com` subdomain. + +### How to debug or force SSL certificate renewal + +SSL certificates are managed automatically by the [Traefik](https://doc.traefik.io/traefik/) reverse-proxy server. + +If you're having trouble with SSL certificate renewal, check the Traefik logs (`journalctl -fu matrix-traefik`). + +If you're [using your own webserver](configuring-playbook-own-webserver.md) instead of the integrated one (Traefik), you should investigate in another way. From e36848e9e6605b720e0a9a935761e1ad929427d4 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 1 Feb 2025 16:41:19 +0900 Subject: [PATCH 195/841] Update docs/faq.md: merge the sections "Troubleshooting" and "Maintenance" Signed-off-by: Suguru Hirahara --- docs/faq.md | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/docs/faq.md b/docs/faq.md index 9effaa235..e48dba495 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -403,15 +403,7 @@ It can perform a local connection instead. Just set `ansible_connection=local` a If you're running Ansible from within a container (one of the possibilities we list on our [dedicated Ansible documentation page](ansible.md)), then using `ansible_connection=local` is not possible. -## Troubleshooting - -### I get "Error response from daemon: configured logging driver does not support reading" when I do `docker logs matrix-synapse`. - -To prevent double-logging, Docker logging is disabled by explicitly passing `--log-driver=none` to all containers. Due to this, you **cannot** view logs using `docker logs matrix-*`. - -See [this section](maintenance-and-troubleshooting.md#how-to-see-the-logs) on the page for maintenance and troubleshooting for more details to see the logs. - -## Maintenance +## Maintenance and Troubleshooting ### Do I need to do anything to keep my Matrix server updated? @@ -431,6 +423,12 @@ When you [perform a major Postgres upgrade](maintenance-postgres.md#upgrading-po After verifying that everything still works after the Postgres upgrade, you can safely delete `/matrix/postgres/data-auto-upgrade-backup` +### I get "Error response from daemon: configured logging driver does not support reading" when I do `docker logs matrix-synapse`. + +To prevent double-logging, Docker logging is disabled by explicitly passing `--log-driver=none` to all containers. Due to this, you **cannot** view logs using `docker logs matrix-*`. + +See [this section](maintenance-and-troubleshooting.md#how-to-see-the-logs) on the page for maintenance and troubleshooting for more details to see the logs. + ## Miscellaneous ### I would like to see this favorite service of mine integrated and become available on my Matrix server. How can I request it? From 05fb62e525c3abf86285dfc28c9c56af9dbc9274 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 1 Feb 2025 16:43:06 +0900 Subject: [PATCH 196/841] Update docs/faq.md: change the entry for troubleshooting into a question Signed-off-by: Suguru Hirahara --- docs/faq.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/faq.md b/docs/faq.md index e48dba495..313e29a29 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -423,7 +423,7 @@ When you [perform a major Postgres upgrade](maintenance-postgres.md#upgrading-po After verifying that everything still works after the Postgres upgrade, you can safely delete `/matrix/postgres/data-auto-upgrade-backup` -### I get "Error response from daemon: configured logging driver does not support reading" when I do `docker logs matrix-synapse`. +### I get "Error response from daemon: configured logging driver does not support reading" when I run `docker logs matrix-synapse`. Why? To prevent double-logging, Docker logging is disabled by explicitly passing `--log-driver=none` to all containers. Due to this, you **cannot** view logs using `docker logs matrix-*`. From 46a821af75da64a269d9770b619f72156c468252 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 1 Feb 2025 16:47:28 +0900 Subject: [PATCH 197/841] Update docs/faq.md: remove an emphasis from the entry for troubleshooting Signed-off-by: Suguru Hirahara --- docs/faq.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/faq.md b/docs/faq.md index 313e29a29..7a74d4043 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -425,7 +425,7 @@ After verifying that everything still works after the Postgres upgrade, you can ### I get "Error response from daemon: configured logging driver does not support reading" when I run `docker logs matrix-synapse`. Why? -To prevent double-logging, Docker logging is disabled by explicitly passing `--log-driver=none` to all containers. Due to this, you **cannot** view logs using `docker logs matrix-*`. +To prevent double-logging, Docker logging is disabled by explicitly passing `--log-driver=none` to all containers. Due to this, you cannot view logs using `docker logs matrix-*`. See [this section](maintenance-and-troubleshooting.md#how-to-see-the-logs) on the page for maintenance and troubleshooting for more details to see the logs. From 0b1ee94b0046015235f095fd3355e4760a41695a Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 2 Feb 2025 03:48:48 +0900 Subject: [PATCH 198/841] Update docs/maintenance-and-troubleshooting.md: add the link to Synapse maintenance documentation page Signed-off-by: Suguru Hirahara --- docs/maintenance-and-troubleshooting.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/maintenance-and-troubleshooting.md b/docs/maintenance-and-troubleshooting.md index 7cf08e2eb..99205697e 100644 --- a/docs/maintenance-and-troubleshooting.md +++ b/docs/maintenance-and-troubleshooting.md @@ -29,7 +29,11 @@ The shortcut command with `just` program is also available: `just run-tags run-d ### Postgres -See the dedicated [PostgreSQL Maintenance](maintenance-postgres.md) documentation page. +See the dedicated [PostgreSQL maintenance](maintenance-postgres.md) documentation page. + +### Synapse + +See the dedicated [Synapse maintenance](maintenance-synapse.md) documentation page. ## Troubleshooting From 143f8a541548d68b68b5bd8f3455689e478b8682 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 4 Feb 2025 17:38:01 +0900 Subject: [PATCH 199/841] Update docs/faq.md: add the link to maintenance-and-troubleshooting.md Signed-off-by: Suguru Hirahara --- docs/faq.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/faq.md b/docs/faq.md index 7a74d4043..df8f74e86 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -405,6 +405,8 @@ If you're running Ansible from within a container (one of the possibilities we l ## Maintenance and Troubleshooting +💡 Also see this page for generic information about maintaining the services and troubleshooting: [Maintenance and Troubleshooting](maintenance-and-troubleshooting.md) + ### Do I need to do anything to keep my Matrix server updated? Yes. We don't update anything for you automatically. From 5d7971a7909f97f3dd51db8a196340b2d45ffcf3 Mon Sep 17 00:00:00 2001 From: Aine Date: Tue, 4 Feb 2025 15:05:39 +0200 Subject: [PATCH 200/841] borgmatic v1.9.9 --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 7d4f69401..f5097355a 100644 --- a/requirements.yml +++ b/requirements.yml @@ -4,7 +4,7 @@ version: v1.0.0-5 name: auxiliary - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg.git - version: v1.4.0-1.9.6-0 + version: v1.4.0-1.9.9-0 name: backup_borg - src: git+https://github.com/devture/com.devture.ansible.role.container_socket_proxy.git version: v0.2.0-0 From fac9ac16404e37c841d9e7a4ba36651424ca3f17 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 28 Dec 2024 09:26:05 -0500 Subject: [PATCH 201/841] Update docs/configuring-playbook-synapse-auto-compressor.md: add the common section "Extending the configuration" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-synapse-auto-compressor.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/configuring-playbook-synapse-auto-compressor.md b/docs/configuring-playbook-synapse-auto-compressor.md index 8af611fae..1b3c7690b 100644 --- a/docs/configuring-playbook-synapse-auto-compressor.md +++ b/docs/configuring-playbook-synapse-auto-compressor.md @@ -14,6 +14,14 @@ Add the following configuration to your `inventory/host_vars/matrix.example.com/ matrix_synapse_auto_compressor_enabled: true ``` +### Extending the configuration + +There are some additional things you may wish to configure about the component. + +Take a look at: + +- `roles/custom/matrix-synapse-auto-compressor/defaults/main.yml` for some variables that you can customize via your `vars.yml` file + ## Installing After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below: From 931e6e2dcecec549155c4c5d13d539236b990bc0 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 30 Jan 2025 16:13:10 +0900 Subject: [PATCH 202/841] Update docs/configuring-playbook-synapse-auto-compressor.md: add the common section "Troubleshooting" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-synapse-auto-compressor.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/configuring-playbook-synapse-auto-compressor.md b/docs/configuring-playbook-synapse-auto-compressor.md index 1b3c7690b..419c781ac 100644 --- a/docs/configuring-playbook-synapse-auto-compressor.md +++ b/docs/configuring-playbook-synapse-auto-compressor.md @@ -46,3 +46,7 @@ Sometimes it can be helpful to execute compression as you'd like, avoiding to wa If you want to execute it immediately, log in to the server with SSH and run `systemctl start matrix-synapse-auto-compressor`. This will not return until the compression is done, so it can possibly take a long time. Consider using [tmux](https://en.wikipedia.org/wiki/Tmux) if your SSH connection is unstable. + +## Troubleshooting + +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-synapse-auto-compressor`. From b0c73c8378aab45cd073b53e98bff7a0c9bd4edd Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 30 Jan 2025 16:19:12 +0900 Subject: [PATCH 203/841] Update docs for backup-borg and synapse-auto-compressor: use the common descriptions Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-backup-borg.md | 10 +++++++--- docs/configuring-playbook-synapse-auto-compressor.md | 12 +++++++++++- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/docs/configuring-playbook-backup-borg.md b/docs/configuring-playbook-backup-borg.md index 702e72613..9f219ffc4 100644 --- a/docs/configuring-playbook-backup-borg.md +++ b/docs/configuring-playbook-backup-borg.md @@ -95,9 +95,9 @@ backup_borg_retention_keep_monthly: 12 backup_borg_retention_keep_yearly: 2 ``` -### Edit the backup schedule (optional) +### Edit the schedule (optional) -By default the backup will run 4 a.m. every day based on the `backup_borg_schedule` variable. It is defined in the format of systemd timer calendar. +By default the task will run 4 a.m. every day based on the `backup_borg_schedule` variable. It is defined in the format of systemd timer calendar. To edit the schedule, add the following configuration to your `vars.yml` file (adapt to your needs): @@ -134,7 +134,11 @@ The shortcut commands with the [`just` program](just.md) are also available: `ju `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. -## Manually start a backup +## Usage + +After installation, `backup-borg` will run automatically every day at `04:00:00` (as defined in `backup_borg_schedule` by default). + +### Manually start the task Sometimes it can be helpful to run the backup as you'd like, avoiding to wait until 4 a.m., like when you test your configuration. diff --git a/docs/configuring-playbook-synapse-auto-compressor.md b/docs/configuring-playbook-synapse-auto-compressor.md index 419c781ac..959765531 100644 --- a/docs/configuring-playbook-synapse-auto-compressor.md +++ b/docs/configuring-playbook-synapse-auto-compressor.md @@ -14,6 +14,16 @@ Add the following configuration to your `inventory/host_vars/matrix.example.com/ matrix_synapse_auto_compressor_enabled: true ``` +### Edit the schedule (optional) + +By default the task will run 0 a.m. every day based on the `matrix_synapse_auto_compressor_calendar` variable. It is defined in the format of systemd timer calendar. + +To edit the schedule, add the following configuration to your `vars.yml` file (adapt to your needs): + +```yaml +matrix_synapse_auto_compressor_calendar: "*-*-* 00:00:00" +``` + ### Extending the configuration There are some additional things you may wish to configure about the component. @@ -39,7 +49,7 @@ The shortcut commands with the [`just` program](just.md) are also available: `ju After installation, `synapse_auto_compressor` will run automatically every day at `00:00:00` (as defined in `matrix_synapse_auto_compressor_calendar` by default). -## Manually execute compression +### Manually start the task Sometimes it can be helpful to execute compression as you'd like, avoiding to wait until 00:00, like when you test your configuration. From 08e34a4a6fb8db87a81afaa88ec7a6f5cf1759c3 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 1 Feb 2025 01:24:55 +0900 Subject: [PATCH 204/841] Rename "matrix_synapse_auto_compressor_calendar" to "matrix_synapse_auto_compressor_schedule" for consistency Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-synapse-auto-compressor.md | 6 +++--- .../matrix-synapse-auto-compressor/defaults/main.yml | 2 +- .../tasks/validate_config.yml | 9 +++++++++ .../templates/matrix-synapse-auto-compressor.timer.j2 | 2 +- 4 files changed, 14 insertions(+), 5 deletions(-) diff --git a/docs/configuring-playbook-synapse-auto-compressor.md b/docs/configuring-playbook-synapse-auto-compressor.md index 959765531..988be65c3 100644 --- a/docs/configuring-playbook-synapse-auto-compressor.md +++ b/docs/configuring-playbook-synapse-auto-compressor.md @@ -16,12 +16,12 @@ matrix_synapse_auto_compressor_enabled: true ### Edit the schedule (optional) -By default the task will run 0 a.m. every day based on the `matrix_synapse_auto_compressor_calendar` variable. It is defined in the format of systemd timer calendar. +By default the task will run 0 a.m. every day based on the `matrix_synapse_auto_compressor_schedule` variable. It is defined in the format of systemd timer calendar. To edit the schedule, add the following configuration to your `vars.yml` file (adapt to your needs): ```yaml -matrix_synapse_auto_compressor_calendar: "*-*-* 00:00:00" +matrix_synapse_auto_compressor_schedule: "*-*-* 00:00:00" ``` ### Extending the configuration @@ -47,7 +47,7 @@ The shortcut commands with the [`just` program](just.md) are also available: `ju ## Usage -After installation, `synapse_auto_compressor` will run automatically every day at `00:00:00` (as defined in `matrix_synapse_auto_compressor_calendar` by default). +After installation, `synapse_auto_compressor` will run automatically every day at `00:00:00` (as defined in `matrix_synapse_auto_compressor_schedule` by default). ### Manually start the task diff --git a/roles/custom/matrix-synapse-auto-compressor/defaults/main.yml b/roles/custom/matrix-synapse-auto-compressor/defaults/main.yml index e80ce35f0..212213d64 100644 --- a/roles/custom/matrix-synapse-auto-compressor/defaults/main.yml +++ b/roles/custom/matrix-synapse-auto-compressor/defaults/main.yml @@ -56,7 +56,7 @@ matrix_synapse_auto_compressor_database_name: 'synapse' matrix_synapse_auto_compressor_synapse_database: 'postgres://{{ matrix_synapse_auto_compressor_database_username | urlencode() }}:{{ matrix_synapse_auto_compressor_database_password | urlencode() }}@{{ matrix_synapse_auto_compressor_database_hostname }}:{{ matrix_synapse_auto_compressor_database_port }}/{{ matrix_synapse_auto_compressor_database_name }}' # systemd calendar configuration for the compressor job -matrix_synapse_auto_compressor_calendar: "*-*-* 00:00:00" +matrix_synapse_auto_compressor_schedule: "*-*-* 00:00:00" # The number of state groups to work on at once. # All of the entries from state_groups_state are requested from the database for state groups that are worked on. diff --git a/roles/custom/matrix-synapse-auto-compressor/tasks/validate_config.yml b/roles/custom/matrix-synapse-auto-compressor/tasks/validate_config.yml index b0dbfab06..1d1405044 100644 --- a/roles/custom/matrix-synapse-auto-compressor/tasks/validate_config.yml +++ b/roles/custom/matrix-synapse-auto-compressor/tasks/validate_config.yml @@ -1,4 +1,13 @@ --- +- name: (Deprecation) Catch and report renamed settings + ansible.builtin.fail: + msg: >- + Your configuration contains a variable, which now has a different name. + Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + when: "item.old in vars" + with_items: + - "old": "matrix_synapse_auto_compressor_calendar" + "new": "matrix_synapse_auto_compressor_schedule" - name: Fail if required matrix-synapse-auto-compressor settings not defined ansible.builtin.fail: diff --git a/roles/custom/matrix-synapse-auto-compressor/templates/matrix-synapse-auto-compressor.timer.j2 b/roles/custom/matrix-synapse-auto-compressor/templates/matrix-synapse-auto-compressor.timer.j2 index 1d7b16d33..82c235c80 100644 --- a/roles/custom/matrix-synapse-auto-compressor/templates/matrix-synapse-auto-compressor.timer.j2 +++ b/roles/custom/matrix-synapse-auto-compressor/templates/matrix-synapse-auto-compressor.timer.j2 @@ -3,7 +3,7 @@ Description=Synapse State Auto Compressor Timer [Timer] Unit=matrix-synapse-auto-compressor.service -OnCalendar={{ matrix_synapse_auto_compressor_calendar }} +OnCalendar={{ matrix_synapse_auto_compressor_schedule }} [Install] WantedBy=timers.target From 1bb21388c5cabadaf727078502b7f2af4fc4c5a9 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 30 Jan 2025 16:25:02 +0900 Subject: [PATCH 205/841] Update docs/configuring-playbook-backup-borg.md: add the common section "Troubleshooting" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-backup-borg.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/configuring-playbook-backup-borg.md b/docs/configuring-playbook-backup-borg.md index 9f219ffc4..aca22c2f6 100644 --- a/docs/configuring-playbook-backup-borg.md +++ b/docs/configuring-playbook-backup-borg.md @@ -145,3 +145,7 @@ Sometimes it can be helpful to run the backup as you'd like, avoiding to wait un If you want to run it immediately, log in to the server with SSH and run `systemctl start matrix-backup-borg`. This will not return until the backup is done, so it can possibly take a long time. Consider using [tmux](https://en.wikipedia.org/wiki/Tmux) if your SSH connection is unstable. + +## Troubleshooting + +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu backup-borg`. From 030f0c6e5c0c5f96be6c87507f2cad0711f6ccd5 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 1 Feb 2025 16:44:52 +0900 Subject: [PATCH 206/841] Update docs/faq.md: replace the link to a new issue This commit replaces the link to a blank issue to the one to the chooser. Signed-off-by: Suguru Hirahara --- docs/faq.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/faq.md b/docs/faq.md index df8f74e86..3e475fba8 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -435,6 +435,6 @@ See [this section](maintenance-and-troubleshooting.md#how-to-see-the-logs) on th ### I would like to see this favorite service of mine integrated and become available on my Matrix server. How can I request it? -You can freely create an issue for feature request on the repository at GitHub [here](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/new). Note this is a community project with no financial backing, and there is not assurance that your request would be eventually picked up by others and the requested feature would become available. The easiest way to get a feature into this project is to just develop it yourself. +You can freely create an issue for feature request on the repository at GitHub [here](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/new/choose). Note this is a community project with no financial backing, and there is not assurance that your request would be eventually picked up by others and the requested feature would become available. The easiest way to get a feature into this project is to just develop it yourself. Also, please note that this playbook intends to focus solely on Matrix and Matrix-related services. If your request is not specific to Matrix, you may as well to consider to submit it to the [mash-playbook](https://github.com/mother-of-all-self-hosting/mash-playbook), maintained by the members behind this matrix-docker-ansible-deploy project. [This document on the interoperability](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/interoperability.md) describes how to deploy services along with the Matrix services easily. From 2123aa5eb20a73afda07085f74b6998288a8f725 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 4 Feb 2025 16:42:41 +0000 Subject: [PATCH 207/841] Update ghcr.io/element-hq/matrix-authentication-service Docker tag to v0.13.0 --- roles/custom/matrix-authentication-service/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-authentication-service/defaults/main.yml b/roles/custom/matrix-authentication-service/defaults/main.yml index 9e7780e34..3b9546424 100644 --- a/roles/custom/matrix-authentication-service/defaults/main.yml +++ b/roles/custom/matrix-authentication-service/defaults/main.yml @@ -17,7 +17,7 @@ matrix_authentication_service_container_repo_version: "{{ 'main' if matrix_authe matrix_authentication_service_container_src_files_path: "{{ matrix_base_data_path }}/matrix-authentication-service/container-src" # renovate: datasource=docker depName=ghcr.io/element-hq/matrix-authentication-service -matrix_authentication_service_version: 0.12.0 +matrix_authentication_service_version: 0.13.0 matrix_authentication_service_container_image: "{{ matrix_authentication_service_container_image_name_prefix }}element-hq/matrix-authentication-service:{{ matrix_authentication_service_version }}" matrix_authentication_service_container_image_name_prefix: "{{ 'localhost/' if matrix_authentication_service_container_image_self_build else 'ghcr.io/' }}" matrix_authentication_service_container_image_force_pull: "{{ matrix_authentication_service_container_image.endswith(':latest') }}" From 18bd34a6651f5433921a83271855fa55aae9fdee Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 4 Feb 2025 16:42:48 +0000 Subject: [PATCH 208/841] Update ghcr.io/element-hq/matrix-authentication-service/syn2mas Docker tag to v0.13.0 --- roles/custom/matrix-authentication-service/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-authentication-service/defaults/main.yml b/roles/custom/matrix-authentication-service/defaults/main.yml index 9e7780e34..4cafe1bf7 100644 --- a/roles/custom/matrix-authentication-service/defaults/main.yml +++ b/roles/custom/matrix-authentication-service/defaults/main.yml @@ -555,7 +555,7 @@ matrix_authentication_service_syn2mas_start_wait_time_seconds: 5 matrix_authentication_service_syn2mas_dry_run: false # renovate: datasource=docker depName=ghcr.io/element-hq/matrix-authentication-service/syn2mas -matrix_authentication_service_syn2mas_version: 0.12.0 +matrix_authentication_service_syn2mas_version: 0.13.0 matrix_authentication_service_syn2mas_container_image: "{{ matrix_authentication_service_container_image_name_prefix }}element-hq/matrix-authentication-service/syn2mas:{{ matrix_authentication_service_syn2mas_version }}" matrix_authentication_service_syn2mas_container_image_name_prefix: "{{ 'localhost/' if matrix_authentication_service_container_image_self_build else 'ghcr.io/' }}" matrix_authentication_service_syn2mas_container_image_force_pull: "{{ matrix_authentication_service_syn2mas_container_image.endswith(':latest') }}" From 97b458bec8bbe7eeeac73bca136cf49096b02f8e Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Tue, 4 Feb 2025 21:05:40 +0200 Subject: [PATCH 209/841] Update Matrix Authentication Service docs in light of MAS v0.13.0 Ref: - https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/4030 - https://github.com/element-hq/matrix-authentication-service/releases/tag/v0.13.0 - https://github.com/element-hq/matrix-authentication-service/issues/1505 - https://github.com/element-hq/matrix-authentication-service/pull/3784 --- ...ing-playbook-matrix-authentication-service.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/configuring-playbook-matrix-authentication-service.md b/docs/configuring-playbook-matrix-authentication-service.md index ad2fb8b7f..cdf43a0c0 100644 --- a/docs/configuring-playbook-matrix-authentication-service.md +++ b/docs/configuring-playbook-matrix-authentication-service.md @@ -36,8 +36,6 @@ Below, we'll try to **highlight some potential reasons for switching** to Matrix - ⚠️ the [Synapse](configuring-playbook-synapse.md) homeserver implementation (which is the default for this playbook). Other homeserver implementations ([Dendrite](./configuring-playbook-dendrite.md), [Conduit](./configuring-playbook-conduit.md), etc.) do not support integrating wtih Matrix Authentication Service yet. -- ⚠️ **email sending** configured (see [Adjusting email-sending settings](./configuring-playbook-email.md)), because **Matrix Authentication Service [still insists](https://github.com/element-hq/matrix-authentication-service/issues/1505) on having a verified email address for each user** going through the new SSO-based login flow. It's also possible to [work around email deliverability issues](#working-around-email-deliverability-issues) if your email configuration is not working. - - ❌ **disabling all password providers** for Synapse (things like [shared-secret-auth](./configuring-playbook-shared-secret-auth.md), [rest-auth](./configuring-playbook-rest-auth.md), [LDAP auth](./configuring-playbook-ldap-auth.md), etc.) More details about this are available in the [Expectations](#expectations) section below. ## Expectations @@ -59,8 +57,6 @@ This section details what you can expect when switching to the Matrix Authentica - ❌ **Encrypted appservices** do not work yet (related to [MSC4190](https://github.com/matrix-org/matrix-spec-proposals/pull/4190) and [PR 17705 for Synapse](https://github.com/element-hq/synapse/pull/17705)), so all bridges/bots that rely on encryption will fail to start (see [this issue](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3658) for Hookshot). You can use these bridges/bots only if you **keep end-to-bridge encryption disabled** (which is the default setting). -- ⚠️ **You will need to have email sending configured** (see [Adjusting email-sending settings](./configuring-playbook-email.md)), because **Matrix Authentication Service [still insists](https://github.com/element-hq/matrix-authentication-service/issues/1505) on having a verified email address for each user** going through the new SSO-based login flow. It's also possible to [work around email deliverability issues](#working-around-email-deliverability-issues) if your email configuration is not working. - - ⚠️ [Migrating an existing Synapse homeserver to Matrix Authentication Service](#migrating-an-existing-synapse-homeserver-to-matrix-authentication-service) is **possible**, but requires **some playbook-assisted manual work**. Migration is **reversible with no or minor issues if done quickly enough**, but as users start logging in (creating new login sessions) via the new MAS setup, disabling MAS and reverting back to the Synapse user database will cause these new sessions to break. - ⚠️ [Migrating an existing Synapse homeserver to Matrix Authentication Service](#migrating-an-existing-synapse-homeserver-to-matrix-authentication-service) does not currently seem to preserve the "admin" flag for users (as found in the Synapse database). All users are imported as non-admin — see [element-hq/matrix-authentication-service#3440](https://github.com/element-hq/matrix-authentication-service/issues/3440). You may need update the Matrix Authentication Service's database manually and adjust the `can_request_admin` column in the `users` table to `true` for users that need to be administrators (e.g. `UPDATE users SET can_request_admin = true WHERE username = 'someone';`) @@ -75,7 +71,7 @@ This section details what you can expect when switching to the Matrix Authentica - ✅ Various clients ([Cinny](./configuring-playbook-client-cinny.md), [Element Web](./configuring-playbook-client-element-web.md), Element X, FluffyChat) will be able to use the **new SSO-based login flow** provided by Matrix Authentication Service -- ✅ The **old login flow** (called `m.login.password`) **will still continue to work**, so clients (old Element Web, etc.) and bridges/bots that don't support the new OIDC-based login flow will still work. Going through the old login flow does not require users to have a verified email address, as [is the case](https://github.com/element-hq/matrix-authentication-service/issues/1505) for the new SSO-based login flow. +- ✅ The **old login flow** (called `m.login.password`) **will still continue to work**, so clients (old Element Web, etc.) and bridges/bots that don't support the new OIDC-based login flow will still work - ✅ [Registering users](./registering-users.md) via **the playbook's `register-user` tag remains unchanged**. The playbook automatically does the right thing regardless of homeserver implementation (Synapse, Dendrite, etc.) and whether MAS is enabled or not. When MAS is enabled, the playbook will forward user-registration requests to MAS. Registering users via the command-line is no longer done via the `/matrix/synapse/bin/register` script, but via `/matrix/matrix-authentication-service/bin/register-user`. @@ -459,11 +455,15 @@ You can register users new users as described in the [Registering users](./regis ### Working around email deliverability issues -Because Matrix Authentication Service [still insists](https://github.com/element-hq/matrix-authentication-service/issues/1505) on having a verified email address for each user, you may need to work around email deliverability issues if [your email-sending configuration](./configuring-playbook-email.md) is not working. +Matrix Authentication Service only sends emails when: -Matrix Authentication Service attempts to verify email addresses by sending a verification email to the address specified by the user whenever they log in to an account without a verified email address. +- it verifies email addresses for users who are self-registering with a password -If email delivery is not working, **you can retrieve the email configuration code from the Matrix Authentication Service's logs** (`journalctl -fu matrix-authentication-service`). +- a user tries to add an email to their account + +If Matrix Authentication Service tries to send an email and it fails because [your email-sending configuration](./configuring-playbook-email.md) is not working, you may need to work around email deliverability. + +If email delivery is not working, **you can retrieve the email verification code from the Matrix Authentication Service's logs** (`journalctl -fu matrix-authentication-service`). Alternatively, you can use the [`mas-cli` management tool](#management) to manually verify email addresses for users. Example: `/matrix/matrix-authentication-service/bin/mas-cli manage verify-email some.username email@example.com` From 16761c4c178138ea576544b2ed4e2ca5eaa38351 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Tue, 4 Feb 2025 21:08:11 +0200 Subject: [PATCH 210/841] Update Matrix Authentication Service docs in light of MAS v0.13.0 - part 2 Ref: - https://github.com/element-hq/matrix-authentication-service/issues/3440 - https://github.com/element-hq/matrix-authentication-service/pull/3447 --- docs/configuring-playbook-matrix-authentication-service.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/docs/configuring-playbook-matrix-authentication-service.md b/docs/configuring-playbook-matrix-authentication-service.md index cdf43a0c0..ce5c7aa5d 100644 --- a/docs/configuring-playbook-matrix-authentication-service.md +++ b/docs/configuring-playbook-matrix-authentication-service.md @@ -59,8 +59,6 @@ This section details what you can expect when switching to the Matrix Authentica - ⚠️ [Migrating an existing Synapse homeserver to Matrix Authentication Service](#migrating-an-existing-synapse-homeserver-to-matrix-authentication-service) is **possible**, but requires **some playbook-assisted manual work**. Migration is **reversible with no or minor issues if done quickly enough**, but as users start logging in (creating new login sessions) via the new MAS setup, disabling MAS and reverting back to the Synapse user database will cause these new sessions to break. -- ⚠️ [Migrating an existing Synapse homeserver to Matrix Authentication Service](#migrating-an-existing-synapse-homeserver-to-matrix-authentication-service) does not currently seem to preserve the "admin" flag for users (as found in the Synapse database). All users are imported as non-admin — see [element-hq/matrix-authentication-service#3440](https://github.com/element-hq/matrix-authentication-service/issues/3440). You may need update the Matrix Authentication Service's database manually and adjust the `can_request_admin` column in the `users` table to `true` for users that need to be administrators (e.g. `UPDATE users SET can_request_admin = true WHERE username = 'someone';`) - - ⚠️ Delegating user authentication to MAS causes **your Synapse server to be completely dependant on one more service** for its operations. MAS is quick & lightweight and should be stable enough already, but this is something to keep in mind when making the switch. - ⚠️ If you've got [OIDC configured in Synapse](./configuring-playbook-synapse.md#synapse--openid-connect-for-single-sign-on), you will need to migrate your OIDC configuration to MAS by adding an [Upstream OAuth2 configuration](#upstream-oauth2-configuration). From b1856f0a225b407840fa055c0b34c4c91efd82cf Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 30 Jan 2025 14:07:01 +0900 Subject: [PATCH 211/841] Fix capitalization: nginx It should be either NGINX or nginx, and this commit converts the string in uppercase to lowercase. Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-prometheus-grafana.md | 4 ++-- docs/configuring-playbook-prometheus-nginxlog.md | 4 ++-- docs/configuring-playbook.md | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/configuring-playbook-prometheus-grafana.md b/docs/configuring-playbook-prometheus-grafana.md index 851fa1635..001500c59 100644 --- a/docs/configuring-playbook-prometheus-grafana.md +++ b/docs/configuring-playbook-prometheus-grafana.md @@ -73,7 +73,7 @@ Name | Description `prometheus_enabled`|[Prometheus](https://prometheus.io) is a time series database. It holds all the data we're going to talk about. `prometheus_node_exporter_enabled`|[Node Exporter](https://prometheus.io/docs/guides/node-exporter/) is an addon of sorts to Prometheus that collects generic system information such as CPU, memory, filesystem, and even system temperatures `prometheus_postgres_exporter_enabled`|[Postgres Exporter](configuring-playbook-prometheus-postgres.md) is an addon of sorts to expose Postgres database metrics to Prometheus. -`matrix_prometheus_nginxlog_exporter_enabled`|[NGINX Log Exporter](configuring-playbook-prometheus-nginxlog.md) is an addon of sorts to expose NGINX logs to Prometheus. +`matrix_prometheus_nginxlog_exporter_enabled`|[nginx Log Exporter](configuring-playbook-prometheus-nginxlog.md) is an addon of sorts to expose nginx logs to Prometheus. `grafana_enabled`|[Grafana](https://grafana.com/) is the visual component. It shows (on the `stats.example.com` subdomain) the dashboards with the graphs that we're interested in `grafana_anonymous_access`|By default you need to log in to see graphs. If you want to publicly share your graphs (e.g. when asking for help in [`#synapse:matrix.org`](https://matrix.to/#/#synapse:matrix.org?via=matrix.org&via=privacytools.io&via=mozilla.org)) you'll want to enable this option. `grafana_default_admin_user`
`grafana_default_admin_password`|By default Grafana creates a user with `admin` as the username and password. If you feel this is insecure and you want to change it beforehand, you can do that here @@ -107,7 +107,7 @@ Name | Description `prometheus_node_exporter_container_labels_traefik_enabled`|Set this to `true` to expose the node (general system stats) metrics on `https://matrix.example.com/metrics/node-exporter`. To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` above. `prometheus_postgres_exporter_enabled`|Set this to `true` to enable the [Postgres exporter](configuring-playbook-prometheus-postgres.md) (locally, on the container network) `prometheus_postgres_exporter_container_labels_traefik_enabled`|Set this to `true` to expose the [Postgres exporter](configuring-playbook-prometheus-postgres.md) metrics on `https://matrix.example.com/metrics/postgres-exporter`. To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` above. -`matrix_prometheus_nginxlog_exporter_enabled`|Set this to `true` to enable the [NGINX Log exporter](configuring-playbook-prometheus-nginxlog.md) (locally, on the container network) +`matrix_prometheus_nginxlog_exporter_enabled`|Set this to `true` to enable the [nginx Log exporter](configuring-playbook-prometheus-nginxlog.md) (locally, on the container network) `matrix_sliding_sync_metrics_enabled`|Set this to `true` to make [Sliding Sync](configuring-playbook-sliding-sync-proxy.md) expose metrics (locally, on the container network) `matrix_sliding_sync_metrics_proxying_enabled`|Set this to `true` to expose the [Sliding Sync](configuring-playbook-sliding-sync-proxy.md) metrics on `https://matrix.example.com/metrics/sliding-sync`. To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` above. `matrix_bridge_hookshot_metrics_enabled`|Set this to `true` to make [Hookshot](configuring-playbook-bridge-hookshot.md) expose metrics (locally, on the container network) diff --git a/docs/configuring-playbook-prometheus-nginxlog.md b/docs/configuring-playbook-prometheus-nginxlog.md index 5d04d905b..80107b906 100644 --- a/docs/configuring-playbook-prometheus-nginxlog.md +++ b/docs/configuring-playbook-prometheus-nginxlog.md @@ -1,4 +1,4 @@ -# Enabling metrics and graphs for NginX logs (optional) +# Enabling metrics and graphs for nginx logs (optional) The playbook can install and configure the [prometheus-nginxlog-exporter](https://github.com/martin-helmich/prometheus-nginxlog-exporter/) service for you, in order to make it possible to have some (visual) insight into [nginx](https://nginx.org/) logs. @@ -25,7 +25,7 @@ matrix_prometheus_nginxlog_exporter_enabled: true ### Save metrics on an external Prometheus server (optional) > [!WARNING] -> Metrics and resulting graphs can contain a lot of information. NginX logs contain information like IP address, URLs, UserAgents and more. This information can reveal usage patterns and could be considered Personally Identifiable Information (PII). Think about this before enabling (anonymous) access. Please make sure you change the default Grafana password. +> Metrics and resulting graphs can contain a lot of information. nginx logs contain information like IP address, URLs, UserAgents and more. This information can reveal usage patterns and could be considered Personally Identifiable Information (PII). Think about this before enabling (anonymous) access. Please make sure you change the default Grafana password. The playbook will automatically integrate the metrics into the [Prometheus](./configuring-playbook-prometheus-grafana.md) server provided with this playbook (if enabled). In such cases, the metrics endpoint is not exposed publicly — it's only available on the container network. diff --git a/docs/configuring-playbook.md b/docs/configuring-playbook.md index 6a2942a24..71a7426c4 100644 --- a/docs/configuring-playbook.md +++ b/docs/configuring-playbook.md @@ -199,7 +199,7 @@ Services that help you in administrating and monitoring your Matrix installation - [Enabling metrics and graphs (Prometheus, Grafana) for your Matrix server](configuring-playbook-prometheus-grafana.md) -- [Enabling metrics and graphs for NginX logs](configuring-playbook-prometheus-nginxlog.md) +- [Enabling metrics and graphs for nginx logs](configuring-playbook-prometheus-nginxlog.md) - [Setting up the rageshake bug report server](configuring-playbook-rageshake.md) From 16eda7a0727bed072eab113cf7f60503546edeb7 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 31 Jan 2025 03:00:26 +0900 Subject: [PATCH 212/841] Replace "Warnings" with the colorfully decorated one Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-conduit.md | 8 +++----- docs/configuring-playbook-conduwuit.md | 8 +++----- docs/configuring-playbook-dendrite.md | 8 +++----- docs/configuring-playbook-matrix-registration.md | 6 +++--- docs/uninstalling.md | 8 +++----- 5 files changed, 15 insertions(+), 23 deletions(-) diff --git a/docs/configuring-playbook-conduit.md b/docs/configuring-playbook-conduit.md index be5b46f6a..51cfb8e64 100644 --- a/docs/configuring-playbook-conduit.md +++ b/docs/configuring-playbook-conduit.md @@ -8,11 +8,9 @@ By default, the playbook installs [Synapse](https://github.com/element-hq/synaps 💡 **Note**: The playbook also supports installing a (currently) faster-moving Conduit fork called [conduwuit](./configuring-playbook-conduwuit.md). -⚠️ **Warnings**: - -- **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. - -- **Homeserver implementations other than Synapse may not be fully functional**. The playbook may also not assist you in an optimal way (like it does with Synapse). Make yourself familiar with the downsides before proceeding +> [!WARNING] +> - **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. +> - **Homeserver implementations other than Synapse may not be fully functional**. The playbook may also not assist you in an optimal way (like it does with Synapse). Make yourself familiar with the downsides before proceeding ## Adjusting the playbook configuration diff --git a/docs/configuring-playbook-conduwuit.md b/docs/configuring-playbook-conduwuit.md index 71cedbb5f..a2ea0c925 100644 --- a/docs/configuring-playbook-conduwuit.md +++ b/docs/configuring-playbook-conduwuit.md @@ -8,11 +8,9 @@ By default, the playbook installs [Synapse](https://github.com/element-hq/synaps 💡 **Note**: conduwuit is a fork of [Conduit](./configuring-playbook-conduit.md), which the playbook also supports. See [Differences from upstream Conduit](https://conduwuit.puppyirl.gay/differences.html). -⚠️ **Warnings**: - -- **You can't switch an existing Matrix server's implementation** (e.g. Synapse -> conduwuit). 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. - -- **Homeserver implementations other than Synapse may not be fully functional**. The playbook may also not assist you in an optimal way (like it does with Synapse). Make yourself familiar with the downsides before proceeding +> [!WARNING] +> - **You can't switch an existing Matrix server's implementation** (e.g. Synapse -> conduwuit). 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. +> - **Homeserver implementations other than Synapse may not be fully functional**. The playbook may also not assist you in an optimal way (like it does with Synapse). Make yourself familiar with the downsides before proceeding ## Adjusting the playbook configuration diff --git a/docs/configuring-playbook-dendrite.md b/docs/configuring-playbook-dendrite.md index 7496e918d..ac5671dbf 100644 --- a/docs/configuring-playbook-dendrite.md +++ b/docs/configuring-playbook-dendrite.md @@ -6,11 +6,9 @@ See the project's [documentation](https://element-hq.github.io/dendrite/) to lea By default, the playbook installs [Synapse](https://github.com/element-hq/synapse) as it's the only full-featured Matrix server at the moment. If that's okay, you can skip this document. -⚠️ **Warnings**: - -- **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. - -- **Homeserver implementations other than Synapse may not be fully functional**. The playbook may also not assist you in an optimal way (like it does with Synapse). Make yourself familiar with the downsides before proceeding +> [!WARNING] +> - **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. +> - **Homeserver implementations other than Synapse may not be fully functional**. The playbook may also not assist you in an optimal way (like it does with Synapse). Make yourself familiar with the downsides before proceeding ## Adjusting the playbook configuration diff --git a/docs/configuring-playbook-matrix-registration.md b/docs/configuring-playbook-matrix-registration.md index e46fbc652..2a08fa681 100644 --- a/docs/configuring-playbook-matrix-registration.md +++ b/docs/configuring-playbook-matrix-registration.md @@ -1,8 +1,8 @@ # Setting up matrix-registration (optional) -⚠️ **Warnings**: -- This is a poorly maintained and buggy project. It's better to avoid using it. -- This is not related to [matrix-registration-bot](configuring-playbook-bot-matrix-registration-bot.md) +> [!WARNING] +> - This is a poorly maintained and buggy project. It's better to avoid using it. +> - This is not related to [matrix-registration-bot](configuring-playbook-bot-matrix-registration-bot.md) The playbook can install and configure [matrix-registration](https://github.com/ZerataX/matrix-registration) for you. It is a simple python application to have a token based Matrix registration. diff --git a/docs/uninstalling.md b/docs/uninstalling.md index 14c8c211f..4c70082f5 100644 --- a/docs/uninstalling.md +++ b/docs/uninstalling.md @@ -1,10 +1,8 @@ # Uninstalling -⚠️ **Warnings**: -- If your server federates with others, make sure to **leave any federated rooms before nuking your Matrix server's data**. Otherwise, the next time you set up a Matrix server for this domain (regardless of the installation method you use), you'll encounter trouble federating. -- If you have some trouble with your installation, you can just [re-run the playbook](installing.md) and it will try to set things up again. **Uninstalling and then installing anew rarely solves anything**. - ------------------ +> [!WARNING] +> - If your server federates with others, make sure to **leave any federated rooms before nuking your Matrix server's data**. Otherwise, the next time you set up a Matrix server for this domain (regardless of the installation method you use), you'll encounter trouble federating. +> - If you have some trouble with your installation, you can just [re-run the playbook](installing.md) and it will try to set things up again. **Uninstalling and then installing anew rarely solves anything**. ## Uninstalling using a script From bf7f2f6734a21750e01836ec1b02c30b963dfee2 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 26 Jan 2025 03:01:34 +0900 Subject: [PATCH 213/841] Update docs/configuring-playbook-bot-baibot.md: adopt the common description for increasing logging verbosity Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bot-baibot.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/configuring-playbook-bot-baibot.md b/docs/configuring-playbook-bot-baibot.md index 01984a4b7..ac270d3a3 100644 --- a/docs/configuring-playbook-bot-baibot.md +++ b/docs/configuring-playbook-bot-baibot.md @@ -400,7 +400,9 @@ You can also refer to the upstream [baibot](https://github.com/etkecc/baibot) pr As with all other services, you can find service logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by running something like `journalctl -fu matrix-bot-baibot` -The default logging level for this service is `info`, but you can increase it to `debug` (or even `trace`) with the following additional configuration: +### Increase logging verbosity + +The default logging level for this service is `info`. If you want to increase the verbosity to `debug` (or even `trace`), add the following configuration to your `vars.yml` file and re-run the playbook: ```yaml # Adjust the bot's own logging level. From f40b26d3d308db7d756ff8540a6a445273b11d42 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 6 Feb 2025 05:17:01 +0000 Subject: [PATCH 214/841] Update nginx Docker tag to v1.27.4 --- .../matrix-synapse-reverse-proxy-companion/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-synapse-reverse-proxy-companion/defaults/main.yml b/roles/custom/matrix-synapse-reverse-proxy-companion/defaults/main.yml index 192ece0a2..98e0c2d65 100644 --- a/roles/custom/matrix-synapse-reverse-proxy-companion/defaults/main.yml +++ b/roles/custom/matrix-synapse-reverse-proxy-companion/defaults/main.yml @@ -13,7 +13,7 @@ matrix_synapse_reverse_proxy_companion_enabled: true # renovate: datasource=docker depName=nginx -matrix_synapse_reverse_proxy_companion_version: 1.27.3-alpine +matrix_synapse_reverse_proxy_companion_version: 1.27.4-alpine matrix_synapse_reverse_proxy_companion_base_path: "{{ matrix_synapse_base_path }}/reverse-proxy-companion" matrix_synapse_reverse_proxy_companion_confd_path: "{{ matrix_synapse_reverse_proxy_companion_base_path }}/conf.d" From f01d95f2dd5a3d281603d810557438a686fb1ade Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 28 Dec 2024 11:49:05 -0500 Subject: [PATCH 215/841] Update docs/configuring-playbook-rageshake: add the common section "Extending the configuration" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-rageshake.md | 37 +++++++++++++++++--------- 1 file changed, 25 insertions(+), 12 deletions(-) diff --git a/docs/configuring-playbook-rageshake.md b/docs/configuring-playbook-rageshake.md index 6db32e43a..aa61314f0 100644 --- a/docs/configuring-playbook-rageshake.md +++ b/docs/configuring-playbook-rageshake.md @@ -20,18 +20,6 @@ To enable rageshake, add the following configuration to your `inventory/host_var matrix_rageshake_enabled: true ``` -rageshake has various options which don't have dedicated Ansible variables. You can see the full list of options in the [`rageshake.sample.yaml` file](https://github.com/matrix-org/rageshake/blob/master/rageshake.sample.yaml). - -To set these, you can make use of the `matrix_rageshake_configuration_extension_yaml` variable like this: - -```yaml -matrix_rageshake_configuration_extension_yaml: | - github_token: secrettoken - - github_project_mappings: - my-app: octocat/HelloWorld -``` - ### Adjusting the rageshake URL (optional) By tweaking the `matrix_rageshake_hostname` and `matrix_rageshake_path_prefix` variables, you can easily make the service available at a **different hostname and/or path** than the default one. @@ -51,6 +39,31 @@ After changing the domain, **you may need to adjust your DNS** records to point If you've decided to reuse the `matrix.` domain, you won't need to do any extra DNS configuration. +### Extending the configuration + +There are some additional things you may wish to configure about the server. + +Take a look at: + +- `roles/custom/matrix-rageshake/defaults/main.yml` for some variables that you can customize via your `vars.yml` file +- `roles/custom/matrix-rageshake/templates/config.yaml.j2` for the server's default configuration. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_rageshake_configuration_extension_yaml` variable + +```yaml +matrix_rageshake_configuration_extension_yaml: | + # Your custom YAML configuration goes here. + # This configuration extends the default starting configuration (`matrix_rageshake_configuration_extension_yaml`). + # + # You can override individual variables from the default configuration, or introduce new ones. + # + # If you need something more special, you can take full control by + # completely redefining `matrix_rageshake_configuration_extension_yaml`. + + github_token: secrettoken + + github_project_mappings: + my-app: octocat/HelloWorld +``` + ## Installing After configuring the playbook and potentially [adjusting your DNS records](#adjusting-dns-records), run the playbook with [playbook tags](playbook-tags.md) as below: From 51f0a315ac5f93bdc0fb116971e799c59e539024 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 1 Feb 2025 00:42:45 +0900 Subject: [PATCH 216/841] =?UTF-8?q?Update=20files=20for=20rageshake:=20cha?= =?UTF-8?q?nge=20config.yml.j2=20=E2=86=92=20config.yaml.j2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Suguru Hirahara --- roles/custom/matrix-rageshake/defaults/main.yml | 2 +- roles/custom/matrix-rageshake/tasks/install.yml | 2 +- .../templates/{config.yml.j2 => config.yaml.j2} | 0 .../templates/systemd/matrix-rageshake.service.j2 | 2 +- 4 files changed, 3 insertions(+), 3 deletions(-) rename roles/custom/matrix-rageshake/templates/{config.yml.j2 => config.yaml.j2} (100%) diff --git a/roles/custom/matrix-rageshake/defaults/main.yml b/roles/custom/matrix-rageshake/defaults/main.yml index 77caeab1b..f104cbebd 100644 --- a/roles/custom/matrix-rageshake/defaults/main.yml +++ b/roles/custom/matrix-rageshake/defaults/main.yml @@ -93,7 +93,7 @@ matrix_rageshake_config_api_prefix: "{{ matrix_rageshake_scheme }}://{{ matrix_r # # For a more advanced customization, you can extend the default (see `matrix_rageshake_configuration_extension_yaml`) # or completely replace this variable with your own template. -matrix_rageshake_configuration_yaml: "{{ lookup('template', 'templates/config.yml.j2') }}" +matrix_rageshake_configuration_yaml: "{{ lookup('template', 'templates/config.yaml.j2') }}" matrix_rageshake_configuration_extension_yaml: | # Your custom YAML configuration for Synapse goes here. diff --git a/roles/custom/matrix-rageshake/tasks/install.yml b/roles/custom/matrix-rageshake/tasks/install.yml index 572f03f1f..33953de5e 100644 --- a/roles/custom/matrix-rageshake/tasks/install.yml +++ b/roles/custom/matrix-rageshake/tasks/install.yml @@ -19,7 +19,7 @@ - name: Ensure rageshake config file created ansible.builtin.copy: content: "{{ matrix_rageshake_configuration | to_nice_yaml(indent=2, width=999999) }}" - dest: "{{ matrix_rageshake_config_path }}/config.yml" + dest: "{{ matrix_rageshake_config_path }}/config.yaml" owner: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}" mode: 0640 diff --git a/roles/custom/matrix-rageshake/templates/config.yml.j2 b/roles/custom/matrix-rageshake/templates/config.yaml.j2 similarity index 100% rename from roles/custom/matrix-rageshake/templates/config.yml.j2 rename to roles/custom/matrix-rageshake/templates/config.yaml.j2 diff --git a/roles/custom/matrix-rageshake/templates/systemd/matrix-rageshake.service.j2 b/roles/custom/matrix-rageshake/templates/systemd/matrix-rageshake.service.j2 index 9abaf3db5..ba98d0e3a 100644 --- a/roles/custom/matrix-rageshake/templates/systemd/matrix-rageshake.service.j2 +++ b/roles/custom/matrix-rageshake/templates/systemd/matrix-rageshake.service.j2 @@ -32,7 +32,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ {{ arg }} \ {% endfor %} {{ matrix_rageshake_container_image }} \ - --config /config/config.yml + --config /config/config.yaml {% for network in matrix_rageshake_container_additional_networks %} ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network connect {{ network }} matrix-rageshake From fd2428972ded775a5c6dcfe227c9b937fdf22932 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 30 Jan 2025 15:33:26 +0900 Subject: [PATCH 217/841] Update docs/configuring-playbook-rageshake.md: add the common section "Troubleshooting" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-rageshake.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/configuring-playbook-rageshake.md b/docs/configuring-playbook-rageshake.md index aa61314f0..e52c8cdef 100644 --- a/docs/configuring-playbook-rageshake.md +++ b/docs/configuring-playbook-rageshake.md @@ -80,3 +80,7 @@ The shortcut commands with the [`just` program](just.md) are also available: `ju ## Usage Refer to the project's [documentation](https://github.com/matrix-org/rageshake/blob/main/README.md) for available APIs, etc. + +## Troubleshooting + +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-rageshake`. From 0980339e70f4380ba3482ae7f51ae1b6a42e5045 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 28 Dec 2024 11:49:36 -0500 Subject: [PATCH 218/841] Update docs/configuring-playbook-bot-matrix-registration-bot.md: add the common section "Extending the configuration" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bot-matrix-registration-bot.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/configuring-playbook-bot-matrix-registration-bot.md b/docs/configuring-playbook-bot-matrix-registration-bot.md index 95b86163f..a425b5969 100644 --- a/docs/configuring-playbook-bot-matrix-registration-bot.md +++ b/docs/configuring-playbook-bot-matrix-registration-bot.md @@ -29,6 +29,15 @@ matrix_synapse_registration_requires_token: true The bot account will be created automatically. +### Extending the configuration + +There are some additional things you may wish to configure about the bot. + +Take a look at: + +- `roles/custom/matrix-bot-matrix-registration-bot/defaults/main.yml` for some variables that you can customize via your `vars.yml` file +- `roles/custom/matrix-bot-matrix-registration-bot/templates/config.yaml.j2` for the bridge's default configuration + ## Installing After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below: From 66df132e666186f1782a441bf9135339102a3992 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 1 Feb 2025 00:41:38 +0900 Subject: [PATCH 219/841] =?UTF-8?q?Update=20files=20for=20matrix-registrat?= =?UTF-8?q?ion-bot:=20change=20config.yml.j2=20=E2=86=92=20config.yaml.j2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Suguru Hirahara --- .../tasks/setup_install.yml | 4 ++-- .../templates/{config.yml.j2 => config.yaml.j2} | 0 .../systemd/matrix-bot-matrix-registration-bot.service.j2 | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) rename roles/custom/matrix-bot-matrix-registration-bot/templates/{config.yml.j2 => config.yaml.j2} (100%) diff --git a/roles/custom/matrix-bot-matrix-registration-bot/tasks/setup_install.yml b/roles/custom/matrix-bot-matrix-registration-bot/tasks/setup_install.yml index 0ac4e6a1f..a05c04109 100644 --- a/roles/custom/matrix-bot-matrix-registration-bot/tasks/setup_install.yml +++ b/roles/custom/matrix-bot-matrix-registration-bot/tasks/setup_install.yml @@ -15,8 +15,8 @@ - name: Ensure matrix-registration-bot configuration file created ansible.builtin.template: - src: "{{ role_path }}/templates/config.yml.j2" - dest: "{{ matrix_bot_matrix_registration_bot_config_path }}/config.yml" + src: "{{ role_path }}/templates/config.yaml.j2" + dest: "{{ matrix_bot_matrix_registration_bot_config_path }}/config.yaml" owner: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}" mode: 0640 diff --git a/roles/custom/matrix-bot-matrix-registration-bot/templates/config.yml.j2 b/roles/custom/matrix-bot-matrix-registration-bot/templates/config.yaml.j2 similarity index 100% rename from roles/custom/matrix-bot-matrix-registration-bot/templates/config.yml.j2 rename to roles/custom/matrix-bot-matrix-registration-bot/templates/config.yaml.j2 diff --git a/roles/custom/matrix-bot-matrix-registration-bot/templates/systemd/matrix-bot-matrix-registration-bot.service.j2 b/roles/custom/matrix-bot-matrix-registration-bot/templates/systemd/matrix-bot-matrix-registration-bot.service.j2 index a48c4f045..d12d2f588 100644 --- a/roles/custom/matrix-bot-matrix-registration-bot/templates/systemd/matrix-bot-matrix-registration-bot.service.j2 +++ b/roles/custom/matrix-bot-matrix-registration-bot/templates/systemd/matrix-bot-matrix-registration-bot.service.j2 @@ -21,7 +21,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ --name=matrix-bot-matrix-registration-bot \ --log-driver=none \ --cap-drop=ALL \ - -e "CONFIG_PATH=/config/config.yml" \ + -e "CONFIG_PATH=/config/config.yaml" \ --user={{ matrix_user_uid }}:{{ matrix_user_gid }} \ --read-only \ --mount type=bind,src={{ matrix_bot_matrix_registration_bot_config_path }},dst=/config,ro \ From f732007b376fff9b8797617644dd85182d8cb330 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 31 Jan 2025 00:08:22 +0900 Subject: [PATCH 220/841] Update files for matrix-registration-bot: add the common section for "Troubleshooting" See: https://github.com/moan0s/matrix-registration-bot/blob/main/README.md Signed-off-by: Suguru Hirahara --- ...figuring-playbook-bot-matrix-registration-bot.md | 13 +++++++++++++ .../defaults/main.yml | 3 ++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/docs/configuring-playbook-bot-matrix-registration-bot.md b/docs/configuring-playbook-bot-matrix-registration-bot.md index a425b5969..fffd239f2 100644 --- a/docs/configuring-playbook-bot-matrix-registration-bot.md +++ b/docs/configuring-playbook-bot-matrix-registration-bot.md @@ -72,3 +72,16 @@ To clean the cache (session & encryption data) after you changed the bot's usern ```sh just run-tags bot-matrix-registration-bot-clean-cache ``` + +## Troubleshooting + +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-registration-bot`. + +### Increase logging verbosity + +The default logging level for this component is `INFO`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook: + +```yaml +# Valid values: ERROR, INFO, DEBUG +matrix_bot_matrix_registration_bot_logging_level: DEBUG +``` diff --git a/roles/custom/matrix-bot-matrix-registration-bot/defaults/main.yml b/roles/custom/matrix-bot-matrix-registration-bot/defaults/main.yml index ba1fc7273..9423e8fad 100644 --- a/roles/custom/matrix-bot-matrix-registration-bot/defaults/main.yml +++ b/roles/custom/matrix-bot-matrix-registration-bot/defaults/main.yml @@ -39,7 +39,8 @@ matrix_bot_matrix_registration_bot_api_token: '' matrix_bot_matrix_registration_bot_device_id: "matrix-docker-ansible-deploy" -matrix_bot_matrix_registration_bot_logging_level: info +# Valid values: ERROR, INFO, DEBUG +matrix_bot_matrix_registration_bot_logging_level: INFO matrix_bot_matrix_registration_bot_container_network: "" From 30dad8ba277bc32494125b70794e2d0df5ac08ae Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 1 Feb 2025 00:40:58 +0900 Subject: [PATCH 221/841] =?UTF-8?q?Updat=20files=20for=20baibot:=20change?= =?UTF-8?q?=20config.yml.j2=20=E2=86=92=20config.yaml.j2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Suguru Hirahara --- roles/custom/matrix-bot-baibot/defaults/main.yml | 2 +- roles/custom/matrix-bot-baibot/tasks/install.yml | 2 +- .../templates/{config.yml.j2 => config.yaml.j2} | 0 .../templates/systemd/matrix-bot-baibot.service.j2 | 2 +- 4 files changed, 3 insertions(+), 3 deletions(-) rename roles/custom/matrix-bot-baibot/templates/{config.yml.j2 => config.yaml.j2} (100%) diff --git a/roles/custom/matrix-bot-baibot/defaults/main.yml b/roles/custom/matrix-bot-baibot/defaults/main.yml index fba1cd908..d3737b2a8 100644 --- a/roles/custom/matrix-bot-baibot/defaults/main.yml +++ b/roles/custom/matrix-bot-baibot/defaults/main.yml @@ -461,7 +461,7 @@ matrix_bot_baibot_configuration: "{{ matrix_bot_baibot_configuration_yaml | from # # For a more advanced customization, you can extend the default (see `matrix_bot_baibot_configuration_extension_yaml`) # or completely replace this variable with your own template. -matrix_bot_baibot_configuration_yaml: "{{ lookup('template', 'templates/config.yml.j2') }}" +matrix_bot_baibot_configuration_yaml: "{{ lookup('template', 'templates/config.yaml.j2') }}" matrix_bot_baibot_configuration_extension_yaml: | # Your custom YAML configuration for baibot goes here. diff --git a/roles/custom/matrix-bot-baibot/tasks/install.yml b/roles/custom/matrix-bot-baibot/tasks/install.yml index f74ab3442..d2dcfdb6d 100644 --- a/roles/custom/matrix-bot-baibot/tasks/install.yml +++ b/roles/custom/matrix-bot-baibot/tasks/install.yml @@ -17,7 +17,7 @@ - name: Ensure baibot configuration installed ansible.builtin.copy: content: "{{ matrix_bot_baibot_configuration | to_nice_yaml(indent=2, width=999999) }}" - dest: "{{ matrix_bot_baibot_config_path }}/config.yml" + dest: "{{ matrix_bot_baibot_config_path }}/config.yaml" mode: 0644 owner: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}" diff --git a/roles/custom/matrix-bot-baibot/templates/config.yml.j2 b/roles/custom/matrix-bot-baibot/templates/config.yaml.j2 similarity index 100% rename from roles/custom/matrix-bot-baibot/templates/config.yml.j2 rename to roles/custom/matrix-bot-baibot/templates/config.yaml.j2 diff --git a/roles/custom/matrix-bot-baibot/templates/systemd/matrix-bot-baibot.service.j2 b/roles/custom/matrix-bot-baibot/templates/systemd/matrix-bot-baibot.service.j2 index 346925c4a..e34f62357 100644 --- a/roles/custom/matrix-bot-baibot/templates/systemd/matrix-bot-baibot.service.j2 +++ b/roles/custom/matrix-bot-baibot/templates/systemd/matrix-bot-baibot.service.j2 @@ -29,7 +29,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ --read-only \ --network={{ matrix_bot_baibot_container_network }} \ --env-file={{ matrix_bot_baibot_config_path }}/env \ - --mount type=bind,src={{ matrix_bot_baibot_config_path }}/config.yml,dst=/app/config.yml,ro \ + --mount type=bind,src={{ matrix_bot_baibot_config_path }}/config.yaml,dst=/app/config.yaml,ro \ --mount type=bind,src={{ matrix_bot_baibot_data_path }},dst=/data \ --tmpfs=/tmp:rw,noexec,nosuid,size=1024m \ {% for arg in matrix_bot_baibot_container_extra_arguments %} From 589aa949f4dc9edcec80683d701d6f2abb0bdcf8 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 30 Jan 2025 19:38:21 +0900 Subject: [PATCH 222/841] Update docs/configuring-playbook-bot-baibot.md: adopt the common description for the section "Troubleshooting" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bot-baibot.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/configuring-playbook-bot-baibot.md b/docs/configuring-playbook-bot-baibot.md index ac270d3a3..a9c3d2c66 100644 --- a/docs/configuring-playbook-bot-baibot.md +++ b/docs/configuring-playbook-bot-baibot.md @@ -398,7 +398,7 @@ You can also refer to the upstream [baibot](https://github.com/etkecc/baibot) pr ## Troubleshooting -As with all other services, you can find service logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by running something like `journalctl -fu matrix-bot-baibot` +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-bot-baibot`. ### Increase logging verbosity From bad9785103573e01aec6b56660fb5c07cd60b4fc Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 30 Jan 2025 15:24:12 +0900 Subject: [PATCH 223/841] Update docs/configuring-playbook-etherpad.md: add the common section "Troubleshooting" See: https://etherpad.org/doc/v2.2.7/index.html Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-etherpad.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/docs/configuring-playbook-etherpad.md b/docs/configuring-playbook-etherpad.md index 65f11b9b4..f6664f19d 100644 --- a/docs/configuring-playbook-etherpad.md +++ b/docs/configuring-playbook-etherpad.md @@ -105,3 +105,19 @@ Once the plugin is installed, you should have a "Manage pads" section in the UI. **Note**: this is how it works in Element Web. It might work quite similar with other clients: To integrate a standalone Etherpad in a room, create your pad by visiting `https://etherpad.example.com`. When the pad opens, copy the URL and send a command like this to the room: `/addwidget URL`. You will then find your integrated Etherpad within the right sidebar in the `Widgets` section. + +## Troubleshooting + +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-etherpad`. + +### Increase logging verbosity + +The default logging level for this component is `WARN`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook: + +```yaml +# Valid values: ERROR, WARN, INFO, DEBUG +etherpad_configuration_extension_json: | + { + "loglevel": "DEBUG", + } +``` From dd4690fba40fbda3108b25c0304eb2b0f43ef78d Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 30 Jan 2025 15:54:50 +0900 Subject: [PATCH 224/841] Update docs/configuring-playbook-dimension.md: add the common section "Troubleshooting" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-dimension.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/configuring-playbook-dimension.md b/docs/configuring-playbook-dimension.md index 6a662e87c..5bc709c12 100644 --- a/docs/configuring-playbook-dimension.md +++ b/docs/configuring-playbook-dimension.md @@ -123,3 +123,7 @@ By default Dimension will use [jitsi.riot.im](https://jitsi.riot.im/) as the `co To set up the widget, an admin user needs to configure the domain via the admin UI once Dimension is running. In Element Web, go to *Manage Integrations* → *Settings* → *Widgets* → *Jitsi Conference Settings* and set *Jitsi Domain* and *Jitsi Script URL* appropriately. There is unfortunately no way to configure the widget via the playbook. See [this issue](https://github.com/turt2live/matrix-dimension/issues/345) for details. + +## Troubleshooting + +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-dimension`. From 271f386d1b659a9b6528621b81ad9724f060e7a5 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 30 Jan 2025 18:42:53 +0900 Subject: [PATCH 225/841] Update docs/configuring-playbook-turn.md: add the common section "Troubleshooting" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-turn.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/configuring-playbook-turn.md b/docs/configuring-playbook-turn.md index a0915312d..611037415 100644 --- a/docs/configuring-playbook-turn.md +++ b/docs/configuring-playbook-turn.md @@ -94,3 +94,7 @@ ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. + +## Troubleshooting + +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-coturn`. From 76f35d95a24563f67eb62590d523001bf3784358 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 31 Jan 2025 00:46:12 +0900 Subject: [PATCH 226/841] Update docs/configuring-playbook-bridge-postmoogle.md: adopt the common section "Troubleshooting" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bridge-postmoogle.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/configuring-playbook-bridge-postmoogle.md b/docs/configuring-playbook-bridge-postmoogle.md index 18321207e..eff5b62e3 100644 --- a/docs/configuring-playbook-bridge-postmoogle.md +++ b/docs/configuring-playbook-bridge-postmoogle.md @@ -92,9 +92,11 @@ You can also refer to the upstream [documentation](https://github.com/etkecc/pos ## Troubleshooting -As with all other services, you can find their logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by running something like `journalctl -fu matrix-postmoogle` +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-postmoogle`. -The default logging level for this bridge is `INFO`, but you can increase it to `DEBUG` with the following additional configuration: +### Increase logging verbosity + +The default logging level for this component is `INFO`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook: ```yaml matrix_postmoogle_loglevel: 'DEBUG' From cf8e5f8e0a16f7ea0af5e8f4da910d5a2f283361 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 31 Jan 2025 00:47:41 +0900 Subject: [PATCH 227/841] Update docs/configuring-playbook-conduwuit.md: add the common section "Troubleshooting" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-conduwuit.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/configuring-playbook-conduwuit.md b/docs/configuring-playbook-conduwuit.md index a2ea0c925..b198dd814 100644 --- a/docs/configuring-playbook-conduwuit.md +++ b/docs/configuring-playbook-conduwuit.md @@ -91,3 +91,7 @@ Then, send its content to the existing admin room: sender_localpart: _bot_signalbot url: http://matrix-mautrix-signal:29328 ``` + +## Troubleshooting + +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-conduwuit`. From b0e67c365baf4f1f0ed0e9fe2b24786d28852abd Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 31 Jan 2025 02:23:36 +0900 Subject: [PATCH 228/841] Update docs/configuring-playbook-bridge-appservice-kakaotalk.md: add the common section "Troubleshooting" Signed-off-by: Suguru Hirahara --- ...nfiguring-playbook-bridge-appservice-kakaotalk.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/configuring-playbook-bridge-appservice-kakaotalk.md b/docs/configuring-playbook-bridge-appservice-kakaotalk.md index 9b029e194..c8fbb12fc 100644 --- a/docs/configuring-playbook-bridge-appservice-kakaotalk.md +++ b/docs/configuring-playbook-bridge-appservice-kakaotalk.md @@ -56,3 +56,15 @@ ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-use To use the bridge, you need to start a chat with `@kakaotalkbot:example.com` (where `example.com` is your base domain, not the `matrix.` domain). You then need to send `login --save EMAIL_OR_PHONE_NUMBER` to the bridge bot to enable bridging for your Kakaotalk account. The `--save` flag may be omitted, if you'd rather not save your password. + +## Troubleshooting + +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-appservice-kakaotalk`. + +### Increase logging verbosity + +The default logging level for this component is `WARNING`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook: + +```yaml +matrix_appservice_kakaotalk_logging_level: DEBUG +``` From f920bf2cba8ffa9bf949d252173b3058e15c7783 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 31 Jan 2025 02:29:35 +0900 Subject: [PATCH 229/841] Update docs/configuring-playbook-bridge-beeper-linkedin.md: add the common section "Troubleshooting" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bridge-beeper-linkedin.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/docs/configuring-playbook-bridge-beeper-linkedin.md b/docs/configuring-playbook-bridge-beeper-linkedin.md index 73059ce64..995ea6faa 100644 --- a/docs/configuring-playbook-bridge-beeper-linkedin.md +++ b/docs/configuring-playbook-bridge-beeper-linkedin.md @@ -55,6 +55,16 @@ You then need to send `login YOUR_LINKEDIN_EMAIL_ADDRESS` to the bridge bot to e ## Troubleshooting +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-beeper-linkedin`. + +### Increase logging verbosity + +The default logging level for this component is `WARNING`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook: + +```yaml +matrix_beeper_linkedin_logging_level: DEBUG +``` + ### Bridge asking for 2FA even if you don't have 2FA enabled If you don't have 2FA enabled and are logging in from a strange IP for the first time, LinkedIn will send an email with a one-time code. You can use this code to authorize the bridge session. In my experience, once the IP is authorized, you will not be asked again. From 4a178b534bbd6693a9da38863e14463bf6732adf Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 31 Jan 2025 02:37:32 +0900 Subject: [PATCH 230/841] Update docs/configuring-playbook-sliding-sync-proxy.md: add the common section "Troubleshooting" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-sliding-sync-proxy.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/configuring-playbook-sliding-sync-proxy.md b/docs/configuring-playbook-sliding-sync-proxy.md index 406dc6196..3f74c45ef 100644 --- a/docs/configuring-playbook-sliding-sync-proxy.md +++ b/docs/configuring-playbook-sliding-sync-proxy.md @@ -68,3 +68,7 @@ You **don't need to do anything special** to make use of the Sliding Sync proxy. When the Sliding Sync proxy is [installed](#installing), your `/.well-known/matrix/client` file is also updated. A new `org.matrix.msc3575.proxy` section and `url` property are added there and made to point to your Sliding Sync proxy's base URL (e.g. `https://matrix.example.com/sliding-sync`). This allows clients which support Sliding Sync to detect the Sliding Sync proxy's URL and make use of it. + +## Troubleshooting + +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-sliding-sync-proxy`. From 056a502d5fab525dc58aa75072b7ee25f31e59e7 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 6 Feb 2025 23:22:28 +0900 Subject: [PATCH 231/841] Update files for Sliding Sync proxy: change "matrix-sliding-sync-proxy" to "matrix-sliding-sync" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-sliding-sync-proxy.md | 2 +- roles/custom/matrix-sliding-sync/defaults/main.yml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/configuring-playbook-sliding-sync-proxy.md b/docs/configuring-playbook-sliding-sync-proxy.md index 3f74c45ef..72da17ed3 100644 --- a/docs/configuring-playbook-sliding-sync-proxy.md +++ b/docs/configuring-playbook-sliding-sync-proxy.md @@ -71,4 +71,4 @@ This allows clients which support Sliding Sync to detect the Sliding Sync proxy' ## Troubleshooting -As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-sliding-sync-proxy`. +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-sliding-sync`. diff --git a/roles/custom/matrix-sliding-sync/defaults/main.yml b/roles/custom/matrix-sliding-sync/defaults/main.yml index adc6312ac..d8fbdff7c 100644 --- a/roles/custom/matrix-sliding-sync/defaults/main.yml +++ b/roles/custom/matrix-sliding-sync/defaults/main.yml @@ -93,13 +93,13 @@ matrix_sliding_sync_container_labels_additional_labels: '' # A list of extra arguments to pass to the container matrix_sliding_sync_container_extra_arguments: [] -# List of systemd services that matrix-sliding-sync-proxy.service depends on +# List of systemd services that matrix-sliding-sync.service depends on matrix_sliding_sync_systemd_required_services_list: "{{ matrix_sliding_sync_systemd_required_services_list_default + matrix_sliding_sync_systemd_required_services_list_auto + matrix_sliding_sync_systemd_required_services_list_custom }}" matrix_sliding_sync_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}" matrix_sliding_sync_systemd_required_services_list_auto: [] matrix_sliding_sync_systemd_required_services_list_custom: [] -# List of systemd services that matrix-sliding-sync-proxy.service wants +# List of systemd services that matrix-sliding-sync.service wants matrix_sliding_sync_systemd_wanted_services_list: [] # Controls the SYNCV3_SERVER environment variable From 6531c61c7a865c0867b1a5033bbd931c02534ccf Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 1 Feb 2025 15:34:46 +0900 Subject: [PATCH 232/841] Update files for matrix-coturn: make the reloading schedule configurable with variables This commit adopts the common format which can be seen for BorgBackup. It should be probably helpful, though I am not quite sure how much. Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-turn.md | 12 ++++++++++++ roles/custom/matrix-coturn/defaults/main.yml | 6 ++++++ .../templates/systemd/matrix-coturn-reload.timer.j2 | 4 ++-- 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/docs/configuring-playbook-turn.md b/docs/configuring-playbook-turn.md index 611037415..56858d886 100644 --- a/docs/configuring-playbook-turn.md +++ b/docs/configuring-playbook-turn.md @@ -64,6 +64,18 @@ jitsi_web_stun_servers: You can put multiple host/port combinations if you'd like to. +### Edit the reloading schedule (optional) + +By default the service is reloaded on 6:30 a.m. every day based on the `matrix_coturn_reload_schedule` variable so that new SSL certificates can kick in. It is defined in the format of systemd timer calendar. + +To edit the schedule, add the following configuration to your `vars.yml` file (adapt to your needs): + +```yaml +matrix_coturn_reload_schedule: "*-*-* 06:30:00" +``` + +**Note**: the actual job may run with a delay. See `matrix_coturn_reload_schedule_randomized_delay_sec` for its default value. + ### Extending the configuration There are some additional things you may wish to configure about the TURN server. diff --git a/roles/custom/matrix-coturn/defaults/main.yml b/roles/custom/matrix-coturn/defaults/main.yml index bda15196a..60641c196 100644 --- a/roles/custom/matrix-coturn/defaults/main.yml +++ b/roles/custom/matrix-coturn/defaults/main.yml @@ -186,3 +186,9 @@ matrix_coturn_tls_key_path: ~ matrix_coturn_tls_v1_enabled: false matrix_coturn_tls_v1_1_enabled: false + +# systemd calendar configuration for the reload job +# the actual job may run with a delay (see matrix_coturn_reload_schedule_randomized_delay_sec) +matrix_coturn_reload_schedule: "*-*-* 06:30:00" +# the delay with which the systemd timer may run in relation to the `matrix_coturn_reload_schedule` schedule +matrix_coturn_reload_schedule_randomized_delay_sec: 1h diff --git a/roles/custom/matrix-coturn/templates/systemd/matrix-coturn-reload.timer.j2 b/roles/custom/matrix-coturn/templates/systemd/matrix-coturn-reload.timer.j2 index 528945412..d4b0b1093 100644 --- a/roles/custom/matrix-coturn/templates/systemd/matrix-coturn-reload.timer.j2 +++ b/roles/custom/matrix-coturn/templates/systemd/matrix-coturn-reload.timer.j2 @@ -3,8 +3,8 @@ Description=Reloads matrix-coturn periodically so that new SSL certificates can [Timer] Unit=matrix-coturn-reload.service -OnCalendar=*-*-* 06:30:00 -RandomizedDelaySec=1h +OnCalendar={{ matrix_coturn_reload_schedule }} +RandomizedDelaySec={{ matrix_coturn_reload_schedule_randomized_delay_sec }} [Install] WantedBy=timers.target From 2e986012c42aef8b375d9438ade3ac4836cd4c44 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 7 Feb 2025 01:11:57 +0900 Subject: [PATCH 233/841] Update docs/configuring-playbook-synapse-s3-storage-provider.md: add the instruction to edit the schedule Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-synapse-s3-storage-provider.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/configuring-playbook-synapse-s3-storage-provider.md b/docs/configuring-playbook-synapse-s3-storage-provider.md index c564e4c83..efe3a5a82 100644 --- a/docs/configuring-playbook-synapse-s3-storage-provider.md +++ b/docs/configuring-playbook-synapse-s3-storage-provider.md @@ -152,3 +152,9 @@ By default, we periodically ensure that all local files are uploaded to S3 and a - … triggered by the `matrix-synapse-s3-storage-provider-migrate.timer` timer, every day at 05:00 So… you don't need to perform any maintenance yourself. + +The schedule is defined in the format of systemd timer calendar. To edit the schedule, add the following configuration to your `vars.yml` file (adapt to your needs): + +```yaml +matrix_synapse_ext_synapse_s3_storage_provider_periodic_migration_schedule: "*-*-* 05:00:00" +``` From bab827c62c2f60d4d5f71e6285d8ec56efb6b71c Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 28 Dec 2024 09:11:35 -0500 Subject: [PATCH 234/841] Update docs/configuring-playbook-sliding-sync-proxy.md: add the common section "Extending the configuration" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-sliding-sync-proxy.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/configuring-playbook-sliding-sync-proxy.md b/docs/configuring-playbook-sliding-sync-proxy.md index 72da17ed3..0e72bffaa 100644 --- a/docs/configuring-playbook-sliding-sync-proxy.md +++ b/docs/configuring-playbook-sliding-sync-proxy.md @@ -36,6 +36,14 @@ If you've changed the default hostname, you may need to create a CNAME record fo When setting, replace `example.com` with your own. +### Extending the configuration + +There are some additional things you may wish to configure about the component. + +Take a look at: + +- `roles/custom/matrix-sliding-sync/defaults/main.yml` for some variables that you can customize via your `vars.yml` file + ## Installing After configuring the playbook and potentially [adjusting your DNS records](#adjusting-dns-records), run the playbook with [playbook tags](playbook-tags.md) as below: From 049769514d8d0727a3bf1ccf41b85d90e00d64df Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 19 Jan 2025 01:11:41 +0900 Subject: [PATCH 235/841] Update docs/configuring-playbook-prometheus-grafana.md: add the common section "Extending the configuration" for Prometheus Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-prometheus-grafana.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/configuring-playbook-prometheus-grafana.md b/docs/configuring-playbook-prometheus-grafana.md index 001500c59..89530058e 100644 --- a/docs/configuring-playbook-prometheus-grafana.md +++ b/docs/configuring-playbook-prometheus-grafana.md @@ -53,6 +53,14 @@ After changing the domain, **you may need to adjust your DNS** records to point **Note**: It is possible to install Prometheus without installing Grafana. This case it is not required to create the CNAME record. +### Extending the configuration + +There are some additional things you may wish to configure about Prometheus. + +Take a look at: + +- [Prometheus role](https://github.com/mother-of-all-self-hosting/ansible-role-prometheus)'s [`defaults/main.yml`](https://github.com/mother-of-all-self-hosting/ansible-role-prometheus/blob/main/defaults/main.yml) for some variables that you can customize via your `vars.yml` file. You can override settings (even those that don't have dedicated playbook variables) using the `prometheus_configuration_extension_yaml` variable + ## Installing After configuring the playbook and potentially [adjusting your DNS records](#adjusting-dns-records), run the playbook with [playbook tags](playbook-tags.md) as below: From 8592e5a185739786274898d20cf4221580d9a8fb Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 6 Feb 2025 22:05:11 +0000 Subject: [PATCH 236/841] Update dependency docker to v7.4.5 --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index f5097355a..3f6fea07a 100644 --- a/requirements.yml +++ b/requirements.yml @@ -10,7 +10,7 @@ version: v0.2.0-0 name: container_socket_proxy - src: git+https://github.com/geerlingguy/ansible-role-docker - version: 7.4.4 + version: 7.4.5 name: docker - src: git+https://github.com/devture/com.devture.ansible.role.docker_sdk_for_python.git version: 129c8590e106b83e6f4c259649a613c6279e937a From da398b4ba5695205d9d0bf1f434d9cfa7c02313a Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Fri, 7 Feb 2025 08:29:14 +0200 Subject: [PATCH 237/841] Use `config.yml` on the server for baibot Closes https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/4039 Partially reverts 30dad8ba277bc32494125b70794e2d0df5ac08ae which renamed `config.yml` to `config.yaml` in the playbook and on the server, for consistency with the rest of the playbook. The problem is that: - baibot defaults to looking for `config.yml`, not `config.yaml` (as provided). This can be worked around by specifying a new `BAIBOT_CONFIG_FILE_PATH=config.yaml` environment variable. This brings more complexity. - renaming the target file (on the server) to `config.yaml` means people with an existing installation would drag around the old file (`config.yml`) as well, unless we create a new Ansible task (`ansible.builtin.file` with `state: absent`) to remove the old file. This brings more complexity as well. https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/4039 adjusts where the file is mounted, which fixes the immediate problem (baibot not starting), but still means people will end up with 2 config files for baibot (`config.yml` and `config.yaml`). This patch, reverts a bit more, so that we still continue to use `config.yml` on the server. People who have upgraded within the last ~17 hours may end up with 2 files, but it shouldn't be too many of them. --- roles/custom/matrix-bot-baibot/tasks/install.yml | 2 +- .../templates/systemd/matrix-bot-baibot.service.j2 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/custom/matrix-bot-baibot/tasks/install.yml b/roles/custom/matrix-bot-baibot/tasks/install.yml index d2dcfdb6d..f74ab3442 100644 --- a/roles/custom/matrix-bot-baibot/tasks/install.yml +++ b/roles/custom/matrix-bot-baibot/tasks/install.yml @@ -17,7 +17,7 @@ - name: Ensure baibot configuration installed ansible.builtin.copy: content: "{{ matrix_bot_baibot_configuration | to_nice_yaml(indent=2, width=999999) }}" - dest: "{{ matrix_bot_baibot_config_path }}/config.yaml" + dest: "{{ matrix_bot_baibot_config_path }}/config.yml" mode: 0644 owner: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}" diff --git a/roles/custom/matrix-bot-baibot/templates/systemd/matrix-bot-baibot.service.j2 b/roles/custom/matrix-bot-baibot/templates/systemd/matrix-bot-baibot.service.j2 index e34f62357..346925c4a 100644 --- a/roles/custom/matrix-bot-baibot/templates/systemd/matrix-bot-baibot.service.j2 +++ b/roles/custom/matrix-bot-baibot/templates/systemd/matrix-bot-baibot.service.j2 @@ -29,7 +29,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ --read-only \ --network={{ matrix_bot_baibot_container_network }} \ --env-file={{ matrix_bot_baibot_config_path }}/env \ - --mount type=bind,src={{ matrix_bot_baibot_config_path }}/config.yaml,dst=/app/config.yaml,ro \ + --mount type=bind,src={{ matrix_bot_baibot_config_path }}/config.yml,dst=/app/config.yml,ro \ --mount type=bind,src={{ matrix_bot_baibot_data_path }},dst=/data \ --tmpfs=/tmp:rw,noexec,nosuid,size=1024m \ {% for arg in matrix_bot_baibot_container_extra_arguments %} From e4e34333daf87b9be3137a25961477ff908e2960 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 31 Jan 2025 15:15:12 +0900 Subject: [PATCH 238/841] Update files for some mautrix bridges: add the common section "Troubleshooting" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bridge-mautrix-discord.md | 13 +++++++++++++ ...configuring-playbook-bridge-mautrix-gmessages.md | 13 +++++++++++++ docs/configuring-playbook-bridge-mautrix-signal.md | 13 +++++++++++++ docs/configuring-playbook-bridge-mautrix-slack.md | 13 +++++++++++++ docs/configuring-playbook-bridge-mautrix-twitter.md | 13 +++++++++++++ .../configuring-playbook-bridge-mautrix-whatsapp.md | 13 +++++++++++++ .../matrix-bridge-mautrix-discord/defaults/main.yml | 2 +- .../defaults/main.yml | 2 +- .../matrix-bridge-mautrix-signal/defaults/main.yml | 2 +- .../matrix-bridge-mautrix-slack/defaults/main.yml | 2 +- .../matrix-bridge-mautrix-twitter/defaults/main.yml | 2 +- .../defaults/main.yml | 2 +- 12 files changed, 84 insertions(+), 6 deletions(-) diff --git a/docs/configuring-playbook-bridge-mautrix-discord.md b/docs/configuring-playbook-bridge-mautrix-discord.md index d5e6b4834..0a8c743bb 100644 --- a/docs/configuring-playbook-bridge-mautrix-discord.md +++ b/docs/configuring-playbook-bridge-mautrix-discord.md @@ -71,3 +71,16 @@ If you'd like to bridge guilds, send `guilds status` to see the list of guilds, After bridging, spaces will be created automatically, and rooms will be created if necessary when messages are received. You can also pass `--entire` to the bridge command to immediately create all rooms. If you want to manually bridge channels, invite the bot to the room you want to bridge, and run `!discord bridge CHANNEL_ID_HERE` to bridge the room. Make sure to replace `CHANNEL_ID_HERE` with the channel's ID. + +## Troubleshooting + +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-mautrix-discord`. + +### Increase logging verbosity + +The default logging level for this component is `warn`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook: + +```yaml +# Valid values: fatal, error, warn, info, debug, trace +matrix_mautrix_discord_logging_level: 'debug' +``` diff --git a/docs/configuring-playbook-bridge-mautrix-gmessages.md b/docs/configuring-playbook-bridge-mautrix-gmessages.md index eae32a1f7..658b8eb95 100644 --- a/docs/configuring-playbook-bridge-mautrix-gmessages.md +++ b/docs/configuring-playbook-bridge-mautrix-gmessages.md @@ -53,3 +53,16 @@ To use the bridge, you need to start a chat with `@gmessagesbot:example.com` (wh You can then follow instructions on the bridge's [official documentation on Authentication](https://docs.mau.fi/bridges/go/gmessages/authentication.html). After logging in, the bridge will create portal rooms for recent chats. + +## Troubleshooting + +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-mautrix-gmessages`. + +### Increase logging verbosity + +The default logging level for this component is `warn`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook: + +```yaml +# Valid values: fatal, error, warn, info, debug, trace +matrix_mautrix_gmessages_logging_level: 'debug' +``` diff --git a/docs/configuring-playbook-bridge-mautrix-signal.md b/docs/configuring-playbook-bridge-mautrix-signal.md index f0f1ccf74..d156c7b0a 100644 --- a/docs/configuring-playbook-bridge-mautrix-signal.md +++ b/docs/configuring-playbook-bridge-mautrix-signal.md @@ -60,3 +60,16 @@ You can then follow instructions on the bridge's [official documentation on Auth After logging in, the bridge will bridge chats as you receive messages. **Note**: Signal does not support any kind of message history (even on official apps), so the bridge won't backfill any messages. + +## Troubleshooting + +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-mautrix-signal`. + +### Increase logging verbosity + +The default logging level for this component is `warn`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook: + +```yaml +# Valid values: fatal, error, warn, info, debug, trace +matrix_mautrix_signal_logging_level: 'debug' +``` diff --git a/docs/configuring-playbook-bridge-mautrix-slack.md b/docs/configuring-playbook-bridge-mautrix-slack.md index b113f52f0..6ead5487d 100644 --- a/docs/configuring-playbook-bridge-mautrix-slack.md +++ b/docs/configuring-playbook-bridge-mautrix-slack.md @@ -63,3 +63,16 @@ To use the bridge, you need to start a chat with `@slackbot:example.com` (where You can then follow instructions on the bridge's [official documentation on Authentication](https://docs.mau.fi/bridges/go/slack/authentication.html). If you authenticated using a token, the recent chats will be bridged automatically (depending on the `conversation_count` setting). Otherwise (i.e. logging with the Discord application), the chats the bot is in will be bridged automatically. + +## Troubleshooting + +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-mautrix-slack`. + +### Increase logging verbosity + +The default logging level for this component is `warn`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook: + +```yaml +# Valid values: fatal, error, warn, info, debug, trace +matrix_mautrix_slack_logging_level: 'debug' +``` diff --git a/docs/configuring-playbook-bridge-mautrix-twitter.md b/docs/configuring-playbook-bridge-mautrix-twitter.md index bb25019fe..b24264a6c 100644 --- a/docs/configuring-playbook-bridge-mautrix-twitter.md +++ b/docs/configuring-playbook-bridge-mautrix-twitter.md @@ -55,3 +55,16 @@ To use the bridge, you need to start a chat with `@twitterbot:example.com` (wher You can then follow instructions on the bridge's [official documentation on Authentication](https://docs.mau.fi/bridges/go/twitter/authentication.html). After logging in, the bridge will create portal rooms for some recent chats. Portal rooms for other chats will be created as you receive messages. + +## Troubleshooting + +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-mautrix-twitter`. + +### Increase logging verbosity + +The default logging level for this component is `warn`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook: + +```yaml +# Valid values: fatal, error, warn, info, debug, trace +matrix_mautrix_twitter_logging_level: 'debug' +``` diff --git a/docs/configuring-playbook-bridge-mautrix-whatsapp.md b/docs/configuring-playbook-bridge-mautrix-whatsapp.md index 8201be513..b9d23652e 100644 --- a/docs/configuring-playbook-bridge-mautrix-whatsapp.md +++ b/docs/configuring-playbook-bridge-mautrix-whatsapp.md @@ -56,3 +56,16 @@ You can then follow instructions on the bridge's [official documentation on Auth Approximately in a minute after logging in, the bridge will create portal rooms for recent chats. **Note**: your linked devices will be logged out if you don’t use your phone for over 14 days (see the official FAQ entry [here](https://faq.whatsapp.com/general/download-and-installation/about-linked-devices)). The bridge will warn you if it doesn't receive any data from the phone over 12 days. + +## Troubleshooting + +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-mautrix-whatsapp`. + +### Increase logging verbosity + +The default logging level for this component is `warn`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook: + +```yaml +# Valid values: fatal, error, warn, info, debug, trace +matrix_mautrix_whatsapp_logging_level: 'debug' +``` diff --git a/roles/custom/matrix-bridge-mautrix-discord/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-discord/defaults/main.yml index 779816b68..63a40c07f 100644 --- a/roles/custom/matrix-bridge-mautrix-discord/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-discord/defaults/main.yml @@ -118,7 +118,7 @@ matrix_mautrix_discord_appservice_bot_avatar: mxc://maunium.net/nIdEykemnwdisvHb matrix_mautrix_discord_provisioning_shared_secret: disable # Minimum severity of journal log messages. -# Options: trace, debug, info, warn, error, fatal +# Valid values: fatal, error, warn, info, debug, trace matrix_mautrix_discord_logging_level: 'warn' # Whether or not created rooms should have federation enabled. diff --git a/roles/custom/matrix-bridge-mautrix-gmessages/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-gmessages/defaults/main.yml index 2cde7487f..c2409ec61 100644 --- a/roles/custom/matrix-bridge-mautrix-gmessages/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-gmessages/defaults/main.yml @@ -86,7 +86,7 @@ matrix_mautrix_gmessages_homeserver_token: '' matrix_mautrix_gmessages_appservice_bot_username: gmessagesbot # Minimum severity of journal log messages. -# Options: trace, debug, info, warn, error, fatal +# Valid values: fatal, error, warn, info, debug, trace matrix_mautrix_gmessages_logging_level: 'warn' # Whether or not created rooms should have federation enabled. diff --git a/roles/custom/matrix-bridge-mautrix-signal/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-signal/defaults/main.yml index b1aecf902..f4e754a41 100644 --- a/roles/custom/matrix-bridge-mautrix-signal/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-signal/defaults/main.yml @@ -93,7 +93,7 @@ matrix_mautrix_signal_homeserver_token: '' matrix_mautrix_signal_appservice_bot_username: signalbot # Minimum severity of journal log messages. -# Options: trace, debug, info, warn, error, fatal +# Valid values: fatal, error, warn, info, debug, trace matrix_mautrix_signal_logging_level: 'warn' # Whether or not created rooms should have federation enabled. diff --git a/roles/custom/matrix-bridge-mautrix-slack/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-slack/defaults/main.yml index 9b95d069f..bf5ed4bd0 100644 --- a/roles/custom/matrix-bridge-mautrix-slack/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-slack/defaults/main.yml @@ -62,7 +62,7 @@ matrix_mautrix_slack_backfill_unread_hours_threshold: 720 matrix_mautrix_slack_backfill_threads_max_initial_messages: 50 # Minimum severity of journal log messages. -# Options: trace, debug, info, warn, error, fatal +# Valid values: fatal, error, warn, info, debug, trace matrix_mautrix_slack_logging_level: 'warn' # Database-related configuration fields. diff --git a/roles/custom/matrix-bridge-mautrix-twitter/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-twitter/defaults/main.yml index 8a2fb4200..e79db967c 100644 --- a/roles/custom/matrix-bridge-mautrix-twitter/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-twitter/defaults/main.yml @@ -130,7 +130,7 @@ matrix_mautrix_twitter_backfill_max_catchup_messages: 500 matrix_mautrix_twitter_provisioning_shared_secret: disable # Minimum severity of journal log messages. -# Options: trace, debug, info, warn, error, fatal +# Valid values: fatal, error, warn, info, debug, trace matrix_mautrix_twitter_logging_level: 'warn' # Whether or not metrics endpoint should be enabled. diff --git a/roles/custom/matrix-bridge-mautrix-whatsapp/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-whatsapp/defaults/main.yml index 2d2519338..88b40dd81 100644 --- a/roles/custom/matrix-bridge-mautrix-whatsapp/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-whatsapp/defaults/main.yml @@ -82,7 +82,7 @@ matrix_mautrix_whatsapp_homeserver_token: '' matrix_mautrix_whatsapp_appservice_bot_username: whatsappbot # Minimum severity of journal log messages. -# Options: trace, debug, info, warn, error, fatal +# Valid values: fatal, error, warn, info, debug, trace matrix_mautrix_whatsapp_logging_level: 'warn' # Whether or not created rooms should have federation enabled. From c69892ec1f3bfb203c750e5e0b6992950de822f4 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 1 Feb 2025 18:54:43 +0900 Subject: [PATCH 239/841] Update docs/configuring-playbook-bridge-mautrix-wsproxy.md: add the common section "Troubleshooting" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bridge-mautrix-wsproxy.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/configuring-playbook-bridge-mautrix-wsproxy.md b/docs/configuring-playbook-bridge-mautrix-wsproxy.md index fb2005c6d..b761e71d9 100644 --- a/docs/configuring-playbook-bridge-mautrix-wsproxy.md +++ b/docs/configuring-playbook-bridge-mautrix-wsproxy.md @@ -67,3 +67,7 @@ ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-use ## Usage Follow the [mautrix-imessage documenation](https://docs.mau.fi/bridges/go/imessage/index.html) for running `android-sms` and/or `matrix-imessage` on your device(s). + +## Troubleshooting + +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-mautrix-wsproxy`. From c9ae1efa07053205f3f714042a682d736a5eb566 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 1 Feb 2025 19:03:34 +0900 Subject: [PATCH 240/841] Update docs for Meta Instagram and Messenger: add the common section "Troubleshooting" The comments are copied from the configuration files. Signed-off-by: Suguru Hirahara --- ...guring-playbook-bridge-mautrix-meta-instagram.md | 13 +++++++++++++ ...guring-playbook-bridge-mautrix-meta-messenger.md | 13 +++++++++++++ 2 files changed, 26 insertions(+) diff --git a/docs/configuring-playbook-bridge-mautrix-meta-instagram.md b/docs/configuring-playbook-bridge-mautrix-meta-instagram.md index d89c1d50c..26c34f8d9 100644 --- a/docs/configuring-playbook-bridge-mautrix-meta-instagram.md +++ b/docs/configuring-playbook-bridge-mautrix-meta-instagram.md @@ -69,3 +69,16 @@ To use the bridge, you need to start a chat with `@instagrambot:example.com` (wh You can then follow instructions on the bridge's [official documentation on Authentication](https://docs.mau.fi/bridges/go/meta/authentication.html). After logging in, the bridge will sync recent chats. + +## Troubleshooting + +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-mautrix-meta-instagram`. + +### Increase logging verbosity + +The default logging level for this component is `warn`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook: + +```yaml +# This bridge uses zerolog, so valid levels are: panic, fatal, error, warn, info, debug, trace +matrix_mautrix_meta_instagram_logging_min_level: debug +``` diff --git a/docs/configuring-playbook-bridge-mautrix-meta-messenger.md b/docs/configuring-playbook-bridge-mautrix-meta-messenger.md index 96041c829..51b1a40ca 100644 --- a/docs/configuring-playbook-bridge-mautrix-meta-messenger.md +++ b/docs/configuring-playbook-bridge-mautrix-meta-messenger.md @@ -84,3 +84,16 @@ You can then follow instructions on the bridge's [official documentation on Auth After logging in, the bridge will sync recent chats. **Note**: given that the bot is configured in `messenger` [bridge mode](#bridge-mode) by default, you will need to log in to [messenger.com](https://messenger.com/) (not `facebook.com`!) and obtain the cookies from there. + +## Troubleshooting + +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-mautrix-meta-messenger`. + +### Increase logging verbosity + +The default logging level for this component is `warn`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook: + +```yaml +# This bridge uses zerolog, so valid levels are: panic, fatal, error, warn, info, debug, trace +matrix_mautrix_meta_messenger_logging_min_level: debug +``` From 145d2cc6758d15fb61753c2206471b653e831ec1 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 1 Feb 2025 19:04:20 +0900 Subject: [PATCH 241/841] Update docs for the other mautrix bridges: add the common section "Troubleshooting" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bridge-mautrix-facebook.md | 10 ++++++++++ ...configuring-playbook-bridge-mautrix-googlechat.md | 12 ++++++++++++ .../configuring-playbook-bridge-mautrix-instagram.md | 12 ++++++++++++ docs/configuring-playbook-bridge-mautrix-telegram.md | 12 ++++++++++++ 4 files changed, 46 insertions(+) diff --git a/docs/configuring-playbook-bridge-mautrix-facebook.md b/docs/configuring-playbook-bridge-mautrix-facebook.md index 51a162caf..67d2b3d9b 100644 --- a/docs/configuring-playbook-bridge-mautrix-facebook.md +++ b/docs/configuring-playbook-bridge-mautrix-facebook.md @@ -59,6 +59,16 @@ If you run into trouble, check the [Troubleshooting](#troubleshooting) section b ## Troubleshooting +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-mautrix-facebook`. + +### Increase logging verbosity + +The default logging level for this component is `WARNING`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook: + +```yaml +matrix_mautrix_facebook_logging_level: DEBUG +``` + ### Facebook rejecting login attempts and forcing you to change password If your Matrix server is in a wildly different location than where you usually use your Facebook account from, the bridge's login attempts may be outright rejected by Facebook. Along with that, Facebook may even force you to change the account's password. diff --git a/docs/configuring-playbook-bridge-mautrix-googlechat.md b/docs/configuring-playbook-bridge-mautrix-googlechat.md index 4dbde4dd8..a2e3dff61 100644 --- a/docs/configuring-playbook-bridge-mautrix-googlechat.md +++ b/docs/configuring-playbook-bridge-mautrix-googlechat.md @@ -55,3 +55,15 @@ To use the bridge, you need to start a chat with `@googlechatbot:example.com` (w You can then follow instructions on the bridge's [official documentation on Authentication](https://docs.mau.fi/bridges/python/googlechat/authentication.html). After logging in, the bridge will create portal rooms for some recent chats. Portal rooms for other chats will be created as you receive messages. + +## Troubleshooting + +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-mautrix-googlechat`. + +### Increase logging verbosity + +The default logging level for this component is `WARNING`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook: + +```yaml +matrix_mautrix_googlechat_logging_level: DEBUG +``` diff --git a/docs/configuring-playbook-bridge-mautrix-instagram.md b/docs/configuring-playbook-bridge-mautrix-instagram.md index 99988df41..4bacb9ebd 100644 --- a/docs/configuring-playbook-bridge-mautrix-instagram.md +++ b/docs/configuring-playbook-bridge-mautrix-instagram.md @@ -44,3 +44,15 @@ ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-use To use the bridge, you need to start a chat with `@instagrambot:example.com` (where `example.com` is your base domain, not the `matrix.` domain). You then need to send `login YOUR_INSTAGRAM_EMAIL_ADDRESS YOUR_INSTAGRAM_PASSWORD` to the bridge bot to enable bridging for your instagram/Messenger account. + +## Troubleshooting + +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-mautrix-instagram`. + +### Increase logging verbosity + +The default logging level for this component is `WARNING`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook: + +```yaml +matrix_mautrix_instagram_logging_level: DEBUG +``` diff --git a/docs/configuring-playbook-bridge-mautrix-telegram.md b/docs/configuring-playbook-bridge-mautrix-telegram.md index f3deabc77..77f92a1dc 100644 --- a/docs/configuring-playbook-bridge-mautrix-telegram.md +++ b/docs/configuring-playbook-bridge-mautrix-telegram.md @@ -93,3 +93,15 @@ To use the bridge, you need to start a chat with `@telegrambot:example.com` (whe You can then follow instructions on the bridge's [official documentation on Authentication](https://docs.mau.fi/bridges/python/telegram/authentication.html). After logging in, the bridge will create portal rooms for all of your Telegram groups and invite you to them. Note that the bridge won't automatically create rooms for private chats. + +## Troubleshooting + +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-mautrix-telegram`. + +### Increase logging verbosity + +The default logging level for this component is `WARNING`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook: + +```yaml +matrix_mautrix_telegram_logging_level: DEBUG +``` From 63a6d7e73ae0fbeb8a13268f07e91bfab1c371dc Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 7 Feb 2025 16:03:38 +0900 Subject: [PATCH 242/841] Update docs/configuring-playbook-prometheus-grafana.md: add the common section "Troubleshooting" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-prometheus-grafana.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/configuring-playbook-prometheus-grafana.md b/docs/configuring-playbook-prometheus-grafana.md index 89530058e..013fa8869 100644 --- a/docs/configuring-playbook-prometheus-grafana.md +++ b/docs/configuring-playbook-prometheus-grafana.md @@ -155,6 +155,12 @@ scrape_configs: index: 18111 ``` +## Troubleshooting + +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running the commands below: +- `journalctl -fu matrix-prometheus` for Prometheus +- `journalctl -fu matrix-grafana` for Grafana + ## More information - [Enabling synapse-usage-exporter for Synapse usage statistics](configuring-playbook-synapse-usage-exporter.md) From 4e977bd3b2c75005ad9356c7fc6354f48971e9c6 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 7 Feb 2025 16:07:00 +0900 Subject: [PATCH 243/841] Update docs/configuring-playbook-bot-matrix-registration-bot.md: fix the service name Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bot-matrix-registration-bot.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/configuring-playbook-bot-matrix-registration-bot.md b/docs/configuring-playbook-bot-matrix-registration-bot.md index fffd239f2..96c9dd54a 100644 --- a/docs/configuring-playbook-bot-matrix-registration-bot.md +++ b/docs/configuring-playbook-bot-matrix-registration-bot.md @@ -75,7 +75,7 @@ just run-tags bot-matrix-registration-bot-clean-cache ## Troubleshooting -As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-registration-bot`. +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-bot-matrix-registration-bot`. ### Increase logging verbosity From 7f8f241e81842725a6b95e21747811bd61c37f07 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 7 Feb 2025 16:09:26 +0900 Subject: [PATCH 244/841] Update docs/configuring-playbook-bridge-appservice-webhooks.md: remove the duplicated instruction in favor of the dedicated section below Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bridge-appservice-webhooks.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/docs/configuring-playbook-bridge-appservice-webhooks.md b/docs/configuring-playbook-bridge-appservice-webhooks.md index c57e1239f..1fbecfdb1 100644 --- a/docs/configuring-playbook-bridge-appservice-webhooks.md +++ b/docs/configuring-playbook-bridge-appservice-webhooks.md @@ -14,9 +14,6 @@ To enable the bridge, add the following configuration to your `inventory/host_va matrix_appservice_webhooks_enabled: true matrix_appservice_webhooks_api_secret: '' -# Uncomment to increase the verbosity of logging via `journalctl -fu matrix-appservice-webhooks.service` -# matrix_appservice_webhooks_log_level: 'verbose' - # As of Synapse 1.90.0, uncomment to enable the backwards compatibility (https://matrix-org.github.io/synapse/latest/upgrade#upgrading-to-v1900) that this bridge needs. # Note: This deprecated method is considered insecure. # From 596136412574f5b58909cb9fabef8632f9ea6287 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 7 Feb 2025 16:11:09 +0900 Subject: [PATCH 245/841] Update docs/configuring-playbook-bridge-wechat.md: fix the service name Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bridge-wechat.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/configuring-playbook-bridge-wechat.md b/docs/configuring-playbook-bridge-wechat.md index b42388bb7..0ae3fe21f 100644 --- a/docs/configuring-playbook-bridge-wechat.md +++ b/docs/configuring-playbook-bridge-wechat.md @@ -47,7 +47,7 @@ Send `help` to the bot to see the available commands. ## Troubleshooting -As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-bridge-wechat`. +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-wechat`. ### Increase logging verbosity From ddeae3c1c4f1ab5c7a801d5eef8a774587baa492 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 7 Feb 2025 16:12:27 +0900 Subject: [PATCH 246/841] Update docs/configuring-playbook-bridge-hookshot.md: fix the service name Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bridge-hookshot.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/configuring-playbook-bridge-hookshot.md b/docs/configuring-playbook-bridge-hookshot.md index 13c6eb6f3..4ed8d2186 100644 --- a/docs/configuring-playbook-bridge-hookshot.md +++ b/docs/configuring-playbook-bridge-hookshot.md @@ -146,7 +146,7 @@ If you are also running [matrix-appservice-webhooks](configuring-playbook-bridge ## Troubleshooting -As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-bridge-hookshot`. +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-hookshot`. ### Increase logging verbosity From eff8c8e4b34dd091b7c3ded838b6324c33eaf3aa Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 7 Feb 2025 16:21:43 +0900 Subject: [PATCH 247/841] Update docs/configuring-playbook-jitsi.md: adopt the common instruction for troubleshooting Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-jitsi.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/configuring-playbook-jitsi.md b/docs/configuring-playbook-jitsi.md index 9e976b691..48c7516c7 100644 --- a/docs/configuring-playbook-jitsi.md +++ b/docs/configuring-playbook-jitsi.md @@ -382,6 +382,12 @@ ansible-playbook -i inventory/hosts --limit jitsi_jvb_servers jitsi_jvb.yml --ta ## Troubleshooting +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running the commands below: +- `journalctl -fu matrix-jitsi-web` +- `journalctl -fu matrix-jitsi-prosody` +- `journalctl -fu matrix-jitsi-jicofo` +- `journalctl -fu matrix-jitsi-jvb` + ### `Error: Account creation/modification not supported` If you get an error like `Error: Account creation/modification not supported` with authentication enabled, it's likely that you had previously installed Jitsi without auth/guest support. From b72de6995d88ef4ecbbff8d11f8dacc29ee30896 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 7 Feb 2025 16:24:56 +0900 Subject: [PATCH 248/841] Update docs/configuring-playbook-postgres-backup.md: add the common section "Troubleshooting" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-postgres-backup.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/configuring-playbook-postgres-backup.md b/docs/configuring-playbook-postgres-backup.md index 165609d0c..08f88b8bf 100644 --- a/docs/configuring-playbook-postgres-backup.md +++ b/docs/configuring-playbook-postgres-backup.md @@ -36,3 +36,7 @@ ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. + +## Troubleshooting + +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-postgres-backup`. From 1bccda962905a87bbd72adcc046221e468e9ce20 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 7 Feb 2025 16:32:30 +0900 Subject: [PATCH 249/841] Update docs/configuring-playbook-s3-goofys.md: add the common section "Troubleshooting" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-s3-goofys.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/configuring-playbook-s3-goofys.md b/docs/configuring-playbook-s3-goofys.md index 720c7d8b2..2efdac86e 100644 --- a/docs/configuring-playbook-s3-goofys.md +++ b/docs/configuring-playbook-s3-goofys.md @@ -124,3 +124,7 @@ After making the backup, follow one of the guides below for a migration path fro 7. You're done! Verify that loading existing (old) media files works and that you can upload new ones. 8. When confident that it all works, get rid of the local media store directory: `rm -rf /matrix/synapse/storage/media-store-local-backup` + +## Troubleshooting + +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-goofys`. From 9a287d04eea8a360099fbd9243192723b5c45dda Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 31 Jan 2025 03:05:36 +0900 Subject: [PATCH 250/841] Update docs/configuring-playbook-matrix-corporal.md: remove the hr HTML elements used for styling Now that the warning message is styled with the fancy decoration, it is no longer to wrap them with the hr HTML elements as they are redundant. Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-matrix-corporal.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/docs/configuring-playbook-matrix-corporal.md b/docs/configuring-playbook-matrix-corporal.md index 1e387e046..946a0209d 100644 --- a/docs/configuring-playbook-matrix-corporal.md +++ b/docs/configuring-playbook-matrix-corporal.md @@ -1,12 +1,8 @@ # Setting up Matrix Corporal (optional, advanced) -
- > [!WARNING] > This is an advanced feature! It requires prior experience with Matrix and a specific need for using [Matrix Corporal](https://github.com/devture/matrix-corporal). If you're unsure whether you have such a need, you most likely don't. -
- The playbook can install and configure [matrix-corporal](https://github.com/devture/matrix-corporal) for you. In short, it's a sort of automation and firewalling service, which is helpful if you're instaling Matrix services in a controlled corporate environment. From 331fe31ecf5aad9bfb8fdc5515679fabf005f9cf Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 29 Dec 2024 13:07:24 -0500 Subject: [PATCH 251/841] Update docs/configuring-playbook-bridge-matrix-bridge-sms.md: remove a blank line Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bridge-matrix-bridge-sms.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/configuring-playbook-bridge-matrix-bridge-sms.md b/docs/configuring-playbook-bridge-matrix-bridge-sms.md index 5ea15577d..c580f26c5 100644 --- a/docs/configuring-playbook-bridge-matrix-bridge-sms.md +++ b/docs/configuring-playbook-bridge-matrix-bridge-sms.md @@ -30,7 +30,6 @@ matrix_sms_bridge_provider_android_password: supeSecretPassword # (optional) if your android-sms-gateway-server uses a self signed vertificate, the bridge needs a "truststore". This can be the certificate itself. matrix_sms_bridge_provider_android_truststore_local_path: android-sms-gateway-server.p12 matrix_sms_bridge_provider_android_truststore_password: 123 - ``` ### Extending the configuration From 47525903b03f08cb4862d303983677558cd2604f Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 26 Jan 2025 20:12:44 +0900 Subject: [PATCH 252/841] Update docs/configuring-playbook-s3.md: make the loose list tight Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-s3.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/docs/configuring-playbook-s3.md b/docs/configuring-playbook-s3.md index 2f6f1ad49..3679b6add 100644 --- a/docs/configuring-playbook-s3.md +++ b/docs/configuring-playbook-s3.md @@ -84,9 +84,7 @@ The `keyID` value is your **Access Key** and `applicationKey` is your **Secret K For configuring [Goofys](configuring-playbook-s3-goofys.md) or [s3-synapse-storage-provider](configuring-playbook-synapse-s3-storage-provider.md) you will need: - **Endpoint URL** — this is the **Endpoint** value you saw above, but prefixed with `https://` - - **Region** — use the value you see in the Endpoint (e.g. `us-west-002`) - - **Storage Class** — use `STANDARD`. Backblaze B2 does not have different storage classes, so it doesn't make sense to use any other value. ## Other providers From e356f404ad5107704a08ea5cff171d8242116332 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 2 Feb 2025 01:12:38 +0900 Subject: [PATCH 253/841] Update docs/maintenance-synapse.md: make the loose list tight Signed-off-by: Suguru Hirahara --- docs/maintenance-synapse.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/docs/maintenance-synapse.md b/docs/maintenance-synapse.md index cd8f11697..e7cb17c9d 100644 --- a/docs/maintenance-synapse.md +++ b/docs/maintenance-synapse.md @@ -3,13 +3,9 @@ This document shows you how to perform various maintenance tasks related to the Synapse chat server. Table of contents: - - [Purging old data with the Purge History API](#purging-old-data-with-the-purge-history-api), for when you wish to delete in-use (but old) data from the Synapse database - - [Compressing state with rust-synapse-compress-state](#compressing-state-with-rust-synapse-compress-state) - - [Browse and manipulate the database](#browse-and-manipulate-the-database), for when you really need to take matters into your own hands - - [Make Synapse faster](#make-synapse-faster) 💡 See this page for details about configuring Synapse: [Configuring Synapse](configuring-playbook-synapse.md) From 522c59038e72fa5a3071a4b34a11b16c9c1bac20 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 24 Jan 2025 23:12:05 +0900 Subject: [PATCH 254/841] Update examples/reverse-proxies/nginx/matrix.conf: fix capitalization Signed-off-by: Suguru Hirahara --- examples/reverse-proxies/nginx/matrix.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/reverse-proxies/nginx/matrix.conf b/examples/reverse-proxies/nginx/matrix.conf index 0919011ef..7d2459543 100644 --- a/examples/reverse-proxies/nginx/matrix.conf +++ b/examples/reverse-proxies/nginx/matrix.conf @@ -11,9 +11,9 @@ server { http3 on; # TODO: add/remove services and their subdomains if you use/don't use them - # this example is using hosting something on the base domain and an element web client, so example.com and element.example.com are listed in addition to matrix.example.com + # this example is using hosting something on the base domain and an Element Web client, so example.com and element.example.com are listed in addition to matrix.example.com # if you don't use those, you can remove them - # if you use e.g. dimension on dimension.example.com, add dimension.example.com to the server_name list + # if you use e.g. Dimension on dimension.example.com, add dimension.example.com to the server_name list server_name example.com matrix.example.com element.example.com; location / { From 298bc21d5452264820b76d013fc5e3740354bf13 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 24 Jan 2025 23:12:34 +0900 Subject: [PATCH 255/841] Update roles/custom/matrix-bridge-hookshot/defaults/main.yml: fix capitalization Signed-off-by: Suguru Hirahara --- roles/custom/matrix-bridge-hookshot/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-bridge-hookshot/defaults/main.yml b/roles/custom/matrix-bridge-hookshot/defaults/main.yml index 4de899ca9..f4538e143 100644 --- a/roles/custom/matrix-bridge-hookshot/defaults/main.yml +++ b/roles/custom/matrix-bridge-hookshot/defaults/main.yml @@ -178,7 +178,7 @@ matrix_hookshot_provisioning_enabled: false # There is no need to edit ports. use matrix_hookshot_container_http_host_bind_ports below to expose ports instead. matrix_hookshot_provisioning_port: 9002 matrix_hookshot_provisioning_secret: '' -# Provisioning will be automatically enabled if dimension is enabled and you have provided a provisioning secret, unless you override it +# Provisioning will be automatically enabled if Dimension is enabled and you have provided a provisioning secret, unless you override it matrix_hookshot_provisioning_internal: "/v1" matrix_hookshot_provisioning_hostname: "{{ matrix_hookshot_public_hostname }}" matrix_hookshot_provisioning_endpoint: "{{ matrix_hookshot_public_endpoint }}{{ matrix_hookshot_provisioning_internal }}" From c202091063eb8d6f5c5d173f7a2bac2b51f3856a Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 24 Jan 2025 23:13:11 +0900 Subject: [PATCH 256/841] Update roles/custom/matrix-dimension/tasks/setup_install.yml: fix capitalization Signed-off-by: Suguru Hirahara --- roles/custom/matrix-dimension/tasks/setup_install.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-dimension/tasks/setup_install.yml b/roles/custom/matrix-dimension/tasks/setup_install.yml index ce7080c52..1c4c4827f 100644 --- a/roles/custom/matrix-dimension/tasks/setup_install.yml +++ b/roles/custom/matrix-dimension/tasks/setup_install.yml @@ -105,7 +105,7 @@ delay: "{{ devture_playbook_help_container_retries_delay }}" until: matrix_dimension_pull_results is not failed -- name: Ensure dimension repository is present on self-build +- name: Ensure Dimension repository is present on self-build ansible.builtin.git: repo: "{{ matrix_dimension_container_image_self_build_repo }}" dest: "{{ matrix_dimension_docker_src_files_path }}" From b72aec0c18783943ef7549ad0909b1168dd54bf8 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 7 Feb 2025 17:39:26 +0900 Subject: [PATCH 257/841] Update docs/configuring-playbook-bridge-hookshot.md: fix capitalization Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bridge-hookshot.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/configuring-playbook-bridge-hookshot.md b/docs/configuring-playbook-bridge-hookshot.md index 4ed8d2186..514f6b888 100644 --- a/docs/configuring-playbook-bridge-hookshot.md +++ b/docs/configuring-playbook-bridge-hookshot.md @@ -125,7 +125,7 @@ For more information, see the documentation in the [default configuration of the ### Provisioning API -The provisioning API will be enabled automatically if you set `matrix_dimension_enabled: true` and provided a `matrix_hookshot_provisioning_secret`, unless you override it either way. To use hookshot with dimension, you will need to enter as "Provisioning URL": `http://matrix-hookshot:9002`, which is made up of the variables `matrix_hookshot_container_url` and `matrix_hookshot_provisioning_port`. +The provisioning API will be enabled automatically if you set `matrix_dimension_enabled: true` and provided a `matrix_hookshot_provisioning_secret`, unless you override it either way. To use hookshot with Dimension, you will need to enter as "Provisioning URL": `http://matrix-hookshot:9002`, which is made up of the variables `matrix_hookshot_container_url` and `matrix_hookshot_provisioning_port`. ### Metrics From 6b5275519202e0855b6f1576329a6d0004fd5ac0 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 30 Jan 2025 15:27:49 +0900 Subject: [PATCH 258/841] Update files for Pantalaimon: adopt the common description for logging verbosity Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-pantalaimon.md | 2 +- roles/custom/matrix-pantalaimon/defaults/main.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/configuring-playbook-pantalaimon.md b/docs/configuring-playbook-pantalaimon.md index fb34c7b5c..4341a07f4 100644 --- a/docs/configuring-playbook-pantalaimon.md +++ b/docs/configuring-playbook-pantalaimon.md @@ -42,6 +42,6 @@ As with all other services, you can find the logs in [systemd-journald](https:// The default logging level for this component is `Warning`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook: ```yaml -# Pantalaimon log level, case-insensitive (Error, Warning, Info, Debug) +# Valid values: Error, Warning, Info, Debug matrix_pantalaimon_log_level: Debug ``` diff --git a/roles/custom/matrix-pantalaimon/defaults/main.yml b/roles/custom/matrix-pantalaimon/defaults/main.yml index 8746519d3..977f53d0a 100644 --- a/roles/custom/matrix-pantalaimon/defaults/main.yml +++ b/roles/custom/matrix-pantalaimon/defaults/main.yml @@ -42,7 +42,7 @@ matrix_pantalaimon_systemd_wanted_services_list_default: [] matrix_pantalaimon_systemd_wanted_services_list_auto: [] matrix_pantalaimon_systemd_wanted_services_list_custom: [] -# Pantalaimon log level, case-insensitive (Error, Warning, Info, Debug) +# Valid values: Error, Warning, Info, Debug matrix_pantalaimon_log_level: Warning # Base URL where matrix-pantalaimon can reach your homeserver C-S API. From cfe5010773246462524b8e640b8b08ae1aed6ef3 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 2 Feb 2025 03:47:22 +0900 Subject: [PATCH 259/841] Update docs/configuring-playbook-synapse-usage-exporter.md: add the section "What does it do?" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-synapse-usage-exporter.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/configuring-playbook-synapse-usage-exporter.md b/docs/configuring-playbook-synapse-usage-exporter.md index 3eb98921f..6c3e9629d 100644 --- a/docs/configuring-playbook-synapse-usage-exporter.md +++ b/docs/configuring-playbook-synapse-usage-exporter.md @@ -6,6 +6,10 @@ It allows you to export the usage statistics of a Synapse homeserver to this con Synapse does not include usage statistics in its Prometheus metrics. They can be reported to an HTTP `PUT` endpoint 5 minutes after startup and from then on at a fixed interval of once every three hours. This role integrates a simple [Flask](https://flask.palletsprojects.com) project that offers an HTTP `PUT` endpoint and holds the most recent received record available to be scraped by Prometheus. +See the project's [documentation](https://github.com/loelkes/synapse-usage-exporter/blob/main/README.md) to learn what it does and why it might be useful to you. + +## What does it do? + Enabling this service will automatically: - install the synapse-usage-exporter service @@ -13,8 +17,6 @@ Enabling this service will automatically: - re-configure [Prometheus](./configuring-playbook-prometheus-grafana.md) (if Prometheus is enabled), to periodically scrape metrics from synapse-usage-exporter - add a new [Grafana](./configuring-playbook-prometheus-grafana.md) dashboard (if Grafana is enabled) containing Synapse usage statistics -See the project's [documentation](https://github.com/loelkes/synapse-usage-exporter/blob/main/README.md) to learn what it does and why it might be useful to you. - ## Adjusting DNS records (optional) By default, this playbook installs synapse-usage-exporter on the `matrix.` subdomain, at the `/report-usage-stats/push` path (https://matrix.example.com/report-usage-stats/push). This makes it easy to install it, because it **doesn't require additional DNS records to be set up**. If that's okay, you can skip this section. From 1ddab522946c51e3474c37fc184f60016b635de6 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 3 Feb 2025 02:03:43 +0900 Subject: [PATCH 260/841] Update docs/configuring-playbook-prometheus-grafana.md: add periods to sentences Signed-off-by: Suguru Hirahara --- ...configuring-playbook-prometheus-grafana.md | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/docs/configuring-playbook-prometheus-grafana.md b/docs/configuring-playbook-prometheus-grafana.md index 013fa8869..ca8b6a082 100644 --- a/docs/configuring-playbook-prometheus-grafana.md +++ b/docs/configuring-playbook-prometheus-grafana.md @@ -79,12 +79,12 @@ The shortcut commands with the [`just` program](just.md) are also available: `ju Name | Description -----|---------- `prometheus_enabled`|[Prometheus](https://prometheus.io) is a time series database. It holds all the data we're going to talk about. -`prometheus_node_exporter_enabled`|[Node Exporter](https://prometheus.io/docs/guides/node-exporter/) is an addon of sorts to Prometheus that collects generic system information such as CPU, memory, filesystem, and even system temperatures +`prometheus_node_exporter_enabled`|[Node Exporter](https://prometheus.io/docs/guides/node-exporter/) is an addon of sorts to Prometheus that collects generic system information such as CPU, memory, filesystem, and even system temperatures. `prometheus_postgres_exporter_enabled`|[Postgres Exporter](configuring-playbook-prometheus-postgres.md) is an addon of sorts to expose Postgres database metrics to Prometheus. `matrix_prometheus_nginxlog_exporter_enabled`|[nginx Log Exporter](configuring-playbook-prometheus-nginxlog.md) is an addon of sorts to expose nginx logs to Prometheus. -`grafana_enabled`|[Grafana](https://grafana.com/) is the visual component. It shows (on the `stats.example.com` subdomain) the dashboards with the graphs that we're interested in +`grafana_enabled`|[Grafana](https://grafana.com/) is the visual component. It shows (on the `stats.example.com` subdomain) the dashboards with the graphs that we're interested in. `grafana_anonymous_access`|By default you need to log in to see graphs. If you want to publicly share your graphs (e.g. when asking for help in [`#synapse:matrix.org`](https://matrix.to/#/#synapse:matrix.org?via=matrix.org&via=privacytools.io&via=mozilla.org)) you'll want to enable this option. -`grafana_default_admin_user`
`grafana_default_admin_password`|By default Grafana creates a user with `admin` as the username and password. If you feel this is insecure and you want to change it beforehand, you can do that here +`grafana_default_admin_user`
`grafana_default_admin_password`|By default Grafana creates a user with `admin` as the username and password. If you feel this is insecure and you want to change it beforehand, you can do that here. ## Security and privacy @@ -107,21 +107,21 @@ The following variables may be of interest: Name | Description -----|---------- `matrix_metrics_exposure_enabled`|Set this to `true` to **enable metrics exposure for all services** on `https://matrix.example.com/metrics/*`. If you think this is too much, refer to the helpful (but nonexhaustive) list of individual `matrix_SERVICE_metrics_proxying_enabled` (or similar) variables below for exposing metrics on a per-service basis. -`matrix_metrics_exposure_http_basic_auth_enabled`|Set this to `true` to protect all `https://matrix.example.com/metrics/*` endpoints with [Basic Authentication](https://en.wikipedia.org/wiki/Basic_access_authentication) (see the other variables below for supplying the actual credentials). When enabled, all endpoints beneath `/metrics` will be protected with the same credentials +`matrix_metrics_exposure_http_basic_auth_enabled`|Set this to `true` to protect all `https://matrix.example.com/metrics/*` endpoints with [Basic Authentication](https://en.wikipedia.org/wiki/Basic_access_authentication) (see the other variables below for supplying the actual credentials). When enabled, all endpoints beneath `/metrics` will be protected with the same credentials. `matrix_metrics_exposure_http_basic_auth_users`|Set this to the Basic Authentication credentials (raw `htpasswd` file content) used to protect `/metrics/*`. This htpasswd-file needs to be generated with the `htpasswd` tool and can include multiple username/password pairs. -`matrix_synapse_metrics_enabled`|Set this to `true` to make Synapse expose metrics (locally, on the container network) +`matrix_synapse_metrics_enabled`|Set this to `true` to make Synapse expose metrics (locally, on the container network). `matrix_synapse_metrics_proxying_enabled`|Set this to `true` to expose Synapse's metrics on `https://matrix.example.com/metrics/synapse/main-process` and `https://matrix.example.com/metrics/synapse/worker/TYPE-ID`. Read [below](#collecting-synapse-worker-metrics-to-an-external-prometheus-server) if you're running a Synapse worker setup (`matrix_synapse_workers_enabled: true`). To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` above. -`prometheus_node_exporter_enabled`|Set this to `true` to enable the node (general system stats) exporter (locally, on the container network) +`prometheus_node_exporter_enabled`|Set this to `true` to enable the node (general system stats) exporter (locally, on the container network). `prometheus_node_exporter_container_labels_traefik_enabled`|Set this to `true` to expose the node (general system stats) metrics on `https://matrix.example.com/metrics/node-exporter`. To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` above. -`prometheus_postgres_exporter_enabled`|Set this to `true` to enable the [Postgres exporter](configuring-playbook-prometheus-postgres.md) (locally, on the container network) +`prometheus_postgres_exporter_enabled`|Set this to `true` to enable the [Postgres exporter](configuring-playbook-prometheus-postgres.md) (locally, on the container network). `prometheus_postgres_exporter_container_labels_traefik_enabled`|Set this to `true` to expose the [Postgres exporter](configuring-playbook-prometheus-postgres.md) metrics on `https://matrix.example.com/metrics/postgres-exporter`. To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` above. -`matrix_prometheus_nginxlog_exporter_enabled`|Set this to `true` to enable the [nginx Log exporter](configuring-playbook-prometheus-nginxlog.md) (locally, on the container network) -`matrix_sliding_sync_metrics_enabled`|Set this to `true` to make [Sliding Sync](configuring-playbook-sliding-sync-proxy.md) expose metrics (locally, on the container network) +`matrix_prometheus_nginxlog_exporter_enabled`|Set this to `true` to enable the [nginx Log exporter](configuring-playbook-prometheus-nginxlog.md) (locally, on the container network). +`matrix_sliding_sync_metrics_enabled`|Set this to `true` to make [Sliding Sync](configuring-playbook-sliding-sync-proxy.md) expose metrics (locally, on the container network). `matrix_sliding_sync_metrics_proxying_enabled`|Set this to `true` to expose the [Sliding Sync](configuring-playbook-sliding-sync-proxy.md) metrics on `https://matrix.example.com/metrics/sliding-sync`. To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` above. -`matrix_bridge_hookshot_metrics_enabled`|Set this to `true` to make [Hookshot](configuring-playbook-bridge-hookshot.md) expose metrics (locally, on the container network) +`matrix_bridge_hookshot_metrics_enabled`|Set this to `true` to make [Hookshot](configuring-playbook-bridge-hookshot.md) expose metrics (locally, on the container network). `matrix_bridge_hookshot_metrics_proxying_enabled`|Set this to `true` to expose the [Hookshot](configuring-playbook-bridge-hookshot.md) metrics on `https://matrix.example.com/metrics/hookshot`. To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` above. `matrix_SERVICE_metrics_proxying_enabled`|Various other services/roles may provide similar `_metrics_enabled` and `_metrics_proxying_enabled` variables for exposing their metrics. Refer to each role for details. To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` above or `matrix_SERVICE_container_labels_metrics_middleware_basic_auth_enabled`/`matrix_SERVICE_container_labels_metrics_middleware_basic_auth_users` variables provided by each role. -`matrix_media_repo_metrics_enabled`|Set this to `true` to make media-repo expose metrics (locally, on the container network) +`matrix_media_repo_metrics_enabled`|Set this to `true` to make media-repo expose metrics (locally, on the container network). ### Collecting Synapse worker metrics to an external Prometheus server From 0f940af3978a0ac5b72c2e934579f5475f2ef9b2 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 2 Feb 2025 01:51:16 +0900 Subject: [PATCH 261/841] Update docs/faq.md and docs for importing data: adopt the common introduction Signed-off-by: Suguru Hirahara --- docs/faq.md | 2 +- docs/importing-postgres.md | 7 +++++-- docs/importing-synapse-media-store.md | 2 +- docs/importing-synapse-sqlite.md | 4 +++- 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/docs/faq.md b/docs/faq.md index 3e475fba8..c7e4cd2fb 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -415,7 +415,7 @@ See our [documentation page about upgrading services](maintenance-upgrading-serv ### How do I move my existing installation to another (VM) server? -If you have an existing installation done using this Ansible playbook, you can easily migrate that to another server using [our dedicated server migration guide](maintenance-migrating.md). +If you have an existing installation done using this Ansible playbook, you can easily migrate that to another server following [our dedicated server migration guide](maintenance-migrating.md). If your previous installation is done in some other way (not using this Ansible playbook), see [I installed Synapse some other way. Can I migrate such a setup to the playbook?](#i-installed-synapse-some-other-way-can-i-migrate-such-a-setup-to-the-playbook). diff --git a/docs/importing-postgres.md b/docs/importing-postgres.md index d73b3c95a..1113caf1e 100644 --- a/docs/importing-postgres.md +++ b/docs/importing-postgres.md @@ -1,7 +1,10 @@ # Importing an existing Postgres database from another installation (optional) -Run this if you'd like to import your database from a previous installation. -(don't forget to import your Synapse `media_store` files as well — see [the importing-synape-media-store guide](importing-synapse-media-store.md)). +You can manually import your database from a previous default installation of Synapse. + +**Notes**: +- Don't forget to import your Synapse `media_store` files as well — see [the importing-synapse-media-store guide](importing-synapse-media-store.md) for more details. +- If you have an existing installation done using this Ansible playbook, you can easily migrate that to another server following [our dedicated server migration guide](maintenance-migrating.md). ## Prerequisites diff --git a/docs/importing-synapse-media-store.md b/docs/importing-synapse-media-store.md index dd1fe9671..69c8b0ef6 100644 --- a/docs/importing-synapse-media-store.md +++ b/docs/importing-synapse-media-store.md @@ -1,6 +1,6 @@ # Importing `media_store` data files from an existing Synapse installation (optional) -Run this if you'd like to import your `media_store` files from a previous installation of Synapse. +You can manually import your `media_store` files from a previous installation of Synapse. ## Prerequisites diff --git a/docs/importing-synapse-sqlite.md b/docs/importing-synapse-sqlite.md index 29fa0594a..0fe0ec84e 100644 --- a/docs/importing-synapse-sqlite.md +++ b/docs/importing-synapse-sqlite.md @@ -1,11 +1,13 @@ # Importing an existing SQLite database from another Synapse installation (optional) -Run this if you'd like to import your database from a previous default installation of Synapse (don't forget to import your `media_store` files as well — see [the importing-synapse-media-store guide](importing-synapse-media-store.md)). +You can manually import your database from a previous default installation of Synapse. While this playbook only supports running Synapse in combination with PostgreSQL, a Synapse instance installed manually usually defaults to using an SQLite database. If you have such a Synapse setup and wish to migrate it to one managed by the playbook (and over to PostgreSQL), this documentation page is for you. +**Note**: don't forget to import your Synapse `media_store` files as well — see [the importing-synapse-media-store guide](importing-synapse-media-store.md) for more details. + ## Prerequisites Before doing the actual import: From 8df253b80a627d07488962acb7b8633d21b06a0c Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 21 Jan 2025 20:42:38 +0900 Subject: [PATCH 262/841] Update roles/custom/matrix-authentication-service/defaults/main.yml: minor changes to comments - Fix punctuations - Set the common expression for matrix_authentication_service_config_email_mode Signed-off-by: Suguru Hirahara --- .../defaults/main.yml | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/roles/custom/matrix-authentication-service/defaults/main.yml b/roles/custom/matrix-authentication-service/defaults/main.yml index 61dc8f58c..2936d313f 100644 --- a/roles/custom/matrix-authentication-service/defaults/main.yml +++ b/roles/custom/matrix-authentication-service/defaults/main.yml @@ -161,13 +161,13 @@ matrix_authentication_service_config_email_reply_to_address: "{{ matrix_authenti # Controls the `email.transport` configuration setting. # -# Valid options are: blackhole, smtp, aws_ses +# Valid values: blackhole, smtp, aws_ses # Upstream reports that `sendmail` is supported as well, # but this is not true when running it in a container image due to the `sendmail` binary not being included. matrix_authentication_service_config_email_transport: blackhole # Controls the `email.mode` configuration setting for SMTP. -# Options are 'plain', 'tls', or 'starttls'. +# Valid values: plain, tls, starttls matrix_authentication_service_config_email_mode: plain # Controls the `email.hostname` configuration setting for SMTP. @@ -220,7 +220,7 @@ matrix_authentication_service_config_account_password_change_allowed: true # Controls the `account.password_recovery_enabled` configuration setting. # -# Whether email-based password recovery is enabled +# Whether email-based password recovery is enabled. # This has no effect if password login is disabled. matrix_authentication_service_config_account_password_recovery_enabled: false @@ -340,7 +340,7 @@ matrix_authentication_service_config_http_trusted_proxies: matrix_authentication_service_config_matrix_homeserver: "" # Controls the `matrix.endpoint` configuration setting. -# URL to which the homeserver is accessible from the service +# URL to which the homeserver is accessible from the service. matrix_authentication_service_config_matrix_endpoint: "" # Controls the `matrix.secret` configuration setting. @@ -361,20 +361,20 @@ matrix_authentication_service_config_matrix_secret: "" # Controls the `passwords.enabled` configuration setting. # Whether to enable the password database. -# If disabled, users will only be able to log in using upstream OIDC providers +# If disabled, users will only be able to log in using upstream OIDC providers. matrix_authentication_service_config_passwords_enabled: true # Controls the `passwords.schemes` configuration setting. # List of password hashing schemes being used. -# Only change this if you know what you're doing +# Only change this if you know what you're doing. matrix_authentication_service_config_passwords_schemes: - version: 1 algorithm: argon2id # Controls the `passwords.minimum_complexity` configuration setting. -# Minimum complexity required for passwords, estimated by the zxcvbn algorithm -# Must be between 0 and 4, default is 3 -# See https://github.com/dropbox/zxcvbn#usage for more information +# Minimum complexity required for passwords, estimated by the zxcvbn algorithm. +# Must be between 0 and 4. Default is 3. +# See https://github.com/dropbox/zxcvbn#usage for more information. matrix_authentication_service_config_passwords_minimum_complexity: 3 ######################################################################################## @@ -502,7 +502,7 @@ matrix_authentication_service_container_labels_public_main_tls_certResolver: "{{ # - https://element-hq.github.io/matrix-authentication-service/setup/reverse-proxy.html#compatibility-layer # # Regardless of whether this is enabled, it may or may not take effect due to the value of other variables. -# See `matrix_authentication_service_container_labels_traefik_enabled` +# See `matrix_authentication_service_container_labels_traefik_enabled`. matrix_authentication_service_container_labels_public_compatibility_layer_enabled: false matrix_authentication_service_container_labels_public_compatibility_layer_hostname: "" matrix_authentication_service_container_labels_public_compatibility_layer_path_regexp: "^/_matrix/client/(?P([^/]+))/(?P(login|logout|refresh))" From 2a9cf7de9748177809352f5d253d440f849dbf60 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 21 Jan 2025 20:45:55 +0900 Subject: [PATCH 263/841] Update roles/custom/matrix-authentication-service/tasks/syn2mas.yml: fix punctuation Signed-off-by: Suguru Hirahara --- roles/custom/matrix-authentication-service/tasks/syn2mas.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-authentication-service/tasks/syn2mas.yml b/roles/custom/matrix-authentication-service/tasks/syn2mas.yml index 46ae2688c..821892f8d 100644 --- a/roles/custom/matrix-authentication-service/tasks/syn2mas.yml +++ b/roles/custom/matrix-authentication-service/tasks/syn2mas.yml @@ -106,7 +106,7 @@ # See: https://ansibledaily.com/print-to-standard-output-without-escaping/ # # We want to run `debug: msg=".."`, but that dumps it as JSON and escapes double quotes within it, -# which ruins the command (`matrix_authentication_service_syn2mas_migration_command`) +# which ruins the command (`matrix_authentication_service_syn2mas_migration_command`). - name: Note about syn2mas migration ansible.builtin.set_fact: dummy: true From 1e7dba3737dc1ff0951cf25fc375499219822d5e Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 3 Feb 2025 02:06:25 +0900 Subject: [PATCH 264/841] Update docs/configuring-playbook-prometheus-grafana.md: move up the section for explanations about the variables Signed-off-by: Suguru Hirahara --- ...configuring-playbook-prometheus-grafana.md | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/configuring-playbook-prometheus-grafana.md b/docs/configuring-playbook-prometheus-grafana.md index ca8b6a082..9fb3bf5b9 100644 --- a/docs/configuring-playbook-prometheus-grafana.md +++ b/docs/configuring-playbook-prometheus-grafana.md @@ -38,6 +38,18 @@ grafana_default_admin_password: "some_strong_password_chosen_by_you" The retention policy of Prometheus metrics is [15 days by default](https://prometheus.io/docs/prometheus/latest/storage/#operational-aspects). Older data gets deleted automatically. +### What does it do? + +Name | Description +-----|---------- +`prometheus_enabled`|[Prometheus](https://prometheus.io) is a time series database. It holds all the data we're going to talk about. +`prometheus_node_exporter_enabled`|[Node Exporter](https://prometheus.io/docs/guides/node-exporter/) is an addon of sorts to Prometheus that collects generic system information such as CPU, memory, filesystem, and even system temperatures. +`prometheus_postgres_exporter_enabled`|[Postgres Exporter](configuring-playbook-prometheus-postgres.md) is an addon of sorts to expose Postgres database metrics to Prometheus. +`matrix_prometheus_nginxlog_exporter_enabled`|[nginx Log Exporter](configuring-playbook-prometheus-nginxlog.md) is an addon of sorts to expose nginx logs to Prometheus. +`grafana_enabled`|[Grafana](https://grafana.com/) is the visual component. It shows (on the `stats.example.com` subdomain) the dashboards with the graphs that we're interested in. +`grafana_anonymous_access`|By default you need to log in to see graphs. If you want to publicly share your graphs (e.g. when asking for help in [`#synapse:matrix.org`](https://matrix.to/#/#synapse:matrix.org?via=matrix.org&via=privacytools.io&via=mozilla.org)) you'll want to enable this option. +`grafana_default_admin_user`
`grafana_default_admin_password`|By default Grafana creates a user with `admin` as the username and password. If you feel this is insecure and you want to change it beforehand, you can do that here. + ### Adjusting the Grafana URL (optional) By tweaking the `grafana_hostname` variable, you can easily make the service available at a **different hostname** than the default one. @@ -74,18 +86,6 @@ The shortcut commands with the [`just` program](just.md) are also available: `ju `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. -## What does it do? - -Name | Description ------|---------- -`prometheus_enabled`|[Prometheus](https://prometheus.io) is a time series database. It holds all the data we're going to talk about. -`prometheus_node_exporter_enabled`|[Node Exporter](https://prometheus.io/docs/guides/node-exporter/) is an addon of sorts to Prometheus that collects generic system information such as CPU, memory, filesystem, and even system temperatures. -`prometheus_postgres_exporter_enabled`|[Postgres Exporter](configuring-playbook-prometheus-postgres.md) is an addon of sorts to expose Postgres database metrics to Prometheus. -`matrix_prometheus_nginxlog_exporter_enabled`|[nginx Log Exporter](configuring-playbook-prometheus-nginxlog.md) is an addon of sorts to expose nginx logs to Prometheus. -`grafana_enabled`|[Grafana](https://grafana.com/) is the visual component. It shows (on the `stats.example.com` subdomain) the dashboards with the graphs that we're interested in. -`grafana_anonymous_access`|By default you need to log in to see graphs. If you want to publicly share your graphs (e.g. when asking for help in [`#synapse:matrix.org`](https://matrix.to/#/#synapse:matrix.org?via=matrix.org&via=privacytools.io&via=mozilla.org)) you'll want to enable this option. -`grafana_default_admin_user`
`grafana_default_admin_password`|By default Grafana creates a user with `admin` as the username and password. If you feel this is insecure and you want to change it beforehand, you can do that here. - ## Security and privacy Metrics and resulting graphs can contain a lot of information. This includes system specs but also usage patterns. This applies especially to small personal/family scale homeservers. Someone might be able to figure out when you wake up and go to sleep by looking at the graphs over time. Think about this before enabling anonymous access. And you should really not forget to change your Grafana password. From 19f17bb729496a935a091c3c796b20dcad8ce944 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 3 Feb 2025 15:35:08 +0900 Subject: [PATCH 265/841] Update docs/configuring-playbook-prometheus-grafana.md: use the common placeholders Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-prometheus-grafana.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/configuring-playbook-prometheus-grafana.md b/docs/configuring-playbook-prometheus-grafana.md index 9fb3bf5b9..5e7c08dbc 100644 --- a/docs/configuring-playbook-prometheus-grafana.md +++ b/docs/configuring-playbook-prometheus-grafana.md @@ -30,10 +30,10 @@ grafana_anonymous_access: false # This has no relation to your Matrix user ID. It can be any username you'd like. # Changing the username subsequently won't work. -grafana_default_admin_user: "some_username_chosen_by_you" +grafana_default_admin_user: "USERNAME_HERE" # Changing the password subsequently won't work. -grafana_default_admin_password: "some_strong_password_chosen_by_you" +grafana_default_admin_password: "PASSWORD_HERE" ``` The retention policy of Prometheus metrics is [15 days by default](https://prometheus.io/docs/prometheus/latest/storage/#operational-aspects). Older data gets deleted automatically. From 8d52dc985a9ce891abda7535272653dff869c48f Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 8 Feb 2025 01:42:41 +0900 Subject: [PATCH 266/841] Update docs/configuring-playbook-prometheus-grafana.md: add sections for Prometheus and Grafana The introductions are copied from their configuration files. Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-prometheus-grafana.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/docs/configuring-playbook-prometheus-grafana.md b/docs/configuring-playbook-prometheus-grafana.md index 5e7c08dbc..3b2f5514d 100644 --- a/docs/configuring-playbook-prometheus-grafana.md +++ b/docs/configuring-playbook-prometheus-grafana.md @@ -10,7 +10,9 @@ When setting, replace `example.com` with your own. ## Adjusting the playbook configuration -To enable Grafana and/or Prometheus, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: +### Configure Prometheus + +Prometheus is an open-source systems monitoring and alerting toolkit. To enable it, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: ```yaml prometheus_enabled: true @@ -23,7 +25,13 @@ prometheus_postgres_exporter_enabled: true # You can remove this, if unnecessary. matrix_prometheus_nginxlog_exporter_enabled: true +``` +### Configure Grafana + +Grafana is an open source visualization and analytics software. To enable it, add the following configuration to your `vars.yml` file: + +```yaml grafana_enabled: true grafana_anonymous_access: false From 15e889c21a16ccad2da3dbc922c1ebe6fb1b90f6 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 8 Feb 2025 02:20:04 +0900 Subject: [PATCH 267/841] Update docs/configuring-playbook-prometheus-grafana.md: comment out lines for configs disabled by default - Replace the comments for them Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-prometheus-grafana.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/configuring-playbook-prometheus-grafana.md b/docs/configuring-playbook-prometheus-grafana.md index 3b2f5514d..d5a3d2953 100644 --- a/docs/configuring-playbook-prometheus-grafana.md +++ b/docs/configuring-playbook-prometheus-grafana.md @@ -17,14 +17,14 @@ Prometheus is an open-source systems monitoring and alerting toolkit. To enable ```yaml prometheus_enabled: true -# You can remove this, if unnecessary. -prometheus_node_exporter_enabled: true +# Uncomment to enable Node Exporter. +# prometheus_node_exporter_enabled: true -# You can remove this, if unnecessary. -prometheus_postgres_exporter_enabled: true +# Uncomment to enable Postgres Exporter. +# prometheus_postgres_exporter_enabled: true -# You can remove this, if unnecessary. -matrix_prometheus_nginxlog_exporter_enabled: true +# Uncomment to enable nginx Log Exporter. +# matrix_prometheus_nginxlog_exporter_enabled: true ``` ### Configure Grafana From 8ecc83f2a94213077cc59427c1d2731458867dce Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 8 Feb 2025 03:21:39 +0900 Subject: [PATCH 268/841] Update docs/configuring-playbook-prometheus-grafana.md: copy the comments from the main.yml file Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-prometheus-grafana.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/configuring-playbook-prometheus-grafana.md b/docs/configuring-playbook-prometheus-grafana.md index d5a3d2953..3a07a9a5c 100644 --- a/docs/configuring-playbook-prometheus-grafana.md +++ b/docs/configuring-playbook-prometheus-grafana.md @@ -34,6 +34,7 @@ Grafana is an open source visualization and analytics software. To enable it, ad ```yaml grafana_enabled: true +# Allow viewing Grafana without logging in. grafana_anonymous_access: false # This has no relation to your Matrix user ID. It can be any username you'd like. @@ -56,7 +57,7 @@ Name | Description `matrix_prometheus_nginxlog_exporter_enabled`|[nginx Log Exporter](configuring-playbook-prometheus-nginxlog.md) is an addon of sorts to expose nginx logs to Prometheus. `grafana_enabled`|[Grafana](https://grafana.com/) is the visual component. It shows (on the `stats.example.com` subdomain) the dashboards with the graphs that we're interested in. `grafana_anonymous_access`|By default you need to log in to see graphs. If you want to publicly share your graphs (e.g. when asking for help in [`#synapse:matrix.org`](https://matrix.to/#/#synapse:matrix.org?via=matrix.org&via=privacytools.io&via=mozilla.org)) you'll want to enable this option. -`grafana_default_admin_user`
`grafana_default_admin_password`|By default Grafana creates a user with `admin` as the username and password. If you feel this is insecure and you want to change it beforehand, you can do that here. +`grafana_default_admin_user`
`grafana_default_admin_password`|By default Grafana creates a user with `admin` as the username and password. You are asked to change the credentials on first login. If you feel this is insecure and you want to change them beforehand, you can do that here. ### Adjusting the Grafana URL (optional) From 781f6d68a756222509477e4851692d9813cb5c68 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 8 Feb 2025 03:25:36 +0900 Subject: [PATCH 269/841] Update docs/configuring-playbook-prometheus-grafana.md: comment out grafana_anonymous_access as it is disabled by default Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-prometheus-grafana.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/configuring-playbook-prometheus-grafana.md b/docs/configuring-playbook-prometheus-grafana.md index 3a07a9a5c..1e607b62c 100644 --- a/docs/configuring-playbook-prometheus-grafana.md +++ b/docs/configuring-playbook-prometheus-grafana.md @@ -34,8 +34,8 @@ Grafana is an open source visualization and analytics software. To enable it, ad ```yaml grafana_enabled: true -# Allow viewing Grafana without logging in. -grafana_anonymous_access: false +# Uncomment to allow viewing Grafana without logging in. +# grafana_anonymous_access: true # This has no relation to your Matrix user ID. It can be any username you'd like. # Changing the username subsequently won't work. From 35b88ced00ff816dd5007bda4dd9ac03972d4762 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 8 Feb 2025 02:21:12 +0900 Subject: [PATCH 270/841] Update docs/configuring-playbook-prometheus-grafana.md: split the table for the variables into two Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-prometheus-grafana.md | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/docs/configuring-playbook-prometheus-grafana.md b/docs/configuring-playbook-prometheus-grafana.md index 1e607b62c..a579fc4ec 100644 --- a/docs/configuring-playbook-prometheus-grafana.md +++ b/docs/configuring-playbook-prometheus-grafana.md @@ -27,6 +27,15 @@ prometheus_enabled: true # matrix_prometheus_nginxlog_exporter_enabled: true ``` +Name | Description +-----|---------- +`prometheus_enabled`|[Prometheus](https://prometheus.io) is a time series database. It holds all the data we're going to talk about. +`prometheus_node_exporter_enabled`|[Node Exporter](https://prometheus.io/docs/guides/node-exporter/) is an addon of sorts to Prometheus that collects generic system information such as CPU, memory, filesystem, and even system temperatures. +`prometheus_postgres_exporter_enabled`|[Postgres Exporter](configuring-playbook-prometheus-postgres.md) is an addon of sorts to expose Postgres database metrics to Prometheus. +`matrix_prometheus_nginxlog_exporter_enabled`|[nginx Log Exporter](configuring-playbook-prometheus-nginxlog.md) is an addon of sorts to expose nginx logs to Prometheus. + +The retention policy of Prometheus metrics is [15 days by default](https://prometheus.io/docs/prometheus/latest/storage/#operational-aspects). Older data gets deleted automatically. + ### Configure Grafana Grafana is an open source visualization and analytics software. To enable it, add the following configuration to your `vars.yml` file: @@ -45,16 +54,8 @@ grafana_default_admin_user: "USERNAME_HERE" grafana_default_admin_password: "PASSWORD_HERE" ``` -The retention policy of Prometheus metrics is [15 days by default](https://prometheus.io/docs/prometheus/latest/storage/#operational-aspects). Older data gets deleted automatically. - -### What does it do? - Name | Description -----|---------- -`prometheus_enabled`|[Prometheus](https://prometheus.io) is a time series database. It holds all the data we're going to talk about. -`prometheus_node_exporter_enabled`|[Node Exporter](https://prometheus.io/docs/guides/node-exporter/) is an addon of sorts to Prometheus that collects generic system information such as CPU, memory, filesystem, and even system temperatures. -`prometheus_postgres_exporter_enabled`|[Postgres Exporter](configuring-playbook-prometheus-postgres.md) is an addon of sorts to expose Postgres database metrics to Prometheus. -`matrix_prometheus_nginxlog_exporter_enabled`|[nginx Log Exporter](configuring-playbook-prometheus-nginxlog.md) is an addon of sorts to expose nginx logs to Prometheus. `grafana_enabled`|[Grafana](https://grafana.com/) is the visual component. It shows (on the `stats.example.com` subdomain) the dashboards with the graphs that we're interested in. `grafana_anonymous_access`|By default you need to log in to see graphs. If you want to publicly share your graphs (e.g. when asking for help in [`#synapse:matrix.org`](https://matrix.to/#/#synapse:matrix.org?via=matrix.org&via=privacytools.io&via=mozilla.org)) you'll want to enable this option. `grafana_default_admin_user`
`grafana_default_admin_password`|By default Grafana creates a user with `admin` as the username and password. You are asked to change the credentials on first login. If you feel this is insecure and you want to change them beforehand, you can do that here. From 598cec4257325535fdc7230ee369028fb9f779bb Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 8 Feb 2025 02:48:45 +0900 Subject: [PATCH 271/841] Update docs/configuring-playbook-prometheus-grafana.md: add the note label Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-prometheus-grafana.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/configuring-playbook-prometheus-grafana.md b/docs/configuring-playbook-prometheus-grafana.md index a579fc4ec..418758cf4 100644 --- a/docs/configuring-playbook-prometheus-grafana.md +++ b/docs/configuring-playbook-prometheus-grafana.md @@ -34,7 +34,7 @@ Name | Description `prometheus_postgres_exporter_enabled`|[Postgres Exporter](configuring-playbook-prometheus-postgres.md) is an addon of sorts to expose Postgres database metrics to Prometheus. `matrix_prometheus_nginxlog_exporter_enabled`|[nginx Log Exporter](configuring-playbook-prometheus-nginxlog.md) is an addon of sorts to expose nginx logs to Prometheus. -The retention policy of Prometheus metrics is [15 days by default](https://prometheus.io/docs/prometheus/latest/storage/#operational-aspects). Older data gets deleted automatically. +**Note**: the retention policy of Prometheus metrics is [15 days by default](https://prometheus.io/docs/prometheus/latest/storage/#operational-aspects). Older data gets deleted automatically. ### Configure Grafana From 0154bc9931d8d9f3a52a365126a3bd510e244017 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 8 Feb 2025 13:46:43 +0900 Subject: [PATCH 272/841] Update docs/configuring-playbook-prometheus-grafana.md: move descriptions specific to each component to its subsection Signed-off-by: Suguru Hirahara --- .../configuring-playbook-prometheus-grafana.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/configuring-playbook-prometheus-grafana.md b/docs/configuring-playbook-prometheus-grafana.md index 418758cf4..d3ea84f38 100644 --- a/docs/configuring-playbook-prometheus-grafana.md +++ b/docs/configuring-playbook-prometheus-grafana.md @@ -36,6 +36,14 @@ Name | Description **Note**: the retention policy of Prometheus metrics is [15 days by default](https://prometheus.io/docs/prometheus/latest/storage/#operational-aspects). Older data gets deleted automatically. +#### Extending the configuration + +There are some additional things you may wish to configure about Prometheus. + +Take a look at: + +- [Prometheus role](https://github.com/mother-of-all-self-hosting/ansible-role-prometheus)'s [`defaults/main.yml`](https://github.com/mother-of-all-self-hosting/ansible-role-prometheus/blob/main/defaults/main.yml) for some variables that you can customize via your `vars.yml` file. You can override settings (even those that don't have dedicated playbook variables) using the `prometheus_configuration_extension_yaml` variable + ### Configure Grafana Grafana is an open source visualization and analytics software. To enable it, add the following configuration to your `vars.yml` file: @@ -60,7 +68,7 @@ Name | Description `grafana_anonymous_access`|By default you need to log in to see graphs. If you want to publicly share your graphs (e.g. when asking for help in [`#synapse:matrix.org`](https://matrix.to/#/#synapse:matrix.org?via=matrix.org&via=privacytools.io&via=mozilla.org)) you'll want to enable this option. `grafana_default_admin_user`
`grafana_default_admin_password`|By default Grafana creates a user with `admin` as the username and password. You are asked to change the credentials on first login. If you feel this is insecure and you want to change them beforehand, you can do that here. -### Adjusting the Grafana URL (optional) +#### Adjusting the Grafana URL (optional) By tweaking the `grafana_hostname` variable, you can easily make the service available at a **different hostname** than the default one. @@ -75,14 +83,6 @@ After changing the domain, **you may need to adjust your DNS** records to point **Note**: It is possible to install Prometheus without installing Grafana. This case it is not required to create the CNAME record. -### Extending the configuration - -There are some additional things you may wish to configure about Prometheus. - -Take a look at: - -- [Prometheus role](https://github.com/mother-of-all-self-hosting/ansible-role-prometheus)'s [`defaults/main.yml`](https://github.com/mother-of-all-self-hosting/ansible-role-prometheus/blob/main/defaults/main.yml) for some variables that you can customize via your `vars.yml` file. You can override settings (even those that don't have dedicated playbook variables) using the `prometheus_configuration_extension_yaml` variable - ## Installing After configuring the playbook and potentially [adjusting your DNS records](#adjusting-dns-records), run the playbook with [playbook tags](playbook-tags.md) as below: From 2163daead26389562384da339295958841be0fb0 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 8 Feb 2025 23:48:00 +0900 Subject: [PATCH 273/841] Update docs/configuring-playbook-prometheus-grafana.md: move the comments out of the YAML block Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-prometheus-grafana.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/configuring-playbook-prometheus-grafana.md b/docs/configuring-playbook-prometheus-grafana.md index d3ea84f38..13da39f81 100644 --- a/docs/configuring-playbook-prometheus-grafana.md +++ b/docs/configuring-playbook-prometheus-grafana.md @@ -46,7 +46,11 @@ Take a look at: ### Configure Grafana -Grafana is an open source visualization and analytics software. To enable it, add the following configuration to your `vars.yml` file: +Grafana is an open source visualization and analytics software. To enable it, add the following configuration to your `vars.yml` file. Make sure to replace `USERNAME_HERE` and `PASSWORD_HERE`. + +**Notes**: +- `grafana_default_admin_user` has nothing to do with your Matrix user ID. It can be any string you'd like. +- Changing the username/password subsequently won't work. ```yaml grafana_enabled: true @@ -54,11 +58,7 @@ grafana_enabled: true # Uncomment to allow viewing Grafana without logging in. # grafana_anonymous_access: true -# This has no relation to your Matrix user ID. It can be any username you'd like. -# Changing the username subsequently won't work. grafana_default_admin_user: "USERNAME_HERE" - -# Changing the password subsequently won't work. grafana_default_admin_password: "PASSWORD_HERE" ``` From 5e2bc80e6b5d5aae3bac3448a9312264736a7a51 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 8 Feb 2025 23:49:02 +0900 Subject: [PATCH 274/841] Update docs/configuring-playbook-prometheus-grafana.md: move down the optional configuration Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-prometheus-grafana.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/configuring-playbook-prometheus-grafana.md b/docs/configuring-playbook-prometheus-grafana.md index 13da39f81..e02270d7a 100644 --- a/docs/configuring-playbook-prometheus-grafana.md +++ b/docs/configuring-playbook-prometheus-grafana.md @@ -55,18 +55,18 @@ Grafana is an open source visualization and analytics software. To enable it, ad ```yaml grafana_enabled: true -# Uncomment to allow viewing Grafana without logging in. -# grafana_anonymous_access: true - grafana_default_admin_user: "USERNAME_HERE" grafana_default_admin_password: "PASSWORD_HERE" + +# Uncomment to allow viewing Grafana without logging in. +# grafana_anonymous_access: true ``` Name | Description -----|---------- `grafana_enabled`|[Grafana](https://grafana.com/) is the visual component. It shows (on the `stats.example.com` subdomain) the dashboards with the graphs that we're interested in. -`grafana_anonymous_access`|By default you need to log in to see graphs. If you want to publicly share your graphs (e.g. when asking for help in [`#synapse:matrix.org`](https://matrix.to/#/#synapse:matrix.org?via=matrix.org&via=privacytools.io&via=mozilla.org)) you'll want to enable this option. `grafana_default_admin_user`
`grafana_default_admin_password`|By default Grafana creates a user with `admin` as the username and password. You are asked to change the credentials on first login. If you feel this is insecure and you want to change them beforehand, you can do that here. +`grafana_anonymous_access`|By default you need to log in to see graphs. If you want to publicly share your graphs (e.g. when asking for help in [`#synapse:matrix.org`](https://matrix.to/#/#synapse:matrix.org?via=matrix.org&via=privacytools.io&via=mozilla.org)) you'll want to enable this option. #### Adjusting the Grafana URL (optional) From d7eb3f27650c354eaa0a4b9f766930593435a9f5 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 8 Feb 2025 23:51:33 +0900 Subject: [PATCH 275/841] Update docs/configuring-playbook-prometheus-grafana.md: move up the note about creating a CNAME record Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-prometheus-grafana.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/configuring-playbook-prometheus-grafana.md b/docs/configuring-playbook-prometheus-grafana.md index e02270d7a..897ebedab 100644 --- a/docs/configuring-playbook-prometheus-grafana.md +++ b/docs/configuring-playbook-prometheus-grafana.md @@ -8,6 +8,8 @@ By default, this playbook installs Grafana web user-interface on the `stats.` su When setting, replace `example.com` with your own. +**Note**: It is possible to install Prometheus without installing Grafana. This case it is not required to create the CNAME record. + ## Adjusting the playbook configuration ### Configure Prometheus @@ -81,8 +83,6 @@ grafana_hostname: grafana.example.com After changing the domain, **you may need to adjust your DNS** records to point the Grafana domain to the Matrix server. -**Note**: It is possible to install Prometheus without installing Grafana. This case it is not required to create the CNAME record. - ## Installing After configuring the playbook and potentially [adjusting your DNS records](#adjusting-dns-records), run the playbook with [playbook tags](playbook-tags.md) as below: From 3d4c9bd0e9a0d59bcb01cf72daa2a32793d5d7da Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 9 Feb 2025 13:35:58 +0900 Subject: [PATCH 276/841] Update docs/configuring-playbook-prometheus-grafana.md Co-authored-by: Slavi Pantaleev --- docs/configuring-playbook-prometheus-grafana.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/configuring-playbook-prometheus-grafana.md b/docs/configuring-playbook-prometheus-grafana.md index 897ebedab..477cb172e 100644 --- a/docs/configuring-playbook-prometheus-grafana.md +++ b/docs/configuring-playbook-prometheus-grafana.md @@ -8,7 +8,7 @@ By default, this playbook installs Grafana web user-interface on the `stats.` su When setting, replace `example.com` with your own. -**Note**: It is possible to install Prometheus without installing Grafana. This case it is not required to create the CNAME record. +**Note**: It is possible to install Prometheus without installing Grafana. In this case it is not required to create the CNAME record. ## Adjusting the playbook configuration From 7ae30239db780640a94b2ed89d3353004d400cd7 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 9 Feb 2025 08:28:00 +0000 Subject: [PATCH 277/841] Update docker.io/metio/matrix-alertmanager-receiver Docker tag to v2025 --- roles/custom/matrix-alertmanager-receiver/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-alertmanager-receiver/defaults/main.yml b/roles/custom/matrix-alertmanager-receiver/defaults/main.yml index e3c423340..ea631464f 100644 --- a/roles/custom/matrix-alertmanager-receiver/defaults/main.yml +++ b/roles/custom/matrix-alertmanager-receiver/defaults/main.yml @@ -6,7 +6,7 @@ matrix_alertmanager_receiver_enabled: true # renovate: datasource=docker depName=docker.io/metio/matrix-alertmanager-receiver -matrix_alertmanager_receiver_version: 2024.12.18 +matrix_alertmanager_receiver_version: 2025.2.9 matrix_alertmanager_receiver_scheme: https From 747e8ad589ada45496e4d85588a0fe354f5157b7 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 9 Feb 2025 14:54:21 +0900 Subject: [PATCH 278/841] Update docs/configuring-playbook-prometheus-grafana.md: switch the position of "Grafana" and "Prometheus" in the first sentence Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-prometheus-grafana.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/configuring-playbook-prometheus-grafana.md b/docs/configuring-playbook-prometheus-grafana.md index 477cb172e..253ad0fb4 100644 --- a/docs/configuring-playbook-prometheus-grafana.md +++ b/docs/configuring-playbook-prometheus-grafana.md @@ -1,6 +1,6 @@ # Enabling metrics and graphs (Prometheus, Grafana) for your Matrix server (optional) -The playbook can install [Grafana](https://grafana.com/) with [Prometheus](https://prometheus.io/) and configure performance metrics of your homeserver with graphs for you. +The playbook can install [Prometheus](https://prometheus.io/) with [Grafana](https://grafana.com/) and configure performance metrics of your homeserver with graphs for you. ## Adjusting DNS records From 5ca5613d95cb5ef4cd8297856606e5d5ce6890a8 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 9 Feb 2025 16:48:59 +0900 Subject: [PATCH 279/841] Update docs/configuring-playbook-prometheus-postgres.md: add the copyright header before deleting the file Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-prometheus-postgres.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/configuring-playbook-prometheus-postgres.md b/docs/configuring-playbook-prometheus-postgres.md index 74d3eda4f..59080ba4d 100644 --- a/docs/configuring-playbook-prometheus-postgres.md +++ b/docs/configuring-playbook-prometheus-postgres.md @@ -1,3 +1,12 @@ + + # Enabling metrics and graphs for Postgres (optional) Expanding on the metrics exposed by the [synapse exporter and the node exporter](configuring-playbook-prometheus-grafana.md), the playbook enables the [postgres exporter](https://github.com/prometheus-community/postgres_exporter) that exposes more detailed information about what's happening on your postgres database. From 07cca8f4b4fd9cc20d666f965a076a81dc8b3765 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 9 Feb 2025 15:19:04 +0900 Subject: [PATCH 280/841] Merge the document for instruction about metrics for Postgres to docs/configuring-playbook-prometheus-grafana.md to improve maintainability Signed-off-by: Suguru Hirahara --- CHANGELOG.md | 2 +- ...configuring-playbook-prometheus-grafana.md | 24 ++++++++-- ...onfiguring-playbook-prometheus-postgres.md | 46 ------------------- 3 files changed, 22 insertions(+), 50 deletions(-) delete mode 100644 docs/configuring-playbook-prometheus-postgres.md diff --git a/CHANGELOG.md b/CHANGELOG.md index bbbc609d9..c04e39d90 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1824,7 +1824,7 @@ See our [Setting up the ntfy push notifications server](docs/configuring-playboo **If you're using node-exporter** (`matrix_prometheus_node_exporter_enabled: true`) and would like to collect its metrics from an external Prometheus server, see `matrix_prometheus_node_exporter_metrics_proxying_enabled` described in our [Collecting metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server) documentation. You will be able to collect its metrics from `https://matrix.example.com/metrics/node-exporter`. -**If you're using [postgres-exporter](docs/configuring-playbook-prometheus-postgres.md)** (`prometheus_postgres_exporter_enabled: true`) and would like to collect its metrics from an external Prometheus server, see `matrix_prometheus_services_proxy_connect_prometheus_postgres_exporter_metrics_proxying_enabled` described in our [Collecting metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server) documentation. You will be able to collect its metrics from `https://matrix.example.com/metrics/postgres-exporter`. +**If you're using [postgres-exporter](docs/configuring-playbook-prometheus-grafana.md#enabling-metrics-and-graphs-for-postgres-optional)** (`prometheus_postgres_exporter_enabled: true`) and would like to collect its metrics from an external Prometheus server, see `matrix_prometheus_services_proxy_connect_prometheus_postgres_exporter_metrics_proxying_enabled` described in our [Collecting metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server) documentation. You will be able to collect its metrics from `https://matrix.example.com/metrics/postgres-exporter`. **If you're using Synapse** and would like to collect its metrics from an external Prometheus server, you may find that: diff --git a/docs/configuring-playbook-prometheus-grafana.md b/docs/configuring-playbook-prometheus-grafana.md index 253ad0fb4..0fe941d60 100644 --- a/docs/configuring-playbook-prometheus-grafana.md +++ b/docs/configuring-playbook-prometheus-grafana.md @@ -33,11 +33,28 @@ Name | Description -----|---------- `prometheus_enabled`|[Prometheus](https://prometheus.io) is a time series database. It holds all the data we're going to talk about. `prometheus_node_exporter_enabled`|[Node Exporter](https://prometheus.io/docs/guides/node-exporter/) is an addon of sorts to Prometheus that collects generic system information such as CPU, memory, filesystem, and even system temperatures. -`prometheus_postgres_exporter_enabled`|[Postgres Exporter](configuring-playbook-prometheus-postgres.md) is an addon of sorts to expose Postgres database metrics to Prometheus. +`prometheus_postgres_exporter_enabled`|[Postgres Exporter](#enabling-metrics-and-graphs-for-postgres-optional) is an addon of sorts to expose Postgres database metrics to Prometheus. `matrix_prometheus_nginxlog_exporter_enabled`|[nginx Log Exporter](configuring-playbook-prometheus-nginxlog.md) is an addon of sorts to expose nginx logs to Prometheus. **Note**: the retention policy of Prometheus metrics is [15 days by default](https://prometheus.io/docs/prometheus/latest/storage/#operational-aspects). Older data gets deleted automatically. +#### Enabling metrics and graphs for Postgres (optional) + +Expanding on the metrics exposed by the [synapse exporter and the node exporter](configuring-playbook-prometheus-grafana.md), the playbook enables the [postgres exporter](https://github.com/prometheus-community/postgres_exporter) that exposes more detailed information about what's happening on your postgres database. + +To enable the postgres exporter, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: + +```yaml +prometheus_postgres_exporter_enabled: true +``` + +Name | Description +-----|---------- +`prometheus_postgres_exporter_enabled`|Enable the postgres prometheus exporter. This sets up the docker container, connects it to the database and adds a 'job' to the prometheus config which tells prometheus about this new exporter. The default is 'false' +`prometheus_postgres_exporter_database_username`| The 'username' for the user that the exporter uses to connect to the database. The default is 'matrix_prometheus_postgres_exporter' +`prometheus_postgres_exporter_database_password`| The 'password' for the user that the exporter uses to connect to the database. By default, this is auto-generated by the playbook +`prometheus_postgres_exporter_container_labels_traefik_enabled`|If set to `true`, exposes the Postgres exporter metrics on `https://matrix.example.com/metrics/postgres-exporter` for usage with an [external Prometheus server](configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server). To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` on that other documentation page. + #### Extending the configuration There are some additional things you may wish to configure about Prometheus. @@ -123,8 +140,8 @@ Name | Description `matrix_synapse_metrics_proxying_enabled`|Set this to `true` to expose Synapse's metrics on `https://matrix.example.com/metrics/synapse/main-process` and `https://matrix.example.com/metrics/synapse/worker/TYPE-ID`. Read [below](#collecting-synapse-worker-metrics-to-an-external-prometheus-server) if you're running a Synapse worker setup (`matrix_synapse_workers_enabled: true`). To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` above. `prometheus_node_exporter_enabled`|Set this to `true` to enable the node (general system stats) exporter (locally, on the container network). `prometheus_node_exporter_container_labels_traefik_enabled`|Set this to `true` to expose the node (general system stats) metrics on `https://matrix.example.com/metrics/node-exporter`. To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` above. -`prometheus_postgres_exporter_enabled`|Set this to `true` to enable the [Postgres exporter](configuring-playbook-prometheus-postgres.md) (locally, on the container network). -`prometheus_postgres_exporter_container_labels_traefik_enabled`|Set this to `true` to expose the [Postgres exporter](configuring-playbook-prometheus-postgres.md) metrics on `https://matrix.example.com/metrics/postgres-exporter`. To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` above. +`prometheus_postgres_exporter_enabled`|Set this to `true` to enable the [Postgres exporter](#enabling-metrics-and-graphs-for-postgres-optional) (locally, on the container network). +`prometheus_postgres_exporter_container_labels_traefik_enabled`|Set this to `true` to expose the [Postgres exporter](#enabling-metrics-and-graphs-for-postgres-optional) metrics on `https://matrix.example.com/metrics/postgres-exporter`. To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` above. `matrix_prometheus_nginxlog_exporter_enabled`|Set this to `true` to enable the [nginx Log exporter](configuring-playbook-prometheus-nginxlog.md) (locally, on the container network). `matrix_sliding_sync_metrics_enabled`|Set this to `true` to make [Sliding Sync](configuring-playbook-sliding-sync-proxy.md) expose metrics (locally, on the container network). `matrix_sliding_sync_metrics_proxying_enabled`|Set this to `true` to expose the [Sliding Sync](configuring-playbook-sliding-sync-proxy.md) metrics on `https://matrix.example.com/metrics/sliding-sync`. To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` above. @@ -178,3 +195,4 @@ As with all other services, you can find the logs in [systemd-journald](https:// - [The Prometheus scraping rules](https://github.com/element-hq/synapse/tree/master/contrib/prometheus) (we use v2) - [The Synapse Grafana dashboard](https://github.com/element-hq/synapse/tree/master/contrib/grafana) - [The Node Exporter dashboard](https://github.com/rfrail3/grafana-dashboards) (for generic non-synapse performance graphs) +- [The PostgresSQL dashboard](https://grafana.com/grafana/dashboards/9628) (generic postgres dashboard) diff --git a/docs/configuring-playbook-prometheus-postgres.md b/docs/configuring-playbook-prometheus-postgres.md deleted file mode 100644 index 59080ba4d..000000000 --- a/docs/configuring-playbook-prometheus-postgres.md +++ /dev/null @@ -1,46 +0,0 @@ - - -# Enabling metrics and graphs for Postgres (optional) - -Expanding on the metrics exposed by the [synapse exporter and the node exporter](configuring-playbook-prometheus-grafana.md), the playbook enables the [postgres exporter](https://github.com/prometheus-community/postgres_exporter) that exposes more detailed information about what's happening on your postgres database. - -## Adjusting the playbook configuration - -To enable the postgres exporter, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: - -```yaml -prometheus_postgres_exporter_enabled: true -``` - -## Installing - -After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below: - - -```sh -ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start -``` - -The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` - -`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. - -## What does it do? - -Name | Description ------|---------- -`prometheus_postgres_exporter_enabled`|Enable the postgres prometheus exporter. This sets up the docker container, connects it to the database and adds a 'job' to the prometheus config which tells prometheus about this new exporter. The default is 'false' -`prometheus_postgres_exporter_database_username`| The 'username' for the user that the exporter uses to connect to the database. The default is 'matrix_prometheus_postgres_exporter' -`prometheus_postgres_exporter_database_password`| The 'password' for the user that the exporter uses to connect to the database. By default, this is auto-generated by the playbook -`prometheus_postgres_exporter_container_labels_traefik_enabled`|If set to `true`, exposes the Postgres exporter metrics on `https://matrix.example.com/metrics/postgres-exporter` for usage with an [external Prometheus server](configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server). To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` on that other documentation page. - -## More information - -- [The PostgresSQL dashboard](https://grafana.com/grafana/dashboards/9628) (generic postgres dashboard) From 505ff582920fca7e16134a7785bf073ce6430482 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 9 Feb 2025 15:21:40 +0900 Subject: [PATCH 281/841] Update docs/configuring-playbook-prometheus-grafana.md: tidy the section for Postgres exporter Signed-off-by: Suguru Hirahara --- CHANGELOG.md | 2 +- docs/configuring-playbook-prometheus-grafana.md | 14 +++++--------- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c04e39d90..4dcd99ba6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1824,7 +1824,7 @@ See our [Setting up the ntfy push notifications server](docs/configuring-playboo **If you're using node-exporter** (`matrix_prometheus_node_exporter_enabled: true`) and would like to collect its metrics from an external Prometheus server, see `matrix_prometheus_node_exporter_metrics_proxying_enabled` described in our [Collecting metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server) documentation. You will be able to collect its metrics from `https://matrix.example.com/metrics/node-exporter`. -**If you're using [postgres-exporter](docs/configuring-playbook-prometheus-grafana.md#enabling-metrics-and-graphs-for-postgres-optional)** (`prometheus_postgres_exporter_enabled: true`) and would like to collect its metrics from an external Prometheus server, see `matrix_prometheus_services_proxy_connect_prometheus_postgres_exporter_metrics_proxying_enabled` described in our [Collecting metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server) documentation. You will be able to collect its metrics from `https://matrix.example.com/metrics/postgres-exporter`. +**If you're using [postgres-exporter](docs/configuring-playbook-prometheus-grafana.md#enable-metrics-and-graphs-for-postgres-optional)** (`prometheus_postgres_exporter_enabled: true`) and would like to collect its metrics from an external Prometheus server, see `matrix_prometheus_services_proxy_connect_prometheus_postgres_exporter_metrics_proxying_enabled` described in our [Collecting metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server) documentation. You will be able to collect its metrics from `https://matrix.example.com/metrics/postgres-exporter`. **If you're using Synapse** and would like to collect its metrics from an external Prometheus server, you may find that: diff --git a/docs/configuring-playbook-prometheus-grafana.md b/docs/configuring-playbook-prometheus-grafana.md index 0fe941d60..8f63f8533 100644 --- a/docs/configuring-playbook-prometheus-grafana.md +++ b/docs/configuring-playbook-prometheus-grafana.md @@ -22,9 +22,6 @@ prometheus_enabled: true # Uncomment to enable Node Exporter. # prometheus_node_exporter_enabled: true -# Uncomment to enable Postgres Exporter. -# prometheus_postgres_exporter_enabled: true - # Uncomment to enable nginx Log Exporter. # matrix_prometheus_nginxlog_exporter_enabled: true ``` @@ -33,16 +30,15 @@ Name | Description -----|---------- `prometheus_enabled`|[Prometheus](https://prometheus.io) is a time series database. It holds all the data we're going to talk about. `prometheus_node_exporter_enabled`|[Node Exporter](https://prometheus.io/docs/guides/node-exporter/) is an addon of sorts to Prometheus that collects generic system information such as CPU, memory, filesystem, and even system temperatures. -`prometheus_postgres_exporter_enabled`|[Postgres Exporter](#enabling-metrics-and-graphs-for-postgres-optional) is an addon of sorts to expose Postgres database metrics to Prometheus. `matrix_prometheus_nginxlog_exporter_enabled`|[nginx Log Exporter](configuring-playbook-prometheus-nginxlog.md) is an addon of sorts to expose nginx logs to Prometheus. **Note**: the retention policy of Prometheus metrics is [15 days by default](https://prometheus.io/docs/prometheus/latest/storage/#operational-aspects). Older data gets deleted automatically. -#### Enabling metrics and graphs for Postgres (optional) +#### Enable metrics and graphs for Postgres (optional) -Expanding on the metrics exposed by the [synapse exporter and the node exporter](configuring-playbook-prometheus-grafana.md), the playbook enables the [postgres exporter](https://github.com/prometheus-community/postgres_exporter) that exposes more detailed information about what's happening on your postgres database. +Expanding on the metrics exposed by the Synapse exporter and the Node exporter, the playbook can also install and configure the [postgres exporter](https://github.com/prometheus-community/postgres_exporter) that exposes more detailed information about what's happening on your postgres database. -To enable the postgres exporter, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: +To enable it, add the following configuration to your `vars.yml` file: ```yaml prometheus_postgres_exporter_enabled: true @@ -140,8 +136,8 @@ Name | Description `matrix_synapse_metrics_proxying_enabled`|Set this to `true` to expose Synapse's metrics on `https://matrix.example.com/metrics/synapse/main-process` and `https://matrix.example.com/metrics/synapse/worker/TYPE-ID`. Read [below](#collecting-synapse-worker-metrics-to-an-external-prometheus-server) if you're running a Synapse worker setup (`matrix_synapse_workers_enabled: true`). To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` above. `prometheus_node_exporter_enabled`|Set this to `true` to enable the node (general system stats) exporter (locally, on the container network). `prometheus_node_exporter_container_labels_traefik_enabled`|Set this to `true` to expose the node (general system stats) metrics on `https://matrix.example.com/metrics/node-exporter`. To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` above. -`prometheus_postgres_exporter_enabled`|Set this to `true` to enable the [Postgres exporter](#enabling-metrics-and-graphs-for-postgres-optional) (locally, on the container network). -`prometheus_postgres_exporter_container_labels_traefik_enabled`|Set this to `true` to expose the [Postgres exporter](#enabling-metrics-and-graphs-for-postgres-optional) metrics on `https://matrix.example.com/metrics/postgres-exporter`. To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` above. +`prometheus_postgres_exporter_enabled`|Set this to `true` to enable the [Postgres exporter](#enable-metrics-and-graphs-for-postgres-optional) (locally, on the container network). +`prometheus_postgres_exporter_container_labels_traefik_enabled`|Set this to `true` to expose the [Postgres exporter](#enable-metrics-and-graphs-for-postgres-optional) metrics on `https://matrix.example.com/metrics/postgres-exporter`. To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` above. `matrix_prometheus_nginxlog_exporter_enabled`|Set this to `true` to enable the [nginx Log exporter](configuring-playbook-prometheus-nginxlog.md) (locally, on the container network). `matrix_sliding_sync_metrics_enabled`|Set this to `true` to make [Sliding Sync](configuring-playbook-sliding-sync-proxy.md) expose metrics (locally, on the container network). `matrix_sliding_sync_metrics_proxying_enabled`|Set this to `true` to expose the [Sliding Sync](configuring-playbook-sliding-sync-proxy.md) metrics on `https://matrix.example.com/metrics/sliding-sync`. To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` above. From 8b7b7732efa6f87c54993578c985b16ff5ce7585 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 9 Feb 2025 15:41:30 +0900 Subject: [PATCH 282/841] Update docs/configuring-playbook-prometheus-grafana.md: move variables for setting username and password of Postgres exporter to the YAML block above Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-prometheus-grafana.md | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/docs/configuring-playbook-prometheus-grafana.md b/docs/configuring-playbook-prometheus-grafana.md index 8f63f8533..f37613603 100644 --- a/docs/configuring-playbook-prometheus-grafana.md +++ b/docs/configuring-playbook-prometheus-grafana.md @@ -40,16 +40,24 @@ Expanding on the metrics exposed by the Synapse exporter and the Node exporter, To enable it, add the following configuration to your `vars.yml` file: +**Note**: `prometheus_postgres_exporter_database_username` has nothing to do with your Matrix user ID. It can be any string you'd like. + ```yaml prometheus_postgres_exporter_enabled: true + +# The username for the user that the exporter uses to connect to the database. +# Uncomment and adjust this part if you'd like to use a username different than the default. +# prometheus_postgres_exporter_database_username: "matrix_prometheus_postgres_exporter" + +# The password for the user that the exporter uses to connect to the database. By default, this is auto-generated by the playbook. +# Uncomment and adjust this part if you'd like to set the password by yourself. +# prometheus_postgres_exporter_database_password: "PASSWORD_HERE" ``` Name | Description -----|---------- `prometheus_postgres_exporter_enabled`|Enable the postgres prometheus exporter. This sets up the docker container, connects it to the database and adds a 'job' to the prometheus config which tells prometheus about this new exporter. The default is 'false' -`prometheus_postgres_exporter_database_username`| The 'username' for the user that the exporter uses to connect to the database. The default is 'matrix_prometheus_postgres_exporter' -`prometheus_postgres_exporter_database_password`| The 'password' for the user that the exporter uses to connect to the database. By default, this is auto-generated by the playbook -`prometheus_postgres_exporter_container_labels_traefik_enabled`|If set to `true`, exposes the Postgres exporter metrics on `https://matrix.example.com/metrics/postgres-exporter` for usage with an [external Prometheus server](configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server). To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` on that other documentation page. +`prometheus_postgres_exporter_container_labels_traefik_enabled`|If set to `true`, exposes the Postgres exporter metrics on `https://matrix.example.com/metrics/postgres-exporter` for usage with an [external Prometheus server](#collecting-metrics-to-an-external-prometheus-server). To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` below. #### Extending the configuration From 4ecf6c2ba325cb25648bbaa254c0384b33625730 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 9 Feb 2025 15:43:38 +0900 Subject: [PATCH 283/841] Update docs/configuring-playbook-prometheus-grafana.md: fix capitalization Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-prometheus-grafana.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/configuring-playbook-prometheus-grafana.md b/docs/configuring-playbook-prometheus-grafana.md index f37613603..d85b60232 100644 --- a/docs/configuring-playbook-prometheus-grafana.md +++ b/docs/configuring-playbook-prometheus-grafana.md @@ -36,7 +36,7 @@ Name | Description #### Enable metrics and graphs for Postgres (optional) -Expanding on the metrics exposed by the Synapse exporter and the Node exporter, the playbook can also install and configure the [postgres exporter](https://github.com/prometheus-community/postgres_exporter) that exposes more detailed information about what's happening on your postgres database. +Expanding on the metrics exposed by the Synapse exporter and the Node exporter, the playbook can also install and configure the [PostgreSQL Server Exporter](https://github.com/prometheus-community/postgres_exporter) that exposes more detailed information about what's happening on your Postgres database. To enable it, add the following configuration to your `vars.yml` file: @@ -56,7 +56,7 @@ prometheus_postgres_exporter_enabled: true Name | Description -----|---------- -`prometheus_postgres_exporter_enabled`|Enable the postgres prometheus exporter. This sets up the docker container, connects it to the database and adds a 'job' to the prometheus config which tells prometheus about this new exporter. The default is 'false' +`prometheus_postgres_exporter_enabled`|Enable the Postgres Prometheus exporter. This sets up the docker container, connects it to the database and adds a 'job' to the Prometheus config which tells Prometheus about this new exporter. The default is 'false' `prometheus_postgres_exporter_container_labels_traefik_enabled`|If set to `true`, exposes the Postgres exporter metrics on `https://matrix.example.com/metrics/postgres-exporter` for usage with an [external Prometheus server](#collecting-metrics-to-an-external-prometheus-server). To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` below. #### Extending the configuration @@ -199,4 +199,4 @@ As with all other services, you can find the logs in [systemd-journald](https:// - [The Prometheus scraping rules](https://github.com/element-hq/synapse/tree/master/contrib/prometheus) (we use v2) - [The Synapse Grafana dashboard](https://github.com/element-hq/synapse/tree/master/contrib/grafana) - [The Node Exporter dashboard](https://github.com/rfrail3/grafana-dashboards) (for generic non-synapse performance graphs) -- [The PostgresSQL dashboard](https://grafana.com/grafana/dashboards/9628) (generic postgres dashboard) +- [The PostgresSQL dashboard](https://grafana.com/grafana/dashboards/9628) (generic Postgres dashboard) From 152031bbae616f193d26ee4c083ceb86292e4768 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 9 Feb 2025 16:01:24 +0900 Subject: [PATCH 284/841] Update docs/configuring-playbook-prometheus-grafana.md: move the security notice to the top Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-prometheus-grafana.md | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/docs/configuring-playbook-prometheus-grafana.md b/docs/configuring-playbook-prometheus-grafana.md index d85b60232..96ee9b694 100644 --- a/docs/configuring-playbook-prometheus-grafana.md +++ b/docs/configuring-playbook-prometheus-grafana.md @@ -2,6 +2,11 @@ The playbook can install [Prometheus](https://prometheus.io/) with [Grafana](https://grafana.com/) and configure performance metrics of your homeserver with graphs for you. +> [!WARNING] +> Metrics and resulting graphs can contain a lot of information. This includes system specs but also usage patterns. This applies especially to small personal/family scale homeservers. Someone might be able to figure out when you wake up and go to sleep by looking at the graphs over time. Think about this before enabling anonymous access. And you should really not forget to change your Grafana password. +> +> Most of our docker containers run with limited system access, but the `prometheus-node-exporter` has access to the host network stack and (readonly) root filesystem. This is required to report on them. If you don't like that, you can set `prometheus_node_exporter_enabled: false` (which is actually the default). You will still get Synapse metrics with this container disabled. Both of the dashboards will always be enabled, so you can still look at historical data after disabling either source. + ## Adjusting DNS records By default, this playbook installs Grafana web user-interface on the `stats.` subdomain (`stats.example.com`) and requires you to create a CNAME record for `stats`, which targets `matrix.example.com`. @@ -117,12 +122,6 @@ The shortcut commands with the [`just` program](just.md) are also available: `ju `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. -## Security and privacy - -Metrics and resulting graphs can contain a lot of information. This includes system specs but also usage patterns. This applies especially to small personal/family scale homeservers. Someone might be able to figure out when you wake up and go to sleep by looking at the graphs over time. Think about this before enabling anonymous access. And you should really not forget to change your Grafana password. - -Most of our docker containers run with limited system access, but the `prometheus-node-exporter` has access to the host network stack and (readonly) root filesystem. This is required to report on them. If you don't like that, you can set `prometheus_node_exporter_enabled: false` (which is actually the default). You will still get Synapse metrics with this container disabled. Both of the dashboards will always be enabled, so you can still look at historical data after disabling either source. - ## Collecting metrics to an external Prometheus server **If the integrated Prometheus server is enabled** (`prometheus_enabled: true`), metrics are collected by it from each service via communication that happens over the container network. Each service does not need to expose its metrics "publicly". From 00f3eda4dc0ab3272bc8c58c64c4652dbbc5c102 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 9 Feb 2025 16:09:08 +0900 Subject: [PATCH 285/841] Update docs for Prometheus: adopt the common warning message Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-prometheus-grafana.md | 2 +- docs/configuring-playbook-prometheus-nginxlog.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/configuring-playbook-prometheus-grafana.md b/docs/configuring-playbook-prometheus-grafana.md index 96ee9b694..4c4346e88 100644 --- a/docs/configuring-playbook-prometheus-grafana.md +++ b/docs/configuring-playbook-prometheus-grafana.md @@ -3,7 +3,7 @@ The playbook can install [Prometheus](https://prometheus.io/) with [Grafana](https://grafana.com/) and configure performance metrics of your homeserver with graphs for you. > [!WARNING] -> Metrics and resulting graphs can contain a lot of information. This includes system specs but also usage patterns. This applies especially to small personal/family scale homeservers. Someone might be able to figure out when you wake up and go to sleep by looking at the graphs over time. Think about this before enabling anonymous access. And you should really not forget to change your Grafana password. +> Metrics and resulting graphs can contain a lot of information. This includes system specs but also usage patterns. This applies especially to small personal/family scale homeservers. Someone might be able to figure out when you wake up and go to sleep by looking at the graphs over time. Think about this before enabling (anonymous) access. And you should really not forget to change your Grafana password. > > Most of our docker containers run with limited system access, but the `prometheus-node-exporter` has access to the host network stack and (readonly) root filesystem. This is required to report on them. If you don't like that, you can set `prometheus_node_exporter_enabled: false` (which is actually the default). You will still get Synapse metrics with this container disabled. Both of the dashboards will always be enabled, so you can still look at historical data after disabling either source. diff --git a/docs/configuring-playbook-prometheus-nginxlog.md b/docs/configuring-playbook-prometheus-nginxlog.md index 80107b906..4d1c08a9a 100644 --- a/docs/configuring-playbook-prometheus-nginxlog.md +++ b/docs/configuring-playbook-prometheus-nginxlog.md @@ -25,7 +25,7 @@ matrix_prometheus_nginxlog_exporter_enabled: true ### Save metrics on an external Prometheus server (optional) > [!WARNING] -> Metrics and resulting graphs can contain a lot of information. nginx logs contain information like IP address, URLs, UserAgents and more. This information can reveal usage patterns and could be considered Personally Identifiable Information (PII). Think about this before enabling (anonymous) access. Please make sure you change the default Grafana password. +> Metrics and resulting graphs can contain a lot of information. nginx logs contain information like IP address, URLs, UserAgents and more. This information can reveal usage patterns and could be considered Personally Identifiable Information (PII). Think about this before enabling (anonymous) access. And you should really not forget to change your Grafana password. The playbook will automatically integrate the metrics into the [Prometheus](./configuring-playbook-prometheus-grafana.md) server provided with this playbook (if enabled). In such cases, the metrics endpoint is not exposed publicly — it's only available on the container network. From a691306614eef3613a1acd4ae02b368e2a855944 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 9 Feb 2025 16:12:40 +0900 Subject: [PATCH 286/841] Update docs/configuring-playbook-prometheus-grafana.md: create sections for adjusting configurations of Prometheus and Grafanato decrease the section level Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-prometheus-grafana.md | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/docs/configuring-playbook-prometheus-grafana.md b/docs/configuring-playbook-prometheus-grafana.md index 4c4346e88..c9de18383 100644 --- a/docs/configuring-playbook-prometheus-grafana.md +++ b/docs/configuring-playbook-prometheus-grafana.md @@ -15,9 +15,7 @@ When setting, replace `example.com` with your own. **Note**: It is possible to install Prometheus without installing Grafana. In this case it is not required to create the CNAME record. -## Adjusting the playbook configuration - -### Configure Prometheus +## Adjusting the playbook configuration — Prometheus Prometheus is an open-source systems monitoring and alerting toolkit. To enable it, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: @@ -39,7 +37,7 @@ Name | Description **Note**: the retention policy of Prometheus metrics is [15 days by default](https://prometheus.io/docs/prometheus/latest/storage/#operational-aspects). Older data gets deleted automatically. -#### Enable metrics and graphs for Postgres (optional) +### Enable metrics and graphs for Postgres (optional) Expanding on the metrics exposed by the Synapse exporter and the Node exporter, the playbook can also install and configure the [PostgreSQL Server Exporter](https://github.com/prometheus-community/postgres_exporter) that exposes more detailed information about what's happening on your Postgres database. @@ -64,7 +62,7 @@ Name | Description `prometheus_postgres_exporter_enabled`|Enable the Postgres Prometheus exporter. This sets up the docker container, connects it to the database and adds a 'job' to the Prometheus config which tells Prometheus about this new exporter. The default is 'false' `prometheus_postgres_exporter_container_labels_traefik_enabled`|If set to `true`, exposes the Postgres exporter metrics on `https://matrix.example.com/metrics/postgres-exporter` for usage with an [external Prometheus server](#collecting-metrics-to-an-external-prometheus-server). To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` below. -#### Extending the configuration +### Extending the configuration There are some additional things you may wish to configure about Prometheus. @@ -72,7 +70,7 @@ Take a look at: - [Prometheus role](https://github.com/mother-of-all-self-hosting/ansible-role-prometheus)'s [`defaults/main.yml`](https://github.com/mother-of-all-self-hosting/ansible-role-prometheus/blob/main/defaults/main.yml) for some variables that you can customize via your `vars.yml` file. You can override settings (even those that don't have dedicated playbook variables) using the `prometheus_configuration_extension_yaml` variable -### Configure Grafana +## Adjusting the playbook configuration — Grafana Grafana is an open source visualization and analytics software. To enable it, add the following configuration to your `vars.yml` file. Make sure to replace `USERNAME_HERE` and `PASSWORD_HERE`. @@ -96,7 +94,7 @@ Name | Description `grafana_default_admin_user`
`grafana_default_admin_password`|By default Grafana creates a user with `admin` as the username and password. You are asked to change the credentials on first login. If you feel this is insecure and you want to change them beforehand, you can do that here. `grafana_anonymous_access`|By default you need to log in to see graphs. If you want to publicly share your graphs (e.g. when asking for help in [`#synapse:matrix.org`](https://matrix.to/#/#synapse:matrix.org?via=matrix.org&via=privacytools.io&via=mozilla.org)) you'll want to enable this option. -#### Adjusting the Grafana URL (optional) +### Adjusting the Grafana URL (optional) By tweaking the `grafana_hostname` variable, you can easily make the service available at a **different hostname** than the default one. From f4bc9c98ed1cd0b12d41df816c1e2e1b5e4cfcbe Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 9 Feb 2025 16:23:26 +0900 Subject: [PATCH 287/841] Update docs/configuring-playbook-prometheus-grafana.md: remove the note about the component disabled by default It is not common to add a note about the component disabled by default. Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-prometheus-grafana.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/configuring-playbook-prometheus-grafana.md b/docs/configuring-playbook-prometheus-grafana.md index c9de18383..ba8085869 100644 --- a/docs/configuring-playbook-prometheus-grafana.md +++ b/docs/configuring-playbook-prometheus-grafana.md @@ -59,7 +59,7 @@ prometheus_postgres_exporter_enabled: true Name | Description -----|---------- -`prometheus_postgres_exporter_enabled`|Enable the Postgres Prometheus exporter. This sets up the docker container, connects it to the database and adds a 'job' to the Prometheus config which tells Prometheus about this new exporter. The default is 'false' +`prometheus_postgres_exporter_enabled`|Enable the Postgres Prometheus exporter. This sets up the docker container, connects it to the database and adds a 'job' to the Prometheus config which tells Prometheus about this new exporter. `prometheus_postgres_exporter_container_labels_traefik_enabled`|If set to `true`, exposes the Postgres exporter metrics on `https://matrix.example.com/metrics/postgres-exporter` for usage with an [external Prometheus server](#collecting-metrics-to-an-external-prometheus-server). To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` below. ### Extending the configuration From a67745b1fc9e6b6ff0f7cbe9e4a611b6c174311a Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 9 Feb 2025 16:29:15 +0900 Subject: [PATCH 288/841] Remove the table for variables about the Postgres Server Exporter As prometheus_postgres_exporter_container_labels_traefik_enabled is explained below, it is sensible to remove this duplicated entry in favor of it. Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-prometheus-grafana.md | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/docs/configuring-playbook-prometheus-grafana.md b/docs/configuring-playbook-prometheus-grafana.md index ba8085869..cd6514e80 100644 --- a/docs/configuring-playbook-prometheus-grafana.md +++ b/docs/configuring-playbook-prometheus-grafana.md @@ -41,6 +41,8 @@ Name | Description Expanding on the metrics exposed by the Synapse exporter and the Node exporter, the playbook can also install and configure the [PostgreSQL Server Exporter](https://github.com/prometheus-community/postgres_exporter) that exposes more detailed information about what's happening on your Postgres database. +Enabling the exporter sets up the docker container, connects it to the database and adds a 'job' to the Prometheus config which tells Prometheus about this new exporter. + To enable it, add the following configuration to your `vars.yml` file: **Note**: `prometheus_postgres_exporter_database_username` has nothing to do with your Matrix user ID. It can be any string you'd like. @@ -57,11 +59,6 @@ prometheus_postgres_exporter_enabled: true # prometheus_postgres_exporter_database_password: "PASSWORD_HERE" ``` -Name | Description ------|---------- -`prometheus_postgres_exporter_enabled`|Enable the Postgres Prometheus exporter. This sets up the docker container, connects it to the database and adds a 'job' to the Prometheus config which tells Prometheus about this new exporter. -`prometheus_postgres_exporter_container_labels_traefik_enabled`|If set to `true`, exposes the Postgres exporter metrics on `https://matrix.example.com/metrics/postgres-exporter` for usage with an [external Prometheus server](#collecting-metrics-to-an-external-prometheus-server). To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` below. - ### Extending the configuration There are some additional things you may wish to configure about Prometheus. From 2df8793a9cb0749441b529bc456d25127330b595 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 9 Feb 2025 18:24:41 +0900 Subject: [PATCH 289/841] Update docs/configuring-playbook-prometheus-grafana.md: add two entries for journalctl (matrix-prometheus-node-exporter and matrix-prometheus-postgres-exporter) Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-prometheus-grafana.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/configuring-playbook-prometheus-grafana.md b/docs/configuring-playbook-prometheus-grafana.md index cd6514e80..5733bd44d 100644 --- a/docs/configuring-playbook-prometheus-grafana.md +++ b/docs/configuring-playbook-prometheus-grafana.md @@ -184,6 +184,8 @@ scrape_configs: As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running the commands below: - `journalctl -fu matrix-prometheus` for Prometheus +- `journalctl -fu matrix-prometheus-node-exporter` for Node Exporter +- `journalctl -fu matrix-prometheus-postgres-exporter` for PostgreSQL Server Exporter - `journalctl -fu matrix-grafana` for Grafana ## More information From c5019b5a30165553ec8ae0e4e228e6f3e83e9b5c Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 9 Feb 2025 22:52:19 +0900 Subject: [PATCH 290/841] Update docs/configuring-playbook-prometheus-nginxlog.md: add the copyright header Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-prometheus-nginxlog.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/configuring-playbook-prometheus-nginxlog.md b/docs/configuring-playbook-prometheus-nginxlog.md index 4d1c08a9a..f09ff568d 100644 --- a/docs/configuring-playbook-prometheus-nginxlog.md +++ b/docs/configuring-playbook-prometheus-nginxlog.md @@ -1,3 +1,11 @@ + + # Enabling metrics and graphs for nginx logs (optional) The playbook can install and configure the [prometheus-nginxlog-exporter](https://github.com/martin-helmich/prometheus-nginxlog-exporter/) service for you, in order to make it possible to have some (visual) insight into [nginx](https://nginx.org/) logs. From e4d3b00927d0c6c4e80c0337719da49c5cdb26cd Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 9 Feb 2025 22:18:06 +0900 Subject: [PATCH 291/841] Partially merge docs for prometheus-nginx-log-exporter to docs/configuring-playbook-prometheus-grafana.md Signed-off-by: Suguru Hirahara --- ...configuring-playbook-prometheus-grafana.md | 27 ++++++++++++++----- ...onfiguring-playbook-prometheus-nginxlog.md | 22 +-------------- 2 files changed, 22 insertions(+), 27 deletions(-) diff --git a/docs/configuring-playbook-prometheus-grafana.md b/docs/configuring-playbook-prometheus-grafana.md index 5733bd44d..8a3c8dd60 100644 --- a/docs/configuring-playbook-prometheus-grafana.md +++ b/docs/configuring-playbook-prometheus-grafana.md @@ -24,16 +24,12 @@ prometheus_enabled: true # Uncomment to enable Node Exporter. # prometheus_node_exporter_enabled: true - -# Uncomment to enable nginx Log Exporter. -# matrix_prometheus_nginxlog_exporter_enabled: true ``` Name | Description -----|---------- `prometheus_enabled`|[Prometheus](https://prometheus.io) is a time series database. It holds all the data we're going to talk about. `prometheus_node_exporter_enabled`|[Node Exporter](https://prometheus.io/docs/guides/node-exporter/) is an addon of sorts to Prometheus that collects generic system information such as CPU, memory, filesystem, and even system temperatures. -`matrix_prometheus_nginxlog_exporter_enabled`|[nginx Log Exporter](configuring-playbook-prometheus-nginxlog.md) is an addon of sorts to expose nginx logs to Prometheus. **Note**: the retention policy of Prometheus metrics is [15 days by default](https://prometheus.io/docs/prometheus/latest/storage/#operational-aspects). Older data gets deleted automatically. @@ -59,6 +55,24 @@ prometheus_postgres_exporter_enabled: true # prometheus_postgres_exporter_database_password: "PASSWORD_HERE" ``` +### Enable metrics and graphs for nginx logs (optional) + +The playbook can also install and configure the [prometheus-nginxlog-exporter](https://github.com/martin-helmich/prometheus-nginxlog-exporter/) service for you. + +It is an addon of sorts to expose nginx logs to Prometheus. The exporter 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. + +See the project's [documentation](https://github.com/martin-helmich/prometheus-nginxlog-exporter/blob/master/README.adoc) to learn what it does and why it might be useful to you. + +To enable it, add the following configuration to your `vars.yml` file: + +```yaml +matrix_prometheus_nginxlog_exporter_enabled: true +``` + +If you enable Grafana, a dedicated `NGINX PROXY` Grafana dashboard will be created. + +**Note**: nginx is only used internally by this Ansible playbook. With Traefik being our default reverse-proxy, collecting nginx metrics is less relevant. + ### Extending the configuration There are some additional things you may wish to configure about Prometheus. @@ -123,7 +137,7 @@ The shortcut commands with the [`just` program](just.md) are also available: `ju When you'd like **to collect metrics from an external Prometheus server**, you need to expose service metrics outside of the container network. -The playbook provides a single endpoint (`https://matrix.example.com/metrics/*`), under which various services may expose their metrics (e.g. `/metrics/node-exporter`, `/metrics/postgres-exporter`, `/metrics/hookshot`, etc). To expose all services on this `/metrics/*` feature, use `matrix_metrics_exposure_enabled`. To protect access using [Basic Authentication](https://en.wikipedia.org/wiki/Basic_access_authentication), see `matrix_metrics_exposure_http_basic_auth_enabled` and `matrix_metrics_exposure_http_basic_auth_users` below. +The playbook provides a single endpoint (`https://matrix.example.com/metrics/*`), under which various services may expose their metrics (e.g. `/metrics/node-exporter`, `/metrics/postgres-exporter`, `/metrics/nginxlog`, `/metrics/hookshot`, etc). To expose all services on this `/metrics/*` feature, use `matrix_metrics_exposure_enabled`. To protect access using [Basic Authentication](https://en.wikipedia.org/wiki/Basic_access_authentication), see `matrix_metrics_exposure_http_basic_auth_enabled` and `matrix_metrics_exposure_http_basic_auth_users` below. When using `matrix_metrics_exposure_enabled`, you don't need to expose metrics for individual services one by one. @@ -140,7 +154,8 @@ Name | Description `prometheus_node_exporter_container_labels_traefik_enabled`|Set this to `true` to expose the node (general system stats) metrics on `https://matrix.example.com/metrics/node-exporter`. To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` above. `prometheus_postgres_exporter_enabled`|Set this to `true` to enable the [Postgres exporter](#enable-metrics-and-graphs-for-postgres-optional) (locally, on the container network). `prometheus_postgres_exporter_container_labels_traefik_enabled`|Set this to `true` to expose the [Postgres exporter](#enable-metrics-and-graphs-for-postgres-optional) metrics on `https://matrix.example.com/metrics/postgres-exporter`. To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` above. -`matrix_prometheus_nginxlog_exporter_enabled`|Set this to `true` to enable the [nginx Log exporter](configuring-playbook-prometheus-nginxlog.md) (locally, on the container network). +`matrix_prometheus_nginxlog_exporter_enabled`|Set this to `true` to enable the [nginx Log exporter](#enable-metrics-and-graphs-for-nginx-logs-optional) (locally, on the container network). +`matrix_prometheus_nginxlog_exporter_metrics_proxying_enabled`|Set this to `true` to expose the [nginx Log exporter](#enable-metrics-and-graphs-for-nginx-logs-optional) metrics on `https://matrix.example.com/metrics/nginxlog`. To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` above. `matrix_sliding_sync_metrics_enabled`|Set this to `true` to make [Sliding Sync](configuring-playbook-sliding-sync-proxy.md) expose metrics (locally, on the container network). `matrix_sliding_sync_metrics_proxying_enabled`|Set this to `true` to expose the [Sliding Sync](configuring-playbook-sliding-sync-proxy.md) metrics on `https://matrix.example.com/metrics/sliding-sync`. To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` above. `matrix_bridge_hookshot_metrics_enabled`|Set this to `true` to make [Hookshot](configuring-playbook-bridge-hookshot.md) expose metrics (locally, on the container network). diff --git a/docs/configuring-playbook-prometheus-nginxlog.md b/docs/configuring-playbook-prometheus-nginxlog.md index f09ff568d..244d124b7 100644 --- a/docs/configuring-playbook-prometheus-nginxlog.md +++ b/docs/configuring-playbook-prometheus-nginxlog.md @@ -8,28 +8,12 @@ SPDX-License-Identifier: AGPL-3.0-or-later # Enabling metrics and graphs for nginx logs (optional) -The playbook can install and configure the [prometheus-nginxlog-exporter](https://github.com/martin-helmich/prometheus-nginxlog-exporter/) service for you, in order to make it possible to have some (visual) insight into [nginx](https://nginx.org/) logs. - -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. - -See the project's [documentation](https://github.com/martin-helmich/prometheus-nginxlog-exporter/blob/master/README.adoc) to learn what it does and why it might be useful to you. - -**Note**: nginx is only used internally by this Ansible playbook. With Traefik being our default reverse-proxy, collecting nginx metrics is less relevant. - ## Prerequisite 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). -If your setup includes [Grafana](./configuring-playbook-prometheus-grafana.md), a dedicated `NGINX PROXY` Grafana dashboard will be created. - ## Adjusting the playbook configuration -Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: - -```yaml -matrix_prometheus_nginxlog_exporter_enabled: true -``` - ### Save metrics on an external Prometheus server (optional) > [!WARNING] @@ -39,11 +23,7 @@ The playbook will automatically integrate the metrics into the [Prometheus](./co When using an external Prometheus server, you'll need to expose metrics publicly. See [Collecting metrics to an external Prometheus server](./configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server). -You can either use `matrix_prometheus_nginxlog_exporter_metrics_proxying_enabled: true` to expose just this one service, or `matrix_metrics_exposure_enabled: true` to expose all services. - -Whichever way you go with, this service will expose its metrics endpoint **without password-protection** at `https://matrix.example.com/metrics/nginxlog` by default. - -For password-protection, use (`matrix_metrics_exposure_http_basic_auth_enabled` and `matrix_metrics_exposure_http_basic_auth_users`) or (`matrix_prometheus_nginxlog_exporter_container_labels_metrics_middleware_basic_auth_enabled` and `matrix_prometheus_nginxlog_exporter_container_labels_metrics_middleware_basic_auth_users`). +For password-protection, use or (`matrix_prometheus_nginxlog_exporter_container_labels_metrics_middleware_basic_auth_enabled` and `matrix_prometheus_nginxlog_exporter_container_labels_metrics_middleware_basic_auth_users`). ### Docker Image Compatibility (optional) From be02f12fed822a654b3a143f1a30c9267c532bcd Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 9 Feb 2025 22:22:30 +0900 Subject: [PATCH 292/841] Update docs/configuring-playbook-prometheus-grafana.md: fix the variables name Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-prometheus-grafana.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/configuring-playbook-prometheus-grafana.md b/docs/configuring-playbook-prometheus-grafana.md index 8a3c8dd60..f36be5ec3 100644 --- a/docs/configuring-playbook-prometheus-grafana.md +++ b/docs/configuring-playbook-prometheus-grafana.md @@ -158,8 +158,8 @@ Name | Description `matrix_prometheus_nginxlog_exporter_metrics_proxying_enabled`|Set this to `true` to expose the [nginx Log exporter](#enable-metrics-and-graphs-for-nginx-logs-optional) metrics on `https://matrix.example.com/metrics/nginxlog`. To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` above. `matrix_sliding_sync_metrics_enabled`|Set this to `true` to make [Sliding Sync](configuring-playbook-sliding-sync-proxy.md) expose metrics (locally, on the container network). `matrix_sliding_sync_metrics_proxying_enabled`|Set this to `true` to expose the [Sliding Sync](configuring-playbook-sliding-sync-proxy.md) metrics on `https://matrix.example.com/metrics/sliding-sync`. To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` above. -`matrix_bridge_hookshot_metrics_enabled`|Set this to `true` to make [Hookshot](configuring-playbook-bridge-hookshot.md) expose metrics (locally, on the container network). -`matrix_bridge_hookshot_metrics_proxying_enabled`|Set this to `true` to expose the [Hookshot](configuring-playbook-bridge-hookshot.md) metrics on `https://matrix.example.com/metrics/hookshot`. To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` above. +`matrix_hookshot_metrics_enabled`|Set this to `true` to make [Hookshot](configuring-playbook-bridge-hookshot.md) expose metrics (locally, on the container network). +`matrix_hookshot_metrics_proxying_enabled`|Set this to `true` to expose the [Hookshot](configuring-playbook-bridge-hookshot.md) metrics on `https://matrix.example.com/metrics/hookshot`. To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` above. `matrix_SERVICE_metrics_proxying_enabled`|Various other services/roles may provide similar `_metrics_enabled` and `_metrics_proxying_enabled` variables for exposing their metrics. Refer to each role for details. To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` above or `matrix_SERVICE_container_labels_metrics_middleware_basic_auth_enabled`/`matrix_SERVICE_container_labels_metrics_middleware_basic_auth_users` variables provided by each role. `matrix_media_repo_metrics_enabled`|Set this to `true` to make media-repo expose metrics (locally, on the container network). From 7907a649ee9648f7b98e9da59705bf085918e977 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 9 Feb 2025 22:25:00 +0900 Subject: [PATCH 293/841] Update docs/configuring-playbook-prometheus-grafana.md: remove variables for Sliding Sync proxy metrics The component has been deprecated and it is not really sensible to keep those entries. Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-prometheus-grafana.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/docs/configuring-playbook-prometheus-grafana.md b/docs/configuring-playbook-prometheus-grafana.md index f36be5ec3..7b97fb4ba 100644 --- a/docs/configuring-playbook-prometheus-grafana.md +++ b/docs/configuring-playbook-prometheus-grafana.md @@ -156,8 +156,6 @@ Name | Description `prometheus_postgres_exporter_container_labels_traefik_enabled`|Set this to `true` to expose the [Postgres exporter](#enable-metrics-and-graphs-for-postgres-optional) metrics on `https://matrix.example.com/metrics/postgres-exporter`. To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` above. `matrix_prometheus_nginxlog_exporter_enabled`|Set this to `true` to enable the [nginx Log exporter](#enable-metrics-and-graphs-for-nginx-logs-optional) (locally, on the container network). `matrix_prometheus_nginxlog_exporter_metrics_proxying_enabled`|Set this to `true` to expose the [nginx Log exporter](#enable-metrics-and-graphs-for-nginx-logs-optional) metrics on `https://matrix.example.com/metrics/nginxlog`. To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` above. -`matrix_sliding_sync_metrics_enabled`|Set this to `true` to make [Sliding Sync](configuring-playbook-sliding-sync-proxy.md) expose metrics (locally, on the container network). -`matrix_sliding_sync_metrics_proxying_enabled`|Set this to `true` to expose the [Sliding Sync](configuring-playbook-sliding-sync-proxy.md) metrics on `https://matrix.example.com/metrics/sliding-sync`. To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` above. `matrix_hookshot_metrics_enabled`|Set this to `true` to make [Hookshot](configuring-playbook-bridge-hookshot.md) expose metrics (locally, on the container network). `matrix_hookshot_metrics_proxying_enabled`|Set this to `true` to expose the [Hookshot](configuring-playbook-bridge-hookshot.md) metrics on `https://matrix.example.com/metrics/hookshot`. To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` above. `matrix_SERVICE_metrics_proxying_enabled`|Various other services/roles may provide similar `_metrics_enabled` and `_metrics_proxying_enabled` variables for exposing their metrics. Refer to each role for details. To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` above or `matrix_SERVICE_container_labels_metrics_middleware_basic_auth_enabled`/`matrix_SERVICE_container_labels_metrics_middleware_basic_auth_users` variables provided by each role. From 2180c58e6299a90aee670675daea5140552d2fee Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 9 Feb 2025 22:27:02 +0900 Subject: [PATCH 294/841] Update docs for Prometheus: move the description for Docker image compatibility Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-prometheus-grafana.md | 9 +++++++++ docs/configuring-playbook-prometheus-nginxlog.md | 9 --------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/configuring-playbook-prometheus-grafana.md b/docs/configuring-playbook-prometheus-grafana.md index 7b97fb4ba..e37175569 100644 --- a/docs/configuring-playbook-prometheus-grafana.md +++ b/docs/configuring-playbook-prometheus-grafana.md @@ -73,6 +73,15 @@ If you enable Grafana, a dedicated `NGINX PROXY` Grafana dashboard will be creat **Note**: nginx is only used internally by this Ansible playbook. With Traefik being our default reverse-proxy, collecting nginx metrics is less relevant. +#### Docker image compatibility (optional) + +At the moment of writing only images for `amd64` and `arm64` architectures are available. The playbook currently does not support [self-building](./self-building.md) a container image on other architectures. You can however use a custom-build image by setting: + +```yaml +matrix_prometheus_nginxlog_exporter_docker_image_arch_check_enabled: false +matrix_prometheus_nginxlog_exporter_docker_image: path/to/docker/image:tag +``` + ### Extending the configuration There are some additional things you may wish to configure about Prometheus. diff --git a/docs/configuring-playbook-prometheus-nginxlog.md b/docs/configuring-playbook-prometheus-nginxlog.md index 244d124b7..6689d0d26 100644 --- a/docs/configuring-playbook-prometheus-nginxlog.md +++ b/docs/configuring-playbook-prometheus-nginxlog.md @@ -25,15 +25,6 @@ When using an external Prometheus server, you'll need to expose metrics publicly For password-protection, use or (`matrix_prometheus_nginxlog_exporter_container_labels_metrics_middleware_basic_auth_enabled` and `matrix_prometheus_nginxlog_exporter_container_labels_metrics_middleware_basic_auth_users`). -### Docker Image Compatibility (optional) - -At the moment of writing only images for `amd64` and `arm64` architectures are available. The playbook currently does not support [self-building](./self-building.md) a container image on other architectures. You can however use a custom-build image by setting: - -```yaml -matrix_prometheus_nginxlog_exporter_docker_image_arch_check_enabled: false -matrix_prometheus_nginxlog_exporter_docker_image: path/to/docker/image:tag -``` - ### Extending the configuration There are some additional things you may wish to configure about the component. From 7c81c148cfd108b95852680b9578bdb9abcebeb4 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 9 Feb 2025 22:30:03 +0900 Subject: [PATCH 295/841] Update docs for Prometheus: move other relevant instructions Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-prometheus-grafana.md | 4 +++- docs/configuring-playbook-prometheus-nginxlog.md | 12 ------------ 2 files changed, 3 insertions(+), 13 deletions(-) diff --git a/docs/configuring-playbook-prometheus-grafana.md b/docs/configuring-playbook-prometheus-grafana.md index e37175569..8a82002f8 100644 --- a/docs/configuring-playbook-prometheus-grafana.md +++ b/docs/configuring-playbook-prometheus-grafana.md @@ -84,11 +84,12 @@ matrix_prometheus_nginxlog_exporter_docker_image: path/to/docker/image:tag ### Extending the configuration -There are some additional things you may wish to configure about Prometheus. +There are some additional things you may wish to configure about Prometheus and its add-on. Take a look at: - [Prometheus role](https://github.com/mother-of-all-self-hosting/ansible-role-prometheus)'s [`defaults/main.yml`](https://github.com/mother-of-all-self-hosting/ansible-role-prometheus/blob/main/defaults/main.yml) for some variables that you can customize via your `vars.yml` file. You can override settings (even those that don't have dedicated playbook variables) using the `prometheus_configuration_extension_yaml` variable +- `roles/custom/matrix-prometheus-nginxlog-exporter/defaults/main.yml` for some variables that you can customize via your `vars.yml` file ## Adjusting the playbook configuration — Grafana @@ -208,6 +209,7 @@ As with all other services, you can find the logs in [systemd-journald](https:// - `journalctl -fu matrix-prometheus` for Prometheus - `journalctl -fu matrix-prometheus-node-exporter` for Node Exporter - `journalctl -fu matrix-prometheus-postgres-exporter` for PostgreSQL Server Exporter +- `journalctl -fu matrix-prometheus-nginxlog-exporter` for prometheus-nginxlog-exporter - `journalctl -fu matrix-grafana` for Grafana ## More information diff --git a/docs/configuring-playbook-prometheus-nginxlog.md b/docs/configuring-playbook-prometheus-nginxlog.md index 6689d0d26..fedd17609 100644 --- a/docs/configuring-playbook-prometheus-nginxlog.md +++ b/docs/configuring-playbook-prometheus-nginxlog.md @@ -25,14 +25,6 @@ When using an external Prometheus server, you'll need to expose metrics publicly For password-protection, use or (`matrix_prometheus_nginxlog_exporter_container_labels_metrics_middleware_basic_auth_enabled` and `matrix_prometheus_nginxlog_exporter_container_labels_metrics_middleware_basic_auth_users`). -### Extending the configuration - -There are some additional things you may wish to configure about the component. - -Take a look at: - -- `roles/custom/matrix-prometheus-nginxlog-exporter/defaults/main.yml` for some variables that you can customize via your `vars.yml` file - ## Installing After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below: @@ -45,7 +37,3 @@ ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. - -## Troubleshooting - -As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-prometheus-nginxlog-exporter`. From 66753136c07b412bbd445bf3d88dbdf284656f11 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 9 Feb 2025 22:37:06 +0900 Subject: [PATCH 296/841] Delete docs/configuring-playbook-prometheus-nginxlog.md Signed-off-by: Suguru Hirahara --- README.md | 2 +- ...onfiguring-playbook-prometheus-nginxlog.md | 39 ------------------- docs/configuring-playbook.md | 2 - docs/container-images.md | 2 +- 4 files changed, 2 insertions(+), 43 deletions(-) delete mode 100644 docs/configuring-playbook-prometheus-nginxlog.md diff --git a/README.md b/README.md index 38db15f0b..4fad24e8c 100644 --- a/README.md +++ b/README.md @@ -162,7 +162,7 @@ Services that help you in administrating and monitoring your Matrix installation | [matrix-alertmanager-receiver](https://github.com/metio/matrix-alertmanager-receiver) | ❌ | Prometheus' [Alertmanager](https://prometheus.io/docs/alerting/latest/alertmanager/) client | [Link](docs/configuring-playbook-alertmanager-receiver.md) | | [Matrix Authentication Service](https://github.com/element-hq/matrix-authentication-service/) | ❌ | OAuth 2.0 and OpenID Provider server | [Link](docs/configuring-playbook-matrix-authentication-service.md) | | [synapse-admin](https://github.com/etkecc/synapse-admin) | ❌ | Web UI tool for administrating users and rooms on your Matrix server | [Link](docs/configuring-playbook-synapse-admin.md) | -| Metrics and Graphs | ❌ | Consists of the [Prometheus](https://prometheus.io) time-series database server, the Prometheus [node-exporter](https://prometheus.io/docs/guides/node-exporter/) host metrics exporter, and the [Grafana](https://grafana.com/) web UI, with [prometheus-nginxlog-exporter](https://github.com/martin-helmich/prometheus-nginxlog-exporter/) being available too | [Link](docs/configuring-playbook-prometheus-grafana.md) (for [prometheus-nginxlog-exporter](docs/configuring-playbook-prometheus-nginxlog.md)) | +| Metrics and Graphs | ❌ | Consists of the [Prometheus](https://prometheus.io) time-series database server, the Prometheus [node-exporter](https://prometheus.io/docs/guides/node-exporter/) host metrics exporter, and the [Grafana](https://grafana.com/) web UI, with [prometheus-nginxlog-exporter](https://github.com/martin-helmich/prometheus-nginxlog-exporter/) being available too | [Link](docs/configuring-playbook-prometheus-grafana.md) (for [prometheus-nginxlog-exporter](docs/configuring-playbook-prometheus-grafana.md#enable-metrics-and-graphs-for-nginx-logs-optional)) | | [Borg](https://borgbackup.org) | ❌ | Backups | [Link](docs/configuring-playbook-backup-borg.md) | | [rageshake](https://github.com/matrix-org/rageshake) | ❌ | Bug report server | [Link](docs/configuring-playbook-rageshake.md) | | [synapse-usage-exporter](https://github.com/loelkes/synapse-usage-exporter) | ❌ | Export the usage statistics of a Synapse homeserver to be scraped by Prometheus. | [Link](docs/configuring-playbook-synapse-usage-exporter.md) | diff --git a/docs/configuring-playbook-prometheus-nginxlog.md b/docs/configuring-playbook-prometheus-nginxlog.md deleted file mode 100644 index fedd17609..000000000 --- a/docs/configuring-playbook-prometheus-nginxlog.md +++ /dev/null @@ -1,39 +0,0 @@ - - -# Enabling metrics and graphs for nginx logs (optional) - -## Prerequisite - -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). - -## Adjusting the playbook configuration - -### Save metrics on an external Prometheus server (optional) - -> [!WARNING] -> Metrics and resulting graphs can contain a lot of information. nginx logs contain information like IP address, URLs, UserAgents and more. This information can reveal usage patterns and could be considered Personally Identifiable Information (PII). Think about this before enabling (anonymous) access. And you should really not forget to change your Grafana password. - -The playbook will automatically integrate the metrics into the [Prometheus](./configuring-playbook-prometheus-grafana.md) server provided with this playbook (if enabled). In such cases, the metrics endpoint is not exposed publicly — it's only available on the container network. - -When using an external Prometheus server, you'll need to expose metrics publicly. See [Collecting metrics to an external Prometheus server](./configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server). - -For password-protection, use or (`matrix_prometheus_nginxlog_exporter_container_labels_metrics_middleware_basic_auth_enabled` and `matrix_prometheus_nginxlog_exporter_container_labels_metrics_middleware_basic_auth_users`). - -## Installing - -After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below: - - -```sh -ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start -``` - -The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` - -`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. diff --git a/docs/configuring-playbook.md b/docs/configuring-playbook.md index 71a7426c4..30e8c808d 100644 --- a/docs/configuring-playbook.md +++ b/docs/configuring-playbook.md @@ -199,8 +199,6 @@ Services that help you in administrating and monitoring your Matrix installation - [Enabling metrics and graphs (Prometheus, Grafana) for your Matrix server](configuring-playbook-prometheus-grafana.md) -- [Enabling metrics and graphs for nginx logs](configuring-playbook-prometheus-nginxlog.md) - - [Setting up the rageshake bug report server](configuring-playbook-rageshake.md) - [Enabling synapse-usage-exporter for Synapse usage statistics](configuring-playbook-synapse-usage-exporter.md) diff --git a/docs/container-images.md b/docs/container-images.md index 23e2004f9..efed979c2 100644 --- a/docs/container-images.md +++ b/docs/container-images.md @@ -123,7 +123,7 @@ Services that help you in administrating and monitoring your Matrix installation | [Metrics and Graphs](configuring-playbook-prometheus-grafana.md) | [prom/prometheus](https://hub.docker.com/r/prom/prometheus/) | ❌ | [Prometheus](https://prometheus.io) time-series database server | | [Metrics and Graphs](configuring-playbook-prometheus-grafana.md) | [prom/node-exporter](https://hub.docker.com/r/prom/node-exporter/) | ❌ | Prometheus [node-exporter](https://prometheus.io/docs/guides/node-exporter/) host metrics exporter | | [Metrics and Graphs](configuring-playbook-prometheus-grafana.md) | [grafana/grafana](https://hub.docker.com/r/grafana/grafana/) | ❌ | Graphing tool that works well with the above two images. Our playbook also adds two dashboards for [Synapse](https://github.com/element-hq/synapse/tree/master/contrib/grafana) and [Node Exporter](https://github.com/rfrail3/grafana-dashboards) | -| [Metrics and Graphs](configuring-playbook-prometheus-nginxlog.md) | [martin-helmich/prometheus-nginxlog-exporter/exporter](https://ghcr.io/martin-helmich/prometheus-nginxlog-exporter/exporter) | ❌ | Addon for Prometheus that gathers access logs from various nginx reverse-proxies | +| [Metrics and Graphs](configuring-playbook-prometheus-grafana.md#enable-metrics-and-graphs-for-nginx-logs-optional) | [martin-helmich/prometheus-nginxlog-exporter/exporter](https://ghcr.io/martin-helmich/prometheus-nginxlog-exporter/exporter) | ❌ | Addon for Prometheus that gathers access logs from various nginx reverse-proxies | | [Borg](configuring-playbook-backup-borg.md) | (N/A) | ❌ | Backups | | [rageshake](configuring-playbook-rageshake.md) | [matrix-org/rageshake](https://ghcr.io/matrix-org/rageshake) | ❌ | Bug report server | | [synapse-usage-exporter](configuring-playbook-synapse-usage-exporter.md) | Self-building | ❌ | Export the usage statistics of a Synapse homeserver to be scraped by Prometheus. | From 8cbeb3d7dd699c1b14c4b1de98ca2e13fab5cf0d Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 9 Feb 2025 22:44:22 +0900 Subject: [PATCH 297/841] Update docs/configuring-playbook-prometheus-grafana.md: create a section for the Node Exporter Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-prometheus-grafana.md | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/docs/configuring-playbook-prometheus-grafana.md b/docs/configuring-playbook-prometheus-grafana.md index 8a82002f8..0ffa208e6 100644 --- a/docs/configuring-playbook-prometheus-grafana.md +++ b/docs/configuring-playbook-prometheus-grafana.md @@ -21,18 +21,24 @@ Prometheus is an open-source systems monitoring and alerting toolkit. To enable ```yaml prometheus_enabled: true - -# Uncomment to enable Node Exporter. -# prometheus_node_exporter_enabled: true ``` Name | Description -----|---------- `prometheus_enabled`|[Prometheus](https://prometheus.io) is a time series database. It holds all the data we're going to talk about. -`prometheus_node_exporter_enabled`|[Node Exporter](https://prometheus.io/docs/guides/node-exporter/) is an addon of sorts to Prometheus that collects generic system information such as CPU, memory, filesystem, and even system temperatures. **Note**: the retention policy of Prometheus metrics is [15 days by default](https://prometheus.io/docs/prometheus/latest/storage/#operational-aspects). Older data gets deleted automatically. +### Enable metrics and graphs for generic system information (optional) + +You can enable the [Node Exporter](https://prometheus.io/docs/guides/node-exporter/), an addon of sorts to Prometheus that collects generic system information such as CPU, memory, filesystem, and even system temperatures. + +To enable it, add the following configuration to your `vars.yml` file: + +```yaml +prometheus_node_exporter_enabled: true +``` + ### Enable metrics and graphs for Postgres (optional) Expanding on the metrics exposed by the Synapse exporter and the Node exporter, the playbook can also install and configure the [PostgreSQL Server Exporter](https://github.com/prometheus-community/postgres_exporter) that exposes more detailed information about what's happening on your Postgres database. From 833c73de5666b9e793f736f9107d670ffa166c2f Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 9 Feb 2025 22:46:09 +0900 Subject: [PATCH 298/841] Update docs/configuring-playbook-prometheus-grafana.md: remove the table with one entry Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-prometheus-grafana.md | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/docs/configuring-playbook-prometheus-grafana.md b/docs/configuring-playbook-prometheus-grafana.md index 0ffa208e6..160570e21 100644 --- a/docs/configuring-playbook-prometheus-grafana.md +++ b/docs/configuring-playbook-prometheus-grafana.md @@ -17,16 +17,14 @@ When setting, replace `example.com` with your own. ## Adjusting the playbook configuration — Prometheus -Prometheus is an open-source systems monitoring and alerting toolkit. To enable it, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: +Prometheus is an open-source systems monitoring and alerting toolkit. It is a time series database, which holds all the data we're going to talk about. + +To enable it, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: ```yaml prometheus_enabled: true ``` -Name | Description ------|---------- -`prometheus_enabled`|[Prometheus](https://prometheus.io) is a time series database. It holds all the data we're going to talk about. - **Note**: the retention policy of Prometheus metrics is [15 days by default](https://prometheus.io/docs/prometheus/latest/storage/#operational-aspects). Older data gets deleted automatically. ### Enable metrics and graphs for generic system information (optional) From dbab4a5329d9b98ad66f6e66e3deea0ed97b2d5a Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 10 Feb 2025 00:41:55 +0900 Subject: [PATCH 299/841] Update docs/configuring-playbook-prometheus-grafana.md: move down the entries for exposing metrics of Synapse The metrics of Synapse belongs to the category of individual services not introduced on the document. Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-prometheus-grafana.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/configuring-playbook-prometheus-grafana.md b/docs/configuring-playbook-prometheus-grafana.md index 160570e21..50089863b 100644 --- a/docs/configuring-playbook-prometheus-grafana.md +++ b/docs/configuring-playbook-prometheus-grafana.md @@ -162,8 +162,6 @@ Name | Description `matrix_metrics_exposure_enabled`|Set this to `true` to **enable metrics exposure for all services** on `https://matrix.example.com/metrics/*`. If you think this is too much, refer to the helpful (but nonexhaustive) list of individual `matrix_SERVICE_metrics_proxying_enabled` (or similar) variables below for exposing metrics on a per-service basis. `matrix_metrics_exposure_http_basic_auth_enabled`|Set this to `true` to protect all `https://matrix.example.com/metrics/*` endpoints with [Basic Authentication](https://en.wikipedia.org/wiki/Basic_access_authentication) (see the other variables below for supplying the actual credentials). When enabled, all endpoints beneath `/metrics` will be protected with the same credentials. `matrix_metrics_exposure_http_basic_auth_users`|Set this to the Basic Authentication credentials (raw `htpasswd` file content) used to protect `/metrics/*`. This htpasswd-file needs to be generated with the `htpasswd` tool and can include multiple username/password pairs. -`matrix_synapse_metrics_enabled`|Set this to `true` to make Synapse expose metrics (locally, on the container network). -`matrix_synapse_metrics_proxying_enabled`|Set this to `true` to expose Synapse's metrics on `https://matrix.example.com/metrics/synapse/main-process` and `https://matrix.example.com/metrics/synapse/worker/TYPE-ID`. Read [below](#collecting-synapse-worker-metrics-to-an-external-prometheus-server) if you're running a Synapse worker setup (`matrix_synapse_workers_enabled: true`). To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` above. `prometheus_node_exporter_enabled`|Set this to `true` to enable the node (general system stats) exporter (locally, on the container network). `prometheus_node_exporter_container_labels_traefik_enabled`|Set this to `true` to expose the node (general system stats) metrics on `https://matrix.example.com/metrics/node-exporter`. To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` above. `prometheus_postgres_exporter_enabled`|Set this to `true` to enable the [Postgres exporter](#enable-metrics-and-graphs-for-postgres-optional) (locally, on the container network). @@ -173,6 +171,8 @@ Name | Description `matrix_hookshot_metrics_enabled`|Set this to `true` to make [Hookshot](configuring-playbook-bridge-hookshot.md) expose metrics (locally, on the container network). `matrix_hookshot_metrics_proxying_enabled`|Set this to `true` to expose the [Hookshot](configuring-playbook-bridge-hookshot.md) metrics on `https://matrix.example.com/metrics/hookshot`. To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` above. `matrix_SERVICE_metrics_proxying_enabled`|Various other services/roles may provide similar `_metrics_enabled` and `_metrics_proxying_enabled` variables for exposing their metrics. Refer to each role for details. To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` above or `matrix_SERVICE_container_labels_metrics_middleware_basic_auth_enabled`/`matrix_SERVICE_container_labels_metrics_middleware_basic_auth_users` variables provided by each role. +`matrix_synapse_metrics_enabled`|Set this to `true` to make Synapse expose metrics (locally, on the container network). +`matrix_synapse_metrics_proxying_enabled`|Set this to `true` to expose Synapse's metrics on `https://matrix.example.com/metrics/synapse/main-process` and `https://matrix.example.com/metrics/synapse/worker/TYPE-ID`. Read [below](#collecting-synapse-worker-metrics-to-an-external-prometheus-server) if you're running a Synapse worker setup (`matrix_synapse_workers_enabled: true`). To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` above. `matrix_media_repo_metrics_enabled`|Set this to `true` to make media-repo expose metrics (locally, on the container network). ### Collecting Synapse worker metrics to an external Prometheus server From 042f587ba4b46b1d965e5c552b33aa8839857739 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 10 Feb 2025 01:16:49 +0900 Subject: [PATCH 300/841] Update docs/configuring-playbook-prometheus-grafana.md: add an entry for matrix_media_repo_metrics_proxying_enabled Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-prometheus-grafana.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/configuring-playbook-prometheus-grafana.md b/docs/configuring-playbook-prometheus-grafana.md index 50089863b..75c50dff6 100644 --- a/docs/configuring-playbook-prometheus-grafana.md +++ b/docs/configuring-playbook-prometheus-grafana.md @@ -174,6 +174,7 @@ Name | Description `matrix_synapse_metrics_enabled`|Set this to `true` to make Synapse expose metrics (locally, on the container network). `matrix_synapse_metrics_proxying_enabled`|Set this to `true` to expose Synapse's metrics on `https://matrix.example.com/metrics/synapse/main-process` and `https://matrix.example.com/metrics/synapse/worker/TYPE-ID`. Read [below](#collecting-synapse-worker-metrics-to-an-external-prometheus-server) if you're running a Synapse worker setup (`matrix_synapse_workers_enabled: true`). To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` above. `matrix_media_repo_metrics_enabled`|Set this to `true` to make media-repo expose metrics (locally, on the container network). +`matrix_media_repo_metrics_proxying_enabled`|Set this to `true` to expose media-repo's metrics on `https://matrix.example.com/metrics/matrix-media-repo`. ### Collecting Synapse worker metrics to an external Prometheus server From 16bb022390f2ba59d8d4a2efaa744aad327ae873 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 9 Feb 2025 23:29:45 +0900 Subject: [PATCH 301/841] Update docs/configuring-playbook-prometheus-grafana.md: create a section for exposing metrics of other services/roles focusing on Hookshot Signed-off-by: Suguru Hirahara --- ...configuring-playbook-prometheus-grafana.md | 30 ++++++++++++++++--- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/docs/configuring-playbook-prometheus-grafana.md b/docs/configuring-playbook-prometheus-grafana.md index 75c50dff6..de4c2b49c 100644 --- a/docs/configuring-playbook-prometheus-grafana.md +++ b/docs/configuring-playbook-prometheus-grafana.md @@ -159,7 +159,7 @@ The following variables may be of interest: Name | Description -----|---------- -`matrix_metrics_exposure_enabled`|Set this to `true` to **enable metrics exposure for all services** on `https://matrix.example.com/metrics/*`. If you think this is too much, refer to the helpful (but nonexhaustive) list of individual `matrix_SERVICE_metrics_proxying_enabled` (or similar) variables below for exposing metrics on a per-service basis. +`matrix_metrics_exposure_enabled`|Set this to `true` to **enable metrics exposure for all services** on `https://matrix.example.com/metrics/*`. If you think this is too much, refer [this section](#expose-metrics-of-other-services-roles) for exposing metrics on a per-service basis. `matrix_metrics_exposure_http_basic_auth_enabled`|Set this to `true` to protect all `https://matrix.example.com/metrics/*` endpoints with [Basic Authentication](https://en.wikipedia.org/wiki/Basic_access_authentication) (see the other variables below for supplying the actual credentials). When enabled, all endpoints beneath `/metrics` will be protected with the same credentials. `matrix_metrics_exposure_http_basic_auth_users`|Set this to the Basic Authentication credentials (raw `htpasswd` file content) used to protect `/metrics/*`. This htpasswd-file needs to be generated with the `htpasswd` tool and can include multiple username/password pairs. `prometheus_node_exporter_enabled`|Set this to `true` to enable the node (general system stats) exporter (locally, on the container network). @@ -168,14 +168,36 @@ Name | Description `prometheus_postgres_exporter_container_labels_traefik_enabled`|Set this to `true` to expose the [Postgres exporter](#enable-metrics-and-graphs-for-postgres-optional) metrics on `https://matrix.example.com/metrics/postgres-exporter`. To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` above. `matrix_prometheus_nginxlog_exporter_enabled`|Set this to `true` to enable the [nginx Log exporter](#enable-metrics-and-graphs-for-nginx-logs-optional) (locally, on the container network). `matrix_prometheus_nginxlog_exporter_metrics_proxying_enabled`|Set this to `true` to expose the [nginx Log exporter](#enable-metrics-and-graphs-for-nginx-logs-optional) metrics on `https://matrix.example.com/metrics/nginxlog`. To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` above. -`matrix_hookshot_metrics_enabled`|Set this to `true` to make [Hookshot](configuring-playbook-bridge-hookshot.md) expose metrics (locally, on the container network). -`matrix_hookshot_metrics_proxying_enabled`|Set this to `true` to expose the [Hookshot](configuring-playbook-bridge-hookshot.md) metrics on `https://matrix.example.com/metrics/hookshot`. To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` above. -`matrix_SERVICE_metrics_proxying_enabled`|Various other services/roles may provide similar `_metrics_enabled` and `_metrics_proxying_enabled` variables for exposing their metrics. Refer to each role for details. To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` above or `matrix_SERVICE_container_labels_metrics_middleware_basic_auth_enabled`/`matrix_SERVICE_container_labels_metrics_middleware_basic_auth_users` variables provided by each role. `matrix_synapse_metrics_enabled`|Set this to `true` to make Synapse expose metrics (locally, on the container network). `matrix_synapse_metrics_proxying_enabled`|Set this to `true` to expose Synapse's metrics on `https://matrix.example.com/metrics/synapse/main-process` and `https://matrix.example.com/metrics/synapse/worker/TYPE-ID`. Read [below](#collecting-synapse-worker-metrics-to-an-external-prometheus-server) if you're running a Synapse worker setup (`matrix_synapse_workers_enabled: true`). To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` above. `matrix_media_repo_metrics_enabled`|Set this to `true` to make media-repo expose metrics (locally, on the container network). `matrix_media_repo_metrics_proxying_enabled`|Set this to `true` to expose media-repo's metrics on `https://matrix.example.com/metrics/matrix-media-repo`. +### Expose metrics of other services/roles + +Various other services/roles may provide similar `_metrics_enabled` and `_metrics_proxying_enabled` variables for exposing their metrics. Refer to each role for details. + +To password-protect the metrics of a specific role, you can use `matrix_SERVICE_container_labels_metrics_middleware_basic_auth_enabled` and `matrix_SERVICE_container_labels_metrics_middleware_basic_auth_users` variables provided by the role. + +**Note**: alternatively you can use `matrix_metrics_exposure_http_basic_auth_enabled` and `matrix_metrics_exposure_http_basic_auth_users` in order to password-protect the metrics of all services. + +For example, you can enable and expose metrics for [Hookshot](configuring-playbook-bridge-hookshot.md) protecting them with dedicated credentials by adding the following configuration to your `vars.yml` file: + +```yaml +# Expose metrics (locally, on the container network). +matrix_hookshot_metrics_enabled: true + +# Uncomment to expose metrics on https://matrix.example.com/metrics/hookshot. +# matrix_hookshot_metrics_proxying_enabled: true + +# Uncomment to password-protect the metrics for Hookshot. +# matrix_hookshot_container_labels_metrics_middleware_basic_auth_enabled: true + +# Uncomment and set this part to the Basic Authentication credentials (raw `htpasswd` file content) used to protect `/metrics/hookshot`. +# See https://doc.traefik.io/traefik/middlewares/http/basicauth/#users +# matrix_hookshot_container_labels_metrics_middleware_basic_auth_users: '' +``` + ### Collecting Synapse worker metrics to an external Prometheus server If you are using workers (`matrix_synapse_workers_enabled: true`) and have enabled `matrix_synapse_metrics_proxying_enabled` as described above, the playbook will also automatically expose all Synapse worker threads' metrics to `https://matrix.example.com/metrics/synapse/worker/ID`, where `ID` corresponds to the worker `id` as exemplified in `matrix_synapse_workers_enabled_list`. From 64d9340f70074308d522b4c5983c693e2da69e16 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 10 Feb 2025 01:40:05 +0900 Subject: [PATCH 302/841] Update docs/configuring-playbook-prometheus-grafana.md: add another example for exposing metrics with dedicated credentials for matrix-media-repo Signed-off-by: Suguru Hirahara --- ...configuring-playbook-prometheus-grafana.md | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/docs/configuring-playbook-prometheus-grafana.md b/docs/configuring-playbook-prometheus-grafana.md index de4c2b49c..30488cfc5 100644 --- a/docs/configuring-playbook-prometheus-grafana.md +++ b/docs/configuring-playbook-prometheus-grafana.md @@ -170,8 +170,6 @@ Name | Description `matrix_prometheus_nginxlog_exporter_metrics_proxying_enabled`|Set this to `true` to expose the [nginx Log exporter](#enable-metrics-and-graphs-for-nginx-logs-optional) metrics on `https://matrix.example.com/metrics/nginxlog`. To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` above. `matrix_synapse_metrics_enabled`|Set this to `true` to make Synapse expose metrics (locally, on the container network). `matrix_synapse_metrics_proxying_enabled`|Set this to `true` to expose Synapse's metrics on `https://matrix.example.com/metrics/synapse/main-process` and `https://matrix.example.com/metrics/synapse/worker/TYPE-ID`. Read [below](#collecting-synapse-worker-metrics-to-an-external-prometheus-server) if you're running a Synapse worker setup (`matrix_synapse_workers_enabled: true`). To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` above. -`matrix_media_repo_metrics_enabled`|Set this to `true` to make media-repo expose metrics (locally, on the container network). -`matrix_media_repo_metrics_proxying_enabled`|Set this to `true` to expose media-repo's metrics on `https://matrix.example.com/metrics/matrix-media-repo`. ### Expose metrics of other services/roles @@ -198,6 +196,23 @@ matrix_hookshot_metrics_enabled: true # matrix_hookshot_container_labels_metrics_middleware_basic_auth_users: '' ``` +If you wish to enable and expose metrics for [matrix-media-repo](configuring-playbook-matrix-media-repo.md) protecting them with dedicated credentials, you can add the following configuration to your `vars.yml` file in a similar way: + +```yaml +# Expose metrics (locally, on the container network). +matrix_media_repo_metrics_enabled: true + +# Uncomment to expose metrics on https://matrix.example.com/metrics/matrix-media-repo. +# matrix_media_repo_metrics_proxying_enabled: true + +# Uncomment to password-protect the metrics for matrix-media-repo. +# matrix_media_repo_container_labels_traefik_metrics_middleware_basic_auth_enabled: true + +# Uncomment and set this part to the Basic Authentication credentials (raw `htpasswd` file content) used to protect `/metrics/matrix-media-repo`. +# See https://doc.traefik.io/traefik/middlewares/http/basicauth/#users +# matrix_media_repo_container_labels_traefik_metrics_middleware_basic_auth_users: '' +``` + ### Collecting Synapse worker metrics to an external Prometheus server If you are using workers (`matrix_synapse_workers_enabled: true`) and have enabled `matrix_synapse_metrics_proxying_enabled` as described above, the playbook will also automatically expose all Synapse worker threads' metrics to `https://matrix.example.com/metrics/synapse/worker/ID`, where `ID` corresponds to the worker `id` as exemplified in `matrix_synapse_workers_enabled_list`. From da8e446e027d71c5773e1f0489561099f8f3b459 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 10 Feb 2025 00:31:19 +0900 Subject: [PATCH 303/841] Update docs/configuring-playbook-prometheus-grafana.md: move some descriptions out of the table Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-prometheus-grafana.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/docs/configuring-playbook-prometheus-grafana.md b/docs/configuring-playbook-prometheus-grafana.md index 30488cfc5..b6943cd4b 100644 --- a/docs/configuring-playbook-prometheus-grafana.md +++ b/docs/configuring-playbook-prometheus-grafana.md @@ -151,16 +151,18 @@ The shortcut commands with the [`just` program](just.md) are also available: `ju When you'd like **to collect metrics from an external Prometheus server**, you need to expose service metrics outside of the container network. -The playbook provides a single endpoint (`https://matrix.example.com/metrics/*`), under which various services may expose their metrics (e.g. `/metrics/node-exporter`, `/metrics/postgres-exporter`, `/metrics/nginxlog`, `/metrics/hookshot`, etc). To expose all services on this `/metrics/*` feature, use `matrix_metrics_exposure_enabled`. To protect access using [Basic Authentication](https://en.wikipedia.org/wiki/Basic_access_authentication), see `matrix_metrics_exposure_http_basic_auth_enabled` and `matrix_metrics_exposure_http_basic_auth_users` below. +The playbook provides a single endpoint (`https://matrix.example.com/metrics/*`), under which various services may expose their metrics (e.g. `/metrics/node-exporter`, `/metrics/postgres-exporter`, `/metrics/nginxlog`, `/metrics/hookshot`, etc). -When using `matrix_metrics_exposure_enabled`, you don't need to expose metrics for individual services one by one. +To expose all services on this `/metrics/*` feature, you can use `matrix_metrics_exposure_enabled`. When using it, you don't need to expose metrics for individual services one by one. If you think this is too much, refer [this section](#expose-metrics-of-other-services-roles) for details about exposing metrics on a per-service basis. + +To protect access using [Basic Authentication](https://en.wikipedia.org/wiki/Basic_access_authentication), you can use `matrix_metrics_exposure_http_basic_auth_enabled` and `matrix_metrics_exposure_http_basic_auth_users`. When enabled, all endpoints beneath `/metrics` will be protected with the same credentials. The following variables may be of interest: Name | Description -----|---------- -`matrix_metrics_exposure_enabled`|Set this to `true` to **enable metrics exposure for all services** on `https://matrix.example.com/metrics/*`. If you think this is too much, refer [this section](#expose-metrics-of-other-services-roles) for exposing metrics on a per-service basis. -`matrix_metrics_exposure_http_basic_auth_enabled`|Set this to `true` to protect all `https://matrix.example.com/metrics/*` endpoints with [Basic Authentication](https://en.wikipedia.org/wiki/Basic_access_authentication) (see the other variables below for supplying the actual credentials). When enabled, all endpoints beneath `/metrics` will be protected with the same credentials. +`matrix_metrics_exposure_enabled`|Set this to `true` to **enable metrics exposure for all services** on `https://matrix.example.com/metrics/*`. +`matrix_metrics_exposure_http_basic_auth_enabled`|Set this to `true` to protect all `https://matrix.example.com/metrics/*` endpoints with [Basic Authentication](https://en.wikipedia.org/wiki/Basic_access_authentication) (see the other variables below for supplying the actual credentials). `matrix_metrics_exposure_http_basic_auth_users`|Set this to the Basic Authentication credentials (raw `htpasswd` file content) used to protect `/metrics/*`. This htpasswd-file needs to be generated with the `htpasswd` tool and can include multiple username/password pairs. `prometheus_node_exporter_enabled`|Set this to `true` to enable the node (general system stats) exporter (locally, on the container network). `prometheus_node_exporter_container_labels_traefik_enabled`|Set this to `true` to expose the node (general system stats) metrics on `https://matrix.example.com/metrics/node-exporter`. To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` above. From bfe86947956111d3d8493f914550f077f63eeaab Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 10 Feb 2025 00:38:46 +0900 Subject: [PATCH 304/841] Update docs/configuring-playbook-prometheus-grafana.md: add the instruction about setting dedicated credentials to each endpoint Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-prometheus-grafana.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/configuring-playbook-prometheus-grafana.md b/docs/configuring-playbook-prometheus-grafana.md index b6943cd4b..d5f4554df 100644 --- a/docs/configuring-playbook-prometheus-grafana.md +++ b/docs/configuring-playbook-prometheus-grafana.md @@ -155,7 +155,7 @@ The playbook provides a single endpoint (`https://matrix.example.com/metrics/*`) To expose all services on this `/metrics/*` feature, you can use `matrix_metrics_exposure_enabled`. When using it, you don't need to expose metrics for individual services one by one. If you think this is too much, refer [this section](#expose-metrics-of-other-services-roles) for details about exposing metrics on a per-service basis. -To protect access using [Basic Authentication](https://en.wikipedia.org/wiki/Basic_access_authentication), you can use `matrix_metrics_exposure_http_basic_auth_enabled` and `matrix_metrics_exposure_http_basic_auth_users`. When enabled, all endpoints beneath `/metrics` will be protected with the same credentials. +To protect access using [Basic Authentication](https://en.wikipedia.org/wiki/Basic_access_authentication), you can use `matrix_metrics_exposure_http_basic_auth_enabled` and `matrix_metrics_exposure_http_basic_auth_users`. When enabled, all endpoints beneath `/metrics` will be protected with the same credentials. Alternatively, you can protect each endpoint with dedicated credentials. Refer [the section](#expose-metrics-of-other-services-roles) below for details about it. The following variables may be of interest: From 968129398f499b4ac2407de522bfa269908b39c1 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 10 Feb 2025 04:19:35 +0900 Subject: [PATCH 305/841] Update docs/configuring-playbook-prometheus-grafana.md: remove duplicated instruction to refer matrix_metrics_exposure_http_basic_auth_users Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-prometheus-grafana.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/configuring-playbook-prometheus-grafana.md b/docs/configuring-playbook-prometheus-grafana.md index d5f4554df..c64581076 100644 --- a/docs/configuring-playbook-prometheus-grafana.md +++ b/docs/configuring-playbook-prometheus-grafana.md @@ -165,13 +165,13 @@ Name | Description `matrix_metrics_exposure_http_basic_auth_enabled`|Set this to `true` to protect all `https://matrix.example.com/metrics/*` endpoints with [Basic Authentication](https://en.wikipedia.org/wiki/Basic_access_authentication) (see the other variables below for supplying the actual credentials). `matrix_metrics_exposure_http_basic_auth_users`|Set this to the Basic Authentication credentials (raw `htpasswd` file content) used to protect `/metrics/*`. This htpasswd-file needs to be generated with the `htpasswd` tool and can include multiple username/password pairs. `prometheus_node_exporter_enabled`|Set this to `true` to enable the node (general system stats) exporter (locally, on the container network). -`prometheus_node_exporter_container_labels_traefik_enabled`|Set this to `true` to expose the node (general system stats) metrics on `https://matrix.example.com/metrics/node-exporter`. To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` above. +`prometheus_node_exporter_container_labels_traefik_enabled`|Set this to `true` to expose the node (general system stats) metrics on `https://matrix.example.com/metrics/node-exporter`. `prometheus_postgres_exporter_enabled`|Set this to `true` to enable the [Postgres exporter](#enable-metrics-and-graphs-for-postgres-optional) (locally, on the container network). -`prometheus_postgres_exporter_container_labels_traefik_enabled`|Set this to `true` to expose the [Postgres exporter](#enable-metrics-and-graphs-for-postgres-optional) metrics on `https://matrix.example.com/metrics/postgres-exporter`. To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` above. +`prometheus_postgres_exporter_container_labels_traefik_enabled`|Set this to `true` to expose the [Postgres exporter](#enable-metrics-and-graphs-for-postgres-optional) metrics on `https://matrix.example.com/metrics/postgres-exporter`. `matrix_prometheus_nginxlog_exporter_enabled`|Set this to `true` to enable the [nginx Log exporter](#enable-metrics-and-graphs-for-nginx-logs-optional) (locally, on the container network). -`matrix_prometheus_nginxlog_exporter_metrics_proxying_enabled`|Set this to `true` to expose the [nginx Log exporter](#enable-metrics-and-graphs-for-nginx-logs-optional) metrics on `https://matrix.example.com/metrics/nginxlog`. To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` above. +`matrix_prometheus_nginxlog_exporter_metrics_proxying_enabled`|Set this to `true` to expose the [nginx Log exporter](#enable-metrics-and-graphs-for-nginx-logs-optional) metrics on `https://matrix.example.com/metrics/nginxlog`. `matrix_synapse_metrics_enabled`|Set this to `true` to make Synapse expose metrics (locally, on the container network). -`matrix_synapse_metrics_proxying_enabled`|Set this to `true` to expose Synapse's metrics on `https://matrix.example.com/metrics/synapse/main-process` and `https://matrix.example.com/metrics/synapse/worker/TYPE-ID`. Read [below](#collecting-synapse-worker-metrics-to-an-external-prometheus-server) if you're running a Synapse worker setup (`matrix_synapse_workers_enabled: true`). To password-protect the metrics, see `matrix_metrics_exposure_http_basic_auth_users` above. +`matrix_synapse_metrics_proxying_enabled`|Set this to `true` to expose Synapse's metrics on `https://matrix.example.com/metrics/synapse/main-process` and `https://matrix.example.com/metrics/synapse/worker/TYPE-ID`. Read [below](#collecting-synapse-worker-metrics-to-an-external-prometheus-server) if you're running a Synapse worker setup (`matrix_synapse_workers_enabled: true`). ### Expose metrics of other services/roles From 88e946173fba30ac2cd7ae078ad95a73fa945caa Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 10 Feb 2025 15:00:39 +0900 Subject: [PATCH 306/841] Update docs/configuring-playbook-prometheus-grafana.md: move descriptions about configuring Synapse metrics out of the table Signed-off-by: Suguru Hirahara --- ...configuring-playbook-prometheus-grafana.md | 27 ++++++++++++++----- 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/docs/configuring-playbook-prometheus-grafana.md b/docs/configuring-playbook-prometheus-grafana.md index c64581076..fc5804278 100644 --- a/docs/configuring-playbook-prometheus-grafana.md +++ b/docs/configuring-playbook-prometheus-grafana.md @@ -170,8 +170,6 @@ Name | Description `prometheus_postgres_exporter_container_labels_traefik_enabled`|Set this to `true` to expose the [Postgres exporter](#enable-metrics-and-graphs-for-postgres-optional) metrics on `https://matrix.example.com/metrics/postgres-exporter`. `matrix_prometheus_nginxlog_exporter_enabled`|Set this to `true` to enable the [nginx Log exporter](#enable-metrics-and-graphs-for-nginx-logs-optional) (locally, on the container network). `matrix_prometheus_nginxlog_exporter_metrics_proxying_enabled`|Set this to `true` to expose the [nginx Log exporter](#enable-metrics-and-graphs-for-nginx-logs-optional) metrics on `https://matrix.example.com/metrics/nginxlog`. -`matrix_synapse_metrics_enabled`|Set this to `true` to make Synapse expose metrics (locally, on the container network). -`matrix_synapse_metrics_proxying_enabled`|Set this to `true` to expose Synapse's metrics on `https://matrix.example.com/metrics/synapse/main-process` and `https://matrix.example.com/metrics/synapse/worker/TYPE-ID`. Read [below](#collecting-synapse-worker-metrics-to-an-external-prometheus-server) if you're running a Synapse worker setup (`matrix_synapse_workers_enabled: true`). ### Expose metrics of other services/roles @@ -181,7 +179,25 @@ To password-protect the metrics of a specific role, you can use `matrix_SERVICE_ **Note**: alternatively you can use `matrix_metrics_exposure_http_basic_auth_enabled` and `matrix_metrics_exposure_http_basic_auth_users` in order to password-protect the metrics of all services. -For example, you can enable and expose metrics for [Hookshot](configuring-playbook-bridge-hookshot.md) protecting them with dedicated credentials by adding the following configuration to your `vars.yml` file: +For example, you can enable and expose metrics for Synapse protecting them with dedicated credentials by adding the following configuration to your `vars.yml` file: + +```yaml +# Expose metrics (locally, on the container network). +matrix_synapse_metrics_enabled: true + +# Uncomment to expose metrics on https://matrix.example.com/metrics/synapse/main-process and https://matrix.example.com/metrics/synapse/worker/TYPE-ID. +# Read the section below ("Collecting Synapse worker metrics to an external Prometheus server") if you're running a Synapse worker setup by setting `matrix_synapse_workers_enabled` to true. +# matrix_synapse_metrics_proxying_enabled: true + +# Uncomment to password-protect the metrics for Synapse. +# matrix_synapse_container_labels_public_metrics_middleware_basic_auth_enabled: true + +# Uncomment and set this part to the Basic Authentication credentials (raw `htpasswd` file content) used to protect the endpoints. +# See https://doc.traefik.io/traefik/middlewares/http/basicauth/#users +# matrix_synapse_container_labels_public_metrics_middleware_basic_auth_users: '' +``` + +You can enable and expose metrics for [Hookshot](configuring-playbook-bridge-hookshot.md) protecting them with dedicated credentials by adding the following configuration to your `vars.yml` file: ```yaml # Expose metrics (locally, on the container network). @@ -193,7 +209,7 @@ matrix_hookshot_metrics_enabled: true # Uncomment to password-protect the metrics for Hookshot. # matrix_hookshot_container_labels_metrics_middleware_basic_auth_enabled: true -# Uncomment and set this part to the Basic Authentication credentials (raw `htpasswd` file content) used to protect `/metrics/hookshot`. +# Uncomment and set this part to the Basic Authentication credentials (raw `htpasswd` file content) used to protect the endpoint. # See https://doc.traefik.io/traefik/middlewares/http/basicauth/#users # matrix_hookshot_container_labels_metrics_middleware_basic_auth_users: '' ``` @@ -210,8 +226,7 @@ matrix_media_repo_metrics_enabled: true # Uncomment to password-protect the metrics for matrix-media-repo. # matrix_media_repo_container_labels_traefik_metrics_middleware_basic_auth_enabled: true -# Uncomment and set this part to the Basic Authentication credentials (raw `htpasswd` file content) used to protect `/metrics/matrix-media-repo`. -# See https://doc.traefik.io/traefik/middlewares/http/basicauth/#users +# Uncomment and set this part to the Basic Authentication credentials (raw `htpasswd` file content) used to protect the endpoint. # matrix_media_repo_container_labels_traefik_metrics_middleware_basic_auth_users: '' ``` From 210a431c823cbde936be4fc616aac0ce1c154ee8 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 10 Feb 2025 15:33:29 +0900 Subject: [PATCH 307/841] Update docs for metrics of Hookshot As the document for Hookshot has the section for instrucion about configuring its metrics, this commit moves the instruction to it. Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bridge-hookshot.md | 29 +++++++++++++++---- ...configuring-playbook-prometheus-grafana.md | 17 ----------- 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/docs/configuring-playbook-bridge-hookshot.md b/docs/configuring-playbook-bridge-hookshot.md index 514f6b888..8341ad373 100644 --- a/docs/configuring-playbook-bridge-hookshot.md +++ b/docs/configuring-playbook-bridge-hookshot.md @@ -127,18 +127,35 @@ For more information, see the documentation in the [default configuration of the The provisioning API will be enabled automatically if you set `matrix_dimension_enabled: true` and provided a `matrix_hookshot_provisioning_secret`, unless you override it either way. To use hookshot with Dimension, you will need to enter as "Provisioning URL": `http://matrix-hookshot:9002`, which is made up of the variables `matrix_hookshot_container_url` and `matrix_hookshot_provisioning_port`. -### Metrics +### Enable metrics + +The playbook can enable and configure the metrics of the service for you. Metrics are **only enabled by default** if the builtin [Prometheus](configuring-playbook-prometheus-grafana.md) is enabled (by default, Prometheus isn't enabled). If so, metrics will automatically be collected by Prometheus and made available in Grafana. You will, however, need to set up your own Dashboard for displaying them. -To explicitly enable metrics, use `matrix_hookshot_metrics_enabled: true`. This only exposes metrics over the container network, however. +To enable the metrics, add the following configuration to your `vars.yml` file: -**To collect metrics from an external Prometheus server**, besides enabling metrics as described above, you will also need to enable metrics exposure on `https://matrix.example.com/metrics/hookshot` by: +```yaml +# Expose metrics (locally, on the container network). +matrix_hookshot_metrics_enabled: true +``` -- either enabling metrics exposure for Hookshot via `matrix_hookshot_metrics_proxying_enabled: true` -- or enabling metrics exposure for all services via `matrix_metrics_exposure_enabled: true` +**To collect metrics from an external Prometheus server**, besides enabling metrics as described above, you will also need to enable metrics exposure on `https://matrix.example.com/metrics/hookshot` by adding the following configuration to your `vars.yml` file: -Whichever one you go with, by default metrics are exposed publicly **without** password-protection. See [the Prometheus and Grafana docs](configuring-playbook-prometheus-grafana.md) for details about password-protection for metrics. +```yaml +matrix_hookshot_metrics_proxying_enabled: true +``` + +By default metrics are exposed publicly **without** password-protection. To password-protect the metrics with dedicated credentials, add the following configuration to your `vars.yml` file: + +```yaml +matrix_hookshot_container_labels_metrics_middleware_basic_auth_enabled: true +matrix_hookshot_container_labels_metrics_middleware_basic_auth_users: '' +``` + +To `matrix_hookshot_container_labels_metrics_middleware_basic_auth_users`, set the Basic Authentication credentials (raw `htpasswd` file content) used to protect the endpoint. See https://doc.traefik.io/traefik/middlewares/http/basicauth/#users for details about it. + +**Note**: alternatively, you can use `matrix_metrics_exposure_enabled` to expose all services on this `/metrics/*` feature, and you can use `matrix_metrics_exposure_http_basic_auth_enabled` and `matrix_metrics_exposure_http_basic_auth_users` to password-protect the metrics of them. See [this section](configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server) for more information. ### Collision with matrix-appservice-webhooks diff --git a/docs/configuring-playbook-prometheus-grafana.md b/docs/configuring-playbook-prometheus-grafana.md index fc5804278..d8a5aca41 100644 --- a/docs/configuring-playbook-prometheus-grafana.md +++ b/docs/configuring-playbook-prometheus-grafana.md @@ -197,23 +197,6 @@ matrix_synapse_metrics_enabled: true # matrix_synapse_container_labels_public_metrics_middleware_basic_auth_users: '' ``` -You can enable and expose metrics for [Hookshot](configuring-playbook-bridge-hookshot.md) protecting them with dedicated credentials by adding the following configuration to your `vars.yml` file: - -```yaml -# Expose metrics (locally, on the container network). -matrix_hookshot_metrics_enabled: true - -# Uncomment to expose metrics on https://matrix.example.com/metrics/hookshot. -# matrix_hookshot_metrics_proxying_enabled: true - -# Uncomment to password-protect the metrics for Hookshot. -# matrix_hookshot_container_labels_metrics_middleware_basic_auth_enabled: true - -# Uncomment and set this part to the Basic Authentication credentials (raw `htpasswd` file content) used to protect the endpoint. -# See https://doc.traefik.io/traefik/middlewares/http/basicauth/#users -# matrix_hookshot_container_labels_metrics_middleware_basic_auth_users: '' -``` - If you wish to enable and expose metrics for [matrix-media-repo](configuring-playbook-matrix-media-repo.md) protecting them with dedicated credentials, you can add the following configuration to your `vars.yml` file in a similar way: ```yaml From 39c1c8b925606df45410a4628d048b9727700731 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 10 Feb 2025 18:39:13 +0900 Subject: [PATCH 308/841] Update docs/configuring-playbook-bridge-hookshot.md: move the section for matrix-appservice-webhooks up It should make the section for Grafana more noticiable. Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bridge-hookshot.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/configuring-playbook-bridge-hookshot.md b/docs/configuring-playbook-bridge-hookshot.md index 8341ad373..2f8c96a25 100644 --- a/docs/configuring-playbook-bridge-hookshot.md +++ b/docs/configuring-playbook-bridge-hookshot.md @@ -127,6 +127,10 @@ For more information, see the documentation in the [default configuration of the The provisioning API will be enabled automatically if you set `matrix_dimension_enabled: true` and provided a `matrix_hookshot_provisioning_secret`, unless you override it either way. To use hookshot with Dimension, you will need to enter as "Provisioning URL": `http://matrix-hookshot:9002`, which is made up of the variables `matrix_hookshot_container_url` and `matrix_hookshot_provisioning_port`. +### Collision with matrix-appservice-webhooks + +If you are also running [matrix-appservice-webhooks](configuring-playbook-bridge-appservice-webhooks.md), it reserves its namespace by the default setting `matrix_appservice_webhooks_user_prefix: '_webhook_'`. You should take care if you modify its or hookshot's prefix that they do not collide with each other's namespace (default `matrix_hookshot_generic_userIdPrefix: '_webhooks_'`). + ### Enable metrics The playbook can enable and configure the metrics of the service for you. @@ -157,10 +161,6 @@ To `matrix_hookshot_container_labels_metrics_middleware_basic_auth_users`, set t **Note**: alternatively, you can use `matrix_metrics_exposure_enabled` to expose all services on this `/metrics/*` feature, and you can use `matrix_metrics_exposure_http_basic_auth_enabled` and `matrix_metrics_exposure_http_basic_auth_users` to password-protect the metrics of them. See [this section](configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server) for more information. -### Collision with matrix-appservice-webhooks - -If you are also running [matrix-appservice-webhooks](configuring-playbook-bridge-appservice-webhooks.md), it reserves its namespace by the default setting `matrix_appservice_webhooks_user_prefix: '_webhook_'`. You should take care if you modify its or hookshot's prefix that they do not collide with each other's namespace (default `matrix_hookshot_generic_userIdPrefix: '_webhooks_'`). - ## Troubleshooting As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-hookshot`. From a814d5a499e9412c29abf8d033483e7e4f12a4c6 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 10 Feb 2025 18:15:50 +0900 Subject: [PATCH 309/841] Update docs/configuring-playbook-bridge-hookshot.md: add the subsection for enabling Grafana Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bridge-hookshot.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/configuring-playbook-bridge-hookshot.md b/docs/configuring-playbook-bridge-hookshot.md index 2f8c96a25..b1bd39ab3 100644 --- a/docs/configuring-playbook-bridge-hookshot.md +++ b/docs/configuring-playbook-bridge-hookshot.md @@ -161,6 +161,12 @@ To `matrix_hookshot_container_labels_metrics_middleware_basic_auth_users`, set t **Note**: alternatively, you can use `matrix_metrics_exposure_enabled` to expose all services on this `/metrics/*` feature, and you can use `matrix_metrics_exposure_http_basic_auth_enabled` and `matrix_metrics_exposure_http_basic_auth_users` to password-protect the metrics of them. See [this section](configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server) for more information. +#### Enable Grafana (optional) + +Probably you wish to enable Grafana along with Prometheus for generating graphs of the metics. + +To enable Grafana, see [this section](configuring-playbook-prometheus-grafana.md#adjusting-the-playbook-configuration-grafana) for instructions. + ## Troubleshooting As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-hookshot`. From c0f440a0aa3d7d2672520292f2e20fe90f4881df Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 10 Feb 2025 18:27:18 +0900 Subject: [PATCH 310/841] Update docs/configuring-playbook-bridge-hookshot.md: remove the line for metrics from the URLs table in favor of the section below Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bridge-hookshot.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/configuring-playbook-bridge-hookshot.md b/docs/configuring-playbook-bridge-hookshot.md index b1bd39ab3..8aacefd66 100644 --- a/docs/configuring-playbook-bridge-hookshot.md +++ b/docs/configuring-playbook-bridge-hookshot.md @@ -96,7 +96,6 @@ Unless indicated otherwise, the following endpoints are reachable on your `matri | provisioning | `/hookshot/v1/` | `matrix_hookshot_provisioning_endpoint` | Dimension [provisioning](#provisioning-api) | | appservice | `/hookshot/_matrix/app/` | `matrix_hookshot_appservice_endpoint` | Matrix server | | widgets | `/hookshot/widgetapi/` | `matrix_hookshot_widgets_endpoint` | Widgets | -| metrics | `/metrics/hookshot` | `matrix_hookshot_metrics_enabled` and exposure enabled via `matrix_hookshot_metrics_proxying_enabled` or `matrix_metrics_exposure_enabled`. Read more in the [Metrics section](#metrics) below. | Prometheus | Also see the various `matrix_hookshot_container_labels_*` variables in [main.yml](../roles/custom/matrix-bridge-hookshot/defaults/main.yml), which expose URLs publicly. From 63ff7a08ee1781a876e87db9f39067315fa566b0 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 10 Feb 2025 17:55:19 +0900 Subject: [PATCH 311/841] Update docs/configuring-playbook-matrix-media-repo.md: move a note about disabling other media store roles up Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-matrix-media-repo.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/docs/configuring-playbook-matrix-media-repo.md b/docs/configuring-playbook-matrix-media-repo.md index b832e4b85..a633794d3 100644 --- a/docs/configuring-playbook-matrix-media-repo.md +++ b/docs/configuring-playbook-matrix-media-repo.md @@ -5,9 +5,8 @@ The playbook can install and configure [matrix-media-repo](https://docs.t2bot.io MMR is a highly customizable multi-domain media repository for Matrix. Intended for medium to large environments consisting of several homeservers, this media repo de-duplicates media (including remote media) while being fully compliant with the specification. **Notes**: - +- If MMR is enabled, other media store roles should be disabled (if using Synapse with other media store roles). - Smaller/individual homeservers can still make use of this project's features, though it may be difficult to set up or have higher than expected resource consumption. Please do your research before deploying this as this project may not be useful for your environment. - - For a simpler alternative (which allows you to offload your media repository storage to S3, etc.), you can [configure S3 storage](configuring-playbook-s3.md) instead of setting up matrix-media-repo. ## Adjusting the playbook configuration @@ -21,7 +20,7 @@ matrix_media_repo_enabled: true # matrix_media_repo_metrics_enabled: true ``` -The repo is pre-configured for integrating with the Postgres database, Traefik proxy and [Prometheus/Grafana](configuring-playbook-prometheus-grafana.md) (if metrics enabled) from this playbook for all the available homeserver roles. When the media repo is enabled, other media store roles should be disabled (if using Synapse with other media store roles). +The repo is pre-configured for integrating with the Postgres database, Traefik proxy and [Prometheus/Grafana](configuring-playbook-prometheus-grafana.md) (if metrics enabled) from this playbook for all the available homeserver roles. By default, the media-repo will use the local filesystem for data storage. You can alternatively use a `s3` cloud backend as well. Access token caching is also enabled by default since the logout endpoints are proxied through the media repo. From 60457af840023cb65fdf238698029658f88bda8a Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 10 Feb 2025 17:56:38 +0900 Subject: [PATCH 312/841] Update docs/configuring-playbook-matrix-media-repo.md: remove descriptions about metrics for now Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-matrix-media-repo.md | 5 ----- 1 file changed, 5 deletions(-) diff --git a/docs/configuring-playbook-matrix-media-repo.md b/docs/configuring-playbook-matrix-media-repo.md index a633794d3..a4f1af80a 100644 --- a/docs/configuring-playbook-matrix-media-repo.md +++ b/docs/configuring-playbook-matrix-media-repo.md @@ -15,13 +15,8 @@ To enable matrix-media-repo, add the following configuration to your `inventory/ ```yaml matrix_media_repo_enabled: true - -# (optional) Turned off by default -# matrix_media_repo_metrics_enabled: true ``` -The repo is pre-configured for integrating with the Postgres database, Traefik proxy and [Prometheus/Grafana](configuring-playbook-prometheus-grafana.md) (if metrics enabled) from this playbook for all the available homeserver roles. - By default, the media-repo will use the local filesystem for data storage. You can alternatively use a `s3` cloud backend as well. Access token caching is also enabled by default since the logout endpoints are proxied through the media repo. ### Extending the configuration From 2ffea4fe73b7b53708e481da6af4e37c05bfe694 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 10 Feb 2025 17:57:19 +0900 Subject: [PATCH 313/841] Update docs/configuring-playbook-matrix-media-repo.md: copy metrics section from configuring-playbook-bridge-hookshot.md Signed-off-by: Suguru Hirahara --- .../configuring-playbook-matrix-media-repo.md | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/docs/configuring-playbook-matrix-media-repo.md b/docs/configuring-playbook-matrix-media-repo.md index a4f1af80a..fa0f33eba 100644 --- a/docs/configuring-playbook-matrix-media-repo.md +++ b/docs/configuring-playbook-matrix-media-repo.md @@ -19,6 +19,42 @@ matrix_media_repo_enabled: true By default, the media-repo will use the local filesystem for data storage. You can alternatively use a `s3` cloud backend as well. Access token caching is also enabled by default since the logout endpoints are proxied through the media repo. +### Enable metrics + +The playbook can enable and configure the metrics of the service for you. + +Metrics are **only enabled by default** if the builtin [Prometheus](configuring-playbook-prometheus-grafana.md) is enabled (by default, Prometheus isn't enabled). If so, metrics will automatically be collected by Prometheus and made available in Grafana. You will, however, need to set up your own Dashboard for displaying them. + +To enable the metrics, add the following configuration to your `vars.yml` file: + +```yaml +# Expose metrics (locally, on the container network). +matrix_hookshot_metrics_enabled: true +``` + +**To collect metrics from an external Prometheus server**, besides enabling metrics as described above, you will also need to enable metrics exposure on `https://matrix.example.com/metrics/hookshot` by adding the following configuration to your `vars.yml` file: + +```yaml +matrix_hookshot_metrics_proxying_enabled: true +``` + +By default metrics are exposed publicly **without** password-protection. To password-protect the metrics with dedicated credentials, add the following configuration to your `vars.yml` file: + +```yaml +matrix_hookshot_container_labels_metrics_middleware_basic_auth_enabled: true +matrix_hookshot_container_labels_metrics_middleware_basic_auth_users: '' +``` + +To `matrix_hookshot_container_labels_metrics_middleware_basic_auth_users`, set the Basic Authentication credentials (raw `htpasswd` file content) used to protect the endpoint. See https://doc.traefik.io/traefik/middlewares/http/basicauth/#users for details about it. + +**Note**: alternatively, you can use `matrix_metrics_exposure_enabled` to expose all services on this `/metrics/*` feature, and you can use `matrix_metrics_exposure_http_basic_auth_enabled` and `matrix_metrics_exposure_http_basic_auth_users` to password-protect the metrics of them. See [this section](configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server) for more information. + +#### Enable Grafana (optional) + +Probably you wish to enable Grafana along with Prometheus for generating graphs of the metics. + +To enable Grafana, see [this section](configuring-playbook-prometheus-grafana.md#adjusting-the-playbook-configuration-grafana) for instructions. + ### Extending the configuration There are some additional things you may wish to configure about the component. From 11d423308806c731cc75b435a6cb189d1ff82549 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 10 Feb 2025 17:58:58 +0900 Subject: [PATCH 314/841] Update docs/configuring-playbook-matrix-media-repo.md: replace variables for Hookshot with ones for MMR Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-matrix-media-repo.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/configuring-playbook-matrix-media-repo.md b/docs/configuring-playbook-matrix-media-repo.md index fa0f33eba..052cd90c3 100644 --- a/docs/configuring-playbook-matrix-media-repo.md +++ b/docs/configuring-playbook-matrix-media-repo.md @@ -29,23 +29,23 @@ To enable the metrics, add the following configuration to your `vars.yml` file: ```yaml # Expose metrics (locally, on the container network). -matrix_hookshot_metrics_enabled: true +matrix_media_repo_metrics_enabled: true ``` -**To collect metrics from an external Prometheus server**, besides enabling metrics as described above, you will also need to enable metrics exposure on `https://matrix.example.com/metrics/hookshot` by adding the following configuration to your `vars.yml` file: +**To collect metrics from an external Prometheus server**, besides enabling metrics as described above, you will also need to enable metrics exposure on `https://matrix.example.com/metrics/matrix-media-repo` by adding the following configuration to your `vars.yml` file: ```yaml -matrix_hookshot_metrics_proxying_enabled: true +matrix_media_repo_metrics_proxying_enabled: true ``` By default metrics are exposed publicly **without** password-protection. To password-protect the metrics with dedicated credentials, add the following configuration to your `vars.yml` file: ```yaml -matrix_hookshot_container_labels_metrics_middleware_basic_auth_enabled: true -matrix_hookshot_container_labels_metrics_middleware_basic_auth_users: '' +matrix_media_repo_container_labels_traefik_metrics_middleware_basic_auth_enabled: true +matrix_media_repo_container_labels_traefik_metrics_middleware_basic_auth_users: '' ``` -To `matrix_hookshot_container_labels_metrics_middleware_basic_auth_users`, set the Basic Authentication credentials (raw `htpasswd` file content) used to protect the endpoint. See https://doc.traefik.io/traefik/middlewares/http/basicauth/#users for details about it. +To `matrix_media_repo_container_labels_traefik_metrics_middleware_basic_auth_users`, set the Basic Authentication credentials (raw `htpasswd` file content) used to protect the endpoint. See https://doc.traefik.io/traefik/middlewares/http/basicauth/#users for details about it. **Note**: alternatively, you can use `matrix_metrics_exposure_enabled` to expose all services on this `/metrics/*` feature, and you can use `matrix_metrics_exposure_http_basic_auth_enabled` and `matrix_metrics_exposure_http_basic_auth_users` to password-protect the metrics of them. See [this section](configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server) for more information. From 471944a72c8fc0cfbb25cbb72acb40b78c1d7ccc Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 10 Feb 2025 18:01:38 +0900 Subject: [PATCH 315/841] Update docs/configuring-playbook-prometheus-grafana.md: remove instructions for setting up enabling and exposing metrics for MMR in favor of the one on the document for it Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-prometheus-grafana.md | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/docs/configuring-playbook-prometheus-grafana.md b/docs/configuring-playbook-prometheus-grafana.md index d8a5aca41..e88e31b1e 100644 --- a/docs/configuring-playbook-prometheus-grafana.md +++ b/docs/configuring-playbook-prometheus-grafana.md @@ -197,22 +197,6 @@ matrix_synapse_metrics_enabled: true # matrix_synapse_container_labels_public_metrics_middleware_basic_auth_users: '' ``` -If you wish to enable and expose metrics for [matrix-media-repo](configuring-playbook-matrix-media-repo.md) protecting them with dedicated credentials, you can add the following configuration to your `vars.yml` file in a similar way: - -```yaml -# Expose metrics (locally, on the container network). -matrix_media_repo_metrics_enabled: true - -# Uncomment to expose metrics on https://matrix.example.com/metrics/matrix-media-repo. -# matrix_media_repo_metrics_proxying_enabled: true - -# Uncomment to password-protect the metrics for matrix-media-repo. -# matrix_media_repo_container_labels_traefik_metrics_middleware_basic_auth_enabled: true - -# Uncomment and set this part to the Basic Authentication credentials (raw `htpasswd` file content) used to protect the endpoint. -# matrix_media_repo_container_labels_traefik_metrics_middleware_basic_auth_users: '' -``` - ### Collecting Synapse worker metrics to an external Prometheus server If you are using workers (`matrix_synapse_workers_enabled: true`) and have enabled `matrix_synapse_metrics_proxying_enabled` as described above, the playbook will also automatically expose all Synapse worker threads' metrics to `https://matrix.example.com/metrics/synapse/worker/ID`, where `ID` corresponds to the worker `id` as exemplified in `matrix_synapse_workers_enabled_list`. From 561ec6d622146d522480c9de81a60f37d2ee8143 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 10 Feb 2025 20:32:30 +0900 Subject: [PATCH 316/841] Update docs/configuring-playbook-synapse.md: add an anchor link to the subsection on the Prometheus document Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-synapse.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/configuring-playbook-synapse.md b/docs/configuring-playbook-synapse.md index 04e33c36b..72666042c 100644 --- a/docs/configuring-playbook-synapse.md +++ b/docs/configuring-playbook-synapse.md @@ -172,7 +172,7 @@ The playbook can install and configure Synapse Admin for you. For details about This playbook allows you to enable Synapse metrics, which can provide insight into the performance and activity of Synapse. -To enable Synapse runtime metrics see: [Enabling metrics and graphs (Prometheus, Grafana) for your Matrix server](configuring-playbook-prometheus-grafana.md) +To enable Synapse runtime metrics, see: [Enabling metrics and graphs (Prometheus, Grafana) for your Matrix server](configuring-playbook-prometheus-grafana.md) and [its subsection](configuring-playbook-prometheus-grafana.md#expose-metrics-of-other-services-roles) To enable Synapse usage metrics, see: [Enabling synapse-usage-exporter for Synapse usage statistics](configuring-playbook-synapse-usage-exporter.md) From 39cd32aa26e37481ba9fca5c11df51f32a18d90e Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 10 Feb 2025 22:36:36 +0900 Subject: [PATCH 317/841] Update docs/maintenance-postgres.md: add the warning styling Signed-off-by: Suguru Hirahara --- docs/maintenance-postgres.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/maintenance-postgres.md b/docs/maintenance-postgres.md index 82c4757c6..ce27e7404 100644 --- a/docs/maintenance-postgres.md +++ b/docs/maintenance-postgres.md @@ -28,7 +28,8 @@ To change to another database (for example `synapse`), run `\connect synapse` (o You can then proceed to write queries. Example: `SELECT COUNT(*) FROM users;` -**Be careful**. Modifying the database directly (especially as services are running) is dangerous and may lead to irreversible database corruption. When in doubt, consider [making a backup](#backing-up-postgresql). +> [!WARNING] +> **Modifying the database directly (especially as services are running) is dangerous and may lead to irreversible database corruption.** When in doubt, consider [making a backup](#backing-up-postgresql). ## Vacuuming PostgreSQL From ea18d9d87ec76a14ee1b7f7a8ccd50631c01b551 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 10 Feb 2025 22:43:06 +0900 Subject: [PATCH 318/841] Remove blank lines around lists titled with "Table of contents" Signed-off-by: Suguru Hirahara --- docs/maintenance-postgres.md | 5 ----- docs/registering-users.md | 1 - 2 files changed, 6 deletions(-) diff --git a/docs/maintenance-postgres.md b/docs/maintenance-postgres.md index ce27e7404..2c69d038e 100644 --- a/docs/maintenance-postgres.md +++ b/docs/maintenance-postgres.md @@ -3,15 +3,10 @@ This document shows you how to perform various maintenance tasks related to the Postgres database server used by Matrix. Table of contents: - - [Getting a database terminal](#getting-a-database-terminal), for when you wish to execute SQL queries - - [Vacuuming PostgreSQL](#vacuuming-postgresql), for when you wish to run a Postgres [VACUUM](https://www.postgresql.org/docs/current/sql-vacuum.html) (optimizing disk space) - - [Backing up PostgreSQL](#backing-up-postgresql), for when you wish to make a backup - - [Upgrading PostgreSQL](#upgrading-postgresql), for upgrading to new major versions of PostgreSQL. Such **manual upgrades are sometimes required**. - - [Tuning PostgreSQL](#tuning-postgresql) to make it run faster ## Getting a database terminal diff --git a/docs/registering-users.md b/docs/registering-users.md index 2972378b6..d6b606055 100644 --- a/docs/registering-users.md +++ b/docs/registering-users.md @@ -3,7 +3,6 @@ This documentation page tells you how to create user accounts on your Matrix server. Table of contents: - - [Registering users](#registering-users) - [Registering users manually](#registering-users-manually) - [Managing users via a Web UI](#managing-users-via-a-web-ui) From 5eb2e28ecae95c169731e48556c4b785a9e9cb4f Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 11 Feb 2025 14:05:13 +0900 Subject: [PATCH 319/841] Add the copyright header for reusing the document for the MASH project This is preparation for the document to be copied to the MASH project at https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-backup-borg.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/docs/configuring-playbook-backup-borg.md b/docs/configuring-playbook-backup-borg.md index aca22c2f6..8acc3d9ba 100644 --- a/docs/configuring-playbook-backup-borg.md +++ b/docs/configuring-playbook-backup-borg.md @@ -1,3 +1,13 @@ + + # Setting up BorgBackup (optional) The playbook can install and configure [BorgBackup](https://www.borgbackup.org/) (short: Borg) with [borgmatic](https://torsion.org/borgmatic/) for you. From 86beae48634e0b45a220073ad5dea28bedd8ce29 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 11 Feb 2025 14:58:10 +0900 Subject: [PATCH 320/841] Update docs/configuring-playbook-backup-borg.md: sync the description with the document for the MASH project Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-backup-borg.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/configuring-playbook-backup-borg.md b/docs/configuring-playbook-backup-borg.md index 8acc3d9ba..ca75f80f7 100644 --- a/docs/configuring-playbook-backup-borg.md +++ b/docs/configuring-playbook-backup-borg.md @@ -22,7 +22,7 @@ You will need a remote server where BorgBackup will store the backups. There are ### Check the Postgres version -By default, if you're using the integrated Postgres database server (as opposed to [an external Postgres server](configuring-playbook-external-postgres.md)), backups with BorgBackup will also include dumps of your Postgres database. +If you're using the integrated Postgres database server (as opposed to [an external Postgres server](configuring-playbook-external-postgres.md)), backups with BorgBackup will also include dumps of your Postgres database by default. Unless you disable the Postgres-backup support, make sure that the Postgres version of your homeserver's database is compatible with borgmatic. You can check the compatible versions [here](https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg/blob/main/defaults/main.yml). From 44d5228011ed0f6adcb6d8d7cb91ffa27c444e5e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 11 Feb 2025 09:08:46 +0000 Subject: [PATCH 321/841] Update ajbura/cinny Docker tag to v4.3.0 --- roles/custom/matrix-client-cinny/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-client-cinny/defaults/main.yml b/roles/custom/matrix-client-cinny/defaults/main.yml index 86e5d9ef9..7016240c4 100644 --- a/roles/custom/matrix-client-cinny/defaults/main.yml +++ b/roles/custom/matrix-client-cinny/defaults/main.yml @@ -7,7 +7,7 @@ matrix_client_cinny_container_image_self_build: false matrix_client_cinny_container_image_self_build_repo: "https://github.com/ajbura/cinny.git" # renovate: datasource=docker depName=ajbura/cinny -matrix_client_cinny_version: v4.2.3 +matrix_client_cinny_version: v4.3.0 matrix_client_cinny_docker_image: "{{ matrix_client_cinny_docker_image_name_prefix }}ajbura/cinny:{{ matrix_client_cinny_version }}" matrix_client_cinny_docker_image_name_prefix: "{{ 'localhost/' if matrix_client_cinny_container_image_self_build else matrix_container_global_registry_prefix }}" matrix_client_cinny_docker_image_force_pull: "{{ matrix_client_cinny_docker_image.endswith(':latest') }}" From 34cded9b8d8f1fc43acaac880466c2d756ba3271 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 11 Feb 2025 09:08:51 +0000 Subject: [PATCH 322/841] Update joseluisq/static-web-server Docker tag to v2.36.0 --- roles/custom/matrix-cactus-comments-client/defaults/main.yml | 2 +- roles/custom/matrix-static-files/defaults/main.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/custom/matrix-cactus-comments-client/defaults/main.yml b/roles/custom/matrix-cactus-comments-client/defaults/main.yml index 7c5b15bfc..e8ff73d08 100644 --- a/roles/custom/matrix-cactus-comments-client/defaults/main.yml +++ b/roles/custom/matrix-cactus-comments-client/defaults/main.yml @@ -13,7 +13,7 @@ matrix_cactus_comments_client_public_path: "{{ matrix_cactus_comments_client_bas matrix_cactus_comments_client_public_path_file_permissions: "0644" # renovate: datasource=docker depName=joseluisq/static-web-server -matrix_cactus_comments_client_version: 2.35.0 +matrix_cactus_comments_client_version: 2.36.0 matrix_cactus_comments_client_container_image: "{{ matrix_container_global_registry_prefix }}joseluisq/static-web-server:{{ matrix_cactus_comments_client_container_image_tag }}" matrix_cactus_comments_client_container_image_tag: "{{ 'latest' if matrix_cactus_comments_client_version == 'latest' else (matrix_cactus_comments_client_version + '-alpine') }}" diff --git a/roles/custom/matrix-static-files/defaults/main.yml b/roles/custom/matrix-static-files/defaults/main.yml index 248062ab2..e31c9b75b 100644 --- a/roles/custom/matrix-static-files/defaults/main.yml +++ b/roles/custom/matrix-static-files/defaults/main.yml @@ -8,7 +8,7 @@ matrix_static_files_enabled: true matrix_static_files_identifier: matrix-static-files # renovate: datasource=docker depName=joseluisq/static-web-server -matrix_static_files_version: 2.35.0 +matrix_static_files_version: 2.36.0 matrix_static_files_base_path: "{{ matrix_base_data_path }}/{{ 'static-files' if matrix_static_files_identifier == 'matrix-static-files' else matrix_static_files_identifier }}" matrix_static_files_config_path: "{{ matrix_static_files_base_path }}/config" From 6dfe5d53497252deeb927f22c00a998add22e70d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edward=20And=C3=B2?= <2989690+edwardando@users.noreply.github.com> Date: Tue, 11 Feb 2025 10:03:20 +0000 Subject: [PATCH 323/841] Update configuring-well-known.md add 302 redirect option as well as reverse-proxy --- docs/configuring-well-known.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/configuring-well-known.md b/docs/configuring-well-known.md index 58bd1615b..cd387bc00 100644 --- a/docs/configuring-well-known.md +++ b/docs/configuring-well-known.md @@ -97,7 +97,7 @@ This is relatively easy to do and possibly your only choice if you can only host This option is less fragile and generally better. -On the base domain's server (e.g. `example.com`), you can set up reverse-proxying, so that any access for the `/.well-known/matrix` location prefix is forwarded to the Matrix domain's server (e.g. `matrix.example.com`). +On the base domain's server (e.g. `example.com`), you can set up reverse-proxying (or simply a 302 redirect), so that any access for the `/.well-known/matrix` location prefix is forwarded to the Matrix domain's server (e.g. `matrix.example.com`). With this method, you **don't need** to add special HTTP headers for [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) reasons (like `Access-Control-Allow-Origin`), because your Matrix server (where requests ultimately go) will be configured by this playbook correctly. From 38b0e86a2ecc8e92fac15cabb3a96fa7d9f44e95 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 11 Feb 2025 13:24:26 +0000 Subject: [PATCH 324/841] Update ghcr.io/element-hq/synapse Docker tag to v1.124.0 --- roles/custom/matrix-synapse/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-synapse/defaults/main.yml b/roles/custom/matrix-synapse/defaults/main.yml index 69ceb6cd7..81508bb48 100644 --- a/roles/custom/matrix-synapse/defaults/main.yml +++ b/roles/custom/matrix-synapse/defaults/main.yml @@ -16,7 +16,7 @@ matrix_synapse_enabled: true matrix_synapse_github_org_and_repo: element-hq/synapse # renovate: datasource=docker depName=ghcr.io/element-hq/synapse -matrix_synapse_version: v1.123.0 +matrix_synapse_version: v1.124.0 matrix_synapse_username: '' matrix_synapse_uid: '' From 2a289606931ab5d5596d0adf91725f1753ce312f Mon Sep 17 00:00:00 2001 From: Aine <97398200+aine-etke@users.noreply.github.com> Date: Tue, 11 Feb 2025 17:36:30 +0200 Subject: [PATCH 325/841] Element Web v1.11.92 --- roles/custom/matrix-client-element/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-client-element/defaults/main.yml b/roles/custom/matrix-client-element/defaults/main.yml index c970b3f38..d536b55e4 100644 --- a/roles/custom/matrix-client-element/defaults/main.yml +++ b/roles/custom/matrix-client-element/defaults/main.yml @@ -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 }}" # renovate: datasource=docker depName=vectorim/element-web -matrix_client_element_version: v1.11.91 +matrix_client_element_version: v1.11.92 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 }}" From 930029ccda8c4d90ce230dfa740c0cab15a3c733 Mon Sep 17 00:00:00 2001 From: Aine Date: Tue, 11 Feb 2025 17:38:11 +0200 Subject: [PATCH 326/841] borgmatic v1.9.10 --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 3f6fea07a..9ec613089 100644 --- a/requirements.yml +++ b/requirements.yml @@ -4,7 +4,7 @@ version: v1.0.0-5 name: auxiliary - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg.git - version: v1.4.0-1.9.9-0 + version: v1.4.0-1.9.10-0 name: backup_borg - src: git+https://github.com/devture/com.devture.ansible.role.container_socket_proxy.git version: v0.2.0-0 From 44de5d91f18cb33e91eceae13743d6df2c50f6b5 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 11 Feb 2025 15:38:53 +0000 Subject: [PATCH 327/841] Update ghcr.io/matrix-org/rageshake Docker tag to v1.14.0 --- roles/custom/matrix-rageshake/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-rageshake/defaults/main.yml b/roles/custom/matrix-rageshake/defaults/main.yml index f104cbebd..1c3d059c1 100644 --- a/roles/custom/matrix-rageshake/defaults/main.yml +++ b/roles/custom/matrix-rageshake/defaults/main.yml @@ -17,7 +17,7 @@ matrix_rageshake_path_prefix: / # There are no stable container image tags yet. # See: https://github.com/matrix-org/rageshake/issues/69 # renovate: datasource=docker depName=ghcr.io/matrix-org/rageshake -matrix_rageshake_version: 1.13.0 +matrix_rageshake_version: 1.14.0 matrix_rageshake_base_path: "{{ matrix_base_data_path }}/rageshake" matrix_rageshake_config_path: "{{ matrix_rageshake_base_path }}/config" From 414445b6bf09d29dc1075e8954fb78a66d26a53a Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Wed, 12 Feb 2025 03:54:34 +0900 Subject: [PATCH 328/841] Update docs/configuring-playbook-backup-borg.md: replace the instruction with the reference to the document copied to the MASH project Now that the document for setting up BorgBackup has been moved to the MASH project (https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg) it is sensible to remove the details in favor of it. Because it may as well be noted that the document becomes available locally once the Ansible role is fetched, I think the document itself should not be deleted from the repository. Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-backup-borg.md | 148 +---------------------- 1 file changed, 3 insertions(+), 145 deletions(-) diff --git a/docs/configuring-playbook-backup-borg.md b/docs/configuring-playbook-backup-borg.md index ca75f80f7..135ca8501 100644 --- a/docs/configuring-playbook-backup-borg.md +++ b/docs/configuring-playbook-backup-borg.md @@ -14,148 +14,6 @@ The playbook can install and configure [BorgBackup](https://www.borgbackup.org/) BorgBackup is a deduplicating backup program with optional compression and encryption. That means your daily incremental backups can be stored in a fraction of the space and is safe whether you store it at home or on a cloud service. -## Prerequisites - -### Set up a remote server for storing backups - -You will need a remote server where BorgBackup will store the backups. There are hosted, BorgBackup compatible solutions available, such as [BorgBase](https://www.borgbase.com). - -### Check the Postgres version - -If you're using the integrated Postgres database server (as opposed to [an external Postgres server](configuring-playbook-external-postgres.md)), backups with BorgBackup will also include dumps of your Postgres database by default. - -Unless you disable the Postgres-backup support, make sure that the Postgres version of your homeserver's database is compatible with borgmatic. You can check the compatible versions [here](https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg/blob/main/defaults/main.yml). - -An alternative solution for backing up the Postgres database is [postgres backup](configuring-playbook-postgres-backup.md). If you decide to go with another solution, you can disable Postgres-backup support for BorgBackup using the `backup_borg_postgresql_enabled` variable. - -### Create a new SSH key - -Run the command below on any machine to create a new SSH key: - -```sh -ssh-keygen -t ed25519 -N '' -f matrix-borg-backup -C matrix -``` - -You don't need to place the key in the `.ssh` folder. - -### Add the public key - -Next, add the **public** part of this SSH key (the `matrix-borg-backup.pub` file) to your BorgBackup provider/server. - -If you are using a hosted solution, follow their instructions. If you have your own server, copy the key to it with the command like below: - -```sh -# Example to append the new PUBKEY contents, where: -# - PUBKEY is path to the public key -# - USER is a ssh user on a provider / server -# - HOST is a ssh host of a provider / server -cat PUBKEY | ssh USER@HOST 'dd of=.ssh/authorized_keys oflag=append conv=notrunc' -``` - -The **private** key needs to be added to `backup_borg_ssh_key_private` on your `inventory/host_vars/matrix.example.com/vars.yml` file as below. - -## Adjusting the playbook configuration - -To enable BorgBackup, add the following configuration to your `vars.yml` file (adapt to your needs): - -```yaml -backup_borg_enabled: true - -# Set the repository location, where: -# - USER is a ssh user on a provider / server -# - HOST is a ssh host of a provider / server -# - REPO is a BorgBackup repository name -backup_borg_location_repositories: - - ssh://USER@HOST/./REPO - -# Generate a strong password used for encrypting backups. You can create one with a command like `pwgen -s 64 1`. -backup_borg_storage_encryption_passphrase: "PASSPHRASE" - -# Add the content of the **private** part of the SSH key you have created. -# Note: the whole key (all of its belonging lines) under the variable needs to be indented with 2 spaces. -backup_borg_ssh_key_private: | - -----BEGIN OPENSSH PRIVATE KEY----- - TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZW - xpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRv - bG9yZSBtYWduYSBhbGlxdWEuIFV0IGVuaW0gYWQgbWluaW0gdmVuaWFtLCBxdWlzIG5vc3 - RydWQgZXhlcmNpdGF0aW9uIHVsbGFtY28gbGFib3JpcyBuaXNpIHV0IGFsaXF1aXAgZXgg - ZWEgY29tbW9kbyBjb25zZXF1YXQuIA== - -----END OPENSSH PRIVATE KEY----- -``` - -**Note**: `REPO` will be initialized on backup start, for example: `matrix`. See [Remote repositories](https://borgbackup.readthedocs.io/en/stable/usage/general.html#repository-urls) for the syntax. - -### Set backup archive name (optional) - -You can specify the backup archive name format. To set it, add the following configuration to your `vars.yml` file (adapt to your needs): - -```yaml -backup_borg_storage_archive_name_format: matrix-{now:%Y-%m-%d-%H%M%S} -``` - -### Configure retention policy (optional) - -It is also possible to configure a retention strategy. To configure it, add the following configuration to your `vars.yml` file (adapt to your needs): - -```yaml -backup_borg_retention_keep_hourly: 0 -backup_borg_retention_keep_daily: 7 -backup_borg_retention_keep_weekly: 4 -backup_borg_retention_keep_monthly: 12 -backup_borg_retention_keep_yearly: 2 -``` - -### Edit the schedule (optional) - -By default the task will run 4 a.m. every day based on the `backup_borg_schedule` variable. It is defined in the format of systemd timer calendar. - -To edit the schedule, add the following configuration to your `vars.yml` file (adapt to your needs): - -```yaml -backup_borg_schedule: "*-*-* 04:00:00" -``` - -**Note**: the actual job may run with a delay. See `backup_borg_schedule_randomized_delay_sec` [here](https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg/blob/f5d5b473d48c6504be10b3d946255ef5c186c2a6/defaults/main.yml#L50) for its default value. - -### Set include and/or exclude directories (optional) - -`backup_borg_location_source_directories` defines the list of directories to back up. It's set to `{{ matrix_base_data_path }}` by default, which is the base directory for every service's data, such as Synapse, Postgres and the bridges. - -You might also want to exclude certain directories or file patterns from the backup using the `backup_borg_location_exclude_patterns` variable. - -### Extending the configuration - -There are some additional things you may wish to configure about the component. - -Take a look at: - -- [backup_borg role](https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg)'s [`defaults/main.yml`](https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg/blob/main/defaults/main.yml) for some variables that you can customize via your `vars.yml` file. You can override settings (even those that don't have dedicated playbook variables) using the `backup_borg_configuration_extension_yaml` variable - -## Installing - -After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below: - - -```sh -ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start -``` - -The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` - -`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. - -## Usage - -After installation, `backup-borg` will run automatically every day at `04:00:00` (as defined in `backup_borg_schedule` by default). - -### Manually start the task - -Sometimes it can be helpful to run the backup as you'd like, avoiding to wait until 4 a.m., like when you test your configuration. - -If you want to run it immediately, log in to the server with SSH and run `systemctl start matrix-backup-borg`. - -This will not return until the backup is done, so it can possibly take a long time. Consider using [tmux](https://en.wikipedia.org/wiki/Tmux) if your SSH connection is unstable. - -## Troubleshooting - -As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu backup-borg`. +For details about configuring and installing it, you can check them via: +- [the role's document on the MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg/blob/main/docs/configuring-backup-borg.md) +- `roles/galaxy/backup_borg/docs/configuring-backup-borg.md` locally, if you have fetched the Ansible roles From 8b129eefba200a4b281899ab83812f85af2ebe40 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Wed, 12 Feb 2025 14:42:13 +0900 Subject: [PATCH 329/841] Update docs/configuring-playbook-postgres-backup.md: add the copyright header This is a preparation to copy the document to its own repository at the MASH project (https://github.com/mother-of-all-self-hosting/ansible-role-postgres-backup). Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-postgres-backup.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/configuring-playbook-postgres-backup.md b/docs/configuring-playbook-postgres-backup.md index 08f88b8bf..39f51835f 100644 --- a/docs/configuring-playbook-postgres-backup.md +++ b/docs/configuring-playbook-postgres-backup.md @@ -1,3 +1,11 @@ + + # Setting up postgres backup (optional) The playbook can install and configure [docker-postgres-backup-local](https://github.com/prodrigestivill/docker-postgres-backup-local) for you via the [ansible-role-postgres-backup](https://github.com/mother-of-all-self-hosting/ansible-role-postgres-backup) Ansible role. From 4ee2f6ffea6b9682f5b676669b0d3bc6711fa8f1 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 13 Feb 2025 00:31:30 +0900 Subject: [PATCH 330/841] Update docs/configuring-playbook-postgres-backup.md: replace the instruction with the reference to the document copied to the MASH project This follows the change for docs on BorgBackup with 414445b6bf09d29dc1075e8954fb78a66d26a53a. The document on the MASH project is available at https://github.com/mother-of-all-self-hosting/ansible-role-postgres-backup/blob/main/docs/configuring-postgres-backup.md. Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-postgres-backup.md | 41 ++------------------ 1 file changed, 4 insertions(+), 37 deletions(-) diff --git a/docs/configuring-playbook-postgres-backup.md b/docs/configuring-playbook-postgres-backup.md index 39f51835f..54e058f00 100644 --- a/docs/configuring-playbook-postgres-backup.md +++ b/docs/configuring-playbook-postgres-backup.md @@ -10,41 +10,8 @@ SPDX-License-Identifier: AGPL-3.0-or-later The playbook can install and configure [docker-postgres-backup-local](https://github.com/prodrigestivill/docker-postgres-backup-local) for you via the [ansible-role-postgres-backup](https://github.com/mother-of-all-self-hosting/ansible-role-postgres-backup) Ansible role. -For a more complete backup solution (one that includes not only Postgres, but also other configuration/data files), you may wish to look into [BorgBackup](configuring-playbook-backup-borg.md) instead. +For details about configuring and installing it, you can check them via: +- [the role's document on the MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting/ansible-role-postgres-backup/blob/main/docs/configuring-postgres-backup.md) +- `roles/galaxy/postgres_backup/docs/configuring-postgres-backup.md` locally, if you have fetched the Ansible roles -## Adjusting the playbook configuration - -To enable Postgres backup, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: - -```yaml -postgres_backup_enabled: true -``` - -Refer to the table below for additional configuration variables and their default values. - -| Name | Default value | Description | -| :-------------------------------- | :--------------------------- | :--------------------------------------------------------------- | -|`postgres_backup_enabled`|`false`|Set to true to use [docker-postgres-backup-local](https://github.com/prodrigestivill/docker-postgres-backup-local) to create automatic database backups| -|`postgres_backup_schedule`| `'@daily'` |Cron-schedule specifying the interval between postgres backups.| -|`postgres_backup_keep_days`|`7`|Number of daily backups to keep| -|`postgres_backup_keep_weeks`|`4`|Number of weekly backups to keep| -|`postgres_backup_keep_months`|`12`|Number of monthly backups to keep| -|`postgres_backup_base_path` | `"{{ matrix_base_data_path }}/postgres-backup"` | Base path for postgres-backup. Also see `postgres_backup_data_path` | -|`postgres_backup_data_path` | `"{{ postgres_backup_base_path }}/data"` | Storage path for postgres-backup database backups | - -## Installing - -After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below: - - -```sh -ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start -``` - -The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` - -`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. - -## Troubleshooting - -As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-postgres-backup`. +**Note**: for a more complete backup solution (one that includes not only Postgres, but also other configuration/data files), you may wish to look into [BorgBackup](configuring-playbook-backup-borg.md) instead. From 3620870173540097230e5ae3ef47a4779c9134b0 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 12 Feb 2025 15:51:55 +0000 Subject: [PATCH 331/841] Update dependency myst-parser to v4.0.1 --- i18n/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/requirements.txt b/i18n/requirements.txt index cf48bd5a0..9a2b21645 100644 --- a/i18n/requirements.txt +++ b/i18n/requirements.txt @@ -12,7 +12,7 @@ markdown-it-py==3.0.0 MarkupSafe==3.0.2 mdit-py-plugins==0.4.2 mdurl==0.1.2 -myst-parser==4.0.0 +myst-parser==4.0.1 packaging==24.2 Pygments==2.19.1 PyYAML==6.0.2 From 9f17f748b1c1979f381f4b69b7630e73f39b6361 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Thu, 13 Feb 2025 06:30:07 +0200 Subject: [PATCH 332/841] Upgrade ntfy (v2.11.0-0 -> v2.11.0-1) Ref: https://github.com/mother-of-all-self-hosting/ansible-role-ntfy/pull/2 --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 9ec613089..47990bf1f 100644 --- a/requirements.yml +++ b/requirements.yml @@ -28,7 +28,7 @@ version: v10008-0 name: jitsi - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-ntfy.git - version: v2.11.0-0 + version: v2.11.0-1 name: ntfy - src: git+https://github.com/devture/com.devture.ansible.role.playbook_help.git version: 201c939eed363de269a83ba29784fc3244846048 From c27fb2a832e69d3fb7bfd49751db1d00d95ff91b Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Wed, 12 Feb 2025 19:07:46 +0900 Subject: [PATCH 333/841] =?UTF-8?q?Fix=20capitalization:=20postgres=20?= =?UTF-8?q?=E2=86=92=20Postgres?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Suguru Hirahara --- CHANGELOG.md | 2 +- docs/configuring-playbook-matrix-media-repo.md | 2 +- docs/configuring-playbook-postgres-backup.md | 2 +- docs/configuring-playbook.md | 2 +- docs/maintenance-postgres.md | 2 +- docs/updating-users-passwords.md | 2 +- roles/custom/matrix-bot-maubot/templates/config.yaml.j2 | 2 +- roles/custom/matrix-bridge-mx-puppet-slack/defaults/main.yml | 2 +- roles/custom/matrix-synapse-auto-compressor/defaults/main.yml | 4 ++-- .../matrix-synapse/templates/synapse/homeserver.yaml.j2 | 2 +- .../matrix_playbook_migration/tasks/validate_config.yml | 2 +- 11 files changed, 12 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4dcd99ba6..f850d47e7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2144,7 +2144,7 @@ matrix_coturn_tls_v1_1_enabled: true Thanks to [foxcris](https://github.com/foxcris), the playbook can now make automated local Postgres backups on a fixed schedule using [docker-postgres-backup-local](https://github.com/prodrigestivill/docker-postgres-backup-local). -Additional details are available in [Setting up postgres backup](docs/configuring-playbook-postgres-backup.md). +Additional details are available in [Setting up Postgres backup](docs/configuring-playbook-postgres-backup.md). # 2021-04-03 diff --git a/docs/configuring-playbook-matrix-media-repo.md b/docs/configuring-playbook-matrix-media-repo.md index 052cd90c3..33dd5ce1a 100644 --- a/docs/configuring-playbook-matrix-media-repo.md +++ b/docs/configuring-playbook-matrix-media-repo.md @@ -66,7 +66,7 @@ Take a look at: Here is a list of additional common configuration options: ```yaml -# The postgres database pooling options +# The Postgres database pooling options # The maximum number of connects to hold open. More of these allow for more concurrent # processes to happen. diff --git a/docs/configuring-playbook-postgres-backup.md b/docs/configuring-playbook-postgres-backup.md index 54e058f00..27aafd1ae 100644 --- a/docs/configuring-playbook-postgres-backup.md +++ b/docs/configuring-playbook-postgres-backup.md @@ -6,7 +6,7 @@ SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara SPDX-License-Identifier: AGPL-3.0-or-later --> -# Setting up postgres backup (optional) +# Setting up Postgres backup (optional) The playbook can install and configure [docker-postgres-backup-local](https://github.com/prodrigestivill/docker-postgres-backup-local) for you via the [ansible-role-postgres-backup](https://github.com/mother-of-all-self-hosting/ansible-role-postgres-backup) Ansible role. diff --git a/docs/configuring-playbook.md b/docs/configuring-playbook.md index 30e8c808d..31d443616 100644 --- a/docs/configuring-playbook.md +++ b/docs/configuring-playbook.md @@ -206,7 +206,7 @@ Services that help you in administrating and monitoring your Matrix installation - Backups: - [Setting up BorgBackup](configuring-playbook-backup-borg.md) — a full Matrix server backup solution, including the Postgres database - - [Setting up postgres backup](configuring-playbook-postgres-backup.md) — a Postgres-database backup solution (note: does not include other files) + - [Setting up Postgres backup](configuring-playbook-postgres-backup.md) — a Postgres-database backup solution (note: does not include other files) ### Other specialized services diff --git a/docs/maintenance-postgres.md b/docs/maintenance-postgres.md index 2c69d038e..569d5fd4d 100644 --- a/docs/maintenance-postgres.md +++ b/docs/maintenance-postgres.md @@ -47,7 +47,7 @@ Example playbook invocations: ## Backing up PostgreSQL -To automatically make Postgres database backups on a fixed schedule, see [Setting up postgres backup](configuring-playbook-postgres-backup.md). +To automatically make Postgres database backups on a fixed schedule, see [Setting up Postgres backup](configuring-playbook-postgres-backup.md). To make a one off back up of the current PostgreSQL database, make sure it's running and then execute a command like this on the server: diff --git a/docs/updating-users-passwords.md b/docs/updating-users-passwords.md index aecd038ef..87a844bb8 100644 --- a/docs/updating-users-passwords.md +++ b/docs/updating-users-passwords.md @@ -22,7 +22,7 @@ You can manually generate the password hash by using the command-line after **SS docker exec -it matrix-synapse /usr/local/bin/hash_password -c /data/homeserver.yaml ``` -and then connecting to the postgres server and executing: +and then connecting to the Postgres server and executing: ```sql UPDATE users SET password_hash = '' WHERE name = '@alice:example.com'; diff --git a/roles/custom/matrix-bot-maubot/templates/config.yaml.j2 b/roles/custom/matrix-bot-maubot/templates/config.yaml.j2 index 8da34c9ed..73c75ce58 100644 --- a/roles/custom/matrix-bot-maubot/templates/config.yaml.j2 +++ b/roles/custom/matrix-bot-maubot/templates/config.yaml.j2 @@ -28,7 +28,7 @@ plugin_directories: # Configuration for storing plugin databases plugin_databases: # Some plugins still require sqlite, so configure a path here. - # postgres will be used if supported. + # Postgres will be used if supported. sqlite: /data/dbs postgres: default diff --git a/roles/custom/matrix-bridge-mx-puppet-slack/defaults/main.yml b/roles/custom/matrix-bridge-mx-puppet-slack/defaults/main.yml index 030ac871f..b46df5994 100644 --- a/roles/custom/matrix-bridge-mx-puppet-slack/defaults/main.yml +++ b/roles/custom/matrix-bridge-mx-puppet-slack/defaults/main.yml @@ -108,7 +108,7 @@ matrix_mx_puppet_slack_login_shared_secret: '' matrix_mx_puppet_slack_presence_enabled: true matrix_mx_puppet_slack_presence_interval: 5000 -# Database configuration, role uses 'sqlite' per default but playbook sets up postgres by default +# Database configuration, role uses 'sqlite' per default but playbook sets up Postgres by default matrix_mx_puppet_slack_database_engine: sqlite matrix_mx_puppet_slack_sqlite_database_path_local: "{{ matrix_mx_puppet_slack_data_path }}/database.db" diff --git a/roles/custom/matrix-synapse-auto-compressor/defaults/main.yml b/roles/custom/matrix-synapse-auto-compressor/defaults/main.yml index 212213d64..020a447c5 100644 --- a/roles/custom/matrix-synapse-auto-compressor/defaults/main.yml +++ b/roles/custom/matrix-synapse-auto-compressor/defaults/main.yml @@ -8,11 +8,11 @@ matrix_synapse_auto_compressor_enabled: true # renovate: datasource=docker depName=registry.gitlab.com/etke.cc/rust-synapse-compress-state matrix_synapse_auto_compressor_version: v0.1.4 -# note: UID/GID better to match the UID/GID of the postgres container, but it doesn't really matter, as volumes are not used here +# note: UID/GID better to match the UID/GID of the Postgres container, but it doesn't really matter, as volumes are not used here matrix_synapse_auto_compressor_uid: '' matrix_synapse_auto_compressor_gid: '' -# note: the postgres image version doesn't matter, as it is used for a SQL script that doesn't use any specific features +# note: the Postgres image version doesn't matter, as it is used for a SQL script that doesn't use any specific features matrix_synapse_auto_compressor_postgres_image: "postgres" matrix_synapse_auto_compressor_base_path: "{{ matrix_base_data_path }}/synapse-auto-compressor" diff --git a/roles/custom/matrix-synapse/templates/synapse/homeserver.yaml.j2 b/roles/custom/matrix-synapse/templates/synapse/homeserver.yaml.j2 index 457726774..6c4624919 100644 --- a/roles/custom/matrix-synapse/templates/synapse/homeserver.yaml.j2 +++ b/roles/custom/matrix-synapse/templates/synapse/homeserver.yaml.j2 @@ -837,7 +837,7 @@ caches: # before reconnecting. Defaults to 0, which means no limit. # # 'allow_unsafe_locale' is an option specific to Postgres. Under the default behavior, Synapse will refuse to -# start if the postgres db is set to a non-C locale. You can override this behavior (which is *not* recommended) +# start if the Postgres db is set to a non-C locale. You can override this behavior (which is *not* recommended) # by setting 'allow_unsafe_locale' to true. Note that doing so may corrupt your database. You can find more information # here: https://matrix-org.github.io/synapse/latest/postgres.html#fixing-incorrect-collate-or-ctype and here: # https://wiki.postgresql.org/wiki/Locale_data_changes diff --git a/roles/custom/matrix_playbook_migration/tasks/validate_config.yml b/roles/custom/matrix_playbook_migration/tasks/validate_config.yml index 4d61f765f..272011c88 100644 --- a/roles/custom/matrix_playbook_migration/tasks/validate_config.yml +++ b/roles/custom/matrix_playbook_migration/tasks/validate_config.yml @@ -423,7 +423,7 @@ - name: (Deprecation) Catch and report devture_postgres variables ansible.builtin.fail: msg: |- - The postgres role in the playbook now lives under the MASH organization (https://github.com/mother-of-all-self-hosting/ansible-role-postgres). + The Postgres role in the playbook now lives under the MASH organization (https://github.com/mother-of-all-self-hosting/ansible-role-postgres). The new role is pretty much the same, but uses differently named variables. Please change your configuration (vars.yml) to rename all `devture_postgres_`-prefixed variables (`devture_postgres_*` -> `postgres_*`). From f4f666e5ecda1e2db6e7c4b6ba57d8ac93039a9c Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 13 Feb 2025 00:20:29 +0900 Subject: [PATCH 334/841] Update docs/container-images.md: add an entry for postgres-backup-local Signed-off-by: Suguru Hirahara --- docs/container-images.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/container-images.md b/docs/container-images.md index efed979c2..fbafe02e0 100644 --- a/docs/container-images.md +++ b/docs/container-images.md @@ -125,6 +125,7 @@ Services that help you in administrating and monitoring your Matrix installation | [Metrics and Graphs](configuring-playbook-prometheus-grafana.md) | [grafana/grafana](https://hub.docker.com/r/grafana/grafana/) | ❌ | Graphing tool that works well with the above two images. Our playbook also adds two dashboards for [Synapse](https://github.com/element-hq/synapse/tree/master/contrib/grafana) and [Node Exporter](https://github.com/rfrail3/grafana-dashboards) | | [Metrics and Graphs](configuring-playbook-prometheus-grafana.md#enable-metrics-and-graphs-for-nginx-logs-optional) | [martin-helmich/prometheus-nginxlog-exporter/exporter](https://ghcr.io/martin-helmich/prometheus-nginxlog-exporter/exporter) | ❌ | Addon for Prometheus that gathers access logs from various nginx reverse-proxies | | [Borg](configuring-playbook-backup-borg.md) | (N/A) | ❌ | Backups | +| [postgres-backup-local](configuring-playbook-postgres-backup.md) | [prodrigestivill/postgres-backup-local](https://hub.docker.com/r/prodrigestivill/postgres-backup-local) | ❌ | Create automatic database backups | | [rageshake](configuring-playbook-rageshake.md) | [matrix-org/rageshake](https://ghcr.io/matrix-org/rageshake) | ❌ | Bug report server | | [synapse-usage-exporter](configuring-playbook-synapse-usage-exporter.md) | Self-building | ❌ | Export the usage statistics of a Synapse homeserver to be scraped by Prometheus. | From 3c9067c4c2d640bf672cd6e5fb5c4d6c14e77716 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 13 Feb 2025 01:40:14 +0900 Subject: [PATCH 335/841] Update docs/configuring-playbook-etherpad.md: add the copyright header Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-etherpad.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/configuring-playbook-etherpad.md b/docs/configuring-playbook-etherpad.md index f6664f19d..0f151d3db 100644 --- a/docs/configuring-playbook-etherpad.md +++ b/docs/configuring-playbook-etherpad.md @@ -1,3 +1,15 @@ + + # Setting up Etherpad (optional) The playbook can install and configure [Etherpad](https://etherpad.org) for you. From 5c874f036d48abd050be3647fe5ccc3f85c4eb17 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Fri, 14 Feb 2025 09:59:22 +0200 Subject: [PATCH 336/841] Upgrade Etherpad (v2.2.6-0 -> v2.2.7-0) --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 47990bf1f..cc083ba7c 100644 --- a/requirements.yml +++ b/requirements.yml @@ -16,7 +16,7 @@ version: 129c8590e106b83e6f4c259649a613c6279e937a name: docker_sdk_for_python - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-etherpad.git - version: v2.2.6-0 + version: v2.2.7-0 name: etherpad - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay.git version: v4.98-r0-4-0 From ed673bf07152503c29ab2bad9b5ae74dfdc21c34 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Fri, 14 Feb 2025 10:03:41 +0200 Subject: [PATCH 337/841] Comment-out `claims_imports.displayname` for matrix-authentication-service Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/4058 --- docs/configuring-playbook-matrix-authentication-service.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/configuring-playbook-matrix-authentication-service.md b/docs/configuring-playbook-matrix-authentication-service.md index ce5c7aa5d..0c86096b6 100644 --- a/docs/configuring-playbook-matrix-authentication-service.md +++ b/docs/configuring-playbook-matrix-authentication-service.md @@ -242,7 +242,7 @@ matrix_authentication_service_config_upstream_oauth2_providers: #action: force #template: "{% raw %}{{ user.preferred_username }}{% endraw %}" # The display name is the user's display name. - displayname: + #displayname: #action: suggest #template: "{% raw %}{{ user.name }}{% endraw %}" # An email address to import. From 15f7f41afe116aae5193ce44bd73b4867e112935 Mon Sep 17 00:00:00 2001 From: akdk7 <97784161+akdk7@users.noreply.github.com> Date: Fri, 14 Feb 2025 09:23:36 +0100 Subject: [PATCH 338/841] =?UTF-8?q?This=20push=20request=20is=20about=20ha?= =?UTF-8?q?ndling=20Traefik=20ipallowlist=20to=20synapse-ad=E2=80=A6=20(#4?= =?UTF-8?q?063)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * This push request is about handling Traefik ipallowlist to synapse-admin application. It's my first push request. If I forgot something please let me know. :-) * Changed position of variable and naming for better expandebility of traefik options * Remove useless `noqa var-naming` comment and too many blank lines at the end of the file --------- Co-authored-by: AkDk7 Co-authored-by: Slavi Pantaleev --- roles/custom/matrix-synapse-admin/defaults/main.yml | 5 +++++ roles/custom/matrix-synapse-admin/templates/labels.j2 | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/roles/custom/matrix-synapse-admin/defaults/main.yml b/roles/custom/matrix-synapse-admin/defaults/main.yml index 9fcf9532e..50ebe9098 100644 --- a/roles/custom/matrix-synapse-admin/defaults/main.yml +++ b/roles/custom/matrix-synapse-admin/defaults/main.yml @@ -49,6 +49,11 @@ matrix_synapse_admin_container_labels_traefik_priority: 0 matrix_synapse_admin_container_labels_traefik_entrypoints: web-secure matrix_synapse_admin_container_labels_traefik_tls: "{{ matrix_synapse_admin_container_labels_traefik_entrypoints != 'web' }}" matrix_synapse_admin_container_labels_traefik_tls_certResolver: default # noqa var-naming +# This setting is to define a list ip addresses to allow access to synapse-admin. +# Each IP address should be in CIDR format, e.g. xxx.xxx.xxx.xxx/xx. +# For more information, see: https://doc.traefik.io/traefik/middlewares/http/ipallowlist/ +# If the list is empty, all IP addresses are allowed. +matrix_synapse_admin_container_labels_traefik_ipallowlist_sourcerange: [] # Controls which additional headers to attach to all HTTP responses. # To add your own headers, use `matrix_synapse_admin_container_labels_traefik_additional_response_headers_custom` diff --git a/roles/custom/matrix-synapse-admin/templates/labels.j2 b/roles/custom/matrix-synapse-admin/templates/labels.j2 index b4e973e00..eeb29756e 100644 --- a/roles/custom/matrix-synapse-admin/templates/labels.j2 +++ b/roles/custom/matrix-synapse-admin/templates/labels.j2 @@ -9,6 +9,11 @@ traefik.http.services.matrix-synapse-admin.loadbalancer.server.port=80 {% set middlewares = [] %} +{% if matrix_synapse_admin_container_labels_traefik_ipallowlist_sourcerange | length > 0 %} +traefik.http.middlewares.matrix-synapse-admin-ipallowlist.ipallowlist.sourcerange={{ matrix_synapse_admin_container_labels_traefik_ipallowlist_sourcerange | join(',') }} +{% set middlewares = middlewares + ['matrix-synapse-admin-ipallowlist'] %} +{% endif %} + {% if matrix_synapse_admin_container_labels_traefik_path_prefix != '/' %} traefik.http.middlewares.matrix-synapse-admin-slashless-redirect.redirectregex.regex=({{ matrix_synapse_admin_container_labels_traefik_path_prefix | quote }})$ traefik.http.middlewares.matrix-synapse-admin-slashless-redirect.redirectregex.replacement=${1}/ From e521ffca80e80f760c9be69787e603f6805c674c Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 13 Feb 2025 23:16:50 +0900 Subject: [PATCH 339/841] Make docs/configuring-playbook-etherpad.md slim - Add links to the role at MASH project and its document - Replace common instructions with the links to the role at MASH project Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-etherpad.md | 62 +++++---------------------- 1 file changed, 11 insertions(+), 51 deletions(-) diff --git a/docs/configuring-playbook-etherpad.md b/docs/configuring-playbook-etherpad.md index 0f151d3db..79c1273fc 100644 --- a/docs/configuring-playbook-etherpad.md +++ b/docs/configuring-playbook-etherpad.md @@ -18,6 +18,8 @@ Etherpad is an open source collaborative text editor. It can not only be integra When enabled together with the Jitsi audio/video conferencing system (see [our docs on Jitsi](configuring-playbook-jitsi.md)), it will be made available as an option during the conferences. +This Ansible role for Etherpad is developed and maintained by [MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting/ansible-role-etherpad). + ## Adjusting DNS records By default, this playbook installs Etherpad on the `etherpad.` subdomain (`etherpad.example.com`) and requires you to create a CNAME record for `etherpad`, which targets `matrix.example.com`. @@ -30,12 +32,14 @@ To enable Etherpad, add the following configuration to your `inventory/host_vars ```yaml etherpad_enabled: true - -# Uncomment and adjust this part if you'd like to enable the admin web UI -# etherpad_admin_username: YOUR_USERNAME_HERE -# etherpad_admin_password: YOUR_PASSWORD_HERE ``` +As the most of the necessary settings for the role have been taken care of by the playbook, you can enable Etherpad on your Matrix server with this minimum configuration. + +For details about configuring Etherpad per your preference (such as [enabling the admin web UI](https://github.com/mother-of-all-self-hosting/ansible-role-etherpad/blob/main/docs/configuring-etherpad.md#enable-admin-web-ui-optional)), you can check them via: +- [the role's document on the MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting/ansible-role-etherpad/blob/main/docs/configuring-etherpad.md) +- `roles/galaxy/etherpad/docs/configuring-etherpad.md` locally, if you have fetched the Ansible roles + ### Adjusting the Etherpad URL (optional) By tweaking the `etherpad_hostname` and `etherpad_path_prefix` variables, you can easily make the service available at a **different hostname and/or path** than the default one. @@ -55,30 +59,6 @@ After changing the domain, **you may need to adjust your DNS** records to point If you've decided to reuse the `matrix.` domain, you won't need to do any extra DNS configuration. -### Configure the default text (optional) - -You can also edit the default text on a new pad with the variable `etherpad_default_pad_text`. - -To do so, add the following configuration to your `vars.yml` file (adapt to your needs): - -```yaml -# Note: the whole text (all of its belonging lines) under the variable needs to be indented with 2 spaces. -etherpad_default_pad_text: | - Welcome to Etherpad! - - This pad text is synchronized as you type, so that everyone viewing this page sees the same text. This allows you to collaborate seamlessly on documents! - - Get involved with Etherpad at https://etherpad.org -``` - -### Extending the configuration - -There are some additional things you may wish to configure about the component. - -Take a look at: - -- [etherpad role](https://github.com/mother-of-all-self-hosting/ansible-role-etherpad)'s [`defaults/main.yml`](https://github.com/mother-of-all-self-hosting/ansible-role-etherpad/blob/main/defaults/main.yml) for some variables that you can customize via your `vars.yml` file. You can override settings (even those that don't have dedicated playbook variables) using the `etherpad_configuration_extension_json` variable - ## Installing After configuring the playbook and potentially [adjusting your DNS records](#adjusting-dns-records), run the playbook with [playbook tags](playbook-tags.md) as below: @@ -96,21 +76,13 @@ ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-use `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. -- If you change the Etherpad admin user's password (`etherpad_admin_password` in your `vars.yml` file) subsequently, the admin user's credentials on the homeserver won't be updated automatically. If you'd like to change the admin user's password, use a tool like [synapse-admin](configuring-playbook-synapse-admin.md) to change it, and then update `etherpad_admin_password` to let the admin user know its new password. - ## Usage -The Etherpad UI should be available at `https://etherpad.example.com`, while the admin UI (if enabled) should then be available at `https://etherpad.example.com/admin`. +By default, the Etherpad UI should be available at `https://etherpad.example.com`, while the admin UI (if enabled) should then be available at `https://etherpad.example.com/admin`. If you've [decided on another hostname or path-prefix](#adjusting-the-etherpad-url-optional) (e.g. `https://matrix.example.com/etherpad`), adjust these URLs accordingly before using it. -### Managing / Deleting old pads - -If you want to manage and remove old unused pads from Etherpad, you will first need to create the Etherpad admin user as described above. - -After logging in to the admin web UI, go to the plugin manager page, and install the `adminpads2` plugin. - -Once the plugin is installed, you should have a "Manage pads" section in the UI. +💡 For more information about usage, take a look at [this section](https://github.com/mother-of-all-self-hosting/ansible-role-etherpad/blob/main/docs/configuring-etherpad.md#usage) on the role's document. ### Integrating a Etherpad widget in a room @@ -120,16 +92,4 @@ To integrate a standalone Etherpad in a room, create your pad by visiting `https ## Troubleshooting -As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-etherpad`. - -### Increase logging verbosity - -The default logging level for this component is `WARN`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook: - -```yaml -# Valid values: ERROR, WARN, INFO, DEBUG -etherpad_configuration_extension_json: | - { - "loglevel": "DEBUG", - } -``` +See [this section](https://github.com/mother-of-all-self-hosting/ansible-role-etherpad/blob/main/docs/configuring-etherpad.md#troubleshooting) on the role's document for details. From 39f0239be23a982bf6105b2cf067b8c4c2a3fa58 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 14 Feb 2025 17:34:01 +0900 Subject: [PATCH 340/841] Update docs/configuring-playbook-jitsi.md: add the copyright header Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-jitsi.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/docs/configuring-playbook-jitsi.md b/docs/configuring-playbook-jitsi.md index 48c7516c7..280f85d3c 100644 --- a/docs/configuring-playbook-jitsi.md +++ b/docs/configuring-playbook-jitsi.md @@ -1,3 +1,19 @@ + + # Setting up the Jitsi video-conferencing platform (optional) The playbook can install and configure the [Jitsi](https://jitsi.org/) video-conferencing platform for you. From 541b46cf8fba802f3e714adf6ea2a1d1c160c42f Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 15 Feb 2025 16:34:42 +0900 Subject: [PATCH 341/841] Add the comment block around the variable Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-etherpad.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/configuring-playbook-etherpad.md b/docs/configuring-playbook-etherpad.md index 79c1273fc..772e37e97 100644 --- a/docs/configuring-playbook-etherpad.md +++ b/docs/configuring-playbook-etherpad.md @@ -31,7 +31,19 @@ When setting, replace `example.com` with your own. To enable Etherpad, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: ```yaml +######################################################################## +# # +# etherpad # +# # +######################################################################## + etherpad_enabled: true + +######################################################################## +# # +# /etherpad # +# # +######################################################################## ``` As the most of the necessary settings for the role have been taken care of by the playbook, you can enable Etherpad on your Matrix server with this minimum configuration. From 91d991cac6d497f0383a31a2c0e760953716b427 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 15 Feb 2025 16:27:39 +0900 Subject: [PATCH 342/841] Add a section for creating admin user Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-etherpad.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/docs/configuring-playbook-etherpad.md b/docs/configuring-playbook-etherpad.md index 772e37e97..ad55d3b9c 100644 --- a/docs/configuring-playbook-etherpad.md +++ b/docs/configuring-playbook-etherpad.md @@ -48,10 +48,18 @@ etherpad_enabled: true As the most of the necessary settings for the role have been taken care of by the playbook, you can enable Etherpad on your Matrix server with this minimum configuration. -For details about configuring Etherpad per your preference (such as [enabling the admin web UI](https://github.com/mother-of-all-self-hosting/ansible-role-etherpad/blob/main/docs/configuring-etherpad.md#enable-admin-web-ui-optional)), you can check them via: +For details about configuring Etherpad per your preference, you can check them via: - [the role's document on the MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting/ansible-role-etherpad/blob/main/docs/configuring-etherpad.md) - `roles/galaxy/etherpad/docs/configuring-etherpad.md` locally, if you have fetched the Ansible roles +### Create admin user (optional) + +You probably might want to enable authentication to disallow anonymous access to your Etherpad. + +It is possible to enable HTTP basic authentication by **creating an admin user** with `etherpad_admin_username` and `etherpad_admin_password` variables. The admin user account is also used by plugins for authentication and authorization. + +See [this section](https://github.com/mother-of-all-self-hosting/ansible-role-etherpad/blob/main/docs/configuring-etherpad.md#create-admin-user-optional) on the role's document for details about how to create the admin user. + ### Adjusting the Etherpad URL (optional) By tweaking the `etherpad_hostname` and `etherpad_path_prefix` variables, you can easily make the service available at a **different hostname and/or path** than the default one. From afb97e18ac3595753f6948fe686b6b10ebf20550 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sun, 16 Feb 2025 12:01:11 +0200 Subject: [PATCH 343/841] Make matrix-coturn role respect `devture_systemd_docker_base_ipv6_enabled` --- roles/custom/matrix-coturn/tasks/setup_install.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/roles/custom/matrix-coturn/tasks/setup_install.yml b/roles/custom/matrix-coturn/tasks/setup_install.yml index 30aa742cd..9349c7be0 100644 --- a/roles/custom/matrix-coturn/tasks/setup_install.yml +++ b/roles/custom/matrix-coturn/tasks/setup_install.yml @@ -97,6 +97,7 @@ - name: Ensure coturn network is created in Docker when: matrix_coturn_container_network not in ['', 'host'] community.docker.docker_network: + enable_ipv6: "{{ devture_systemd_docker_base_ipv6_enabled }}" name: "{{ matrix_coturn_container_network }}" driver: bridge driver_options: "{{ devture_systemd_docker_base_container_networks_driver_options }}" From a2cbaf21f208f0dda16858e9a1c9d42c4ee0a5ce Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sun, 16 Feb 2025 12:02:51 +0200 Subject: [PATCH 344/841] Upgrade exim-relay (v4.98-r0-4-0 -> v4.98-r0-4-1) to make it respect `devture_systemd_docker_base_ipv6_enabled` --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index cc083ba7c..0238d4ef0 100644 --- a/requirements.yml +++ b/requirements.yml @@ -19,7 +19,7 @@ version: v2.2.7-0 name: etherpad - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay.git - version: v4.98-r0-4-0 + version: v4.98-r0-4-1 name: exim_relay - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-grafana.git version: v11.5.1-0 From 9e11da7829fe2b04f521fb5f4a74f5c568b06578 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sun, 16 Feb 2025 12:04:55 +0200 Subject: [PATCH 345/841] Upgrade Valkey (v8.0.1-0 -> v8.0.1-1) to make it respect `devture_systemd_docker_base_ipv6_enabled` --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 0238d4ef0..047dbf3ac 100644 --- a/requirements.yml +++ b/requirements.yml @@ -70,5 +70,5 @@ version: v2.8.3-5 name: traefik_certs_dumper - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-valkey.git - version: v8.0.1-0 + version: v8.0.1-1 name: valkey From a0ae269051c2132f87300f2490671eeb9be68a63 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 16 Feb 2025 18:36:59 +0000 Subject: [PATCH 346/841] Update dock.mau.dev/mautrix/meta Docker tag to v0.4.4 --- .../matrix-bridge-mautrix-meta-instagram/defaults/main.yml | 2 +- .../matrix-bridge-mautrix-meta-messenger/defaults/main.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/custom/matrix-bridge-mautrix-meta-instagram/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-meta-instagram/defaults/main.yml index 848e86bde..a4f6abf90 100644 --- a/roles/custom/matrix-bridge-mautrix-meta-instagram/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-meta-instagram/defaults/main.yml @@ -13,7 +13,7 @@ matrix_mautrix_meta_instagram_enabled: true matrix_mautrix_meta_instagram_identifier: matrix-mautrix-meta-instagram # renovate: datasource=docker depName=dock.mau.dev/mautrix/meta -matrix_mautrix_meta_instagram_version: v0.4.3 +matrix_mautrix_meta_instagram_version: v0.4.4 matrix_mautrix_meta_instagram_base_path: "{{ matrix_base_data_path }}/mautrix-meta-instagram" matrix_mautrix_meta_instagram_config_path: "{{ matrix_mautrix_meta_instagram_base_path }}/config" diff --git a/roles/custom/matrix-bridge-mautrix-meta-messenger/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-meta-messenger/defaults/main.yml index ca951a333..1f4dc54be 100644 --- a/roles/custom/matrix-bridge-mautrix-meta-messenger/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-meta-messenger/defaults/main.yml @@ -13,7 +13,7 @@ matrix_mautrix_meta_messenger_enabled: true matrix_mautrix_meta_messenger_identifier: matrix-mautrix-meta-messenger # renovate: datasource=docker depName=dock.mau.dev/mautrix/meta -matrix_mautrix_meta_messenger_version: v0.4.3 +matrix_mautrix_meta_messenger_version: v0.4.4 matrix_mautrix_meta_messenger_base_path: "{{ matrix_base_data_path }}/mautrix-meta-messenger" matrix_mautrix_meta_messenger_config_path: "{{ matrix_mautrix_meta_messenger_base_path }}/config" From 4a0855db0ad1b43a58dcb93e635177090f09feb1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 16 Feb 2025 18:37:02 +0000 Subject: [PATCH 347/841] Update dock.mau.dev/mautrix/whatsapp Docker tag to v0.11.3 --- roles/custom/matrix-bridge-mautrix-whatsapp/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-bridge-mautrix-whatsapp/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-whatsapp/defaults/main.yml index 88b40dd81..4711262fa 100644 --- a/roles/custom/matrix-bridge-mautrix-whatsapp/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-whatsapp/defaults/main.yml @@ -9,7 +9,7 @@ matrix_mautrix_whatsapp_container_image_self_build_repo: "https://mau.dev/mautri matrix_mautrix_whatsapp_container_image_self_build_branch: "{{ 'master' if matrix_mautrix_whatsapp_version == 'latest' else matrix_mautrix_whatsapp_version }}" # renovate: datasource=docker depName=dock.mau.dev/mautrix/whatsapp -matrix_mautrix_whatsapp_version: v0.11.2 +matrix_mautrix_whatsapp_version: v0.11.3 # See: https://mau.dev/mautrix/whatsapp/container_registry matrix_mautrix_whatsapp_docker_image: "{{ matrix_mautrix_whatsapp_docker_image_name_prefix }}mautrix/whatsapp:{{ matrix_mautrix_whatsapp_version }}" From 9c52331da6574ebdcaebfa896e34249de8aa3d2a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 16 Feb 2025 22:27:19 +0000 Subject: [PATCH 348/841] Update dock.mau.dev/mautrix/signal Docker tag to v0.8.0 --- roles/custom/matrix-bridge-mautrix-signal/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-bridge-mautrix-signal/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-signal/defaults/main.yml index f4e754a41..53b5de4da 100644 --- a/roles/custom/matrix-bridge-mautrix-signal/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-signal/defaults/main.yml @@ -9,7 +9,7 @@ matrix_mautrix_signal_container_image_self_build_repo: "https://mau.dev/mautrix/ matrix_mautrix_signal_container_image_self_build_branch: "{{ 'main' if matrix_mautrix_signal_version == 'latest' else matrix_mautrix_signal_version }}" # renovate: datasource=docker depName=dock.mau.dev/mautrix/signal -matrix_mautrix_signal_version: v0.7.5 +matrix_mautrix_signal_version: v0.8.0 # See: https://mau.dev/mautrix/signal/container_registry matrix_mautrix_signal_docker_image: "{{ matrix_mautrix_signal_docker_image_name_prefix }}mautrix/signal:{{ matrix_mautrix_signal_docker_image_tag }}" From 245192ff7f781532f2a1f02af18879457cea8a0f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 17 Feb 2025 02:56:08 +0000 Subject: [PATCH 349/841] Update ajbura/cinny Docker tag to v4.3.2 --- roles/custom/matrix-client-cinny/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-client-cinny/defaults/main.yml b/roles/custom/matrix-client-cinny/defaults/main.yml index 7016240c4..cae8c5727 100644 --- a/roles/custom/matrix-client-cinny/defaults/main.yml +++ b/roles/custom/matrix-client-cinny/defaults/main.yml @@ -7,7 +7,7 @@ matrix_client_cinny_container_image_self_build: false matrix_client_cinny_container_image_self_build_repo: "https://github.com/ajbura/cinny.git" # renovate: datasource=docker depName=ajbura/cinny -matrix_client_cinny_version: v4.3.0 +matrix_client_cinny_version: v4.3.2 matrix_client_cinny_docker_image: "{{ matrix_client_cinny_docker_image_name_prefix }}ajbura/cinny:{{ matrix_client_cinny_version }}" matrix_client_cinny_docker_image_name_prefix: "{{ 'localhost/' if matrix_client_cinny_container_image_self_build else matrix_container_global_registry_prefix }}" matrix_client_cinny_docker_image_force_pull: "{{ matrix_client_cinny_docker_image.endswith(':latest') }}" From a2111dece7118d38e0bb6c63ae81346717fd52b8 Mon Sep 17 00:00:00 2001 From: Aine <97398200+aine-etke@users.noreply.github.com> Date: Mon, 17 Feb 2025 09:15:15 +0000 Subject: [PATCH 350/841] add FluffyChat (#4068) * add FluffyChat * capitalization * Update group_vars/matrix_servers Co-authored-by: Slavi Pantaleev * fix link in readme --------- Co-authored-by: Slavi Pantaleev --- README.md | 1 + ...figuring-playbook-client-fluffychat-web.md | 59 ++++++++ group_vars/matrix_servers | 33 +++++ roles/custom/matrix-base/defaults/main.yml | 3 + .../defaults/main.yml | 137 ++++++++++++++++++ .../matrix-client-fluffychat/tasks/main.yml | 26 ++++ .../tasks/self_check.yml | 24 +++ .../tasks/setup_install.yml | 70 +++++++++ .../tasks/setup_uninstall.yml | 25 ++++ .../tasks/validate_config.yml | 29 ++++ .../templates/labels.j2 | 46 ++++++ .../matrix-client-fluffychat.service.j2 | 48 ++++++ setup.yml | 1 + 13 files changed, 502 insertions(+) create mode 100644 docs/configuring-playbook-client-fluffychat-web.md create mode 100644 roles/custom/matrix-client-fluffychat/defaults/main.yml create mode 100644 roles/custom/matrix-client-fluffychat/tasks/main.yml create mode 100644 roles/custom/matrix-client-fluffychat/tasks/self_check.yml create mode 100644 roles/custom/matrix-client-fluffychat/tasks/setup_install.yml create mode 100644 roles/custom/matrix-client-fluffychat/tasks/setup_uninstall.yml create mode 100644 roles/custom/matrix-client-fluffychat/tasks/validate_config.yml create mode 100644 roles/custom/matrix-client-fluffychat/templates/labels.j2 create mode 100644 roles/custom/matrix-client-fluffychat/templates/systemd/matrix-client-fluffychat.service.j2 diff --git a/README.md b/README.md index 4fad24e8c..9806e2caf 100644 --- a/README.md +++ b/README.md @@ -65,6 +65,7 @@ Web clients for Matrix that you can host on your own domains. | [Hydrogen](https://github.com/element-hq/hydrogen-web) | ❌ | Lightweight Matrix client with legacy and mobile browser support | [Link](docs/configuring-playbook-client-hydrogen.md) | | [Cinny](https://github.com/ajbura/cinny) | ❌ | Simple, elegant and secure web client | [Link](docs/configuring-playbook-client-cinny.md) | | [SchildiChat Web](https://schildi.chat/) | ❌ | Based on Element Web, with a more traditional instant messaging experience | [Link](docs/configuring-playbook-client-schildichat-web.md) | +| [FluffyChat Web](https://fluffychat.im/) | ❌ | The cutest messenger in Matrix | [Link](docs/configuring-playbook-client-fluffychat-web.md) | ### Server Components diff --git a/docs/configuring-playbook-client-fluffychat-web.md b/docs/configuring-playbook-client-fluffychat-web.md new file mode 100644 index 000000000..cc31bbed5 --- /dev/null +++ b/docs/configuring-playbook-client-fluffychat-web.md @@ -0,0 +1,59 @@ +# Setting up FluffyChat Web (optional) + +The playbook can install and configure the [FluffyChat Web](https://github.com/krille-chan/fluffychat) Matrix client for you. + +FluffyChat Web is a cute messenger for Matrix based. + +💡 **Note**: the latest version of FluffyChat Web is also available on the web, hosted by 3rd parties. If you trust giving your credentials to the following 3rd party Single Page Application, you can consider using it from there: + +- [fluffychat.im](https://fluffychat.im/web), hosted by the [FluffyChat](https://fluffychat.im/) developers + +## Adjusting DNS records + +By default, this playbook installs FluffyChat Web on the `fluffychat.` subdomain (`fluffychat.example.com`) and requires you to create a CNAME record for `fluffychat`, which targets `matrix.example.com`. + +When setting, replace `example.com` with your own. + +## Adjusting the playbook configuration + +To enable FluffyChat Web, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: + +```yaml +matrix_client_fluffychat_enabled: true +``` + +### Adjusting the FluffyChat Web URL (optional) + +By tweaking the `matrix_client_fluffychat_hostname` and `matrix_client_fluffychat_path_prefix` variables, you can easily make the service available at a **different hostname and/or path** than the default one. + +Example additional configuration for your `vars.yml` file: + +```yaml +# Switch to the domain used for Matrix services (`matrix.example.com`), +# so we won't need to add additional DNS records for FluffyChat Web. +matrix_client_fluffychat_hostname: "{{ matrix_server_fqn_matrix }}" + +# Expose under the /fluffychat subpath +matrix_client_fluffychat_path_prefix: /fluffychat +``` + +After changing the domain, **you may need to adjust your DNS** records to point the FluffyChat Web domain to the Matrix server. + +If you've decided to reuse the `matrix.` domain, you won't need to do any extra DNS configuration. + +## Installing + +After configuring the playbook and potentially [adjusting your DNS records](#adjusting-dns-records), run the playbook with [playbook tags](playbook-tags.md) as below: + + +```sh +ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start +``` + +The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` + +`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. + +## Troubleshooting + +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-client-fluffychat`. diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index 516fd6d83..132f6918f 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -376,6 +376,8 @@ devture_systemd_service_manager_services_list_auto: | + ([{'name': 'matrix-client-schildichat.service', 'priority': 2000, 'groups': ['matrix', 'clients', 'schildichat', 'client-schildichat']}] if matrix_client_schildichat_enabled else []) + + ([{'name': 'matrix-client-fluffychat.service', 'priority': 2000, 'groups': ['matrix', 'clients', 'fluffychat', 'client-fluffychat']}] if matrix_client_fluffychat_enabled else []) + + ([{'name': ('matrix-' + matrix_homeserver_implementation + '.service'), 'priority': 1000, 'groups': ['matrix', 'homeservers', matrix_homeserver_implementation]}] if matrix_homeserver_enabled else []) + ([{'name': 'matrix-corporal.service', 'priority': 1500, 'groups': ['matrix', 'corporal']}] if matrix_corporal_enabled else []) @@ -4524,6 +4526,37 @@ matrix_client_schildichat_jitsi_preferred_domain: "{{ matrix_server_fqn_jitsi if # ###################################################################### +###################################################################### +# +# matrix-client-fluffychat +# +###################################################################### + +matrix_client_fluffychat_enabled: false + +matrix_client_fluffychat_scheme: "{{ 'https' if matrix_playbook_ssl_enabled else 'http' }}" + +matrix_client_fluffychat_container_image_self_build: "{{ matrix_architecture not in ['arm64', 'amd64'] }}" + +matrix_client_fluffychat_container_http_host_bind_port: "{{ (matrix_playbook_service_host_bind_interface_prefix ~ '8770') if matrix_playbook_service_host_bind_interface_prefix else '' }}" + +matrix_client_fluffychat_container_network: "{{ matrix_addons_container_network }}" + +matrix_client_fluffychat_container_additional_networks: "{{ [matrix_playbook_reverse_proxyable_services_additional_network] if (matrix_client_fluffychat_container_labels_traefik_enabled and matrix_playbook_reverse_proxyable_services_additional_network) else [] }}" + +matrix_client_fluffychat_container_labels_traefik_enabled: "{{ matrix_playbook_reverse_proxy_type in ['playbook-managed-traefik', 'other-traefik-container'] }}" +matrix_client_fluffychat_container_labels_traefik_docker_network: "{{ matrix_playbook_reverse_proxyable_services_additional_network }}" +matrix_client_fluffychat_container_labels_traefik_entrypoints: "{{ traefik_entrypoint_primary }}" +matrix_client_fluffychat_container_labels_traefik_tls_certResolver: "{{ traefik_certResolver_primary }}" + +matrix_client_fluffychat_self_check_validate_certificates: "{{ matrix_playbook_ssl_enabled }}" + +###################################################################### +# +# /matrix-client-fluffychat +# +###################################################################### + ###################################################################### # # matrix-synapse diff --git a/roles/custom/matrix-base/defaults/main.yml b/roles/custom/matrix-base/defaults/main.yml index 8dabc239d..f44db0ba6 100644 --- a/roles/custom/matrix-base/defaults/main.yml +++ b/roles/custom/matrix-base/defaults/main.yml @@ -80,6 +80,9 @@ matrix_server_fqn_cinny: "cinny.{{ matrix_domain }}" # This is where you access the SchildiChat Web from (if enabled via matrix_client_schildichat_enabled; disabled by default). matrix_server_fqn_schildichat: "schildichat.{{ matrix_domain }}" +# This is where you access the FluffyChat Web from (if enabled via matrix_client_fluffychat_enabled; disabled by default). +matrix_server_fqn_fluffychat: "fluffychat.{{ matrix_domain }}" + # This is where you access the Buscarron bot from (if enabled via matrix_bot_buscarron_enabled; disabled by default). matrix_server_fqn_buscarron: "buscarron.{{ matrix_domain }}" diff --git a/roles/custom/matrix-client-fluffychat/defaults/main.yml b/roles/custom/matrix-client-fluffychat/defaults/main.yml new file mode 100644 index 000000000..2ba282e9e --- /dev/null +++ b/roles/custom/matrix-client-fluffychat/defaults/main.yml @@ -0,0 +1,137 @@ +--- +# Project source code URL: https://github.com/krille-chan/fluffychat + +matrix_client_fluffychat_enabled: true + +matrix_client_fluffychat_container_image_self_build: false +matrix_client_fluffychat_container_image_self_build_repo: "https://github.com/etkecc/fluffychat-web.git" +matrix_client_fluffychat_container_image_self_build_version: "{{ 'main' if matrix_client_fluffychat_version == 'latest' else matrix_client_fluffychat_version }}" + +# renovate: datasource=docker depName=ghcr.io/etkecc/fluffychat-web +matrix_client_fluffychat_version: v1.24.0 +matrix_client_fluffychat_docker_image: "{{ matrix_client_fluffychat_docker_image_name_prefix }}etkecc/fluffychat-web:{{ matrix_client_fluffychat_version }}" +matrix_client_fluffychat_docker_image_name_prefix: "{{ 'localhost/' if matrix_client_fluffychat_container_image_self_build else 'ghcr.io/' }}" +matrix_client_fluffychat_docker_image_force_pull: "{{ matrix_client_fluffychat_docker_image.endswith(':latest') }}" + +matrix_client_fluffychat_data_path: "{{ matrix_base_data_path }}/client-fluffychat" +matrix_client_fluffychat_container_src_files_path: "{{ matrix_client_fluffychat_data_path }}/docker-src" + +# The base container network +matrix_client_fluffychat_container_network: '' + +# A list of additional container networks that the container would be connected to. +# The role does not create these networks, so make sure they already exist. +# Use this to expose this container to a reverse proxy, which runs in a different container network. +matrix_client_fluffychat_container_additional_networks: [] + +# Controls whether the matrix-client-fluffychat container exposes its HTTP port (tcp/8080 in the container). +# +# Takes an ":" or "" value (e.g. "127.0.0.1:8765"), or empty string to not expose. +matrix_client_fluffychat_container_http_host_bind_port: '' + +# matrix_client_fluffychat_container_labels_traefik_enabled controls whether labels to assist a Traefik reverse-proxy will be attached to the container. +# See `../templates/labels.j2` for details. +# +# To inject your own other container labels, see `matrix_client_fluffychat_container_labels_additional_labels`. +matrix_client_fluffychat_container_labels_traefik_enabled: true +matrix_client_fluffychat_container_labels_traefik_docker_network: "{{ matrix_client_fluffychat_container_network }}" +matrix_client_fluffychat_container_labels_traefik_hostname: "{{ matrix_client_fluffychat_hostname }}" +# The path prefix must either be `/` or not end with a slash (e.g. `/fluffychat`). +matrix_client_fluffychat_container_labels_traefik_path_prefix: "{{ matrix_client_fluffychat_path_prefix }}" +matrix_client_fluffychat_container_labels_traefik_rule: "Host(`{{ matrix_client_fluffychat_container_labels_traefik_hostname }}`){% if matrix_client_fluffychat_container_labels_traefik_path_prefix != '/' %} && PathPrefix(`{{ matrix_client_fluffychat_container_labels_traefik_path_prefix }}`){% endif %}" +matrix_client_fluffychat_container_labels_traefik_priority: 0 +matrix_client_fluffychat_container_labels_traefik_entrypoints: web-secure +matrix_client_fluffychat_container_labels_traefik_tls: "{{ matrix_client_fluffychat_container_labels_traefik_entrypoints != 'web' }}" +matrix_client_fluffychat_container_labels_traefik_tls_certResolver: default # noqa var-naming + +# Controls which additional headers to attach to all HTTP responses. +# To add your own headers, use `matrix_client_fluffychat_container_labels_traefik_additional_response_headers_custom` +matrix_client_fluffychat_container_labels_traefik_additional_response_headers: "{{ matrix_client_fluffychat_container_labels_traefik_additional_response_headers_auto | combine(matrix_client_fluffychat_container_labels_traefik_additional_response_headers_custom) }}" +matrix_client_fluffychat_container_labels_traefik_additional_response_headers_auto: | + {{ + {} + | combine ({'X-XSS-Protection': matrix_client_fluffychat_http_header_xss_protection} if matrix_client_fluffychat_http_header_xss_protection else {}) + | combine ({'X-Frame-Options': matrix_client_fluffychat_http_header_frame_options} if matrix_client_fluffychat_http_header_frame_options else {}) + | combine ({'X-Content-Type-Options': matrix_client_fluffychat_http_header_content_type_options} if matrix_client_fluffychat_http_header_content_type_options else {}) + | combine ({'Content-Security-Policy': matrix_client_fluffychat_http_header_content_security_policy} if matrix_client_fluffychat_http_header_content_security_policy else {}) + | combine ({'Permission-Policy': matrix_client_fluffychat_http_header_content_permission_policy} if matrix_client_fluffychat_http_header_content_permission_policy else {}) + | combine ({'Strict-Transport-Security': matrix_client_fluffychat_http_header_strict_transport_security} if matrix_client_fluffychat_http_header_strict_transport_security and matrix_client_fluffychat_container_labels_traefik_tls else {}) + }} +matrix_client_fluffychat_container_labels_traefik_additional_response_headers_custom: {} + +# matrix_client_fluffychat_container_labels_additional_labels contains a multiline string with additional labels to add to the container label file. +# See `../templates/labels.j2` for details. +# +# Example: +# matrix_client_fluffychat_container_labels_additional_labels: | +# my.label=1 +# another.label="here" +matrix_client_fluffychat_container_labels_additional_labels: '' + +# A list of extra arguments to pass to the container +matrix_client_fluffychat_container_extra_arguments: [] + +# List of systemd services that matrix-client-fluffychat.service depends on +matrix_client_fluffychat_systemd_required_services_list: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}" + +# Specifies the value of the `X-XSS-Protection` header +# Stops pages from loading when they detect reflected cross-site scripting (XSS) attacks. +# +# Learn more about it is here: +# - https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection +# - https://portswigger.net/web-security/cross-site-scripting/reflected +matrix_client_fluffychat_http_header_xss_protection: "1; mode=block" + +# Specifies the value of the `X-Frame-Options` header which controls whether framing can happen. +# See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options +matrix_client_fluffychat_http_header_frame_options: SAMEORIGIN + +# Specifies the value of the `X-Content-Type-Options` header. +# See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options +matrix_client_fluffychat_http_header_content_type_options: nosniff + +# Specifies the value of the `Content-Security-Policy` header. +# See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy +matrix_client_fluffychat_http_header_content_security_policy: frame-ancestors 'self' + +# Specifies the value of the `Permission-Policy` header. +# See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Permission-Policy +matrix_client_fluffychat_http_header_content_permission_policy: "{{ 'interest-cohort=()' if matrix_client_fluffychat_floc_optout_enabled else '' }}" + +# Specifies the value of the `Strict-Transport-Security` header. +# See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security +matrix_client_fluffychat_http_header_strict_transport_security: "max-age=31536000; includeSubDomains{{ '; preload' if matrix_client_fluffychat_hsts_preload_enabled else '' }}" + +# Controls whether to send a "Permissions-Policy interest-cohort=();" header along with all responses +# +# Learn more about what it is here: +# - https://www.eff.org/deeplinks/2021/03/googles-floc-terrible-idea +# - https://paramdeo.com/blog/opting-your-website-out-of-googles-floc-network +# - https://amifloced.org/ +# +# Of course, a better solution is to just stop using browsers (like Chrome), which participate in such tracking practices. +# See: `matrix_client_fluffychat_content_permission_policy` +matrix_client_fluffychat_floc_optout_enabled: true + +# Controls if HSTS preloading is enabled +# +# In its strongest and recommended form, the [HSTS policy](https://www.chromium.org/hsts) includes all subdomains, and +# indicates a willingness to be "preloaded" into browsers: +# `Strict-Transport-Security: max-age=31536000; includeSubDomains; preload` +# For more information visit: +# - https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security +# - https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security +# - https://hstspreload.org/#opt-in +# See: `matrix_client_fluffychat_http_header_strict_transport_security` +matrix_client_fluffychat_hsts_preload_enabled: false + +matrix_client_fluffychat_scheme: https +# The hostname at which FluffyChat Web is served. +matrix_client_fluffychat_hostname: "{{ matrix_server_fqn_fluffychat }}" + +# The path at which FluffyChat Web is exposed. +# This value must either be `/` or not end with a slash (e.g. `/fluffychat`). +matrix_client_fluffychat_path_prefix: / + +# Controls whether the self-check feature should validate SSL certificates. +matrix_client_fluffychat_self_check_validate_certificates: true diff --git a/roles/custom/matrix-client-fluffychat/tasks/main.yml b/roles/custom/matrix-client-fluffychat/tasks/main.yml new file mode 100644 index 000000000..55ca7a933 --- /dev/null +++ b/roles/custom/matrix-client-fluffychat/tasks/main.yml @@ -0,0 +1,26 @@ +--- + +- tags: + - setup-all + - setup-client-fluffychat + - install-all + - install-client-fluffychat + block: + - when: matrix_client_fluffychat_enabled | bool + ansible.builtin.include_tasks: "{{ role_path }}/tasks/validate_config.yml" + + - when: matrix_client_fluffychat_enabled | bool + ansible.builtin.include_tasks: "{{ role_path }}/tasks/setup_install.yml" + +- tags: + - setup-all + - setup-client-fluffychat + block: + - when: not matrix_client_fluffychat_enabled | bool + ansible.builtin.include_tasks: "{{ role_path }}/tasks/setup_uninstall.yml" + +- tags: + - self-check + block: + - when: matrix_client_fluffychat_enabled | bool + ansible.builtin.include_tasks: "{{ role_path }}/tasks/self_check.yml" diff --git a/roles/custom/matrix-client-fluffychat/tasks/self_check.yml b/roles/custom/matrix-client-fluffychat/tasks/self_check.yml new file mode 100644 index 000000000..b0dda25c1 --- /dev/null +++ b/roles/custom/matrix-client-fluffychat/tasks/self_check.yml @@ -0,0 +1,24 @@ +--- + +- ansible.builtin.set_fact: + matrix_client_fluffychat_url_endpoint_public: "{{ matrix_client_fluffychat_scheme }}://{{ matrix_client_fluffychat_hostname }}/" + +- name: Check FluffyChat Web + ansible.builtin.uri: + url: "{{ matrix_client_fluffychat_url_endpoint_public }}" + follow_redirects: none + validate_certs: "{{ matrix_client_fluffychat_self_check_validate_certificates }}" + register: matrix_client_fluffychat_self_check_result + check_mode: false + ignore_errors: true + delegate_to: 127.0.0.1 + become: false + +- name: Fail if FluffyChat Web not working + ansible.builtin.fail: + msg: "Failed checking FluffyChat Web is up at `{{ matrix_server_fqn_fluffychat }}` (checked endpoint: `{{ matrix_client_fluffychat_url_endpoint_public }}`). Is FluffyChat Web running? Is port 443 open in your firewall? Full error: {{ matrix_client_fluffychat_self_check_result }}" + when: "matrix_client_fluffychat_self_check_result.failed or 'json' not in matrix_client_fluffychat_self_check_result" + +- name: Report working FluffyChat Web + ansible.builtin.debug: + msg: "FluffyChat Web at `{{ matrix_server_fqn_fluffychat }}` is working (checked endpoint: `{{ matrix_client_fluffychat_url_endpoint_public }}`)" diff --git a/roles/custom/matrix-client-fluffychat/tasks/setup_install.yml b/roles/custom/matrix-client-fluffychat/tasks/setup_install.yml new file mode 100644 index 000000000..ca5619b51 --- /dev/null +++ b/roles/custom/matrix-client-fluffychat/tasks/setup_install.yml @@ -0,0 +1,70 @@ +--- + +- name: Ensure FluffyChat Web paths exists + ansible.builtin.file: + path: "{{ item.path }}" + state: directory + mode: 0750 + owner: "{{ matrix_user_username }}" + group: "{{ matrix_user_groupname }}" + with_items: + - {path: "{{ matrix_client_fluffychat_data_path }}", when: true} + - {path: "{{ matrix_client_fluffychat_container_src_files_path }}", when: "{{ matrix_client_fluffychat_container_image_self_build }}"} + when: "item.when | bool" + +- name: Ensure FluffyChat Web container image is pulled + community.docker.docker_image: + name: "{{ matrix_client_fluffychat_docker_image }}" + source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}" + force_source: "{{ matrix_client_fluffychat_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" + force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_client_fluffychat_docker_image_force_pull }}" + when: "not matrix_client_fluffychat_container_image_self_build | bool" + register: result + retries: "{{ devture_playbook_help_container_retries_count }}" + delay: "{{ devture_playbook_help_container_retries_delay }}" + until: result is not failed + +- when: "matrix_client_fluffychat_container_image_self_build | bool" + block: + - name: Ensure FluffyChat Web repository is present on self-build + ansible.builtin.git: + repo: "{{ matrix_client_fluffychat_container_image_self_build_repo }}" + dest: "{{ matrix_client_fluffychat_container_src_files_path }}" + version: "{{ matrix_client_fluffychat_container_image_self_build_version }}" + force: "yes" + become: true + become_user: "{{ matrix_user_username }}" + register: matrix_client_fluffychat_git_pull_results + + - name: Ensure FluffyChat Web container image is built + ansible.builtin.command: + cmd: |- + {{ devture_systemd_docker_base_host_command_docker }} buildx build + --tag={{ matrix_client_fluffychat_docker_image }} + --file={{ matrix_client_fluffychat_container_src_files_path }}/Dockerfile + {{ matrix_client_fluffychat_container_src_files_path }} + changed_when: true + +- name: Ensure FluffyChat Web config files installed + ansible.builtin.template: + src: "{{ item.src }}" + dest: "{{ matrix_client_fluffychat_data_path }}/{{ item.name }}" + mode: 0644 + owner: "{{ matrix_user_username }}" + group: "{{ matrix_user_groupname }}" + with_items: + - {src: "{{ role_path }}/templates/labels.j2", name: "labels"} + when: "item.src is not none" + +- name: Ensure FluffyChat Web container network is created + community.general.docker_network: + enable_ipv6: "{{ devture_systemd_docker_base_ipv6_enabled }}" + name: "{{ matrix_client_fluffychat_container_network }}" + driver: bridge + driver_options: "{{ devture_systemd_docker_base_container_networks_driver_options }}" + +- name: Ensure matrix-client-fluffychat.service installed + ansible.builtin.template: + src: "{{ role_path }}/templates/systemd/matrix-client-fluffychat.service.j2" + dest: "{{ devture_systemd_docker_base_systemd_path }}/matrix-client-fluffychat.service" + mode: 0644 diff --git a/roles/custom/matrix-client-fluffychat/tasks/setup_uninstall.yml b/roles/custom/matrix-client-fluffychat/tasks/setup_uninstall.yml new file mode 100644 index 000000000..313489bb5 --- /dev/null +++ b/roles/custom/matrix-client-fluffychat/tasks/setup_uninstall.yml @@ -0,0 +1,25 @@ +--- + +- name: Check existence of matrix-client-fluffychat.service + ansible.builtin.stat: + path: "{{ devture_systemd_docker_base_systemd_path }}/matrix-client-fluffychat.service" + register: matrix_client_fluffychat_service_stat + +- when: matrix_client_fluffychat_service_stat.stat.exists | bool + block: + - name: Ensure matrix-client-fluffychat is stopped + ansible.builtin.service: + name: matrix-client-fluffychat + state: stopped + enabled: false + daemon_reload: true + + - name: Ensure matrix-client-fluffychat.service doesn't exist + ansible.builtin.file: + path: "{{ devture_systemd_docker_base_systemd_path }}/matrix-client-fluffychat.service" + state: absent + + - name: Ensure FluffyChat Web path doesn't exist + ansible.builtin.file: + path: "{{ matrix_client_fluffychat_data_path }}" + state: absent diff --git a/roles/custom/matrix-client-fluffychat/tasks/validate_config.yml b/roles/custom/matrix-client-fluffychat/tasks/validate_config.yml new file mode 100644 index 000000000..063ffa898 --- /dev/null +++ b/roles/custom/matrix-client-fluffychat/tasks/validate_config.yml @@ -0,0 +1,29 @@ +--- + +- name: Fail if required FluffyChat Web settings not defined + ansible.builtin.fail: + msg: > + You need to define a required configuration setting (`{{ item }}`) for using FluffyChat Web. + when: "vars[item] == ''" + with_items: + - matrix_client_fluffychat_container_network + +- when: matrix_client_fluffychat_container_labels_traefik_enabled | bool + block: + - name: Fail if required matrix-client-fluffychat Traefik settings not defined + ansible.builtin.fail: + msg: >- + You need to define a required configuration setting (`{{ item }}`). + when: "vars[item] == ''" + with_items: + - matrix_client_fluffychat_container_labels_traefik_hostname + - matrix_client_fluffychat_container_labels_traefik_path_prefix + + # We ensure it doesn't end with a slash, because we handle both (slash and no-slash). + # Knowing that `matrix_client_fluffychat_container_labels_traefik_path_prefix` does not end with a slash + # ensures we know how to set these routes up without having to do "does it end with a slash" checks elsewhere. + - name: Fail if matrix_client_fluffychat_container_labels_traefik_path_prefix ends with a slash + ansible.builtin.fail: + msg: >- + matrix_client_fluffychat_container_labels_traefik_path_prefix (`{{ matrix_client_fluffychat_container_labels_traefik_path_prefix }}`) must either be `/` or not end with a slash (e.g. `/fluffychat`). + when: "matrix_client_fluffychat_container_labels_traefik_path_prefix != '/' and matrix_client_fluffychat_container_labels_traefik_path_prefix[-1] == '/'" diff --git a/roles/custom/matrix-client-fluffychat/templates/labels.j2 b/roles/custom/matrix-client-fluffychat/templates/labels.j2 new file mode 100644 index 000000000..2f1ea5a87 --- /dev/null +++ b/roles/custom/matrix-client-fluffychat/templates/labels.j2 @@ -0,0 +1,46 @@ +{% if matrix_client_fluffychat_container_labels_traefik_enabled %} +traefik.enable=true + +{% if matrix_client_fluffychat_container_labels_traefik_docker_network %} +traefik.docker.network={{ matrix_client_fluffychat_container_labels_traefik_docker_network }} +{% endif %} + +traefik.http.services.matrix-client-fluffychat.loadbalancer.server.port=8080 + +{% set middlewares = [] %} + +{% if matrix_client_fluffychat_container_labels_traefik_path_prefix != '/' %} +traefik.http.middlewares.matrix-client-fluffychat-slashless-redirect.redirectregex.regex=({{ matrix_client_fluffychat_container_labels_traefik_path_prefix | quote }})$ +traefik.http.middlewares.matrix-client-fluffychat-slashless-redirect.redirectregex.replacement=${1}/ +{% set middlewares = middlewares + ['matrix-client-fluffychat-slashless-redirect'] %} +{% endif %} + +{% if matrix_client_fluffychat_container_labels_traefik_path_prefix != '/' %} +traefik.http.middlewares.matrix-client-fluffychat-strip-prefix.stripprefix.prefixes={{ matrix_client_fluffychat_container_labels_traefik_path_prefix }} +{% set middlewares = middlewares + ['matrix-client-fluffychat-strip-prefix'] %} +{% endif %} + +{% if matrix_client_fluffychat_container_labels_traefik_additional_response_headers.keys() | length > 0 %} +{% for name, value in matrix_client_fluffychat_container_labels_traefik_additional_response_headers.items() %} +traefik.http.middlewares.matrix-client-fluffychat-add-headers.headers.customresponseheaders.{{ name }}={{ value }} +{% endfor %} +{% set middlewares = middlewares + ['matrix-client-fluffychat-add-headers'] %} +{% endif %} + +traefik.http.routers.matrix-client-fluffychat.rule={{ matrix_client_fluffychat_container_labels_traefik_rule }} +{% if matrix_client_fluffychat_container_labels_traefik_priority | int > 0 %} +traefik.http.routers.matrix-client-fluffychat.priority={{ matrix_client_fluffychat_container_labels_traefik_priority }} +{% endif %} +traefik.http.routers.matrix-client-fluffychat.service=matrix-client-fluffychat +{% if middlewares | length > 0 %} +traefik.http.routers.matrix-client-fluffychat.middlewares={{ middlewares | join(',') }} +{% endif %} +traefik.http.routers.matrix-client-fluffychat.entrypoints={{ matrix_client_fluffychat_container_labels_traefik_entrypoints }} +traefik.http.routers.matrix-client-fluffychat.tls={{ matrix_client_fluffychat_container_labels_traefik_tls | to_json }} +{% if matrix_client_fluffychat_container_labels_traefik_tls %} +traefik.http.routers.matrix-client-fluffychat.tls.certResolver={{ matrix_client_fluffychat_container_labels_traefik_tls_certResolver }} +{% endif %} + +{% endif %} + +{{ matrix_client_fluffychat_container_labels_additional_labels }} diff --git a/roles/custom/matrix-client-fluffychat/templates/systemd/matrix-client-fluffychat.service.j2 b/roles/custom/matrix-client-fluffychat/templates/systemd/matrix-client-fluffychat.service.j2 new file mode 100644 index 000000000..5747637e5 --- /dev/null +++ b/roles/custom/matrix-client-fluffychat/templates/systemd/matrix-client-fluffychat.service.j2 @@ -0,0 +1,48 @@ +#jinja2: lstrip_blocks: "True" +[Unit] +Description=Matrix FluffyChat Web server +{% for service in matrix_client_fluffychat_systemd_required_services_list %} +Requires={{ service }} +After={{ service }} +{% endfor %} +DefaultDependencies=no + +[Service] +Type=simple +Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-client-fluffychat 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-client-fluffychat 2>/dev/null || true' + +ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ + --rm \ + --name=matrix-client-fluffychat \ + --log-driver=none \ + --user={{ matrix_user_uid }}:{{ matrix_user_gid }} \ + --cap-drop=ALL \ + --read-only \ + --network={{ matrix_client_fluffychat_container_network }} \ + {% if matrix_client_fluffychat_container_http_host_bind_port %} + -p {{ matrix_client_fluffychat_container_http_host_bind_port }}:8080 \ + {% endif %} + --label-file={{ matrix_client_fluffychat_data_path }}/labels \ + --tmpfs=/tmp:rw,noexec,nosuid,size=10m \ + {% for arg in matrix_client_fluffychat_container_extra_arguments %} + {{ arg }} \ + {% endfor %} + {{ matrix_client_fluffychat_docker_image }} + +{% for network in matrix_client_fluffychat_container_additional_networks %} +ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network connect {{ network }} matrix-client-fluffychat +{% endfor %} + +ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-client-fluffychat + +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-client-fluffychat 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-client-fluffychat 2>/dev/null || true' + +Restart=always +RestartSec=30 +SyslogIdentifier=matrix-client-fluffychat + +[Install] +WantedBy=multi-user.target diff --git a/setup.yml b/setup.yml index 37ae61f26..d65222648 100644 --- a/setup.yml +++ b/setup.yml @@ -117,6 +117,7 @@ - custom/matrix-client-hydrogen - custom/matrix-client-cinny - custom/matrix-client-schildichat + - custom/matrix-client-fluffychat - galaxy/jitsi - custom/matrix-user-verification-service - custom/matrix-ldap-registration-proxy From d6c60fd5385950e38b89e1f9557ee26468d2b067 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Mon, 17 Feb 2025 11:16:38 +0200 Subject: [PATCH 351/841] Split `matrix_client_fluffychat_container_additional_networks` into `_auto` and `_custom` Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/4068 --- group_vars/matrix_servers | 2 +- roles/custom/matrix-client-fluffychat/defaults/main.yml | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index 132f6918f..ac2f386dd 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -4542,7 +4542,7 @@ matrix_client_fluffychat_container_http_host_bind_port: "{{ (matrix_playbook_ser matrix_client_fluffychat_container_network: "{{ matrix_addons_container_network }}" -matrix_client_fluffychat_container_additional_networks: "{{ [matrix_playbook_reverse_proxyable_services_additional_network] if (matrix_client_fluffychat_container_labels_traefik_enabled and matrix_playbook_reverse_proxyable_services_additional_network) else [] }}" +matrix_client_fluffychat_container_additional_networks_auto: "{{ [matrix_playbook_reverse_proxyable_services_additional_network] if (matrix_client_fluffychat_container_labels_traefik_enabled and matrix_playbook_reverse_proxyable_services_additional_network) else [] }}" matrix_client_fluffychat_container_labels_traefik_enabled: "{{ matrix_playbook_reverse_proxy_type in ['playbook-managed-traefik', 'other-traefik-container'] }}" matrix_client_fluffychat_container_labels_traefik_docker_network: "{{ matrix_playbook_reverse_proxyable_services_additional_network }}" diff --git a/roles/custom/matrix-client-fluffychat/defaults/main.yml b/roles/custom/matrix-client-fluffychat/defaults/main.yml index 2ba282e9e..b403ad597 100644 --- a/roles/custom/matrix-client-fluffychat/defaults/main.yml +++ b/roles/custom/matrix-client-fluffychat/defaults/main.yml @@ -22,7 +22,9 @@ matrix_client_fluffychat_container_network: '' # A list of additional container networks that the container would be connected to. # The role does not create these networks, so make sure they already exist. # Use this to expose this container to a reverse proxy, which runs in a different container network. -matrix_client_fluffychat_container_additional_networks: [] +matrix_client_fluffychat_container_additional_networks: "{{ matrix_client_fluffychat_container_additional_networks_auto + matrix_client_fluffychat_container_additional_networks_custom }}" +matrix_client_fluffychat_container_additional_networks_auto: [] +matrix_client_fluffychat_container_additional_networks_custom: [] # Controls whether the matrix-client-fluffychat container exposes its HTTP port (tcp/8080 in the container). # From 76f235f494b842953c9ed6cd9b6f79c9640933a1 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Mon, 17 Feb 2025 11:17:40 +0200 Subject: [PATCH 352/841] Split `matrix_client_fluffychat_systemd_required_services_list` into `_default`, `_auto` and `_custom` Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/4068 --- roles/custom/matrix-client-fluffychat/defaults/main.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/roles/custom/matrix-client-fluffychat/defaults/main.yml b/roles/custom/matrix-client-fluffychat/defaults/main.yml index b403ad597..b0e974e11 100644 --- a/roles/custom/matrix-client-fluffychat/defaults/main.yml +++ b/roles/custom/matrix-client-fluffychat/defaults/main.yml @@ -74,7 +74,10 @@ matrix_client_fluffychat_container_labels_additional_labels: '' matrix_client_fluffychat_container_extra_arguments: [] # List of systemd services that matrix-client-fluffychat.service depends on -matrix_client_fluffychat_systemd_required_services_list: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}" +matrix_client_fluffychat_systemd_required_services_list: "{{ matrix_client_fluffychat_systemd_required_services_list_default + matrix_client_fluffychat_systemd_required_services_list_auto + matrix_client_fluffychat_systemd_required_services_list_custom }}" +matrix_client_fluffychat_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}" +matrix_client_fluffychat_systemd_required_services_list_auto: [] +matrix_client_fluffychat_systemd_required_services_list_custom: [] # Specifies the value of the `X-XSS-Protection` header # Stops pages from loading when they detect reflected cross-site scripting (XSS) attacks. From 6e591da0abd0713b8854cd7ef56076d89aca3f39 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Mon, 17 Feb 2025 11:23:22 +0200 Subject: [PATCH 353/841] Announce FluffyChat Web support Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/4068 --- CHANGELOG.md | 9 +++++++++ docs/configuring-playbook-client-fluffychat-web.md | 2 +- docs/configuring-playbook.md | 3 +++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f850d47e7..85bdaed2e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,12 @@ +# 2025-02-17 + +## FluffyChat Web suport + +Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook now supports [FluffyChat Web](https://github.com/krille-chan/fluffychat) as an additional Matrix client you can self-host. + +To learn more, see our [Setting up FluffyChat Web](docs/configuring-playbook-client-fluffychat-web.md) documentation page. + + # 2025-02-03 ## The mautrix-hangouts bridge has been removed from the playbook diff --git a/docs/configuring-playbook-client-fluffychat-web.md b/docs/configuring-playbook-client-fluffychat-web.md index cc31bbed5..262c31488 100644 --- a/docs/configuring-playbook-client-fluffychat-web.md +++ b/docs/configuring-playbook-client-fluffychat-web.md @@ -2,7 +2,7 @@ The playbook can install and configure the [FluffyChat Web](https://github.com/krille-chan/fluffychat) Matrix client for you. -FluffyChat Web is a cute messenger for Matrix based. +FluffyChat Web is a cute cross-platform (web, iOS, Android) messenger for Matrix written in [Flutter](https://flutter.dev/). 💡 **Note**: the latest version of FluffyChat Web is also available on the web, hosted by 3rd parties. If you trust giving your credentials to the following 3rd party Single Page Application, you can consider using it from there: diff --git a/docs/configuring-playbook.md b/docs/configuring-playbook.md index 31d443616..e43376006 100644 --- a/docs/configuring-playbook.md +++ b/docs/configuring-playbook.md @@ -73,6 +73,9 @@ Web clients for Matrix that you can host on your own domains. - [Setting up SchildiChat Web](configuring-playbook-client-schildichat-web.md), if you've enabled [SchildiChat Web](https://schildi.chat/), a web client based on [Element Web](https://element.io/) with some extras and tweaks +- [Setting up FluffyChat Web](configuring-playbook-client-fluffychat-web.md), if you've enabled [FluffyChat Web](https://github.com/krille-chan/fluffychat), a cute cross-platform messenger (web, iOS, Android) for Matrix written in [Flutter](https://flutter.dev/) + + ### Authentication and user-related Extend and modify how users are authenticated on your homeserver. From 6647e08e6e1d5f05a5cd671dd68de8768625a114 Mon Sep 17 00:00:00 2001 From: Aine Date: Mon, 17 Feb 2025 15:08:00 +0200 Subject: [PATCH 354/841] fix etherpad --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 047dbf3ac..ed9b88a13 100644 --- a/requirements.yml +++ b/requirements.yml @@ -16,7 +16,7 @@ version: 129c8590e106b83e6f4c259649a613c6279e937a name: docker_sdk_for_python - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-etherpad.git - version: v2.2.7-0 + version: v2.2.7-1 name: etherpad - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay.git version: v4.98-r0-4-1 From 6e94f5f1f70d162ae199f3303cef7c07b9ff2d3c Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 17 Feb 2025 23:01:32 +0900 Subject: [PATCH 355/841] Update docs/configuring-playbook-jitsi.md: edit the introduction - Add a link to the role at MASH project and its document: https://github.com/mother-of-all-self-hosting/ansible-role-jitsi Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-jitsi.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/configuring-playbook-jitsi.md b/docs/configuring-playbook-jitsi.md index 280f85d3c..88048dea8 100644 --- a/docs/configuring-playbook-jitsi.md +++ b/docs/configuring-playbook-jitsi.md @@ -20,9 +20,9 @@ The playbook can install and configure the [Jitsi](https://jitsi.org/) video-con Jitsi can not only be integrated with Element clients ([Element Web](configuring-playbook-client-element-web.md)/Desktop, Android and iOS) as a widget, but also be used as standalone web app. -See the project's [documentation](https://jitsi.github.io/handbook/) to learn what it does and why it might be useful to you. - -**Note**: the configuration by the playbook is similar to the one by [docker-jitsi-meet](https://github.com/jitsi/docker-jitsi-meet). You can refer to the official documentation for Docker deployment [here](https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-docker/). +The Ansible role for Jitsi is developed and maintained by [MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi). For details about configuring Jitsi, you can check them via: +- [the role's document at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md) +- `roles/galaxy/jitsi/docs/configuring-jitsi.md` locally, if you have fetched the Ansible roles ## Prerequisites From 26e285e9729fd4ded2a4ab7aef40e46e2c21f07f Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 17 Feb 2025 23:01:58 +0900 Subject: [PATCH 356/841] Update docs/configuring-playbook-etherpad.md: adopt the common introduction - Add links to the role's document: https://github.com/mother-of-all-self-hosting/ansible-role-etherpad/blob/main/docs/configuring-etherpad.md Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-etherpad.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/configuring-playbook-etherpad.md b/docs/configuring-playbook-etherpad.md index ad55d3b9c..632e72661 100644 --- a/docs/configuring-playbook-etherpad.md +++ b/docs/configuring-playbook-etherpad.md @@ -18,7 +18,9 @@ Etherpad is an open source collaborative text editor. It can not only be integra When enabled together with the Jitsi audio/video conferencing system (see [our docs on Jitsi](configuring-playbook-jitsi.md)), it will be made available as an option during the conferences. -This Ansible role for Etherpad is developed and maintained by [MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting/ansible-role-etherpad). +The Ansible role for Etherpad is developed and maintained by [MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting/ansible-role-etherpad). For details about configuring Etherpad, you can check them via: +- [the role's document at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-etherpad/blob/main/docs/configuring-etherpad.md) +- `roles/galaxy/etherpad/docs/configuring-etherpad.md` locally, if you have fetched the Ansible roles ## Adjusting DNS records @@ -48,9 +50,7 @@ etherpad_enabled: true As the most of the necessary settings for the role have been taken care of by the playbook, you can enable Etherpad on your Matrix server with this minimum configuration. -For details about configuring Etherpad per your preference, you can check them via: -- [the role's document on the MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting/ansible-role-etherpad/blob/main/docs/configuring-etherpad.md) -- `roles/galaxy/etherpad/docs/configuring-etherpad.md` locally, if you have fetched the Ansible roles +See the role's document for details about configuring Etherpad per your preference (such as [the name of the instance](https://github.com/mother-of-all-self-hosting/ansible-role-etherpad/blob/main/docs/configuring-etherpad.md#set-the-name-of-the-instance-optional) and [the default pad text](https://github.com/mother-of-all-self-hosting/ansible-role-etherpad/blob/main/docs/configuring-etherpad.md#set-the-default-text-optional)). ### Create admin user (optional) From a86f904baa4254c8c3cb33f17d12cd22e44565ba Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 17 Feb 2025 23:02:07 +0900 Subject: [PATCH 357/841] Update docs for Etherpad and Jitsi: adopt the common description Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-etherpad.md | 2 +- docs/configuring-playbook-jitsi.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/configuring-playbook-etherpad.md b/docs/configuring-playbook-etherpad.md index 632e72661..bde0fb638 100644 --- a/docs/configuring-playbook-etherpad.md +++ b/docs/configuring-playbook-etherpad.md @@ -16,7 +16,7 @@ The playbook can install and configure [Etherpad](https://etherpad.org) for you. Etherpad is an open source collaborative text editor. It can not only be integrated with Element clients ([Element Web](configuring-playbook-client-element-web.md)/Desktop, Android and iOS) as a widget, but also be used as standalone web app. -When enabled together with the Jitsi audio/video conferencing system (see [our docs on Jitsi](configuring-playbook-jitsi.md)), it will be made available as an option during the conferences. +When enabled together with the Jitsi video-conferencing platform (see [our docs on Jitsi](configuring-playbook-jitsi.md)), it will be made available as an option during the conferences. The Ansible role for Etherpad is developed and maintained by [MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting/ansible-role-etherpad). For details about configuring Etherpad, you can check them via: - [the role's document at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-etherpad/blob/main/docs/configuring-etherpad.md) diff --git a/docs/configuring-playbook-jitsi.md b/docs/configuring-playbook-jitsi.md index 88048dea8..e3cf5ade7 100644 --- a/docs/configuring-playbook-jitsi.md +++ b/docs/configuring-playbook-jitsi.md @@ -18,7 +18,7 @@ SPDX-License-Identifier: AGPL-3.0-or-later The playbook can install and configure the [Jitsi](https://jitsi.org/) video-conferencing platform for you. -Jitsi can not only be integrated with Element clients ([Element Web](configuring-playbook-client-element-web.md)/Desktop, Android and iOS) as a widget, but also be used as standalone web app. +Jitsi is an open source video-conferencing platform. It can not only be integrated with Element clients ([Element Web](configuring-playbook-client-element-web.md)/Desktop, Android and iOS) as a widget, but also be used as standalone web app. The Ansible role for Jitsi is developed and maintained by [MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi). For details about configuring Jitsi, you can check them via: - [the role's document at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md) From a9c3db299461044af7470e916d050feb5837e620 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 17 Feb 2025 23:02:15 +0900 Subject: [PATCH 358/841] Update docs/configuring-playbook-jitsi.md: edit the section for prerequisites - Add a link to the handbook: https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-requirements - Add a link to the role's document Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-jitsi.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/docs/configuring-playbook-jitsi.md b/docs/configuring-playbook-jitsi.md index e3cf5ade7..3b2adf9a1 100644 --- a/docs/configuring-playbook-jitsi.md +++ b/docs/configuring-playbook-jitsi.md @@ -26,10 +26,9 @@ The Ansible role for Jitsi is developed and maintained by [MASH (mother-of-all-s ## Prerequisites -You may need to open the following ports to your server: +Before proceeding, make sure to check server's requirements recommended by [the official deployment guide](https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-requirements). -- `4443/tcp` — RTP media fallback over TCP -- `10000/udp` — RTP media over UDP. Depending on your firewall/NAT configuration, incoming RTP packets on port `10000` may have the external IP of your firewall as destination address, due to the usage of STUN in JVB (see [`jitsi_jvb_stun_servers`](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/defaults/main.yml)). +You may need to open some ports to your server, if you use another firewall in front of the server. Refer [the role's document](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#prerequisites) to check which ones to be configured. ## Adjusting DNS records From 0a33e69e56e108c146e4f9a38a6ae842665d16f3 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 17 Feb 2025 23:02:26 +0900 Subject: [PATCH 359/841] Update docs/configuring-playbook-jitsi.md: edit the section for adjusting the playbook configuration - Add the comment blocks around the variable - Add links to the role's document Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-jitsi.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/docs/configuring-playbook-jitsi.md b/docs/configuring-playbook-jitsi.md index 3b2adf9a1..258a14143 100644 --- a/docs/configuring-playbook-jitsi.md +++ b/docs/configuring-playbook-jitsi.md @@ -41,9 +41,25 @@ When setting, replace `example.com` with your own. To enable Jitsi, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: ```yaml +######################################################################## +# # +# jitsi # +# # +######################################################################## + jitsi_enabled: true + +######################################################################## +# # +# /jitsi # +# # +######################################################################## ``` +As the most of the necessary settings for the role have been taken care of by the playbook, you can enable Jitsi on your Matrix server with this minimum configuration. + +See the role's document for details about configuring Jitsi per your preference (such as [authentication and guests mode](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#configure-jitsi-authentication-and-guests-mode-optional) and [the environment variable for running Jitsi in a LAN](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#configure-jvb_advertise_ips-for-running-behind-nat-or-on-a-lan-environment-optional)). + ### Adjusting the Jitsi URL (optional) By tweaking the `jitsi_hostname` variable, you can easily make the service available at a **different hostname** than the default one. From e53056ac4860fb040321682be849a77d753f0f5b Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 17 Feb 2025 23:02:33 +0900 Subject: [PATCH 360/841] Update docs/configuring-playbook-jitsi.md: add a note about the example configuration and the instruction to set up additional JVBs Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-jitsi.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/configuring-playbook-jitsi.md b/docs/configuring-playbook-jitsi.md index 258a14143..9232009d6 100644 --- a/docs/configuring-playbook-jitsi.md +++ b/docs/configuring-playbook-jitsi.md @@ -58,6 +58,8 @@ jitsi_enabled: true As the most of the necessary settings for the role have been taken care of by the playbook, you can enable Jitsi on your Matrix server with this minimum configuration. +However, **since Jitsi's performance heavily depends on server resource (bandwidth, RAM, and CPU), it is recommended to review settings and optimize them as necessary before deployment.** You can check [here](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#example-configurations) for an example set of configurations to set up a Jitsi instance, focusing on performance. If you will host a large conference, you probably might also want to consider to provision additional JVBs ([Jitsi VideoBridge](https://github.com/jitsi/jitsi-videobridge)). See [here](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#set-up-additional-jvbs-for-more-video-conferences-optional) for details about setting them up with the playbook. + See the role's document for details about configuring Jitsi per your preference (such as [authentication and guests mode](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#configure-jitsi-authentication-and-guests-mode-optional) and [the environment variable for running Jitsi in a LAN](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#configure-jvb_advertise_ips-for-running-behind-nat-or-on-a-lan-environment-optional)). ### Adjusting the Jitsi URL (optional) From 2f8152936cbd693344a8a36956e4ca8500ddab7f Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 17 Feb 2025 23:02:38 +0900 Subject: [PATCH 361/841] Update docs/configuring-playbook-jitsi.md: remove the instructions for adjusting the URL in favor of the role's document at the MASH project The document is available at https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/af5b04fc32e79cdcdf091dff993856c14d1e4d70/docs/configuring-jitsi.md - Add an anchor link to the section for setting the hostname on the role's document Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-jitsi.md | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/docs/configuring-playbook-jitsi.md b/docs/configuring-playbook-jitsi.md index 9232009d6..edd4f5e4b 100644 --- a/docs/configuring-playbook-jitsi.md +++ b/docs/configuring-playbook-jitsi.md @@ -60,20 +60,7 @@ As the most of the necessary settings for the role have been taken care of by th However, **since Jitsi's performance heavily depends on server resource (bandwidth, RAM, and CPU), it is recommended to review settings and optimize them as necessary before deployment.** You can check [here](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#example-configurations) for an example set of configurations to set up a Jitsi instance, focusing on performance. If you will host a large conference, you probably might also want to consider to provision additional JVBs ([Jitsi VideoBridge](https://github.com/jitsi/jitsi-videobridge)). See [here](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#set-up-additional-jvbs-for-more-video-conferences-optional) for details about setting them up with the playbook. -See the role's document for details about configuring Jitsi per your preference (such as [authentication and guests mode](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#configure-jitsi-authentication-and-guests-mode-optional) and [the environment variable for running Jitsi in a LAN](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#configure-jvb_advertise_ips-for-running-behind-nat-or-on-a-lan-environment-optional)). - -### Adjusting the Jitsi URL (optional) - -By tweaking the `jitsi_hostname` variable, you can easily make the service available at a **different hostname** than the default one. - -Example additional configuration for your `vars.yml` file: - -```yaml -# Change the default hostname -jitsi_hostname: call.example.com -``` - -After changing the domain, **you may need to adjust your DNS** records to point the Jitsi domain to the Matrix server. +See the role's document for details about configuring Jitsi per your preference (such as setting [a custom hostname](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#set-the-hostname), [authentication and guests mode](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#configure-jitsi-authentication-and-guests-mode-optional), and [the environment variable for running Jitsi in a LAN](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#configure-jvb_advertise_ips-for-running-behind-nat-or-on-a-lan-environment-optional)). ### Configure Jitsi authentication and guests mode (optional) From 7d9f5c594a9f0a497b723da40a35fbd19e5d7901 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 17 Feb 2025 23:02:49 +0900 Subject: [PATCH 362/841] Update docs/configuring-playbook-jitsi.md: create a section for instruction to enable authentication Partially based on https://github.com/mother-of-all-self-hosting/mash-playbook/commit/699b458733b0d890588286a0345b3636c79f7b58 Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-jitsi.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/docs/configuring-playbook-jitsi.md b/docs/configuring-playbook-jitsi.md index edd4f5e4b..689f2d81c 100644 --- a/docs/configuring-playbook-jitsi.md +++ b/docs/configuring-playbook-jitsi.md @@ -60,7 +60,15 @@ As the most of the necessary settings for the role have been taken care of by th However, **since Jitsi's performance heavily depends on server resource (bandwidth, RAM, and CPU), it is recommended to review settings and optimize them as necessary before deployment.** You can check [here](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#example-configurations) for an example set of configurations to set up a Jitsi instance, focusing on performance. If you will host a large conference, you probably might also want to consider to provision additional JVBs ([Jitsi VideoBridge](https://github.com/jitsi/jitsi-videobridge)). See [here](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#set-up-additional-jvbs-for-more-video-conferences-optional) for details about setting them up with the playbook. -See the role's document for details about configuring Jitsi per your preference (such as setting [a custom hostname](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#set-the-hostname), [authentication and guests mode](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#configure-jitsi-authentication-and-guests-mode-optional), and [the environment variable for running Jitsi in a LAN](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#configure-jvb_advertise_ips-for-running-behind-nat-or-on-a-lan-environment-optional)). +See the role's document for details about configuring Jitsi per your preference (such as setting [a custom hostname](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#set-the-hostname) and [the environment variable for running Jitsi in a LAN](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#configure-jvb_advertise_ips-for-running-behind-nat-or-on-a-lan-environment-optional)). + +### Enable authentication and guests mode (optional) + +By default the Jitsi Meet instance **does not require for anyone to log in, and is open to use without an account**. + +If you would like to control who is allowed to start meetings on your instance, you'd need to enable Jitsi's authentication and optionally guests mode. + +See [this section](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#configure-jitsi-authentication-and-guests-mode-optional) on the role's document for details about how to configure the authentication and guests mode. If you want to enable authentication with Matrix OpenID making use of [Matrix User Verification Service (UVS)](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/configuring-playbook-user-verification-service.md), see [here](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#authenticate-using-matrix-openid-auth-type-matrix) for details about how to set it up. ### Configure Jitsi authentication and guests mode (optional) From b14a0f7854bc04c1fb160c335c0c3d582133bd52 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 17 Feb 2025 23:02:54 +0900 Subject: [PATCH 363/841] Update docs/configuring-playbook-jitsi.md: re-add the recommendation of authentication method Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-jitsi.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/configuring-playbook-jitsi.md b/docs/configuring-playbook-jitsi.md index 689f2d81c..e5388c8fc 100644 --- a/docs/configuring-playbook-jitsi.md +++ b/docs/configuring-playbook-jitsi.md @@ -68,7 +68,7 @@ By default the Jitsi Meet instance **does not require for anyone to log in, and If you would like to control who is allowed to start meetings on your instance, you'd need to enable Jitsi's authentication and optionally guests mode. -See [this section](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#configure-jitsi-authentication-and-guests-mode-optional) on the role's document for details about how to configure the authentication and guests mode. If you want to enable authentication with Matrix OpenID making use of [Matrix User Verification Service (UVS)](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/configuring-playbook-user-verification-service.md), see [here](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#authenticate-using-matrix-openid-auth-type-matrix) for details about how to set it up. +See [this section](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#configure-jitsi-authentication-and-guests-mode-optional) on the role's document for details about how to configure the authentication and guests mode. The recommended authentication method is `internal` as it also works in federated rooms. If you want to enable authentication with Matrix OpenID making use of [Matrix User Verification Service (UVS)](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/configuring-playbook-user-verification-service.md), see [here](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#authenticate-using-matrix-openid-auth-type-matrix) for details about how to set it up. ### Configure Jitsi authentication and guests mode (optional) From 31971011dc13593bac99001ffcd7eba3d31ec282 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 17 Feb 2025 23:03:00 +0900 Subject: [PATCH 364/841] Update docs/configuring-playbook-jitsi.md: remove the instructions for other optional configurations in favor of the role's document - The section about enabling Gravater service is not removed as it is specific to configuring Jitsi on a Matrix server. Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-jitsi.md | 157 ----------------------------- 1 file changed, 157 deletions(-) diff --git a/docs/configuring-playbook-jitsi.md b/docs/configuring-playbook-jitsi.md index e5388c8fc..c5ac95746 100644 --- a/docs/configuring-playbook-jitsi.md +++ b/docs/configuring-playbook-jitsi.md @@ -70,102 +70,6 @@ If you would like to control who is allowed to start meetings on your instance, See [this section](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#configure-jitsi-authentication-and-guests-mode-optional) on the role's document for details about how to configure the authentication and guests mode. The recommended authentication method is `internal` as it also works in federated rooms. If you want to enable authentication with Matrix OpenID making use of [Matrix User Verification Service (UVS)](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/configuring-playbook-user-verification-service.md), see [here](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#authenticate-using-matrix-openid-auth-type-matrix) for details about how to set it up. -### Configure Jitsi authentication and guests mode (optional) - -By default the Jitsi instance does not require for anyone to log in, and is open to use without an account. To control who is allowed to start meetings on your Jitsi instance, you'd need to enable Jitsi's authentication and optionally guests mode. - -Authentication type must be one of them: `internal` (default), `jwt`, `matrix` or `ldap`. Currently, only `internal`, `matrix` and `ldap` mechanisms are supported by the [Jitsi role](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi). - -With authentication enabled, all meetings have to be started by a registered user. After the meeting is started by that user, then guests are free to join. If the registered user is not yet present, the guests are put on hold in individual waiting rooms. - -**Note**: authentication is not tested by the playbook's self-checks. We therefore recommend that you would make sure by yourself that authentication is configured properly. To test it, start a meeting at `jitsi.example.com` on your browser. - -#### Authenticate using Jitsi accounts: Auth-Type `internal` (recommended) - -The default authentication mechanism is `internal` auth, which requires a Jitsi account to have been configured. This is a recommended method, as it also works in federated rooms. - -To enable authentication with a Jitsi account, add the following configuration to your `vars.yml` file. Make sure to replace `USERNAME_…` and `PASSWORD_…` with your own values. - -```yaml -jitsi_enable_auth: true -jitsi_enable_guests: true -jitsi_prosody_auth_internal_accounts: - - username: "USERNAME_FOR_THE_FIRST_USER_HERE" - password: "PASSWORD_FOR_THE_FIRST_USER_HERE" - - username: "USERNAME_FOR_THE_SECOND_USER_HERE" - password: "PASSWORD_FOR_THE_SECOND_USER_HERE" -``` - -**Note**: as Jitsi account removal function is not integrated into the playbook, these accounts will not be able to be removed from the Prosody server automatically, even if they are removed from your `vars.yml` file subsequently. - -#### Authenticate using Matrix OpenID: Auth-Type `matrix` - -> [!WARNING] -> This breaks the Jitsi instance on federated rooms probably and does not allow sharing conference links with guests. - -This authentication method requires [Matrix User Verification Service](https://github.com/matrix-org/matrix-user-verification-service), which can be installed using this [playbook](configuring-playbook-user-verification-service.md). It verifies against Matrix openID, and requires a user-verification-service to run. - -To enable authentication with Matrix OpenID, add the following configuration to your `vars.yml` file: - -```yaml -jitsi_enable_auth: true -jitsi_auth_type: matrix -matrix_user_verification_service_enabled: true -``` - -For more information see also [https://github.com/matrix-org/prosody-mod-auth-matrix-user-verification](https://github.com/matrix-org/prosody-mod-auth-matrix-user-verification). - -#### Authenticate using LDAP: Auth-Type `ldap` - -To enable authentication with LDAP, add the following configuration to your `vars.yml` file (adapt to your needs): - -```yaml -jitsi_enable_auth: true -jitsi_auth_type: ldap -jitsi_ldap_url: "ldap://ldap.example.com" -jitsi_ldap_base: "OU=People,DC=example.com" -#jitsi_ldap_binddn: "" -#jitsi_ldap_bindpw: "" -jitsi_ldap_filter: "uid=%u" -jitsi_ldap_auth_method: "bind" -jitsi_ldap_version: "3" -jitsi_ldap_use_tls: true -jitsi_ldap_tls_ciphers: "" -jitsi_ldap_tls_check_peer: true -jitsi_ldap_tls_cacert_file: "/etc/ssl/certs/ca-certificates.crt" -jitsi_ldap_tls_cacert_dir: "/etc/ssl/certs" -jitsi_ldap_start_tls: false -``` - -For more information refer to the [docker-jitsi-meet](https://github.com/jitsi/docker-jitsi-meet#authentication-using-ldap) and the [saslauthd `LDAP_SASLAUTHD`](https://github.com/winlibs/cyrus-sasl/blob/master/saslauthd/LDAP_SASLAUTHD) documentation. - -### Configure `JVB_ADVERTISE_IPS` for running behind NAT or on a LAN environment (optional) - -When running Jitsi in a LAN environment, or on the public Internet via NAT, the `JVB_ADVERTISE_IPS` enviornment variable should be set. - -This variable allows to control which IP addresses the JVB will advertise for WebRTC media traffic. It is necessary to set it regardless of the use of a reverse proxy, since it's the IP address that will receive the media (audio / video) and not HTTP traffic, hence it's oblivious to the reverse proxy. - -If your users are coming in over the Internet (and not over LAN), this will likely be your public IP address. If this is not set up correctly, calls will crash when more than two users join a meeting. - -To set the variable, add the following configuration to your `vars.yml` file. Make sure to replace `LOCAL_IP_ADDRESS_OF_THE_HOST_HERE` with a proper value. - -```yaml -jitsi_jvb_container_extra_arguments: - - '--env "JVB_ADVERTISE_IPS=LOCAL_IP_ADDRESS_OF_THE_HOST_HERE"' -``` - -Check [the official documentation](https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-docker/#running-behind-nat-or-on-a-lan-environment) for more details about it. - -### Set a maximum number of participants on a Jitsi conference (optional) - -You can set a maximum number of participants allowed to join a Jitsi conference. By default the number is not specified. - -To set it, add the following configuration to your `vars.yml` file (adapt to your needs): - -```yaml -jitsi_prosody_max_participants: 4 # example value -``` - ### Enable Gravatar (optional) In the default Jisti Meet configuration, `gravatar.com` is enabled as an avatar service. @@ -181,67 +85,6 @@ jitsi_disable_gravatar: false > [!WARNING] > This will result in third party request leaking data to the Gravatar Service (`gravatar.com`, unless configured otherwise). Besides metadata, the Matrix user_id and possibly the room ID (via `referrer` header) will be also sent to the third party. -### Fine tune Jitsi (optional) - -If you'd like to have Jitsi save up resources, add the following configuration to your `vars.yml` file (adapt to your needs): - -```yaml -jitsi_web_config_resolution_width_ideal_and_max: 480 -jitsi_web_config_resolution_height_ideal_and_max: 240 -jitsi_web_custom_config_extension: | - config.enableLayerSuspension = true; - - config.disableAudioLevels = true; - - config.channelLastN = 4; -``` - -These configurations: - -- **limit the maximum video resolution**, to save up resources on both server and clients -- **suspend unused video layers** until they are requested again, to save up resources on both server and clients. Read more on this feature [here](https://jitsi.org/blog/new-off-stage-layer-suppression-feature/). -- **disable audio levels** to avoid excessive refresh of the client-side page and decrease the CPU consumption involved -- **limit the number of video feeds forwarded to each client**, to save up resources on both server and clients. As clients’ bandwidth and CPU may not bear the load, use this setting to avoid lag and crashes. This feature is available by default on other webconference applications such as Office 365 Teams (the number is limited to 4). Read how it works [here](https://github.com/jitsi/jitsi-videobridge/blob/5ff195985edf46c9399dcf263cb07167f0a2c724/doc/allocation.md). - -### Extending the configuration - -There are some additional things you may wish to configure about the component. - -Take a look at: - -- [Jitsi role](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi)'s [`defaults/main.yml`](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/defaults/main.yml) for some variables that you can customize via your `vars.yml` file. You can override settings (even those that don't have dedicated playbook variables) using these variables: - - `jitsi_web_custom_interface_config_extension`: custom configuration to be appended to `interface_config.js`, passed to Jitsi Web - - `jitsi_web_custom_config_extension`: custom configuration to be injected into `custom-config.js`, passed to Jitsi Web - - `jitsi_jvb_custom_config_extension`: custom configuration to be injected into `custom-sip-communicator.properties`, passed to Jitsi JVB - -### Example configurations - -Here is an example set of configurations for running a Jitsi instance with: - -- authentication using a Jitsi account (username: `US3RNAME`, password: `passw0rd`) -- guests: allowed -- maximum participants: 6 people -- fine tuning with the configurations presented above -- other miscellaneous options (see the official Jitsi documentation [here](https://jitsi.github.io/handbook/docs/dev-guide/dev-guide-configuration) and [here](https://jitsi.github.io/handbook/docs/user-guide/user-guide-advanced)) - -```yaml -jitsi_enabled: true -jitsi_enable_auth: true -jitsi_enable_guests: true -jitsi_prosody_auth_internal_accounts: - - username: "US3RNAME" - password: "passw0rd" -jitsi_prosody_max_participants: 6 -jitsi_web_config_resolution_width_ideal_and_max: 480 -jitsi_web_config_resolution_height_ideal_and_max: 240 -jitsi_web_custom_config_extension: | - config.enableLayerSuspension = true; - config.disableAudioLevels = true; - config.channelLastN = 4; - config.requireDisplayName = true; // force users to set a display name - config.startAudioOnly = true; // start the conference in audio only mode (no video is being received nor sent) -``` - ## Installing After configuring the playbook and potentially [adjusting your DNS records](#adjusting-dns-records), run the playbook with [playbook tags](playbook-tags.md) as below: From de14a55e337d417ae6701eb147edda6865d6bba4 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 17 Feb 2025 23:03:04 +0900 Subject: [PATCH 365/841] Update docs/configuring-playbook-jitsi.md: edit the instruction about enabling Gravatar service Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-jitsi.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/configuring-playbook-jitsi.md b/docs/configuring-playbook-jitsi.md index c5ac95746..b9e7dfe72 100644 --- a/docs/configuring-playbook-jitsi.md +++ b/docs/configuring-playbook-jitsi.md @@ -74,9 +74,9 @@ See [this section](https://github.com/mother-of-all-self-hosting/ansible-role-ji In the default Jisti Meet configuration, `gravatar.com` is enabled as an avatar service. -Since the Element clients send the URL of configured Matrix avatars to the Jitsi instance, our default configuration has disabled the Gravatar service. +Since the Element clients send the URL of configured Matrix avatars to the Jitsi instance, our configuration has disabled the Gravatar service. -To enable the Gravatar service, add the following configuration to your `vars.yml` file: +To enable the Gravatar service nevertheless, add the following configuration to your `vars.yml` file: ```yaml jitsi_disable_gravatar: false From 7aa08149f50d971571fbcad1ba9b828e10e89a01 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 17 Feb 2025 23:03:09 +0900 Subject: [PATCH 366/841] Update docs/configuring-playbook-jitsi.md: copy and edit the section for usage from the Jitsi's role document at the MASH project Based on https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/af5b04fc32e79cdcdf091dff993856c14d1e4d70/docs/configuring-jitsi.md Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-jitsi.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/configuring-playbook-jitsi.md b/docs/configuring-playbook-jitsi.md index b9e7dfe72..ebebd5578 100644 --- a/docs/configuring-playbook-jitsi.md +++ b/docs/configuring-playbook-jitsi.md @@ -104,7 +104,9 @@ You can use the self-hosted Jitsi server in multiple ways: - **by adding a widget to a room via Element Web** (the one configured by the playbook at `https://element.example.com`). Just start a voice or a video call in a room containing more than 2 members and that would create a Jitsi widget which utilizes your self-hosted Jitsi server. -- **directly (without any Matrix integration)**. Just go to `https://jitsi.example.com` +- **directly (without any Matrix integration)**. Just go to `https://jitsi.example.com`, and you can start a videoconference. + +Note that you'll need to log in to your Jitsi's account to start a conference if you have configured authentication with `internal` auth. ### Set up additional JVBs for more video-conferences (optional) From 4403340cef63d0b7401cb7ed716108c567d1cd07 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 17 Feb 2025 23:03:14 +0900 Subject: [PATCH 367/841] Update docs/configuring-playbook-jitsi.md: add a link to the official user guide to the usage section Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-jitsi.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/configuring-playbook-jitsi.md b/docs/configuring-playbook-jitsi.md index ebebd5578..81fa88b16 100644 --- a/docs/configuring-playbook-jitsi.md +++ b/docs/configuring-playbook-jitsi.md @@ -108,6 +108,8 @@ You can use the self-hosted Jitsi server in multiple ways: Note that you'll need to log in to your Jitsi's account to start a conference if you have configured authentication with `internal` auth. +Check [the official user guide](https://jitsi.github.io/handbook/docs/category/user-guide) for details about how to use Jitsi. + ### Set up additional JVBs for more video-conferences (optional) By default, a single JVB ([Jitsi VideoBridge](https://github.com/jitsi/jitsi-videobridge)) is deployed on the same host as the Matrix server. To allow more video-conferences to happen at the same time, you'd need to provision additional JVB services on other hosts. From 61f1357bfc56984d472762bd6da05a9b5b283993 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 17 Feb 2025 23:03:18 +0900 Subject: [PATCH 368/841] Update docs/configuring-playbook-jitsi.md: remove the instruction for setting up additional JVBs in favor of the role's document The instruction is available at https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/af5b04fc32e79cdcdf091dff993856c14d1e4d70/docs/configuring-jitsi.md Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-jitsi.md | 145 ----------------------------- 1 file changed, 145 deletions(-) diff --git a/docs/configuring-playbook-jitsi.md b/docs/configuring-playbook-jitsi.md index 81fa88b16..84288349c 100644 --- a/docs/configuring-playbook-jitsi.md +++ b/docs/configuring-playbook-jitsi.md @@ -110,151 +110,6 @@ Note that you'll need to log in to your Jitsi's account to start a conference if Check [the official user guide](https://jitsi.github.io/handbook/docs/category/user-guide) for details about how to use Jitsi. -### Set up additional JVBs for more video-conferences (optional) - -By default, a single JVB ([Jitsi VideoBridge](https://github.com/jitsi/jitsi-videobridge)) is deployed on the same host as the Matrix server. To allow more video-conferences to happen at the same time, you'd need to provision additional JVB services on other hosts. - -These settings below will allow you to provision those extra JVB instances. The instances will register themselves with the Prosody service, and be available for Jicofo to route conferences too. - -#### Add the `jitsi_jvb_servers` section on `hosts` file - -For additional JVBs, you'd need to add the section titled `jitsi_jvb_servers` on the ansible `hosts` file with the details of the JVB hosts as below: - -```INI -[jitsi_jvb_servers] -jvb-2.example.com ansible_host=192.168.0.2 -``` - -Make sure to replace `jvb-2.example.com` with your hostname for the JVB and `192.168.0.2` with your JVB's external IP address, respectively. - -You could add JVB hosts as many as you would like. When doing so, add lines with the details of them. - -#### Prepare `vars.yml` files for additional JVBs - -If the main server is `matrix.example.com` and the additional JVB instance is going to be deployed at `jvb-2.example.com`, the variables for the latter need to be specified on `vars.yml` in its directory (`inventory/host_vars/jvb-2.example.com`). - -Note that most (if not all) variables are common for both servers. - -If you are setting up multiple JVB instances, you'd need to create `vars.yml` files for each of them too (`inventory/host_vars/jvb-3.example.com/vars.yml`, for example). - -#### Set the server ID to each JVB - -Each JVB requires a server ID to be set, so that it will be uniquely identified. The server ID allows Jitsi to keep track of which conferences are on which JVB. - -The server ID can be set with the variable `jitsi_jvb_server_id`. It will end up as the `JVB_WS_SERVER_ID` environment variables in the JVB docker container. - -To set the server ID to `jvb-2`, add the following configuration to either `hosts` or `vars.yml` files (adapt to your needs). - -- On `hosts`: - - Add `jitsi_jvb_server_id=jvb-2` after your JVB's external IP addresses as below: - - ```INI - [jitsi_jvb_servers] - 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 - ``` - -- On `vars.yml` files: - - ```yaml - jitsi_jvb_server_id: 'jvb-2' - ``` - -Alternatively, you can specify the variable as a parameter to [the ansible command](#run-the-playbook). - -**Note**: the server ID `jvb-1` is reserved for the JVB instance running on the Matrix host, therefore should not be used as the ID of an additional JVB host. - -#### Set colibri WebSocket port - -The additional JVBs will need to expose the colibri WebSocket port. - -To expose the port, add the following configuration to your `vars.yml` files: - -```yaml -jitsi_jvb_container_colibri_ws_host_bind_port: 9090 -``` - -#### Set Prosody XMPP server - -The JVB will also need to know the location of the Prosody XMPP server. - -Similar to the server ID (`jitsi_jvb_server_id`), this can be set with the variable for the JVB by using the variable `jitsi_xmpp_server`. - -##### Set the Matrix domain - -The Jitsi Prosody container is deployed on the Matrix server by default, so the value can be set to the Matrix domain. To set the value, add the following configuration to your `vars.yml` files: - -```yaml -jitsi_xmpp_server: "{{ matrix_domain }}" -``` - -##### Set an IP address of the Matrix server - -Alternatively, the IP address of the Matrix server can be set. This can be useful if you would like to use a private IP address. - -To set the IP address of the Matrix server, add the following configuration to your `vars.yml` files: - -```yaml -jitsi_xmpp_server: "192.168.0.1" -``` - -##### Expose XMPP port - -By default, the Matrix server does not expose the XMPP port (`5222`); only the XMPP container exposes it internally inside the host. This means that the first JVB (which runs on the Matrix server) can reach it but the additional JVBs cannot. Therefore, the XMPP server needs to expose the port, so that the additional JVBs can connect to it. - -To expose the port and have Docker forward the port, add the following configuration to your `vars.yml` files: - -```yaml -jitsi_prosody_container_jvb_host_bind_port: 5222 -``` - -#### Reverse-proxy with Traefik - -To make Traefik reverse-proxy to these additional JVBs, add the following configuration to your main `vars.yml` file (`inventory/host_vars/matrix.example.com/vars.yml`): - -```yaml -# Traefik proxying for additional JVBs. These can't be configured using Docker -# labels, like the first JVB is, because they run on different hosts, so we add -# the necessary configuration to the file provider. -traefik_provider_configuration_extension_yaml: | - http: - routers: - {% for host in groups['jitsi_jvb_servers'] %} - - additional-{{ hostvars[host]['jitsi_jvb_server_id'] }}-router: - entryPoints: - - "{{ traefik_entrypoint_primary }}" - rule: "Host(`{{ jitsi_hostname }}`) && PathPrefix(`/colibri-ws/{{ hostvars[host]['jitsi_jvb_server_id'] }}/`)" - service: additional-{{ hostvars[host]['jitsi_jvb_server_id'] }}-service - {% if traefik_entrypoint_primary != 'web' %} - - tls: - certResolver: "{{ traefik_certResolver_primary }}" - - {% endif %} - - {% endfor %} - - services: - {% for host in groups['jitsi_jvb_servers'] %} - - additional-{{ hostvars[host]['jitsi_jvb_server_id'] }}-service: - loadBalancer: - servers: - - url: "http://{{ host }}:9090/" - - {% endfor %} -``` - -#### Run the playbook - -After configuring `hosts` and `vars.yml` files, run the playbook with [playbook tags](playbook-tags.md) as below: - -```sh -ansible-playbook -i inventory/hosts --limit jitsi_jvb_servers jitsi_jvb.yml --tags=common,setup-additional-jitsi-jvb,start -``` - ## Troubleshooting As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running the commands below: From 3becee78ae8946a7d6ac5909902965575642ccb2 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 17 Feb 2025 23:03:22 +0900 Subject: [PATCH 369/841] Update docs/configuring-playbook-jitsi.md: replace the instruction for troubleshooting with a link to the role's document The instruction is available at https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/af5b04fc32e79cdcdf091dff993856c14d1e4d70/docs/configuring-jitsi.md Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-jitsi.md | 25 +------------------------ 1 file changed, 1 insertion(+), 24 deletions(-) diff --git a/docs/configuring-playbook-jitsi.md b/docs/configuring-playbook-jitsi.md index 84288349c..44700b59f 100644 --- a/docs/configuring-playbook-jitsi.md +++ b/docs/configuring-playbook-jitsi.md @@ -112,27 +112,4 @@ Check [the official user guide](https://jitsi.github.io/handbook/docs/category/u ## Troubleshooting -As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running the commands below: -- `journalctl -fu matrix-jitsi-web` -- `journalctl -fu matrix-jitsi-prosody` -- `journalctl -fu matrix-jitsi-jicofo` -- `journalctl -fu matrix-jitsi-jvb` - -### `Error: Account creation/modification not supported` - -If you get an error like `Error: Account creation/modification not supported` with authentication enabled, it's likely that you had previously installed Jitsi without auth/guest support. - -In this case, you should consider to rebuild your Jitsi installation. - -### Rebuilding your Jitsi installation - -If you ever run into any trouble or if you have changed configuration (`jitsi_*` variables) too much, you can rebuild your Jitsi installation. - -We normally don't recommend manual intervention, but Jitsi services tend to generate a lot of configuration files, and it is often wise to start afresh setting the services up, rather than messing with the existing configuration files. Since not all of those files are managed by Ansible (at least not yet), you may sometimes need to delete them by yourself manually. - -To rebuild your Jitsi configuration, follow the procedure below: - -- run this command locally to stop all Jitsi services: `just run-tags stop-group --extra-vars=group=jitsi` -- log in the server with SSH -- run this command remotely to remove all Jitsi configuration & data: `rm -rf /matrix/jitsi` -- run this command locally to set up Jitsi anew and restart services: `just install-service jitsi` +See [this section](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#troubleshooting) on the role's document for details. From a8c6682333b2d64998aa13386cb50f4572b785b1 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 18 Feb 2025 00:24:16 +0900 Subject: [PATCH 370/841] Apply suggestions from code review Co-authored-by: Slavi Pantaleev --- docs/configuring-playbook-etherpad.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/configuring-playbook-etherpad.md b/docs/configuring-playbook-etherpad.md index bde0fb638..066df3069 100644 --- a/docs/configuring-playbook-etherpad.md +++ b/docs/configuring-playbook-etherpad.md @@ -18,8 +18,8 @@ Etherpad is an open source collaborative text editor. It can not only be integra When enabled together with the Jitsi video-conferencing platform (see [our docs on Jitsi](configuring-playbook-jitsi.md)), it will be made available as an option during the conferences. -The Ansible role for Etherpad is developed and maintained by [MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting/ansible-role-etherpad). For details about configuring Etherpad, you can check them via: -- [the role's document at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-etherpad/blob/main/docs/configuring-etherpad.md) +The Ansible role for Etherpad is developed and maintained by the [MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting/ansible-role-etherpad). For details about configuring Etherpad, you can check them via: +- [the role's documentation at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-etherpad/blob/main/docs/configuring-etherpad.md) - `roles/galaxy/etherpad/docs/configuring-etherpad.md` locally, if you have fetched the Ansible roles ## Adjusting DNS records @@ -50,7 +50,7 @@ etherpad_enabled: true As the most of the necessary settings for the role have been taken care of by the playbook, you can enable Etherpad on your Matrix server with this minimum configuration. -See the role's document for details about configuring Etherpad per your preference (such as [the name of the instance](https://github.com/mother-of-all-self-hosting/ansible-role-etherpad/blob/main/docs/configuring-etherpad.md#set-the-name-of-the-instance-optional) and [the default pad text](https://github.com/mother-of-all-self-hosting/ansible-role-etherpad/blob/main/docs/configuring-etherpad.md#set-the-default-text-optional)). +See the role's documentation for details about configuring Etherpad per your preference (such as [the name of the instance](https://github.com/mother-of-all-self-hosting/ansible-role-etherpad/blob/main/docs/configuring-etherpad.md#set-the-name-of-the-instance-optional) and [the default pad text](https://github.com/mother-of-all-self-hosting/ansible-role-etherpad/blob/main/docs/configuring-etherpad.md#set-the-default-text-optional)). ### Create admin user (optional) From 1693581013d19f654bb68cc87c9a83ffc9f8bb09 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 18 Feb 2025 00:27:01 +0900 Subject: [PATCH 371/841] Change "role's document" to "role's documentation" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-backup-borg.md | 2 +- docs/configuring-playbook-etherpad.md | 6 +++--- docs/configuring-playbook-jitsi.md | 10 +++++----- docs/configuring-playbook-postgres-backup.md | 2 +- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/configuring-playbook-backup-borg.md b/docs/configuring-playbook-backup-borg.md index 135ca8501..1de46a2b7 100644 --- a/docs/configuring-playbook-backup-borg.md +++ b/docs/configuring-playbook-backup-borg.md @@ -15,5 +15,5 @@ The playbook can install and configure [BorgBackup](https://www.borgbackup.org/) BorgBackup is a deduplicating backup program with optional compression and encryption. That means your daily incremental backups can be stored in a fraction of the space and is safe whether you store it at home or on a cloud service. For details about configuring and installing it, you can check them via: -- [the role's document on the MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg/blob/main/docs/configuring-backup-borg.md) +- [the role's documentation on the MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg/blob/main/docs/configuring-backup-borg.md) - `roles/galaxy/backup_borg/docs/configuring-backup-borg.md` locally, if you have fetched the Ansible roles diff --git a/docs/configuring-playbook-etherpad.md b/docs/configuring-playbook-etherpad.md index 066df3069..81374eb4b 100644 --- a/docs/configuring-playbook-etherpad.md +++ b/docs/configuring-playbook-etherpad.md @@ -58,7 +58,7 @@ You probably might want to enable authentication to disallow anonymous access to It is possible to enable HTTP basic authentication by **creating an admin user** with `etherpad_admin_username` and `etherpad_admin_password` variables. The admin user account is also used by plugins for authentication and authorization. -See [this section](https://github.com/mother-of-all-self-hosting/ansible-role-etherpad/blob/main/docs/configuring-etherpad.md#create-admin-user-optional) on the role's document for details about how to create the admin user. +See [this section](https://github.com/mother-of-all-self-hosting/ansible-role-etherpad/blob/main/docs/configuring-etherpad.md#create-admin-user-optional) on the role's documentation for details about how to create the admin user. ### Adjusting the Etherpad URL (optional) @@ -102,7 +102,7 @@ By default, the Etherpad UI should be available at `https://etherpad.example.com If you've [decided on another hostname or path-prefix](#adjusting-the-etherpad-url-optional) (e.g. `https://matrix.example.com/etherpad`), adjust these URLs accordingly before using it. -💡 For more information about usage, take a look at [this section](https://github.com/mother-of-all-self-hosting/ansible-role-etherpad/blob/main/docs/configuring-etherpad.md#usage) on the role's document. +💡 For more information about usage, take a look at [this section](https://github.com/mother-of-all-self-hosting/ansible-role-etherpad/blob/main/docs/configuring-etherpad.md#usage) on the role's documentation. ### Integrating a Etherpad widget in a room @@ -112,4 +112,4 @@ To integrate a standalone Etherpad in a room, create your pad by visiting `https ## Troubleshooting -See [this section](https://github.com/mother-of-all-self-hosting/ansible-role-etherpad/blob/main/docs/configuring-etherpad.md#troubleshooting) on the role's document for details. +See [this section](https://github.com/mother-of-all-self-hosting/ansible-role-etherpad/blob/main/docs/configuring-etherpad.md#troubleshooting) on the role's documentation for details. diff --git a/docs/configuring-playbook-jitsi.md b/docs/configuring-playbook-jitsi.md index 44700b59f..5fc84b2a7 100644 --- a/docs/configuring-playbook-jitsi.md +++ b/docs/configuring-playbook-jitsi.md @@ -21,14 +21,14 @@ The playbook can install and configure the [Jitsi](https://jitsi.org/) video-con Jitsi is an open source video-conferencing platform. It can not only be integrated with Element clients ([Element Web](configuring-playbook-client-element-web.md)/Desktop, Android and iOS) as a widget, but also be used as standalone web app. The Ansible role for Jitsi is developed and maintained by [MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi). For details about configuring Jitsi, you can check them via: -- [the role's document at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md) +- [the role's documentation at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md) - `roles/galaxy/jitsi/docs/configuring-jitsi.md` locally, if you have fetched the Ansible roles ## Prerequisites Before proceeding, make sure to check server's requirements recommended by [the official deployment guide](https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-requirements). -You may need to open some ports to your server, if you use another firewall in front of the server. Refer [the role's document](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#prerequisites) to check which ones to be configured. +You may need to open some ports to your server, if you use another firewall in front of the server. Refer [the role's documentation](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#prerequisites) to check which ones to be configured. ## Adjusting DNS records @@ -60,7 +60,7 @@ As the most of the necessary settings for the role have been taken care of by th However, **since Jitsi's performance heavily depends on server resource (bandwidth, RAM, and CPU), it is recommended to review settings and optimize them as necessary before deployment.** You can check [here](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#example-configurations) for an example set of configurations to set up a Jitsi instance, focusing on performance. If you will host a large conference, you probably might also want to consider to provision additional JVBs ([Jitsi VideoBridge](https://github.com/jitsi/jitsi-videobridge)). See [here](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#set-up-additional-jvbs-for-more-video-conferences-optional) for details about setting them up with the playbook. -See the role's document for details about configuring Jitsi per your preference (such as setting [a custom hostname](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#set-the-hostname) and [the environment variable for running Jitsi in a LAN](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#configure-jvb_advertise_ips-for-running-behind-nat-or-on-a-lan-environment-optional)). +See the role's documentation for details about configuring Jitsi per your preference (such as setting [a custom hostname](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#set-the-hostname) and [the environment variable for running Jitsi in a LAN](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#configure-jvb_advertise_ips-for-running-behind-nat-or-on-a-lan-environment-optional)). ### Enable authentication and guests mode (optional) @@ -68,7 +68,7 @@ By default the Jitsi Meet instance **does not require for anyone to log in, and If you would like to control who is allowed to start meetings on your instance, you'd need to enable Jitsi's authentication and optionally guests mode. -See [this section](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#configure-jitsi-authentication-and-guests-mode-optional) on the role's document for details about how to configure the authentication and guests mode. The recommended authentication method is `internal` as it also works in federated rooms. If you want to enable authentication with Matrix OpenID making use of [Matrix User Verification Service (UVS)](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/configuring-playbook-user-verification-service.md), see [here](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#authenticate-using-matrix-openid-auth-type-matrix) for details about how to set it up. +See [this section](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#configure-jitsi-authentication-and-guests-mode-optional) on the role's documentation for details about how to configure the authentication and guests mode. The recommended authentication method is `internal` as it also works in federated rooms. If you want to enable authentication with Matrix OpenID making use of [Matrix User Verification Service (UVS)](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/configuring-playbook-user-verification-service.md), see [here](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#authenticate-using-matrix-openid-auth-type-matrix) for details about how to set it up. ### Enable Gravatar (optional) @@ -112,4 +112,4 @@ Check [the official user guide](https://jitsi.github.io/handbook/docs/category/u ## Troubleshooting -See [this section](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#troubleshooting) on the role's document for details. +See [this section](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#troubleshooting) on the role's documentation for details. diff --git a/docs/configuring-playbook-postgres-backup.md b/docs/configuring-playbook-postgres-backup.md index 27aafd1ae..24834162d 100644 --- a/docs/configuring-playbook-postgres-backup.md +++ b/docs/configuring-playbook-postgres-backup.md @@ -11,7 +11,7 @@ SPDX-License-Identifier: AGPL-3.0-or-later The playbook can install and configure [docker-postgres-backup-local](https://github.com/prodrigestivill/docker-postgres-backup-local) for you via the [ansible-role-postgres-backup](https://github.com/mother-of-all-self-hosting/ansible-role-postgres-backup) Ansible role. For details about configuring and installing it, you can check them via: -- [the role's document on the MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting/ansible-role-postgres-backup/blob/main/docs/configuring-postgres-backup.md) +- [the role's documentation on the MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting/ansible-role-postgres-backup/blob/main/docs/configuring-postgres-backup.md) - `roles/galaxy/postgres_backup/docs/configuring-postgres-backup.md` locally, if you have fetched the Ansible roles **Note**: for a more complete backup solution (one that includes not only Postgres, but also other configuration/data files), you may wish to look into [BorgBackup](configuring-playbook-backup-borg.md) instead. From cc0811492be3b21da46584294abaa6a1d96af6ec Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 18 Feb 2025 00:33:01 +0900 Subject: [PATCH 372/841] Add links to installing.md Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-backup-borg.md | 2 +- docs/configuring-playbook-etherpad.md | 2 +- docs/configuring-playbook-jitsi.md | 2 +- docs/configuring-playbook-postgres-backup.md | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/configuring-playbook-backup-borg.md b/docs/configuring-playbook-backup-borg.md index 1de46a2b7..dff77045c 100644 --- a/docs/configuring-playbook-backup-borg.md +++ b/docs/configuring-playbook-backup-borg.md @@ -16,4 +16,4 @@ BorgBackup is a deduplicating backup program with optional compression and encry For details about configuring and installing it, you can check them via: - [the role's documentation on the MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg/blob/main/docs/configuring-backup-borg.md) -- `roles/galaxy/backup_borg/docs/configuring-backup-borg.md` locally, if you have fetched the Ansible roles +- `roles/galaxy/backup_borg/docs/configuring-backup-borg.md` locally, if you have [fetched the Ansible roles](installing.md#update-ansible-roles) diff --git a/docs/configuring-playbook-etherpad.md b/docs/configuring-playbook-etherpad.md index 81374eb4b..9ec25739b 100644 --- a/docs/configuring-playbook-etherpad.md +++ b/docs/configuring-playbook-etherpad.md @@ -20,7 +20,7 @@ When enabled together with the Jitsi video-conferencing platform (see [our docs The Ansible role for Etherpad is developed and maintained by the [MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting/ansible-role-etherpad). For details about configuring Etherpad, you can check them via: - [the role's documentation at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-etherpad/blob/main/docs/configuring-etherpad.md) -- `roles/galaxy/etherpad/docs/configuring-etherpad.md` locally, if you have fetched the Ansible roles +- `roles/galaxy/etherpad/docs/configuring-etherpad.md` locally, if you have [fetched the Ansible roles](installing.md#update-ansible-roles) ## Adjusting DNS records diff --git a/docs/configuring-playbook-jitsi.md b/docs/configuring-playbook-jitsi.md index 5fc84b2a7..9bca704d3 100644 --- a/docs/configuring-playbook-jitsi.md +++ b/docs/configuring-playbook-jitsi.md @@ -22,7 +22,7 @@ Jitsi is an open source video-conferencing platform. It can not only be integrat The Ansible role for Jitsi is developed and maintained by [MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi). For details about configuring Jitsi, you can check them via: - [the role's documentation at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md) -- `roles/galaxy/jitsi/docs/configuring-jitsi.md` locally, if you have fetched the Ansible roles +- `roles/galaxy/jitsi/docs/configuring-jitsi.md` locally, if you have [fetched the Ansible roles](installing.md#update-ansible-roles) ## Prerequisites diff --git a/docs/configuring-playbook-postgres-backup.md b/docs/configuring-playbook-postgres-backup.md index 24834162d..4c1897455 100644 --- a/docs/configuring-playbook-postgres-backup.md +++ b/docs/configuring-playbook-postgres-backup.md @@ -12,6 +12,6 @@ The playbook can install and configure [docker-postgres-backup-local](https://gi For details about configuring and installing it, you can check them via: - [the role's documentation on the MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting/ansible-role-postgres-backup/blob/main/docs/configuring-postgres-backup.md) -- `roles/galaxy/postgres_backup/docs/configuring-postgres-backup.md` locally, if you have fetched the Ansible roles +- `roles/galaxy/postgres_backup/docs/configuring-postgres-backup.md` locally, if you have [fetched the Ansible roles](installing.md#update-ansible-roles) **Note**: for a more complete backup solution (one that includes not only Postgres, but also other configuration/data files), you may wish to look into [BorgBackup](configuring-playbook-backup-borg.md) instead. From 4b390bb50a8ae6cc888fe8a341697ccd10091fbd Mon Sep 17 00:00:00 2001 From: Aine Date: Mon, 17 Feb 2025 18:05:35 +0200 Subject: [PATCH 373/841] fix jitsi role --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index ed9b88a13..e8a9f2630 100644 --- a/requirements.yml +++ b/requirements.yml @@ -25,7 +25,7 @@ version: v11.5.1-0 name: grafana - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-jitsi.git - version: v10008-0 + version: v10008-1 name: jitsi - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-ntfy.git version: v2.11.0-1 From ac6fb796321fee9190c50f50a6c4a05f5d510466 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 18 Feb 2025 01:12:21 +0900 Subject: [PATCH 374/841] Update docs for BackupBprg and docker-postgres-backup-local: adopt the common description Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-backup-borg.md | 4 ++-- docs/configuring-playbook-postgres-backup.md | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/configuring-playbook-backup-borg.md b/docs/configuring-playbook-backup-borg.md index dff77045c..c2917199b 100644 --- a/docs/configuring-playbook-backup-borg.md +++ b/docs/configuring-playbook-backup-borg.md @@ -14,6 +14,6 @@ The playbook can install and configure [BorgBackup](https://www.borgbackup.org/) BorgBackup is a deduplicating backup program with optional compression and encryption. That means your daily incremental backups can be stored in a fraction of the space and is safe whether you store it at home or on a cloud service. -For details about configuring and installing it, you can check them via: -- [the role's documentation on the MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg/blob/main/docs/configuring-backup-borg.md) +The Ansible role for BorgBackup is developed and maintained by [MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg). For details about configuring BorgBackup, you can check them via: +- [the role's documentation at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg/blob/main/docs/configuring-backup-borg.md) - `roles/galaxy/backup_borg/docs/configuring-backup-borg.md` locally, if you have [fetched the Ansible roles](installing.md#update-ansible-roles) diff --git a/docs/configuring-playbook-postgres-backup.md b/docs/configuring-playbook-postgres-backup.md index 4c1897455..562ff8cb1 100644 --- a/docs/configuring-playbook-postgres-backup.md +++ b/docs/configuring-playbook-postgres-backup.md @@ -8,10 +8,10 @@ SPDX-License-Identifier: AGPL-3.0-or-later # Setting up Postgres backup (optional) -The playbook can install and configure [docker-postgres-backup-local](https://github.com/prodrigestivill/docker-postgres-backup-local) for you via the [ansible-role-postgres-backup](https://github.com/mother-of-all-self-hosting/ansible-role-postgres-backup) Ansible role. +The playbook can install and configure [docker-postgres-backup-local](https://github.com/prodrigestivill/docker-postgres-backup-local) for you. -For details about configuring and installing it, you can check them via: -- [the role's documentation on the MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting/ansible-role-postgres-backup/blob/main/docs/configuring-postgres-backup.md) +The Ansible role for docker-postgres-backup-local is developed and maintained by [MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting/ansible-role-postgres-backup). For details about configuring docker-postgres-backup-local, you can check them via: +- [the role's documentation at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-postgres-backup/blob/main/docs/configuring-postgres-backup.md) - `roles/galaxy/postgres_backup/docs/configuring-postgres-backup.md` locally, if you have [fetched the Ansible roles](installing.md#update-ansible-roles) **Note**: for a more complete backup solution (one that includes not only Postgres, but also other configuration/data files), you may wish to look into [BorgBackup](configuring-playbook-backup-borg.md) instead. From 9dc9646fe76a59a5821c8b78cf61e3305fa4df83 Mon Sep 17 00:00:00 2001 From: Aine Date: Tue, 18 Feb 2025 10:41:20 +0200 Subject: [PATCH 375/841] Honoroit v0.9.27 --- roles/custom/matrix-bot-honoroit/defaults/main.yml | 5 ++++- roles/custom/matrix-bot-honoroit/templates/env.j2 | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/roles/custom/matrix-bot-honoroit/defaults/main.yml b/roles/custom/matrix-bot-honoroit/defaults/main.yml index 850842db6..5b7720689 100644 --- a/roles/custom/matrix-bot-honoroit/defaults/main.yml +++ b/roles/custom/matrix-bot-honoroit/defaults/main.yml @@ -21,7 +21,7 @@ matrix_bot_honoroit_docker_repo_version: "{{ matrix_bot_honoroit_version }}" matrix_bot_honoroit_docker_src_files_path: "{{ matrix_base_data_path }}/honoroit/docker-src" # renovate: datasource=docker depName=ghcr.io/etkecc/honoroit -matrix_bot_honoroit_version: v0.9.26 +matrix_bot_honoroit_version: v0.9.27 matrix_bot_honoroit_docker_image: "{{ matrix_bot_honoroit_docker_image_name_prefix }}etkecc/honoroit:{{ matrix_bot_honoroit_version }}" matrix_bot_honoroit_docker_image_name_prefix: "{{ 'localhost/' if matrix_bot_honoroit_container_image_self_build else 'ghcr.io/' }}" matrix_bot_honoroit_docker_image_force_pull: "{{ matrix_bot_honoroit_docker_image.endswith(':latest') }}" @@ -178,6 +178,9 @@ matrix_bot_honoroit_cachesize: '' # List of ignored room IDs matrix_bot_honoroit_ignoredrooms: [] +# If enabled, the bot will not send a warning message in an encrypted room +matrix_bot_honoroit_no_encryption_warning: false + # Ignore messages outside of threads matrix_bot_honoroit_ignorenothread: false diff --git a/roles/custom/matrix-bot-honoroit/templates/env.j2 b/roles/custom/matrix-bot-honoroit/templates/env.j2 index e061a3687..abbb66f0f 100644 --- a/roles/custom/matrix-bot-honoroit/templates/env.j2 +++ b/roles/custom/matrix-bot-honoroit/templates/env.j2 @@ -5,6 +5,7 @@ HONOROIT_ROOMID={{ matrix_bot_honoroit_roomid }} HONOROIT_DB_DSN={{ matrix_bot_honoroit_database_connection_string }} HONOROIT_DB_DIALECT={{ matrix_bot_honoroit_database_dialect }} HONOROIT_PREFIX={{ matrix_bot_honoroit_prefix }} +HONOROIT_NOENCRYPTIONWARNING={{ matrix_bot_honoroit_no_encryption_warning }} HONOROIT_AUTH_METRICS_LOGIN={{ matrix_bot_honoroit_auth_metrics_login }} HONOROIT_AUTH_METRICS_PASSWORD={{ matrix_bot_honoroit_auth_metrics_password }} HONOROIT_AUTH_METRICS_IPS={{ matrix_bot_honoroit_auth_metrics_ips | default([]) | join(' ') }} From 7702983d63b044f79cd8ad764c27d17a10a129fa Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 18 Feb 2025 18:18:26 +0900 Subject: [PATCH 376/841] Update jitsi_jvb.yml: replace "Jitsi JVB" to "Jitsi Videobridge (JVB)" Signed-off-by: Suguru Hirahara --- jitsi_jvb.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jitsi_jvb.yml b/jitsi_jvb.yml index 16acd0ee6..33786bebe 100644 --- a/jitsi_jvb.yml +++ b/jitsi_jvb.yml @@ -1,5 +1,5 @@ --- -- name: "Set up additional Jitsi JVB servers" +- name: "Set up additional Jitsi Videobridge (JVB) servers" hosts: "jitsi_jvb_servers" become: true From a3954ec4a4f7bfb0d6a3b346618794900e5bd9fe Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 18 Feb 2025 19:54:07 +0900 Subject: [PATCH 377/841] Update docs linking to the documentation at the MASH project: add emojis to list items Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-backup-borg.md | 4 ++-- docs/configuring-playbook-etherpad.md | 4 ++-- docs/configuring-playbook-jitsi.md | 4 ++-- docs/configuring-playbook-postgres-backup.md | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/configuring-playbook-backup-borg.md b/docs/configuring-playbook-backup-borg.md index c2917199b..eb5a31375 100644 --- a/docs/configuring-playbook-backup-borg.md +++ b/docs/configuring-playbook-backup-borg.md @@ -15,5 +15,5 @@ The playbook can install and configure [BorgBackup](https://www.borgbackup.org/) BorgBackup is a deduplicating backup program with optional compression and encryption. That means your daily incremental backups can be stored in a fraction of the space and is safe whether you store it at home or on a cloud service. The Ansible role for BorgBackup is developed and maintained by [MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg). For details about configuring BorgBackup, you can check them via: -- [the role's documentation at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg/blob/main/docs/configuring-backup-borg.md) -- `roles/galaxy/backup_borg/docs/configuring-backup-borg.md` locally, if you have [fetched the Ansible roles](installing.md#update-ansible-roles) +- 📄 [the role's documentation at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg/blob/main/docs/configuring-backup-borg.md) +- 📁 `roles/galaxy/backup_borg/docs/configuring-backup-borg.md` locally, if you have [fetched the Ansible roles](installing.md#update-ansible-roles) diff --git a/docs/configuring-playbook-etherpad.md b/docs/configuring-playbook-etherpad.md index 9ec25739b..d5da149ad 100644 --- a/docs/configuring-playbook-etherpad.md +++ b/docs/configuring-playbook-etherpad.md @@ -19,8 +19,8 @@ Etherpad is an open source collaborative text editor. It can not only be integra When enabled together with the Jitsi video-conferencing platform (see [our docs on Jitsi](configuring-playbook-jitsi.md)), it will be made available as an option during the conferences. The Ansible role for Etherpad is developed and maintained by the [MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting/ansible-role-etherpad). For details about configuring Etherpad, you can check them via: -- [the role's documentation at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-etherpad/blob/main/docs/configuring-etherpad.md) -- `roles/galaxy/etherpad/docs/configuring-etherpad.md` locally, if you have [fetched the Ansible roles](installing.md#update-ansible-roles) +- 📄 [the role's documentation at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-etherpad/blob/main/docs/configuring-etherpad.md) +- 📁 `roles/galaxy/etherpad/docs/configuring-etherpad.md` locally, if you have [fetched the Ansible roles](installing.md#update-ansible-roles) ## Adjusting DNS records diff --git a/docs/configuring-playbook-jitsi.md b/docs/configuring-playbook-jitsi.md index 9bca704d3..c93216ac6 100644 --- a/docs/configuring-playbook-jitsi.md +++ b/docs/configuring-playbook-jitsi.md @@ -21,8 +21,8 @@ The playbook can install and configure the [Jitsi](https://jitsi.org/) video-con Jitsi is an open source video-conferencing platform. It can not only be integrated with Element clients ([Element Web](configuring-playbook-client-element-web.md)/Desktop, Android and iOS) as a widget, but also be used as standalone web app. The Ansible role for Jitsi is developed and maintained by [MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi). For details about configuring Jitsi, you can check them via: -- [the role's documentation at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md) -- `roles/galaxy/jitsi/docs/configuring-jitsi.md` locally, if you have [fetched the Ansible roles](installing.md#update-ansible-roles) +- 📄 [the role's documentation at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md) +- 📁 `roles/galaxy/jitsi/docs/configuring-jitsi.md` locally, if you have [fetched the Ansible roles](installing.md#update-ansible-roles) ## Prerequisites diff --git a/docs/configuring-playbook-postgres-backup.md b/docs/configuring-playbook-postgres-backup.md index 562ff8cb1..a704b13ae 100644 --- a/docs/configuring-playbook-postgres-backup.md +++ b/docs/configuring-playbook-postgres-backup.md @@ -11,7 +11,7 @@ SPDX-License-Identifier: AGPL-3.0-or-later The playbook can install and configure [docker-postgres-backup-local](https://github.com/prodrigestivill/docker-postgres-backup-local) for you. The Ansible role for docker-postgres-backup-local is developed and maintained by [MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting/ansible-role-postgres-backup). For details about configuring docker-postgres-backup-local, you can check them via: -- [the role's documentation at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-postgres-backup/blob/main/docs/configuring-postgres-backup.md) -- `roles/galaxy/postgres_backup/docs/configuring-postgres-backup.md` locally, if you have [fetched the Ansible roles](installing.md#update-ansible-roles) +- 📄 [the role's documentation at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-postgres-backup/blob/main/docs/configuring-postgres-backup.md) +- 📁 `roles/galaxy/postgres_backup/docs/configuring-postgres-backup.md` locally, if you have [fetched the Ansible roles](installing.md#update-ansible-roles) **Note**: for a more complete backup solution (one that includes not only Postgres, but also other configuration/data files), you may wish to look into [BorgBackup](configuring-playbook-backup-borg.md) instead. From e621b00370648f1fc8f1c53c79c63b564617532e Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 18 Feb 2025 20:48:41 +0900 Subject: [PATCH 378/841] Update docs linking to the MASH project's roles Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-backup-borg.md | 2 +- docs/configuring-playbook-jitsi.md | 2 +- docs/configuring-playbook-postgres-backup.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/configuring-playbook-backup-borg.md b/docs/configuring-playbook-backup-borg.md index eb5a31375..251e81fec 100644 --- a/docs/configuring-playbook-backup-borg.md +++ b/docs/configuring-playbook-backup-borg.md @@ -14,6 +14,6 @@ The playbook can install and configure [BorgBackup](https://www.borgbackup.org/) BorgBackup is a deduplicating backup program with optional compression and encryption. That means your daily incremental backups can be stored in a fraction of the space and is safe whether you store it at home or on a cloud service. -The Ansible role for BorgBackup is developed and maintained by [MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg). For details about configuring BorgBackup, you can check them via: +The Ansible role for BorgBackup is developed and maintained by [the MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg). For details about configuring BorgBackup, you can check them via: - 📄 [the role's documentation at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg/blob/main/docs/configuring-backup-borg.md) - 📁 `roles/galaxy/backup_borg/docs/configuring-backup-borg.md` locally, if you have [fetched the Ansible roles](installing.md#update-ansible-roles) diff --git a/docs/configuring-playbook-jitsi.md b/docs/configuring-playbook-jitsi.md index c93216ac6..9c568ecf5 100644 --- a/docs/configuring-playbook-jitsi.md +++ b/docs/configuring-playbook-jitsi.md @@ -20,7 +20,7 @@ The playbook can install and configure the [Jitsi](https://jitsi.org/) video-con Jitsi is an open source video-conferencing platform. It can not only be integrated with Element clients ([Element Web](configuring-playbook-client-element-web.md)/Desktop, Android and iOS) as a widget, but also be used as standalone web app. -The Ansible role for Jitsi is developed and maintained by [MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi). For details about configuring Jitsi, you can check them via: +The Ansible role for Jitsi is developed and maintained by [the MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi). For details about configuring Jitsi, you can check them via: - 📄 [the role's documentation at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md) - 📁 `roles/galaxy/jitsi/docs/configuring-jitsi.md` locally, if you have [fetched the Ansible roles](installing.md#update-ansible-roles) diff --git a/docs/configuring-playbook-postgres-backup.md b/docs/configuring-playbook-postgres-backup.md index a704b13ae..ffb0ed9fb 100644 --- a/docs/configuring-playbook-postgres-backup.md +++ b/docs/configuring-playbook-postgres-backup.md @@ -10,7 +10,7 @@ SPDX-License-Identifier: AGPL-3.0-or-later The playbook can install and configure [docker-postgres-backup-local](https://github.com/prodrigestivill/docker-postgres-backup-local) for you. -The Ansible role for docker-postgres-backup-local is developed and maintained by [MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting/ansible-role-postgres-backup). For details about configuring docker-postgres-backup-local, you can check them via: +The Ansible role for docker-postgres-backup-local is developed and maintained by [the MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting/ansible-role-postgres-backup). For details about configuring docker-postgres-backup-local, you can check them via: - 📄 [the role's documentation at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-postgres-backup/blob/main/docs/configuring-postgres-backup.md) - 📁 `roles/galaxy/postgres_backup/docs/configuring-postgres-backup.md` locally, if you have [fetched the Ansible roles](installing.md#update-ansible-roles) From 8709981cbef9c4c753eaa67607e411c5eba5f915 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 18 Feb 2025 23:04:55 +0900 Subject: [PATCH 379/841] Update docs linking to the MASH project's roles: replace the paper icon with globe Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-backup-borg.md | 2 +- docs/configuring-playbook-etherpad.md | 2 +- docs/configuring-playbook-jitsi.md | 2 +- docs/configuring-playbook-postgres-backup.md | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/configuring-playbook-backup-borg.md b/docs/configuring-playbook-backup-borg.md index 251e81fec..c382569cc 100644 --- a/docs/configuring-playbook-backup-borg.md +++ b/docs/configuring-playbook-backup-borg.md @@ -15,5 +15,5 @@ The playbook can install and configure [BorgBackup](https://www.borgbackup.org/) BorgBackup is a deduplicating backup program with optional compression and encryption. That means your daily incremental backups can be stored in a fraction of the space and is safe whether you store it at home or on a cloud service. The Ansible role for BorgBackup is developed and maintained by [the MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg). For details about configuring BorgBackup, you can check them via: -- 📄 [the role's documentation at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg/blob/main/docs/configuring-backup-borg.md) +- 🌐 [the role's documentation at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg/blob/main/docs/configuring-backup-borg.md) - 📁 `roles/galaxy/backup_borg/docs/configuring-backup-borg.md` locally, if you have [fetched the Ansible roles](installing.md#update-ansible-roles) diff --git a/docs/configuring-playbook-etherpad.md b/docs/configuring-playbook-etherpad.md index d5da149ad..79601499a 100644 --- a/docs/configuring-playbook-etherpad.md +++ b/docs/configuring-playbook-etherpad.md @@ -19,7 +19,7 @@ Etherpad is an open source collaborative text editor. It can not only be integra When enabled together with the Jitsi video-conferencing platform (see [our docs on Jitsi](configuring-playbook-jitsi.md)), it will be made available as an option during the conferences. The Ansible role for Etherpad is developed and maintained by the [MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting/ansible-role-etherpad). For details about configuring Etherpad, you can check them via: -- 📄 [the role's documentation at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-etherpad/blob/main/docs/configuring-etherpad.md) +- 🌐 [the role's documentation at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-etherpad/blob/main/docs/configuring-etherpad.md) - 📁 `roles/galaxy/etherpad/docs/configuring-etherpad.md` locally, if you have [fetched the Ansible roles](installing.md#update-ansible-roles) ## Adjusting DNS records diff --git a/docs/configuring-playbook-jitsi.md b/docs/configuring-playbook-jitsi.md index 9c568ecf5..af989e38b 100644 --- a/docs/configuring-playbook-jitsi.md +++ b/docs/configuring-playbook-jitsi.md @@ -21,7 +21,7 @@ The playbook can install and configure the [Jitsi](https://jitsi.org/) video-con Jitsi is an open source video-conferencing platform. It can not only be integrated with Element clients ([Element Web](configuring-playbook-client-element-web.md)/Desktop, Android and iOS) as a widget, but also be used as standalone web app. The Ansible role for Jitsi is developed and maintained by [the MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi). For details about configuring Jitsi, you can check them via: -- 📄 [the role's documentation at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md) +- 🌐 [the role's documentation at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md) - 📁 `roles/galaxy/jitsi/docs/configuring-jitsi.md` locally, if you have [fetched the Ansible roles](installing.md#update-ansible-roles) ## Prerequisites diff --git a/docs/configuring-playbook-postgres-backup.md b/docs/configuring-playbook-postgres-backup.md index ffb0ed9fb..710f6853a 100644 --- a/docs/configuring-playbook-postgres-backup.md +++ b/docs/configuring-playbook-postgres-backup.md @@ -11,7 +11,7 @@ SPDX-License-Identifier: AGPL-3.0-or-later The playbook can install and configure [docker-postgres-backup-local](https://github.com/prodrigestivill/docker-postgres-backup-local) for you. The Ansible role for docker-postgres-backup-local is developed and maintained by [the MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting/ansible-role-postgres-backup). For details about configuring docker-postgres-backup-local, you can check them via: -- 📄 [the role's documentation at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-postgres-backup/blob/main/docs/configuring-postgres-backup.md) +- 🌐 [the role's documentation at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-postgres-backup/blob/main/docs/configuring-postgres-backup.md) - 📁 `roles/galaxy/postgres_backup/docs/configuring-postgres-backup.md` locally, if you have [fetched the Ansible roles](installing.md#update-ansible-roles) **Note**: for a more complete backup solution (one that includes not only Postgres, but also other configuration/data files), you may wish to look into [BorgBackup](configuring-playbook-backup-borg.md) instead. From 2f069bfadd72334075cf9476c503aed8580d7c47 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 18 Feb 2025 23:07:00 +0900 Subject: [PATCH 380/841] Update docs linking to the MASH project's roles: add "online" as suffix in comparison to "locally" Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-backup-borg.md | 2 +- docs/configuring-playbook-etherpad.md | 2 +- docs/configuring-playbook-jitsi.md | 2 +- docs/configuring-playbook-postgres-backup.md | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/configuring-playbook-backup-borg.md b/docs/configuring-playbook-backup-borg.md index c382569cc..cef21d45a 100644 --- a/docs/configuring-playbook-backup-borg.md +++ b/docs/configuring-playbook-backup-borg.md @@ -15,5 +15,5 @@ The playbook can install and configure [BorgBackup](https://www.borgbackup.org/) BorgBackup is a deduplicating backup program with optional compression and encryption. That means your daily incremental backups can be stored in a fraction of the space and is safe whether you store it at home or on a cloud service. The Ansible role for BorgBackup is developed and maintained by [the MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg). For details about configuring BorgBackup, you can check them via: -- 🌐 [the role's documentation at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg/blob/main/docs/configuring-backup-borg.md) +- 🌐 [the role's documentation at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg/blob/main/docs/configuring-backup-borg.md) online - 📁 `roles/galaxy/backup_borg/docs/configuring-backup-borg.md` locally, if you have [fetched the Ansible roles](installing.md#update-ansible-roles) diff --git a/docs/configuring-playbook-etherpad.md b/docs/configuring-playbook-etherpad.md index 79601499a..4a9287dd8 100644 --- a/docs/configuring-playbook-etherpad.md +++ b/docs/configuring-playbook-etherpad.md @@ -19,7 +19,7 @@ Etherpad is an open source collaborative text editor. It can not only be integra When enabled together with the Jitsi video-conferencing platform (see [our docs on Jitsi](configuring-playbook-jitsi.md)), it will be made available as an option during the conferences. The Ansible role for Etherpad is developed and maintained by the [MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting/ansible-role-etherpad). For details about configuring Etherpad, you can check them via: -- 🌐 [the role's documentation at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-etherpad/blob/main/docs/configuring-etherpad.md) +- 🌐 [the role's documentation at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-etherpad/blob/main/docs/configuring-etherpad.md) online - 📁 `roles/galaxy/etherpad/docs/configuring-etherpad.md` locally, if you have [fetched the Ansible roles](installing.md#update-ansible-roles) ## Adjusting DNS records diff --git a/docs/configuring-playbook-jitsi.md b/docs/configuring-playbook-jitsi.md index af989e38b..7f4eaa535 100644 --- a/docs/configuring-playbook-jitsi.md +++ b/docs/configuring-playbook-jitsi.md @@ -21,7 +21,7 @@ The playbook can install and configure the [Jitsi](https://jitsi.org/) video-con Jitsi is an open source video-conferencing platform. It can not only be integrated with Element clients ([Element Web](configuring-playbook-client-element-web.md)/Desktop, Android and iOS) as a widget, but also be used as standalone web app. The Ansible role for Jitsi is developed and maintained by [the MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi). For details about configuring Jitsi, you can check them via: -- 🌐 [the role's documentation at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md) +- 🌐 [the role's documentation at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md) online - 📁 `roles/galaxy/jitsi/docs/configuring-jitsi.md` locally, if you have [fetched the Ansible roles](installing.md#update-ansible-roles) ## Prerequisites diff --git a/docs/configuring-playbook-postgres-backup.md b/docs/configuring-playbook-postgres-backup.md index 710f6853a..08aa8ef71 100644 --- a/docs/configuring-playbook-postgres-backup.md +++ b/docs/configuring-playbook-postgres-backup.md @@ -11,7 +11,7 @@ SPDX-License-Identifier: AGPL-3.0-or-later The playbook can install and configure [docker-postgres-backup-local](https://github.com/prodrigestivill/docker-postgres-backup-local) for you. The Ansible role for docker-postgres-backup-local is developed and maintained by [the MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting/ansible-role-postgres-backup). For details about configuring docker-postgres-backup-local, you can check them via: -- 🌐 [the role's documentation at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-postgres-backup/blob/main/docs/configuring-postgres-backup.md) +- 🌐 [the role's documentation at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-postgres-backup/blob/main/docs/configuring-postgres-backup.md) online - 📁 `roles/galaxy/postgres_backup/docs/configuring-postgres-backup.md` locally, if you have [fetched the Ansible roles](installing.md#update-ansible-roles) **Note**: for a more complete backup solution (one that includes not only Postgres, but also other configuration/data files), you may wish to look into [BorgBackup](configuring-playbook-backup-borg.md) instead. From f798ec81e83ff1d1498f1953a426c2ed97ed4005 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Tue, 18 Feb 2025 21:00:55 +0200 Subject: [PATCH 381/841] Upgrade matrix-authentication-service (0.13.0 -> 0.14.0) and mark matrix-reminder-bot's usage with it as fixed --- roles/custom/matrix-authentication-service/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-authentication-service/defaults/main.yml b/roles/custom/matrix-authentication-service/defaults/main.yml index 2936d313f..a0a06eb4b 100644 --- a/roles/custom/matrix-authentication-service/defaults/main.yml +++ b/roles/custom/matrix-authentication-service/defaults/main.yml @@ -17,7 +17,7 @@ matrix_authentication_service_container_repo_version: "{{ 'main' if matrix_authe matrix_authentication_service_container_src_files_path: "{{ matrix_base_data_path }}/matrix-authentication-service/container-src" # renovate: datasource=docker depName=ghcr.io/element-hq/matrix-authentication-service -matrix_authentication_service_version: 0.13.0 +matrix_authentication_service_version: 0.14.0 matrix_authentication_service_container_image: "{{ matrix_authentication_service_container_image_name_prefix }}element-hq/matrix-authentication-service:{{ matrix_authentication_service_version }}" matrix_authentication_service_container_image_name_prefix: "{{ 'localhost/' if matrix_authentication_service_container_image_self_build else 'ghcr.io/' }}" matrix_authentication_service_container_image_force_pull: "{{ matrix_authentication_service_container_image.endswith(':latest') }}" From 4e981ed36c520370fb8ce2614c6745fbed5c5715 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Tue, 18 Feb 2025 21:04:09 +0200 Subject: [PATCH 382/841] Mark matrix-reminder-bot's usage with matrix-authentication-service as fixed Fixup for f798ec81e83ff1d1498f1953a426c2ed97ed4005. --- docs/configuring-playbook-matrix-authentication-service.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/docs/configuring-playbook-matrix-authentication-service.md b/docs/configuring-playbook-matrix-authentication-service.md index 0c86096b6..da339f5ed 100644 --- a/docs/configuring-playbook-matrix-authentication-service.md +++ b/docs/configuring-playbook-matrix-authentication-service.md @@ -52,9 +52,6 @@ This section details what you can expect when switching to the Matrix Authentica > cannot initialize matrix bot error="olm account is marked as shared, keys seem to have disappeared from the server" - - [matrix-reminder-bot](./configuring-playbook-bot-matrix-reminder-bot.md) fails to start (see [element-hq/matrix-authentication-service#3439](https://github.com/element-hq/matrix-authentication-service/issues/3439)) - - Other services may be similarly affected. This list is not exhaustive. - - ❌ **Encrypted appservices** do not work yet (related to [MSC4190](https://github.com/matrix-org/matrix-spec-proposals/pull/4190) and [PR 17705 for Synapse](https://github.com/element-hq/synapse/pull/17705)), so all bridges/bots that rely on encryption will fail to start (see [this issue](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3658) for Hookshot). You can use these bridges/bots only if you **keep end-to-bridge encryption disabled** (which is the default setting). - ⚠️ [Migrating an existing Synapse homeserver to Matrix Authentication Service](#migrating-an-existing-synapse-homeserver-to-matrix-authentication-service) is **possible**, but requires **some playbook-assisted manual work**. Migration is **reversible with no or minor issues if done quickly enough**, but as users start logging in (creating new login sessions) via the new MAS setup, disabling MAS and reverting back to the Synapse user database will cause these new sessions to break. From 2bca5cb445a99ac2220c518736fdea5c517062c0 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 18 Feb 2025 20:01:35 +0000 Subject: [PATCH 383/841] Update ghcr.io/element-hq/matrix-authentication-service/syn2mas Docker tag to v0.14.0 --- roles/custom/matrix-authentication-service/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-authentication-service/defaults/main.yml b/roles/custom/matrix-authentication-service/defaults/main.yml index a0a06eb4b..33c998a17 100644 --- a/roles/custom/matrix-authentication-service/defaults/main.yml +++ b/roles/custom/matrix-authentication-service/defaults/main.yml @@ -555,7 +555,7 @@ matrix_authentication_service_syn2mas_start_wait_time_seconds: 5 matrix_authentication_service_syn2mas_dry_run: false # renovate: datasource=docker depName=ghcr.io/element-hq/matrix-authentication-service/syn2mas -matrix_authentication_service_syn2mas_version: 0.13.0 +matrix_authentication_service_syn2mas_version: 0.14.0 matrix_authentication_service_syn2mas_container_image: "{{ matrix_authentication_service_container_image_name_prefix }}element-hq/matrix-authentication-service/syn2mas:{{ matrix_authentication_service_syn2mas_version }}" matrix_authentication_service_syn2mas_container_image_name_prefix: "{{ 'localhost/' if matrix_authentication_service_container_image_self_build else 'ghcr.io/' }}" matrix_authentication_service_syn2mas_container_image_force_pull: "{{ matrix_authentication_service_syn2mas_container_image.endswith(':latest') }}" From 53a55cdc4c6889f857c8b7b87da7c28318903cd2 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 18 Feb 2025 20:25:56 +0000 Subject: [PATCH 384/841] Update dependency Sphinx to v8.2.0 --- i18n/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/requirements.txt b/i18n/requirements.txt index 9a2b21645..159799311 100644 --- a/i18n/requirements.txt +++ b/i18n/requirements.txt @@ -19,7 +19,7 @@ PyYAML==6.0.2 requests==2.32.3 setuptools==75.8.0 snowballstemmer==2.2.0 -Sphinx==8.1.3 +Sphinx==8.2.0 sphinx-intl==2.3.1 sphinx-markdown-builder==0.6.8 sphinxcontrib-applehelp==2.0.0 From 20d1352a4965cb63e1b9701517055d70425bae2f Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Wed, 19 Feb 2025 15:11:42 +0900 Subject: [PATCH 385/841] Update docs/configuring-playbook-email.md: add the copyright header Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-email.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/configuring-playbook-email.md b/docs/configuring-playbook-email.md index e3713c142..8968b48f1 100644 --- a/docs/configuring-playbook-email.md +++ b/docs/configuring-playbook-email.md @@ -1,3 +1,12 @@ + + # Adjusting email-sending settings (optional) By default, this playbook sets up an [Exim](https://www.exim.org/) email server through which all Matrix services send emails. From a56b49da03ab24de5736041ec9d92f9e00b43176 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 19 Feb 2025 06:20:40 +0000 Subject: [PATCH 386/841] Update docker.io/metio/matrix-alertmanager-receiver Docker tag to v2025.2.19 --- roles/custom/matrix-alertmanager-receiver/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-alertmanager-receiver/defaults/main.yml b/roles/custom/matrix-alertmanager-receiver/defaults/main.yml index ea631464f..561ca62a2 100644 --- a/roles/custom/matrix-alertmanager-receiver/defaults/main.yml +++ b/roles/custom/matrix-alertmanager-receiver/defaults/main.yml @@ -6,7 +6,7 @@ matrix_alertmanager_receiver_enabled: true # renovate: datasource=docker depName=docker.io/metio/matrix-alertmanager-receiver -matrix_alertmanager_receiver_version: 2025.2.9 +matrix_alertmanager_receiver_version: 2025.2.19 matrix_alertmanager_receiver_scheme: https From ac26cc1cb0d6423b751b74ddb06a8c793f63dd56 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Wed, 19 Feb 2025 11:48:12 +0200 Subject: [PATCH 387/841] Allow STUN/TURN exposure over TCP/UDP to be controlled separately & disable STUN over UDP by default --- CHANGELOG.md | 22 ++++++++++++++++ docs/prerequisites.md | 7 +++--- group_vars/matrix_servers | 4 +-- roles/custom/matrix-coturn/defaults/main.yml | 25 ++++++++++++++++--- .../matrix-coturn/tasks/validate_config.yml | 2 ++ .../systemd/matrix-coturn.service.j2 | 16 +++++++----- 6 files changed, 60 insertions(+), 16 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 85bdaed2e..c27faf943 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,25 @@ +# 2025-02-19 + +## The playbook now defaults to exposing the Coturn STUN port (3478) only over TCP + +We've previously done some work to **decrease the severity** of DDoS amplification attacks done through the [Coturn](./docs/configuring-playbook-turn.md)'s STUN port (2.8x -> 1.6x) as reported in [coturn: Lower DDoS amplification/reflection factor from 2.8 to 1.6 #2592](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/2592). + +To **completely eliminate the problem** of DDoS amplification attacks done through the [Coturn](./docs/configuring-playbook-turn.md) STUN port even further (read more about this in [this article](https://stormwall.network/resources/blog/protect-against-ddos-based-on-stun-exploit)), the playbook now **disables exposure of the Coturn STUN port (`3478`) over UDP**. This is a bit heavy-handed, but is probably the only way to completely eliminate the problem. + +The playbook now **only exposes the Coturn STUN port (`3478`) over TCP by default**. + +💡 Users may wish to further remove the (now unnnecessary) firewall rule allowing access to `3478/udp`. + +If you'd like the Coturn STUN port to be exposed over UDP like before, you can revert to the previous behavior by using the following configuration in your `vars.yml` file: + +```yaml +matrix_coturn_container_stun_plain_host_bind_port_udp: "3478" +``` + +> [!WARNING] +> People running Coturn directly on the `host` network (using `matrix_coturn_container_network: host`) will still have the STUN port exposed over UDP, as port exposure is done directly via Coturn and not via Docker. In such cases, the playbook cannot prevent `3478/udp` port exposure and you'd need to do it in another way (separate firewall rule, etc). + + # 2025-02-17 ## FluffyChat Web suport diff --git a/docs/prerequisites.md b/docs/prerequisites.md index 3bd3da975..94445befe 100644 --- a/docs/prerequisites.md +++ b/docs/prerequisites.md @@ -48,10 +48,9 @@ We will be using `example.com` as the domain in the following instruction. Pleas - `80/tcp`: HTTP webserver - `443/tcp` and `443/udp`: HTTPS webserver - - `3478/tcp`: TURN over TCP (used by coturn) - - `3478/udp`: TURN over UDP (used by coturn) - - `5349/tcp`: TURN over TCP (used by coturn) - - `5349/udp`: TURN over UDP (used by coturn) + - `3478/tcp`: STUN/TURN over TCP (used by [coturn](./docs/configuring-playbook-turn.md)) + - `5349/tcp`: TURN over TCP (used by [coturn](./docs/configuring-playbook-turn.md)) + - `5349/udp`: TURN over UDP (used by [coturn](./docs/configuring-playbook-turn.md)) - `8448/tcp` and `8448/udp`: Matrix Federation API HTTPS webserver. Some components like [Matrix User Verification Service](configuring-playbook-user-verification-service.md#open-matrix-federation-port) require this port to be opened **even with federation disabled**. - the range `49152-49172/udp`: TURN over UDP - potentially some other ports, depending on the additional (non-default) services that you enable in the **configuring the playbook** step (later on). Consult each service's documentation page in `docs/` for that. diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index ac2f386dd..46e08f6a8 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -3615,8 +3615,8 @@ jitsi_web_framing_enabled: true jitsi_turn_credentials: "{{ matrix_coturn_turn_static_auth_secret if (matrix_coturn_enabled and matrix_coturn_authentication_method == 'auth-secret') else '' }}" jitsi_turn_host: "{{ ('turn.' + matrix_server_fqn_matrix) if matrix_coturn_enabled else '' }}" jitsi_turns_host: "{{ ('turn.' + matrix_server_fqn_matrix) if matrix_coturn_enabled else '' }}" -jitsi_turn_port: "{{ matrix_coturn_container_stun_plain_host_bind_port.split(':')[-1] if matrix_coturn_enabled else '' }}" -jitsi_turns_port: "{{ matrix_coturn_container_stun_tls_host_bind_port.split(':')[-1] if matrix_coturn_enabled else '' }}" +jitsi_turn_port: "{{ matrix_coturn_container_stun_plain_host_bind_port_tcp.split(':')[-1] if matrix_coturn_enabled else '' }}" +jitsi_turns_port: "{{ matrix_coturn_container_stun_tls_host_bind_port_tcp.split(':')[-1] if matrix_coturn_enabled else '' }}" # If the self-hosted Etherpad instance is available, it will also show up in Jitsi conferences, # unless explicitly disabled by setting `jitsi_etherpad_enabled` to false. diff --git a/roles/custom/matrix-coturn/defaults/main.yml b/roles/custom/matrix-coturn/defaults/main.yml index 60641c196..78e8e35f9 100644 --- a/roles/custom/matrix-coturn/defaults/main.yml +++ b/roles/custom/matrix-coturn/defaults/main.yml @@ -51,15 +51,32 @@ matrix_coturn_container_additional_volumes: [] # A list of extra arguments to pass to the container matrix_coturn_container_extra_arguments: [] -# Controls whether the coturn container exposes its plain STUN port (tcp/3478 and udp/3478 in the container). +# Controls whether the coturn container exposes its plain STUN port (tcp/3478 in the container) over TCP. # # Takes an ":" or "" value (e.g. "127.0.0.1:3478"), or empty string to not expose. -matrix_coturn_container_stun_plain_host_bind_port: "{{ '3478' if matrix_coturn_container_network != 'host' else '' }}" +matrix_coturn_container_stun_plain_host_bind_port_tcp: "{{ '3478' if matrix_coturn_container_network != 'host' else '' }}" -# Controls whether the coturn container exposes its TLS STUN port (tcp/5349 and udp/5349 in the container). +# Controls whether the coturn container exposes its plain STUN port (udp/3478 in the container) over UDP. +# +# Takes an ":" or "" value (e.g. "127.0.0.1:3478"), or empty string to not expose. +# +# This is not done by default to decrease the risk of DDoS amplification attacks. +# See: https://stormwall.network/resources/blog/protect-against-ddos-based-on-stun-exploit +matrix_coturn_container_stun_plain_host_bind_port_udp: "" + +# Controls whether the coturn container exposes its TLS STUN port (tcp/5349 in the container) over TCP. # # Takes an ":" or "" value (e.g. "127.0.0.1:5349"), or empty string to not expose. -matrix_coturn_container_stun_tls_host_bind_port: "{{ '5349' if matrix_coturn_container_network != 'host' else '' }}" +matrix_coturn_container_stun_tls_host_bind_port_tcp: "{{ '5349' if matrix_coturn_container_network != 'host' else '' }}" + +# Controls whether the coturn container exposes its TLS STUN port (udp/5349 in the container) over UDP. +# +# Takes an ":" or "" value (e.g. "127.0.0.1:5349"), or empty string to not expose. +# +# This is enabled by default, unlike `matrix_coturn_container_stun_plain_host_bind_port_udp`, +# because the risk of DDoS amplification attacks is lower for TLS +# due to the handshake requiring two-way authentication and being generally more expensive. +matrix_coturn_container_stun_tls_host_bind_port_udp: "{{ '5349' if matrix_coturn_container_network != 'host' else '' }}" # Controls whether the coturn container exposes its TURN UDP port range and which interface to do it on. # diff --git a/roles/custom/matrix-coturn/tasks/validate_config.yml b/roles/custom/matrix-coturn/tasks/validate_config.yml index 7fd26e881..a90adb812 100644 --- a/roles/custom/matrix-coturn/tasks/validate_config.yml +++ b/roles/custom/matrix-coturn/tasks/validate_config.yml @@ -8,6 +8,8 @@ when: "item.old in vars" with_items: - {'old': 'matrix_coturn_docker_network', 'new': 'matrix_coturn_container_network'} + - {'old': 'matrix_coturn_container_stun_plain_host_bind_port', 'new': 'superseded by matrix_coturn_container_stun_plain_host_bind_port_tcp and matrix_coturn_container_stun_plain_host_bind_port_udp'} + - {'old': 'matrix_coturn_container_stun_tls_host_bind_port', 'new': 'superseded by matrix_coturn_container_stun_tls_host_bind_port_tcp and matrix_coturn_container_stun_tls_host_bind_port_udp'} - name: Fail if matrix_coturn_authentication_method is invalid ansible.builtin.fail: diff --git a/roles/custom/matrix-coturn/templates/systemd/matrix-coturn.service.j2 b/roles/custom/matrix-coturn/templates/systemd/matrix-coturn.service.j2 index 072975b2d..6d3ffe310 100644 --- a/roles/custom/matrix-coturn/templates/systemd/matrix-coturn.service.j2 +++ b/roles/custom/matrix-coturn/templates/systemd/matrix-coturn.service.j2 @@ -24,13 +24,17 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ --read-only \ --tmpfs=/var/tmp:rw,noexec,nosuid,size=100m \ --network={{ matrix_coturn_container_network }} \ - {% if matrix_coturn_container_stun_plain_host_bind_port != '' %} - -p {{ matrix_coturn_container_stun_plain_host_bind_port }}:3478 \ - -p {{ matrix_coturn_container_stun_plain_host_bind_port }}:3478/udp \ + {% if matrix_coturn_container_stun_plain_host_bind_port_tcp != '' %} + -p {{ matrix_coturn_container_stun_plain_host_bind_port_tcp }}:3478 \ {% endif %} - {% if matrix_coturn_container_stun_tls_host_bind_port != '' %} - -p {{ matrix_coturn_container_stun_tls_host_bind_port }}:5349 \ - -p {{ matrix_coturn_container_stun_tls_host_bind_port }}:5349/udp \ + {% if matrix_coturn_container_stun_plain_host_bind_port_udp != '' %} + -p {{ matrix_coturn_container_stun_plain_host_bind_port_udp }}:3478/udp \ + {% endif %} + {% if matrix_coturn_container_stun_tls_host_bind_port_tcp != '' %} + -p {{ matrix_coturn_container_stun_tls_host_bind_port_tcp }}:5349 \ + {% endif %} + {% if matrix_coturn_container_stun_tls_host_bind_port_udp != '' %} + -p {{ matrix_coturn_container_stun_tls_host_bind_port_udp }}:5349/udp \ {% endif %} {% if matrix_coturn_container_turn_range_listen_interface is not in [none, 'none'] %} -p {{ matrix_coturn_container_turn_range_listen_interface }}{{ ':' if matrix_coturn_container_turn_range_listen_interface else '' }}{{ matrix_coturn_turn_udp_min_port }}-{{ matrix_coturn_turn_udp_max_port }}:{{ matrix_coturn_turn_udp_min_port }}-{{ matrix_coturn_turn_udp_max_port }}/udp \ From c0722c74e9476ea49cccbc22f514570bb852f5b2 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 20 Feb 2025 01:03:55 +0900 Subject: [PATCH 388/841] Update docs/configuring-playbook-email.md: add the links to the role and its documentation Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-email.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/configuring-playbook-email.md b/docs/configuring-playbook-email.md index 8968b48f1..3e01449a7 100644 --- a/docs/configuring-playbook-email.md +++ b/docs/configuring-playbook-email.md @@ -20,6 +20,10 @@ By default, emails are sent from `matrix@matrix.example.com`, as specified by th 💡 To improve deliverability, we recommend [relaying email through another SMTP server](#relaying-email-through-another-smtp-server) anyway. +The Ansible role for exim-relay is developed and maintained by [the MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay). For details about configuring exim-relay, you can check them via: +- 🌐 [the role's documentation at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay/blob/main/docs/configuring-exim-relay.md) online +- 📁 `roles/galaxy/exim_relay/docs/configuring-exim-relay.md` locally, if you have [fetched the Ansible roles](installing.md#update-ansible-roles) + ## Firewall settings No matter whether you send email directly (the default) or you relay email through another host (see how below), you'll probably need to allow outgoing traffic for TCP ports 25/587 (depending on configuration). From 916831f94d142945a1a67c87edcacd3ec1765f5d Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 20 Feb 2025 01:04:07 +0900 Subject: [PATCH 389/841] Update docs/configuring-playbook-email.md: refer the docs at the role Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-email.md | 48 ++++-------------------------- 1 file changed, 6 insertions(+), 42 deletions(-) diff --git a/docs/configuring-playbook-email.md b/docs/configuring-playbook-email.md index 3e01449a7..1ab654181 100644 --- a/docs/configuring-playbook-email.md +++ b/docs/configuring-playbook-email.md @@ -11,15 +11,8 @@ SPDX-License-Identifier: AGPL-3.0-or-later By default, this playbook sets up an [Exim](https://www.exim.org/) email server through which all Matrix services send emails. -The email server would attempt to deliver emails directly to their final destination. This may or may not work, depending on your domain configuration (SPF settings, etc.) - By default, emails are sent from `matrix@matrix.example.com`, as specified by the `exim_relay_sender_address` playbook variable. -> [!WARNING] -> On some cloud providers (Google Cloud, etc.), [port 25 is always blocked](https://cloud.google.com/compute/docs/tutorials/sending-mail/), so sending email directly from your server is not possible. You will need to [relay email through another SMTP server](#relaying-email-through-another-smtp-server). - -💡 To improve deliverability, we recommend [relaying email through another SMTP server](#relaying-email-through-another-smtp-server) anyway. - The Ansible role for exim-relay is developed and maintained by [the MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay). For details about configuring exim-relay, you can check them via: - 🌐 [the role's documentation at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay/blob/main/docs/configuring-exim-relay.md) online - 📁 `roles/galaxy/exim_relay/docs/configuring-exim-relay.md` locally, if you have [fetched the Ansible roles](installing.md#update-ansible-roles) @@ -30,45 +23,16 @@ No matter whether you send email directly (the default) or you relay email throu ## Adjusting the playbook configuration -### Relaying email through another SMTP server +### Relaying email through another SMTP server (optional) -If you'd like to relay email through another SMTP server, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file (adapt to your needs): +By default, exim-relay attempts to deliver emails directly. This may or may not work, depending on your domain configuration (SPF settings, etc.) -```yaml -exim_relay_sender_address: "another.sender@example.com" -exim_relay_relay_use: true -exim_relay_relay_host_name: "mail.example.com" -exim_relay_relay_host_port: 587 -exim_relay_relay_auth: true -exim_relay_relay_auth_username: "another.sender@example.com" -exim_relay_relay_auth_password: "PASSWORD_FOR_THE_RELAY_HERE" -``` +**On some cloud providers such as Google Cloud, [port 25 is always blocked](https://cloud.google.com/compute/docs/tutorials/sending-mail/), so sending email directly from your server is not possible.** In this case, you will need to relay email through another SMTP server. -**Note**: only the secure submission protocol (using `STARTTLS`, usually on port `587`) is supported. **SMTPS** (encrypted SMTP, usually on port `465`) **is not supported**. +For details about configuration, refer [this section](https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay/blob/main/docs/configuring-exim-relay.md#relaying-email-through-another-smtp-server) on the role's document. -### Sending emails using Sendgrid - -An easy and free SMTP service to set up is [Sendgrid](https://sendgrid.com/). Its free tier allows for up to 100 emails per day to be sent. - -To set it up, add the following configuration to your `vars.yml` file (adapt to your needs): - -```yaml -exim_relay_sender_address: "example@example.org" -exim_relay_relay_use: true -exim_relay_relay_host_name: "smtp.sendgrid.net" -exim_relay_relay_host_port: 587 -exim_relay_relay_auth: true - -# This needs to be literally the string "apikey". It is always the same for Sendgrid. -exim_relay_relay_auth_username: "apikey" - -# You can generate the API key password at this URL: https://app.sendgrid.com/settings/api_keys -# The password looks something like `SG.955oW1mLSfwds7i9Yd6IA5Q.q8GTaB8q9kGDzasegdG6u95fQ-6zkdwrPP8bOeuI`. -exim_relay_relay_auth_password: "YOUR_API_KEY_PASSWORD_HERE" -``` +💡 To improve deliverability, we recommend relaying email through another SMTP server anyway. ## Troubleshooting -If you're having trouble with email not being delivered, it may be useful to inspect the mailer logs. - -To do so, log in to the server with SSH and run `journalctl -f -u matrix-exim-relay`. +See [this section](https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay/blob/main/docs/configuring-exim-relay.md#troubleshooting) on the role's documentation for details. From 2e9e6e60947d06909ff0a67ef0ae55ad931594a3 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 20 Feb 2025 01:04:13 +0900 Subject: [PATCH 390/841] Update docs/configuring-playbook-email.md: edit the introduction Based on https://github.com/mother-of-all-self-hosting/mash-playbook/blob/00214dc4939981f187b1678678ecfc6c1bcd29df/docs/services/exim-relay.md Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-email.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/configuring-playbook-email.md b/docs/configuring-playbook-email.md index 1ab654181..4a24a89ca 100644 --- a/docs/configuring-playbook-email.md +++ b/docs/configuring-playbook-email.md @@ -9,9 +9,9 @@ SPDX-License-Identifier: AGPL-3.0-or-later # Adjusting email-sending settings (optional) -By default, this playbook sets up an [Exim](https://www.exim.org/) email server through which all Matrix services send emails. +By default, this playbook sets up an [Exim](https://www.exim.org/) relay SMTP mailer service (powered by [exim-relay](https://github.com/devture/exim-relay) and the [ansible-role-exim-relay](https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay) Ansible role), through which all Matrix services send emails. -By default, emails are sent from `matrix@matrix.example.com`, as specified by the `exim_relay_sender_address` playbook variable. +**With the default setting, exim-relay attempts to deliver emails directly with the address `matrix@matrix.example.com`**, as specified by the `exim_relay_sender_address` playbook variable. See below if you want to configure the playbook to relay email through another SMTP server. The Ansible role for exim-relay is developed and maintained by [the MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay). For details about configuring exim-relay, you can check them via: - 🌐 [the role's documentation at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay/blob/main/docs/configuring-exim-relay.md) online @@ -19,7 +19,7 @@ The Ansible role for exim-relay is developed and maintained by [the MASH (mother ## Firewall settings -No matter whether you send email directly (the default) or you relay email through another host (see how below), you'll probably need to allow outgoing traffic for TCP ports 25/587 (depending on configuration). +No matter whether you send email directly (the default) or you relay email through another host, you'll probably need to allow outgoing traffic for TCP ports 25/587 (depending on configuration). ## Adjusting the playbook configuration From 5b3b372f367df24b616ec41b2536c41365eb7604 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 20 Feb 2025 01:04:23 +0900 Subject: [PATCH 391/841] Update docs/configuring-playbook-email.md: copy the instruction for firewall It was copied from https://github.com/mother-of-all-self-hosting/mash-playbook/commit/699b458733b0d890588286a0345b3636c79f7b58. The current copyright header covers this one. Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-email.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/configuring-playbook-email.md b/docs/configuring-playbook-email.md index 4a24a89ca..4857796bd 100644 --- a/docs/configuring-playbook-email.md +++ b/docs/configuring-playbook-email.md @@ -21,6 +21,8 @@ The Ansible role for exim-relay is developed and maintained by [the MASH (mother No matter whether you send email directly (the default) or you relay email through another host, you'll probably need to allow outgoing traffic for TCP ports 25/587 (depending on configuration). +Docker automatically opens these ports in the server's firewall, so you likely don't need to do anything. If you use another firewall in front of the server, you may need to adjust it. + ## Adjusting the playbook configuration ### Relaying email through another SMTP server (optional) From 235f11fede6c9ce9b73d6c1144ba7edab86e801f Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 20 Feb 2025 01:04:32 +0900 Subject: [PATCH 392/841] Update docs/configuring-playbook-email.md: add an instruction to disable mail service Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-email.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/configuring-playbook-email.md b/docs/configuring-playbook-email.md index 4857796bd..ceaca94c1 100644 --- a/docs/configuring-playbook-email.md +++ b/docs/configuring-playbook-email.md @@ -35,6 +35,18 @@ For details about configuration, refer [this section](https://github.com/mother- 💡 To improve deliverability, we recommend relaying email through another SMTP server anyway. +### Disable mail service (optional) + +For a low-power server you might probably want to disable exim-relay. To do so, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: + +```yaml +exim_relay_enabled: false +``` + +Note that disabling exim-relay will stop email-notifications and other similar functions from working. + +See [this entry on the FAQ](faq.md#how-do-i-optimize-this-setup-for-a-low-power-server) for other possible optimizations for a low-power server. + ## Troubleshooting See [this section](https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay/blob/main/docs/configuring-exim-relay.md#troubleshooting) on the role's documentation for details. From c1bd6ba965f9b26c5e61e3c5e1ab75fd92d763f3 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 20 Feb 2025 01:04:37 +0900 Subject: [PATCH 393/841] Update docs/configuring-playbook-email.md: copy the common section for installing The copyright header covers this one. Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-email.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/docs/configuring-playbook-email.md b/docs/configuring-playbook-email.md index ceaca94c1..a1d7dff76 100644 --- a/docs/configuring-playbook-email.md +++ b/docs/configuring-playbook-email.md @@ -47,6 +47,19 @@ Note that disabling exim-relay will stop email-notifications and other similar f See [this entry on the FAQ](faq.md#how-do-i-optimize-this-setup-for-a-low-power-server) for other possible optimizations for a low-power server. +## Installing + +After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below: + + +```sh +ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start +``` + +The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` + +`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. + ## Troubleshooting See [this section](https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay/blob/main/docs/configuring-exim-relay.md#troubleshooting) on the role's documentation for details. From 9c822f7817e1ab99ad51ce65bd9e0dba4115f4f2 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 20 Feb 2025 14:26:03 +0900 Subject: [PATCH 394/841] Update docs/faq.md: remove matrix_ma1sd_enabled from the suggestion to disable it ma1sd has not been installed by default since 958d089b68d46d1810b3b508234bfc4809522f68, so it seems that the variable does not need to be mentioned here. Signed-off-by: Suguru Hirahara --- docs/faq.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/docs/faq.md b/docs/faq.md index c7e4cd2fb..04bfde784 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -296,9 +296,6 @@ See [Serving the base domain](configuring-playbook-base-domain-serving.md). You can disable some not-so-important services to save on memory. ```yaml -# An identity server is not a must. -matrix_ma1sd_enabled: false - # Disabling this will prevent email-notifications and other such things from working. exim_relay_enabled: false From 2db103a4ebfa413641ca74dc00eae5354f9afc79 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Thu, 20 Feb 2025 10:41:27 +0200 Subject: [PATCH 395/841] Upgrade matrix-authentication-service (0.14.0 -> 0.14.1) --- roles/custom/matrix-authentication-service/defaults/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/custom/matrix-authentication-service/defaults/main.yml b/roles/custom/matrix-authentication-service/defaults/main.yml index 33c998a17..f00cb8eda 100644 --- a/roles/custom/matrix-authentication-service/defaults/main.yml +++ b/roles/custom/matrix-authentication-service/defaults/main.yml @@ -17,7 +17,7 @@ matrix_authentication_service_container_repo_version: "{{ 'main' if matrix_authe matrix_authentication_service_container_src_files_path: "{{ matrix_base_data_path }}/matrix-authentication-service/container-src" # renovate: datasource=docker depName=ghcr.io/element-hq/matrix-authentication-service -matrix_authentication_service_version: 0.14.0 +matrix_authentication_service_version: 0.14.1 matrix_authentication_service_container_image: "{{ matrix_authentication_service_container_image_name_prefix }}element-hq/matrix-authentication-service:{{ matrix_authentication_service_version }}" matrix_authentication_service_container_image_name_prefix: "{{ 'localhost/' if matrix_authentication_service_container_image_self_build else 'ghcr.io/' }}" matrix_authentication_service_container_image_force_pull: "{{ matrix_authentication_service_container_image.endswith(':latest') }}" @@ -555,7 +555,7 @@ matrix_authentication_service_syn2mas_start_wait_time_seconds: 5 matrix_authentication_service_syn2mas_dry_run: false # renovate: datasource=docker depName=ghcr.io/element-hq/matrix-authentication-service/syn2mas -matrix_authentication_service_syn2mas_version: 0.14.0 +matrix_authentication_service_syn2mas_version: 0.14.1 matrix_authentication_service_syn2mas_container_image: "{{ matrix_authentication_service_container_image_name_prefix }}element-hq/matrix-authentication-service/syn2mas:{{ matrix_authentication_service_syn2mas_version }}" matrix_authentication_service_syn2mas_container_image_name_prefix: "{{ 'localhost/' if matrix_authentication_service_container_image_self_build else 'ghcr.io/' }}" matrix_authentication_service_syn2mas_container_image_force_pull: "{{ matrix_authentication_service_syn2mas_container_image.endswith(':latest') }}" From c80fb913e7973deb76da6f445b565d9fc364823f Mon Sep 17 00:00:00 2001 From: Aine Date: Thu, 20 Feb 2025 15:48:19 +0200 Subject: [PATCH 396/841] borg backup: do not backup remote content by default --- group_vars/matrix_servers | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index 46e08f6a8..285a26470 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -3144,7 +3144,7 @@ backup_borg_location_source_directories: backup_borg_location_exclude_patterns: | {{ - ([matrix_synapse_media_store_path + '/local_thumbnails', matrix_synapse_media_store_path + '/remote_thumbnail', matrix_synapse_media_store_path + '/url_cache', matrix_synapse_media_store_path + '/url_cache_thumbnails'] if matrix_homeserver_implementation == 'synapse' else []) + ([matrix_synapse_media_store_path + '/remote_content', matrix_synapse_media_store_path + '/local_thumbnails', matrix_synapse_media_store_path + '/remote_thumbnail', matrix_synapse_media_store_path + '/url_cache', matrix_synapse_media_store_path + '/url_cache_thumbnails'] if matrix_homeserver_implementation == 'synapse' else []) + ([postgres_data_path] if postgres_enabled else []) }} From 2f8489fce036ec5058f115521e0adcb9ae82acbc Mon Sep 17 00:00:00 2001 From: Aine Date: Thu, 20 Feb 2025 18:21:12 +0200 Subject: [PATCH 397/841] FluffyChat v1.25.0 --- roles/custom/matrix-client-fluffychat/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-client-fluffychat/defaults/main.yml b/roles/custom/matrix-client-fluffychat/defaults/main.yml index b0e974e11..98fb6aa59 100644 --- a/roles/custom/matrix-client-fluffychat/defaults/main.yml +++ b/roles/custom/matrix-client-fluffychat/defaults/main.yml @@ -8,7 +8,7 @@ matrix_client_fluffychat_container_image_self_build_repo: "https://github.com/et matrix_client_fluffychat_container_image_self_build_version: "{{ 'main' if matrix_client_fluffychat_version == 'latest' else matrix_client_fluffychat_version }}" # renovate: datasource=docker depName=ghcr.io/etkecc/fluffychat-web -matrix_client_fluffychat_version: v1.24.0 +matrix_client_fluffychat_version: v1.25.0 matrix_client_fluffychat_docker_image: "{{ matrix_client_fluffychat_docker_image_name_prefix }}etkecc/fluffychat-web:{{ matrix_client_fluffychat_version }}" matrix_client_fluffychat_docker_image_name_prefix: "{{ 'localhost/' if matrix_client_fluffychat_container_image_self_build else 'ghcr.io/' }}" matrix_client_fluffychat_docker_image_force_pull: "{{ matrix_client_fluffychat_docker_image.endswith(':latest') }}" From 4e44c4885e02630a45247f8667dc7e94fc106a54 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 21 Feb 2025 12:23:26 +0900 Subject: [PATCH 398/841] Update docs: add copyright headers for reusing them at the MASH project This commit adds copyright headers to the same kind of docs as ones linked from https://github.com/mother-of-all-self-hosting/mash-playbook/tree/e48af8a3273b416188b1fa4bc9009ef7e923235f/docs/README.md, so that these files can be reused over there. - docs/README.md - prerequisites.md - configuring-dns.md - getting-the-playbook.md - configuring-playbook.md - maintenance-upgrading-services.md - maintenance-and-troubleshooting.md - uninstalling.md Signed-off-by: Suguru Hirahara --- docs/README.md | 9 +++++++++ docs/configuring-dns.md | 17 +++++++++++++++++ docs/getting-the-playbook.md | 7 +++++++ docs/installing.md | 14 ++++++++++++++ docs/maintenance-and-troubleshooting.md | 11 +++++++++++ docs/maintenance-upgrading-services.md | 11 +++++++++++ docs/prerequisites.md | 11 +++++++++++ docs/uninstalling.md | 8 ++++++++ 8 files changed, 88 insertions(+) diff --git a/docs/README.md b/docs/README.md index 34a660c7b..ba0fd1e48 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,3 +1,12 @@ + + # Table of Contents ## ⬇️ Installaton guides diff --git a/docs/configuring-dns.md b/docs/configuring-dns.md index 51e30d69e..a5237889f 100644 --- a/docs/configuring-dns.md +++ b/docs/configuring-dns.md @@ -1,3 +1,20 @@ + + # Configuring your DNS settings [Prerequisites](prerequisites.md) > Configuring your DNS settings > [Getting the playbook](getting-the-playbook.md) > [Configuring the playbook](configuring-playbook.md) > [Installing](installing.md) diff --git a/docs/getting-the-playbook.md b/docs/getting-the-playbook.md index 4db76c5c6..6607cae49 100644 --- a/docs/getting-the-playbook.md +++ b/docs/getting-the-playbook.md @@ -1,3 +1,10 @@ + + # Getting the playbook [Prerequisites](prerequisites.md) > [Configuring your DNS settings](configuring-dns.md) > Getting the playbook > [Configuring the playbook](configuring-playbook.md) > [Installing](installing.md) diff --git a/docs/installing.md b/docs/installing.md index 860e8d9bf..e0bf44404 100644 --- a/docs/installing.md +++ b/docs/installing.md @@ -1,3 +1,17 @@ + + # Installing [Prerequisites](prerequisites.md) > [Configuring your DNS settings](configuring-dns.md) > [Getting the playbook](getting-the-playbook.md) > [Configuring the playbook](configuring-playbook.md) > Installing diff --git a/docs/maintenance-and-troubleshooting.md b/docs/maintenance-and-troubleshooting.md index 99205697e..21d1c07ae 100644 --- a/docs/maintenance-and-troubleshooting.md +++ b/docs/maintenance-and-troubleshooting.md @@ -1,3 +1,14 @@ + + # Maintenance and Troubleshooting ## Maintenance diff --git a/docs/maintenance-upgrading-services.md b/docs/maintenance-upgrading-services.md index ca1ea78f1..c6ef5f62d 100644 --- a/docs/maintenance-upgrading-services.md +++ b/docs/maintenance-upgrading-services.md @@ -1,3 +1,14 @@ + + # Upgrading the Matrix services This playbook not only installs the various Matrix services for you, but can also upgrade them as new versions are made available. diff --git a/docs/prerequisites.md b/docs/prerequisites.md index 94445befe..8b813f1bd 100644 --- a/docs/prerequisites.md +++ b/docs/prerequisites.md @@ -1,3 +1,14 @@ + + # Prerequisites Prerequisites > [Configuring your DNS settings](configuring-dns.md) > [Getting the playbook](getting-the-playbook.md) > [Configuring the playbook](configuring-playbook.md) > [Installing](installing.md) diff --git a/docs/uninstalling.md b/docs/uninstalling.md index 4c70082f5..1a0f3f6ef 100644 --- a/docs/uninstalling.md +++ b/docs/uninstalling.md @@ -1,3 +1,11 @@ + + # Uninstalling > [!WARNING] From a445f8a5aef5182c2f208af933350d74bf791595 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Fri, 21 Feb 2025 07:50:48 +0200 Subject: [PATCH 399/841] Upgrade postgres-backup (v17-0 -> v17-1) Ref: https://github.com/mother-of-all-self-hosting/ansible-role-postgres-backup/pull/6 --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index e8a9f2630..5c882cff8 100644 --- a/requirements.yml +++ b/requirements.yml @@ -43,7 +43,7 @@ version: v17.2-0 name: postgres - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-postgres-backup.git - version: v17-0 + version: v17-1 name: postgres_backup - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus.git version: v2.55.1-0 From d6301db5edf9734b9d3f5f4c59b9b7ece4893818 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Fri, 21 Feb 2025 07:51:51 +0200 Subject: [PATCH 400/841] Switch from `postgres_backup_databases` to `postgres_backup_databases_auto` Ref: https://github.com/mother-of-all-self-hosting/ansible-role-postgres-backup/pull/6 Related to a445f8a5aef5182c2f208af933350d74bf791595 --- group_vars/matrix_servers | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index 285a26470..1fc6a5cf8 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -4246,7 +4246,7 @@ postgres_backup_connection_password: "{{ postgres_connection_password if postgre postgres_backup_postgres_data_path: "{{ postgres_data_path if postgres_enabled else '' }}" postgres_backup_postgres_role_include_name: galaxy/postgres -postgres_backup_databases: "{{ postgres_managed_databases | map(attribute='name') if postgres_enabled else [] }}" +postgres_backup_databases_auto: "{{ postgres_managed_databases | map(attribute='name') if postgres_enabled else [] }}" ######################################################################## # # From b0c63914cbba16b47ad8cac9f6bdfb9114c75d25 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Fri, 21 Feb 2025 08:08:59 +0200 Subject: [PATCH 401/841] Upgrade backup-borg (v1.4.0-1.9.10-0 -> v1.4.0-1.9.10-1) Ref: - https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg/pull/12 - https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg/commit/02dd1a8d70f573e39d2edecba2dcf7cab5c2dba2 --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 5c882cff8..fd7818cc4 100644 --- a/requirements.yml +++ b/requirements.yml @@ -4,7 +4,7 @@ version: v1.0.0-5 name: auxiliary - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg.git - version: v1.4.0-1.9.10-0 + version: v1.4.0-1.9.10-1 name: backup_borg - src: git+https://github.com/devture/com.devture.ansible.role.container_socket_proxy.git version: v0.2.0-0 From 9d05994dce30c2a7509e6a90b0687e1849d8c3bf Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Fri, 21 Feb 2025 08:09:38 +0200 Subject: [PATCH 402/841] Make use of `backup_borg_postgresql_databases_auto` Related to b0c63914cbba16b47ad8cac9f6bdfb9114c75d25 Ref: - https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg/pull/12 - https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg/commit/02dd1a8d70f573e39d2edecba2dcf7cab5c2dba2 --- group_vars/matrix_servers | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index 1fc6a5cf8..5433ead4f 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -3137,7 +3137,7 @@ backup_borg_postgresql_databases_hostname: "{{ postgres_connection_hostname if p backup_borg_postgresql_databases_username: "{{ postgres_connection_username if postgres_enabled else '' }}" backup_borg_postgresql_databases_password: "{{ postgres_connection_password if postgres_enabled else '' }}" backup_borg_postgresql_databases_port: "{{ postgres_connection_port if postgres_enabled else 5432 }}" -backup_borg_postgresql_databases: "{{ postgres_managed_databases | map(attribute='name') if postgres_enabled else [] }}" +backup_borg_postgresql_databases_auto: "{{ postgres_managed_databases | map(attribute='name') if postgres_enabled else [] }}" backup_borg_location_source_directories: - "{{ matrix_base_data_path }}" From 40dc285a3159c2b383a98b4f79a944b1de23fa90 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 21 Feb 2025 16:27:54 +0900 Subject: [PATCH 403/841] Update docs/playbook-tags.md: add a copyright header The original author can be seen here: 66a812d99c12cb24f38f57fb271875ca80a9d4cc/docs/installing.md#L12-L35 Signed-off-by: Suguru Hirahara --- docs/playbook-tags.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/playbook-tags.md b/docs/playbook-tags.md index 02da3ea7e..cd5cdcb39 100644 --- a/docs/playbook-tags.md +++ b/docs/playbook-tags.md @@ -1,3 +1,10 @@ + + # Playbook tags The Ansible playbook's tasks are tagged, so that certain parts of the Ansible playbook can be run without running all other tasks. From 0dac0d8f83dfb4fd5bf69f04f4b0f4ac4b6cb125 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 21 Feb 2025 16:28:07 +0900 Subject: [PATCH 404/841] Update docs/just.md: add a copyright header This file was created with e36115a5b94b29c15d3159837d6a1e1b68ba5539 based on fb60ba67f646288b40818a555bb716405e144956 (announcement of adoption of just program). Signed-off-by: Suguru Hirahara --- docs/just.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/just.md b/docs/just.md index 153a20f1e..b02385f11 100644 --- a/docs/just.md +++ b/docs/just.md @@ -1,3 +1,10 @@ + + # Running `just` commands We have previously used [make](https://www.gnu.org/software/make/) for easily running some playbook commands (e.g. `make roles` which triggers [`ansible-galaxy`](https://docs.ansible.com/ansible/latest/cli/ansible-galaxy.html)). Our [`Makefile`](../Makefile) is still around, and you can still run these commands. From ff986b7512923b2f410a5a47a37ad118edc433cd Mon Sep 17 00:00:00 2001 From: Zepmann Date: Wed, 19 Feb 2025 18:52:44 +0100 Subject: [PATCH 405/841] Add mautrix-bluesky to the playbook. --- group_vars/matrix_servers | 86 ++++ .../defaults/main.yml | 192 ++++++++ .../tasks/main.yml | 20 + .../tasks/setup_install.yml | 98 ++++ .../tasks/setup_uninstall.yml | 19 + .../tasks/validate_config.yml | 15 + .../templates/config.yaml.j2 | 428 ++++++++++++++++++ .../templates/labels.j2 | 46 ++ .../systemd/matrix-mautrix-bluesky.service.j2 | 48 ++ setup.yml | 1 + 10 files changed, 953 insertions(+) create mode 100644 roles/custom/matrix-bridge-mautrix-bluesky/defaults/main.yml create mode 100644 roles/custom/matrix-bridge-mautrix-bluesky/tasks/main.yml create mode 100644 roles/custom/matrix-bridge-mautrix-bluesky/tasks/setup_install.yml create mode 100644 roles/custom/matrix-bridge-mautrix-bluesky/tasks/setup_uninstall.yml create mode 100644 roles/custom/matrix-bridge-mautrix-bluesky/tasks/validate_config.yml create mode 100644 roles/custom/matrix-bridge-mautrix-bluesky/templates/config.yaml.j2 create mode 100644 roles/custom/matrix-bridge-mautrix-bluesky/templates/labels.j2 create mode 100644 roles/custom/matrix-bridge-mautrix-bluesky/templates/systemd/matrix-mautrix-bluesky.service.j2 diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index 5433ead4f..94e0f3fc9 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -107,6 +107,8 @@ matrix_homeserver_container_extra_arguments_auto: | + (['--mount type=bind,src=' + matrix_hookshot_base_path + '/registration.yml,dst=/hookshot-registration.yml,ro'] if matrix_hookshot_enabled else []) + + (['--mount type=bind,src=' + matrix_mautrix_bluesky_config_path + '/registration.yaml,dst=/matrix-mautrix-bluesky-registration.yaml,ro'] if matrix_mautrix_bluesky_enabled else []) + + (['--mount type=bind,src=' + matrix_mautrix_discord_config_path + '/registration.yaml,dst=/matrix-mautrix-discord-registration.yaml,ro'] if matrix_mautrix_discord_enabled else []) + (['--mount type=bind,src=' + matrix_mautrix_slack_config_path + '/registration.yaml,dst=/matrix-mautrix-slack-registration.yaml,ro'] if matrix_mautrix_slack_enabled else []) @@ -178,6 +180,8 @@ matrix_homeserver_app_service_config_files_auto: | + (['/hookshot-registration.yml'] if matrix_hookshot_enabled else []) + + (['/matrix-mautrix-bluesky-registration.yaml'] if matrix_mautrix_bluesky_enabled else []) + + (['/matrix-mautrix-discord-registration.yaml'] if matrix_mautrix_discord_enabled else []) + (['/matrix-mautrix-slack-registration.yaml'] if matrix_mautrix_slack_enabled else []) @@ -320,6 +324,8 @@ devture_systemd_service_manager_services_list_auto: | + ([{'name': 'matrix-hookshot.service', 'priority': 2000, 'groups': ['matrix', 'bridges', 'hookshot', 'bridge-hookshot']}] if matrix_hookshot_enabled else []) + + ([{'name': 'matrix-mautrix-bluesky.service', 'priority': 2000, 'groups': ['matrix', 'bridges', 'mautrix-bluesky']}] if matrix_mautrix_bluesky_enabled else []) + + ([{'name': 'matrix-mautrix-discord.service', 'priority': 2000, 'groups': ['matrix', 'bridges', 'mautrix-discord']}] if matrix_mautrix_discord_enabled else []) + ([{'name': 'matrix-mautrix-slack.service', 'priority': 2000, 'groups': ['matrix', 'bridges', 'mautrix-slack']}] if matrix_mautrix_slack_enabled else []) @@ -1077,6 +1083,75 @@ matrix_go_skype_bridge_database_password: "{{ '%s' | format(matrix_homeserver_ge # ###################################################################### +###################################################################### +# +# matrix-bridge-mautrix-bluesky +# +###################################################################### + +# We don't enable bridges by default. +matrix_mautrix_bluesky_enabled: false + +matrix_mautrix_bluesky_systemd_required_services_list_auto: | + {{ + matrix_addons_homeserver_systemd_services_list + + + ([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_mautrix_bluesky_database_hostname == postgres_connection_hostname) else []) + }} + +matrix_mautrix_bluesky_container_image_self_build: "{{ matrix_architecture not in ['amd64', 'arm64'] }}" + +matrix_mautrix_bluesky_container_network: "{{ matrix_addons_container_network }}" + +matrix_mautrix_bluesky_container_additional_networks_auto: |- + {{ + ( + ([] if matrix_addons_homeserver_container_network == '' else [matrix_addons_homeserver_container_network]) + + + ([postgres_container_network] if (postgres_enabled and matrix_mautrix_bluesky_database_hostname == postgres_connection_hostname and matrix_mautrix_bluesky_container_network != postgres_container_network) else []) + + + ([matrix_playbook_reverse_proxyable_services_additional_network] if matrix_playbook_reverse_proxyable_services_additional_network and matrix_mautrix_bluesky_container_labels_traefik_enabled else []) + ) | unique + }} + +matrix_mautrix_bluesky_container_labels_traefik_enabled: "{{ matrix_playbook_reverse_proxy_type in ['playbook-managed-traefik', 'other-traefik-container'] }}" +matrix_mautrix_bluesky_container_labels_traefik_docker_network: "{{ matrix_playbook_reverse_proxyable_services_additional_network }}" +matrix_mautrix_bluesky_container_labels_traefik_entrypoints: "{{ traefik_entrypoint_primary }}" +matrix_mautrix_bluesky_container_labels_traefik_tls_certResolver: "{{ traefik_certResolver_primary }}" + +matrix_mautrix_bluesky_container_labels_metrics_middleware_basic_auth_enabled: "{{ matrix_metrics_exposure_http_basic_auth_enabled }}" +matrix_mautrix_bluesky_container_labels_metrics_middleware_basic_auth_users: "{{ matrix_metrics_exposure_http_basic_auth_users }}" + +matrix_mautrix_bluesky_appservice_token: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'twt.as.token', rounds=655555) | to_uuid }}" + +matrix_mautrix_bluesky_homeserver_address: "{{ matrix_addons_homeserver_client_api_url }}" +matrix_mautrix_bluesky_homeserver_token: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'twt.hs.token', rounds=655555) | to_uuid }}" + +matrix_mautrix_bluesky_provisioning_shared_secret: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'mau.twit.prov', rounds=655555) | to_uuid }}" + +matrix_mautrix_bluesky_double_puppet_secrets_auto: |- + {{ + ({ + matrix_mautrix_bluesky_homeserver_domain: ("as_token:" + matrix_appservice_double_puppet_registration_as_token) + }) + if matrix_appservice_double_puppet_enabled + else {} + }} + +matrix_mautrix_bluesky_metrics_enabled: "{{ prometheus_enabled or matrix_metrics_exposure_enabled }}" + +matrix_mautrix_bluesky_metrics_proxying_enabled: "{{ matrix_mautrix_bluesky_metrics_enabled and matrix_metrics_exposure_enabled }}" +matrix_mautrix_bluesky_metrics_proxying_hostname: "{{ matrix_metrics_exposure_hostname }}" +matrix_mautrix_bluesky_metrics_proxying_path_prefix: "{{ matrix_metrics_exposure_path_prefix }}/mautrix-bluesky" + +matrix_mautrix_bluesky_database_hostname: "{{ postgres_connection_hostname if postgres_enabled else '' }}" +matrix_mautrix_bluesky_database_password: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'mau.twt.db', rounds=655555) | to_uuid if postgres_enabled else '' }}" + +###################################################################### +# +# /matrix-bridge-mautrix-bluesky +# +###################################################################### ###################################################################### # @@ -4062,6 +4137,12 @@ postgres_managed_databases_auto: | 'password': matrix_wechat_database_password, }] if (matrix_wechat_enabled and matrix_wechat_database_engine == 'postgres' and matrix_wechat_database_hostname == postgres_connection_hostname) else []) + + ([{ + 'name': matrix_mautrix_bluesky_database_name, + 'username': matrix_mautrix_bluesky_database_username, + 'password': matrix_mautrix_bluesky_database_password, + }] if (matrix_mautrix_bluesky_enabled and matrix_mautrix_bluesky_database_engine == 'postgres' and matrix_mautrix_bluesky_database_hostname == postgres_connection_hostname) else []) + + ([{ 'name': matrix_mautrix_facebook_database_name, 'username': matrix_mautrix_facebook_database_username, @@ -4943,6 +5024,11 @@ matrix_synapse_admin_config_asManagedUsers_auto: | '^@'+(matrix_hookshot_generic_userIdPrefix | default('') | regex_escape)+'[a-zA-Z0-9]+:'+(matrix_domain | regex_escape)+'$', ] if matrix_hookshot_enabled else []) + + ([ + '^@'+(matrix_mautrix_bluesky_appservice_bot_username | default('') | regex_escape)+':'+(matrix_domain | regex_escape)+'$', + '^@bluesky_[a-zA-Z0-9]+:'+(matrix_domain | regex_escape)+'$', + ] if matrix_mautrix_bluesky_enabled else []) + + ([ '^@'+(matrix_mautrix_discord_appservice_bot_username | default('') | regex_escape)+':'+(matrix_domain | regex_escape)+'$', '^@discord_[0-9]+:'+(matrix_domain | regex_escape)+'$', diff --git a/roles/custom/matrix-bridge-mautrix-bluesky/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-bluesky/defaults/main.yml new file mode 100644 index 000000000..1d159496b --- /dev/null +++ b/roles/custom/matrix-bridge-mautrix-bluesky/defaults/main.yml @@ -0,0 +1,192 @@ +--- +# mautrix-bluesky is a Matrix <-> Bluesky bridge +# Project source code URL: https://github.com/mautrix/bluesky + +matrix_mautrix_bluesky_enabled: true + +matrix_mautrix_bluesky_container_image_self_build: false +matrix_mautrix_bluesky_container_image_self_build_repo: "https://github.com/mautrix/bluesky.git" +matrix_mautrix_bluesky_container_image_self_build_repo_version: "{{ 'master' if matrix_mautrix_bluesky_version == 'latest' else matrix_mautrix_bluesky_version }}" + +# renovate: datasource=docker depName=dock.mau.dev/mautrix/bluesky +matrix_mautrix_bluesky_version: v0.1.0 +# See: https://mau.dev/tulir/mautrix-bluesky/container_registry +matrix_mautrix_bluesky_docker_image: "{{ matrix_mautrix_bluesky_docker_image_name_prefix }}mautrix/bluesky:{{ matrix_mautrix_bluesky_version }}" +matrix_mautrix_bluesky_docker_image_name_prefix: "{{ 'localhost/' if matrix_mautrix_bluesky_container_image_self_build else 'dock.mau.dev/' }}" +matrix_mautrix_bluesky_docker_image_force_pull: "{{ matrix_mautrix_bluesky_docker_image.endswith(':latest') }}" + +matrix_mautrix_bluesky_base_path: "{{ matrix_base_data_path }}/mautrix-bluesky" +matrix_mautrix_bluesky_config_path: "{{ matrix_mautrix_bluesky_base_path }}/config" +matrix_mautrix_bluesky_data_path: "{{ matrix_mautrix_bluesky_base_path }}/data" +matrix_mautrix_bluesky_docker_src_files_path: "{{ matrix_mautrix_bluesky_base_path }}/docker-src" + +matrix_mautrix_bluesky_homeserver_address: "" +matrix_mautrix_bluesky_homeserver_domain: '{{ matrix_domain }}' +matrix_mautrix_bluesky_appservice_address: 'http://matrix-mautrix-bluesky:29340' + +# A public address that external services can use to reach this appservice. +matrix_mautrix_bluesky_appservice_public_address: '' + +matrix_mautrix_bluesky_bridge_command_prefix: "!bs" + +matrix_mautrix_bluesky_bridge_permissions: | + {{ + {matrix_mautrix_bluesky_homeserver_domain: 'user'} + | combine({matrix_admin: 'admin'} if matrix_admin else {}) + }} + +matrix_mautrix_bluesky_container_network: "" + +matrix_mautrix_bluesky_container_additional_networks: "{{ matrix_mautrix_bluesky_container_additional_networks_auto + matrix_mautrix_bluesky_container_additional_networks_custom }}" +matrix_mautrix_bluesky_container_additional_networks_auto: [] +matrix_mautrix_bluesky_container_additional_networks_custom: [] + +# matrix_mautrix_bluesky_container_labels_traefik_enabled controls whether labels to assist a Traefik reverse-proxy will be attached to the container. +# See `../templates/labels.j2` for details. +# +# To inject your own other container labels, see `matrix_mautrix_bluesky_container_labels_additional_labels`. +matrix_mautrix_bluesky_container_labels_traefik_enabled: true +matrix_mautrix_bluesky_container_labels_traefik_docker_network: "{{ matrix_mautrix_bluesky_container_network }}" +matrix_mautrix_bluesky_container_labels_traefik_entrypoints: web-secure +matrix_mautrix_bluesky_container_labels_traefik_tls_certResolver: default # noqa var-naming + +# Controls whether labels will be added that expose mautrix-instagram's metrics +matrix_mautrix_bluesky_container_labels_metrics_enabled: "{{ matrix_mautrix_bluesky_metrics_enabled and matrix_mautrix_bluesky_metrics_proxying_enabled }}" +matrix_mautrix_bluesky_container_labels_metrics_traefik_rule: "Host(`{{ matrix_mautrix_bluesky_metrics_proxying_hostname }}`) && PathPrefix(`{{ matrix_mautrix_bluesky_metrics_proxying_path_prefix }}`)" +matrix_mautrix_bluesky_container_labels_metrics_traefik_priority: 0 +matrix_mautrix_bluesky_container_labels_metrics_traefik_entrypoints: "{{ matrix_mautrix_bluesky_container_labels_traefik_entrypoints }}" +matrix_mautrix_bluesky_container_labels_metrics_traefik_tls: "{{ matrix_mautrix_bluesky_container_labels_metrics_traefik_entrypoints != 'web' }}" +matrix_mautrix_bluesky_container_labels_metrics_traefik_tls_certResolver: "{{ matrix_mautrix_bluesky_container_labels_traefik_tls_certResolver }}" # noqa var-naming +matrix_mautrix_bluesky_container_labels_metrics_middleware_basic_auth_enabled: false +# See: https://doc.traefik.io/traefik/middlewares/http/basicauth/#users +matrix_mautrix_bluesky_container_labels_metrics_middleware_basic_auth_users: '' + +# matrix_mautrix_bluesky_container_labels_additional_labels contains a multiline string with additional labels to add to the container label file. +# See `../templates/labels.j2` for details. +# +# Example: +# matrix_mautrix_bluesky_container_labels_additional_labels: | +# my.label=1 +# another.label="here" +matrix_mautrix_bluesky_container_labels_additional_labels: '' + +# A list of extra arguments to pass to the container +matrix_mautrix_bluesky_container_extra_arguments: [] + +# List of systemd services that matrix-mautrix-bluesky.service depends on. +matrix_mautrix_bluesky_systemd_required_services_list: "{{ matrix_mautrix_bluesky_systemd_required_services_list_default + matrix_mautrix_bluesky_systemd_required_services_list_auto + matrix_mautrix_bluesky_systemd_required_services_list_custom }}" +matrix_mautrix_bluesky_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}" +matrix_mautrix_bluesky_systemd_required_services_list_auto: [] +matrix_mautrix_bluesky_systemd_required_services_list_custom: [] + +# List of systemd services that matrix-mautrix-bluesky.service wants +matrix_mautrix_bluesky_systemd_wanted_services_list: [] + +matrix_mautrix_bluesky_appservice_token: '' +matrix_mautrix_bluesky_homeserver_token: '' + +# Whether or not created rooms should have federation enabled. +# If false, created portal rooms will never be federated. +matrix_mautrix_bluesky_matrix_federate_rooms: true + +# Database-related configuration fields. +# +# To use Postgres: +# - adjust your database credentials via the `matrix_mautrix_bluesky_postgres_*` variables +matrix_mautrix_bluesky_database_engine: 'postgres' + +matrix_mautrix_bluesky_database_username: 'matrix_mautrix_bluesky' +matrix_mautrix_bluesky_database_password: 'some-password' +matrix_mautrix_bluesky_database_hostname: '' +matrix_mautrix_bluesky_database_port: 5432 +matrix_mautrix_bluesky_database_name: 'matrix_mautrix_bluesky' +matrix_mautrix_bluesky_database_sslmode: disable + +matrix_mautrix_bluesky_database_connection_string: 'postgres://{{ matrix_mautrix_bluesky_database_username }}:{{ matrix_mautrix_bluesky_database_password }}@{{ matrix_mautrix_bluesky_database_hostname }}:{{ matrix_mautrix_bluesky_database_port }}/{{ matrix_mautrix_bluesky_database_name }}?sslmode={{ matrix_mautrix_bluesky_database_sslmode }}' + +matrix_mautrix_bluesky_database_uri: "{{ + { + 'postgres': matrix_mautrix_bluesky_database_connection_string, + }[matrix_mautrix_bluesky_database_engine] +}}" + +matrix_mautrix_bluesky_double_puppet_secrets: "{{ matrix_mautrix_bluesky_double_puppet_secrets_auto | combine(matrix_mautrix_bluesky_double_puppet_secrets_custom) }}" +matrix_mautrix_bluesky_double_puppet_secrets_auto: {} +matrix_mautrix_bluesky_double_puppet_secrets_custom: {} + +matrix_mautrix_bluesky_appservice_bot_username: blueskybot +matrix_mautrix_bluesky_appservice_bot_displayname: Bluesky bridge bot +matrix_mautrix_bluesky_appservice_bot_avatar: mxc://maunium.net/ezAjjDxhiJWGEohmhkpfeHYf + +matrix_mautrix_bluesky_backfill_enabled: true +# Maximum number of messages to backfill in empty rooms +matrix_mautrix_bluesky_backfill_max_initial_messages: 50 + +# Maximum number of missed messages to backfill after bridge restarts +matrix_mautrix_bluesky_backfill_max_catchup_messages: 500 + +# Shared secret for authentication of provisioning API requests. +# If set to "disable", the provisioning API will be disabled. +matrix_mautrix_bluesky_provisioning_shared_secret: disable + +# Minimum severity of journal log messages. +# Valid values: fatal, error, warn, info, debug, trace +matrix_mautrix_bluesky_logging_level: 'warn' + +# Whether or not metrics endpoint should be enabled. +# Enabling them is usually enough for a local (in-container) Prometheus to consume them. +# If metrics need to be consumed by another (external) Prometheus server, consider exposing them via `matrix_mautrix_bluesky_metrics_proxying_enabled`. +matrix_mautrix_bluesky_metrics_enabled: false + +# Controls whether metrics should be exposed on a public URL. +matrix_mautrix_bluesky_metrics_proxying_enabled: false +matrix_mautrix_bluesky_metrics_proxying_hostname: '' +matrix_mautrix_bluesky_metrics_proxying_path_prefix: '' + +# Default configuration template which covers the generic use case. +# You can customize it by controlling the various variables inside it. +# +# For a more advanced customization, you can extend the default (see `matrix_mautrix_bluesky_configuration_extension_yaml`) +# or completely replace this variable with your own template. +matrix_mautrix_bluesky_configuration_yaml: "{{ lookup('template', 'templates/config.yaml.j2') }}" + +matrix_mautrix_bluesky_configuration_extension_yaml: | + # Your custom YAML configuration goes here. + # This configuration extends the default starting configuration (`matrix_mautrix_bluesky_configuration_yaml`). + # + # You can override individual variables from the default configuration, or introduce new ones. + # + # If you need something more special, you can take full control by + # completely redefining `matrix_mautrix_bluesky_configuration_yaml`. + +matrix_mautrix_bluesky_configuration_extension: "{{ matrix_mautrix_bluesky_configuration_extension_yaml | from_yaml if matrix_mautrix_bluesky_configuration_extension_yaml | from_yaml is mapping else {} }}" + +# Holds the final configuration (a combination of the default and its extension). +# You most likely don't need to touch this variable. Instead, see `matrix_mautrix_bluesky_configuration_yaml`. +matrix_mautrix_bluesky_configuration: "{{ matrix_mautrix_bluesky_configuration_yaml | from_yaml | combine(matrix_mautrix_bluesky_configuration_extension, recursive=True) }}" + +matrix_mautrix_bluesky_registration_yaml: | + id: bluesky + as_token: "{{ matrix_mautrix_bluesky_appservice_token }}" + hs_token: "{{ matrix_mautrix_bluesky_homeserver_token }}" + namespaces: + users: + - exclusive: true + regex: '^@bluesky_.+:{{ matrix_mautrix_bluesky_homeserver_domain | regex_escape }}$' + - exclusive: true + regex: '^@{{ matrix_mautrix_bluesky_appservice_bot_username | regex_escape }}:{{ matrix_mautrix_bluesky_homeserver_domain | regex_escape }}$' + url: {{ matrix_mautrix_bluesky_appservice_address }} + sender_localpart: _bot_{{ matrix_mautrix_bluesky_appservice_bot_username }} + rate_limited: false + de.sorunome.msc2409.push_ephemeral: true + receive_ephemeral: true + +matrix_mautrix_bluesky_registration: "{{ matrix_mautrix_bluesky_registration_yaml | from_yaml }}" + +# Enable End-to-bridge encryption +matrix_mautrix_bluesky_bridge_encryption_allow: "{{ matrix_bridges_encryption_enabled }}" +matrix_mautrix_bluesky_bridge_encryption_default: "{{ matrix_bridges_encryption_default }}" +matrix_mautrix_bluesky_bridge_encryption_require: false +matrix_mautrix_bluesky_bridge_encryption_appservice: false +matrix_mautrix_bluesky_bridge_encryption_key_sharing_allow: "{{ matrix_mautrix_bluesky_bridge_encryption_allow }}" +matrix_mautrix_bluesky_bridge_encryption_pickle_key: mautrix.bridge.e2ee diff --git a/roles/custom/matrix-bridge-mautrix-bluesky/tasks/main.yml b/roles/custom/matrix-bridge-mautrix-bluesky/tasks/main.yml new file mode 100644 index 000000000..dd56963ab --- /dev/null +++ b/roles/custom/matrix-bridge-mautrix-bluesky/tasks/main.yml @@ -0,0 +1,20 @@ +--- + +- tags: + - setup-all + - setup-mautrix-bluesky + - install-all + - install-mautrix-bluesky + block: + - when: matrix_mautrix_bluesky_enabled | bool + ansible.builtin.include_tasks: "{{ role_path }}/tasks/validate_config.yml" + + - when: matrix_mautrix_bluesky_enabled | bool + ansible.builtin.include_tasks: "{{ role_path }}/tasks/setup_install.yml" + +- tags: + - setup-all + - setup-mautrix-bluesky + block: + - when: not matrix_mautrix_bluesky_enabled | bool + ansible.builtin.include_tasks: "{{ role_path }}/tasks/setup_uninstall.yml" diff --git a/roles/custom/matrix-bridge-mautrix-bluesky/tasks/setup_install.yml b/roles/custom/matrix-bridge-mautrix-bluesky/tasks/setup_install.yml new file mode 100644 index 000000000..17fbaed14 --- /dev/null +++ b/roles/custom/matrix-bridge-mautrix-bluesky/tasks/setup_install.yml @@ -0,0 +1,98 @@ +--- + +- ansible.builtin.set_fact: + matrix_mautrix_bluesky_requires_restart: false + +- name: Ensure Mautrix Bluesky image is pulled + community.docker.docker_image: + name: "{{ matrix_mautrix_bluesky_docker_image }}" + source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}" + force_source: "{{ matrix_mautrix_bluesky_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" + force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_mautrix_bluesky_docker_image_force_pull }}" + when: matrix_mautrix_bluesky_enabled | bool and not matrix_mautrix_bluesky_container_image_self_build + register: result + retries: "{{ devture_playbook_help_container_retries_count }}" + delay: "{{ devture_playbook_help_container_retries_delay }}" + until: result is not failed + +- name: Ensure Mautrix Bluesky paths exist + ansible.builtin.file: + path: "{{ item.path }}" + state: directory + mode: 0750 + owner: "{{ matrix_user_username }}" + group: "{{ matrix_user_groupname }}" + with_items: + - {path: "{{ matrix_mautrix_bluesky_base_path }}", when: true} + - {path: "{{ matrix_mautrix_bluesky_config_path }}", when: true} + - {path: "{{ matrix_mautrix_bluesky_data_path }}", when: true} + - {path: "{{ matrix_mautrix_bluesky_docker_src_files_path }}", when: "{{ matrix_mautrix_bluesky_container_image_self_build }}"} + when: item.when | bool + +- name: Ensure Mautrix Bluesky repository is present on self-build + ansible.builtin.git: + repo: "{{ matrix_mautrix_bluesky_container_image_self_build_repo }}" + version: "{{ matrix_mautrix_bluesky_container_image_self_build_repo_version }}" + dest: "{{ matrix_mautrix_bluesky_docker_src_files_path }}" + force: "yes" + become: true + become_user: "{{ matrix_user_username }}" + register: matrix_mautrix_bluesky_git_pull_results + when: "matrix_mautrix_bluesky_enabled | bool and matrix_mautrix_bluesky_container_image_self_build" + +- name: Ensure Mautrix Bluesky Docker image is built + community.docker.docker_image: + name: "{{ matrix_mautrix_bluesky_docker_image }}" + source: build + force_source: "{{ matrix_mautrix_bluesky_git_pull_results.changed }}" + build: + dockerfile: Dockerfile + path: "{{ matrix_mautrix_bluesky_docker_src_files_path }}" + pull: true + when: "matrix_mautrix_bluesky_enabled | bool and matrix_mautrix_bluesky_container_image_self_build | bool" + +- name: Ensure mautrix-bluesky config.yaml installed + ansible.builtin.copy: + content: "{{ matrix_mautrix_bluesky_configuration | to_nice_yaml(indent=2, width=999999) }}" + dest: "{{ matrix_mautrix_bluesky_config_path }}/config.yaml" + mode: 0644 + owner: "{{ matrix_user_username }}" + group: "{{ matrix_user_groupname }}" + +- name: Ensure mautrix-bluesky registration.yaml installed + ansible.builtin.copy: + content: "{{ matrix_mautrix_bluesky_registration | to_nice_yaml(indent=2, width=999999) }}" + dest: "{{ matrix_mautrix_bluesky_config_path }}/registration.yaml" + mode: 0644 + owner: "{{ matrix_user_username }}" + group: "{{ matrix_user_groupname }}" + +- name: Ensure mautrix-bluesky support files installed + ansible.builtin.template: + src: "{{ role_path }}/templates/{{ item }}.j2" + dest: "{{ matrix_mautrix_bluesky_base_path }}/{{ item }}" + mode: 0640 + owner: "{{ matrix_user_username }}" + group: "{{ matrix_user_groupname }}" + with_items: + - labels + +- name: Ensure matrix-mautrix-bluesky container network is created + community.general.docker_network: + enable_ipv6: "{{ devture_systemd_docker_base_ipv6_enabled }}" + name: "{{ matrix_mautrix_bluesky_container_network }}" + driver: bridge + driver_options: "{{ devture_systemd_docker_base_container_networks_driver_options }}" + +- name: Ensure matrix-mautrix-bluesky.service installed + ansible.builtin.template: + src: "{{ role_path }}/templates/systemd/matrix-mautrix-bluesky.service.j2" + dest: "{{ devture_systemd_docker_base_systemd_path }}/matrix-mautrix-bluesky.service" + mode: 0644 + +- name: Ensure matrix-mautrix-bluesky.service restarted, if necessary + ansible.builtin.service: + name: "matrix-mautrix-bluesky.service" + state: restarted + daemon_reload: true + when: "matrix_mautrix_bluesky_requires_restart | bool" diff --git a/roles/custom/matrix-bridge-mautrix-bluesky/tasks/setup_uninstall.yml b/roles/custom/matrix-bridge-mautrix-bluesky/tasks/setup_uninstall.yml new file mode 100644 index 000000000..c3c170699 --- /dev/null +++ b/roles/custom/matrix-bridge-mautrix-bluesky/tasks/setup_uninstall.yml @@ -0,0 +1,19 @@ +--- + +- name: Check existence of matrix-mautrix-bluesky service + ansible.builtin.stat: + path: "{{ devture_systemd_docker_base_systemd_path }}/matrix-mautrix-bluesky.service" + register: matrix_mautrix_bluesky_service_stat + +- when: matrix_mautrix_bluesky_service_stat.stat.exists | bool + block: + - name: Ensure matrix-mautrix-bluesky is stopped + ansible.builtin.service: + name: matrix-mautrix-bluesky + state: stopped + daemon_reload: true + + - name: Ensure matrix-mautrix-bluesky.service doesn't exist + ansible.builtin.file: + path: "{{ devture_systemd_docker_base_systemd_path }}/matrix-mautrix-bluesky.service" + state: absent diff --git a/roles/custom/matrix-bridge-mautrix-bluesky/tasks/validate_config.yml b/roles/custom/matrix-bridge-mautrix-bluesky/tasks/validate_config.yml new file mode 100644 index 000000000..acd3c30cd --- /dev/null +++ b/roles/custom/matrix-bridge-mautrix-bluesky/tasks/validate_config.yml @@ -0,0 +1,15 @@ +--- + +- name: Fail if required mautrix-bluesky settings not defined + ansible.builtin.fail: + msg: >- + You need to define a required configuration setting (`{{ item.name }}`). + when: "item.when | bool and vars[item.name] == ''" + with_items: + - {'name': 'matrix_mautrix_bluesky_appservice_token', when: true} + - {'name': 'matrix_mautrix_bluesky_homeserver_address', when: true} + - {'name': 'matrix_mautrix_bluesky_homeserver_token', when: true} + - {'name': 'matrix_mautrix_bluesky_database_hostname', when: "{{ matrix_mautrix_bluesky_database_engine == 'postgres' }}"} + - {'name': 'matrix_mautrix_bluesky_container_network', when: true} + - {'name': 'matrix_mautrix_bluesky_metrics_proxying_hostname', when: "{{ matrix_mautrix_bluesky_metrics_proxying_enabled }}"} + - {'name': 'matrix_mautrix_bluesky_metrics_proxying_path_prefix', when: "{{ matrix_mautrix_bluesky_metrics_proxying_enabled }}"} diff --git a/roles/custom/matrix-bridge-mautrix-bluesky/templates/config.yaml.j2 b/roles/custom/matrix-bridge-mautrix-bluesky/templates/config.yaml.j2 new file mode 100644 index 000000000..156c68048 --- /dev/null +++ b/roles/custom/matrix-bridge-mautrix-bluesky/templates/config.yaml.j2 @@ -0,0 +1,428 @@ +#jinja2: lstrip_blocks: "True" +# Network-specific config options +network: + # Proxy to use for all Bluesky connections. + proxy: null + # Alternative to proxy: an HTTP endpoint that returns the proxy URL to use for Bluesky connections. + get_proxy_url: null + + # Displayname template for Bluesky users. + # {% raw %} + # {{ .DisplayName }} is replaced with the display name of the Bluesky user. + # {{ .Username }} is replaced with the username of the Bluesky user. + # {% endraw %} + displayname_template: "{% raw %}{{ .DisplayName }}{% endraw %} (Bluesky)" + + # Maximum number of conversations to sync on startup + conversation_sync_limit: 20 + + +# Config options that affect the central bridge module. +bridge: + # The prefix for commands. Only required in non-management rooms. + command_prefix: {{ matrix_mautrix_bluesky_bridge_command_prefix | to_json }} + # Should the bridge create a space for each login containing the rooms that account is in? + personal_filtering_spaces: true + # Whether the bridge should set names and avatars explicitly for DM portals. + # This is only necessary when using clients that don't support MSC4171. + private_chat_portal_meta: true + # Should events be handled asynchronously within portal rooms? + # If true, events may end up being out of order, but slow events won't block other ones. + # This is not yet safe to use. + async_events: false + # Should every user have their own portals rather than sharing them? + # By default, users who are in the same group on the remote network will be + # in the same Matrix room bridged to that group. If this is set to true, + # every user will get their own Matrix room instead. + split_portals: false + # Should the bridge resend `m.bridge` events to all portals on startup? + resend_bridge_info: false + + # Should leaving Matrix rooms be bridged as leaving groups on the remote network? + bridge_matrix_leave: false + # Should room tags only be synced when creating the portal? Tags mean things like favorite/pin and archive/low priority. + # Tags currently can't be synced back to the remote network, so a continuous sync means tagging from Matrix will be undone. + tag_only_on_create: true + # List of tags to allow bridging. If empty, no tags will be bridged. + only_bridge_tags: [m.favourite, m.lowpriority] + # Should room mute status only be synced when creating the portal? + # Like tags, mutes can't currently be synced back to the remote network. + mute_only_on_create: true + + # What should be done to portal rooms when a user logs out or is logged out? + # Permitted values: + # nothing - Do nothing, let the user stay in the portals + # kick - Remove the user from the portal rooms, but don't delete them + # unbridge - Remove all ghosts in the room and disassociate it from the remote chat + # delete - Remove all ghosts and users from the room (i.e. delete it) + cleanup_on_logout: + # Should cleanup on logout be enabled at all? + enabled: false + # Settings for manual logouts (explicitly initiated by the Matrix user) + manual: + # Action for private portals which will never be shared with other Matrix users. + private: nothing + # Action for portals with a relay user configured. + relayed: nothing + # Action for portals which may be shared, but don't currently have any other Matrix users. + shared_no_users: nothing + # Action for portals which have other logged-in Matrix users. + shared_has_users: nothing + # Settings for credentials being invalidated (initiated by the remote network, possibly through user action). + # Keys have the same meanings as in the manual section. + bad_credentials: + private: nothing + relayed: nothing + shared_no_users: nothing + shared_has_users: nothing + + # Settings for relay mode + relay: + # Whether relay mode should be allowed. If allowed, the set-relay command can be used to turn any + # authenticated user into a relaybot for that chat. + enabled: false + # Should only admins be allowed to set themselves as relay users? + # If true, non-admins can only set users listed in default_relays as relays in a room. + admin_only: true + # List of user login IDs which anyone can set as a relay, as long as the relay user is in the room. + default_relays: [] + # The formats to use when sending messages via the relaybot. + # Available variables: + # .Sender.UserID - The Matrix user ID of the sender. + # .Sender.Displayname - The display name of the sender (if set). + # .Sender.RequiresDisambiguation - Whether the sender's name may be confused with the name of another user in the room. + # .Sender.DisambiguatedName - The disambiguated name of the sender. This will be the displayname if set, + # plus the user ID in parentheses if the displayname is not unique. + # If the displayname is not set, this is just the user ID. + # .Message - The `formatted_body` field of the message. + # .Caption - The `formatted_body` field of the message, if it's a caption. Otherwise an empty string. + # .FileName - The name of the file being sent. + message_formats: + m.text: "{% raw %}{{ .Sender.DisambiguatedName }}: {{ .Message }}{% endraw %}" + m.notice: "{% raw %}{{ .Sender.DisambiguatedName }}: {{ .Message }}{% endraw %}" + m.emote: "{% raw %}* {{ .Sender.DisambiguatedName }} {{ .Message }}{% endraw %}" + m.file: "{% raw %}{{ .Sender.DisambiguatedName }} sent a file{{ if .Caption }}: {{ .Caption }}{{ end }}{% endraw %}" + m.image: "{% raw %}{{ .Sender.DisambiguatedName }} sent an image{{ if .Caption }}: {{ .Caption }}{{ end }}{% endraw %}" + m.audio: "{% raw %}{{ .Sender.DisambiguatedName }} sent an audio file{{ if .Caption }}: {{ .Caption }}{{ end }}{% endraw %}" + m.video: "{% raw %}{{ .Sender.DisambiguatedName }} sent a video{{ if .Caption }}: {{ .Caption }}{{ end }}{% endraw %}" + m.location: "{% raw %}{{ .Sender.DisambiguatedName }} sent a location{{ if .Caption }}: {{ .Caption }}{{ end }}{% endraw %}" + # For networks that support per-message displaynames (i.e. Slack and Discord), the template for those names. + # This has all the Sender variables available under message_formats (but without the .Sender prefix). + # Note that you need to manually remove the displayname from message_formats above. + displayname_format: "{% raw %}{{ .DisambiguatedName }}{% endraw %}" + + # Permissions for using the bridge. + # Permitted values: + # relay - Talk through the relaybot (if enabled), no access otherwise + # commands - Access to use commands in the bridge, but not login. + # user - Access to use the bridge with puppeting. + # admin - Full access, user level with some additional administration tools. + # Permitted keys: + # * - All Matrix users + # domain - All users on that homeserver + # mxid - Specific user + permissions: {{ matrix_mautrix_bluesky_bridge_permissions | to_json }} + +# Config for the bridge's database. +database: + # The database type. "sqlite3-fk-wal" and "postgres" are supported. + type: postgres + # The database URI. + # SQLite: A raw file path is supported, but `file:?_txlock=immediate` is recommended. + # https://github.com/mattn/go-sqlite3#connection-string + # Postgres: Connection string. For example, postgres://user:password@host/database?sslmode=disable + # To connect via Unix socket, use something like postgres:///dbname?host=/var/run/postgresql + uri: {{ matrix_mautrix_bluesky_database_uri | to_json }} + # Maximum number of connections. + max_open_conns: 5 + max_idle_conns: 1 + # Maximum connection idle time and lifetime before they're closed. Disabled if null. + # Parsed with https://pkg.go.dev/time#ParseDuration + max_conn_idle_time: null + max_conn_lifetime: null + +# Homeserver details. +homeserver: + # The address that this appservice can use to connect to the homeserver. + # Local addresses without HTTPS are generally recommended when the bridge is running on the same machine, + # but https also works if they run on different machines. + address: {{ matrix_mautrix_bluesky_homeserver_address | to_json }} + # The domain of the homeserver (also known as server_name, used for MXIDs, etc). + domain: {{ matrix_mautrix_bluesky_homeserver_domain | to_json }} + + # What software is the homeserver running? + # Standard Matrix homeservers like Synapse, Dendrite and Conduit should just use "standard" here. + software: standard + # The URL to push real-time bridge status to. + # If set, the bridge will make POST requests to this URL whenever a user's remote network connection state changes. + # The bridge will use the appservice as_token to authorize requests. + status_endpoint: + # Endpoint for reporting per-message status. + # If set, the bridge will make POST requests to this URL when processing a message from Matrix. + # It will make one request when receiving the message (step BRIDGE), one after decrypting if applicable + # (step DECRYPTED) and one after sending to the remote network (step REMOTE). Errors will also be reported. + # The bridge will use the appservice as_token to authorize requests. + message_send_checkpoint_endpoint: + # Does the homeserver support https://github.com/matrix-org/matrix-spec-proposals/pull/2246? + async_media: false + + # Should the bridge use a websocket for connecting to the homeserver? + # The server side is currently not documented anywhere and is only implemented by mautrix-wsproxy, + # mautrix-asmux (deprecated), and hungryserv (proprietary). + websocket: false + # How often should the websocket be pinged? Pinging will be disabled if this is zero. + ping_interval_seconds: 0 + +# Application service host/registration related details. +# Changing these values requires regeneration of the registration (except when noted otherwise) +appservice: + # The address that the homeserver can use to connect to this appservice. + # Like the homeserver address, a local non-https address is recommended when the bridge is on the same machine. + # If the bridge is elsewhere, you must secure the connection yourself (e.g. with https or wireguard) + # If you want to use https, you need to use a reverse proxy. The bridge does not have TLS support built in. + address: {{ matrix_mautrix_bluesky_appservice_address | to_json }} + # A public address that external services can use to reach this appservice. + # This is only needed for things like public media. A reverse proxy is generally necessary when using this field. + # This value doesn't affect the registration file. + public_address: {{ matrix_mautrix_bluesky_appservice_public_address | to_json }} + + # The hostname and port where this appservice should listen. + # For Docker, you generally have to change the hostname to 0.0.0.0. + hostname: 0.0.0.0 + port: 29340 + + # The unique ID of this appservice. + id: bluesky + # Appservice bot details. + bot: + # Username of the appservice bot. + username: {{ matrix_mautrix_bluesky_appservice_bot_username | to_json }} + # Display name and avatar for bot. Set to "remove" to remove display name/avatar, leave empty + # to leave display name/avatar as-is. + displayname: {{ matrix_mautrix_bluesky_appservice_bot_displayname | to_json }} + avatar: {{ matrix_mautrix_bluesky_appservice_bot_avatar | to_json }} + + # Whether to receive ephemeral events via appservice transactions. + ephemeral_events: true + # Should incoming events be handled asynchronously? + # This may be necessary for large public instances with lots of messages going through. + # However, messages will not be guaranteed to be bridged in the same order they were sent in. + # This value doesn't affect the registration file. + async_transactions: false + # Whether to use MSC4190 instead of appservice login to create the bridge bot device. + # Requires the homeserver to support MSC4190 and the device masquerading parts of MSC3202. + # Only relevant when using end-to-bridge encryption, required when using encryption with next-gen auth (MSC3861). + msc4190: false + + # Authentication tokens for AS <-> HS communication. Autogenerated; do not modify. + as_token: {{ matrix_mautrix_bluesky_appservice_token | to_json }} + hs_token: {{ matrix_mautrix_bluesky_homeserver_token | to_json }} + + # Localpart template of MXIDs for remote users. + # {% raw %}{{.}}{% endraw %} is replaced with the internal ID of the user. + username_template: "{% raw %}bluesky_{{.}}{% endraw %}" + +# Config options that affect the Matrix connector of the bridge. +matrix: + # Whether the bridge should send the message status as a custom com.beeper.message_send_status event. + message_status_events: false + # Whether the bridge should send a read receipt after successfully bridging a message. + delivery_receipts: false + # Whether the bridge should send error notices via m.notice events when a message fails to bridge. + message_error_notices: true + # Whether the bridge should update the m.direct account data event when double puppeting is enabled. + sync_direct_chat_list: true + # Whether created rooms should have federation enabled. If false, created portal rooms + # will never be federated. Changing this option requires recreating rooms. + federate_rooms: {{ matrix_mautrix_bluesky_matrix_federate_rooms | to_json }} + # The threshold as bytes after which the bridge should roundtrip uploads via the disk + # rather than keeping the whole file in memory. + upload_file_threshold: 5242880 + +# Segment-compatible analytics endpoint for tracking some events, like provisioning API login and encryption errors. +analytics: + # API key to send with tracking requests. Tracking is disabled if this is null. + token: null + # Address to send tracking requests to. + url: https://api.segment.io/v1/track + # Optional user ID for tracking events. If null, defaults to using Matrix user ID. + user_id: null + +# Settings for provisioning API +provisioning: + # Prefix for the provisioning API paths. + prefix: /_matrix/provision + # Shared secret for authentication. If set to "generate" or null, a random secret will be generated, + # or if set to "disable", the provisioning API will be disabled. + shared_secret: {{ matrix_mautrix_bluesky_provisioning_shared_secret | to_json }} + # Whether to allow provisioning API requests to be authed using Matrix access tokens. + # This follows the same rules as double puppeting to determine which server to contact to check the token, + # which means that by default, it only works for users on the same server as the bridge. + allow_matrix_auth: true + # Enable debug API at /debug with provisioning authentication. + debug_endpoints: false + +# Some networks require publicly accessible media download links (e.g. for user avatars when using Discord webhooks). +# These settings control whether the bridge will provide such public media access. +public_media: + # Should public media be enabled at all? + # The public_address field under the appservice section MUST be set when enabling public media. + enabled: false + # A key for signing public media URLs. + # If set to "generate", a random key will be generated. + signing_key: "" + # Number of seconds that public media URLs are valid for. + # If set to 0, URLs will never expire. + expiry: 0 + # Length of hash to use for public media URLs. Must be between 0 and 32. + hash_length: 32 + +# Settings for converting remote media to custom mxc:// URIs instead of reuploading. +# More details can be found at https://docs.mau.fi/bridges/go/discord/direct-media.html +direct_media: + # Should custom mxc:// URIs be used instead of reuploading media? + enabled: false + # The server name to use for the custom mxc:// URIs. + # This server name will effectively be a real Matrix server, it just won't implement anything other than media. + # You must either set up .well-known delegation from this domain to the bridge, or proxy the domain directly to the bridge. + server_name: discord-media.example.com + # Optionally a custom .well-known response. This defaults to `server_name:443` + well_known_response: + # Optionally specify a custom prefix for the media ID part of the MXC URI. + media_id_prefix: + # If the remote network supports media downloads over HTTP, then the bridge will use MSC3860/MSC3916 + # media download redirects if the requester supports it. Optionally, you can force redirects + # and not allow proxying at all by setting this to false. + # This option does nothing if the remote network does not support media downloads over HTTP. + allow_proxy: true + # Matrix server signing key to make the federation tester pass, same format as synapse's .signing.key file. + # This key is also used to sign the mxc:// URIs to ensure only the bridge can generate them. + server_key: "" + +# Settings for backfilling messages. +# Note that the exact way settings are applied depends on the network connector. +# See https://docs.mau.fi/bridges/general/backfill.html for more details. +backfill: + # Whether to do backfilling at all. + enabled: {{ matrix_mautrix_bluesky_backfill_enabled | to_json }} + # Maximum number of messages to backfill in empty rooms. + max_initial_messages: {{ matrix_mautrix_bluesky_backfill_max_initial_messages | to_json }} + # Maximum number of missed messages to backfill after bridge restarts. + max_catchup_messages: {{ matrix_mautrix_bluesky_backfill_max_catchup_messages | to_json }} + # If a backfilled chat is older than this number of hours, + # mark it as read even if it's unread on the remote network. + unread_hours_threshold: 720 + # Settings for backfilling threads within other backfills. + threads: + # Maximum number of messages to backfill in a new thread. + max_initial_messages: 50 + # Settings for the backwards backfill queue. This only applies when connecting to + # Beeper as standard Matrix servers don't support inserting messages into history. + queue: + # Should the backfill queue be enabled? + enabled: false + # Number of messages to backfill in one batch. + batch_size: 100 + # Delay between batches in seconds. + batch_delay: 20 + # Maximum number of batches to backfill per portal. + # If set to -1, all available messages will be backfilled. + max_batches: -1 + # Optional network-specific overrides for max batches. + # Interpretation of this field depends on the network connector. + max_batches_override: {} + +# Settings for enabling double puppeting +double_puppet: + # Servers to always allow double puppeting from. + # This is only for other servers and should NOT contain the server the bridge is on. + servers: {} + # Whether to allow client API URL discovery for other servers. When using this option, + # users on other servers can use double puppeting even if their server URLs aren't + # explicitly added to the servers map above. + allow_discovery: false + # Shared secrets for automatic double puppeting. + # See https://docs.mau.fi/bridges/general/double-puppeting.html for instructions. + secrets: {{ matrix_mautrix_bluesky_double_puppet_secrets | to_json }} + +# End-to-bridge encryption support options. +# +# See https://docs.mau.fi/bridges/general/end-to-bridge-encryption.html for more info. +encryption: + # Whether to enable encryption at all. If false, the bridge will not function in encrypted rooms. + allow: {{ matrix_mautrix_bluesky_bridge_encryption_allow | to_json }} + # Whether to force-enable encryption in all bridged rooms. + default: {{ matrix_mautrix_bluesky_bridge_encryption_default | to_json }} + # Whether to require all messages to be encrypted and drop any unencrypted messages. + require: {{ matrix_mautrix_bluesky_bridge_encryption_require | to_json }} + # Whether to use MSC2409/MSC3202 instead of /sync long polling for receiving encryption-related data. + # This option is not yet compatible with standard Matrix servers like Synapse and should not be used. + appservice: {{ matrix_mautrix_bluesky_bridge_encryption_appservice | to_json }} + # Enable key sharing? If enabled, key requests for rooms where users are in will be fulfilled. + # You must use a client that supports requesting keys from other users to use this feature. + allow_key_sharing: {{ matrix_mautrix_bluesky_bridge_encryption_key_sharing_allow | to_json }} + # Pickle key for encrypting encryption keys in the bridge database. + # If set to generate, a random key will be generated. + pickle_key: {{ matrix_mautrix_bluesky_bridge_encryption_pickle_key | to_json }} + # Options for deleting megolm sessions from the bridge. + delete_keys: + # Beeper-specific: delete outbound sessions when hungryserv confirms + # that the user has uploaded the key to key backup. + delete_outbound_on_ack: false + # Don't store outbound sessions in the inbound table. + dont_store_outbound: false + # Ratchet megolm sessions forward after decrypting messages. + ratchet_on_decrypt: false + # Delete fully used keys (index >= max_messages) after decrypting messages. + delete_fully_used_on_decrypt: false + # Delete previous megolm sessions from same device when receiving a new one. + delete_prev_on_new_session: false + # Delete megolm sessions received from a device when the device is deleted. + delete_on_device_delete: false + # Periodically delete megolm sessions when 2x max_age has passed since receiving the session. + periodically_delete_expired: false + # Delete inbound megolm sessions that don't have the received_at field used for + # automatic ratcheting and expired session deletion. This is meant as a migration + # to delete old keys prior to the bridge update. + delete_outdated_inbound: false + # What level of device verification should be required from users? + # + # Valid levels: + # unverified - Send keys to all device in the room. + # cross-signed-untrusted - Require valid cross-signing, but trust all cross-signing keys. + # cross-signed-tofu - Require valid cross-signing, trust cross-signing keys on first use (and reject changes). + # cross-signed-verified - Require valid cross-signing, plus a valid user signature from the bridge bot. + # Note that creating user signatures from the bridge bot is not currently possible. + # verified - Require manual per-device verification + # (currently only possible by modifying the `trust` column in the `crypto_device` database table). + verification_levels: + # Minimum level for which the bridge should send keys to when bridging messages from the remote network to Matrix. + receive: unverified + # Minimum level that the bridge should accept for incoming Matrix messages. + send: unverified + # Minimum level that the bridge should require for accepting key requests. + share: cross-signed-tofu + # Options for Megolm room key rotation. These options allow you to configure the m.room.encryption event content. + # See https://spec.matrix.org/v1.10/client-server-api/#mroomencryption for more information about that event. + rotation: + # Enable custom Megolm room key rotation settings. Note that these + # settings will only apply to rooms created after this option is set. + enable_custom: false + # The maximum number of milliseconds a session should be used + # before changing it. The Matrix spec recommends 604800000 (a week) + # as the default. + milliseconds: 604800000 + # The maximum number of messages that should be sent with a given a + # session before changing it. The Matrix spec recommends 100 as the + # default. + messages: 100 + # Disable rotating keys when a user's devices change? + # You should not enable this option unless you understand all the implications. + disable_device_change_key_rotation: false + +# Logging config. See https://github.com/tulir/zeroconfig for details. +logging: + min_level: {{ matrix_mautrix_bluesky_logging_level | to_json }} + writers: + - type: stdout + format: pretty-colored diff --git a/roles/custom/matrix-bridge-mautrix-bluesky/templates/labels.j2 b/roles/custom/matrix-bridge-mautrix-bluesky/templates/labels.j2 new file mode 100644 index 000000000..876f48012 --- /dev/null +++ b/roles/custom/matrix-bridge-mautrix-bluesky/templates/labels.j2 @@ -0,0 +1,46 @@ +{% if matrix_mautrix_bluesky_container_labels_traefik_enabled %} +traefik.enable=true + +{% if matrix_mautrix_bluesky_container_labels_traefik_docker_network %} +traefik.docker.network={{ matrix_mautrix_bluesky_container_labels_traefik_docker_network }} +{% endif %} + +traefik.http.services.matrix-mautrix-bluesky-metrics.loadbalancer.server.port=8000 + +{% if matrix_mautrix_bluesky_container_labels_metrics_enabled %} +############################################################ +# # +# Metrics # +# # +############################################################ + +{% if matrix_mautrix_bluesky_container_labels_metrics_middleware_basic_auth_enabled %} +traefik.http.middlewares.matrix-mautrix-bluesky-metrics-basic-auth.basicauth.users={{ matrix_mautrix_bluesky_container_labels_metrics_middleware_basic_auth_users }} +traefik.http.routers.matrix-mautrix-bluesky-metrics.middlewares=matrix-mautrix-bluesky-metrics-basic-auth +{% endif %} + +traefik.http.routers.matrix-mautrix-bluesky-metrics.rule={{ matrix_mautrix_bluesky_container_labels_metrics_traefik_rule }} + +{% if matrix_mautrix_bluesky_container_labels_metrics_traefik_priority | int > 0 %} +traefik.http.routers.matrix-mautrix-bluesky-metrics.priority={{ matrix_mautrix_bluesky_container_labels_metrics_traefik_priority }} +{% endif %} + +traefik.http.routers.matrix-mautrix-bluesky-metrics.service=matrix-mautrix-bluesky-metrics +traefik.http.routers.matrix-mautrix-bluesky-metrics.entrypoints={{ matrix_mautrix_bluesky_container_labels_metrics_traefik_entrypoints }} + +traefik.http.routers.matrix-mautrix-bluesky-metrics.tls={{ matrix_mautrix_bluesky_container_labels_metrics_traefik_tls | to_json }} +{% if matrix_mautrix_bluesky_container_labels_metrics_traefik_tls %} +traefik.http.routers.matrix-mautrix-bluesky-metrics.tls.certResolver={{ matrix_mautrix_bluesky_container_labels_metrics_traefik_tls_certResolver }} +{% endif %} + +############################################################ +# # +# /Metrics # +# # +############################################################ +{% endif %} + + +{% endif %} + +{{ matrix_mautrix_bluesky_container_labels_additional_labels }} diff --git a/roles/custom/matrix-bridge-mautrix-bluesky/templates/systemd/matrix-mautrix-bluesky.service.j2 b/roles/custom/matrix-bridge-mautrix-bluesky/templates/systemd/matrix-mautrix-bluesky.service.j2 new file mode 100644 index 000000000..b26d402b3 --- /dev/null +++ b/roles/custom/matrix-bridge-mautrix-bluesky/templates/systemd/matrix-mautrix-bluesky.service.j2 @@ -0,0 +1,48 @@ +#jinja2: lstrip_blocks: "True" +[Unit] +Description=Matrix Mautrix Bluesky bridge +{% for service in matrix_mautrix_bluesky_systemd_required_services_list %} +Requires={{ service }} +After={{ service }} +{% endfor %} +{% for service in matrix_mautrix_bluesky_systemd_wanted_services_list %} +Wants={{ service }} +{% endfor %} +DefaultDependencies=no + +[Service] +Type=simple +Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-bluesky 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mautrix-bluesky 2>/dev/null || true' + +ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ + --rm \ + --name=matrix-mautrix-bluesky \ + --log-driver=none \ + --user={{ matrix_user_uid }}:{{ matrix_user_gid }} \ + --cap-drop=ALL \ + --network={{ matrix_mautrix_bluesky_container_network }} \ + --mount type=bind,src={{ matrix_mautrix_bluesky_config_path }},dst=/config,ro \ + --mount type=bind,src={{ matrix_mautrix_bluesky_data_path }},dst=/data \ + --label-file={{ matrix_mautrix_bluesky_base_path }}/labels \ + {% for arg in matrix_mautrix_bluesky_container_extra_arguments %} + {{ arg }} \ + {% endfor %} + {{ matrix_mautrix_bluesky_docker_image }} \ + /usr/bin/mautrix-bluesky -c /config/config.yaml -r /config/registration.yaml --no-update + +{% for network in matrix_mautrix_bluesky_container_additional_networks %} +ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network connect {{ network }} matrix-mautrix-bluesky +{% endfor %} + +ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-mautrix-bluesky + +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-bluesky 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mautrix-bluesky 2>/dev/null || true' +Restart=always +RestartSec=30 +SyslogIdentifier=matrix-mautrix-bluesky + +[Install] +WantedBy=multi-user.target diff --git a/setup.yml b/setup.yml index d65222648..d36f16c6b 100644 --- a/setup.yml +++ b/setup.yml @@ -75,6 +75,7 @@ - custom/matrix-bridge-mautrix-wsproxy - custom/matrix-bridge-mautrix-discord - custom/matrix-bridge-mautrix-slack + - custom/matrix-bridge-mautrix-bluesky - custom/matrix-bridge-mx-puppet-discord - custom/matrix-bridge-mx-puppet-groupme - custom/matrix-bridge-mx-puppet-steam From 104f1b7838f5b70584c6f9b0fa3490aafddf6fb9 Mon Sep 17 00:00:00 2001 From: Zepmann Date: Wed, 19 Feb 2025 19:08:26 +0100 Subject: [PATCH 406/841] Add documentation for mautrix-bluesky. --- README.md | 1 + ...iguring-playbook-bridge-mautrix-bluesky.md | 68 +++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 docs/configuring-playbook-bridge-mautrix-bluesky.md diff --git a/README.md b/README.md index 9806e2caf..f91e24b3b 100644 --- a/README.md +++ b/README.md @@ -117,6 +117,7 @@ Bridges can be used to connect your Matrix installation with third-party communi | [mautrix-gmessages](https://github.com/mautrix/gmessages) | ❌ | Bridge to [Google Messages](https://messages.google.com/) | [Link](docs/configuring-playbook-bridge-mautrix-gmessages.md) | | [mautrix-whatsapp](https://github.com/mautrix/whatsapp) | ❌ | Bridge to [WhatsApp](https://www.whatsapp.com/) | [Link](docs/configuring-playbook-bridge-mautrix-whatsapp.md) | | [mautrix-wsproxy](https://github.com/mautrix/wsproxy) | ❌ | Bridge to Android SMS or Apple iMessage | [Link](docs/configuring-playbook-bridge-mautrix-wsproxy.md) | +| [mautrix-bluesky](https://github.com/mautrix/bluesky) | ❌ | Bridge to [Bluesky](https://bsky.social/) | [Link](docs/configuring-playbook-bridge-mautrix-bluesky.md) | | [mautrix-twitter](https://github.com/mautrix/twitter) | ❌ | Bridge to [Twitter](https://twitter.com/) | [Link](docs/configuring-playbook-bridge-mautrix-twitter.md) | | [mautrix-googlechat](https://github.com/mautrix/googlechat) | ❌ | Bridge to [Google Chat](https://en.wikipedia.org/wiki/Google_Chat) | [Link](docs/configuring-playbook-bridge-mautrix-googlechat.md) | | [mautrix-meta](https://github.com/mautrix/instagram) | ❌ | Bridge to [Messenger](https://messenger.com/) and [Instagram](https://instagram.com/) | Link for [Messenger](docs/configuring-playbook-bridge-mautrix-meta-messenger.md) / [Instagram](docs/configuring-playbook-bridge-mautrix-meta-instagram.md) | diff --git a/docs/configuring-playbook-bridge-mautrix-bluesky.md b/docs/configuring-playbook-bridge-mautrix-bluesky.md new file mode 100644 index 000000000..6ac9e4417 --- /dev/null +++ b/docs/configuring-playbook-bridge-mautrix-bluesky.md @@ -0,0 +1,68 @@ +# Setting up Mautrix Bluesky bridging (optional) + +Refer the common guide for configuring mautrix bridges: [Setting up a Generic Mautrix Bridge](configuring-playbook-bridge-mautrix-bridges.md) + +The playbook can install and configure [mautrix-bluesky](https://github.com/mautrix/bluesky) for you, which provides a bridge to [Bluesky](https://bsky.social/about). + +See the project's [documentation](https://github.com/mautrix/bluesky/blob/master/README.md) to learn what it does and why it might be useful to you. + +## Prerequisite (optional) + +### Enable Appservice Double Puppet + +If you want to set up [Double Puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html) (hint: you most likely do) for this bridge automatically, you need to have enabled [Appservice Double Puppet](configuring-playbook-appservice-double-puppet.md) service for this playbook. + +See [this section](configuring-playbook-bridge-mautrix-bridges.md#set-up-double-puppeting-optional) on the [common guide for configuring mautrix bridges](configuring-playbook-bridge-mautrix-bridges.md) for details about setting up Double Puppeting. + +## Adjusting the playbook configuration + +To enable the bridge, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: + +```yaml +matrix_mautrix_bluesky_enabled: true +``` + +### Extending the configuration + +There are some additional things you may wish to configure about the bridge. + + +See [this section](configuring-playbook-bridge-mautrix-bridges.md#extending-the-configuration) on the [common guide for configuring mautrix bridges](configuring-playbook-bridge-mautrix-bridges.md) for details about variables that you can customize and the bridge's default configuration, including [bridge permissions](configuring-playbook-bridge-mautrix-bridges.md#configure-bridge-permissions-optional), [encryption support](configuring-playbook-bridge-mautrix-bridges.md#enable-encryption-optional), [bot's username](configuring-playbook-bridge-mautrix-bridges.md#set-the-bots-username-optional), etc. + +## Installing + +After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below: + + +```sh +ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start +``` + +**Notes**: + +- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. + +- The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` + + `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. + +## Usage + +To use the bridge, you need to start a chat with `@blueskybot:example.com` (where `example.com` is your base domain, not the `matrix.` domain). + +You can then follow instructions on the bridge's [official documentation on Authentication](https://docs.mau.fi/bridges/go/bluesky/authentication.html). + +After logging in, the bridge will create portal rooms for some recent chats. Portal rooms for other chats will be created as you receive messages. + +## Troubleshooting + +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-mautrix-bluesky`. + +### Increase logging verbosity + +The default logging level for this component is `warn`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook: + +```yaml +# Valid values: fatal, error, warn, info, debug, trace +matrix_mautrix_bluesky_logging_level: 'debug' +``` From fd78acd67b7aede1c56db39ebb2d499662f2153e Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Fri, 21 Feb 2025 09:21:33 +0200 Subject: [PATCH 407/841] Remove inaccurate mention of `ensure-matrix-users-created` in mautrix-bluesky documentation mautrix bridges run in appservice mode and create their own user automatically. There's no need for `ensure-matrix-users-created`. This patch only fixes the mautrix-blusky bridge's documentation. --- docs/configuring-playbook-bridge-mautrix-bluesky.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/docs/configuring-playbook-bridge-mautrix-bluesky.md b/docs/configuring-playbook-bridge-mautrix-bluesky.md index 6ac9e4417..632f6509a 100644 --- a/docs/configuring-playbook-bridge-mautrix-bluesky.md +++ b/docs/configuring-playbook-bridge-mautrix-bluesky.md @@ -35,13 +35,11 @@ After configuring the playbook, run it with [playbook tags](playbook-tags.md) as ```sh -ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start +ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start ``` **Notes**: -- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. - - The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. From dae0f446034ae594f4ca77fe3c0861ded24ad3f9 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Fri, 21 Feb 2025 10:11:19 +0200 Subject: [PATCH 408/841] Announce mautrix-bluesky support Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/4082 --- CHANGELOG.md | 9 +++++++++ docs/configuring-playbook.md | 2 ++ 2 files changed, 11 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c27faf943..cd3cd5735 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,12 @@ +# 2025-02-21 + +## Support for bridging to Bluesky via mautrix-bluesky + +Thanks to [Zepmann](https://github.com/Zepmann), the playbook now supports bridging to [Bluesky](https://bsky.app/) via [mautrix-bluesky](https://github.com/mautrix/bluesky). + +To learn more, see our [Setting up mautrix-bluesky](./docs/configuring-playbook-bridge-mautrix-bluesky.md) documentation page. + + # 2025-02-19 ## The playbook now defaults to exposing the Coturn STUN port (3478) only over TCP diff --git a/docs/configuring-playbook.md b/docs/configuring-playbook.md index e43376006..5edc22326 100644 --- a/docs/configuring-playbook.md +++ b/docs/configuring-playbook.md @@ -116,6 +116,8 @@ Bridges can be used to connect your Matrix installation with third-party communi - [Setting up a Generic Mautrix Bridge](configuring-playbook-bridge-mautrix-bridges.md) — a common guide for configuring mautrix bridges +- [Setting up Mautrix Bluesky bridging](configuring-playbook-bridge-mautrix-bluesky.md) + - [Setting up Mautrix Discord bridging](configuring-playbook-bridge-mautrix-discord.md) - [Setting up Mautrix Telegram bridging](configuring-playbook-bridge-mautrix-telegram.md) From 74177d9ba3fe9feeeb546af3cc766291918dba0c Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Fri, 21 Feb 2025 16:37:41 +0200 Subject: [PATCH 409/841] Document the state of the `ip6tables` and `experimental` daemon options for Docker --- group_vars/matrix_servers | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index 94e0f3fc9..832fe5df7 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -22,6 +22,14 @@ matrix_playbook_docker_installation_enabled: true matrix_playbook_docker_installation_daemon_options: "{{ matrix_playbook_docker_installation_daemon_options_auto | combine(matrix_playbook_docker_installation_daemon_options_custom, recursive=True) }}" matrix_playbook_docker_installation_daemon_options_auto: + # Since Docker 27.0.1: + # - `experimental` is no longer required to enable `ip6tables` + # - `ip6tables` defaults to enabled + # + # See: https://docs.docker.com/engine/release-notes/27/#ipv6 + # + # Still, we intend to keep these around a while longer to benefit people who are still on older versions. + # In the future, we won't be specifying any of these options by default. experimental: "{{ devture_systemd_docker_base_ipv6_enabled }}" ip6tables: "{{ devture_systemd_docker_base_ipv6_enabled }}" From 0de1b76da763acaf7535a6088c79ba43c0d4eea5 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Fri, 21 Feb 2025 18:34:39 +0200 Subject: [PATCH 410/841] Upgrade systemd_docker_base (v1.3.0-0 -> v1.4.0-0) and make use of the new `devture_systemd_docker_base_ipv6_daemon_options_changing_enabled` variable --- CHANGELOG.md | 32 ++++++++++++++++++++++++++++++++ group_vars/matrix_servers | 23 ++++++++++++----------- requirements.yml | 2 +- 3 files changed, 45 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cd3cd5735..d02bbc69c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,37 @@ # 2025-02-21 +## Docker daemon options are no longer adjusted when IPv6 is enabled + +We landed [initial IPv6 support](#initial-work-on-ipv6-support) in the past via a `devture_systemd_docker_base_ipv6_enabled` variable that one had to toggle to `true`. + +This variable did **2 different things at once**: + +- ensured that container networks were created with IPv6 being enabled +- adjusted the Docker daemon's configuration to set `experimental: true` and `ip6tables: true` (a necessary prerequisite for creating IPv6-enabled networks) + +Since Docker 27.0.1's [changes to how it handles IPv6](https://docs.docker.com/engine/release-notes/27/#ipv6), **adjusting the Docker daemon's configuration is no longer necessary**, because: +- `ip6tables` defaults to `true` for everyone +- `ip6tables` is out of the experimental phase, so `experimental` is no longer necessary + +In light of this, we're introducing a new variable (`devture_systemd_docker_base_ipv6_daemon_options_changing_enabled`) for controlling if IPv6 should be force-enabled in the Docker daemon's configuration options. +Since most people should be on a modern enough Docker daemon version which doesn't require such changes, this variable defaults to `false`. + +This change affects you like this: + +- ✅ if you're **not explicitly enabling IPv6** (via `devture_systemd_docker_base_ipv6_enabled` in your configuration): you're unaffected +- ❓ if you're **explicitly enabling IPv6** (via `devture_systemd_docker_base_ipv6_enabled` in your configuration): + - ✅ .. and you're on a modern enough Docker version (which you most likely are): the playbook will no longer mess with your Docker daemon options. You're unaffected. + - 🔧 .. and you're on an old Docker version, you **are affected** and need to use the following configuration to restore the old behavior: + + ```yml + # Force-enable IPv6 by changing the Docker daemon's options. + # This is necessary for Docker < 27.0.1, but not for newer versions. + devture_systemd_docker_base_ipv6_daemon_options_changing_enabled: true + + # Request that individual container networks are created with IPv6 enabled. + devture_systemd_docker_base_ipv6_enabled: true + ``` + ## Support for bridging to Bluesky via mautrix-bluesky Thanks to [Zepmann](https://github.com/Zepmann), the playbook now supports bridging to [Bluesky](https://bsky.app/) via [mautrix-bluesky](https://github.com/mautrix/bluesky). diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index 832fe5df7..89b5253b3 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -21,17 +21,18 @@ matrix_playbook_docker_installation_enabled: true matrix_playbook_docker_installation_daemon_options: "{{ matrix_playbook_docker_installation_daemon_options_auto | combine(matrix_playbook_docker_installation_daemon_options_custom, recursive=True) }}" -matrix_playbook_docker_installation_daemon_options_auto: - # Since Docker 27.0.1: - # - `experimental` is no longer required to enable `ip6tables` - # - `ip6tables` defaults to enabled - # - # See: https://docs.docker.com/engine/release-notes/27/#ipv6 - # - # Still, we intend to keep these around a while longer to benefit people who are still on older versions. - # In the future, we won't be specifying any of these options by default. - experimental: "{{ devture_systemd_docker_base_ipv6_enabled }}" - ip6tables: "{{ devture_systemd_docker_base_ipv6_enabled }}" +# Since Docker 27.0.1, Docker daemon options do not need to be changed to enable IPv6 support on the daemon side. +# See: https://docs.docker.com/engine/release-notes/27/#ipv6 +# We only enable `ip6tables` and `experimental` for people who explicitly request it (perhaps due to running an old Docker version). +# +# Despite IPv6-enablement at the Docker level being a thing, for IPv6 to work for containers +# networks need to be created with IPv6 explicitly enabled. +# This is controlled by the `devture_systemd_docker_base_ipv6_enabled` variable and it's up to the various roles to +# respect this variable when creating their networks. +matrix_playbook_docker_installation_daemon_options_auto: | + {{ + ({'experimental': true, 'ip6tables': true} if devture_systemd_docker_base_ipv6_daemon_options_changing_enabled else {}) + }} matrix_playbook_docker_installation_daemon_options_custom: {} diff --git a/requirements.yml b/requirements.yml index fd7818cc4..202757e8f 100644 --- a/requirements.yml +++ b/requirements.yml @@ -55,7 +55,7 @@ version: v0.14.0-6 name: prometheus_postgres_exporter - src: git+https://github.com/devture/com.devture.ansible.role.systemd_docker_base.git - version: v1.3.0-0 + version: v1.4.0-0 name: systemd_docker_base - src: git+https://github.com/devture/com.devture.ansible.role.systemd_service_manager.git version: v1.0.0-4 From 00bd973c3b7b46fc7b52ed88db0a8c7259b5207e Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 22 Feb 2025 02:21:06 +0900 Subject: [PATCH 411/841] Update docs/playbook-tags.md: copy the recommendation for using the just command from mash-playbook This is based on https://github.com/mother-of-all-self-hosting/mash-playbook/commit/581e6ca080247dc4343b2eb9458a4e5400498a88. Signed-off-by: Suguru Hirahara --- docs/playbook-tags.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/playbook-tags.md b/docs/playbook-tags.md index cd5cdcb39..42d2354d6 100644 --- a/docs/playbook-tags.md +++ b/docs/playbook-tags.md @@ -1,5 +1,5 @@ # Running this playbook From edc2cab925d8831707f8e6a8c75e749175573d93 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 22 Feb 2025 13:26:33 +0900 Subject: [PATCH 422/841] Update docs/ansible.md: copy from the MASH project It was copied from https://github.com/mother-of-all-self-hosting/mash-playbook/blob/2bc4cc45d7cc5896772a092428fa501728132063/docs/ansible.md Signed-off-by: Suguru Hirahara --- docs/ansible.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/ansible.md b/docs/ansible.md index 0665ed627..7458def5b 100644 --- a/docs/ansible.md +++ b/docs/ansible.md @@ -58,7 +58,7 @@ Once you have a working Docker installation on the server, **clone the playbook* You would then need to add `ansible_connection=community.docker.nsenter` to the host line in `inventory/hosts`. This tells Ansible to connect to the "remote" machine by switching Linux namespaces with [nsenter](https://man7.org/linux/man-pages/man1/nsenter.1.html), instead of using SSH. -Alternatively, you can leave your `inventory/hosts` as is and specify the connection type in **each** `ansible-playbook` call you do later, like this: `ansible-playbook --connection=community.docker.nsenter …` +Alternatively, you can leave your `inventory/hosts` as is and specify the connection type in **each** `ansible-playbook` call you do later, like this: `just install-all --connection=community.docker.nsenter` (or `ansible-playbook --connection=community.docker.nsenter …`). Run this from the playbook's directory: @@ -76,7 +76,7 @@ Once you execute the above command, you'll be dropped into a `/work` directory i First, consider running `git config --global --add safe.directory /work` to [resolve directory ownership issues](#resolve-directory-ownership-issues). -Finally, you can execute `ansible-playbook …` (or `ansible-playbook --connection=community.docker.nsenter …`) commands as per normal now. +Finally, you can execute `just` or `ansible-playbook …` (e.g. `ansible-playbook --connection=community.docker.nsenter …`) commands as per normal now. ### Running Ansible in a container on another computer (not the Matrix server) @@ -97,7 +97,7 @@ Once you execute the above command, you'll be dropped into a `/work` directory i First, consider running `git config --global --add safe.directory /work` to [resolve directory ownership issues](#resolve-directory-ownership-issues). -Finally, you execute `ansible-playbook …` commands as per normal now. +Finally, you execute `just` or `ansible-playbook …` commands as per normal now. #### If you don't use SSH keys for authentication From 5f0b74bac2966126a68c033fbb5bebf8fcb516da Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 22 Feb 2025 13:26:42 +0900 Subject: [PATCH 423/841] Update docs/ansible.md: remove a whitespace character Signed-off-by: Suguru Hirahara --- docs/ansible.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/ansible.md b/docs/ansible.md index 7458def5b..83814cc92 100644 --- a/docs/ansible.md +++ b/docs/ansible.md @@ -109,7 +109,7 @@ To authenticate at your server using a password, you need to add a package. So, apk add sshpass ``` -Then, to be asked for the password whenever running an `ansible-playbook` command add `--ask-pass` to the arguments of the command. +Then, to be asked for the password whenever running an `ansible-playbook` command add `--ask-pass` to the arguments of the command. #### Resolve directory ownership issues From 30997ee2ff73a819dc5c8a4efa6ee68dadfc33c5 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sat, 22 Feb 2025 09:55:03 +0200 Subject: [PATCH 424/841] Upgrade container-socket-proxy (v0.3.0-0 -> v0.3.0-1) --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 2922e701c..01122204e 100644 --- a/requirements.yml +++ b/requirements.yml @@ -7,7 +7,7 @@ version: v1.4.0-1.9.10-2 name: backup_borg - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-container-socket-proxy.git - version: v0.3.0-0 + version: v0.3.0-1 name: container_socket_proxy - src: git+https://github.com/geerlingguy/ansible-role-docker version: 7.4.5 From 804b9007eca18dcf1389ac7638a9b896bbb06ba2 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sat, 22 Feb 2025 10:01:00 +0200 Subject: [PATCH 425/841] Upgrade Traefik (v3.3.3-0 -> v3.3.3-2) --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 01122204e..24de53511 100644 --- a/requirements.yml +++ b/requirements.yml @@ -64,7 +64,7 @@ version: v1.0.0-0 name: timesync - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-traefik.git - version: v3.3.3-0 + version: v3.3.3-2 name: traefik - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-traefik-certs-dumper.git version: v2.8.3-5 From b21a0b367dedf2c42a29cf2f30a4e6d70dd4e81a Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sat, 22 Feb 2025 10:08:37 +0200 Subject: [PATCH 426/841] Upgrade container-socket-proxy (v0.3.0-1 -> v0.3.0-2) --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 24de53511..b5025259f 100644 --- a/requirements.yml +++ b/requirements.yml @@ -7,7 +7,7 @@ version: v1.4.0-1.9.10-2 name: backup_borg - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-container-socket-proxy.git - version: v0.3.0-1 + version: v0.3.0-2 name: container_socket_proxy - src: git+https://github.com/geerlingguy/ansible-role-docker version: 7.4.5 From 87a05ef94b3405b0718557b78e006bd03e05aabb Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sat, 22 Feb 2025 10:23:48 +0200 Subject: [PATCH 427/841] Upgrade Etherpad (v2.2.7-1 -> v2.2.7-2) and switch to newly introduced variables --- group_vars/matrix_servers | 10 ++++------ requirements.yml | 2 +- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index 84980b679..7f4cac7bc 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -3532,7 +3532,7 @@ matrix_dimension_database_password: "{{ '%s' | format(matrix_homeserver_generic_ ###################################################################### # -# etke/etherpad +# etherpad # ###################################################################### @@ -3554,7 +3554,7 @@ etherpad_container_http_host_bind_port: "{{ (matrix_playbook_service_host_bind_i etherpad_container_network: "{{ matrix_addons_container_network }}" -etherpad_container_additional_networks: | +etherpad_container_additional_networks_auto: | {{ ( ([matrix_playbook_reverse_proxyable_services_additional_network] if matrix_playbook_reverse_proxyable_services_additional_network else []) @@ -3568,10 +3568,8 @@ etherpad_container_labels_traefik_docker_network: "{{ matrix_playbook_reverse_pr etherpad_container_labels_traefik_entrypoints: "{{ traefik_entrypoint_primary }}" etherpad_container_labels_traefik_tls_certResolver: "{{ traefik_certResolver_primary }}" -etherpad_systemd_required_services_list: | +etherpad_systemd_required_services_list_auto: | {{ - [devture_systemd_docker_base_docker_service_name] - + ([postgres_identifier ~ '.service'] if postgres_enabled else []) }} @@ -3582,7 +3580,7 @@ etherpad_database_password: "{{ '%s' | format(matrix_homeserver_generic_secret_k ###################################################################### # -# /etke/etherpad +# /etherpad # ###################################################################### diff --git a/requirements.yml b/requirements.yml index b5025259f..1d2558788 100644 --- a/requirements.yml +++ b/requirements.yml @@ -16,7 +16,7 @@ version: 129c8590e106b83e6f4c259649a613c6279e937a name: docker_sdk_for_python - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-etherpad.git - version: v2.2.7-1 + version: v2.2.7-2 name: etherpad - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay.git version: v4.98-r0-4-1 From b6db2eaf15464d24c7b89f2d1cbd507936cb8482 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sat, 22 Feb 2025 10:31:14 +0200 Subject: [PATCH 428/841] Upgrade Grafana (v11.5.1-0 -> v11.5.2-0) --- group_vars/matrix_servers | 4 ++-- requirements.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index 7f4cac7bc..c896bcd72 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -5401,7 +5401,7 @@ matrix_prometheus_services_connect_scraper_synapse_usage_exporter_static_configs ###################################################################### # -# etke/grafana +# grafana # ###################################################################### @@ -5482,7 +5482,7 @@ grafana_default_home_dashboard_path: |- ###################################################################### # -# /etke/grafana +# /grafana # ###################################################################### diff --git a/requirements.yml b/requirements.yml index 1d2558788..d5ba6c962 100644 --- a/requirements.yml +++ b/requirements.yml @@ -22,7 +22,7 @@ version: v4.98-r0-4-1 name: exim_relay - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-grafana.git - version: v11.5.1-0 + version: v11.5.2-0 name: grafana - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-jitsi.git version: v10008-1 From 5b3f9510b0fa637c98ddec2ec9c0a21445fbcef6 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 22 Feb 2025 18:26:29 +0900 Subject: [PATCH 429/841] Update docs/just.md: remove a duplicate anchor link Signed-off-by: Suguru Hirahara --- docs/just.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/just.md b/docs/just.md index b02385f11..c12743b74 100644 --- a/docs/just.md +++ b/docs/just.md @@ -13,7 +13,7 @@ In addition, we have added support for running commands via [`just`](https://git The `just` utility executes shortcut commands (called as "recipes"), which invoke `ansible-playbook`, `ansible-galaxy` or [`agru`](https://github.com/etkecc/agru) (depending on what is available in your system). The targets of the recipes are defined in [`justfile`](../justfile). Most of the just recipes have no corresponding `Makefile` targets. -For some recipes such as `just update`, our `justfile` recommends installing [`agru`](https://github.com/etkecc/agru) (a faster alternative to `ansible-galaxy`) to speed up the process. +For some recipes such as `just update`, our `justfile` recommends installing `agru` (a faster alternative to `ansible-galaxy`) to speed up the process. Here are some examples of shortcuts: From 64a402eb657c5104780575a54a243515799144d8 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sat, 22 Feb 2025 13:42:23 +0200 Subject: [PATCH 430/841] Do not duplicate `turn_uris` construction for each homeserver implementation (extract to `matrix_coturn_turn_uris`) --- group_vars/matrix_servers | 57 ++---------------------- roles/custom/matrix-coturn/vars/main.yml | 14 ++++++ 2 files changed, 18 insertions(+), 53 deletions(-) create mode 100644 roles/custom/matrix-coturn/vars/main.yml diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index c896bcd72..884a52726 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -4746,19 +4746,7 @@ matrix_synapse_email_smtp_port: 8025 matrix_synapse_email_smtp_require_transport_security: false matrix_synapse_email_notif_from: "Matrix <{{ exim_relay_sender_address }}>" -matrix_synapse_turn_uris: | - {{ - ([ - 'turns:' + matrix_server_fqn_matrix + '?transport=udp', - 'turns:' + matrix_server_fqn_matrix + '?transport=tcp', - ] if matrix_coturn_enabled and matrix_coturn_tls_enabled else []) - + - ([ - 'turn:' + matrix_server_fqn_matrix + '?transport=udp', - 'turn:' + matrix_server_fqn_matrix + '?transport=tcp', - ] if matrix_coturn_enabled else []) - }} - +matrix_synapse_turn_uris: "{{ matrix_coturn_turn_uris if matrix_coturn_enabled else [] }}" matrix_synapse_turn_shared_secret: "{{ matrix_coturn_turn_static_auth_secret if (matrix_coturn_enabled and matrix_coturn_authentication_method == 'auth-secret') else '' }}" matrix_synapse_turn_username: "{{ matrix_coturn_lt_cred_mech_username if (matrix_coturn_enabled and matrix_coturn_authentication_method == 'lt-cred-mech') else '' }}" matrix_synapse_turn_password: "{{ matrix_coturn_lt_cred_mech_password if (matrix_coturn_enabled and matrix_coturn_authentication_method == 'lt-cred-mech') else '' }}" @@ -5673,20 +5661,7 @@ matrix_dendrite_database_hostname: "{{ postgres_connection_hostname if postgres_ matrix_dendrite_database_password: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'dendrite.db', rounds=655555) | to_uuid }}" -# Even if TURN doesn't support TLS (it does by default), -# it doesn't hurt to try a secure connection anyway. -matrix_dendrite_client_api_turn_uris: | - {{ - [ - 'turns:' + matrix_server_fqn_matrix + '?transport=udp', - 'turns:' + matrix_server_fqn_matrix + '?transport=tcp', - 'turn:' + matrix_server_fqn_matrix + '?transport=udp', - 'turn:' + matrix_server_fqn_matrix + '?transport=tcp', - ] - if matrix_coturn_enabled - else [] - }} - +matrix_dendrite_client_api_turn_uris: "{{ matrix_coturn_turn_uris if matrix_coturn_enabled else [] }}" matrix_dendrite_client_api_turn_shared_secret: "{{ matrix_coturn_turn_static_auth_secret if (matrix_coturn_enabled and matrix_coturn_authentication_method == 'auth-secret') else '' }}" matrix_dendrite_client_api_turn_username: "{{ matrix_coturn_lt_cred_mech_username if (matrix_coturn_enabled and matrix_coturn_authentication_method == 'lt-cred-mech') else '' }}" matrix_dendrite_client_api_turn_password: "{{ matrix_coturn_lt_cred_mech_password if (matrix_coturn_enabled and matrix_coturn_authentication_method == 'lt-cred-mech') else '' }}" @@ -5755,19 +5730,7 @@ matrix_conduit_container_labels_public_federation_api_traefik_tls: "{{ matrix_fe matrix_conduit_container_labels_internal_client_api_enabled: "{{ matrix_playbook_internal_matrix_client_api_traefik_entrypoint_enabled }}" matrix_conduit_container_labels_internal_client_api_traefik_entrypoints: "{{ matrix_playbook_internal_matrix_client_api_traefik_entrypoint_name }}" -matrix_conduit_turn_uris: | - {{ - ([ - 'turns:' + matrix_server_fqn_matrix + '?transport=udp', - 'turns:' + matrix_server_fqn_matrix + '?transport=tcp', - ] if matrix_coturn_enabled and matrix_coturn_tls_enabled else []) - + - ([ - 'turn:' + matrix_server_fqn_matrix + '?transport=udp', - 'turn:' + matrix_server_fqn_matrix + '?transport=tcp', - ] if matrix_coturn_enabled else []) - }} - +matrix_conduit_turn_uris: "{{ matrix_coturn_turn_uris if matrix_coturn_enabled else [] }}" matrix_conduit_turn_secret: "{{ matrix_coturn_turn_static_auth_secret if (matrix_coturn_enabled and matrix_coturn_authentication_method == 'auth-secret') else '' }}" matrix_conduit_turn_username: "{{ matrix_coturn_lt_cred_mech_username if (matrix_coturn_enabled and matrix_coturn_authentication_method == 'lt-cred-mech') else '' }}" matrix_conduit_turn_password: "{{ matrix_coturn_lt_cred_mech_password if (matrix_coturn_enabled and matrix_coturn_authentication_method == 'lt-cred-mech') else '' }}" @@ -5815,19 +5778,7 @@ matrix_conduwuit_container_labels_public_federation_api_traefik_tls: "{{ matrix_ matrix_conduwuit_container_labels_internal_client_api_enabled: "{{ matrix_playbook_internal_matrix_client_api_traefik_entrypoint_enabled }}" matrix_conduwuit_container_labels_internal_client_api_traefik_entrypoints: "{{ matrix_playbook_internal_matrix_client_api_traefik_entrypoint_name }}" -matrix_conduwuit_config_turn_uris: | - {{ - ([ - 'turns:' + matrix_server_fqn_matrix + '?transport=udp', - 'turns:' + matrix_server_fqn_matrix + '?transport=tcp', - ] if matrix_coturn_enabled and matrix_coturn_tls_enabled else []) - + - ([ - 'turn:' + matrix_server_fqn_matrix + '?transport=udp', - 'turn:' + matrix_server_fqn_matrix + '?transport=tcp', - ] if matrix_coturn_enabled else []) - }} - +matrix_conduwuit_config_turn_uris: "{{ matrix_coturn_turn_uris if matrix_coturn_enabled else [] }}" matrix_conduwuit_config_turn_secret: "{{ matrix_coturn_turn_static_auth_secret if (matrix_coturn_enabled and matrix_coturn_authentication_method == 'auth-secret') else '' }}" matrix_conduwuit_config_turn_username: "{{ matrix_coturn_lt_cred_mech_username if (matrix_coturn_enabled and matrix_coturn_authentication_method == 'lt-cred-mech') else '' }}" matrix_conduwuit_config_turn_password: "{{ matrix_coturn_lt_cred_mech_password if (matrix_coturn_enabled and matrix_coturn_authentication_method == 'lt-cred-mech') else '' }}" diff --git a/roles/custom/matrix-coturn/vars/main.yml b/roles/custom/matrix-coturn/vars/main.yml new file mode 100644 index 000000000..96e9f60a2 --- /dev/null +++ b/roles/custom/matrix-coturn/vars/main.yml @@ -0,0 +1,14 @@ +--- + +matrix_coturn_turn_uris: |- + {{ + ([ + 'turns:' + matrix_server_fqn_matrix + '?transport=udp', + 'turns:' + matrix_server_fqn_matrix + '?transport=tcp', + ] if matrix_coturn_tls_enabled else []) + + + ([ + 'turn:' + matrix_server_fqn_matrix + '?transport=udp', + 'turn:' + matrix_server_fqn_matrix + '?transport=tcp', + ]) + }} From 671a3dc94f117cb478025a9908cd17ddca47203c Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sat, 22 Feb 2025 13:44:14 +0200 Subject: [PATCH 431/841] Only advertise 3478/udp (STUN/TURN) if Coturn actually enables it Related to ac26cc1cb0d6423b751b74ddb06a8c793f63dd56 which disabled `3478/udp` by default. Without this patch, homeservers continued to advertise the `3478/udp` port, even though it was no longer exposed. While clients should handle that gracefully (by falling back to TCP, etc.), it seems like Element either doesn't do that or it doesn't support TCP (which this patch won't fix). In any case, it's better to only announce what is actually supported/exposed. --- roles/custom/matrix-coturn/vars/main.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/roles/custom/matrix-coturn/vars/main.yml b/roles/custom/matrix-coturn/vars/main.yml index 96e9f60a2..0c0a1c24f 100644 --- a/roles/custom/matrix-coturn/vars/main.yml +++ b/roles/custom/matrix-coturn/vars/main.yml @@ -9,6 +9,9 @@ matrix_coturn_turn_uris: |- + ([ 'turn:' + matrix_server_fqn_matrix + '?transport=udp', + ] if (matrix_coturn_container_stun_plain_host_bind_port_udp != '' or matrix_coturn_container_network == 'host') else []) + + + ([ 'turn:' + matrix_server_fqn_matrix + '?transport=tcp', - ]) + ] if (matrix_coturn_container_stun_plain_host_bind_port_tcp != '' or matrix_coturn_container_network == 'host') else []) }} From 0750e709720671b93e78dee848475795b7a5c041 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sat, 22 Feb 2025 21:00:18 +0200 Subject: [PATCH 432/841] Upgrade traefik-certs-dumper (v2.8.3-5 -> v2.8.3-6) --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index d5ba6c962..8e8975acb 100644 --- a/requirements.yml +++ b/requirements.yml @@ -67,7 +67,7 @@ version: v3.3.3-2 name: traefik - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-traefik-certs-dumper.git - version: v2.8.3-5 + version: v2.8.3-6 name: traefik_certs_dumper - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-valkey.git version: v8.0.1-1 From ee75543aa722927aaf759602873d350ec79fd47b Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sat, 22 Feb 2025 21:04:23 +0200 Subject: [PATCH 433/841] Upgrade Prometheus (v2.55.1-0 -> v2.55.1-1) --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 8e8975acb..32ab9af27 100644 --- a/requirements.yml +++ b/requirements.yml @@ -46,7 +46,7 @@ version: v17-1 name: postgres_backup - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus.git - version: v2.55.1-0 + version: v2.55.1-1 name: prometheus - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-node-exporter.git version: v1.8.2-2 From 053ef3f35a081b1afe2c38b919caa4748366b7f3 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sat, 22 Feb 2025 21:07:59 +0200 Subject: [PATCH 434/841] Upgrade prometheus-postgres-exporter (v0.14.0-6 -> v0.14.0-7) --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 32ab9af27..f895a0035 100644 --- a/requirements.yml +++ b/requirements.yml @@ -52,7 +52,7 @@ version: v1.8.2-2 name: prometheus_node_exporter - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-postgres-exporter.git - version: v0.14.0-6 + version: v0.14.0-7 name: prometheus_postgres_exporter - src: git+https://github.com/devture/com.devture.ansible.role.systemd_docker_base.git version: v1.4.0-0 From b41cb172fe93596b0af8ddec3887c2ff89731816 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sat, 22 Feb 2025 21:17:17 +0200 Subject: [PATCH 435/841] Upgrade ntfy (v2.11.0-1 -> v2.11.0-2) --- group_vars/matrix_servers | 6 +++--- requirements.yml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index 884a52726..7908a071f 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -4375,7 +4375,7 @@ matrix_sygnal_container_labels_traefik_tls_certResolver: "{{ traefik_certResolve ###################################################################### # -# etke/ntfy +# ntfy # ###################################################################### @@ -4390,7 +4390,7 @@ ntfy_gid: "{{ matrix_user_gid }}" ntfy_hostname: "{{ matrix_server_fqn_ntfy }}" -ntfy_container_additional_networks: "{{ [matrix_playbook_reverse_proxyable_services_additional_network] if matrix_playbook_reverse_proxyable_services_additional_network else [] }}" +ntfy_container_additional_networks_auto: "{{ [matrix_playbook_reverse_proxyable_services_additional_network] if matrix_playbook_reverse_proxyable_services_additional_network else [] }}" ntfy_container_http_host_bind_port: "{{ (matrix_playbook_service_host_bind_interface_prefix ~ '2586') if matrix_playbook_service_host_bind_interface_prefix else '' }}" @@ -4406,7 +4406,7 @@ ntfy_visitor_request_limit_exempt_hosts_hostnames_auto: | ###################################################################### # -# /etky/ntfy +# /ntfy # ###################################################################### diff --git a/requirements.yml b/requirements.yml index f895a0035..9cfffb96e 100644 --- a/requirements.yml +++ b/requirements.yml @@ -28,7 +28,7 @@ version: v10008-1 name: jitsi - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-ntfy.git - version: v2.11.0-1 + version: v2.11.0-2 name: ntfy - src: git+https://github.com/devture/com.devture.ansible.role.playbook_help.git version: 201c939eed363de269a83ba29784fc3244846048 From f7c89e3abefdf73357e54f35d08016e843d63fe2 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sat, 22 Feb 2025 21:19:22 +0200 Subject: [PATCH 436/841] Upgrade postgres-backup (v17-1 -> v17-2) --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 9cfffb96e..5668b2ee8 100644 --- a/requirements.yml +++ b/requirements.yml @@ -43,7 +43,7 @@ version: v17.2-2 name: postgres - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-postgres-backup.git - version: v17-1 + version: v17-2 name: postgres_backup - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus.git version: v2.55.1-1 From 49c60deb8a834a68feb35eea545342686a459f13 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sat, 22 Feb 2025 21:35:09 +0200 Subject: [PATCH 437/841] Upgrade prometheus-node-exporter (v1.8.2-2 -> v1.8.2-3) --- group_vars/matrix_servers | 2 +- requirements.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index 7908a071f..ee5212f6e 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -5173,7 +5173,7 @@ prometheus_node_exporter_hostname: "{{ matrix_server_fqn_matrix }}" prometheus_node_exporter_container_network: "{{ matrix_monitoring_container_network }}" -prometheus_node_exporter_container_additional_networks: "{{ [matrix_playbook_reverse_proxyable_services_additional_network] if matrix_playbook_reverse_proxyable_services_additional_network else [] }}" +prometheus_node_exporter_container_additional_networks_auto: "{{ [matrix_playbook_reverse_proxyable_services_additional_network] if matrix_playbook_reverse_proxyable_services_additional_network else [] }}" prometheus_node_exporter_container_labels_traefik_enabled: "{{ matrix_metrics_exposure_enabled }}" prometheus_node_exporter_container_labels_traefik_docker_network: "{{ matrix_playbook_reverse_proxyable_services_additional_network }}" diff --git a/requirements.yml b/requirements.yml index 5668b2ee8..aa0f5a9b0 100644 --- a/requirements.yml +++ b/requirements.yml @@ -49,7 +49,7 @@ version: v2.55.1-1 name: prometheus - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-node-exporter.git - version: v1.8.2-2 + version: v1.8.2-3 name: prometheus_node_exporter - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-postgres-exporter.git version: v0.14.0-7 From 44baf74b9bed77a019a24e0554750dbb609dbc05 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sat, 22 Feb 2025 21:36:32 +0200 Subject: [PATCH 438/841] Make all remaining roles respect `devture_systemd_docker_base_ipv6_enabled` and `devture_systemd_docker_base_container_networks_driver_options` --- roles/custom/matrix-bot-baibot/tasks/install.yml | 1 + roles/custom/matrix-bridge-wechat/tasks/install.yml | 1 + roles/custom/matrix-pantalaimon/tasks/install.yml | 1 + 3 files changed, 3 insertions(+) diff --git a/roles/custom/matrix-bot-baibot/tasks/install.yml b/roles/custom/matrix-bot-baibot/tasks/install.yml index f74ab3442..340efdd69 100644 --- a/roles/custom/matrix-bot-baibot/tasks/install.yml +++ b/roles/custom/matrix-bot-baibot/tasks/install.yml @@ -70,6 +70,7 @@ enable_ipv6: "{{ devture_systemd_docker_base_ipv6_enabled }}" name: "{{ matrix_bot_baibot_container_network }}" driver: bridge + driver_options: "{{ devture_systemd_docker_base_container_networks_driver_options }}" - name: Ensure matrix-bot-baibot.service installed ansible.builtin.template: diff --git a/roles/custom/matrix-bridge-wechat/tasks/install.yml b/roles/custom/matrix-bridge-wechat/tasks/install.yml index 36d530c75..d9a74db20 100644 --- a/roles/custom/matrix-bridge-wechat/tasks/install.yml +++ b/roles/custom/matrix-bridge-wechat/tasks/install.yml @@ -111,6 +111,7 @@ - name: Ensure matrix-wechat container network is created community.general.docker_network: + enable_ipv6: "{{ devture_systemd_docker_base_ipv6_enabled }}" name: "{{ matrix_wechat_container_network }}" driver: bridge driver_options: "{{ devture_systemd_docker_base_container_networks_driver_options }}" diff --git a/roles/custom/matrix-pantalaimon/tasks/install.yml b/roles/custom/matrix-pantalaimon/tasks/install.yml index 9a9b9a38c..88417681a 100644 --- a/roles/custom/matrix-pantalaimon/tasks/install.yml +++ b/roles/custom/matrix-pantalaimon/tasks/install.yml @@ -57,6 +57,7 @@ - name: Ensure pantalaimon container network is created community.general.docker_network: + enable_ipv6: "{{ devture_systemd_docker_base_ipv6_enabled }}" name: "{{ matrix_pantalaimon_container_network }}" driver: bridge driver_options: "{{ devture_systemd_docker_base_container_networks_driver_options }}" From d12643eb91a8568dee2ab8510cdc373c2f63bdf7 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sat, 22 Feb 2025 21:42:18 +0200 Subject: [PATCH 439/841] Do not use `docker stop --time` (deprecated in Docker v28 in favor of `--timeout` or just `-t`) `-t` works on both old and new Docker versions, so it's best to use that. --- .../systemd/matrix-alertmanager-receiver.service.j2 | 4 ++-- .../systemd/matrix-appservice-draupnir-for-all.service.j2 | 4 ++-- .../systemd/matrix-authentication-service.service.j2 | 4 ++-- .../templates/systemd/matrix-bot-baibot.service.j2 | 4 ++-- .../templates/systemd/matrix-bot-buscarron.service.j2 | 4 ++-- .../templates/systemd/matrix-bot-chatgpt.service.j2 | 4 ++-- .../templates/systemd/matrix-bot-draupnir.service.j2 | 4 ++-- .../templates/systemd/matrix-bot-go-neb.service.j2 | 4 ++-- .../templates/systemd/matrix-bot-honoroit.service.j2 | 4 ++-- .../systemd/matrix-bot-matrix-registration-bot.service.j2 | 4 ++-- .../systemd/matrix-bot-matrix-reminder-bot.service.j2 | 4 ++-- .../templates/systemd/matrix-bot-maubot.service.j2 | 4 ++-- .../templates/systemd/matrix-bot-mjolnir.service.j2 | 6 +++--- .../templates/systemd/matrix-appservice-discord.service.j2 | 4 ++-- .../templates/systemd/matrix-appservice-irc.service.j2 | 4 ++-- .../systemd/matrix-appservice-kakaotalk-node.service.j2 | 4 ++-- .../systemd/matrix-appservice-kakaotalk.service.j2 | 4 ++-- .../templates/systemd/matrix-appservice-slack.service.j2 | 4 ++-- .../templates/systemd/matrix-appservice-webhooks.service.j2 | 4 ++-- .../templates/systemd/matrix-beeper-linkedin.service.j2 | 4 ++-- .../templates/systemd/matrix-go-skype-bridge.service.j2 | 4 ++-- .../templates/systemd/matrix-heisenbridge.service.j2 | 4 ++-- .../templates/systemd/matrix-hookshot.service.j2 | 4 ++-- .../templates/systemd/matrix-mautrix-bluesky.service.j2 | 4 ++-- .../templates/systemd/matrix-mautrix-discord.service.j2 | 4 ++-- .../templates/systemd/matrix-mautrix-facebook.service.j2 | 4 ++-- .../templates/systemd/matrix-mautrix-gmessages.service.j2 | 4 ++-- .../templates/systemd/matrix-mautrix-googlechat.service.j2 | 2 +- .../templates/systemd/matrix-mautrix-instagram.service.j2 | 4 ++-- .../templates/systemd/matrix-mautrix-meta.service.j2 | 4 ++-- .../templates/systemd/matrix-mautrix-meta.service.j2 | 4 ++-- .../templates/systemd/matrix-mautrix-signal.service.j2 | 4 ++-- .../templates/systemd/matrix-mautrix-slack.service.j2 | 4 ++-- .../templates/systemd/matrix-mautrix-telegram.service.j2 | 4 ++-- .../templates/systemd/matrix-mautrix-twitter.service.j2 | 4 ++-- .../templates/systemd/matrix-mautrix-whatsapp.service.j2 | 4 ++-- .../systemd/matrix-mautrix-wsproxy-syncproxy.service.j2 | 4 ++-- .../templates/systemd/matrix-mautrix-wsproxy.service.j2 | 4 ++-- .../templates/systemd/matrix-mx-puppet-discord.service.j2 | 4 ++-- .../templates/systemd/matrix-mx-puppet-groupme.service.j2 | 4 ++-- .../templates/systemd/matrix-mx-puppet-instagram.service.j2 | 4 ++-- .../templates/systemd/matrix-mx-puppet-slack.service.j2 | 4 ++-- .../templates/systemd/matrix-mx-puppet-steam.service.j2 | 4 ++-- .../templates/systemd/matrix-mx-puppet-twitter.service.j2 | 4 ++-- .../templates/systemd/matrix-postmoogle.service.j2 | 4 ++-- .../templates/systemd/matrix-sms-bridge.service.j2 | 4 ++-- .../templates/systemd/matrix-wechat-agent.service.j2 | 4 ++-- .../templates/systemd/matrix-wechat.service.j2 | 4 ++-- .../systemd/matrix-cactus-comments-client.service.j2 | 4 ++-- .../templates/systemd/matrix-cactus-comments.service.j2 | 4 ++-- .../templates/systemd/matrix-client-cinny.service.j2 | 4 ++-- .../templates/systemd/matrix-client-element.service.j2 | 4 ++-- .../templates/systemd/matrix-client-fluffychat.service.j2 | 4 ++-- .../templates/systemd/matrix-client-hydrogen.service.j2 | 4 ++-- .../templates/systemd/matrix-client-schildichat.service.j2 | 4 ++-- .../templates/systemd/matrix-conduit.service.j2 | 4 ++-- .../templates/systemd/matrix-conduwuit.service.j2 | 4 ++-- .../templates/systemd/matrix-corporal.service.j2 | 4 ++-- .../templates/systemd/matrix-coturn.service.j2 | 4 ++-- .../templates/systemd/matrix-dendrite.service.j2 | 4 ++-- .../templates/systemd/matrix-dimension.service.j2 | 4 ++-- .../templates/systemd/matrix-dynamic-dns.service.j2 | 4 ++-- .../templates/systemd/matrix-email2matrix.service.j2 | 4 ++-- .../systemd/matrix-ldap-registration-proxy.service.j2 | 4 ++-- .../matrix-ma1sd/templates/systemd/matrix-ma1sd.service.j2 | 4 ++-- .../media-repo/systemd/matrix-media-repo.service.j2 | 4 ++-- .../systemd/matrix-prometheus-nginxlog-exporter.service.j2 | 4 ++-- .../templates/systemd/matrix-rageshake.service.j2 | 4 ++-- .../templates/systemd/matrix-registration.service.j2 | 4 ++-- .../templates/systemd/matrix-sliding-sync.service.j2 | 4 ++-- .../templates/systemd/matrix-static-files.service.j2 | 4 ++-- .../templates/systemd/matrix-sygnal.service.j2 | 4 ++-- .../templates/systemd/matrix-synapse-admin.service.j2 | 4 ++-- .../templates/matrix-synapse-auto-compressor.service.j2 | 4 ++-- .../matrix-synapse-reverse-proxy-companion.service.j2 | 4 ++-- .../systemd/matrix-synapse-usage-exporter.service.j2 | 4 ++-- .../templates/goofys/systemd/matrix-goofys.service.j2 | 4 ++-- .../synapse/systemd/matrix-synapse-worker.service.j2 | 4 ++-- .../templates/synapse/systemd/matrix-synapse.service.j2 | 4 ++-- .../systemd/matrix-user-verification-service.service.j2 | 4 ++-- 80 files changed, 160 insertions(+), 160 deletions(-) diff --git a/roles/custom/matrix-alertmanager-receiver/templates/systemd/matrix-alertmanager-receiver.service.j2 b/roles/custom/matrix-alertmanager-receiver/templates/systemd/matrix-alertmanager-receiver.service.j2 index 4d7e43c54..2f0b6622d 100644 --- a/roles/custom/matrix-alertmanager-receiver/templates/systemd/matrix-alertmanager-receiver.service.j2 +++ b/roles/custom/matrix-alertmanager-receiver/templates/systemd/matrix-alertmanager-receiver.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-alertmanager-receiver 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-alertmanager-receiver 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-alertmanager-receiver 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -39,7 +39,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-alertmanager-receiver -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-alertmanager-receiver 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-alertmanager-receiver 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-alertmanager-receiver 2>/dev/null || true' Restart=always diff --git a/roles/custom/matrix-appservice-draupnir-for-all/templates/systemd/matrix-appservice-draupnir-for-all.service.j2 b/roles/custom/matrix-appservice-draupnir-for-all/templates/systemd/matrix-appservice-draupnir-for-all.service.j2 index 303e9e614..008d0feb1 100644 --- a/roles/custom/matrix-appservice-draupnir-for-all/templates/systemd/matrix-appservice-draupnir-for-all.service.j2 +++ b/roles/custom/matrix-appservice-draupnir-for-all/templates/systemd/matrix-appservice-draupnir-for-all.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-appservice-draupnir-for-all 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-appservice-draupnir-for-all 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-appservice-draupnir-for-all 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -38,7 +38,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-appservice-draupnir-for-all -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-appservice-draupnir-for-all 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-appservice-draupnir-for-all 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-appservice-draupnir-for-all 2>/dev/null || true' Restart=always RestartSec=30 diff --git a/roles/custom/matrix-authentication-service/templates/systemd/matrix-authentication-service.service.j2 b/roles/custom/matrix-authentication-service/templates/systemd/matrix-authentication-service.service.j2 index c8b487138..1f03c6b4f 100644 --- a/roles/custom/matrix-authentication-service/templates/systemd/matrix-authentication-service.service.j2 +++ b/roles/custom/matrix-authentication-service/templates/systemd/matrix-authentication-service.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-authentication-service 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-authentication-service 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-authentication-service 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -39,7 +39,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-authentication-service -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-authentication-service 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-authentication-service 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-authentication-service 2>/dev/null || true' Restart=always RestartSec=30 diff --git a/roles/custom/matrix-bot-baibot/templates/systemd/matrix-bot-baibot.service.j2 b/roles/custom/matrix-bot-baibot/templates/systemd/matrix-bot-baibot.service.j2 index 346925c4a..01b6c0a06 100644 --- a/roles/custom/matrix-bot-baibot/templates/systemd/matrix-bot-baibot.service.j2 +++ b/roles/custom/matrix-bot-baibot/templates/systemd/matrix-bot-baibot.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-bot-baibot 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-bot-baibot 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-bot-baibot 2>/dev/null || true' {# @@ -43,7 +43,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-bot-baibot -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-bot-baibot 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-bot-baibot 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-bot-baibot 2>/dev/null || true' Restart=always RestartSec=30 diff --git a/roles/custom/matrix-bot-buscarron/templates/systemd/matrix-bot-buscarron.service.j2 b/roles/custom/matrix-bot-buscarron/templates/systemd/matrix-bot-buscarron.service.j2 index aa4314a13..c5ed0f3e0 100644 --- a/roles/custom/matrix-bot-buscarron/templates/systemd/matrix-bot-buscarron.service.j2 +++ b/roles/custom/matrix-bot-buscarron/templates/systemd/matrix-bot-buscarron.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-bot-buscarron 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-bot-buscarron 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-bot-buscarron 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -38,7 +38,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-bot-buscarron -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-bot-buscarron 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-bot-buscarron 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-bot-buscarron 2>/dev/null || true' Restart=always diff --git a/roles/custom/matrix-bot-chatgpt/templates/systemd/matrix-bot-chatgpt.service.j2 b/roles/custom/matrix-bot-chatgpt/templates/systemd/matrix-bot-chatgpt.service.j2 index 01b0763a4..a3a3ba219 100644 --- a/roles/custom/matrix-bot-chatgpt/templates/systemd/matrix-bot-chatgpt.service.j2 +++ b/roles/custom/matrix-bot-chatgpt/templates/systemd/matrix-bot-chatgpt.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ matrix_bot_chatgpt_container_stop_grace_time_seconds }} matrix-bot-chatgpt 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ matrix_bot_chatgpt_container_stop_grace_time_seconds }} matrix-bot-chatgpt 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-bot-chatgpt 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -39,7 +39,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-bot-chatgpt -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ matrix_bot_chatgpt_container_stop_grace_time_seconds }} matrix-bot-chatgpt 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ matrix_bot_chatgpt_container_stop_grace_time_seconds }} matrix-bot-chatgpt 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-bot-chatgpt 2>/dev/null || true' Restart=always RestartSec=30 diff --git a/roles/custom/matrix-bot-draupnir/templates/systemd/matrix-bot-draupnir.service.j2 b/roles/custom/matrix-bot-draupnir/templates/systemd/matrix-bot-draupnir.service.j2 index d83f088f2..1c9c72de1 100644 --- a/roles/custom/matrix-bot-draupnir/templates/systemd/matrix-bot-draupnir.service.j2 +++ b/roles/custom/matrix-bot-draupnir/templates/systemd/matrix-bot-draupnir.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-bot-draupnir 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-bot-draupnir 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-bot-draupnir 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -42,7 +42,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-bot-draupnir -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-bot-draupnir 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-bot-draupnir 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-bot-draupnir 2>/dev/null || true' Restart=always RestartSec=30 diff --git a/roles/custom/matrix-bot-go-neb/templates/systemd/matrix-bot-go-neb.service.j2 b/roles/custom/matrix-bot-go-neb/templates/systemd/matrix-bot-go-neb.service.j2 index 876c13829..c8c028b77 100644 --- a/roles/custom/matrix-bot-go-neb/templates/systemd/matrix-bot-go-neb.service.j2 +++ b/roles/custom/matrix-bot-go-neb/templates/systemd/matrix-bot-go-neb.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-bot-go-neb 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-bot-go-neb 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-bot-go-neb 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -44,7 +44,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-bot-go-neb -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-bot-go-neb 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-bot-go-neb 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-bot-go-neb 2>/dev/null || true' Restart=always diff --git a/roles/custom/matrix-bot-honoroit/templates/systemd/matrix-bot-honoroit.service.j2 b/roles/custom/matrix-bot-honoroit/templates/systemd/matrix-bot-honoroit.service.j2 index 2749ec520..3bcd8441b 100644 --- a/roles/custom/matrix-bot-honoroit/templates/systemd/matrix-bot-honoroit.service.j2 +++ b/roles/custom/matrix-bot-honoroit/templates/systemd/matrix-bot-honoroit.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-bot-honoroit 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-bot-honoroit 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-bot-honoroit 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -38,7 +38,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-bot-honoroit -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-bot-honoroit 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-bot-honoroit 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-bot-honoroit 2>/dev/null || true' Restart=always RestartSec=30 diff --git a/roles/custom/matrix-bot-matrix-registration-bot/templates/systemd/matrix-bot-matrix-registration-bot.service.j2 b/roles/custom/matrix-bot-matrix-registration-bot/templates/systemd/matrix-bot-matrix-registration-bot.service.j2 index d12d2f588..1ad089e3d 100644 --- a/roles/custom/matrix-bot-matrix-registration-bot/templates/systemd/matrix-bot-matrix-registration-bot.service.j2 +++ b/roles/custom/matrix-bot-matrix-registration-bot/templates/systemd/matrix-bot-matrix-registration-bot.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-bot-matrix-registration-bot 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-bot-matrix-registration-bot 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-bot-matrix-registration-bot 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -35,7 +35,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-bot-matrix-registration-bot -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-bot-matrix-registration-bot 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-bot-matrix-registration-bot 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-bot-matrix-registration-bot 2>/dev/null || true' Restart=always RestartSec=30 diff --git a/roles/custom/matrix-bot-matrix-reminder-bot/templates/systemd/matrix-bot-matrix-reminder-bot.service.j2 b/roles/custom/matrix-bot-matrix-reminder-bot/templates/systemd/matrix-bot-matrix-reminder-bot.service.j2 index ecd59bd7b..823d050c2 100644 --- a/roles/custom/matrix-bot-matrix-reminder-bot/templates/systemd/matrix-bot-matrix-reminder-bot.service.j2 +++ b/roles/custom/matrix-bot-matrix-reminder-bot/templates/systemd/matrix-bot-matrix-reminder-bot.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-bot-matrix-reminder-bot 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-bot-matrix-reminder-bot 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-bot-matrix-reminder-bot 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -40,7 +40,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-bot-matrix-reminder-bot -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-bot-matrix-reminder-bot 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-bot-matrix-reminder-bot 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-bot-matrix-reminder-bot 2>/dev/null || true' Restart=always RestartSec=30 diff --git a/roles/custom/matrix-bot-maubot/templates/systemd/matrix-bot-maubot.service.j2 b/roles/custom/matrix-bot-maubot/templates/systemd/matrix-bot-maubot.service.j2 index 25ba29a46..6c6174677 100644 --- a/roles/custom/matrix-bot-maubot/templates/systemd/matrix-bot-maubot.service.j2 +++ b/roles/custom/matrix-bot-maubot/templates/systemd/matrix-bot-maubot.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-bot-maubot 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-bot-maubot 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-bot-maubot 2>/dev/null || true' {# @@ -47,7 +47,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-bot-maubot -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-bot-maubot 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-bot-maubot 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-bot-maubot 2>/dev/null || true' Restart=always RestartSec=30 diff --git a/roles/custom/matrix-bot-mjolnir/templates/systemd/matrix-bot-mjolnir.service.j2 b/roles/custom/matrix-bot-mjolnir/templates/systemd/matrix-bot-mjolnir.service.j2 index b87601891..9c1f46733 100644 --- a/roles/custom/matrix-bot-mjolnir/templates/systemd/matrix-bot-mjolnir.service.j2 +++ b/roles/custom/matrix-bot-mjolnir/templates/systemd/matrix-bot-mjolnir.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-bot-mjolnir 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-bot-mjolnir 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-bot-mjolnir 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -30,7 +30,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ {{ arg }} \ {% endfor %} {{ matrix_bot_mjolnir_docker_image }} \ - bot --mjolnir-config /data/config/production.yaml + bot --mjolnir-config /data/config/production.yaml {% for network in matrix_bot_mjolnir_container_additional_networks %} ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network connect {{ network }} matrix-bot-mjolnir @@ -38,7 +38,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-bot-mjolnir -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-bot-mjolnir 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-bot-mjolnir 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-bot-mjolnir 2>/dev/null || true' Restart=always RestartSec=30 diff --git a/roles/custom/matrix-bridge-appservice-discord/templates/systemd/matrix-appservice-discord.service.j2 b/roles/custom/matrix-bridge-appservice-discord/templates/systemd/matrix-appservice-discord.service.j2 index 3a5c9f060..e4a943bc2 100644 --- a/roles/custom/matrix-bridge-appservice-discord/templates/systemd/matrix-appservice-discord.service.j2 +++ b/roles/custom/matrix-bridge-appservice-discord/templates/systemd/matrix-appservice-discord.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-appservice-discord 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-appservice-discord 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-appservice-discord 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -40,7 +40,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-appservice-discord -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-appservice-discord 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-appservice-discord 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-appservice-discord 2>/dev/null || true' Restart=always RestartSec=30 diff --git a/roles/custom/matrix-bridge-appservice-irc/templates/systemd/matrix-appservice-irc.service.j2 b/roles/custom/matrix-bridge-appservice-irc/templates/systemd/matrix-appservice-irc.service.j2 index c13acfe09..0b50d10e2 100644 --- a/roles/custom/matrix-bridge-appservice-irc/templates/systemd/matrix-appservice-irc.service.j2 +++ b/roles/custom/matrix-bridge-appservice-irc/templates/systemd/matrix-appservice-irc.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-appservice-irc 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-appservice-irc 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-appservice-irc 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -41,7 +41,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-appservice-irc -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-appservice-irc 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-appservice-irc 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-appservice-irc 2>/dev/null || true' Restart=always RestartSec=30 diff --git a/roles/custom/matrix-bridge-appservice-kakaotalk/templates/systemd/matrix-appservice-kakaotalk-node.service.j2 b/roles/custom/matrix-bridge-appservice-kakaotalk/templates/systemd/matrix-appservice-kakaotalk-node.service.j2 index bb971f77a..12f688112 100644 --- a/roles/custom/matrix-bridge-appservice-kakaotalk/templates/systemd/matrix-appservice-kakaotalk-node.service.j2 +++ b/roles/custom/matrix-bridge-appservice-kakaotalk/templates/systemd/matrix-appservice-kakaotalk-node.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-appservice-kakaotalk-node 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-appservice-kakaotalk-node 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-appservice-kakaotalk-node 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -36,7 +36,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-appservice-kakaotalk-node -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-appservice-kakaotalk-node 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-appservice-kakaotalk-node 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-appservice-kakaotalk-node 2>/dev/null || true' Restart=always RestartSec=30 diff --git a/roles/custom/matrix-bridge-appservice-kakaotalk/templates/systemd/matrix-appservice-kakaotalk.service.j2 b/roles/custom/matrix-bridge-appservice-kakaotalk/templates/systemd/matrix-appservice-kakaotalk.service.j2 index fae5f25a1..0f5e2fe2d 100644 --- a/roles/custom/matrix-bridge-appservice-kakaotalk/templates/systemd/matrix-appservice-kakaotalk.service.j2 +++ b/roles/custom/matrix-bridge-appservice-kakaotalk/templates/systemd/matrix-appservice-kakaotalk.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-appservice-kakaotalk 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-appservice-kakaotalk 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-appservice-kakaotalk 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -37,7 +37,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-appservice-kakaotalk -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-appservice-kakaotalk 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-appservice-kakaotalk 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-appservice-kakaotalk 2>/dev/null || true' Restart=always RestartSec=30 diff --git a/roles/custom/matrix-bridge-appservice-slack/templates/systemd/matrix-appservice-slack.service.j2 b/roles/custom/matrix-bridge-appservice-slack/templates/systemd/matrix-appservice-slack.service.j2 index 6445f06af..36d9377ea 100644 --- a/roles/custom/matrix-bridge-appservice-slack/templates/systemd/matrix-appservice-slack.service.j2 +++ b/roles/custom/matrix-bridge-appservice-slack/templates/systemd/matrix-appservice-slack.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-appservice-slack 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-appservice-slack 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-appservice-slack 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -41,7 +41,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-appservice-slack -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-appservice-slack 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-appservice-slack 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-appservice-slack 2>/dev/null || true' Restart=always RestartSec=30 diff --git a/roles/custom/matrix-bridge-appservice-webhooks/templates/systemd/matrix-appservice-webhooks.service.j2 b/roles/custom/matrix-bridge-appservice-webhooks/templates/systemd/matrix-appservice-webhooks.service.j2 index b1168cb7f..e761442cc 100644 --- a/roles/custom/matrix-bridge-appservice-webhooks/templates/systemd/matrix-appservice-webhooks.service.j2 +++ b/roles/custom/matrix-bridge-appservice-webhooks/templates/systemd/matrix-appservice-webhooks.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-appservice-webhooks 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-appservice-webhooks 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-appservice-webhooks 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -41,7 +41,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-appservice-webhooks -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-appservice-webhooks 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-appservice-webhooks 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-appservice-webhooks 2>/dev/null || true' Restart=always RestartSec=30 diff --git a/roles/custom/matrix-bridge-beeper-linkedin/templates/systemd/matrix-beeper-linkedin.service.j2 b/roles/custom/matrix-bridge-beeper-linkedin/templates/systemd/matrix-beeper-linkedin.service.j2 index 1b1cc582b..d3fe0d249 100644 --- a/roles/custom/matrix-bridge-beeper-linkedin/templates/systemd/matrix-beeper-linkedin.service.j2 +++ b/roles/custom/matrix-bridge-beeper-linkedin/templates/systemd/matrix-beeper-linkedin.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-beeper-linkedin 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-beeper-linkedin 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-beeper-linkedin 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -37,7 +37,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-beeper-linkedin -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-beeper-linkedin 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-beeper-linkedin 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-beeper-linkedin 2>/dev/null || true' Restart=always RestartSec=30 diff --git a/roles/custom/matrix-bridge-go-skype-bridge/templates/systemd/matrix-go-skype-bridge.service.j2 b/roles/custom/matrix-bridge-go-skype-bridge/templates/systemd/matrix-go-skype-bridge.service.j2 index 825d4eb34..fcd05f49e 100644 --- a/roles/custom/matrix-bridge-go-skype-bridge/templates/systemd/matrix-go-skype-bridge.service.j2 +++ b/roles/custom/matrix-bridge-go-skype-bridge/templates/systemd/matrix-go-skype-bridge.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-go-skype-bridge 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-go-skype-bridge 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-go-skype-bridge 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -38,7 +38,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-go-skype-bridge -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-go-skype-bridge 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-go-skype-bridge 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-go-skype-bridge 2>/dev/null || true' Restart=always RestartSec=30 diff --git a/roles/custom/matrix-bridge-heisenbridge/templates/systemd/matrix-heisenbridge.service.j2 b/roles/custom/matrix-bridge-heisenbridge/templates/systemd/matrix-heisenbridge.service.j2 index e0981b2a7..556eb28c9 100644 --- a/roles/custom/matrix-bridge-heisenbridge/templates/systemd/matrix-heisenbridge.service.j2 +++ b/roles/custom/matrix-bridge-heisenbridge/templates/systemd/matrix-heisenbridge.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ matrix_heisenbridge_container_stop_grace_time_seconds }} matrix-heisenbridge +ExecStartPre=-{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ matrix_heisenbridge_container_stop_grace_time_seconds }} matrix-heisenbridge ExecStartPre=-{{ devture_systemd_docker_base_host_command_docker }} rm matrix-heisenbridge ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -50,7 +50,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-heisenbridge -ExecStop=-{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ matrix_heisenbridge_container_stop_grace_time_seconds }} matrix-heisenbridge +ExecStop=-{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ matrix_heisenbridge_container_stop_grace_time_seconds }} matrix-heisenbridge ExecStop=-{{ devture_systemd_docker_base_host_command_docker }} rm matrix-heisenbridge Restart=always RestartSec=30 diff --git a/roles/custom/matrix-bridge-hookshot/templates/systemd/matrix-hookshot.service.j2 b/roles/custom/matrix-bridge-hookshot/templates/systemd/matrix-hookshot.service.j2 index aca952f1e..3ad5df541 100644 --- a/roles/custom/matrix-bridge-hookshot/templates/systemd/matrix-hookshot.service.j2 +++ b/roles/custom/matrix-bridge-hookshot/templates/systemd/matrix-hookshot.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} {{ matrix_hookshot_identifier }} +ExecStartPre=-{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} {{ matrix_hookshot_identifier }} ExecStartPre=-{{ devture_systemd_docker_base_host_command_docker }} rm {{ matrix_hookshot_identifier }} ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create --rm --name {{ matrix_hookshot_identifier }} \ --log-driver=none \ @@ -36,7 +36,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach {{ matrix_hookshot_identifier }} -ExecStop=-{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} {{ matrix_hookshot_identifier }} +ExecStop=-{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} {{ matrix_hookshot_identifier }} ExecStop=-{{ devture_systemd_docker_base_host_command_docker }} rm {{ matrix_hookshot_identifier }} Restart=always diff --git a/roles/custom/matrix-bridge-mautrix-bluesky/templates/systemd/matrix-mautrix-bluesky.service.j2 b/roles/custom/matrix-bridge-mautrix-bluesky/templates/systemd/matrix-mautrix-bluesky.service.j2 index b26d402b3..5dd291dd2 100644 --- a/roles/custom/matrix-bridge-mautrix-bluesky/templates/systemd/matrix-mautrix-bluesky.service.j2 +++ b/roles/custom/matrix-bridge-mautrix-bluesky/templates/systemd/matrix-mautrix-bluesky.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-bluesky 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-bluesky 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mautrix-bluesky 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -38,7 +38,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-mautrix-bluesky -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-bluesky 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-bluesky 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mautrix-bluesky 2>/dev/null || true' Restart=always RestartSec=30 diff --git a/roles/custom/matrix-bridge-mautrix-discord/templates/systemd/matrix-mautrix-discord.service.j2 b/roles/custom/matrix-bridge-mautrix-discord/templates/systemd/matrix-mautrix-discord.service.j2 index cd853e1a9..9344d7866 100644 --- a/roles/custom/matrix-bridge-mautrix-discord/templates/systemd/matrix-mautrix-discord.service.j2 +++ b/roles/custom/matrix-bridge-mautrix-discord/templates/systemd/matrix-mautrix-discord.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-discord 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-discord 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mautrix-discord 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -39,7 +39,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-mautrix-discord -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-discord 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-discord 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mautrix-discord 2>/dev/null || true' Restart=always RestartSec=30 diff --git a/roles/custom/matrix-bridge-mautrix-facebook/templates/systemd/matrix-mautrix-facebook.service.j2 b/roles/custom/matrix-bridge-mautrix-facebook/templates/systemd/matrix-mautrix-facebook.service.j2 index 3fbb4ad24..754c48885 100644 --- a/roles/custom/matrix-bridge-mautrix-facebook/templates/systemd/matrix-mautrix-facebook.service.j2 +++ b/roles/custom/matrix-bridge-mautrix-facebook/templates/systemd/matrix-mautrix-facebook.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-facebook 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-facebook 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mautrix-facebook 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -41,7 +41,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-mautrix-facebook -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-facebook 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-facebook 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mautrix-facebook 2>/dev/null || true' Restart=always RestartSec=30 diff --git a/roles/custom/matrix-bridge-mautrix-gmessages/templates/systemd/matrix-mautrix-gmessages.service.j2 b/roles/custom/matrix-bridge-mautrix-gmessages/templates/systemd/matrix-mautrix-gmessages.service.j2 index f90597730..af3c1731f 100644 --- a/roles/custom/matrix-bridge-mautrix-gmessages/templates/systemd/matrix-mautrix-gmessages.service.j2 +++ b/roles/custom/matrix-bridge-mautrix-gmessages/templates/systemd/matrix-mautrix-gmessages.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-gmessages 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-gmessages 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mautrix-gmessages 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -39,7 +39,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-mautrix-gmessages -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-gmessages 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-gmessages 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mautrix-gmessages 2>/dev/null || true' Restart=always RestartSec=30 diff --git a/roles/custom/matrix-bridge-mautrix-googlechat/templates/systemd/matrix-mautrix-googlechat.service.j2 b/roles/custom/matrix-bridge-mautrix-googlechat/templates/systemd/matrix-mautrix-googlechat.service.j2 index 50cd131a4..00025295c 100644 --- a/roles/custom/matrix-bridge-mautrix-googlechat/templates/systemd/matrix-mautrix-googlechat.service.j2 +++ b/roles/custom/matrix-bridge-mautrix-googlechat/templates/systemd/matrix-mautrix-googlechat.service.j2 @@ -39,7 +39,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-mautrix-googlechat -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-googlechat 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-googlechat 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mautrix-googlechat 2>/dev/null || true' Restart=always RestartSec=30 diff --git a/roles/custom/matrix-bridge-mautrix-instagram/templates/systemd/matrix-mautrix-instagram.service.j2 b/roles/custom/matrix-bridge-mautrix-instagram/templates/systemd/matrix-mautrix-instagram.service.j2 index e8e6e0f51..35248d9d1 100644 --- a/roles/custom/matrix-bridge-mautrix-instagram/templates/systemd/matrix-mautrix-instagram.service.j2 +++ b/roles/custom/matrix-bridge-mautrix-instagram/templates/systemd/matrix-mautrix-instagram.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-instagram 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-instagram 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mautrix-instagram 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -38,7 +38,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-mautrix-instagram -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-instagram 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-instagram 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mautrix-instagram 2>/dev/null || true' Restart=always RestartSec=30 diff --git a/roles/custom/matrix-bridge-mautrix-meta-instagram/templates/systemd/matrix-mautrix-meta.service.j2 b/roles/custom/matrix-bridge-mautrix-meta-instagram/templates/systemd/matrix-mautrix-meta.service.j2 index a772b3eca..e72e911f2 100644 --- a/roles/custom/matrix-bridge-mautrix-meta-instagram/templates/systemd/matrix-mautrix-meta.service.j2 +++ b/roles/custom/matrix-bridge-mautrix-meta-instagram/templates/systemd/matrix-mautrix-meta.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} {{ matrix_mautrix_meta_instagram_identifier }} 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} {{ matrix_mautrix_meta_instagram_identifier }} 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm {{ matrix_mautrix_meta_instagram_identifier }} 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -41,7 +41,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach {{ matrix_mautrix_meta_instagram_identifier }} -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} {{ matrix_mautrix_meta_instagram_identifier }} 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} {{ matrix_mautrix_meta_instagram_identifier }} 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm {{ matrix_mautrix_meta_instagram_identifier }} 2>/dev/null || true' Restart=always RestartSec=30 diff --git a/roles/custom/matrix-bridge-mautrix-meta-messenger/templates/systemd/matrix-mautrix-meta.service.j2 b/roles/custom/matrix-bridge-mautrix-meta-messenger/templates/systemd/matrix-mautrix-meta.service.j2 index 0ca0263b1..92439132e 100644 --- a/roles/custom/matrix-bridge-mautrix-meta-messenger/templates/systemd/matrix-mautrix-meta.service.j2 +++ b/roles/custom/matrix-bridge-mautrix-meta-messenger/templates/systemd/matrix-mautrix-meta.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} {{ matrix_mautrix_meta_messenger_identifier }} 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} {{ matrix_mautrix_meta_messenger_identifier }} 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm {{ matrix_mautrix_meta_messenger_identifier }} 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -41,7 +41,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach {{ matrix_mautrix_meta_messenger_identifier }} -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} {{ matrix_mautrix_meta_messenger_identifier }} 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} {{ matrix_mautrix_meta_messenger_identifier }} 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm {{ matrix_mautrix_meta_messenger_identifier }} 2>/dev/null || true' Restart=always RestartSec=30 diff --git a/roles/custom/matrix-bridge-mautrix-signal/templates/systemd/matrix-mautrix-signal.service.j2 b/roles/custom/matrix-bridge-mautrix-signal/templates/systemd/matrix-mautrix-signal.service.j2 index 431dfd736..f108dce1c 100644 --- a/roles/custom/matrix-bridge-mautrix-signal/templates/systemd/matrix-mautrix-signal.service.j2 +++ b/roles/custom/matrix-bridge-mautrix-signal/templates/systemd/matrix-mautrix-signal.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-signal 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-signal 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mautrix-signal 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -39,7 +39,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-mautrix-signal -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-signal 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-signal 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mautrix-signal 2>/dev/null || true' Restart=always RestartSec=30 diff --git a/roles/custom/matrix-bridge-mautrix-slack/templates/systemd/matrix-mautrix-slack.service.j2 b/roles/custom/matrix-bridge-mautrix-slack/templates/systemd/matrix-mautrix-slack.service.j2 index e81bd4cef..563ff2552 100644 --- a/roles/custom/matrix-bridge-mautrix-slack/templates/systemd/matrix-mautrix-slack.service.j2 +++ b/roles/custom/matrix-bridge-mautrix-slack/templates/systemd/matrix-mautrix-slack.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-slack 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-slack 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mautrix-slack 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -38,7 +38,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-mautrix-slack -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-slack 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-slack 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mautrix-slack 2>/dev/null || true' Restart=always RestartSec=30 diff --git a/roles/custom/matrix-bridge-mautrix-telegram/templates/systemd/matrix-mautrix-telegram.service.j2 b/roles/custom/matrix-bridge-mautrix-telegram/templates/systemd/matrix-mautrix-telegram.service.j2 index 9b611affe..ce59de6af 100644 --- a/roles/custom/matrix-bridge-mautrix-telegram/templates/systemd/matrix-mautrix-telegram.service.j2 +++ b/roles/custom/matrix-bridge-mautrix-telegram/templates/systemd/matrix-mautrix-telegram.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-telegram 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-telegram 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mautrix-telegram 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -41,7 +41,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-mautrix-telegram -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-telegram 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-telegram 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mautrix-telegram 2>/dev/null || true' Restart=always RestartSec=30 diff --git a/roles/custom/matrix-bridge-mautrix-twitter/templates/systemd/matrix-mautrix-twitter.service.j2 b/roles/custom/matrix-bridge-mautrix-twitter/templates/systemd/matrix-mautrix-twitter.service.j2 index ef16a675d..c044cc616 100644 --- a/roles/custom/matrix-bridge-mautrix-twitter/templates/systemd/matrix-mautrix-twitter.service.j2 +++ b/roles/custom/matrix-bridge-mautrix-twitter/templates/systemd/matrix-mautrix-twitter.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-twitter 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-twitter 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mautrix-twitter 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -38,7 +38,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-mautrix-twitter -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-twitter 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-twitter 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mautrix-twitter 2>/dev/null || true' Restart=always RestartSec=30 diff --git a/roles/custom/matrix-bridge-mautrix-whatsapp/templates/systemd/matrix-mautrix-whatsapp.service.j2 b/roles/custom/matrix-bridge-mautrix-whatsapp/templates/systemd/matrix-mautrix-whatsapp.service.j2 index f7b4a9ee5..fe77ca34d 100644 --- a/roles/custom/matrix-bridge-mautrix-whatsapp/templates/systemd/matrix-mautrix-whatsapp.service.j2 +++ b/roles/custom/matrix-bridge-mautrix-whatsapp/templates/systemd/matrix-mautrix-whatsapp.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-whatsapp 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-whatsapp 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mautrix-whatsapp 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -39,7 +39,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-mautrix-whatsapp -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-whatsapp 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-whatsapp 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mautrix-whatsapp 2>/dev/null || true' Restart=always RestartSec=30 diff --git a/roles/custom/matrix-bridge-mautrix-wsproxy/templates/systemd/matrix-mautrix-wsproxy-syncproxy.service.j2 b/roles/custom/matrix-bridge-mautrix-wsproxy/templates/systemd/matrix-mautrix-wsproxy-syncproxy.service.j2 index 9e1137a97..c46d7b6f9 100644 --- a/roles/custom/matrix-bridge-mautrix-wsproxy/templates/systemd/matrix-mautrix-wsproxy-syncproxy.service.j2 +++ b/roles/custom/matrix-bridge-mautrix-wsproxy/templates/systemd/matrix-mautrix-wsproxy-syncproxy.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-wsproxy-syncproxy 2>/dev/null' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-wsproxy-syncproxy 2>/dev/null' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mautrix-wsproxy-syncproxy 2>/dev/null' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -35,7 +35,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-mautrix-wsproxy-syncproxy -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-wsproxy-syncproxy 2>/dev/null' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-wsproxy-syncproxy 2>/dev/null' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mautrix-wsproxy-syncproxy 2>/dev/null' Restart=always RestartSec=30 diff --git a/roles/custom/matrix-bridge-mautrix-wsproxy/templates/systemd/matrix-mautrix-wsproxy.service.j2 b/roles/custom/matrix-bridge-mautrix-wsproxy/templates/systemd/matrix-mautrix-wsproxy.service.j2 index 206342676..ab71702ea 100644 --- a/roles/custom/matrix-bridge-mautrix-wsproxy/templates/systemd/matrix-mautrix-wsproxy.service.j2 +++ b/roles/custom/matrix-bridge-mautrix-wsproxy/templates/systemd/matrix-mautrix-wsproxy.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-wsproxy 2>/dev/null' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-wsproxy 2>/dev/null' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mautrix-wsproxy 2>/dev/null' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create --rm --name matrix-mautrix-wsproxy \ @@ -38,7 +38,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-mautrix-wsproxy -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-wsproxy 2>/dev/null' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-wsproxy 2>/dev/null' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mautrix-wsproxy 2>/dev/null' Restart=always RestartSec=30 diff --git a/roles/custom/matrix-bridge-mx-puppet-discord/templates/systemd/matrix-mx-puppet-discord.service.j2 b/roles/custom/matrix-bridge-mx-puppet-discord/templates/systemd/matrix-mx-puppet-discord.service.j2 index 55efcfba4..6d75a9332 100644 --- a/roles/custom/matrix-bridge-mx-puppet-discord/templates/systemd/matrix-mx-puppet-discord.service.j2 +++ b/roles/custom/matrix-bridge-mx-puppet-discord/templates/systemd/matrix-mx-puppet-discord.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mx-puppet-discord 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mx-puppet-discord 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mx-puppet-discord 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -38,7 +38,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-mx-puppet-discord -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mx-puppet-discord 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mx-puppet-discord 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mx-puppet-discord 2>/dev/null || true' Restart=always RestartSec=30 diff --git a/roles/custom/matrix-bridge-mx-puppet-groupme/templates/systemd/matrix-mx-puppet-groupme.service.j2 b/roles/custom/matrix-bridge-mx-puppet-groupme/templates/systemd/matrix-mx-puppet-groupme.service.j2 index eb9fd2574..9f4483c6a 100644 --- a/roles/custom/matrix-bridge-mx-puppet-groupme/templates/systemd/matrix-mx-puppet-groupme.service.j2 +++ b/roles/custom/matrix-bridge-mx-puppet-groupme/templates/systemd/matrix-mx-puppet-groupme.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mx-puppet-groupme 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mx-puppet-groupme 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mx-puppet-groupme 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -38,7 +38,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-mx-puppet-groupme -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mx-puppet-groupme 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mx-puppet-groupme 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mx-puppet-groupme 2>/dev/null || true' Restart=always RestartSec=30 diff --git a/roles/custom/matrix-bridge-mx-puppet-instagram/templates/systemd/matrix-mx-puppet-instagram.service.j2 b/roles/custom/matrix-bridge-mx-puppet-instagram/templates/systemd/matrix-mx-puppet-instagram.service.j2 index a3b9d1739..0efca1941 100644 --- a/roles/custom/matrix-bridge-mx-puppet-instagram/templates/systemd/matrix-mx-puppet-instagram.service.j2 +++ b/roles/custom/matrix-bridge-mx-puppet-instagram/templates/systemd/matrix-mx-puppet-instagram.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mx-puppet-instagram 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mx-puppet-instagram 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mx-puppet-instagram 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -38,7 +38,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-mx-puppet-instagram -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mx-puppet-instagram 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mx-puppet-instagram 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mx-puppet-instagram 2>/dev/null || true' Restart=always RestartSec=30 diff --git a/roles/custom/matrix-bridge-mx-puppet-slack/templates/systemd/matrix-mx-puppet-slack.service.j2 b/roles/custom/matrix-bridge-mx-puppet-slack/templates/systemd/matrix-mx-puppet-slack.service.j2 index a87672dd4..0727c4ec1 100644 --- a/roles/custom/matrix-bridge-mx-puppet-slack/templates/systemd/matrix-mx-puppet-slack.service.j2 +++ b/roles/custom/matrix-bridge-mx-puppet-slack/templates/systemd/matrix-mx-puppet-slack.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mx-puppet-slack 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mx-puppet-slack 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mx-puppet-slack 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -42,7 +42,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-mx-puppet-slack -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mx-puppet-slack 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mx-puppet-slack 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mx-puppet-slack 2>/dev/null || true' Restart=always RestartSec=30 diff --git a/roles/custom/matrix-bridge-mx-puppet-steam/templates/systemd/matrix-mx-puppet-steam.service.j2 b/roles/custom/matrix-bridge-mx-puppet-steam/templates/systemd/matrix-mx-puppet-steam.service.j2 index cdb1efaa6..dd235a4e3 100644 --- a/roles/custom/matrix-bridge-mx-puppet-steam/templates/systemd/matrix-mx-puppet-steam.service.j2 +++ b/roles/custom/matrix-bridge-mx-puppet-steam/templates/systemd/matrix-mx-puppet-steam.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mx-puppet-steam 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mx-puppet-steam 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mx-puppet-steam 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -38,7 +38,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-mx-puppet-steam -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mx-puppet-steam 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mx-puppet-steam 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mx-puppet-steam 2>/dev/null || true' Restart=always RestartSec=30 diff --git a/roles/custom/matrix-bridge-mx-puppet-twitter/templates/systemd/matrix-mx-puppet-twitter.service.j2 b/roles/custom/matrix-bridge-mx-puppet-twitter/templates/systemd/matrix-mx-puppet-twitter.service.j2 index 6d2ff145b..1e4771d9a 100644 --- a/roles/custom/matrix-bridge-mx-puppet-twitter/templates/systemd/matrix-mx-puppet-twitter.service.j2 +++ b/roles/custom/matrix-bridge-mx-puppet-twitter/templates/systemd/matrix-mx-puppet-twitter.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mx-puppet-twitter 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mx-puppet-twitter 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mx-puppet-twitter 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -41,7 +41,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-mx-puppet-twitter -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mx-puppet-twitter 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mx-puppet-twitter 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mx-puppet-twitter 2>/dev/null || true' Restart=always RestartSec=30 diff --git a/roles/custom/matrix-bridge-postmoogle/templates/systemd/matrix-postmoogle.service.j2 b/roles/custom/matrix-bridge-postmoogle/templates/systemd/matrix-postmoogle.service.j2 index fa4c1bf36..5d730184e 100644 --- a/roles/custom/matrix-bridge-postmoogle/templates/systemd/matrix-postmoogle.service.j2 +++ b/roles/custom/matrix-bridge-postmoogle/templates/systemd/matrix-postmoogle.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-postmoogle 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-postmoogle 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-postmoogle 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -44,7 +44,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-postmoogle -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-postmoogle 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-postmoogle 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-postmoogle 2>/dev/null || true' Restart=always RestartSec=30 diff --git a/roles/custom/matrix-bridge-sms/templates/systemd/matrix-sms-bridge.service.j2 b/roles/custom/matrix-bridge-sms/templates/systemd/matrix-sms-bridge.service.j2 index 5f12e4922..49af8b715 100644 --- a/roles/custom/matrix-bridge-sms/templates/systemd/matrix-sms-bridge.service.j2 +++ b/roles/custom/matrix-bridge-sms/templates/systemd/matrix-sms-bridge.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-sms-bridge 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-sms-bridge 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-sms-bridge 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -40,7 +40,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-sms-bridge -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-sms-bridge 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-sms-bridge 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-sms-bridge 2>/dev/null || true' Restart=always RestartSec=30 diff --git a/roles/custom/matrix-bridge-wechat/templates/systemd/matrix-wechat-agent.service.j2 b/roles/custom/matrix-bridge-wechat/templates/systemd/matrix-wechat-agent.service.j2 index 8e5ea5239..dc8d348da 100644 --- a/roles/custom/matrix-bridge-wechat/templates/systemd/matrix-wechat-agent.service.j2 +++ b/roles/custom/matrix-bridge-wechat/templates/systemd/matrix-wechat-agent.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-wechat-agent 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-wechat-agent 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-wechat-agent 2>/dev/null || true' {# @@ -39,7 +39,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-wechat-agent -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-wechat-agent 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-wechat-agent 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-wechat-agent 2>/dev/null || true' Restart=always RestartSec=30 diff --git a/roles/custom/matrix-bridge-wechat/templates/systemd/matrix-wechat.service.j2 b/roles/custom/matrix-bridge-wechat/templates/systemd/matrix-wechat.service.j2 index 96f87e9bb..193042a66 100644 --- a/roles/custom/matrix-bridge-wechat/templates/systemd/matrix-wechat.service.j2 +++ b/roles/custom/matrix-bridge-wechat/templates/systemd/matrix-wechat.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-wechat 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-wechat 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-wechat 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -37,7 +37,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-wechat -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-wechat 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-wechat 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-wechat 2>/dev/null || true' Restart=always RestartSec=30 diff --git a/roles/custom/matrix-cactus-comments-client/templates/systemd/matrix-cactus-comments-client.service.j2 b/roles/custom/matrix-cactus-comments-client/templates/systemd/matrix-cactus-comments-client.service.j2 index 10fd74d94..6e49e6fad 100755 --- a/roles/custom/matrix-cactus-comments-client/templates/systemd/matrix-cactus-comments-client.service.j2 +++ b/roles/custom/matrix-cactus-comments-client/templates/systemd/matrix-cactus-comments-client.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-cactus-comments-client 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-cactus-comments-client 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-cactus-comments-client 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -38,7 +38,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-cactus-comments-client -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-cactus-comments-client 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-cactus-comments-client 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-cactus-comments-client 2>/dev/null || true' Restart=always RestartSec=30 diff --git a/roles/custom/matrix-cactus-comments/templates/systemd/matrix-cactus-comments.service.j2 b/roles/custom/matrix-cactus-comments/templates/systemd/matrix-cactus-comments.service.j2 index 9c862e178..64220e310 100644 --- a/roles/custom/matrix-cactus-comments/templates/systemd/matrix-cactus-comments.service.j2 +++ b/roles/custom/matrix-cactus-comments/templates/systemd/matrix-cactus-comments.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-cactus-comments 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-cactus-comments 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-cactus-comments 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -34,7 +34,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-cactus-comments -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-cactus-comments 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-cactus-comments 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-cactus-comments 2>/dev/null || true' Restart=always RestartSec=30 diff --git a/roles/custom/matrix-client-cinny/templates/systemd/matrix-client-cinny.service.j2 b/roles/custom/matrix-client-cinny/templates/systemd/matrix-client-cinny.service.j2 index c5b5ab3ac..6aac5e9c3 100644 --- a/roles/custom/matrix-client-cinny/templates/systemd/matrix-client-cinny.service.j2 +++ b/roles/custom/matrix-client-cinny/templates/systemd/matrix-client-cinny.service.j2 @@ -10,7 +10,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-client-cinny 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-client-cinny 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-client-cinny 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -39,7 +39,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-client-cinny -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-client-cinny 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-client-cinny 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-client-cinny 2>/dev/null || true' Restart=always diff --git a/roles/custom/matrix-client-element/templates/systemd/matrix-client-element.service.j2 b/roles/custom/matrix-client-element/templates/systemd/matrix-client-element.service.j2 index 9748cfe7c..834e5cb87 100644 --- a/roles/custom/matrix-client-element/templates/systemd/matrix-client-element.service.j2 +++ b/roles/custom/matrix-client-element/templates/systemd/matrix-client-element.service.j2 @@ -10,7 +10,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-client-element 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-client-element 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-client-element 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -47,7 +47,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-client-element -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-client-element 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-client-element 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-client-element 2>/dev/null || true' Restart=always diff --git a/roles/custom/matrix-client-fluffychat/templates/systemd/matrix-client-fluffychat.service.j2 b/roles/custom/matrix-client-fluffychat/templates/systemd/matrix-client-fluffychat.service.j2 index 5747637e5..ad10c6297 100644 --- a/roles/custom/matrix-client-fluffychat/templates/systemd/matrix-client-fluffychat.service.j2 +++ b/roles/custom/matrix-client-fluffychat/templates/systemd/matrix-client-fluffychat.service.j2 @@ -10,7 +10,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-client-fluffychat 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-client-fluffychat 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-client-fluffychat 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -37,7 +37,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-client-fluffychat -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-client-fluffychat 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-client-fluffychat 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-client-fluffychat 2>/dev/null || true' Restart=always diff --git a/roles/custom/matrix-client-hydrogen/templates/systemd/matrix-client-hydrogen.service.j2 b/roles/custom/matrix-client-hydrogen/templates/systemd/matrix-client-hydrogen.service.j2 index 28867dd5a..5f6dbe30d 100644 --- a/roles/custom/matrix-client-hydrogen/templates/systemd/matrix-client-hydrogen.service.j2 +++ b/roles/custom/matrix-client-hydrogen/templates/systemd/matrix-client-hydrogen.service.j2 @@ -10,7 +10,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-client-hydrogen 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-client-hydrogen 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-client-hydrogen 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -39,7 +39,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-client-hydrogen -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-client-hydrogen 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-client-hydrogen 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-client-hydrogen 2>/dev/null || true' Restart=always diff --git a/roles/custom/matrix-client-schildichat/templates/systemd/matrix-client-schildichat.service.j2 b/roles/custom/matrix-client-schildichat/templates/systemd/matrix-client-schildichat.service.j2 index 98941d47e..ab223e166 100644 --- a/roles/custom/matrix-client-schildichat/templates/systemd/matrix-client-schildichat.service.j2 +++ b/roles/custom/matrix-client-schildichat/templates/systemd/matrix-client-schildichat.service.j2 @@ -10,7 +10,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-client-schildichat 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-client-schildichat 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-client-schildichat 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -46,7 +46,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-client-schildichat -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-client-schildichat 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-client-schildichat 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-client-schildichat 2>/dev/null || true' Restart=always diff --git a/roles/custom/matrix-conduit/templates/systemd/matrix-conduit.service.j2 b/roles/custom/matrix-conduit/templates/systemd/matrix-conduit.service.j2 index 4084f6a11..1ae8b7e97 100644 --- a/roles/custom/matrix-conduit/templates/systemd/matrix-conduit.service.j2 +++ b/roles/custom/matrix-conduit/templates/systemd/matrix-conduit.service.j2 @@ -9,7 +9,7 @@ After={{ service }} [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-conduit 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-conduit 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-conduit 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -40,7 +40,7 @@ ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach m ExecStartPost=-{{ matrix_host_command_sleep }} {{ matrix_conduit_systemd_service_post_start_delay_seconds }} {% endif %} -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-conduit 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-conduit 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-conduit 2>/dev/null || true' ExecReload={{ devture_systemd_docker_base_host_command_docker }} exec matrix-conduit /bin/sh -c 'kill -HUP 1' Restart=always diff --git a/roles/custom/matrix-conduwuit/templates/systemd/matrix-conduwuit.service.j2 b/roles/custom/matrix-conduwuit/templates/systemd/matrix-conduwuit.service.j2 index 5291e33a8..2c05c7872 100644 --- a/roles/custom/matrix-conduwuit/templates/systemd/matrix-conduwuit.service.j2 +++ b/roles/custom/matrix-conduwuit/templates/systemd/matrix-conduwuit.service.j2 @@ -9,7 +9,7 @@ After={{ service }} [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-conduwuit 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-conduwuit 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-conduwuit 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -40,7 +40,7 @@ ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach m ExecStartPost=-{{ matrix_host_command_sleep }} {{ matrix_conduwuit_systemd_service_post_start_delay_seconds }} {% endif %} -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-conduwuit 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-conduwuit 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-conduwuit 2>/dev/null || true' ExecReload={{ devture_systemd_docker_base_host_command_docker }} exec matrix-conduwuit /bin/sh -c 'kill -HUP 1' Restart=always diff --git a/roles/custom/matrix-corporal/templates/systemd/matrix-corporal.service.j2 b/roles/custom/matrix-corporal/templates/systemd/matrix-corporal.service.j2 index 41900d130..473d9450b 100644 --- a/roles/custom/matrix-corporal/templates/systemd/matrix-corporal.service.j2 +++ b/roles/custom/matrix-corporal/templates/systemd/matrix-corporal.service.j2 @@ -10,7 +10,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-corporal 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-corporal 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-corporal 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -43,7 +43,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-corporal -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-corporal 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-corporal 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-corporal 2>/dev/null || true' Restart=always RestartSec=30 diff --git a/roles/custom/matrix-coturn/templates/systemd/matrix-coturn.service.j2 b/roles/custom/matrix-coturn/templates/systemd/matrix-coturn.service.j2 index 6d3ffe310..5aec071f6 100644 --- a/roles/custom/matrix-coturn/templates/systemd/matrix-coturn.service.j2 +++ b/roles/custom/matrix-coturn/templates/systemd/matrix-coturn.service.j2 @@ -10,7 +10,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-coturn 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-coturn 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-coturn 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -55,7 +55,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-coturn -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-coturn 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-coturn 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-coturn 2>/dev/null || true' # This only reloads certificates (not other configuration). diff --git a/roles/custom/matrix-dendrite/templates/systemd/matrix-dendrite.service.j2 b/roles/custom/matrix-dendrite/templates/systemd/matrix-dendrite.service.j2 index 7dff4e0f9..ca09cb292 100644 --- a/roles/custom/matrix-dendrite/templates/systemd/matrix-dendrite.service.j2 +++ b/roles/custom/matrix-dendrite/templates/systemd/matrix-dendrite.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-dendrite 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-dendrite 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-dendrite 2>/dev/null || true' {% if (postgres_identifier + '.service') in matrix_dendrite_systemd_required_services_list %} @@ -67,7 +67,7 @@ ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach m ExecStartPost=-{{ matrix_host_command_sleep }} {{ matrix_dendrite_systemd_service_post_start_delay_seconds }} {% endif %} -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-dendrite 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-dendrite 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-dendrite 2>/dev/null || true' ExecReload={{ devture_systemd_docker_base_host_command_docker }} exec matrix-dendrite /bin/sh -c 'kill -HUP 1' Restart=always diff --git a/roles/custom/matrix-dimension/templates/systemd/matrix-dimension.service.j2 b/roles/custom/matrix-dimension/templates/systemd/matrix-dimension.service.j2 index 7898a7ba3..33a800838 100644 --- a/roles/custom/matrix-dimension/templates/systemd/matrix-dimension.service.j2 +++ b/roles/custom/matrix-dimension/templates/systemd/matrix-dimension.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-dimension 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-dimension 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-dimension 2>/dev/null || true' # Fixup database ownership if it got changed somehow (during a server migration, etc.) @@ -47,7 +47,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-dimension -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-dimension 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-dimension 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-dimension 2>/dev/null || true' Restart=always diff --git a/roles/custom/matrix-dynamic-dns/templates/systemd/matrix-dynamic-dns.service.j2 b/roles/custom/matrix-dynamic-dns/templates/systemd/matrix-dynamic-dns.service.j2 index e5507a337..97c0b5989 100644 --- a/roles/custom/matrix-dynamic-dns/templates/systemd/matrix-dynamic-dns.service.j2 +++ b/roles/custom/matrix-dynamic-dns/templates/systemd/matrix-dynamic-dns.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-dynamic-dns 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-dynamic-dns 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-dynamic-dns 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -36,7 +36,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-dynamic-dns -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-dynamic-dns 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-dynamic-dns 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-dynamic-dns 2>/dev/null || true' Restart=always RestartSec=30 diff --git a/roles/custom/matrix-email2matrix/templates/systemd/matrix-email2matrix.service.j2 b/roles/custom/matrix-email2matrix/templates/systemd/matrix-email2matrix.service.j2 index 10d4de04d..4b84d13dd 100644 --- a/roles/custom/matrix-email2matrix/templates/systemd/matrix-email2matrix.service.j2 +++ b/roles/custom/matrix-email2matrix/templates/systemd/matrix-email2matrix.service.j2 @@ -10,7 +10,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-email2matrix 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-email2matrix 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-email2matrix 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -34,7 +34,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-email2matrix -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-email2matrix 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-email2matrix 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-email2matrix 2>/dev/null || true' Restart=always RestartSec=30 diff --git a/roles/custom/matrix-ldap-registration-proxy/templates/systemd/matrix-ldap-registration-proxy.service.j2 b/roles/custom/matrix-ldap-registration-proxy/templates/systemd/matrix-ldap-registration-proxy.service.j2 index 5d3ef7f47..5668d0a86 100644 --- a/roles/custom/matrix-ldap-registration-proxy/templates/systemd/matrix-ldap-registration-proxy.service.j2 +++ b/roles/custom/matrix-ldap-registration-proxy/templates/systemd/matrix-ldap-registration-proxy.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-ldap-registration-proxy 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-ldap-registration-proxy 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-ldap-registration-proxy 2>/dev/null || true' # matrix_ldap_registration_proxy writes an SQLite shared library (libsqlitejdbc.so) to /tmp and executes it from there, @@ -42,7 +42,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-ldap-registration-proxy -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-ldap-registration-proxy 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-ldap-registration-proxy 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-ldap-registration-proxy 2>/dev/null || true' Restart=always RestartSec=30 diff --git a/roles/custom/matrix-ma1sd/templates/systemd/matrix-ma1sd.service.j2 b/roles/custom/matrix-ma1sd/templates/systemd/matrix-ma1sd.service.j2 index 36e6a353b..7f9ec27f4 100644 --- a/roles/custom/matrix-ma1sd/templates/systemd/matrix-ma1sd.service.j2 +++ b/roles/custom/matrix-ma1sd/templates/systemd/matrix-ma1sd.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-ma1sd 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-ma1sd 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-ma1sd 2>/dev/null || true' # ma1sd writes an SQLite shared library (libsqlitejdbc.so) to /tmp and executes it from there, @@ -47,7 +47,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-ma1sd -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-ma1sd 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-ma1sd 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-ma1sd 2>/dev/null || true' Restart=always RestartSec=30 diff --git a/roles/custom/matrix-media-repo/templates/media-repo/systemd/matrix-media-repo.service.j2 b/roles/custom/matrix-media-repo/templates/media-repo/systemd/matrix-media-repo.service.j2 index ea2fb125f..cb8e6a547 100755 --- a/roles/custom/matrix-media-repo/templates/media-repo/systemd/matrix-media-repo.service.j2 +++ b/roles/custom/matrix-media-repo/templates/media-repo/systemd/matrix-media-repo.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} {{ matrix_media_repo_identifier }} 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} {{ matrix_media_repo_identifier }} 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm {{ matrix_media_repo_identifier }} 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -46,7 +46,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach {{ matrix_media_repo_identifier }} -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} {{ matrix_media_repo_identifier }} 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} {{ matrix_media_repo_identifier }} 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm {{ matrix_media_repo_identifier }} 2>/dev/null || true' ExecReload={{ devture_systemd_docker_base_host_command_docker }} exec {{ matrix_media_repo_identifier }} /bin/sh -c 'kill -HUP 1' Restart=always diff --git a/roles/custom/matrix-prometheus-nginxlog-exporter/templates/systemd/matrix-prometheus-nginxlog-exporter.service.j2 b/roles/custom/matrix-prometheus-nginxlog-exporter/templates/systemd/matrix-prometheus-nginxlog-exporter.service.j2 index 63ea4f1ef..027ab8ddc 100644 --- a/roles/custom/matrix-prometheus-nginxlog-exporter/templates/systemd/matrix-prometheus-nginxlog-exporter.service.j2 +++ b/roles/custom/matrix-prometheus-nginxlog-exporter/templates/systemd/matrix-prometheus-nginxlog-exporter.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} {{ matrix_prometheus_nginxlog_exporter_identifier }} 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} {{ matrix_prometheus_nginxlog_exporter_identifier }} 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm {{ matrix_prometheus_nginxlog_exporter_identifier }} 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -44,7 +44,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach {{ matrix_prometheus_nginxlog_exporter_identifier }} -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} {{ matrix_prometheus_nginxlog_exporter_identifier }} 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} {{ matrix_prometheus_nginxlog_exporter_identifier }} 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm {{ matrix_prometheus_nginxlog_exporter_identifier }} 2>/dev/null || true' Restart=always RestartSec=30 diff --git a/roles/custom/matrix-rageshake/templates/systemd/matrix-rageshake.service.j2 b/roles/custom/matrix-rageshake/templates/systemd/matrix-rageshake.service.j2 index ba98d0e3a..fc90ea1e0 100644 --- a/roles/custom/matrix-rageshake/templates/systemd/matrix-rageshake.service.j2 +++ b/roles/custom/matrix-rageshake/templates/systemd/matrix-rageshake.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-rageshake 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-rageshake 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-rageshake 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -40,7 +40,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-rageshake -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-rageshake 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-rageshake 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-rageshake 2>/dev/null || true' Restart=always diff --git a/roles/custom/matrix-registration/templates/systemd/matrix-registration.service.j2 b/roles/custom/matrix-registration/templates/systemd/matrix-registration.service.j2 index 0544676c1..1888a2448 100644 --- a/roles/custom/matrix-registration/templates/systemd/matrix-registration.service.j2 +++ b/roles/custom/matrix-registration/templates/systemd/matrix-registration.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-registration 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-registration 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-registration 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -41,7 +41,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-registration -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-registration 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-registration 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-registration 2>/dev/null || true' Restart=always RestartSec=30 diff --git a/roles/custom/matrix-sliding-sync/templates/systemd/matrix-sliding-sync.service.j2 b/roles/custom/matrix-sliding-sync/templates/systemd/matrix-sliding-sync.service.j2 index d3a22e1d4..20ca0edf3 100644 --- a/roles/custom/matrix-sliding-sync/templates/systemd/matrix-sliding-sync.service.j2 +++ b/roles/custom/matrix-sliding-sync/templates/systemd/matrix-sliding-sync.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-sliding-sync 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-sliding-sync 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-sliding-sync 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -38,7 +38,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-sliding-sync -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-sliding-sync 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-sliding-sync 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-sliding-sync 2>/dev/null || true' Restart=always diff --git a/roles/custom/matrix-static-files/templates/systemd/matrix-static-files.service.j2 b/roles/custom/matrix-static-files/templates/systemd/matrix-static-files.service.j2 index b1bc2dd1b..ef828c22d 100755 --- a/roles/custom/matrix-static-files/templates/systemd/matrix-static-files.service.j2 +++ b/roles/custom/matrix-static-files/templates/systemd/matrix-static-files.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-static-files 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-static-files 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-static-files 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -39,7 +39,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-static-files -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-static-files 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-static-files 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-static-files 2>/dev/null || true' Restart=always RestartSec=30 diff --git a/roles/custom/matrix-sygnal/templates/systemd/matrix-sygnal.service.j2 b/roles/custom/matrix-sygnal/templates/systemd/matrix-sygnal.service.j2 index 12140146a..96e6ea72e 100644 --- a/roles/custom/matrix-sygnal/templates/systemd/matrix-sygnal.service.j2 +++ b/roles/custom/matrix-sygnal/templates/systemd/matrix-sygnal.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-sygnal 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-sygnal 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-sygnal 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -41,7 +41,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-sygnal -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-sygnal 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-sygnal 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-sygnal 2>/dev/null || true' Restart=always diff --git a/roles/custom/matrix-synapse-admin/templates/systemd/matrix-synapse-admin.service.j2 b/roles/custom/matrix-synapse-admin/templates/systemd/matrix-synapse-admin.service.j2 index ed72bef7c..dd3675fae 100644 --- a/roles/custom/matrix-synapse-admin/templates/systemd/matrix-synapse-admin.service.j2 +++ b/roles/custom/matrix-synapse-admin/templates/systemd/matrix-synapse-admin.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-synapse-admin 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-synapse-admin 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-synapse-admin 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -42,7 +42,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-synapse-admin -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-synapse-admin 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-synapse-admin 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-synapse-admin 2>/dev/null || true' Restart=always diff --git a/roles/custom/matrix-synapse-auto-compressor/templates/matrix-synapse-auto-compressor.service.j2 b/roles/custom/matrix-synapse-auto-compressor/templates/matrix-synapse-auto-compressor.service.j2 index 842f33670..486579f8a 100644 --- a/roles/custom/matrix-synapse-auto-compressor/templates/matrix-synapse-auto-compressor.service.j2 +++ b/roles/custom/matrix-synapse-auto-compressor/templates/matrix-synapse-auto-compressor.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=oneshot Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-synapse-auto-compressor 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-synapse-auto-compressor 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-synapse-auto-compressor 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} {{ matrix_synapse_auto_compressor_base_path }}/matrix-synapse-auto-compressor-fix.sh @@ -39,7 +39,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-synapse-auto-compressor -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-synapse-auto-compressor 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-synapse-auto-compressor 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-synapse-auto-compressor 2>/dev/null || true' SyslogIdentifier=matrix-synapse-auto-compressor diff --git a/roles/custom/matrix-synapse-reverse-proxy-companion/templates/systemd/matrix-synapse-reverse-proxy-companion.service.j2 b/roles/custom/matrix-synapse-reverse-proxy-companion/templates/systemd/matrix-synapse-reverse-proxy-companion.service.j2 index 3e1732369..0a2434061 100755 --- a/roles/custom/matrix-synapse-reverse-proxy-companion/templates/systemd/matrix-synapse-reverse-proxy-companion.service.j2 +++ b/roles/custom/matrix-synapse-reverse-proxy-companion/templates/systemd/matrix-synapse-reverse-proxy-companion.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-synapse-reverse-proxy-companion 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-synapse-reverse-proxy-companion 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-synapse-reverse-proxy-companion 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -48,7 +48,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-synapse-reverse-proxy-companion -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-synapse-reverse-proxy-companion 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-synapse-reverse-proxy-companion 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-synapse-reverse-proxy-companion 2>/dev/null || true' ExecReload={{ devture_systemd_docker_base_host_command_docker }} exec matrix-synapse-reverse-proxy-companion /usr/sbin/nginx -s reload Restart=always diff --git a/roles/custom/matrix-synapse-usage-exporter/templates/systemd/matrix-synapse-usage-exporter.service.j2 b/roles/custom/matrix-synapse-usage-exporter/templates/systemd/matrix-synapse-usage-exporter.service.j2 index da09078c3..1b560dc9a 100644 --- a/roles/custom/matrix-synapse-usage-exporter/templates/systemd/matrix-synapse-usage-exporter.service.j2 +++ b/roles/custom/matrix-synapse-usage-exporter/templates/systemd/matrix-synapse-usage-exporter.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} {{ matrix_synapse_usage_exporter_identifier }} 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} {{ matrix_synapse_usage_exporter_identifier }} 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm {{ matrix_synapse_usage_exporter_identifier }} 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -36,7 +36,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach {{ matrix_synapse_usage_exporter_identifier }} -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} {{ matrix_synapse_usage_exporter_identifier }} 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} {{ matrix_synapse_usage_exporter_identifier }} 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm {{ matrix_synapse_usage_exporter_identifier }} 2>/dev/null || true' ExecReload={{ devture_systemd_docker_base_host_command_docker }} exec {{ matrix_synapse_usage_exporter_identifier }} /bin/sh -c 'kill -HUP 1' Restart=always diff --git a/roles/custom/matrix-synapse/templates/goofys/systemd/matrix-goofys.service.j2 b/roles/custom/matrix-synapse/templates/goofys/systemd/matrix-goofys.service.j2 index 0f7a83620..8459cd723 100644 --- a/roles/custom/matrix-synapse/templates/goofys/systemd/matrix-goofys.service.j2 +++ b/roles/custom/matrix-synapse/templates/goofys/systemd/matrix-goofys.service.j2 @@ -10,7 +10,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} %n +ExecStartPre=-{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} %n ExecStartPre=-{{ devture_systemd_docker_base_host_command_docker }} rm %n ExecStart={{ devture_systemd_docker_base_host_command_docker }} run --rm --name %n \ @@ -33,7 +33,7 @@ ExecStartPost={{ matrix_host_command_sleep }} 3 TimeoutStartSec=5min ExecStop=-{{ devture_systemd_docker_base_host_command_docker }} stop %n -ExecStop=-{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} %n +ExecStop=-{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} %n ExecStop=-{{ devture_systemd_docker_base_host_command_docker }} rm %n ExecStop=-{{ matrix_host_command_fusermount }} -u {{ matrix_s3_media_store_path }} Restart=always diff --git a/roles/custom/matrix-synapse/templates/synapse/systemd/matrix-synapse-worker.service.j2 b/roles/custom/matrix-synapse/templates/synapse/systemd/matrix-synapse-worker.service.j2 index 21b747b0e..bdd5b5742 100644 --- a/roles/custom/matrix-synapse/templates/synapse/systemd/matrix-synapse-worker.service.j2 +++ b/roles/custom/matrix-synapse/templates/synapse/systemd/matrix-synapse-worker.service.j2 @@ -37,7 +37,7 @@ Requires=matrix-synapse.service Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} {{ matrix_synapse_worker_container_name }} 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} {{ matrix_synapse_worker_container_name }} 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm {{ matrix_synapse_worker_container_name }} 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -83,7 +83,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach {{ matrix_synapse_worker_container_name }} -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} {{ matrix_synapse_worker_container_name }} 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} {{ matrix_synapse_worker_container_name }} 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm {{ matrix_synapse_worker_container_name }} 2>/dev/null || true' ExecReload={{ devture_systemd_docker_base_host_command_docker }} exec {{ matrix_synapse_worker_container_name }} /bin/sh -c 'kill -HUP 1' diff --git a/roles/custom/matrix-synapse/templates/synapse/systemd/matrix-synapse.service.j2 b/roles/custom/matrix-synapse/templates/synapse/systemd/matrix-synapse.service.j2 index a22c09b1e..9fa7a1dfb 100644 --- a/roles/custom/matrix-synapse/templates/synapse/systemd/matrix-synapse.service.j2 +++ b/roles/custom/matrix-synapse/templates/synapse/systemd/matrix-synapse.service.j2 @@ -21,7 +21,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-synapse 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-synapse 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-synapse 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ @@ -73,7 +73,7 @@ ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach m ExecStartPost=-{{ matrix_host_command_sleep }} {{ matrix_synapse_systemd_service_post_start_delay_seconds }} {% endif %} -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-synapse 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-synapse 2>/dev/null || true' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-synapse 2>/dev/null || true' ExecReload={{ devture_systemd_docker_base_host_command_docker }} exec matrix-synapse /bin/sh -c 'kill -HUP 1' diff --git a/roles/custom/matrix-user-verification-service/templates/systemd/matrix-user-verification-service.service.j2 b/roles/custom/matrix-user-verification-service/templates/systemd/matrix-user-verification-service.service.j2 index 19956496b..16df27a1c 100644 --- a/roles/custom/matrix-user-verification-service/templates/systemd/matrix-user-verification-service.service.j2 +++ b/roles/custom/matrix-user-verification-service/templates/systemd/matrix-user-verification-service.service.j2 @@ -13,7 +13,7 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} {{ matrix_user_verification_service_container_name }} 2>/dev/null' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} {{ matrix_user_verification_service_container_name }} 2>/dev/null' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm {{ matrix_user_verification_service_container_name }} 2>/dev/null' @@ -40,7 +40,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network conne {% endfor %} ExecStart=/usr/bin/env docker start --attach matrix-user-verification-service -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} {{ matrix_user_verification_service_container_name }} 2>/dev/null' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} {{ matrix_user_verification_service_container_name }} 2>/dev/null' ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm {{ matrix_user_verification_service_container_name }} 2>/dev/null' Restart=always RestartSec=30 From a518fcce818ef940117edb0a6932576b944be8d5 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sat, 22 Feb 2025 21:47:58 +0200 Subject: [PATCH 440/841] Upgrade Prometheus (v2.55.1-1 -> v2.55.1-2) --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index aa0f5a9b0..66b8ff8f2 100644 --- a/requirements.yml +++ b/requirements.yml @@ -46,7 +46,7 @@ version: v17-2 name: postgres_backup - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus.git - version: v2.55.1-1 + version: v2.55.1-2 name: prometheus - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-node-exporter.git version: v1.8.2-3 From ecefbc8b44d50b51119ec5f014f892bd1b68abc1 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sat, 22 Feb 2025 21:54:25 +0200 Subject: [PATCH 441/841] Upgrade backup-borg (v1.4.0-1.9.10-2 -> v1.4.0-1.9.10-3) --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 66b8ff8f2..87cc2e082 100644 --- a/requirements.yml +++ b/requirements.yml @@ -4,7 +4,7 @@ version: v1.0.0-5 name: auxiliary - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg.git - version: v1.4.0-1.9.10-2 + version: v1.4.0-1.9.10-3 name: backup_borg - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-container-socket-proxy.git version: v0.3.0-2 From 5aa149fb5295b8ec54e11b2dc9a6feb48fed7af8 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sat, 22 Feb 2025 21:56:49 +0200 Subject: [PATCH 442/841] Upgrade Traefik (v3.3.3-2 -> v3.3.3-3) --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 87cc2e082..47e64339e 100644 --- a/requirements.yml +++ b/requirements.yml @@ -64,7 +64,7 @@ version: v1.0.0-0 name: timesync - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-traefik.git - version: v3.3.3-2 + version: v3.3.3-3 name: traefik - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-traefik-certs-dumper.git version: v2.8.3-6 From 41fc044ee0a768d8c82e81c7dee6790ac36b191b Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sat, 22 Feb 2025 22:03:02 +0200 Subject: [PATCH 443/841] Upgrade Jitsi (v10008-1 -> v10008-2) --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 47e64339e..7579119cd 100644 --- a/requirements.yml +++ b/requirements.yml @@ -25,7 +25,7 @@ version: v11.5.2-0 name: grafana - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-jitsi.git - version: v10008-1 + version: v10008-2 name: jitsi - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-ntfy.git version: v2.11.0-2 From 6d501b9cc6962c0656a3013681d4a0bcf09d5929 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sat, 22 Feb 2025 22:03:54 +0200 Subject: [PATCH 444/841] Upgrade container-socket-proxy (v0.3.0-2 -> v0.3.0-3) --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 7579119cd..650ff3fb3 100644 --- a/requirements.yml +++ b/requirements.yml @@ -7,7 +7,7 @@ version: v1.4.0-1.9.10-3 name: backup_borg - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-container-socket-proxy.git - version: v0.3.0-2 + version: v0.3.0-3 name: container_socket_proxy - src: git+https://github.com/geerlingguy/ansible-role-docker version: 7.4.5 From c28630355a73f5e2ef8136901b615a4e4ea57ed4 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sat, 22 Feb 2025 22:31:11 +0200 Subject: [PATCH 445/841] Upgrade exim-relay (v4.98-r0-4-1 -> v4.98-r0-4-2) --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 650ff3fb3..ac3c99c84 100644 --- a/requirements.yml +++ b/requirements.yml @@ -19,7 +19,7 @@ version: v2.2.7-2 name: etherpad - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay.git - version: v4.98-r0-4-1 + version: v4.98-r0-4-2 name: exim_relay - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-grafana.git version: v11.5.2-0 From 9a035eeabe58a7c6ef0291b522fbc9db8c139260 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sat, 22 Feb 2025 22:40:28 +0200 Subject: [PATCH 446/841] Upgrade Etherpad (v2.2.7-2 -> v2.2.7-3) --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index ac3c99c84..5ba67b06c 100644 --- a/requirements.yml +++ b/requirements.yml @@ -16,7 +16,7 @@ version: 129c8590e106b83e6f4c259649a613c6279e937a name: docker_sdk_for_python - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-etherpad.git - version: v2.2.7-2 + version: v2.2.7-3 name: etherpad - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay.git version: v4.98-r0-4-2 From 56e9967f5db3efd18f946ca98df0d49c1e902692 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sat, 22 Feb 2025 22:41:52 +0200 Subject: [PATCH 447/841] Upgrade Valkey (v8.0.1-1 -> v8.0.1-2) --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 5ba67b06c..675569d11 100644 --- a/requirements.yml +++ b/requirements.yml @@ -70,5 +70,5 @@ version: v2.8.3-6 name: traefik_certs_dumper - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-valkey.git - version: v8.0.1-1 + version: v8.0.1-2 name: valkey From 807da7433461dc207bb706740a1edd6296369ce6 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 23 Feb 2025 13:33:30 +0900 Subject: [PATCH 448/841] Add license information to files for MX bridges As the future for the MX bridges in this playbook and by themselves seems uncertain, this commit adds license information in SPDX format to the files for those bridges, before the bridges would be deprecated and possibly get removed from the project. Please note that .license files are added for the files which would be broken if such information are added as header, following the REUSE's specification. Signed-off-by: Suguru Hirahara --- ...nfiguring-playbook-bridge-mx-puppet-discord.md | 9 +++++++++ ...nfiguring-playbook-bridge-mx-puppet-groupme.md | 9 +++++++++ ...iguring-playbook-bridge-mx-puppet-instagram.md | 7 +++++++ ...configuring-playbook-bridge-mx-puppet-skype.md | 8 ++++++++ ...configuring-playbook-bridge-mx-puppet-slack.md | 11 +++++++++++ ...configuring-playbook-bridge-mx-puppet-steam.md | 9 +++++++++ ...nfiguring-playbook-bridge-mx-puppet-twitter.md | 8 ++++++++ .../defaults/main.yml | 12 ++++++++++++ .../tasks/main.yml | 6 ++++++ .../tasks/setup_install.yml | 11 +++++++++++ .../tasks/setup_uninstall.yml | 6 ++++++ .../tasks/validate_config.yml | 5 +++++ .../templates/config.yaml.j2.license | 6 ++++++ .../matrix-mx-puppet-discord.service.j2.license | 5 +++++ .../defaults/main.yml | 11 +++++++++++ .../tasks/main.yml | 6 ++++++ .../tasks/setup_install.yml | 10 ++++++++++ .../tasks/setup_uninstall.yml | 6 ++++++ .../tasks/validate_config.yml | 5 +++++ .../templates/config.yaml.j2.license | 5 +++++ .../matrix-mx-puppet-groupme.service.j2.license | 4 ++++ .../defaults/main.yml | 10 ++++++++++ .../tasks/main.yml | 6 ++++++ .../tasks/setup_install.yml | 11 +++++++++++ .../tasks/setup_uninstall.yml | 6 ++++++ .../tasks/validate_config.yml | 5 +++++ .../templates/config.yaml.j2.license | 5 +++++ .../matrix-mx-puppet-instagram.service.j2.license | 5 +++++ .../defaults/main.yml | 15 +++++++++++++++ .../matrix-bridge-mx-puppet-slack/tasks/main.yml | 6 ++++++ .../tasks/setup_install.yml | 6 ++++++ .../tasks/setup_uninstall.yml | 6 ++++++ .../tasks/validate_config.yml | 5 +++++ .../templates/config.yaml.j2.license | 8 ++++++++ .../templates/labels.j2 | 6 ++++++ .../matrix-mx-puppet-slack.service.j2.license | 6 ++++++ .../defaults/main.yml | 11 +++++++++++ .../matrix-bridge-mx-puppet-steam/tasks/main.yml | 6 ++++++ .../tasks/setup_install.yml | 12 ++++++++++++ .../tasks/setup_uninstall.yml | 6 ++++++ .../tasks/validate_config.yml | 5 +++++ .../templates/config.yaml.j2.license | 6 ++++++ .../matrix-mx-puppet-steam.service.j2.license | 5 +++++ .../defaults/main.yml | 11 +++++++++++ .../tasks/main.yml | 6 ++++++ .../tasks/setup_install.yml | 11 +++++++++++ .../tasks/setup_uninstall.yml | 6 ++++++ .../tasks/validate_config.yml | 5 +++++ .../templates/config.yaml.j2.license | 5 +++++ .../templates/labels.j2 | 6 ++++++ .../matrix-mx-puppet-twitter.service.j2.license | 5 +++++ 51 files changed, 371 insertions(+) create mode 100644 roles/custom/matrix-bridge-mx-puppet-discord/templates/config.yaml.j2.license create mode 100644 roles/custom/matrix-bridge-mx-puppet-discord/templates/systemd/matrix-mx-puppet-discord.service.j2.license create mode 100644 roles/custom/matrix-bridge-mx-puppet-groupme/templates/config.yaml.j2.license create mode 100644 roles/custom/matrix-bridge-mx-puppet-groupme/templates/systemd/matrix-mx-puppet-groupme.service.j2.license create mode 100644 roles/custom/matrix-bridge-mx-puppet-instagram/templates/config.yaml.j2.license create mode 100644 roles/custom/matrix-bridge-mx-puppet-instagram/templates/systemd/matrix-mx-puppet-instagram.service.j2.license create mode 100644 roles/custom/matrix-bridge-mx-puppet-slack/templates/config.yaml.j2.license create mode 100644 roles/custom/matrix-bridge-mx-puppet-slack/templates/systemd/matrix-mx-puppet-slack.service.j2.license create mode 100644 roles/custom/matrix-bridge-mx-puppet-steam/templates/config.yaml.j2.license create mode 100644 roles/custom/matrix-bridge-mx-puppet-steam/templates/systemd/matrix-mx-puppet-steam.service.j2.license create mode 100644 roles/custom/matrix-bridge-mx-puppet-twitter/templates/config.yaml.j2.license create mode 100644 roles/custom/matrix-bridge-mx-puppet-twitter/templates/systemd/matrix-mx-puppet-twitter.service.j2.license diff --git a/docs/configuring-playbook-bridge-mx-puppet-discord.md b/docs/configuring-playbook-bridge-mx-puppet-discord.md index cbc61c068..b866dd5f6 100644 --- a/docs/configuring-playbook-bridge-mx-puppet-discord.md +++ b/docs/configuring-playbook-bridge-mx-puppet-discord.md @@ -1,3 +1,12 @@ + + # Setting up MX Puppet Discord bridging (optional) **Note**: bridging to [Discord](https://discordapp.com/) can also happen via the [matrix-appservice-discord](configuring-playbook-bridge-appservice-discord.md)and [mautrix-discord](configuring-playbook-bridge-mautrix-discord.md) bridges supported by the playbook. diff --git a/docs/configuring-playbook-bridge-mx-puppet-groupme.md b/docs/configuring-playbook-bridge-mx-puppet-groupme.md index 6a7f8bb97..cf3653870 100644 --- a/docs/configuring-playbook-bridge-mx-puppet-groupme.md +++ b/docs/configuring-playbook-bridge-mx-puppet-groupme.md @@ -1,3 +1,12 @@ + + # Setting up MX Puppet GroupMe bridging (optional) The playbook can install and configure [mx-puppet-groupme](https://gitlab.com/xangelix-pub/matrix/mx-puppet-groupme) for you. diff --git a/docs/configuring-playbook-bridge-mx-puppet-instagram.md b/docs/configuring-playbook-bridge-mx-puppet-instagram.md index 53375a029..507b61f8f 100644 --- a/docs/configuring-playbook-bridge-mx-puppet-instagram.md +++ b/docs/configuring-playbook-bridge-mx-puppet-instagram.md @@ -1,3 +1,10 @@ + + # Setting up MX Puppet Instagram bridging (optional) The playbook can install and configure [mx-puppet-instagram](https://github.com/Sorunome/mx-puppet-instagram) for you. diff --git a/docs/configuring-playbook-bridge-mx-puppet-skype.md b/docs/configuring-playbook-bridge-mx-puppet-skype.md index 6bbfb7aa5..d45a98569 100644 --- a/docs/configuring-playbook-bridge-mx-puppet-skype.md +++ b/docs/configuring-playbook-bridge-mx-puppet-skype.md @@ -1,3 +1,11 @@ + + # Setting up MX Puppet Skype bridging (optional, removed) 🪦 The playbook used to be able to install and configure [mx-puppet-skype](https://github.com/Sorunome/mx-puppet-skype), but no longer includes this component, because it has been broken and unmaintained for a long time. diff --git a/docs/configuring-playbook-bridge-mx-puppet-slack.md b/docs/configuring-playbook-bridge-mx-puppet-slack.md index b8e8971b6..468705122 100644 --- a/docs/configuring-playbook-bridge-mx-puppet-slack.md +++ b/docs/configuring-playbook-bridge-mx-puppet-slack.md @@ -1,3 +1,14 @@ + + # Setting up MX Puppet Slack bridging (optional) **Note**: bridging to [Slack](https://slack.com) can also happen via the [matrix-appservice-slack](configuring-playbook-bridge-appservice-slack.md) and [mautrix-slack](configuring-playbook-bridge-mautrix-slack.md) bridges supported by the playbook. Note that `matrix-appservice-slack` is not available for new installation unless you have already created a classic Slack application, because the creation of classic Slack applications, which this bridge makes use of, has been discontinued. diff --git a/docs/configuring-playbook-bridge-mx-puppet-steam.md b/docs/configuring-playbook-bridge-mx-puppet-steam.md index 18ea7ad22..5be67884b 100644 --- a/docs/configuring-playbook-bridge-mx-puppet-steam.md +++ b/docs/configuring-playbook-bridge-mx-puppet-steam.md @@ -1,3 +1,12 @@ + + # Setting up MX Puppet Steam bridging (optional) The playbook can install and configure [mx-puppet-steam](https://github.com/icewind1991/mx-puppet-steam) for you. diff --git a/docs/configuring-playbook-bridge-mx-puppet-twitter.md b/docs/configuring-playbook-bridge-mx-puppet-twitter.md index be0df2305..2311b6dfd 100644 --- a/docs/configuring-playbook-bridge-mx-puppet-twitter.md +++ b/docs/configuring-playbook-bridge-mx-puppet-twitter.md @@ -1,3 +1,11 @@ + + # Setting up MX Puppet Twitter bridging (optional) **Note**: bridging to [Twitter](https://twitter.com/) can also happen via the [mautrix-twitter](configuring-playbook-bridge-mautrix-twitter.md) bridge supported by the playbook. diff --git a/roles/custom/matrix-bridge-mx-puppet-discord/defaults/main.yml b/roles/custom/matrix-bridge-mx-puppet-discord/defaults/main.yml index faf1a770c..d4284d0d5 100644 --- a/roles/custom/matrix-bridge-mx-puppet-discord/defaults/main.yml +++ b/roles/custom/matrix-bridge-mx-puppet-discord/defaults/main.yml @@ -1,3 +1,15 @@ +# SPDX-FileCopyrightText: 2020 Hugues Morisset +# SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2020 - 2024 MDAD project contributors +# SPDX-FileCopyrightText: 2021 Ahmad Haghighi +# SPDX-FileCopyrightText: 2022 Daniel Sonck +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # Mx Puppet Discord is a Matrix <-> Discord bridge # Project source code URL: https://gitlab.com/mx-puppet/discord/mx-puppet-discord diff --git a/roles/custom/matrix-bridge-mx-puppet-discord/tasks/main.yml b/roles/custom/matrix-bridge-mx-puppet-discord/tasks/main.yml index c0300b513..273640969 100644 --- a/roles/custom/matrix-bridge-mx-puppet-discord/tasks/main.yml +++ b/roles/custom/matrix-bridge-mx-puppet-discord/tasks/main.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2020 Hugues Morisset +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 - 2023 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-bridge-mx-puppet-discord/tasks/setup_install.yml b/roles/custom/matrix-bridge-mx-puppet-discord/tasks/setup_install.yml index 5922c59c3..268cf0364 100644 --- a/roles/custom/matrix-bridge-mx-puppet-discord/tasks/setup_install.yml +++ b/roles/custom/matrix-bridge-mx-puppet-discord/tasks/setup_install.yml @@ -1,3 +1,14 @@ +# SPDX-FileCopyrightText: 2020 Hugues Morisset +# SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2020 Stuart Mumford +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Jim Myhrberg +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2024 David Mehren +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure MX Puppet Discord paths exist diff --git a/roles/custom/matrix-bridge-mx-puppet-discord/tasks/setup_uninstall.yml b/roles/custom/matrix-bridge-mx-puppet-discord/tasks/setup_uninstall.yml index c1ed9ec36..2deb391a0 100644 --- a/roles/custom/matrix-bridge-mx-puppet-discord/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-bridge-mx-puppet-discord/tasks/setup_uninstall.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2020 Hugues Morisset +# SPDX-FileCopyrightText: 2021 - 2022 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-mx-puppet-discord service diff --git a/roles/custom/matrix-bridge-mx-puppet-discord/tasks/validate_config.yml b/roles/custom/matrix-bridge-mx-puppet-discord/tasks/validate_config.yml index f5faa2333..67bf4966f 100644 --- a/roles/custom/matrix-bridge-mx-puppet-discord/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mx-puppet-discord/tasks/validate_config.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2020 Hugues Morisset +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required mx-puppet-discord settings not defined diff --git a/roles/custom/matrix-bridge-mx-puppet-discord/templates/config.yaml.j2.license b/roles/custom/matrix-bridge-mx-puppet-discord/templates/config.yaml.j2.license new file mode 100644 index 000000000..7b4bc3507 --- /dev/null +++ b/roles/custom/matrix-bridge-mx-puppet-discord/templates/config.yaml.j2.license @@ -0,0 +1,6 @@ +SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2020 Hugues Morisset +SPDX-FileCopyrightText: 2020 MDAD project contributors +SPDX-FileCopyrightText: 2022 Nikita Chernyi + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-mx-puppet-discord/templates/systemd/matrix-mx-puppet-discord.service.j2.license b/roles/custom/matrix-bridge-mx-puppet-discord/templates/systemd/matrix-mx-puppet-discord.service.j2.license new file mode 100644 index 000000000..16b2b499b --- /dev/null +++ b/roles/custom/matrix-bridge-mx-puppet-discord/templates/systemd/matrix-mx-puppet-discord.service.j2.license @@ -0,0 +1,5 @@ +SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2020 Hugues Morisset +SPDX-FileCopyrightText: 2020 Scott Crossen + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-mx-puppet-groupme/defaults/main.yml b/roles/custom/matrix-bridge-mx-puppet-groupme/defaults/main.yml index 67ecd6cbd..3672be8ce 100644 --- a/roles/custom/matrix-bridge-mx-puppet-groupme/defaults/main.yml +++ b/roles/custom/matrix-bridge-mx-puppet-groupme/defaults/main.yml @@ -1,3 +1,14 @@ +# SPDX-FileCopyrightText: 2021 Cody Neiman +# SPDX-FileCopyrightText: 2021 MDAD project contributors +# SPDX-FileCopyrightText: 2021 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2021 Ahmad Haghighi +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 Cody Wyatt Neiman +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # Mx Puppet GroupMe is a Matrix <-> GroupMe bridge # Project source code URL: https://gitlab.com/xangelix-pub/matrix/mx-puppet-groupme diff --git a/roles/custom/matrix-bridge-mx-puppet-groupme/tasks/main.yml b/roles/custom/matrix-bridge-mx-puppet-groupme/tasks/main.yml index de225e71d..2deab4a92 100644 --- a/roles/custom/matrix-bridge-mx-puppet-groupme/tasks/main.yml +++ b/roles/custom/matrix-bridge-mx-puppet-groupme/tasks/main.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2021 Cody Neiman +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 - 2023 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-bridge-mx-puppet-groupme/tasks/setup_install.yml b/roles/custom/matrix-bridge-mx-puppet-groupme/tasks/setup_install.yml index 44dc72e47..28f5700b5 100644 --- a/roles/custom/matrix-bridge-mx-puppet-groupme/tasks/setup_install.yml +++ b/roles/custom/matrix-bridge-mx-puppet-groupme/tasks/setup_install.yml @@ -1,3 +1,13 @@ +# SPDX-FileCopyrightText: 2021 Cody Neiman +# SPDX-FileCopyrightText: 2021 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Jim Myhrberg +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2024 David Mehren +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure MX Puppet Groupme paths exist diff --git a/roles/custom/matrix-bridge-mx-puppet-groupme/tasks/setup_uninstall.yml b/roles/custom/matrix-bridge-mx-puppet-groupme/tasks/setup_uninstall.yml index ce0823e6e..04a7eed54 100644 --- a/roles/custom/matrix-bridge-mx-puppet-groupme/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-bridge-mx-puppet-groupme/tasks/setup_uninstall.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2021 Cody Neiman +# SPDX-FileCopyrightText: 2021 - 2022 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-mx-puppet-groupme service diff --git a/roles/custom/matrix-bridge-mx-puppet-groupme/tasks/validate_config.yml b/roles/custom/matrix-bridge-mx-puppet-groupme/tasks/validate_config.yml index c52c038b1..a5cce9efa 100644 --- a/roles/custom/matrix-bridge-mx-puppet-groupme/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mx-puppet-groupme/tasks/validate_config.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2021 Cody Neiman +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required mx-puppet-groupme settings not defined diff --git a/roles/custom/matrix-bridge-mx-puppet-groupme/templates/config.yaml.j2.license b/roles/custom/matrix-bridge-mx-puppet-groupme/templates/config.yaml.j2.license new file mode 100644 index 000000000..3065e3d50 --- /dev/null +++ b/roles/custom/matrix-bridge-mx-puppet-groupme/templates/config.yaml.j2.license @@ -0,0 +1,5 @@ +SPDX-FileCopyrightText: 2021 Cody Neiman +SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2022 Nikita Chernyi + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-mx-puppet-groupme/templates/systemd/matrix-mx-puppet-groupme.service.j2.license b/roles/custom/matrix-bridge-mx-puppet-groupme/templates/systemd/matrix-mx-puppet-groupme.service.j2.license new file mode 100644 index 000000000..eaa700407 --- /dev/null +++ b/roles/custom/matrix-bridge-mx-puppet-groupme/templates/systemd/matrix-mx-puppet-groupme.service.j2.license @@ -0,0 +1,4 @@ +SPDX-FileCopyrightText: 2021 Cody Neiman +SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-mx-puppet-instagram/defaults/main.yml b/roles/custom/matrix-bridge-mx-puppet-instagram/defaults/main.yml index 168c4a3b3..e5d132cee 100644 --- a/roles/custom/matrix-bridge-mx-puppet-instagram/defaults/main.yml +++ b/roles/custom/matrix-bridge-mx-puppet-instagram/defaults/main.yml @@ -1,3 +1,13 @@ +# SPDX-FileCopyrightText: 2020 - 2021 MDAD project contributors +# SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2021 Ahmad Haghighi +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # mx-puppet-instagram bridges instagram DMs # Project source code URL: https://github.com/Sorunome/mx-puppet-instagram diff --git a/roles/custom/matrix-bridge-mx-puppet-instagram/tasks/main.yml b/roles/custom/matrix-bridge-mx-puppet-instagram/tasks/main.yml index 0d46532ce..81a6441d2 100644 --- a/roles/custom/matrix-bridge-mx-puppet-instagram/tasks/main.yml +++ b/roles/custom/matrix-bridge-mx-puppet-instagram/tasks/main.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2020 - 2021 MDAD project contributors +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 - 2023 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-bridge-mx-puppet-instagram/tasks/setup_install.yml b/roles/custom/matrix-bridge-mx-puppet-instagram/tasks/setup_install.yml index 47ec55ef7..c57f86fac 100644 --- a/roles/custom/matrix-bridge-mx-puppet-instagram/tasks/setup_install.yml +++ b/roles/custom/matrix-bridge-mx-puppet-instagram/tasks/setup_install.yml @@ -1,3 +1,14 @@ +# SPDX-FileCopyrightText: 2020 - 2021 MDAD project contributors +# SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2020 Stuart Mumford +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Jim Myhrberg +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2024 David Mehren +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - ansible.builtin.set_fact: diff --git a/roles/custom/matrix-bridge-mx-puppet-instagram/tasks/setup_uninstall.yml b/roles/custom/matrix-bridge-mx-puppet-instagram/tasks/setup_uninstall.yml index 943c0556a..b3b465060 100644 --- a/roles/custom/matrix-bridge-mx-puppet-instagram/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-bridge-mx-puppet-instagram/tasks/setup_uninstall.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2020 MDAD project contributors +# SPDX-FileCopyrightText: 2021 - 2022 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-mx-puppet-instagram service diff --git a/roles/custom/matrix-bridge-mx-puppet-instagram/tasks/validate_config.yml b/roles/custom/matrix-bridge-mx-puppet-instagram/tasks/validate_config.yml index 67a2c6978..2cd23b9c5 100644 --- a/roles/custom/matrix-bridge-mx-puppet-instagram/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mx-puppet-instagram/tasks/validate_config.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2020 MDAD project contributors +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required mx-puppet-instagram settings not defined diff --git a/roles/custom/matrix-bridge-mx-puppet-instagram/templates/config.yaml.j2.license b/roles/custom/matrix-bridge-mx-puppet-instagram/templates/config.yaml.j2.license new file mode 100644 index 000000000..7ae771d35 --- /dev/null +++ b/roles/custom/matrix-bridge-mx-puppet-instagram/templates/config.yaml.j2.license @@ -0,0 +1,5 @@ +SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2020 MDAD project contributors +SPDX-FileCopyrightText: 2022 Nikita Chernyi + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-mx-puppet-instagram/templates/systemd/matrix-mx-puppet-instagram.service.j2.license b/roles/custom/matrix-bridge-mx-puppet-instagram/templates/systemd/matrix-mx-puppet-instagram.service.j2.license new file mode 100644 index 000000000..ed96bddd2 --- /dev/null +++ b/roles/custom/matrix-bridge-mx-puppet-instagram/templates/systemd/matrix-mx-puppet-instagram.service.j2.license @@ -0,0 +1,5 @@ +SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2020 MDAD project contributors +SPDX-FileCopyrightText: 2020 Scott Crossen + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-mx-puppet-slack/defaults/main.yml b/roles/custom/matrix-bridge-mx-puppet-slack/defaults/main.yml index b46df5994..fd71a20c5 100644 --- a/roles/custom/matrix-bridge-mx-puppet-slack/defaults/main.yml +++ b/roles/custom/matrix-bridge-mx-puppet-slack/defaults/main.yml @@ -1,3 +1,18 @@ +# SPDX-FileCopyrightText: 2020 Rodrigo Belem +# SPDX-FileCopyrightText: 2020 - 2021 MDAD project contributors +# SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2020 Hugues Morisset +# SPDX-FileCopyrightText: 2021 Ahmad Haghighi +# SPDX-FileCopyrightText: 2021 Marcel Ackermann +# SPDX-FileCopyrightText: 2022 Jim Myhrberg +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 Daniel Sonck +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # Mx Puppet Slack is a Matrix <-> Slack bridge # Project source code URL: https://gitlab.com/mx-puppet/slack/mx-puppet-slack diff --git a/roles/custom/matrix-bridge-mx-puppet-slack/tasks/main.yml b/roles/custom/matrix-bridge-mx-puppet-slack/tasks/main.yml index d5d3d421e..69ac4bfb7 100644 --- a/roles/custom/matrix-bridge-mx-puppet-slack/tasks/main.yml +++ b/roles/custom/matrix-bridge-mx-puppet-slack/tasks/main.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2020 Rodrigo Belem +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-bridge-mx-puppet-slack/tasks/setup_install.yml b/roles/custom/matrix-bridge-mx-puppet-slack/tasks/setup_install.yml index c46a25bd1..f194959d3 100644 --- a/roles/custom/matrix-bridge-mx-puppet-slack/tasks/setup_install.yml +++ b/roles/custom/matrix-bridge-mx-puppet-slack/tasks/setup_install.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2020 Rodrigo Belem +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure MX Puppet Slack paths exist diff --git a/roles/custom/matrix-bridge-mx-puppet-slack/tasks/setup_uninstall.yml b/roles/custom/matrix-bridge-mx-puppet-slack/tasks/setup_uninstall.yml index 444939198..33d2ad22c 100644 --- a/roles/custom/matrix-bridge-mx-puppet-slack/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-bridge-mx-puppet-slack/tasks/setup_uninstall.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2020 Rodrigo Belem +# SPDX-FileCopyrightText: 2021 - 2022 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-mx-puppet-slack service diff --git a/roles/custom/matrix-bridge-mx-puppet-slack/tasks/validate_config.yml b/roles/custom/matrix-bridge-mx-puppet-slack/tasks/validate_config.yml index dbc1d0025..0299dcdfe 100644 --- a/roles/custom/matrix-bridge-mx-puppet-slack/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mx-puppet-slack/tasks/validate_config.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2020 Rodrigo Belem +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required mx-puppet-slack settings not defined diff --git a/roles/custom/matrix-bridge-mx-puppet-slack/templates/config.yaml.j2.license b/roles/custom/matrix-bridge-mx-puppet-slack/templates/config.yaml.j2.license new file mode 100644 index 000000000..e590b6fec --- /dev/null +++ b/roles/custom/matrix-bridge-mx-puppet-slack/templates/config.yaml.j2.license @@ -0,0 +1,8 @@ +SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2020 Hugues Morisset +SPDX-FileCopyrightText: 2020 MDAD project contributors +SPDX-FileCopyrightText: 2021 Marcel Ackermann +SPDX-FileCopyrightText: 2022 Jim Myhrberg +SPDX-FileCopyrightText: 2022 Nikita Chernyi + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-mx-puppet-slack/templates/labels.j2 b/roles/custom/matrix-bridge-mx-puppet-slack/templates/labels.j2 index 0937c9d75..d00e0d067 100644 --- a/roles/custom/matrix-bridge-mx-puppet-slack/templates/labels.j2 +++ b/roles/custom/matrix-bridge-mx-puppet-slack/templates/labels.j2 @@ -1,3 +1,9 @@ +{# +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + {% if matrix_mx_puppet_slack_container_labels_traefik_enabled %} traefik.enable=true diff --git a/roles/custom/matrix-bridge-mx-puppet-slack/templates/systemd/matrix-mx-puppet-slack.service.j2.license b/roles/custom/matrix-bridge-mx-puppet-slack/templates/systemd/matrix-mx-puppet-slack.service.j2.license new file mode 100644 index 000000000..04f321b44 --- /dev/null +++ b/roles/custom/matrix-bridge-mx-puppet-slack/templates/systemd/matrix-mx-puppet-slack.service.j2.license @@ -0,0 +1,6 @@ +SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2020 Chris van Dijk +SPDX-FileCopyrightText: 2020 Rodrigo Belem +SPDX-FileCopyrightText: 2020 Scott Crossen + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-mx-puppet-steam/defaults/main.yml b/roles/custom/matrix-bridge-mx-puppet-steam/defaults/main.yml index 0e4ce1674..7fb0ce320 100644 --- a/roles/custom/matrix-bridge-mx-puppet-steam/defaults/main.yml +++ b/roles/custom/matrix-bridge-mx-puppet-steam/defaults/main.yml @@ -1,3 +1,14 @@ +# SPDX-FileCopyrightText: 2020 Hugues Morisset +# SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2020 - 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2021 Ahmad Haghighi +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # Mx Puppet Steam is a Matrix <-> Steam bridge # Project source code URL: https://github.com/icewind1991/mx-puppet-steam diff --git a/roles/custom/matrix-bridge-mx-puppet-steam/tasks/main.yml b/roles/custom/matrix-bridge-mx-puppet-steam/tasks/main.yml index 66d2980d3..bae270632 100644 --- a/roles/custom/matrix-bridge-mx-puppet-steam/tasks/main.yml +++ b/roles/custom/matrix-bridge-mx-puppet-steam/tasks/main.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2020 Hugues Morisset +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 - 2023 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-bridge-mx-puppet-steam/tasks/setup_install.yml b/roles/custom/matrix-bridge-mx-puppet-steam/tasks/setup_install.yml index a29c5e44f..ef7c7ee13 100644 --- a/roles/custom/matrix-bridge-mx-puppet-steam/tasks/setup_install.yml +++ b/roles/custom/matrix-bridge-mx-puppet-steam/tasks/setup_install.yml @@ -1,3 +1,15 @@ +# SPDX-FileCopyrightText: 2020 Hugues Morisset +# SPDX-FileCopyrightText: 2020 Panagiotis Vasilopoulos +# SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2020 Stuart Mumford +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Jim Myhrberg +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2024 David Mehren +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure MX Puppet Steam paths exist diff --git a/roles/custom/matrix-bridge-mx-puppet-steam/tasks/setup_uninstall.yml b/roles/custom/matrix-bridge-mx-puppet-steam/tasks/setup_uninstall.yml index 75d0ebc0f..1281ee4f8 100644 --- a/roles/custom/matrix-bridge-mx-puppet-steam/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-bridge-mx-puppet-steam/tasks/setup_uninstall.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2020 Hugues Morisset +# SPDX-FileCopyrightText: 2021 - 2022 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-mx-puppet-steam service diff --git a/roles/custom/matrix-bridge-mx-puppet-steam/tasks/validate_config.yml b/roles/custom/matrix-bridge-mx-puppet-steam/tasks/validate_config.yml index 7a09a8073..50e3a124f 100644 --- a/roles/custom/matrix-bridge-mx-puppet-steam/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mx-puppet-steam/tasks/validate_config.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2020 Hugues Morisset +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required mx-puppet-steam settings not defined diff --git a/roles/custom/matrix-bridge-mx-puppet-steam/templates/config.yaml.j2.license b/roles/custom/matrix-bridge-mx-puppet-steam/templates/config.yaml.j2.license new file mode 100644 index 000000000..7b4bc3507 --- /dev/null +++ b/roles/custom/matrix-bridge-mx-puppet-steam/templates/config.yaml.j2.license @@ -0,0 +1,6 @@ +SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2020 Hugues Morisset +SPDX-FileCopyrightText: 2020 MDAD project contributors +SPDX-FileCopyrightText: 2022 Nikita Chernyi + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-mx-puppet-steam/templates/systemd/matrix-mx-puppet-steam.service.j2.license b/roles/custom/matrix-bridge-mx-puppet-steam/templates/systemd/matrix-mx-puppet-steam.service.j2.license new file mode 100644 index 000000000..16b2b499b --- /dev/null +++ b/roles/custom/matrix-bridge-mx-puppet-steam/templates/systemd/matrix-mx-puppet-steam.service.j2.license @@ -0,0 +1,5 @@ +SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2020 Hugues Morisset +SPDX-FileCopyrightText: 2020 Scott Crossen + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-mx-puppet-twitter/defaults/main.yml b/roles/custom/matrix-bridge-mx-puppet-twitter/defaults/main.yml index 24fc7fc07..3d6d2d40c 100644 --- a/roles/custom/matrix-bridge-mx-puppet-twitter/defaults/main.yml +++ b/roles/custom/matrix-bridge-mx-puppet-twitter/defaults/main.yml @@ -1,3 +1,14 @@ +# SPDX-FileCopyrightText: 2020 Tulir Asokan +# SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2020 - 2021 MDAD project contributors +# SPDX-FileCopyrightText: 2021 Ahmad Haghighi +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # Mx Puppet Twitter is a Matrix <-> Twitter bridge diff --git a/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/main.yml b/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/main.yml index 3cfe6a793..fb8d79a78 100644 --- a/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/main.yml +++ b/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/main.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2020 Tulir Asokan +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/setup_install.yml b/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/setup_install.yml index 8d385dd14..f128a990f 100644 --- a/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/setup_install.yml +++ b/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/setup_install.yml @@ -1,3 +1,14 @@ +# SPDX-FileCopyrightText: 2020 Tulir Asokan +# SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2020 Stuart Mumford +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Jim Myhrberg +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2024 David Mehren +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure MX Puppet Twitter paths exist diff --git a/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/setup_uninstall.yml b/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/setup_uninstall.yml index c529f0b34..c5f3bc2bf 100644 --- a/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/setup_uninstall.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2020 Tulir Asokan +# SPDX-FileCopyrightText: 2021 - 2022 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-mx-puppet-twitter service diff --git a/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/validate_config.yml b/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/validate_config.yml index a8f6b0bb0..07584ac85 100644 --- a/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/validate_config.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2020 Tulir Asokan +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required mx-puppet-twitter settings not defined diff --git a/roles/custom/matrix-bridge-mx-puppet-twitter/templates/config.yaml.j2.license b/roles/custom/matrix-bridge-mx-puppet-twitter/templates/config.yaml.j2.license new file mode 100644 index 000000000..cd0180bcb --- /dev/null +++ b/roles/custom/matrix-bridge-mx-puppet-twitter/templates/config.yaml.j2.license @@ -0,0 +1,5 @@ +SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2020 MDAD project contributors +SPDX-FileCopyrightText: 2020 Tulir Asokan + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-mx-puppet-twitter/templates/labels.j2 b/roles/custom/matrix-bridge-mx-puppet-twitter/templates/labels.j2 index 9aef5fe0d..a1f2b295a 100644 --- a/roles/custom/matrix-bridge-mx-puppet-twitter/templates/labels.j2 +++ b/roles/custom/matrix-bridge-mx-puppet-twitter/templates/labels.j2 @@ -1,3 +1,9 @@ +{# +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + {% if matrix_mx_puppet_twitter_container_labels_traefik_enabled %} traefik.enable=true diff --git a/roles/custom/matrix-bridge-mx-puppet-twitter/templates/systemd/matrix-mx-puppet-twitter.service.j2.license b/roles/custom/matrix-bridge-mx-puppet-twitter/templates/systemd/matrix-mx-puppet-twitter.service.j2.license new file mode 100644 index 000000000..2bcb63426 --- /dev/null +++ b/roles/custom/matrix-bridge-mx-puppet-twitter/templates/systemd/matrix-mx-puppet-twitter.service.j2.license @@ -0,0 +1,5 @@ +SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2020 Scott Crossen +SPDX-FileCopyrightText: 2020 Tulir Asokan + +SPDX-License-Identifier: AGPL-3.0-or-later From 1bc0a1bf07fcc8e812b499932e0fe20b0c535adf Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 23 Feb 2025 14:41:51 +0900 Subject: [PATCH 449/841] Update docs/configuring-dns.md: reduce the width of the table Signed-off-by: Suguru Hirahara --- docs/configuring-dns.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/configuring-dns.md b/docs/configuring-dns.md index a5237889f..2b2b425eb 100644 --- a/docs/configuring-dns.md +++ b/docs/configuring-dns.md @@ -25,10 +25,10 @@ To set up Matrix on your domain, you'd need to do some DNS configuration. To serve the base domain (`example.com`) and [Element Web](configuring-playbook-client-element-web.md) with the default subdomain, adjust DNS records as below. -| Type | Host | Priority | Weight | Port | Target | -| ----- | ---------------------------- | -------- | ------ | ---- | ---------------------| -| A | `matrix` | - | - | - | `matrix-server-IP` | -| CNAME | `element` | - | - | - | `matrix.example.com` | +| Type | Host | Priority | Weight | Port | Target | +| ----- | --------- | -------- | ------ | ---- | ---------------------| +| A | `matrix` | - | - | - | `matrix-server-IP` | +| CNAME | `element` | - | - | - | `matrix.example.com` | As the table illustrates, you need to create 2 subdomains (`matrix.example.com` and `element.example.com`) and point both of them to your server's IP address (DNS `A` record or `CNAME` record is fine). From 54467fe7d5de045573dbc57820f44c2ec336a626 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 23 Feb 2025 14:59:25 +0900 Subject: [PATCH 450/841] Update docs/alternative-architectures.md: add a copyright header Signed-off-by: Suguru Hirahara --- docs/alternative-architectures.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/alternative-architectures.md b/docs/alternative-architectures.md index fa05a4b46..63127b317 100644 --- a/docs/alternative-architectures.md +++ b/docs/alternative-architectures.md @@ -1,3 +1,11 @@ + + # Alternative architectures As stated in the [Prerequisites](prerequisites.md), currently only `amd64` (`x86_64`) is fully supported. From 86d94d77e3ad99aa3671cbb67f10b1ee4df60063 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 23 Feb 2025 14:59:58 +0900 Subject: [PATCH 451/841] Update docs/configuring-playbook.md: add a copyright header Those authors were picked up based on the current status (dae0f446034ae594f4ca77fe3c0861ded24ad3f9), the others (around 30 people whose contributions have been removed) being grouped as "MDAD project contributors". Signed-off-by: Suguru Hirahara --- docs/configuring-playbook.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/docs/configuring-playbook.md b/docs/configuring-playbook.md index 5edc22326..2220c9d3f 100644 --- a/docs/configuring-playbook.md +++ b/docs/configuring-playbook.md @@ -1,3 +1,19 @@ + + # Configuring the playbook [Prerequisites](prerequisites.md) > [Configuring your DNS settings](configuring-dns.md) > [Getting the playbook](getting-the-playbook.md) > Configuring the playbook > [Installing](installing.md) From d6bf789710dec1567f47f5d7f3c4911ebafff9ea Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sun, 23 Feb 2025 10:06:44 +0200 Subject: [PATCH 452/841] Remove `matrix_container_global_registry_prefix` variable This is done for a few reasons: - less globals and more indepdendence for each role is better. We rely on various externally-hosted roles and they don't rely on this global either. - `matrix_container_global_registry_prefix` could make people think they could just override this variable and have all their images pull from elsewhere. This is rarely the case, unless you've taken special care to mirror all the various components (from their respective registries) to your own. In such a case, you probably know what you're mirroring and can adjust individual variables. - nowadays, various components live on different registries. With Docker Inc tightening rate limits for Docker Hub, it's even more likely that we'll see increased diversity in where images are hosted --- CHANGELOG.md | 2 +- .../matrix-appservice-draupnir-for-all/defaults/main.yml | 2 +- roles/custom/matrix-base/defaults/main.yml | 2 -- roles/custom/matrix-base/tasks/validate_config.yml | 1 + roles/custom/matrix-bot-draupnir/defaults/main.yml | 2 +- .../matrix-bot-matrix-registration-bot/defaults/main.yml | 3 ++- roles/custom/matrix-bot-mjolnir/defaults/main.yml | 2 +- .../matrix-bridge-appservice-irc/defaults/main.yml | 5 +++-- .../matrix-bridge-appservice-slack/defaults/main.yml | 3 ++- .../matrix-bridge-appservice-webhooks/defaults/main.yml | 2 +- .../matrix-bridge-go-skype-bridge/defaults/main.yml | 2 +- .../custom/matrix-bridge-heisenbridge/defaults/main.yml | 3 ++- .../matrix-bridge-mx-puppet-instagram/defaults/main.yml | 2 +- .../matrix-bridge-mx-puppet-steam/defaults/main.yml | 2 +- .../matrix-bridge-mx-puppet-twitter/defaults/main.yml | 2 +- roles/custom/matrix-bridge-sms/defaults/main.yml | 4 +++- roles/custom/matrix-bridge-wechat/defaults/main.yml | 4 ++-- .../matrix-cactus-comments-client/defaults/main.yml | 3 ++- roles/custom/matrix-cactus-comments/defaults/main.yml | 4 +++- roles/custom/matrix-client-cinny/defaults/main.yml | 2 +- roles/custom/matrix-client-element/defaults/main.yml | 2 +- roles/custom/matrix-corporal/defaults/main.yml | 2 +- roles/custom/matrix-coturn/defaults/main.yml | 2 +- roles/custom/matrix-dendrite/defaults/main.yml | 2 +- roles/custom/matrix-dimension/defaults/main.yml | 2 +- roles/custom/matrix-dynamic-dns/defaults/main.yml | 2 +- roles/custom/matrix-email2matrix/defaults/main.yml | 2 +- roles/custom/matrix-ma1sd/defaults/main.yml | 2 +- roles/custom/matrix-pantalaimon/defaults/main.yml | 2 +- roles/custom/matrix-registration/defaults/main.yml | 2 +- roles/custom/matrix-static-files/defaults/main.yml | 3 ++- roles/custom/matrix-sygnal/defaults/main.yml | 2 +- .../defaults/main.yml | 4 +++- .../matrix-synapse-usage-exporter/defaults/main.yml | 2 +- .../matrix-user-verification-service/defaults/main.yml | 4 ++-- .../tasks/validate_config.yml | 9 +++++++++ 36 files changed, 58 insertions(+), 38 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d02bbc69c..2e1d832ba 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -312,7 +312,7 @@ If you'd like to switch back to the original synapse-admin software, you can do ```yaml matrix_synapse_admin_docker_image: "{{ matrix_synapse_admin_docker_image_name_prefix }}awesometechnologies/synapse-admin:{{ matrix_synapse_admin_version }}" -matrix_synapse_admin_docker_image_name_prefix: "{{ 'localhost/' if matrix_synapse_admin_container_image_self_build else matrix_container_global_registry_prefix }}" +matrix_synapse_admin_docker_image_name_prefix: "{{ 'localhost/' if matrix_synapse_admin_container_image_self_build else 'docker.io/' }}" matrix_synapse_admin_version: 0.10.3 diff --git a/roles/custom/matrix-appservice-draupnir-for-all/defaults/main.yml b/roles/custom/matrix-appservice-draupnir-for-all/defaults/main.yml index 140b92d4a..658fd4b66 100644 --- a/roles/custom/matrix-appservice-draupnir-for-all/defaults/main.yml +++ b/roles/custom/matrix-appservice-draupnir-for-all/defaults/main.yml @@ -11,7 +11,7 @@ matrix_appservice_draupnir_for_all_container_image_self_build: false matrix_appservice_draupnir_for_all_container_image_self_build_repo: "https://github.com/the-draupnir-project/Draupnir.git" matrix_appservice_draupnir_for_all_docker_image: "{{ matrix_appservice_draupnir_for_all_docker_image_name_prefix }}gnuxie/draupnir:{{ matrix_appservice_draupnir_for_all_version }}" -matrix_appservice_draupnir_for_all_docker_image_name_prefix: "{{ 'localhost/' if matrix_appservice_draupnir_for_all_container_image_self_build else matrix_container_global_registry_prefix }}" +matrix_appservice_draupnir_for_all_docker_image_name_prefix: "{{ 'localhost/' if matrix_appservice_draupnir_for_all_container_image_self_build else 'docker.io/' }}" matrix_appservice_draupnir_for_all_docker_image_force_pull: "{{ matrix_appservice_draupnir_for_all_docker_image.endswith(':latest') }}" matrix_appservice_draupnir_for_all_base_path: "{{ matrix_base_data_path }}/draupnir-for-all" diff --git a/roles/custom/matrix-base/defaults/main.yml b/roles/custom/matrix-base/defaults/main.yml index f44db0ba6..1741924af 100644 --- a/roles/custom/matrix-base/defaults/main.yml +++ b/roles/custom/matrix-base/defaults/main.yml @@ -136,8 +136,6 @@ matrix_architecture: "{{ 'amd64' if ansible_architecture == 'x86_64' else ('arm6 # We just remap from our `matrix_architecture` values to what Debian and possibly other distros call things. matrix_debian_arch: "{{ 'armhf' if matrix_architecture == 'arm32' else matrix_architecture }}" -matrix_container_global_registry_prefix: "docker.io/" - matrix_user_username: "matrix" matrix_user_groupname: "matrix" diff --git a/roles/custom/matrix-base/tasks/validate_config.yml b/roles/custom/matrix-base/tasks/validate_config.yml index 41320a5fb..68020a2b3 100644 --- a/roles/custom/matrix-base/tasks/validate_config.yml +++ b/roles/custom/matrix-base/tasks/validate_config.yml @@ -21,6 +21,7 @@ - {'old': 'matrix_client_element_e2ee_default', 'new': 'matrix_static_files_file_matrix_client_property_io_element_e2ee_default'} - {'old': 'matrix_client_element_e2ee_secure_backup_required', 'new': 'matrix_static_files_file_matrix_client_property_io_element_e2ee_secure_backup_required'} - {'old': 'matrix_client_element_e2ee_secure_backup_setup_methods', 'new': 'matrix_static_files_file_matrix_client_property_io_element_e2ee_secure_backup_setup_methods'} + - {'old': 'matrix_container_global_registry_prefix', 'new': ''} # We have a dedicated check for this variable, because we'd like to have a custom (friendlier) message. - name: Fail if matrix_homeserver_generic_secret_key is undefined diff --git a/roles/custom/matrix-bot-draupnir/defaults/main.yml b/roles/custom/matrix-bot-draupnir/defaults/main.yml index 57db9448d..472da0afa 100644 --- a/roles/custom/matrix-bot-draupnir/defaults/main.yml +++ b/roles/custom/matrix-bot-draupnir/defaults/main.yml @@ -11,7 +11,7 @@ matrix_bot_draupnir_container_image_self_build: false matrix_bot_draupnir_container_image_self_build_repo: "https://github.com/the-draupnir-project/Draupnir.git" matrix_bot_draupnir_docker_image: "{{ matrix_bot_draupnir_docker_image_name_prefix }}gnuxie/draupnir:{{ matrix_bot_draupnir_version }}" -matrix_bot_draupnir_docker_image_name_prefix: "{{ 'localhost/' if matrix_bot_draupnir_container_image_self_build else matrix_container_global_registry_prefix }}" +matrix_bot_draupnir_docker_image_name_prefix: "{{ 'localhost/' if matrix_bot_draupnir_container_image_self_build else 'docker.io/' }}" matrix_bot_draupnir_docker_image_force_pull: "{{ matrix_bot_draupnir_docker_image.endswith(':latest') }}" matrix_bot_draupnir_base_path: "{{ matrix_base_data_path }}/draupnir" diff --git a/roles/custom/matrix-bot-matrix-registration-bot/defaults/main.yml b/roles/custom/matrix-bot-matrix-registration-bot/defaults/main.yml index 9423e8fad..d4ab6579f 100644 --- a/roles/custom/matrix-bot-matrix-registration-bot/defaults/main.yml +++ b/roles/custom/matrix-bot-matrix-registration-bot/defaults/main.yml @@ -12,7 +12,8 @@ matrix_bot_matrix_registration_bot_docker_src_files_path: "{{ matrix_bot_matrix_ matrix_bot_matrix_registration_bot_version: 1.3.0 matrix_bot_matrix_registration_bot_docker_iteration: 0 matrix_bot_matrix_registration_bot_docker_tag: "{{ matrix_bot_matrix_registration_bot_version }}-{{ matrix_bot_matrix_registration_bot_docker_iteration}}" -matrix_bot_matrix_registration_bot_docker_image: "{{ matrix_container_global_registry_prefix }}moanos/matrix-registration-bot:{{ matrix_bot_matrix_registration_bot_docker_tag }}" +matrix_bot_matrix_registration_bot_docker_image: "{{ matrix_bot_matrix_registration_bot_docker_image_registry_prefix }}moanos/matrix-registration-bot:{{ matrix_bot_matrix_registration_bot_docker_tag }}" +matrix_bot_matrix_registration_bot_docker_image_registry_prefix: docker.io/ matrix_bot_matrix_registration_bot_docker_image_force_pull: "{{ matrix_bot_matrix_registration_bot_docker_image.endswith(':latest') }}" matrix_bot_matrix_registration_bot_base_path: "{{ matrix_base_data_path }}/matrix-registration-bot" diff --git a/roles/custom/matrix-bot-mjolnir/defaults/main.yml b/roles/custom/matrix-bot-mjolnir/defaults/main.yml index cba27a58d..149818653 100644 --- a/roles/custom/matrix-bot-mjolnir/defaults/main.yml +++ b/roles/custom/matrix-bot-mjolnir/defaults/main.yml @@ -11,7 +11,7 @@ matrix_bot_mjolnir_container_image_self_build: false matrix_bot_mjolnir_container_image_self_build_repo: "https://github.com/matrix-org/mjolnir.git" matrix_bot_mjolnir_docker_image: "{{ matrix_bot_mjolnir_docker_image_name_prefix }}matrixdotorg/mjolnir:{{ matrix_bot_mjolnir_version }}" -matrix_bot_mjolnir_docker_image_name_prefix: "{{ 'localhost/' if matrix_bot_mjolnir_container_image_self_build else matrix_container_global_registry_prefix }}" +matrix_bot_mjolnir_docker_image_name_prefix: "{{ 'localhost/' if matrix_bot_mjolnir_container_image_self_build else 'docker.io/' }}" matrix_bot_mjolnir_docker_image_force_pull: "{{ matrix_bot_mjolnir_docker_image.endswith(':latest') }}" matrix_bot_mjolnir_base_path: "{{ matrix_base_data_path }}/mjolnir" diff --git a/roles/custom/matrix-bridge-appservice-irc/defaults/main.yml b/roles/custom/matrix-bridge-appservice-irc/defaults/main.yml index 4ae0d8655..534cac9f0 100644 --- a/roles/custom/matrix-bridge-appservice-irc/defaults/main.yml +++ b/roles/custom/matrix-bridge-appservice-irc/defaults/main.yml @@ -13,10 +13,11 @@ matrix_appservice_irc_docker_src_files_path: "{{ matrix_base_data_path }}/appser # It's a bare version number now. We try to somewhat retain compatibility below. # renovate: datasource=docker depName=docker.io/matrixdotorg/matrix-appservice-irc matrix_appservice_irc_version: 1.0.1 -matrix_appservice_irc_docker_image: "{{ matrix_container_global_registry_prefix }}matrixdotorg/matrix-appservice-irc:{{ matrix_appservice_irc_docker_image_tag }}" +matrix_appservice_irc_docker_image: "{{ matrix_appservice_irc_docker_image_registry_prefix }}matrixdotorg/matrix-appservice-irc:{{ matrix_appservice_irc_docker_image_tag }}" +matrix_appservice_irc_docker_image_registry_prefix: docker.io/ matrix_appservice_irc_docker_image_tag: "{{ 'latest' if matrix_appservice_irc_version == 'latest' else ('release-' + matrix_appservice_irc_version) }}" matrix_appservice_irc_docker_image_force_pull: "{{ matrix_appservice_irc_docker_image.endswith(':latest') }}" -matrix_appservice_irc_docker_image_name_prefix: "{{ 'localhost/' if matrix_appservice_irc_container_image_self_build else matrix_container_global_registry_prefix }}" +matrix_appservice_irc_docker_image_name_prefix: "{{ 'localhost/' if matrix_appservice_irc_container_image_self_build else 'docker.io/' }}" matrix_appservice_irc_base_path: "{{ matrix_base_data_path }}/appservice-irc" matrix_appservice_irc_config_path: "{{ matrix_appservice_irc_base_path }}/config" diff --git a/roles/custom/matrix-bridge-appservice-slack/defaults/main.yml b/roles/custom/matrix-bridge-appservice-slack/defaults/main.yml index b5c6f6bf9..195106cee 100644 --- a/roles/custom/matrix-bridge-appservice-slack/defaults/main.yml +++ b/roles/custom/matrix-bridge-appservice-slack/defaults/main.yml @@ -17,7 +17,8 @@ matrix_appservice_slack_docker_src_files_path: "{{ matrix_base_data_path }}/apps # It's a bare version number now. We try to somewhat retain compatibility below. # renovate: datasource=docker depName=docker.io/matrixdotorg/matrix-appservice-slack matrix_appservice_slack_version: 2.1.2 -matrix_appservice_slack_docker_image: "{{ matrix_container_global_registry_prefix }}matrixdotorg/matrix-appservice-slack:{{ matrix_appservice_slack_docker_image_tag }}" +matrix_appservice_slack_docker_image: "{{ matrix_appservice_slack_docker_image_registry_prefix }}matrixdotorg/matrix-appservice-slack:{{ matrix_appservice_slack_docker_image_tag }}" +matrix_appservice_slack_docker_image_registry_prefix: docker.io/ matrix_appservice_slack_docker_image_tag: "{{ 'latest' if matrix_appservice_slack_version == 'latest' else ('release-' + matrix_appservice_slack_version) }}" matrix_appservice_slack_docker_image_force_pull: "{{ matrix_appservice_slack_docker_image.endswith(':latest') }}" diff --git a/roles/custom/matrix-bridge-appservice-webhooks/defaults/main.yml b/roles/custom/matrix-bridge-appservice-webhooks/defaults/main.yml index aaa8d564f..226c893d0 100644 --- a/roles/custom/matrix-bridge-appservice-webhooks/defaults/main.yml +++ b/roles/custom/matrix-bridge-appservice-webhooks/defaults/main.yml @@ -15,7 +15,7 @@ matrix_appservice_webhooks_container_image_self_build_repo_dockerfile_path: "Doc matrix_appservice_webhooks_version: v1.0.3-01 matrix_appservice_webhooks_docker_image: "{{ matrix_appservice_webhooks_docker_image_name_prefix }}redoonetworks/matrix-appservice-webhooks:{{ matrix_appservice_webhooks_version }}" -matrix_appservice_webhooks_docker_image_name_prefix: "{{ 'localhost/' if matrix_appservice_webhooks_container_image_self_build else matrix_container_global_registry_prefix }}" +matrix_appservice_webhooks_docker_image_name_prefix: "{{ 'localhost/' if matrix_appservice_webhooks_container_image_self_build else 'docker.io/' }}" matrix_appservice_webhooks_docker_image_force_pull: "{{ matrix_appservice_webhooks_docker_image.endswith(':latest') }}" matrix_appservice_webhooks_base_path: "{{ matrix_base_data_path }}/appservice-webhooks" diff --git a/roles/custom/matrix-bridge-go-skype-bridge/defaults/main.yml b/roles/custom/matrix-bridge-go-skype-bridge/defaults/main.yml index a8e29d547..7b8b8c732 100644 --- a/roles/custom/matrix-bridge-go-skype-bridge/defaults/main.yml +++ b/roles/custom/matrix-bridge-go-skype-bridge/defaults/main.yml @@ -11,7 +11,7 @@ matrix_go_skype_bridge_container_image_self_build_branch: "{{ 'master' if matrix # renovate: datasource=docker depName=nodefyme/go-skype-bridge matrix_go_skype_bridge_version: latest matrix_go_skype_bridge_docker_image: "{{ matrix_go_skype_bridge_docker_image_name_prefix }}nodefyme/go-skype-bridge:{{ matrix_go_skype_bridge_version }}" -matrix_go_skype_bridge_docker_image_name_prefix: "{{ 'localhost/' if matrix_go_skype_bridge_container_image_self_build else matrix_container_global_registry_prefix }}" +matrix_go_skype_bridge_docker_image_name_prefix: "{{ 'localhost/' if matrix_go_skype_bridge_container_image_self_build else 'docker.io/' }}" matrix_go_skype_bridge_docker_image_force_pull: "{{ matrix_go_skype_bridge_docker_image.endswith(':latest') }}" matrix_go_skype_bridge_base_path: "{{ matrix_base_data_path }}/go-skype-bridge" diff --git a/roles/custom/matrix-bridge-heisenbridge/defaults/main.yml b/roles/custom/matrix-bridge-heisenbridge/defaults/main.yml index ee1cea6b4..a6a34c444 100644 --- a/roles/custom/matrix-bridge-heisenbridge/defaults/main.yml +++ b/roles/custom/matrix-bridge-heisenbridge/defaults/main.yml @@ -10,7 +10,8 @@ matrix_heisenbridge_path_prefix: "/heisenbridge" # renovate: datasource=docker depName=hif1/heisenbridge matrix_heisenbridge_version: 1.15.0 -matrix_heisenbridge_docker_image: "{{ matrix_container_global_registry_prefix }}hif1/heisenbridge:{{ matrix_heisenbridge_version }}" +matrix_heisenbridge_docker_image: "{{ matrix_heisenbridge_docker_image_registry_prefix }}hif1/heisenbridge:{{ matrix_heisenbridge_version }}" +matrix_heisenbridge_docker_image_registry_prefix: docker.io/ matrix_heisenbridge_docker_image_force_pull: "{{ matrix_heisenbridge_docker_image.endswith(':latest') }}" # Set this to your Matrix ID if you want to enforce the owner, otherwise first _local_ user becomes one diff --git a/roles/custom/matrix-bridge-mx-puppet-instagram/defaults/main.yml b/roles/custom/matrix-bridge-mx-puppet-instagram/defaults/main.yml index e5d132cee..78ea2ad33 100644 --- a/roles/custom/matrix-bridge-mx-puppet-instagram/defaults/main.yml +++ b/roles/custom/matrix-bridge-mx-puppet-instagram/defaults/main.yml @@ -21,7 +21,7 @@ matrix_mx_puppet_instagram_container_image_self_build_repo_version: "{{ 'master' # renovate: datasource=docker depName=sorunome/mx-puppet-instagram matrix_mx_puppet_instagram_version: latest matrix_mx_puppet_instagram_docker_image: "{{ matrix_mx_puppet_instagram_docker_image_name_prefix }}sorunome/mx-puppet-instagram:{{ matrix_mx_puppet_instagram_version }}" -matrix_mx_puppet_instagram_docker_image_name_prefix: "{{ 'localhost/' if matrix_mx_puppet_instagram_container_image_self_build else matrix_container_global_registry_prefix }}" +matrix_mx_puppet_instagram_docker_image_name_prefix: "{{ 'localhost/' if matrix_mx_puppet_instagram_container_image_self_build else 'docker.io/' }}" matrix_mx_puppet_instagram_docker_image_force_pull: "{{ matrix_mx_puppet_instagram_docker_image.endswith(':latest') }}" matrix_mx_puppet_instagram_base_path: "{{ matrix_base_data_path }}/mx-puppet-instagram" diff --git a/roles/custom/matrix-bridge-mx-puppet-steam/defaults/main.yml b/roles/custom/matrix-bridge-mx-puppet-steam/defaults/main.yml index 7fb0ce320..94b1e4def 100644 --- a/roles/custom/matrix-bridge-mx-puppet-steam/defaults/main.yml +++ b/roles/custom/matrix-bridge-mx-puppet-steam/defaults/main.yml @@ -27,7 +27,7 @@ matrix_mx_puppet_steam_container_http_host_bind_port: '' # renovate: datasource=docker depName=icewind1991/mx-puppet-steam matrix_mx_puppet_steam_version: latest matrix_mx_puppet_steam_docker_image: "{{ matrix_mx_puppet_steam_docker_image_name_prefix }}icewind1991/mx-puppet-steam:{{ matrix_mx_puppet_steam_version }}" -matrix_mx_puppet_steam_docker_image_name_prefix: "{{ 'localhost/' if matrix_mx_puppet_steam_container_image_self_build else matrix_container_global_registry_prefix }}" +matrix_mx_puppet_steam_docker_image_name_prefix: "{{ 'localhost/' if matrix_mx_puppet_steam_container_image_self_build else 'docker.io/' }}" matrix_mx_puppet_steam_docker_image_force_pull: "{{ matrix_mx_puppet_steam_docker_image.endswith(':latest') }}" matrix_mx_puppet_steam_base_path: "{{ matrix_base_data_path }}/mx-puppet-steam" diff --git a/roles/custom/matrix-bridge-mx-puppet-twitter/defaults/main.yml b/roles/custom/matrix-bridge-mx-puppet-twitter/defaults/main.yml index 3d6d2d40c..7dfded3d7 100644 --- a/roles/custom/matrix-bridge-mx-puppet-twitter/defaults/main.yml +++ b/roles/custom/matrix-bridge-mx-puppet-twitter/defaults/main.yml @@ -31,7 +31,7 @@ matrix_mx_puppet_twitter_container_http_host_bind_port: '' # renovate: datasource=docker depName=sorunome/mx-puppet-twitter matrix_mx_puppet_twitter_version: latest matrix_mx_puppet_twitter_docker_image: "{{ matrix_mx_puppet_twitter_docker_image_name_prefix }}sorunome/mx-puppet-twitter:{{ matrix_mx_puppet_twitter_version }}" -matrix_mx_puppet_twitter_docker_image_name_prefix: "{{ 'localhost/' if matrix_mx_puppet_twitter_container_image_self_build else matrix_container_global_registry_prefix }}" +matrix_mx_puppet_twitter_docker_image_name_prefix: "{{ 'localhost/' if matrix_mx_puppet_twitter_container_image_self_build else 'docker.io/' }}" matrix_mx_puppet_twitter_docker_image_force_pull: "{{ matrix_mx_puppet_twitter_docker_image.endswith(':latest') }}" matrix_mx_puppet_twitter_base_path: "{{ matrix_base_data_path }}/mx-puppet-twitter" diff --git a/roles/custom/matrix-bridge-sms/defaults/main.yml b/roles/custom/matrix-bridge-sms/defaults/main.yml index 048bc85c2..2cabe39b5 100644 --- a/roles/custom/matrix-bridge-sms/defaults/main.yml +++ b/roles/custom/matrix-bridge-sms/defaults/main.yml @@ -6,7 +6,9 @@ matrix_sms_bridge_enabled: true # renovate: datasource=docker depName=folivonet/matrix-sms-bridge matrix_sms_bridge_version: 0.5.9 -matrix_sms_bridge_docker_image: "{{ matrix_container_global_registry_prefix }}folivonet/matrix-sms-bridge:{{ matrix_sms_bridge_version }}" +matrix_sms_bridge_docker_image: "{{ matrix_sms_bridge_docker_image_registry_prefix }}folivonet/matrix-sms-bridge:{{ matrix_sms_bridge_docker_image_tag }}" +matrix_sms_bridge_docker_image_registry_prefix: docker.io/ +matrix_sms_bridge_docker_image_tag: "{{ matrix_sms_bridge_version }}" matrix_sms_bridge_base_path: "{{ matrix_base_data_path }}/matrix-sms-bridge" matrix_sms_bridge_config_path: "{{ matrix_base_data_path }}/matrix-sms-bridge/config" diff --git a/roles/custom/matrix-bridge-wechat/defaults/main.yml b/roles/custom/matrix-bridge-wechat/defaults/main.yml index 4c9d9f0b0..948329083 100644 --- a/roles/custom/matrix-bridge-wechat/defaults/main.yml +++ b/roles/custom/matrix-bridge-wechat/defaults/main.yml @@ -8,7 +8,7 @@ matrix_wechat_enabled: true # renovate: datasource=docker depName=lxduo/matrix-wechat matrix_wechat_version: 0.2.4 matrix_wechat_container_image: "{{ matrix_wechat_container_image_name_prefix }}lxduo/matrix-wechat:{{ matrix_wechat_version }}" -matrix_wechat_container_image_name_prefix: "{{ 'localhost/' if matrix_wechat_container_image_self_build else matrix_container_global_registry_prefix }}" +matrix_wechat_container_image_name_prefix: "{{ 'localhost/' if matrix_wechat_container_image_self_build else 'docker.io/' }}" matrix_wechat_container_image_force_pull: "{{ matrix_wechat_container_image.endswith(':latest') }}" matrix_wechat_container_image_self_build: false @@ -18,7 +18,7 @@ matrix_wechat_container_image_self_build_branch: "{{ 'master' if matrix_wechat_v # renovate: datasource=docker depName=lxduo/matrix-wechat-agent matrix_wechat_agent_version: 0.0.1 matrix_wechat_agent_container_image: "{{ matrix_wechat_agent_container_image_name_prefix }}lxduo/matrix-wechat-agent:{{ matrix_wechat_agent_version }}" -matrix_wechat_agent_container_image_name_prefix: "{{ 'localhost/' if matrix_wechat_agent_container_image_self_build else matrix_container_global_registry_prefix }}" +matrix_wechat_agent_container_image_name_prefix: "{{ 'localhost/' if matrix_wechat_agent_container_image_self_build else 'docker.io/' }}" matrix_wechat_agent_container_image_force_pull: "{{ matrix_wechat_agent_container_image.endswith(':latest') }}" # The agent needs to write to /home/user/.vnc. diff --git a/roles/custom/matrix-cactus-comments-client/defaults/main.yml b/roles/custom/matrix-cactus-comments-client/defaults/main.yml index e8ff73d08..36493e87f 100644 --- a/roles/custom/matrix-cactus-comments-client/defaults/main.yml +++ b/roles/custom/matrix-cactus-comments-client/defaults/main.yml @@ -15,7 +15,8 @@ matrix_cactus_comments_client_public_path_file_permissions: "0644" # renovate: datasource=docker depName=joseluisq/static-web-server matrix_cactus_comments_client_version: 2.36.0 -matrix_cactus_comments_client_container_image: "{{ matrix_container_global_registry_prefix }}joseluisq/static-web-server:{{ matrix_cactus_comments_client_container_image_tag }}" +matrix_cactus_comments_client_container_image: "{{ matrix_cactus_comments_client_container_image_registry_prefix }}joseluisq/static-web-server:{{ matrix_cactus_comments_client_container_image_tag }}" +matrix_cactus_comments_client_container_image_registry_prefix: docker.io/ matrix_cactus_comments_client_container_image_tag: "{{ 'latest' if matrix_cactus_comments_client_version == 'latest' else (matrix_cactus_comments_client_version + '-alpine') }}" matrix_cactus_comments_client_container_image_force_pull: "{{ matrix_cactus_comments_client_container_image.endswith(':latest') }}" diff --git a/roles/custom/matrix-cactus-comments/defaults/main.yml b/roles/custom/matrix-cactus-comments/defaults/main.yml index a31ae1a1d..96f98d048 100644 --- a/roles/custom/matrix-cactus-comments/defaults/main.yml +++ b/roles/custom/matrix-cactus-comments/defaults/main.yml @@ -27,7 +27,9 @@ matrix_cactus_comments_container_port: 5000 # renovate: datasource=docker depName=cactuscomments/cactus-appservice matrix_cactus_comments_version: 0.9.0 -matrix_cactus_comments_docker_image: "{{ matrix_container_global_registry_prefix }}cactuscomments/cactus-appservice:{{ matrix_cactus_comments_version }}" +matrix_cactus_comments_docker_image: "{{ matrix_cactus_comments_docker_image_registry_prefix }}cactuscomments/cactus-appservice:{{ matrix_cactus_comments_docker_image_tag }}" +matrix_cactus_comments_docker_image_registry_prefix: docker.io/ +matrix_cactus_comments_docker_image_tag: "{{ matrix_cactus_comments_version }}" matrix_cactus_comments_docker_image_force_pull: "{{ matrix_cactus_comments_docker_image.endswith(':latest') }}" matrix_cactus_comments_container_network: "" diff --git a/roles/custom/matrix-client-cinny/defaults/main.yml b/roles/custom/matrix-client-cinny/defaults/main.yml index cae8c5727..57085fd5b 100644 --- a/roles/custom/matrix-client-cinny/defaults/main.yml +++ b/roles/custom/matrix-client-cinny/defaults/main.yml @@ -9,7 +9,7 @@ matrix_client_cinny_container_image_self_build_repo: "https://github.com/ajbura/ # renovate: datasource=docker depName=ajbura/cinny matrix_client_cinny_version: v4.3.2 matrix_client_cinny_docker_image: "{{ matrix_client_cinny_docker_image_name_prefix }}ajbura/cinny:{{ matrix_client_cinny_version }}" -matrix_client_cinny_docker_image_name_prefix: "{{ 'localhost/' if matrix_client_cinny_container_image_self_build else matrix_container_global_registry_prefix }}" +matrix_client_cinny_docker_image_name_prefix: "{{ 'localhost/' if matrix_client_cinny_container_image_self_build else 'docker.io/' }}" matrix_client_cinny_docker_image_force_pull: "{{ matrix_client_cinny_docker_image.endswith(':latest') }}" matrix_client_cinny_data_path: "{{ matrix_base_data_path }}/client-cinny" diff --git a/roles/custom/matrix-client-element/defaults/main.yml b/roles/custom/matrix-client-element/defaults/main.yml index d536b55e4..1cfcae331 100644 --- a/roles/custom/matrix-client-element/defaults/main.yml +++ b/roles/custom/matrix-client-element/defaults/main.yml @@ -14,7 +14,7 @@ matrix_client_element_container_image_self_build_low_memory_system_patch_enabled matrix_client_element_version: v1.11.92 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 'docker.io/' }}" matrix_client_element_docker_image_force_pull: "{{ matrix_client_element_docker_image.endswith(':latest') }}" matrix_client_element_data_path: "{{ matrix_base_data_path }}/client-element" diff --git a/roles/custom/matrix-corporal/defaults/main.yml b/roles/custom/matrix-corporal/defaults/main.yml index 6013e3a28..1b0d52f0a 100644 --- a/roles/custom/matrix-corporal/defaults/main.yml +++ b/roles/custom/matrix-corporal/defaults/main.yml @@ -82,7 +82,7 @@ matrix_corporal_systemd_required_services_list_auto: [] matrix_corporal_systemd_required_services_list_custom: [] matrix_corporal_docker_image: "{{ matrix_corporal_docker_image_name_prefix }}devture/matrix-corporal:{{ matrix_corporal_docker_image_tag }}" -matrix_corporal_docker_image_name_prefix: "{{ 'localhost/' if matrix_corporal_container_image_self_build else matrix_container_global_registry_prefix }}" +matrix_corporal_docker_image_name_prefix: "{{ 'localhost/' if matrix_corporal_container_image_self_build else 'docker.io/' }}" matrix_corporal_docker_image_tag: "{{ matrix_corporal_version }}" # for backward-compatibility matrix_corporal_docker_image_force_pull: "{{ matrix_corporal_docker_image.endswith(':latest') }}" diff --git a/roles/custom/matrix-coturn/defaults/main.yml b/roles/custom/matrix-coturn/defaults/main.yml index 78e8e35f9..04d221224 100644 --- a/roles/custom/matrix-coturn/defaults/main.yml +++ b/roles/custom/matrix-coturn/defaults/main.yml @@ -11,7 +11,7 @@ matrix_coturn_container_image_self_build_repo_dockerfile_path: "docker/coturn/al # renovate: datasource=docker depName=coturn/coturn matrix_coturn_version: 4.6.2-r11 matrix_coturn_docker_image: "{{ matrix_coturn_docker_image_name_prefix }}coturn/coturn:{{ matrix_coturn_version }}-alpine" -matrix_coturn_docker_image_name_prefix: "{{ 'localhost/' if matrix_coturn_container_image_self_build else matrix_container_global_registry_prefix }}" +matrix_coturn_docker_image_name_prefix: "{{ 'localhost/' if matrix_coturn_container_image_self_build else 'docker.io/' }}" matrix_coturn_docker_image_force_pull: "{{ matrix_coturn_docker_image.endswith(':latest') }}" # The Docker network that coturn would be put into. diff --git a/roles/custom/matrix-dendrite/defaults/main.yml b/roles/custom/matrix-dendrite/defaults/main.yml index f57947252..e39ccae6a 100644 --- a/roles/custom/matrix-dendrite/defaults/main.yml +++ b/roles/custom/matrix-dendrite/defaults/main.yml @@ -11,7 +11,7 @@ matrix_dendrite_container_image_self_build_repo: "https://github.com/matrix-org/ matrix_dendrite_docker_image_path: "matrixdotorg/dendrite-monolith" matrix_dendrite_docker_image: "{{ matrix_dendrite_docker_image_name_prefix }}{{ matrix_dendrite_docker_image_path }}:{{ matrix_dendrite_docker_image_tag }}" -matrix_dendrite_docker_image_name_prefix: "{{ 'localhost/' if matrix_dendrite_container_image_self_build else matrix_container_global_registry_prefix }}" +matrix_dendrite_docker_image_name_prefix: "{{ 'localhost/' if matrix_dendrite_container_image_self_build else 'docker.io/' }}" # renovate: datasource=docker depName=matrixdotorg/dendrite-monolith matrix_dendrite_docker_image_tag: "v0.14.1" matrix_dendrite_docker_image_force_pull: "{{ matrix_dendrite_docker_image.endswith(':latest') }}" diff --git a/roles/custom/matrix-dimension/defaults/main.yml b/roles/custom/matrix-dimension/defaults/main.yml index 136d9b9ec..d0ba9727c 100644 --- a/roles/custom/matrix-dimension/defaults/main.yml +++ b/roles/custom/matrix-dimension/defaults/main.yml @@ -32,7 +32,7 @@ matrix_dimension_docker_src_files_path: "{{ matrix_base_data_path }}/docker-src/ # renovate: datasource=docker depName=turt2live/matrix-dimension matrix_dimension_version: latest matrix_dimension_docker_image: "{{ matrix_dimension_docker_image_name_prefix }}turt2live/matrix-dimension:{{ matrix_dimension_version }}" -matrix_dimension_docker_image_name_prefix: "{{ 'localhost/' if matrix_dimension_container_image_self_build else matrix_container_global_registry_prefix }}" +matrix_dimension_docker_image_name_prefix: "{{ 'localhost/' if matrix_dimension_container_image_self_build else 'docker.io/' }}" matrix_dimension_docker_image_force_pull: "{{ matrix_dimension_docker_image.endswith(':latest') }}" # List of systemd services that matrix-dimension.service depends on. diff --git a/roles/custom/matrix-dynamic-dns/defaults/main.yml b/roles/custom/matrix-dynamic-dns/defaults/main.yml index 066d501f0..269072c67 100644 --- a/roles/custom/matrix-dynamic-dns/defaults/main.yml +++ b/roles/custom/matrix-dynamic-dns/defaults/main.yml @@ -13,7 +13,7 @@ matrix_dynamic_dns_version: 4.0.0 # The docker container to use when in mode matrix_dynamic_dns_docker_image: "{{ matrix_dynamic_dns_docker_image_name_prefix }}linuxserver/ddclient:{{ matrix_dynamic_dns_version }}" -matrix_dynamic_dns_docker_image_name_prefix: "{{ 'localhost/' if matrix_dynamic_dns_container_image_self_build else matrix_container_global_registry_prefix }}" +matrix_dynamic_dns_docker_image_name_prefix: "{{ 'localhost/' if matrix_dynamic_dns_container_image_self_build else 'docker.io/' }}" # The image to force pull matrix_dynamic_dns_docker_image_force_pull: "{{ matrix_dynamic_dns_docker_image.endswith(':latest') }}" diff --git a/roles/custom/matrix-email2matrix/defaults/main.yml b/roles/custom/matrix-email2matrix/defaults/main.yml index 2c55c6661..d5355e877 100644 --- a/roles/custom/matrix-email2matrix/defaults/main.yml +++ b/roles/custom/matrix-email2matrix/defaults/main.yml @@ -13,7 +13,7 @@ matrix_email2matrix_container_image_self_build_branch: "{{ matrix_email2matrix_v # renovate: datasource=docker depName=devture/email2matrix matrix_email2matrix_version: 1.1.0 -matrix_email2matrix_docker_image_prefix: "{{ 'localhost/' if matrix_email2matrix_container_image_self_build else matrix_container_global_registry_prefix }}" +matrix_email2matrix_docker_image_prefix: "{{ 'localhost/' if matrix_email2matrix_container_image_self_build else 'docker.io/' }}" matrix_email2matrix_docker_image: "{{ matrix_email2matrix_docker_image_prefix }}devture/email2matrix:{{ matrix_email2matrix_version }}" matrix_email2matrix_docker_image_force_pull: "{{ matrix_email2matrix_docker_image.endswith(':latest') }}" diff --git a/roles/custom/matrix-ma1sd/defaults/main.yml b/roles/custom/matrix-ma1sd/defaults/main.yml index 39d0d4ed3..78d6cfac4 100644 --- a/roles/custom/matrix-ma1sd/defaults/main.yml +++ b/roles/custom/matrix-ma1sd/defaults/main.yml @@ -15,7 +15,7 @@ matrix_ma1sd_container_image_self_build_branch: "{{ matrix_ma1sd_version }}" matrix_ma1sd_version: "2.5.0" matrix_ma1sd_docker_image: "{{ matrix_ma1sd_docker_image_name_prefix }}ma1uta/ma1sd:{{ matrix_ma1sd_version }}" -matrix_ma1sd_docker_image_name_prefix: "{{ 'localhost/' if matrix_ma1sd_container_image_self_build else matrix_container_global_registry_prefix }}" +matrix_ma1sd_docker_image_name_prefix: "{{ 'localhost/' if matrix_ma1sd_container_image_self_build else 'docker.io/' }}" matrix_ma1sd_docker_image_force_pull: "{{ matrix_ma1sd_docker_image.endswith(':latest') }}" matrix_ma1sd_base_path: "{{ matrix_base_data_path }}/ma1sd" diff --git a/roles/custom/matrix-pantalaimon/defaults/main.yml b/roles/custom/matrix-pantalaimon/defaults/main.yml index 977f53d0a..3708a0b33 100644 --- a/roles/custom/matrix-pantalaimon/defaults/main.yml +++ b/roles/custom/matrix-pantalaimon/defaults/main.yml @@ -11,7 +11,7 @@ matrix_pantalaimon_container_image_self_build_repo: "https://github.com/matrix-o matrix_pantalaimon_container_image_self_build_repo_version: "{{ 'main' if matrix_pantalaimon_version == 'latest' else matrix_pantalaimon_version }}" matrix_pantalaimon_docker_image: "{{ matrix_pantalaimon_docker_image_name_prefix }}matrixdotorg/pantalaimon:v{{ matrix_pantalaimon_version }}" -matrix_pantalaimon_docker_image_name_prefix: "{{ 'localhost/' if matrix_pantalaimon_container_image_self_build else matrix_container_global_registry_prefix }}" +matrix_pantalaimon_docker_image_name_prefix: "{{ 'localhost/' if matrix_pantalaimon_container_image_self_build else 'docker.io/' }}" matrix_pantalaimon_docker_image_force_pull: "{{ matrix_pantalaimon_docker_image.endswith(':latest') }}" matrix_pantalaimon_base_path: "{{ matrix_base_data_path }}/pantalaimon" diff --git a/roles/custom/matrix-registration/defaults/main.yml b/roles/custom/matrix-registration/defaults/main.yml index 9e8a350ab..0cc776fe7 100644 --- a/roles/custom/matrix-registration/defaults/main.yml +++ b/roles/custom/matrix-registration/defaults/main.yml @@ -26,7 +26,7 @@ matrix_registration_docker_src_files_path: "{{ matrix_registration_base_path }}/ matrix_registration_version: "v0.7.2" matrix_registration_docker_image: "{{ matrix_registration_docker_image_name_prefix }}zeratax/matrix-registration:{{ matrix_registration_version }}" -matrix_registration_docker_image_name_prefix: "{{ 'localhost/' if matrix_registration_container_image_self_build else matrix_container_global_registry_prefix }}" +matrix_registration_docker_image_name_prefix: "{{ 'localhost/' if matrix_registration_container_image_self_build else 'docker.io/' }}" matrix_registration_docker_image_force_pull: "{{ matrix_registration_docker_image.endswith(':latest') }}" matrix_registration_container_network: "" diff --git a/roles/custom/matrix-static-files/defaults/main.yml b/roles/custom/matrix-static-files/defaults/main.yml index e31c9b75b..e4dd36e95 100644 --- a/roles/custom/matrix-static-files/defaults/main.yml +++ b/roles/custom/matrix-static-files/defaults/main.yml @@ -24,7 +24,8 @@ matrix_static_files_systemd_wanted_services_list: "{{ matrix_static_files_system matrix_static_files_systemd_wanted_services_list_auto: [] matrix_static_files_systemd_wanted_services_list_custom: [] -matrix_static_files_container_image: "{{ matrix_container_global_registry_prefix }}joseluisq/static-web-server:{{ matrix_static_files_container_image_tag }}" +matrix_static_files_container_image: "{{ matrix_static_files_container_image_registry_prefix }}joseluisq/static-web-server:{{ matrix_static_files_container_image_tag }}" +matrix_static_files_container_image_registry_prefix: docker.io/ matrix_static_files_container_image_tag: "{{ 'latest' if matrix_static_files_version == 'latest' else (matrix_static_files_version + '-alpine') }}" matrix_static_files_container_image_force_pull: "{{ matrix_static_files_container_image.endswith(':latest') }}" diff --git a/roles/custom/matrix-sygnal/defaults/main.yml b/roles/custom/matrix-sygnal/defaults/main.yml index 3f9bc77fc..490b391d8 100644 --- a/roles/custom/matrix-sygnal/defaults/main.yml +++ b/roles/custom/matrix-sygnal/defaults/main.yml @@ -27,7 +27,7 @@ matrix_sygnal_systemd_wanted_services_list: [] matrix_sygnal_docker_image: "{{ matrix_sygnal_docker_image_registry_prefix }}matrixdotorg/sygnal:{{ matrix_sygnal_docker_image_tag }}" matrix_sygnal_docker_image_tag: "{{ matrix_sygnal_version }}" -matrix_sygnal_docker_image_registry_prefix: "{{ matrix_container_global_registry_prefix }}" +matrix_sygnal_docker_image_registry_prefix: docker.io/ matrix_sygnal_docker_image_force_pull: "{{ matrix_sygnal_docker_image.endswith(':latest') }}" # The base container network. It will be auto-created by this role if it doesn't exist already. diff --git a/roles/custom/matrix-synapse-reverse-proxy-companion/defaults/main.yml b/roles/custom/matrix-synapse-reverse-proxy-companion/defaults/main.yml index 98e0c2d65..47074216e 100644 --- a/roles/custom/matrix-synapse-reverse-proxy-companion/defaults/main.yml +++ b/roles/custom/matrix-synapse-reverse-proxy-companion/defaults/main.yml @@ -30,7 +30,9 @@ matrix_synapse_reverse_proxy_companion_systemd_wanted_services_list: ['matrix-sy # We use an official nginx image, which we fix-up to run unprivileged. # An alternative would be an `nginxinc/nginx-unprivileged` image, but # that is frequently out of date. -matrix_synapse_reverse_proxy_companion_container_image: "{{ matrix_container_global_registry_prefix }}nginx:{{ matrix_synapse_reverse_proxy_companion_version }}" +matrix_synapse_reverse_proxy_companion_container_image: "{{ matrix_synapse_reverse_proxy_companion_container_image_registry_prefix }}nginx:{{ matrix_synapse_reverse_proxy_companion_container_image_tag }}" +matrix_synapse_reverse_proxy_companion_container_image_registry_prefix: docker.io/ +matrix_synapse_reverse_proxy_companion_container_image_tag: "{{ matrix_synapse_reverse_proxy_companion_version }}" matrix_synapse_reverse_proxy_companion_container_image_force_pull: "{{ matrix_synapse_reverse_proxy_companion_container_image.endswith(':latest') }}" matrix_synapse_reverse_proxy_companion_container_network: "" diff --git a/roles/custom/matrix-synapse-usage-exporter/defaults/main.yml b/roles/custom/matrix-synapse-usage-exporter/defaults/main.yml index 71f7b7423..3b0579bad 100644 --- a/roles/custom/matrix-synapse-usage-exporter/defaults/main.yml +++ b/roles/custom/matrix-synapse-usage-exporter/defaults/main.yml @@ -22,7 +22,7 @@ matrix_synapse_usage_exporter_container_image_self_build_repo: "https://github.c matrix_synapse_usage_exporter_container_image_path: "loelkes/synapse-usage-exporter" matrix_synapse_usage_exporter_container_image: "{{ matrix_synapse_usage_exporter_container_image_name_prefix }}{{ matrix_synapse_usage_exporter_container_image_path }}:{{ matrix_synapse_usage_exporter_container_image_tag }}" -matrix_synapse_usage_exporter_container_image_name_prefix: "{{ 'localhost/' if matrix_synapse_usage_exporter_container_image_self_build else matrix_container_global_registry_prefix }}" +matrix_synapse_usage_exporter_container_image_name_prefix: "{{ 'localhost/' if matrix_synapse_usage_exporter_container_image_self_build else 'docker.io/' }}" matrix_synapse_usage_exporter_container_image_tag: "{{ 'main' if matrix_synapse_usage_exporter_container_image_self_build else 'latest' }}" matrix_synapse_usage_exporter_container_image_force_pull: "{{ matrix_synapse_usage_exporter_container_image.endswith(':latest') }}" diff --git a/roles/custom/matrix-user-verification-service/defaults/main.yml b/roles/custom/matrix-user-verification-service/defaults/main.yml index d46b99194..510d258da 100644 --- a/roles/custom/matrix-user-verification-service/defaults/main.yml +++ b/roles/custom/matrix-user-verification-service/defaults/main.yml @@ -24,8 +24,8 @@ matrix_user_verification_service_config_env_file: "{{ matrix_user_verification_s matrix_user_verification_service_docker_src_files_path: "{{ matrix_user_verification_service_base_path }}/docker-src" # Docker -matrix_user_verification_service_docker_image_name_prefix: "{{ matrix_container_global_registry_prefix }}" -matrix_user_verification_service_docker_image: "{{ matrix_user_verification_service_docker_image_name_prefix }}matrixdotorg/matrix-user-verification-service:{{ matrix_user_verification_service_version }}" +matrix_user_verification_service_docker_image: "{{ matrix_user_verification_service_docker_image_registry_prefix }}matrixdotorg/matrix-user-verification-service:{{ matrix_user_verification_service_version }}" +matrix_user_verification_service_docker_image_registry_prefix: docker.io/ matrix_user_verification_service_docker_image_force_pull: "{{ matrix_user_verification_service_docker_image.endswith(':latest') }}" # The base container network. It will be auto-created by this role if it doesn't exist already. diff --git a/roles/custom/matrix-user-verification-service/tasks/validate_config.yml b/roles/custom/matrix-user-verification-service/tasks/validate_config.yml index e283ce6c3..309557c84 100644 --- a/roles/custom/matrix-user-verification-service/tasks/validate_config.yml +++ b/roles/custom/matrix-user-verification-service/tasks/validate_config.yml @@ -32,3 +32,12 @@ with_items: - {'name': 'matrix_user_verification_service_uvs_homeserver_url', when: true} - {'name': 'matrix_user_verification_service_container_network', when: true} + +- name: (Deprecation) Catch and report renamed matrix-user-verification-service variables + ansible.builtin.fail: + msg: >- + Your configuration contains a variable, which now has a different name. + Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + when: "item.old in vars" + with_items: + - {'old': 'matrix_user_verification_service_docker_image_name_prefix', 'new': 'matrix_user_verification_service_docker_image_registry_prefix'} From ee431798a6d6e3a867d792b159787d744840dd5a Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 23 Feb 2025 18:20:47 +0900 Subject: [PATCH 453/841] Update docs/getting-the-playbook.md: make the list tighter Signed-off-by: Suguru Hirahara --- docs/getting-the-playbook.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/docs/getting-the-playbook.md b/docs/getting-the-playbook.md index 6607cae49..d1c951fa5 100644 --- a/docs/getting-the-playbook.md +++ b/docs/getting-the-playbook.md @@ -14,9 +14,7 @@ This Ansible playbook is meant to be executed on your own computer (not the Matr In special cases (if your computer cannot run Ansible, etc.) you may put the playbook on the server as well. You can retrieve the playbook's source code by: - - [Using git to get the playbook](#using-git-to-get-the-playbook) (recommended) - - [Downloading the playbook as a ZIP archive](#downloading-the-playbook-as-a-zip-archive) (not recommended) ## Using git to get the playbook From 0d137db283c3b029a2ced8d734e5baf414f292aa Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sun, 23 Feb 2025 12:09:06 +0200 Subject: [PATCH 454/841] Re-enable STUN/UDP by default so that old Element mobile clients can work Partially reverts ac26cc1cb0d6423b751b74ddb06a8c793f63dd56. The configurability introduced there is still available, so people can easily disable this, if necessary. --- CHANGELOG.md | 25 ++++++++++++++++++++ docs/prerequisites.md | 1 + roles/custom/matrix-coturn/defaults/main.yml | 5 ++-- 3 files changed, 29 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2e1d832ba..c5a21d80f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,28 @@ +# 2025-02-23 + +## The playbook defaults to exposing the Coturn STUN port (3478) over UDP once again + +Recently, we made the playbook [default to exposing the Coturn STUN port (3478) only over TCP](#the-playbook-now-defaults-to-exposing-the-coturn-stun-port-3478-only-over-tcp) to reduce the severity of DDoS amplification/reflection attacks. + +It seems like old Element clients on mobile devices only support talking to the STUN port over UDP, not TCP. +To accommodate such ancient clients, we're now **reversing this change** and **defaulting to exposing the Coturn STUN port (3478) over UDP once again**. + +In light of this new information, you have 2 options: + +1. **If you already adapted to the previous change and would like to adapt to this change one again**: + +- make sure the `3478/udp` port is whitelisted in your external firewall (if you have one) once again. + +2. **If you don't care about old Element clients and wish to reduce the severity of DDoS amplification/reflection attacks**: + +- Consider closing the STUN/UDP port with the following configuration: + + ```yaml + matrix_coturn_container_stun_plain_host_bind_port_udp: "" + ``` + +- Consider keeping `3478/udp` blocked in your external firewall (if you have one) + # 2025-02-21 ## Docker daemon options are no longer adjusted when IPv6 is enabled diff --git a/docs/prerequisites.md b/docs/prerequisites.md index 8b813f1bd..b1f891d7c 100644 --- a/docs/prerequisites.md +++ b/docs/prerequisites.md @@ -60,6 +60,7 @@ We will be using `example.com` as the domain in the following instruction. Pleas - `80/tcp`: HTTP webserver - `443/tcp` and `443/udp`: HTTPS webserver - `3478/tcp`: STUN/TURN over TCP (used by [coturn](./docs/configuring-playbook-turn.md)) + - `3478/udp`: STUN/TURN over TCP (used by [coturn](./docs/configuring-playbook-turn.md)) - `5349/tcp`: TURN over TCP (used by [coturn](./docs/configuring-playbook-turn.md)) - `5349/udp`: TURN over UDP (used by [coturn](./docs/configuring-playbook-turn.md)) - `8448/tcp` and `8448/udp`: Matrix Federation API HTTPS webserver. Some components like [Matrix User Verification Service](configuring-playbook-user-verification-service.md#open-matrix-federation-port) require this port to be opened **even with federation disabled**. diff --git a/roles/custom/matrix-coturn/defaults/main.yml b/roles/custom/matrix-coturn/defaults/main.yml index 04d221224..febee5009 100644 --- a/roles/custom/matrix-coturn/defaults/main.yml +++ b/roles/custom/matrix-coturn/defaults/main.yml @@ -60,9 +60,10 @@ matrix_coturn_container_stun_plain_host_bind_port_tcp: "{{ '3478' if matrix_cotu # # Takes an ":" or "" value (e.g. "127.0.0.1:3478"), or empty string to not expose. # -# This is not done by default to decrease the risk of DDoS amplification attacks. +# Ideally, we'd like to set this to "" to avoid exposing this port and decrease the risk of DDoS amplification attacks. # See: https://stormwall.network/resources/blog/protect-against-ddos-based-on-stun-exploit -matrix_coturn_container_stun_plain_host_bind_port_udp: "" +# In practice, old Element clients only support talking to the STUN port over UDP, not TCP, so we need to keep this enabled for now. +matrix_coturn_container_stun_plain_host_bind_port_udp: "{{ '3478' if matrix_coturn_container_network != 'host' else '' }}" # Controls whether the coturn container exposes its TLS STUN port (tcp/5349 in the container) over TCP. # From c1eae5fc00cdced01ee54a73c403f99fbb662533 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 23 Feb 2025 19:25:04 +0900 Subject: [PATCH 455/841] Update docs/installing.md: minor edits Signed-off-by: Suguru Hirahara --- docs/installing.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/installing.md b/docs/installing.md index e0bf44404..181dc3a1b 100644 --- a/docs/installing.md +++ b/docs/installing.md @@ -134,9 +134,11 @@ After configuring the playbook, run the command below: ansible-playbook -i inventory/hosts setup.yml --tags=install-matrix-static-files,start ``` +**If an error is not returned, the installation has completed and the services have been started successfully**🎉 + ## Things to do next -After finilizing the installation, you can: +After completing the installation, you can: - [check if services work](maintenance-and-troubleshooting.md#how-to-check-if-services-work) - or [set up additional services](configuring-playbook.md#other-configuration-options) (bridges to other chat networks, bots, etc.) @@ -147,7 +149,7 @@ After finilizing the installation, you can: * 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)) -### Maintaining your setup in the future +### ⚠️Keep the playbook and services up-to-date While this playbook helps you to set up Matrix services and maintain them, it will **not** automatically run the maintenance task for you. You will need to update the playbook and re-run it **manually**. From b4bcac7e481fb9936788a64bd1b90f568bdc3614 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 23 Feb 2025 19:25:12 +0900 Subject: [PATCH 456/841] Update docs/quick-start.md: minor edits - Reduce width of the table for DNS configuration Signed-off-by: Suguru Hirahara --- docs/quick-start.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/quick-start.md b/docs/quick-start.md index fbb579f61..70e4de3f3 100644 --- a/docs/quick-start.md +++ b/docs/quick-start.md @@ -43,10 +43,10 @@ After installing and configuring prerequisites, you will need to **configure DNS To configure Matrix services in the default settings, go to your DNS service provider, and adjust DNS records as below. -| Type | Host | Priority | Weight | Port | Target | -| ----- | ---------------------------- | -------- | ------ | ---- | ---------------------| -| A | `matrix` | - | - | - | `matrix-server-IP` | -| CNAME | `element` | - | - | - | `matrix.example.com` | +| Type | Host | Priority | Weight | Port | Target | +| ----- | ----------| -------- | ------ | ---- | ---------------------| +| A | `matrix` | - | - | - | `matrix-server-IP` | +| CNAME | `element` | - | - | - | `matrix.example.com` | As the table illustrates, you need to create 2 subdomains (`matrix.example.com` and `element.example.com`) and point both of them to your server's IP address (DNS `A` record or `CNAME` record is fine). @@ -191,7 +191,7 @@ Finally, let's make sure that you can log in to the created account with the spe You should be able to log in to it with your own [Element Web](configuring-playbook-client-element-web.md) client which you have set up at `element.example.com` by running the playbook. Open the URL (`https://element.example.com`) in a web browser and enter your credentials to log in. -**If you successfully logged in to your account, installing and configuring is complete**🎉 +**If you successfully logged in to your account, the installation and configuration have completed successfully**🎉 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. From cca3b06cf09206e681ad663360929a5f78c1b2f7 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sun, 23 Feb 2025 12:32:32 +0200 Subject: [PATCH 457/841] =?UTF-8?q?Add=20space=20after=20=E2=9A=A0?= =?UTF-8?q?=EF=B8=8F=20on=20installing.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/installing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/installing.md b/docs/installing.md index 181dc3a1b..34e4548b5 100644 --- a/docs/installing.md +++ b/docs/installing.md @@ -149,7 +149,7 @@ After completing the installation, you can: * 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)) -### ⚠️Keep the playbook and services up-to-date +### ⚠️ Keep the playbook and services up-to-date While this playbook helps you to set up Matrix services and maintain them, it will **not** automatically run the maintenance task for you. You will need to update the playbook and re-run it **manually**. From af054a48336e84fc2bb9eefa6261f720d89ea1ff Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 23 Feb 2025 14:39:53 +0000 Subject: [PATCH 458/841] Update ajbura/cinny Docker tag to v4.4.0 --- roles/custom/matrix-client-cinny/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-client-cinny/defaults/main.yml b/roles/custom/matrix-client-cinny/defaults/main.yml index 57085fd5b..7612576e5 100644 --- a/roles/custom/matrix-client-cinny/defaults/main.yml +++ b/roles/custom/matrix-client-cinny/defaults/main.yml @@ -7,7 +7,7 @@ matrix_client_cinny_container_image_self_build: false matrix_client_cinny_container_image_self_build_repo: "https://github.com/ajbura/cinny.git" # renovate: datasource=docker depName=ajbura/cinny -matrix_client_cinny_version: v4.3.2 +matrix_client_cinny_version: v4.4.0 matrix_client_cinny_docker_image: "{{ matrix_client_cinny_docker_image_name_prefix }}ajbura/cinny:{{ matrix_client_cinny_version }}" matrix_client_cinny_docker_image_name_prefix: "{{ 'localhost/' if matrix_client_cinny_container_image_self_build else 'docker.io/' }}" matrix_client_cinny_docker_image_force_pull: "{{ matrix_client_cinny_docker_image.endswith(':latest') }}" From 31e5c10a1bedbd6c968e5ea7bd4582759a613e2a Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 24 Feb 2025 03:33:47 +0900 Subject: [PATCH 459/841] Update docs for Ansible This commit changes ansible.md title and adds a link to the page on docs/README.md to improve discoverability of the guide a little bit. Signed-off-by: Suguru Hirahara --- docs/README.md | 2 ++ docs/ansible.md | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/README.md b/docs/README.md index ba0fd1e48..f1765920f 100644 --- a/docs/README.md +++ b/docs/README.md @@ -91,3 +91,5 @@ If your server and services experience issues, feel free to come to [our support - [Uninstalling](uninstalling.md) - [Updating users passwords](updating-users-passwords.md) + +- [Using Ansible for the playbook](ansible.md) diff --git a/docs/ansible.md b/docs/ansible.md index 83814cc92..15f00632f 100644 --- a/docs/ansible.md +++ b/docs/ansible.md @@ -3,12 +3,12 @@ SPDX-FileCopyrightText: 2019 - 2025 Slavi Pantaleev SPDX-FileCopyrightText: 2020 Hanno J. Gödecke SPDX-FileCopyrightText: 2020 Aaron Raimist SPDX-FileCopyrightText: 2022 Kai Biebel -SPDX-FileCopyrightText: 2024 Suguru Hirahara +SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara SPDX-License-Identifier: AGPL-3.0-or-later --> -# Running this playbook +# Using Ansible for the playbook This playbook is meant to be run using [Ansible](https://www.ansible.com/). From 7448b4728c9b2907c7cfb17c983968ca256aa2b1 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 24 Feb 2025 12:47:36 +0900 Subject: [PATCH 460/841] Edit docs: minor edits Signed-off-by: Suguru Hirahara --- docs/installing.md | 2 +- docs/prerequisites.md | 2 +- docs/quick-start.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/installing.md b/docs/installing.md index 34e4548b5..6bc0a463e 100644 --- a/docs/installing.md +++ b/docs/installing.md @@ -157,7 +157,7 @@ The upstream projects, which this playbook makes use of, occasionally if not oft Since it is unsafe to keep outdated services running on the server connected to the internet, please consider to update the playbook and re-run it periodically, in order to keep the services up-to-date. -For more information about upgrading or maintaining services with the playbook, take at look at this page: [Upgrading the Matrix services](maintenance-upgrading-services.md) +For more information about upgrading or maintaining services with the playbook, take a look at this page: [Upgrading the Matrix services](maintenance-upgrading-services.md) Feel free to **re-run the setup command any time** you think something is wrong with the server configuration. Ansible will take your configuration and update your server to match. diff --git a/docs/prerequisites.md b/docs/prerequisites.md index b1f891d7c..0e65548b5 100644 --- a/docs/prerequisites.md +++ b/docs/prerequisites.md @@ -27,7 +27,7 @@ We will be using `example.com` as the domain in the following instruction. Pleas - [`git`](https://git-scm.com/) as the recommended way to download the playbook. `git` may also be required on the server if you will be [self-building](self-building.md) components. -- [`just`](https://github.com/casey/just) for running `just roles`, `just update`, etc. (see [`justfile`](../justfile)), although you can also run these commands manually. Take at look at this documentation for more information: [Running `just` commands](just.md). +- [`just`](https://github.com/casey/just) for running `just roles`, `just update`, etc. (see [`justfile`](../justfile)), although you can also run these commands manually. Take a look at this documentation for more information: [Running `just` commands](just.md). - Strong password (random strings) generator. The playbook often requires you to create a strong password and use it for settings on `vars.yml`, components, etc. As any tools should be fine, this playbook has adopted [`pwgen`](https://linux.die.net/man/1/pwgen) (running `pwgen -s 64 1`). [Password Tech](https://pwgen-win.sourceforge.io/), formerly known as "PWGen for Windows", is available as free and open source password generator for Windows. Generally, using a random generator available on the internet is not recommended. diff --git a/docs/quick-start.md b/docs/quick-start.md index 70e4de3f3..cedb18a9d 100644 --- a/docs/quick-start.md +++ b/docs/quick-start.md @@ -207,4 +207,4 @@ While this playbook helps you to set up Matrix services and maintain them, it wi Since it is unsafe to keep outdated services running on the server connected to the internet, please consider to update the playbook and re-run it periodically, in order to keep the services up-to-date. -For more information about upgrading or maintaining services with the playbook, take at look at this page: [Upgrading the Matrix services](maintenance-upgrading-services.md) +For more information about upgrading or maintaining services with the playbook, take a look at this page: [Upgrading the Matrix services](maintenance-upgrading-services.md) From 90540c244ff7078fbbc93a50d416e543f88e31fe Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 24 Feb 2025 17:03:54 +0900 Subject: [PATCH 461/841] Update docs/maintenance-postgres.md: add a copyright header Signed-off-by: Suguru Hirahara --- docs/maintenance-postgres.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/maintenance-postgres.md b/docs/maintenance-postgres.md index 569d5fd4d..7beff8e7c 100644 --- a/docs/maintenance-postgres.md +++ b/docs/maintenance-postgres.md @@ -1,3 +1,15 @@ + + # PostgreSQL maintenance This document shows you how to perform various maintenance tasks related to the Postgres database server used by Matrix. From 77209126bb624a68c90fce8e52761778e017166d Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 24 Feb 2025 17:47:38 +0900 Subject: [PATCH 462/841] Update docs: remove duplicated whitespace characters Signed-off-by: Suguru Hirahara --- CHANGELOG.md | 8 ++++---- docs/configuring-playbook-bridge-mx-puppet-discord.md | 2 +- docs/configuring-playbook-ntfy.md | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c5a21d80f..a25aebfda 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -787,7 +787,7 @@ If you were using these values as a way to stay away from Traefik, you now have Now that `matrix-nginx-proxy` is not in the mix, it became easier to clear out some other long-overdue technical debt. -Since the very beginning of this playbook, all playbook services were connected to a single (shared) `matrix` container network. Later on, some additional container networks appeared, but most services (database, etc.) still remained in the `matrix` container network. This meant that any random container in this network could try to talk (or attack) the Postgres database operating in the same `matrix` network. +Since the very beginning of this playbook, all playbook services were connected to a single (shared) `matrix` container network. Later on, some additional container networks appeared, but most services (database, etc.) still remained in the `matrix` container network. This meant that any random container in this network could try to talk (or attack) the Postgres database operating in the same `matrix` network. Moving components (especially the database) into other container networks was difficult — it required changes to many other components to ensure correct connectivity. @@ -2799,12 +2799,12 @@ Until the issue gets fixed, we're making User Directory search not go to ma1sd b ## Newer IRC bridge (with potential breaking change) -This upgrades matrix-appservice-irc from 0.14.1 to 0.16.0. Upstream -made a change to how you define manual mappings. If you added a +This upgrades matrix-appservice-irc from 0.14.1 to 0.16.0. Upstream +made a change to how you define manual mappings. If you added a `mapping` to your configuration, you will need to update it accoring to the [upstream instructions](https://github.com/matrix-org/matrix-appservice-irc/blob/master/CHANGELOG.md#0150-2020-02-05). If you did not include `mappings` in your configuration for IRC, no -change is necessary. `mappings` is not part of the default +change is necessary. `mappings` is not part of the default configuration. diff --git a/docs/configuring-playbook-bridge-mx-puppet-discord.md b/docs/configuring-playbook-bridge-mx-puppet-discord.md index b866dd5f6..f135d9b84 100644 --- a/docs/configuring-playbook-bridge-mx-puppet-discord.md +++ b/docs/configuring-playbook-bridge-mx-puppet-discord.md @@ -9,7 +9,7 @@ SPDX-License-Identifier: AGPL-3.0-or-later # Setting up MX Puppet Discord bridging (optional) -**Note**: bridging to [Discord](https://discordapp.com/) can also happen via the [matrix-appservice-discord](configuring-playbook-bridge-appservice-discord.md)and [mautrix-discord](configuring-playbook-bridge-mautrix-discord.md) bridges supported by the playbook. +**Note**: bridging to [Discord](https://discordapp.com/) can also happen via the [matrix-appservice-discord](configuring-playbook-bridge-appservice-discord.md)and [mautrix-discord](configuring-playbook-bridge-mautrix-discord.md) bridges supported by the playbook. - For using as a Bot we recommend the [Appservice Discord](configuring-playbook-bridge-appservice-discord.md), because it supports plumbing. - For personal use with a discord account we recommend the [mautrix-discord](configuring-playbook-bridge-mautrix-discord.md) bridge, because it is the most fully-featured and stable of the 3 Discord bridges supported by the playbook. diff --git a/docs/configuring-playbook-ntfy.md b/docs/configuring-playbook-ntfy.md index cbf67c7c3..ac7c157e2 100644 --- a/docs/configuring-playbook-ntfy.md +++ b/docs/configuring-playbook-ntfy.md @@ -6,7 +6,7 @@ Using the [UnifiedPush](https://unifiedpush.org) standard, ntfy enables self-hos This role is intended to support UnifiedPush notifications for use with the Matrix and Matrix-related services that this playbook installs. This role is not intended to support all of ntfy's other features. -**Note**: In contrast to push notifications using Google's FCM or Apple's APNs, the use of UnifiedPush allows each end-user to choose the push notification server that they prefer. As a consequence, deploying this ntfy server does not by itself ensure any particular user or device or client app will use it. +**Note**: In contrast to push notifications using Google's FCM or Apple's APNs, the use of UnifiedPush allows each end-user to choose the push notification server that they prefer. As a consequence, deploying this ntfy server does not by itself ensure any particular user or device or client app will use it. ## Adjusting DNS records From 0da9c0c07593fd2ea65b4a28e9aeadbb7313f8b0 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Mon, 24 Feb 2025 07:27:08 +0200 Subject: [PATCH 463/841] Upgrade backup-borg (v1.4.0-1.9.10-3 -> v1.4.0-1.9.10-4) --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 675569d11..c1cfdc207 100644 --- a/requirements.yml +++ b/requirements.yml @@ -4,7 +4,7 @@ version: v1.0.0-5 name: auxiliary - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg.git - version: v1.4.0-1.9.10-3 + version: v1.4.0-1.9.10-4 name: backup_borg - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-container-socket-proxy.git version: v0.3.0-3 From 3e17ae8b1bd66be303ec5025bcecdefb20912c41 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Mon, 24 Feb 2025 07:29:22 +0200 Subject: [PATCH 464/841] Upgrade container-socket-proxy (v0.3.0-3 -> v0.3.0-4) --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index c1cfdc207..b4d10fbac 100644 --- a/requirements.yml +++ b/requirements.yml @@ -7,7 +7,7 @@ version: v1.4.0-1.9.10-4 name: backup_borg - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-container-socket-proxy.git - version: v0.3.0-3 + version: v0.3.0-4 name: container_socket_proxy - src: git+https://github.com/geerlingguy/ansible-role-docker version: 7.4.5 From c212346881ca90cdd7e9ad15aca7e69da91e0da2 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Mon, 24 Feb 2025 07:31:56 +0200 Subject: [PATCH 465/841] Upgrade Etherpad (v2.2.7-3 -> v2.2.7-4) --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index b4d10fbac..5da5c857a 100644 --- a/requirements.yml +++ b/requirements.yml @@ -16,7 +16,7 @@ version: 129c8590e106b83e6f4c259649a613c6279e937a name: docker_sdk_for_python - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-etherpad.git - version: v2.2.7-3 + version: v2.2.7-4 name: etherpad - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay.git version: v4.98-r0-4-2 From 650fca9d27b8f71648f8dd61bd3804c48fdbd3be Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Mon, 24 Feb 2025 07:34:44 +0200 Subject: [PATCH 466/841] Upgrade exim-relay (v4.98-r0-4-2 -> v4.98-r0-4-3) --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 5da5c857a..896fd3209 100644 --- a/requirements.yml +++ b/requirements.yml @@ -19,7 +19,7 @@ version: v2.2.7-4 name: etherpad - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay.git - version: v4.98-r0-4-2 + version: v4.98-r0-4-3 name: exim_relay - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-grafana.git version: v11.5.2-0 From ed63688bb8d493b499b71750db164197e6d0d371 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Mon, 24 Feb 2025 07:36:17 +0200 Subject: [PATCH 467/841] Upgrade Grafana (v11.5.2-0 -> v11.5.2-1) --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 896fd3209..92910f9cd 100644 --- a/requirements.yml +++ b/requirements.yml @@ -22,7 +22,7 @@ version: v4.98-r0-4-3 name: exim_relay - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-grafana.git - version: v11.5.2-0 + version: v11.5.2-1 name: grafana - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-jitsi.git version: v10008-2 From 3441a29b7b3e13029e8da8e84996db5aedfd2e9c Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Mon, 24 Feb 2025 07:39:05 +0200 Subject: [PATCH 468/841] Upgrade Jitsi (v10008-2 -> v10008-3) --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 92910f9cd..0f7b4b714 100644 --- a/requirements.yml +++ b/requirements.yml @@ -25,7 +25,7 @@ version: v11.5.2-1 name: grafana - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-jitsi.git - version: v10008-2 + version: v10008-3 name: jitsi - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-ntfy.git version: v2.11.0-2 From 9dd3a71c389153e68d1f96a74b2ae6cb6ac62123 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Mon, 24 Feb 2025 07:40:28 +0200 Subject: [PATCH 469/841] Upgrade ntfy (v2.11.0-2 -> v2.11.0-3) --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 0f7b4b714..60406765a 100644 --- a/requirements.yml +++ b/requirements.yml @@ -28,7 +28,7 @@ version: v10008-3 name: jitsi - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-ntfy.git - version: v2.11.0-2 + version: v2.11.0-3 name: ntfy - src: git+https://github.com/devture/com.devture.ansible.role.playbook_help.git version: 201c939eed363de269a83ba29784fc3244846048 From 200059e3c6545532a7a0e0fcc7f3c64194cea99b Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Mon, 24 Feb 2025 07:44:05 +0200 Subject: [PATCH 470/841] Upgrade Postgres (v17.2-2 -> v17.2-3) --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 60406765a..8c9cf1d48 100644 --- a/requirements.yml +++ b/requirements.yml @@ -40,7 +40,7 @@ version: ff2fd42e1c1a9e28e3312bbd725395f9c2fc7f16 name: playbook_state_preserver - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-postgres.git - version: v17.2-2 + version: v17.2-3 name: postgres - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-postgres-backup.git version: v17-2 From 400fa61bd0c15a18ca2ee91863160142c75c0e6e Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Mon, 24 Feb 2025 07:45:36 +0200 Subject: [PATCH 471/841] Upgrade postgres-backup (v17-2 -> v17-3) --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 8c9cf1d48..ea9ca298b 100644 --- a/requirements.yml +++ b/requirements.yml @@ -43,7 +43,7 @@ version: v17.2-3 name: postgres - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-postgres-backup.git - version: v17-2 + version: v17-3 name: postgres_backup - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus.git version: v2.55.1-2 From d4bfc268033ca3b85edadfa6de5d5fd77333f482 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Mon, 24 Feb 2025 07:46:55 +0200 Subject: [PATCH 472/841] Upgrade Prometheus (v2.55.1-2 -> v2.55.1-3) --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index ea9ca298b..642a05fbf 100644 --- a/requirements.yml +++ b/requirements.yml @@ -46,7 +46,7 @@ version: v17-3 name: postgres_backup - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus.git - version: v2.55.1-2 + version: v2.55.1-3 name: prometheus - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-node-exporter.git version: v1.8.2-3 From 66746bfa01a8e31fd5cb5cfd22af8b158aaff12a Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Mon, 24 Feb 2025 07:48:55 +0200 Subject: [PATCH 473/841] Upgrade prometheus-node-exporter (v1.8.2-3 -> v1.8.2-4) --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 642a05fbf..0b91e8594 100644 --- a/requirements.yml +++ b/requirements.yml @@ -49,7 +49,7 @@ version: v2.55.1-3 name: prometheus - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-node-exporter.git - version: v1.8.2-3 + version: v1.8.2-4 name: prometheus_node_exporter - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-postgres-exporter.git version: v0.14.0-7 From 620dfa889d9e7882a88201b8c1d32d35c48f27a5 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Mon, 24 Feb 2025 07:52:24 +0200 Subject: [PATCH 474/841] Upgrade prometheus-postgres-exporter (v0.14.0-7 -> v0.14.0-9) --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 0b91e8594..c326102b2 100644 --- a/requirements.yml +++ b/requirements.yml @@ -52,7 +52,7 @@ version: v1.8.2-4 name: prometheus_node_exporter - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-postgres-exporter.git - version: v0.14.0-7 + version: v0.14.0-9 name: prometheus_postgres_exporter - src: git+https://github.com/devture/com.devture.ansible.role.systemd_docker_base.git version: v1.4.0-0 From a97988c7941cd63ebe4a2c6fded6f63ec9d42162 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Mon, 24 Feb 2025 07:53:57 +0200 Subject: [PATCH 475/841] Upgrade prometheus-node-exporter (v1.8.2-4 -> v1.8.2-5) --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index c326102b2..5e68de64b 100644 --- a/requirements.yml +++ b/requirements.yml @@ -49,7 +49,7 @@ version: v2.55.1-3 name: prometheus - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-node-exporter.git - version: v1.8.2-4 + version: v1.8.2-5 name: prometheus_node_exporter - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-postgres-exporter.git version: v0.14.0-9 From ce835c395ffd5c7994936df0174e7003c976fd89 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Mon, 24 Feb 2025 07:55:48 +0200 Subject: [PATCH 476/841] Upgrade Traefik (v3.3.3-3 -> v3.3.3-4) --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 5e68de64b..a4855e666 100644 --- a/requirements.yml +++ b/requirements.yml @@ -64,7 +64,7 @@ version: v1.0.0-0 name: timesync - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-traefik.git - version: v3.3.3-3 + version: v3.3.3-4 name: traefik - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-traefik-certs-dumper.git version: v2.8.3-6 From 6ef6bcdf387c77d2b3fe1e45f1bde9aa014ae0fa Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Mon, 24 Feb 2025 07:57:00 +0200 Subject: [PATCH 477/841] Upgrade traefik-certs-dumper (v2.8.3-6 -> v2.8.3-7) --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index a4855e666..a53ccf2c0 100644 --- a/requirements.yml +++ b/requirements.yml @@ -67,7 +67,7 @@ version: v3.3.3-4 name: traefik - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-traefik-certs-dumper.git - version: v2.8.3-6 + version: v2.8.3-7 name: traefik_certs_dumper - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-valkey.git version: v8.0.1-2 From 11842116b361ce7b13443a4f95d4106dc37166f2 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Mon, 24 Feb 2025 07:58:14 +0200 Subject: [PATCH 478/841] Upgrade Valkey (v8.0.1-2 -> v8.0.1-3) --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index a53ccf2c0..57b5db2d7 100644 --- a/requirements.yml +++ b/requirements.yml @@ -70,5 +70,5 @@ version: v2.8.3-7 name: traefik_certs_dumper - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-valkey.git - version: v8.0.1-2 + version: v8.0.1-3 name: valkey From c47eca389b921243d7befcd7d8083a8abb018913 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Mon, 24 Feb 2025 07:59:37 +0200 Subject: [PATCH 479/841] Rework all roles to include `component_(docker|container)_image_registry_prefix*` variables This: - brings consistency - no more mixing `_name_prefix` and `_registry_prefix` - adds extensibility - a future patch will allow reconfiguring all registry prefixes for all roles in the playbook We still have `_docker_` vs `_container_` inconsistencies. These may be worked on later. --- .../matrix-alertmanager-receiver/defaults/main.yml | 7 ++++--- .../tasks/validate_config.yml | 8 ++++++++ .../defaults/main.yml | 6 ++++-- .../tasks/validate_config.yml | 9 +++++++++ .../defaults/main.yml | 6 ++++-- .../tasks/validate_config.yml | 9 +++++++++ roles/custom/matrix-bot-baibot/defaults/main.yml | 6 ++++-- .../matrix-bot-baibot/tasks/validate_config.yml | 9 +++++++++ .../custom/matrix-bot-buscarron/defaults/main.yml | 6 ++++-- .../matrix-bot-buscarron/tasks/validate_config.yml | 1 + roles/custom/matrix-bot-chatgpt/defaults/main.yml | 7 ++++--- .../matrix-bot-chatgpt/tasks/validate_config.yml | 1 + roles/custom/matrix-bot-draupnir/defaults/main.yml | 6 ++++-- .../matrix-bot-draupnir/tasks/validate_config.yml | 9 +++++++++ roles/custom/matrix-bot-go-neb/defaults/main.yml | 4 +++- roles/custom/matrix-bot-honoroit/defaults/main.yml | 6 ++++-- .../matrix-bot-honoroit/tasks/validate_config.yml | 9 +++++++++ .../defaults/main.yml | 4 +++- .../defaults/main.yml | 6 ++++-- .../tasks/validate_config.yml | 1 + roles/custom/matrix-bot-maubot/defaults/main.yml | 6 ++++-- .../matrix-bot-maubot/tasks/validate_config.yml | 1 + roles/custom/matrix-bot-mjolnir/defaults/main.yml | 6 ++++-- .../matrix-bot-mjolnir/tasks/validate_config.yml | 9 +++++++++ .../defaults/main.yml | 6 ++++-- .../tasks/validate_config.yml | 1 + .../matrix-bridge-appservice-irc/defaults/main.yml | 5 +++-- .../tasks/validate_config.yml | 1 + .../defaults/main.yml | 12 ++++++++---- .../tasks/validate_config.yml | 10 ++++++++++ .../defaults/main.yml | 4 +++- .../defaults/main.yml | 6 ++++-- .../tasks/validate_config.yml | 9 +++++++++ .../defaults/main.yml | 6 ++++-- .../tasks/validate_config.yml | 1 + .../defaults/main.yml | 6 ++++-- .../tasks/validate_config.yml | 9 +++++++++ .../matrix-bridge-heisenbridge/defaults/main.yml | 4 +++- .../matrix-bridge-hookshot/defaults/main.yml | 6 ++++-- .../tasks/validate_config.yml | 1 + .../defaults/main.yml | 6 ++++-- .../tasks/validate_config.yml | 9 +++++++++ .../defaults/main.yml | 6 ++++-- .../tasks/validate_config.yml | 3 ++- .../defaults/main.yml | 6 ++++-- .../tasks/validate_config.yml | 1 + .../defaults/main.yml | 6 ++++-- .../tasks/validate_config.yml | 1 + .../defaults/main.yml | 6 ++++-- .../tasks/validate_config.yml | 9 +++++++++ .../defaults/main.yml | 6 ++++-- .../tasks/validate_config.yml | 9 +++++++++ .../defaults/main.yml | 6 ++++-- .../tasks/validate_config.yml | 3 ++- .../defaults/main.yml | 6 ++++-- .../tasks/validate_config.yml | 3 ++- .../matrix-bridge-mautrix-signal/defaults/main.yml | 6 ++++-- .../tasks/validate_config.yml | 3 ++- .../matrix-bridge-mautrix-slack/defaults/main.yml | 6 ++++-- .../tasks/validate_config.yml | 3 ++- .../defaults/main.yml | 12 ++++++++---- .../tasks/validate_config.yml | 4 +++- .../defaults/main.yml | 6 ++++-- .../tasks/validate_config.yml | 1 + .../defaults/main.yml | 6 ++++-- .../tasks/validate_config.yml | 3 ++- .../defaults/main.yml | 5 ++++- .../defaults/main.yml | 6 ++++-- .../tasks/validate_config.yml | 10 +++++++++- .../defaults/main.yml | 8 +++++--- .../tasks/validate_config.yml | 10 +++++++++- .../defaults/main.yml | 6 ++++-- .../tasks/validate_config.yml | 10 +++++++++- .../defaults/main.yml | 6 ++++-- .../tasks/validate_config.yml | 3 ++- .../defaults/main.yml | 6 ++++-- .../tasks/validate_config.yml | 10 +++++++++- .../defaults/main.yml | 6 ++++-- .../tasks/validate_config.yml | 3 ++- .../matrix-bridge-postmoogle/defaults/main.yml | 6 ++++-- .../tasks/validate_config.yml | 8 ++++++++ roles/custom/matrix-bridge-sms/defaults/main.yml | 4 +++- .../custom/matrix-bridge-wechat/defaults/main.yml | 6 ++++-- .../matrix-bridge-wechat/tasks/validate_config.yml | 8 ++++++++ .../defaults/main.yml | 4 +++- .../matrix-cactus-comments/defaults/main.yml | 4 +++- roles/custom/matrix-client-cinny/defaults/main.yml | 6 ++++-- .../matrix-client-cinny/tasks/validate_config.yml | 8 ++++++++ .../custom/matrix-client-element/defaults/main.yml | 6 ++++-- .../tasks/validate_config.yml | 1 + .../matrix-client-fluffychat/defaults/main.yml | 6 ++++-- .../tasks/validate_config.yml | 8 ++++++++ .../matrix-client-hydrogen/defaults/main.yml | 6 ++++-- .../tasks/validate_config.yml | 8 ++++++++ .../matrix-client-schildichat/defaults/main.yml | 6 ++++-- .../tasks/validate_config.yml | 1 + roles/custom/matrix-conduit/defaults/main.yml | 6 ++++-- .../matrix-conduit/tasks/validate_config.yml | 8 ++++++++ roles/custom/matrix-conduwuit/defaults/main.yml | 5 +++-- roles/custom/matrix-corporal/defaults/main.yml | 6 ++++-- .../matrix-corporal/tasks/validate_config.yml | 1 + roles/custom/matrix-coturn/defaults/main.yml | 6 ++++-- .../custom/matrix-coturn/tasks/validate_config.yml | 1 + roles/custom/matrix-dendrite/defaults/main.yml | 6 ++++-- .../matrix-dendrite/tasks/validate_config.yml | 1 + roles/custom/matrix-dimension/defaults/main.yml | 6 ++++-- .../matrix-dimension/tasks/validate_config.yml | 1 + roles/custom/matrix-dynamic-dns/defaults/main.yml | 6 ++++-- .../matrix-dynamic-dns/tasks/validate_config.yml | 14 +++++++++++--- roles/custom/matrix-email2matrix/defaults/main.yml | 6 ++++-- .../matrix-email2matrix/tasks/validate_config.yml | 8 ++++++++ .../defaults/main.yml | 7 ++++++- roles/custom/matrix-ma1sd/defaults/main.yml | 6 ++++-- .../custom/matrix-ma1sd/tasks/validate_config.yml | 1 + roles/custom/matrix-media-repo/defaults/main.yml | 6 ++++-- .../matrix-media-repo/tasks/validate_config.yml | 1 + roles/custom/matrix-pantalaimon/defaults/main.yml | 6 ++++-- .../matrix-pantalaimon/tasks/validate_config.yml | 10 +++++++++- .../defaults/main.yml | 6 ++++-- .../tasks/validate_config.yml | 1 + roles/custom/matrix-rageshake/defaults/main.yml | 7 ++++--- .../matrix-rageshake/tasks/validate_config.yml | 8 ++++++++ roles/custom/matrix-registration/defaults/main.yml | 6 ++++-- roles/custom/matrix-sliding-sync/defaults/main.yml | 7 ++++--- .../matrix-sliding-sync/tasks/validate_config.yml | 8 ++++++++ roles/custom/matrix-static-files/defaults/main.yml | 4 +++- roles/custom/matrix-sygnal/defaults/main.yml | 4 +++- .../custom/matrix-synapse-admin/defaults/main.yml | 6 ++++-- .../matrix-synapse-admin/tasks/validate_config.yml | 3 ++- .../defaults/main.yml | 6 ++++-- .../tasks/validate_config.yml | 4 +++- .../defaults/main.yml | 4 +++- .../defaults/main.yml | 6 ++++-- .../matrix-synapse-usage-exporter/tasks/main.yml | 3 +++ .../tasks/validate_config.yml | 10 ++++++++++ roles/custom/matrix-synapse/defaults/main.yml | 13 ++++++++----- .../matrix-synapse/tasks/validate_config.yml | 2 ++ .../defaults/main.yml | 5 +++-- 138 files changed, 610 insertions(+), 171 deletions(-) create mode 100644 roles/custom/matrix-synapse-usage-exporter/tasks/validate_config.yml diff --git a/roles/custom/matrix-alertmanager-receiver/defaults/main.yml b/roles/custom/matrix-alertmanager-receiver/defaults/main.yml index 561ca62a2..8dcd3a8f0 100644 --- a/roles/custom/matrix-alertmanager-receiver/defaults/main.yml +++ b/roles/custom/matrix-alertmanager-receiver/defaults/main.yml @@ -25,11 +25,12 @@ matrix_alertmanager_receiver_container_image_self_build_repo: https://github.com matrix_alertmanager_receiver_container_image_self_build_repo_version: "{{ 'main' if matrix_alertmanager_receiver_version == 'main' else matrix_alertmanager_receiver_version }}" matrix_alertmanager_receiver_container_src_path: "{{ matrix_alertmanager_receiver_base_path }}/container-src" -matrix_alertmanager_receiver_container_image: "{{ matrix_alertmanager_receiver_container_image_name_prefix }}metio/matrix-alertmanager-receiver:{{ matrix_alertmanager_receiver_container_image_tag }}" -matrix_alertmanager_receiver_container_image_name_prefix: "{{ 'localhost/' if matrix_alertmanager_receiver_container_image_self_build else matrix_alertmanager_receiver_container_image_registry_prefix }}" +matrix_alertmanager_receiver_container_image: "{{ matrix_alertmanager_receiver_container_image_registry_prefix }}metio/matrix-alertmanager-receiver:{{ matrix_alertmanager_receiver_container_image_tag }}" matrix_alertmanager_receiver_container_image_tag: "{{ matrix_alertmanager_receiver_version }}" matrix_alertmanager_receiver_container_image_force_pull: "{{ matrix_alertmanager_receiver_container_image.endswith(':main') }}" -matrix_alertmanager_receiver_container_image_registry_prefix: docker.io/ +matrix_alertmanager_receiver_container_image_registry_prefix: "{{ matrix_alertmanager_receiver_container_image_registry_prefix_upstream }}" +matrix_alertmanager_receiver_container_image_registry_prefix_upstream: "{{ matrix_alertmanager_receiver_container_image_registry_prefix_upstream_default }}" +matrix_alertmanager_receiver_container_image_registry_prefix_upstream_default: "docker.io/" # The base container network. It will be auto-created by this role if it doesn't exist already. matrix_alertmanager_receiver_container_network: '' diff --git a/roles/custom/matrix-alertmanager-receiver/tasks/validate_config.yml b/roles/custom/matrix-alertmanager-receiver/tasks/validate_config.yml index 83591a956..34878b670 100644 --- a/roles/custom/matrix-alertmanager-receiver/tasks/validate_config.yml +++ b/roles/custom/matrix-alertmanager-receiver/tasks/validate_config.yml @@ -12,3 +12,11 @@ - {'name': 'matrix_alertmanager_receiver_container_network', when: true} - {'name': 'matrix_alertmanager_receiver_metrics_proxying_hostname', when: "{{ matrix_alertmanager_receiver_metrics_proxying_enabled }}"} - {'name': 'matrix_alertmanager_receiver_metrics_proxying_path_prefix', when: "{{ matrix_alertmanager_receiver_metrics_proxying_enabled }}"} + +- name: (Deprecation) Catch and report renamed matrix-alertmanager-receiver variables + ansible.builtin.fail: + msg: >- + The variable `{{ item.old }}` is deprecated. Please use `{{ item.new }}` instead. + when: "item.old in vars" + with_items: + - {'old': 'matrix_alertmanager_receiver_container_image_name_prefix', 'new': 'matrix_alertmanager_receiver_container_image_registry_prefix'} diff --git a/roles/custom/matrix-appservice-draupnir-for-all/defaults/main.yml b/roles/custom/matrix-appservice-draupnir-for-all/defaults/main.yml index 658fd4b66..c7fe4a506 100644 --- a/roles/custom/matrix-appservice-draupnir-for-all/defaults/main.yml +++ b/roles/custom/matrix-appservice-draupnir-for-all/defaults/main.yml @@ -10,8 +10,10 @@ matrix_appservice_draupnir_for_all_version: "v2.1.0" matrix_appservice_draupnir_for_all_container_image_self_build: false matrix_appservice_draupnir_for_all_container_image_self_build_repo: "https://github.com/the-draupnir-project/Draupnir.git" -matrix_appservice_draupnir_for_all_docker_image: "{{ matrix_appservice_draupnir_for_all_docker_image_name_prefix }}gnuxie/draupnir:{{ matrix_appservice_draupnir_for_all_version }}" -matrix_appservice_draupnir_for_all_docker_image_name_prefix: "{{ 'localhost/' if matrix_appservice_draupnir_for_all_container_image_self_build else 'docker.io/' }}" +matrix_appservice_draupnir_for_all_docker_image_registry_prefix: "{{ 'localhost/' if matrix_appservice_draupnir_for_all_container_image_self_build else matrix_appservice_draupnir_for_all_docker_image_registry_prefix_upstream }}" +matrix_appservice_draupnir_for_all_docker_image_registry_prefix_upstream: "{{ matrix_appservice_draupnir_for_all_docker_image_registry_prefix_upstream_default }}" +matrix_appservice_draupnir_for_all_docker_image_registry_prefix_upstream_default: "docker.io/" +matrix_appservice_draupnir_for_all_docker_image: "{{ matrix_appservice_draupnir_for_all_docker_image_registry_prefix }}gnuxie/draupnir:{{ matrix_appservice_draupnir_for_all_version }}" matrix_appservice_draupnir_for_all_docker_image_force_pull: "{{ matrix_appservice_draupnir_for_all_docker_image.endswith(':latest') }}" matrix_appservice_draupnir_for_all_base_path: "{{ matrix_base_data_path }}/draupnir-for-all" diff --git a/roles/custom/matrix-appservice-draupnir-for-all/tasks/validate_config.yml b/roles/custom/matrix-appservice-draupnir-for-all/tasks/validate_config.yml index f0a1daf49..db572635d 100644 --- a/roles/custom/matrix-appservice-draupnir-for-all/tasks/validate_config.yml +++ b/roles/custom/matrix-appservice-draupnir-for-all/tasks/validate_config.yml @@ -7,3 +7,12 @@ - "matrix_appservice_draupnir_for_all_master_control_room_alias" - "matrix_bot_draupnir_container_network" when: "vars[item] == '' or vars[item] is none" + +- name: (Deprecation) Catch and report renamed matrix-appservice-draupnir-for-all settings + ansible.builtin.fail: + msg: >- + Your configuration contains a variable, which now has a different name. + Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + when: "item.old in vars" + with_items: + - {'old': 'matrix_appservice_draupnir_for_all_docker_image_name_prefix', 'new': 'matrix_appservice_draupnir_for_all_docker_image_registry_prefix'} diff --git a/roles/custom/matrix-authentication-service/defaults/main.yml b/roles/custom/matrix-authentication-service/defaults/main.yml index f00cb8eda..4f50ce9dc 100644 --- a/roles/custom/matrix-authentication-service/defaults/main.yml +++ b/roles/custom/matrix-authentication-service/defaults/main.yml @@ -18,8 +18,10 @@ matrix_authentication_service_container_src_files_path: "{{ matrix_base_data_pat # renovate: datasource=docker depName=ghcr.io/element-hq/matrix-authentication-service matrix_authentication_service_version: 0.14.1 -matrix_authentication_service_container_image: "{{ matrix_authentication_service_container_image_name_prefix }}element-hq/matrix-authentication-service:{{ matrix_authentication_service_version }}" -matrix_authentication_service_container_image_name_prefix: "{{ 'localhost/' if matrix_authentication_service_container_image_self_build else 'ghcr.io/' }}" +matrix_authentication_service_container_image_registry_prefix: "{{ 'localhost/' if matrix_authentication_service_container_image_self_build else matrix_authentication_service_container_image_registry_prefix_upstream }}" +matrix_authentication_service_container_image_registry_prefix_upstream: "{{ matrix_authentication_service_container_image_registry_prefix_upstream_default }}" +matrix_authentication_service_container_image_registry_prefix_upstream_default: "ghcr.io/" +matrix_authentication_service_container_image: "{{ matrix_authentication_service_container_image_registry_prefix }}element-hq/matrix-authentication-service:{{ matrix_authentication_service_version }}" matrix_authentication_service_container_image_force_pull: "{{ matrix_authentication_service_container_image.endswith(':latest') }}" matrix_authentication_service_base_path: "{{ matrix_base_data_path }}/matrix-authentication-service" diff --git a/roles/custom/matrix-authentication-service/tasks/validate_config.yml b/roles/custom/matrix-authentication-service/tasks/validate_config.yml index 70cf3662d..7ef8b5a1c 100644 --- a/roles/custom/matrix-authentication-service/tasks/validate_config.yml +++ b/roles/custom/matrix-authentication-service/tasks/validate_config.yml @@ -29,3 +29,12 @@ ansible.builtin.fail: msg: "matrix_authentication_service_config_email_transport must be one of: blackhole, smtp, or aws_ses" when: "matrix_authentication_service_config_email_transport not in ['blackhole', 'smtp', 'aws_ses']" + +- name: (Deprecation) Catch and report renamed matrix-authentication-service settings + ansible.builtin.fail: + msg: >- + Your configuration contains a variable, which now has a different name. + Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + when: "item.old in vars" + with_items: + - {'old': 'matrix_authentication_service_container_image_name_prefix', 'new': 'matrix_authentication_service_container_image_registry_prefix'} diff --git a/roles/custom/matrix-bot-baibot/defaults/main.yml b/roles/custom/matrix-bot-baibot/defaults/main.yml index d3737b2a8..b17a55af3 100644 --- a/roles/custom/matrix-bot-baibot/defaults/main.yml +++ b/roles/custom/matrix-bot-baibot/defaults/main.yml @@ -12,8 +12,10 @@ matrix_bot_baibot_container_src_files_path: "{{ matrix_base_data_path }}/baibot/ # renovate: datasource=docker depName=ghcr.io/etkecc/baibot matrix_bot_baibot_version: v1.4.1 -matrix_bot_baibot_container_image: "{{ matrix_bot_baibot_container_image_name_prefix }}etkecc/baibot:{{ matrix_bot_baibot_version }}" -matrix_bot_baibot_container_image_name_prefix: "{{ 'localhost/' if matrix_bot_baibot_container_image_self_build else 'ghcr.io/' }}" +matrix_bot_baibot_container_image: "{{ matrix_bot_baibot_container_image_registry_prefix }}etkecc/baibot:{{ matrix_bot_baibot_version }}" +matrix_bot_baibot_container_image_registry_prefix: "{{ 'localhost/' if matrix_bot_baibot_container_image_self_build else matrix_bot_baibot_container_image_registry_prefix_upstream }}" +matrix_bot_baibot_container_image_registry_prefix_upstream: "{{ matrix_bot_baibot_container_image_registry_prefix_upstream_default }}" +matrix_bot_baibot_container_image_registry_prefix_upstream_default: "ghcr.io/" matrix_bot_baibot_container_image_force_pull: "{{ matrix_bot_baibot_container_image.endswith(':latest') }}" matrix_bot_baibot_base_path: "{{ matrix_base_data_path }}/baibot" diff --git a/roles/custom/matrix-bot-baibot/tasks/validate_config.yml b/roles/custom/matrix-bot-baibot/tasks/validate_config.yml index 43e4cb8fc..bbf830c1f 100644 --- a/roles/custom/matrix-bot-baibot/tasks/validate_config.yml +++ b/roles/custom/matrix-bot-baibot/tasks/validate_config.yml @@ -26,3 +26,12 @@ msg: >- You need to define a required configuration setting (`matrix_bot_baibot_config_access_admin_patterns`) to specify which users are bot administrators. when: "matrix_bot_baibot_config_access_admin_patterns | length == 0" + +- name: (Deprecation) Catch and report renamed baibot settings + ansible.builtin.fail: + msg: >- + Your configuration contains a variable, which now has a different name. + Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + when: "item.old in vars" + with_items: + - {'old': 'matrix_bot_baibot_container_image_name_prefix', 'new': 'matrix_bot_baibot_container_image_registry_prefix'} diff --git a/roles/custom/matrix-bot-buscarron/defaults/main.yml b/roles/custom/matrix-bot-buscarron/defaults/main.yml index e8e2fa3e9..fd2295d84 100644 --- a/roles/custom/matrix-bot-buscarron/defaults/main.yml +++ b/roles/custom/matrix-bot-buscarron/defaults/main.yml @@ -29,8 +29,10 @@ matrix_bot_buscarron_docker_repo: "https://github.com/etkecc/buscarron.git" matrix_bot_buscarron_docker_repo_version: "{{ matrix_bot_buscarron_version }}" matrix_bot_buscarron_docker_src_files_path: "{{ matrix_base_data_path }}/buscarron/docker-src" -matrix_bot_buscarron_docker_image: "{{ matrix_bot_buscarron_docker_image_name_prefix }}etkecc/buscarron:{{ matrix_bot_buscarron_version }}" -matrix_bot_buscarron_docker_image_name_prefix: "{{ 'localhost/' if matrix_bot_buscarron_container_image_self_build else 'ghcr.io/' }}" +matrix_bot_buscarron_docker_image: "{{ matrix_bot_buscarron_docker_image_registry_prefix }}etkecc/buscarron:{{ matrix_bot_buscarron_version }}" +matrix_bot_buscarron_docker_image_registry_prefix: "{{ 'localhost/' if matrix_bot_buscarron_container_image_self_build else matrix_bot_buscarron_docker_image_registry_prefix_upstream }}" +matrix_bot_buscarron_docker_image_registry_prefix_upstream: "{{ matrix_bot_buscarron_docker_image_registry_prefix_upstream_default }}" +matrix_bot_buscarron_docker_image_registry_prefix_upstream_default: "ghcr.io/" matrix_bot_buscarron_docker_image_force_pull: "{{ matrix_bot_buscarron_docker_image.endswith(':latest') }}" # The base container network. It will be auto-created by this role if it doesn't exist already. diff --git a/roles/custom/matrix-bot-buscarron/tasks/validate_config.yml b/roles/custom/matrix-bot-buscarron/tasks/validate_config.yml index 0e968e55a..e9014ccea 100644 --- a/roles/custom/matrix-bot-buscarron/tasks/validate_config.yml +++ b/roles/custom/matrix-bot-buscarron/tasks/validate_config.yml @@ -10,6 +10,7 @@ - {'old': 'matrix_bot_buscarron_spam_hosts', 'new': ''} - {'old': 'matrix_bot_buscarron_spam_emails', 'new': ''} - {'old': 'matrix_bot_buscarron_spam_localparts', 'new': ''} + - {'old': 'matrix_bot_buscarron_container_image_name_prefix', 'new': 'matrix_bot_buscarron_container_image_registry_prefix'} - name: Fail if required Buscarron settings not defined ansible.builtin.fail: diff --git a/roles/custom/matrix-bot-chatgpt/defaults/main.yml b/roles/custom/matrix-bot-chatgpt/defaults/main.yml index 50ca9c286..3b1c59a88 100644 --- a/roles/custom/matrix-bot-chatgpt/defaults/main.yml +++ b/roles/custom/matrix-bot-chatgpt/defaults/main.yml @@ -11,11 +11,12 @@ matrix_bot_chatgpt_container_image_self_build: false matrix_bot_chatgpt_container_image_self_build_repo: "https://github.com/matrixgpt/matrix-chatgpt-bot" matrix_bot_chatgpt_container_image_self_build_repo_version: "{{ 'main' if matrix_bot_chatgpt_version == 'latest' else matrix_bot_chatgpt_version }}" -matrix_bot_chatgpt_container_image: "{{ matrix_bot_chatgpt_container_image_name_prefix }}matrixgpt/matrix-chatgpt-bot:{{ matrix_bot_chatgpt_container_image_tag }}" -matrix_bot_chatgpt_container_image_name_prefix: "{{ 'localhost/' if matrix_bot_chatgpt_container_image_self_build else matrix_bot_chatgpt_container_image_registry_prefix }}" +matrix_bot_chatgpt_container_image: "{{ matrix_bot_chatgpt_container_image_registry_prefix }}matrixgpt/matrix-chatgpt-bot:{{ matrix_bot_chatgpt_container_image_tag }}" +matrix_bot_chatgpt_container_image_registry_prefix: "{{ 'localhost/' if matrix_bot_chatgpt_container_image_self_build else matrix_bot_chatgpt_container_image_registry_prefix_upstream }}" +matrix_bot_chatgpt_container_image_registry_prefix_upstream: "{{ matrix_bot_chatgpt_container_image_registry_prefix_upstream_default }}" +matrix_bot_chatgpt_container_image_registry_prefix_upstream_default: "ghcr.io/" matrix_bot_chatgpt_container_image_tag: "{{ matrix_bot_chatgpt_version }}" matrix_bot_chatgpt_container_image_force_pull: "{{ matrix_bot_chatgpt_container_image.endswith(':latest') }}" -matrix_bot_chatgpt_container_image_registry_prefix: ghcr.io/ matrix_bot_chatgpt_base_path: "{{ matrix_base_data_path }}/chatgpt" matrix_bot_chatgpt_config_path: "{{ matrix_bot_chatgpt_base_path }}/config" diff --git a/roles/custom/matrix-bot-chatgpt/tasks/validate_config.yml b/roles/custom/matrix-bot-chatgpt/tasks/validate_config.yml index 44f103e01..51797882f 100644 --- a/roles/custom/matrix-bot-chatgpt/tasks/validate_config.yml +++ b/roles/custom/matrix-bot-chatgpt/tasks/validate_config.yml @@ -35,3 +35,4 @@ - {'old': 'matrix_bot_chatgpt_docker_repo', 'new': 'matrix_bot_chatgpt_container_image_self_build_repo'} - {'old': 'matrix_bot_chatgpt_docker_repo_version', 'new': 'matrix_bot_chatgpt_container_image_self_build_repo_version'} - {'old': 'matrix_bot_chatgpt_docker_src_files_path', 'new': 'matrix_bot_chatgpt_container_src_path'} + - {'old': 'matrix_bot_chatgpt_container_image_name_prefix', 'new': 'matrix_bot_chatgpt_container_image_registry_prefix'} diff --git a/roles/custom/matrix-bot-draupnir/defaults/main.yml b/roles/custom/matrix-bot-draupnir/defaults/main.yml index 472da0afa..42fce6812 100644 --- a/roles/custom/matrix-bot-draupnir/defaults/main.yml +++ b/roles/custom/matrix-bot-draupnir/defaults/main.yml @@ -10,8 +10,10 @@ matrix_bot_draupnir_version: "v2.1.0" matrix_bot_draupnir_container_image_self_build: false matrix_bot_draupnir_container_image_self_build_repo: "https://github.com/the-draupnir-project/Draupnir.git" -matrix_bot_draupnir_docker_image: "{{ matrix_bot_draupnir_docker_image_name_prefix }}gnuxie/draupnir:{{ matrix_bot_draupnir_version }}" -matrix_bot_draupnir_docker_image_name_prefix: "{{ 'localhost/' if matrix_bot_draupnir_container_image_self_build else 'docker.io/' }}" +matrix_bot_draupnir_docker_image: "{{ matrix_bot_draupnir_docker_image_registry_prefix }}gnuxie/draupnir:{{ matrix_bot_draupnir_version }}" +matrix_bot_draupnir_docker_image_registry_prefix: "{{ 'localhost/' if matrix_bot_draupnir_container_image_self_build else matrix_bot_draupnir_docker_image_registry_prefix_upstream }}" +matrix_bot_draupnir_docker_image_registry_prefix_upstream: "{{ matrix_bot_draupnir_docker_image_registry_prefix_upstream_default }}" +matrix_bot_draupnir_docker_image_registry_prefix_upstream_default: "docker.io/" matrix_bot_draupnir_docker_image_force_pull: "{{ matrix_bot_draupnir_docker_image.endswith(':latest') }}" matrix_bot_draupnir_base_path: "{{ matrix_base_data_path }}/draupnir" diff --git a/roles/custom/matrix-bot-draupnir/tasks/validate_config.yml b/roles/custom/matrix-bot-draupnir/tasks/validate_config.yml index 20acf748d..b369a5c00 100644 --- a/roles/custom/matrix-bot-draupnir/tasks/validate_config.yml +++ b/roles/custom/matrix-bot-draupnir/tasks/validate_config.yml @@ -35,3 +35,12 @@ "Note: Draupnir does not support running with Pantalaimon as it would break all workflows that involve answering prompts with reactions. To enable E2EE for Draupnir, it is recommended to use matrix_bot_draupnir_enable_experimental_rust_crypto instead. This warning can be disabled by setting matrix_bot_draupnir_pantalaimon_breakage_ignore to true." ] }} + +- name: (Deprecation) Catch and report renamed Draupnir settings + ansible.builtin.fail: + msg: >- + Your configuration contains a variable, which now has a different name. + Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + when: "item.old in vars" + with_items: + - {'old': 'matrix_bot_draupnir_container_image_name_prefix', 'new': 'matrix_bot_draupnir_container_image_registry_prefix'} diff --git a/roles/custom/matrix-bot-go-neb/defaults/main.yml b/roles/custom/matrix-bot-go-neb/defaults/main.yml index fd4bd9bd8..6695f621a 100644 --- a/roles/custom/matrix-bot-go-neb/defaults/main.yml +++ b/roles/custom/matrix-bot-go-neb/defaults/main.yml @@ -28,7 +28,9 @@ matrix_bot_go_neb_data_store_path: "{{ matrix_bot_go_neb_data_path }}/store" matrix_bot_go_neb_container_image: "{{ matrix_bot_go_neb_container_image_registry_prefix }}matrixdotorg/go-neb:{{ matrix_bot_go_neb_container_image_tag }}" matrix_bot_go_neb_container_image_tag: "{{ matrix_bot_go_neb_version }}" matrix_bot_go_neb_container_image_force_pull: "{{ matrix_bot_go_neb_container_image.endswith(':latest') }}" -matrix_bot_go_neb_container_image_registry_prefix: docker.io/ +matrix_bot_go_neb_container_image_registry_prefix: "{{ matrix_bot_go_neb_container_image_registry_prefix_upstream }}" +matrix_bot_go_neb_container_image_registry_prefix_upstream: "{{ matrix_bot_go_neb_container_image_registry_prefix_upstream_default }}" +matrix_bot_go_neb_container_image_registry_prefix_upstream_default: "docker.io/" # The base container network. It will be auto-created by this role if it doesn't exist already. matrix_bot_go_neb_container_network: matrix-bot-go-neb diff --git a/roles/custom/matrix-bot-honoroit/defaults/main.yml b/roles/custom/matrix-bot-honoroit/defaults/main.yml index 5b7720689..dd48cb36f 100644 --- a/roles/custom/matrix-bot-honoroit/defaults/main.yml +++ b/roles/custom/matrix-bot-honoroit/defaults/main.yml @@ -22,8 +22,10 @@ matrix_bot_honoroit_docker_src_files_path: "{{ matrix_base_data_path }}/honoroit # renovate: datasource=docker depName=ghcr.io/etkecc/honoroit matrix_bot_honoroit_version: v0.9.27 -matrix_bot_honoroit_docker_image: "{{ matrix_bot_honoroit_docker_image_name_prefix }}etkecc/honoroit:{{ matrix_bot_honoroit_version }}" -matrix_bot_honoroit_docker_image_name_prefix: "{{ 'localhost/' if matrix_bot_honoroit_container_image_self_build else 'ghcr.io/' }}" +matrix_bot_honoroit_docker_image: "{{ matrix_bot_honoroit_docker_image_registry_prefix }}etkecc/honoroit:{{ matrix_bot_honoroit_version }}" +matrix_bot_honoroit_docker_image_registry_prefix: "{{ 'localhost/' if matrix_bot_honoroit_container_image_self_build else matrix_bot_honoroit_docker_image_registry_prefix_upstream }}" +matrix_bot_honoroit_docker_image_registry_prefix_upstream: "{{ matrix_bot_honoroit_docker_image_registry_prefix_upstream_default }}" +matrix_bot_honoroit_docker_image_registry_prefix_upstream_default: "ghcr.io/" matrix_bot_honoroit_docker_image_force_pull: "{{ matrix_bot_honoroit_docker_image.endswith(':latest') }}" matrix_bot_honoroit_base_path: "{{ matrix_base_data_path }}/honoroit" diff --git a/roles/custom/matrix-bot-honoroit/tasks/validate_config.yml b/roles/custom/matrix-bot-honoroit/tasks/validate_config.yml index afd580c2a..95df51dca 100644 --- a/roles/custom/matrix-bot-honoroit/tasks/validate_config.yml +++ b/roles/custom/matrix-bot-honoroit/tasks/validate_config.yml @@ -10,3 +10,12 @@ - {'name': 'matrix_bot_honoroit_password', when: true} - {'name': 'matrix_bot_honoroit_roomid', when: true} - {'name': 'matrix_bot_honoroit_database_hostname', when: "{{ matrix_bot_honoroit_database_engine == 'postgres' }}"} + +- name: (Deprecation) Catch and report renamed Honoroit settings + ansible.builtin.fail: + msg: >- + Your configuration contains a variable, which now has a different name. + Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + when: "item.old in vars" + with_items: + - {'old': 'matrix_bot_honoroit_container_image_name_prefix', 'new': 'matrix_bot_honoroit_container_image_registry_prefix'} diff --git a/roles/custom/matrix-bot-matrix-registration-bot/defaults/main.yml b/roles/custom/matrix-bot-matrix-registration-bot/defaults/main.yml index d4ab6579f..769e84b60 100644 --- a/roles/custom/matrix-bot-matrix-registration-bot/defaults/main.yml +++ b/roles/custom/matrix-bot-matrix-registration-bot/defaults/main.yml @@ -13,7 +13,9 @@ matrix_bot_matrix_registration_bot_version: 1.3.0 matrix_bot_matrix_registration_bot_docker_iteration: 0 matrix_bot_matrix_registration_bot_docker_tag: "{{ matrix_bot_matrix_registration_bot_version }}-{{ matrix_bot_matrix_registration_bot_docker_iteration}}" matrix_bot_matrix_registration_bot_docker_image: "{{ matrix_bot_matrix_registration_bot_docker_image_registry_prefix }}moanos/matrix-registration-bot:{{ matrix_bot_matrix_registration_bot_docker_tag }}" -matrix_bot_matrix_registration_bot_docker_image_registry_prefix: docker.io/ +matrix_bot_matrix_registration_bot_docker_image_registry_prefix: "{{ 'localhost/' if matrix_bot_matrix_registration_bot_container_image_self_build else matrix_bot_matrix_registration_bot_docker_image_registry_prefix_upstream }}" +matrix_bot_matrix_registration_bot_docker_image_registry_prefix_upstream: "{{ matrix_bot_matrix_registration_bot_docker_image_registry_prefix_upstream_default }}" +matrix_bot_matrix_registration_bot_docker_image_registry_prefix_upstream_default: "docker.io/" matrix_bot_matrix_registration_bot_docker_image_force_pull: "{{ matrix_bot_matrix_registration_bot_docker_image.endswith(':latest') }}" matrix_bot_matrix_registration_bot_base_path: "{{ matrix_base_data_path }}/matrix-registration-bot" diff --git a/roles/custom/matrix-bot-matrix-reminder-bot/defaults/main.yml b/roles/custom/matrix-bot-matrix-reminder-bot/defaults/main.yml index e6074f70a..69d27307e 100644 --- a/roles/custom/matrix-bot-matrix-reminder-bot/defaults/main.yml +++ b/roles/custom/matrix-bot-matrix-reminder-bot/defaults/main.yml @@ -11,8 +11,10 @@ matrix_bot_matrix_reminder_bot_docker_src_files_path: "{{ matrix_base_data_path # renovate: datasource=docker depName=ghcr.io/anoadragon453/matrix-reminder-bot matrix_bot_matrix_reminder_bot_version: v0.3.0 -matrix_bot_matrix_reminder_bot_docker_image: "{{ matrix_bot_matrix_reminder_bot_docker_image_name_prefix }}anoadragon453/matrix-reminder-bot:{{ matrix_bot_matrix_reminder_bot_version }}" -matrix_bot_matrix_reminder_bot_docker_image_name_prefix: "{{ 'localhost/' if matrix_bot_matrix_reminder_bot_container_image_self_build else 'ghcr.io/' }}" +matrix_bot_matrix_reminder_bot_docker_image: "{{ matrix_bot_matrix_reminder_bot_docker_image_registry_prefix }}anoadragon453/matrix-reminder-bot:{{ matrix_bot_matrix_reminder_bot_version }}" +matrix_bot_matrix_reminder_bot_docker_image_registry_prefix: "{{ 'localhost/' if matrix_bot_matrix_reminder_bot_container_image_self_build else matrix_bot_matrix_reminder_bot_docker_image_registry_prefix_upstream }}" +matrix_bot_matrix_reminder_bot_docker_image_registry_prefix_upstream: "{{ matrix_bot_matrix_reminder_bot_docker_image_registry_prefix_upstream_default }}" +matrix_bot_matrix_reminder_bot_docker_image_registry_prefix_upstream_default: "ghcr.io/" matrix_bot_matrix_reminder_bot_docker_image_force_pull: "{{ matrix_bot_matrix_reminder_bot_docker_image.endswith(':latest') }}" matrix_bot_matrix_reminder_bot_base_path: "{{ matrix_base_data_path }}/matrix-reminder-bot" diff --git a/roles/custom/matrix-bot-matrix-reminder-bot/tasks/validate_config.yml b/roles/custom/matrix-bot-matrix-reminder-bot/tasks/validate_config.yml index 072e392bd..96bab685f 100644 --- a/roles/custom/matrix-bot-matrix-reminder-bot/tasks/validate_config.yml +++ b/roles/custom/matrix-bot-matrix-reminder-bot/tasks/validate_config.yml @@ -20,3 +20,4 @@ when: "item.old in vars" with_items: - {'old': 'matrix_bot_matrix_reminder_bot_container_self_build', 'new': 'matrix_bot_matrix_reminder_bot_container_image_self_build'} + - {'old': 'matrix_bot_matrix_reminder_bot_container_image_name_prefix', 'new': 'matrix_bot_matrix_reminder_bot_container_image_registry_prefix'} diff --git a/roles/custom/matrix-bot-maubot/defaults/main.yml b/roles/custom/matrix-bot-maubot/defaults/main.yml index 1ba960dca..976cdc16c 100644 --- a/roles/custom/matrix-bot-maubot/defaults/main.yml +++ b/roles/custom/matrix-bot-maubot/defaults/main.yml @@ -21,8 +21,10 @@ matrix_bot_maubot_docker_repo_version: "{{ 'master' if matrix_bot_maubot_version # renovate: datasource=docker depName=dock.mau.dev/maubot/maubot matrix_bot_maubot_version: v0.5.1 -matrix_bot_maubot_docker_image: "{{ matrix_bot_maubot_docker_image_name_prefix }}maubot/maubot:{{ matrix_bot_maubot_version }}" -matrix_bot_maubot_docker_image_name_prefix: "{{ 'localhost/' if matrix_bot_maubot_container_image_self_build else 'dock.mau.dev/' }}" +matrix_bot_maubot_docker_image: "{{ matrix_bot_maubot_docker_image_registry_prefix }}maubot/maubot:{{ matrix_bot_maubot_version }}" +matrix_bot_maubot_docker_image_registry_prefix: "{{ 'localhost/' if matrix_bot_maubot_container_image_self_build else matrix_bot_maubot_docker_image_registry_prefix_upstream }}" +matrix_bot_maubot_docker_image_registry_prefix_upstream: "{{ matrix_bot_maubot_docker_image_registry_prefix_upstream_default }}" +matrix_bot_maubot_docker_image_registry_prefix_upstream_default: "dock.mau.dev/" matrix_bot_maubot_docker_image_force_pull: "{{ matrix_bot_maubot_docker_image.endswith(':latest') }}" # matrix_bot_maubot_docker_image_customized is the name of the locally built maubot image diff --git a/roles/custom/matrix-bot-maubot/tasks/validate_config.yml b/roles/custom/matrix-bot-maubot/tasks/validate_config.yml index 297cec952..29409f7b8 100644 --- a/roles/custom/matrix-bot-maubot/tasks/validate_config.yml +++ b/roles/custom/matrix-bot-maubot/tasks/validate_config.yml @@ -10,6 +10,7 @@ - {'old': 'matrix_bot_maubot_management_interface_port', 'new': 'matrix_bot_maubot_server_port'} - {'old': 'matrix_bot_maubot_management_interface_http_bind_port', 'new': 'matrix_bot_maubot_container_management_interface_http_bind_port'} - {'old': 'matrix_bot_maubot_registration_shared_secret', 'new': 'matrix_bot_maubot_homeserver_secret'} + - {'old': 'matrix_bot_maubot_container_image_name_prefix', 'new': 'matrix_bot_maubot_container_image_registry_prefix'} - name: Fail if required maubot settings not defined ansible.builtin.fail: diff --git a/roles/custom/matrix-bot-mjolnir/defaults/main.yml b/roles/custom/matrix-bot-mjolnir/defaults/main.yml index 149818653..25a958631 100644 --- a/roles/custom/matrix-bot-mjolnir/defaults/main.yml +++ b/roles/custom/matrix-bot-mjolnir/defaults/main.yml @@ -10,8 +10,10 @@ matrix_bot_mjolnir_version: "v1.9.2" matrix_bot_mjolnir_container_image_self_build: false matrix_bot_mjolnir_container_image_self_build_repo: "https://github.com/matrix-org/mjolnir.git" -matrix_bot_mjolnir_docker_image: "{{ matrix_bot_mjolnir_docker_image_name_prefix }}matrixdotorg/mjolnir:{{ matrix_bot_mjolnir_version }}" -matrix_bot_mjolnir_docker_image_name_prefix: "{{ 'localhost/' if matrix_bot_mjolnir_container_image_self_build else 'docker.io/' }}" +matrix_bot_mjolnir_docker_image: "{{ matrix_bot_mjolnir_docker_image_registry_prefix }}matrixdotorg/mjolnir:{{ matrix_bot_mjolnir_version }}" +matrix_bot_mjolnir_docker_image_registry_prefix: "{{ 'localhost/' if matrix_bot_mjolnir_container_image_self_build else matrix_bot_mjolnir_docker_image_registry_prefix_upstream }}" +matrix_bot_mjolnir_docker_image_registry_prefix_upstream: "{{ matrix_bot_mjolnir_docker_image_registry_prefix_upstream_default }}" +matrix_bot_mjolnir_docker_image_registry_prefix_upstream_default: "docker.io/" matrix_bot_mjolnir_docker_image_force_pull: "{{ matrix_bot_mjolnir_docker_image.endswith(':latest') }}" matrix_bot_mjolnir_base_path: "{{ matrix_base_data_path }}/mjolnir" diff --git a/roles/custom/matrix-bot-mjolnir/tasks/validate_config.yml b/roles/custom/matrix-bot-mjolnir/tasks/validate_config.yml index 7fd67e589..8788609a1 100644 --- a/roles/custom/matrix-bot-mjolnir/tasks/validate_config.yml +++ b/roles/custom/matrix-bot-mjolnir/tasks/validate_config.yml @@ -19,3 +19,12 @@ with_items: - {'name': 'matrix_bot_mjolnir_access_token', when: "{{ matrix_bot_mjolnir_pantalaimon_use }}"} when: "item.when | bool and not (vars[item.name] == '' or vars[item.name] is none)" + +- name: (Deprecation) Catch and report renamed Mjolnir settings + ansible.builtin.fail: + msg: >- + Your configuration contains a variable, which now has a different name. + Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + when: "item.old in vars" + with_items: + - {'old': 'matrix_bot_mjolnir_container_image_name_prefix', 'new': 'matrix_bot_mjolnir_container_image_registry_prefix'} diff --git a/roles/custom/matrix-bridge-appservice-discord/defaults/main.yml b/roles/custom/matrix-bridge-appservice-discord/defaults/main.yml index 64b2d7db8..8fa789f38 100644 --- a/roles/custom/matrix-bridge-appservice-discord/defaults/main.yml +++ b/roles/custom/matrix-bridge-appservice-discord/defaults/main.yml @@ -7,8 +7,10 @@ matrix_appservice_discord_container_image_self_build: false # renovate: datasource=docker depName=ghcr.io/matrix-org/matrix-appservice-discord matrix_appservice_discord_version: v4.0.0 -matrix_appservice_discord_docker_image: "{{ matrix_appservice_discord_docker_image_name_prefix }}matrix-org/matrix-appservice-discord:{{ matrix_appservice_discord_version }}" -matrix_appservice_discord_docker_image_name_prefix: "{{ 'localhost/' if matrix_appservice_discord_container_image_self_build else 'ghcr.io/' }}" +matrix_appservice_discord_docker_image: "{{ matrix_appservice_discord_docker_image_registry_prefix }}matrix-org/matrix-appservice-discord:{{ matrix_appservice_discord_version }}" +matrix_appservice_discord_docker_image_registry_prefix: "{{ 'localhost/' if matrix_appservice_discord_container_image_self_build else matrix_appservice_discord_docker_image_registry_prefix_upstream }}" +matrix_appservice_discord_docker_image_registry_prefix_upstream: "{{ matrix_appservice_discord_docker_image_registry_prefix_upstream_default }}" +matrix_appservice_discord_docker_image_registry_prefix_upstream_default: "ghcr.io/" matrix_appservice_discord_docker_image_force_pull: "{{ matrix_appservice_discord_docker_image.endswith(':latest') }}" matrix_appservice_discord_base_path: "{{ matrix_base_data_path }}/appservice-discord" diff --git a/roles/custom/matrix-bridge-appservice-discord/tasks/validate_config.yml b/roles/custom/matrix-bridge-appservice-discord/tasks/validate_config.yml index 8b9d1d160..033a8b337 100644 --- a/roles/custom/matrix-bridge-appservice-discord/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-appservice-discord/tasks/validate_config.yml @@ -22,6 +22,7 @@ when: "item.old in vars" with_items: - {'old': 'matrix_appservice_discord_container_expose_client_server_api_port', 'new': ''} + - {'old': 'matrix_appservice_discord_container_image_name_prefix', 'new': 'matrix_appservice_discord_docker_image_registry_prefix'} - name: Require a valid database engine ansible.builtin.fail: diff --git a/roles/custom/matrix-bridge-appservice-irc/defaults/main.yml b/roles/custom/matrix-bridge-appservice-irc/defaults/main.yml index 534cac9f0..22f166857 100644 --- a/roles/custom/matrix-bridge-appservice-irc/defaults/main.yml +++ b/roles/custom/matrix-bridge-appservice-irc/defaults/main.yml @@ -14,10 +14,11 @@ matrix_appservice_irc_docker_src_files_path: "{{ matrix_base_data_path }}/appser # renovate: datasource=docker depName=docker.io/matrixdotorg/matrix-appservice-irc matrix_appservice_irc_version: 1.0.1 matrix_appservice_irc_docker_image: "{{ matrix_appservice_irc_docker_image_registry_prefix }}matrixdotorg/matrix-appservice-irc:{{ matrix_appservice_irc_docker_image_tag }}" -matrix_appservice_irc_docker_image_registry_prefix: docker.io/ +matrix_appservice_irc_docker_image_registry_prefix: "{{ 'localhost/' if matrix_appservice_irc_container_image_self_build else matrix_appservice_irc_docker_image_registry_prefix_upstream }}" +matrix_appservice_irc_docker_image_registry_prefix_upstream: "{{ matrix_appservice_irc_docker_image_registry_prefix_upstream_default }}" +matrix_appservice_irc_docker_image_registry_prefix_upstream_default: docker.io/ matrix_appservice_irc_docker_image_tag: "{{ 'latest' if matrix_appservice_irc_version == 'latest' else ('release-' + matrix_appservice_irc_version) }}" matrix_appservice_irc_docker_image_force_pull: "{{ matrix_appservice_irc_docker_image.endswith(':latest') }}" -matrix_appservice_irc_docker_image_name_prefix: "{{ 'localhost/' if matrix_appservice_irc_container_image_self_build else 'docker.io/' }}" matrix_appservice_irc_base_path: "{{ matrix_base_data_path }}/appservice-irc" matrix_appservice_irc_config_path: "{{ matrix_appservice_irc_base_path }}/config" diff --git a/roles/custom/matrix-bridge-appservice-irc/tasks/validate_config.yml b/roles/custom/matrix-bridge-appservice-irc/tasks/validate_config.yml index 5d76def1b..f8dcf76ab 100644 --- a/roles/custom/matrix-bridge-appservice-irc/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-appservice-irc/tasks/validate_config.yml @@ -37,3 +37,4 @@ with_items: - {'old': 'matrix_appservice_irc_container_expose_client_server_api_port', 'new': ''} - {'old': 'matrix_appservice_irc_container_self_build', 'new': 'matrix_appservice_irc_container_image_self_build'} + - {'old': 'matrix_appservice_irc_docker_image_name_prefix', 'new': 'matrix_appservice_irc_docker_image_registry_prefix'} diff --git a/roles/custom/matrix-bridge-appservice-kakaotalk/defaults/main.yml b/roles/custom/matrix-bridge-appservice-kakaotalk/defaults/main.yml index 09d6daa2b..1f628eef4 100644 --- a/roles/custom/matrix-bridge-appservice-kakaotalk/defaults/main.yml +++ b/roles/custom/matrix-bridge-appservice-kakaotalk/defaults/main.yml @@ -29,13 +29,17 @@ matrix_appservice_kakaotalk_container_image_self_build_repo: "https://src.miscwo matrix_appservice_kakaotalk_container_image_self_build_repo_version: "{{ 'master' if matrix_appservice_kakaotalk_version == 'latest' else matrix_appservice_kakaotalk_version }}" matrix_appservice_kakaotalk_node_version: "{{ matrix_appservice_kakaotalk_version }}" -matrix_appservice_kakaotalk_node_docker_image: "{{ matrix_appservice_kakaotalk_node_docker_image_prefix }}fair/matrix-appservice-kakaotalk-node:{{ matrix_appservice_kakaotalk_node_version }}" -matrix_appservice_kakaotalk_node_docker_image_prefix: "localhost/" +matrix_appservice_kakaotalk_node_docker_image: "{{ matrix_appservice_kakaotalk_node_docker_image_registry_prefix }}fair/matrix-appservice-kakaotalk-node:{{ matrix_appservice_kakaotalk_node_version }}" +matrix_appservice_kakaotalk_node_docker_image_registry_prefix: "{{ 'localhost/' if matrix_appservice_kakaotalk_container_image_self_build else matrix_appservice_kakaotalk_node_docker_image_registry_prefix_upstream }}" +matrix_appservice_kakaotalk_node_docker_image_registry_prefix_upstream: "{{ matrix_appservice_kakaotalk_node_docker_image_registry_prefix_upstream_default }}" +matrix_appservice_kakaotalk_node_docker_image_registry_prefix_upstream_default: "" matrix_appservice_kakaotalk_node_docker_image_force_pull: "{{ matrix_appservice_kakaotalk_node_docker_image.endswith(':latest') }}" matrix_appservice_kakaotalk_version: 86c038fd2ffee5e0aebf65136f085cce7e38b54e -matrix_appservice_kakaotalk_docker_image: "{{ matrix_appservice_kakaotalk_docker_image_name_prefix }}fair/matrix-appservice-kakaotalk:{{ matrix_appservice_kakaotalk_version }}" -matrix_appservice_kakaotalk_docker_image_name_prefix: "localhost/" +matrix_appservice_kakaotalk_docker_image: "{{ matrix_appservice_kakaotalk_docker_image_registry_prefix }}fair/matrix-appservice-kakaotalk:{{ matrix_appservice_kakaotalk_version }}" +matrix_appservice_kakaotalk_docker_image_registry_prefix: "{{ 'localhost/' if matrix_appservice_kakaotalk_container_image_self_build else matrix_appservice_kakaotalk_docker_image_registry_prefix_upstream }}" +matrix_appservice_kakaotalk_docker_image_registry_prefix_upstream: "{{ matrix_appservice_kakaotalk_docker_image_registry_prefix_upstream_default }}" +matrix_appservice_kakaotalk_docker_image_registry_prefix_upstream_default: "" matrix_appservice_kakaotalk_docker_image_force_pull: "{{ matrix_appservice_kakaotalk_docker_image.endswith(':latest') }}" matrix_appservice_kakaotalk_base_path: "{{ matrix_base_data_path }}/appservice-kakaotalk" diff --git a/roles/custom/matrix-bridge-appservice-kakaotalk/tasks/validate_config.yml b/roles/custom/matrix-bridge-appservice-kakaotalk/tasks/validate_config.yml index bcb670146..20da0206e 100644 --- a/roles/custom/matrix-bridge-appservice-kakaotalk/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-appservice-kakaotalk/tasks/validate_config.yml @@ -11,3 +11,13 @@ - {'name': 'matrix_appservice_kakaotalk_homeserver_token', when: true} - {'name': 'matrix_appservice_kakaotalk_database_hostname', when: "{{ matrix_appservice_kakaotalk_database_engine == 'postgres' }}"} - {'name': 'matrix_appservice_kakaotalk_container_network', when: true} + +- name: (Deprecation) Catch and report renamed appservice-kakaotalk variables + ansible.builtin.fail: + msg: >- + Your configuration contains a variable, which now has a different name. + Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + when: "item.old in vars" + with_items: + - {'old': 'matrix_appservice_kakaotalk_node_docker_image_name_prefix', 'new': 'matrix_appservice_kakaotalk_node_docker_image_registry_prefix'} + - {'old': 'matrix_appservice_kakaotalk_docker_image_name_prefix', 'new': 'matrix_appservice_kakaotalk_docker_image_registry_prefix'} diff --git a/roles/custom/matrix-bridge-appservice-slack/defaults/main.yml b/roles/custom/matrix-bridge-appservice-slack/defaults/main.yml index 195106cee..abc875cc2 100644 --- a/roles/custom/matrix-bridge-appservice-slack/defaults/main.yml +++ b/roles/custom/matrix-bridge-appservice-slack/defaults/main.yml @@ -18,7 +18,9 @@ matrix_appservice_slack_docker_src_files_path: "{{ matrix_base_data_path }}/apps # renovate: datasource=docker depName=docker.io/matrixdotorg/matrix-appservice-slack matrix_appservice_slack_version: 2.1.2 matrix_appservice_slack_docker_image: "{{ matrix_appservice_slack_docker_image_registry_prefix }}matrixdotorg/matrix-appservice-slack:{{ matrix_appservice_slack_docker_image_tag }}" -matrix_appservice_slack_docker_image_registry_prefix: docker.io/ +matrix_appservice_slack_docker_image_registry_prefix: "{{ 'localhost/' if matrix_appservice_slack_container_image_self_build else matrix_appservice_slack_docker_image_registry_prefix_upstream }}" +matrix_appservice_slack_docker_image_registry_prefix_upstream: "{{ matrix_appservice_slack_docker_image_registry_prefix_upstream_default }}" +matrix_appservice_slack_docker_image_registry_prefix_upstream_default: "docker.io/" matrix_appservice_slack_docker_image_tag: "{{ 'latest' if matrix_appservice_slack_version == 'latest' else ('release-' + matrix_appservice_slack_version) }}" matrix_appservice_slack_docker_image_force_pull: "{{ matrix_appservice_slack_docker_image.endswith(':latest') }}" diff --git a/roles/custom/matrix-bridge-appservice-webhooks/defaults/main.yml b/roles/custom/matrix-bridge-appservice-webhooks/defaults/main.yml index 226c893d0..2a46e2a14 100644 --- a/roles/custom/matrix-bridge-appservice-webhooks/defaults/main.yml +++ b/roles/custom/matrix-bridge-appservice-webhooks/defaults/main.yml @@ -14,8 +14,10 @@ matrix_appservice_webhooks_container_image_self_build_repo_version: "{{ 'master' matrix_appservice_webhooks_container_image_self_build_repo_dockerfile_path: "Dockerfile" matrix_appservice_webhooks_version: v1.0.3-01 -matrix_appservice_webhooks_docker_image: "{{ matrix_appservice_webhooks_docker_image_name_prefix }}redoonetworks/matrix-appservice-webhooks:{{ matrix_appservice_webhooks_version }}" -matrix_appservice_webhooks_docker_image_name_prefix: "{{ 'localhost/' if matrix_appservice_webhooks_container_image_self_build else 'docker.io/' }}" +matrix_appservice_webhooks_docker_image: "{{ matrix_appservice_webhooks_docker_image_registry_prefix }}redoonetworks/matrix-appservice-webhooks:{{ matrix_appservice_webhooks_version }}" +matrix_appservice_webhooks_docker_image_registry_prefix: "{{ 'localhost/' if matrix_appservice_webhooks_container_image_self_build else matrix_appservice_webhooks_docker_image_registry_prefix_upstream }}" +matrix_appservice_webhooks_docker_image_registry_prefix_upstream: "{{ matrix_appservice_webhooks_docker_image_registry_prefix_upstream_default }}" +matrix_appservice_webhooks_docker_image_registry_prefix_upstream_default: "docker.io/" matrix_appservice_webhooks_docker_image_force_pull: "{{ matrix_appservice_webhooks_docker_image.endswith(':latest') }}" matrix_appservice_webhooks_base_path: "{{ matrix_base_data_path }}/appservice-webhooks" diff --git a/roles/custom/matrix-bridge-appservice-webhooks/tasks/validate_config.yml b/roles/custom/matrix-bridge-appservice-webhooks/tasks/validate_config.yml index fa8a75fc2..0a8bee983 100644 --- a/roles/custom/matrix-bridge-appservice-webhooks/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-appservice-webhooks/tasks/validate_config.yml @@ -14,3 +14,12 @@ - matrix_appservice_webhooks_container_network - matrix_appservice_webhooks_hostname - matrix_appservice_webhooks_path_prefix + +- name: (Deprecation) Catch and report renamed appservice-webhooks variables + ansible.builtin.fail: + msg: >- + Your configuration contains a variable, which now has a different name. + Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + when: "item.old in vars" + with_items: + - {'old': 'matrix_appservice_webhooks_docker_image_name_prefix', 'new': 'matrix_appservice_webhooks_docker_image_registry_prefix'} diff --git a/roles/custom/matrix-bridge-beeper-linkedin/defaults/main.yml b/roles/custom/matrix-bridge-beeper-linkedin/defaults/main.yml index fcba1e9b6..873e9be95 100644 --- a/roles/custom/matrix-bridge-beeper-linkedin/defaults/main.yml +++ b/roles/custom/matrix-bridge-beeper-linkedin/defaults/main.yml @@ -8,9 +8,11 @@ matrix_beeper_linkedin_enabled: true matrix_beeper_linkedin_version: latest # See: https://github.com/beeper/linkedin/pkgs/container/linkedin -matrix_beeper_linkedin_docker_image: "{{ matrix_beeper_linkedin_docker_image_name_prefix }}beeper/linkedin:{{ matrix_beeper_linkedin_docker_image_tag }}" +matrix_beeper_linkedin_docker_image: "{{ matrix_beeper_linkedin_docker_image_registry_prefix }}beeper/linkedin:{{ matrix_beeper_linkedin_docker_image_tag }}" matrix_beeper_linkedin_docker_image_force_pull: "{{ matrix_beeper_linkedin_docker_image_tag.startswith('latest') }}" -matrix_beeper_linkedin_docker_image_name_prefix: "{{ 'localhost/' if matrix_beeper_linkedin_container_image_self_build else 'ghcr.io/' }}" +matrix_beeper_linkedin_docker_image_registry_prefix: "{{ 'localhost/' if matrix_beeper_linkedin_container_image_self_build else matrix_beeper_linkedin_docker_image_registry_prefix_upstream }}" +matrix_beeper_linkedin_docker_image_registry_prefix_upstream: "{{ matrix_beeper_linkedin_docker_image_registry_prefix_upstream_default }}" +matrix_beeper_linkedin_docker_image_registry_prefix_upstream_default: "ghcr.io/" matrix_beeper_linkedin_docker_image_tag: "{{ 'latest' if matrix_beeper_linkedin_version == 'master' else matrix_beeper_linkedin_version }}" matrix_beeper_linkedin_container_image_self_build: false diff --git a/roles/custom/matrix-bridge-beeper-linkedin/tasks/validate_config.yml b/roles/custom/matrix-bridge-beeper-linkedin/tasks/validate_config.yml index cbf77eb71..dc87a45e7 100644 --- a/roles/custom/matrix-bridge-beeper-linkedin/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-beeper-linkedin/tasks/validate_config.yml @@ -20,3 +20,4 @@ when: "item.old in vars" with_items: - {'old': 'matrix_beeper_linkedin_login_shared_secret', 'new': ''} + - {'old': 'matrix_beeper_linkedin_docker_image_name_prefix', 'new': 'matrix_beeper_linkedin_docker_image_registry_prefix'} diff --git a/roles/custom/matrix-bridge-go-skype-bridge/defaults/main.yml b/roles/custom/matrix-bridge-go-skype-bridge/defaults/main.yml index 7b8b8c732..de0e0ed7d 100644 --- a/roles/custom/matrix-bridge-go-skype-bridge/defaults/main.yml +++ b/roles/custom/matrix-bridge-go-skype-bridge/defaults/main.yml @@ -10,8 +10,10 @@ matrix_go_skype_bridge_container_image_self_build_branch: "{{ 'master' if matrix # renovate: datasource=docker depName=nodefyme/go-skype-bridge matrix_go_skype_bridge_version: latest -matrix_go_skype_bridge_docker_image: "{{ matrix_go_skype_bridge_docker_image_name_prefix }}nodefyme/go-skype-bridge:{{ matrix_go_skype_bridge_version }}" -matrix_go_skype_bridge_docker_image_name_prefix: "{{ 'localhost/' if matrix_go_skype_bridge_container_image_self_build else 'docker.io/' }}" +matrix_go_skype_bridge_docker_image: "{{ matrix_go_skype_bridge_docker_image_registry_prefix }}nodefyme/go-skype-bridge:{{ matrix_go_skype_bridge_version }}" +matrix_go_skype_bridge_docker_image_registry_prefix: "{{ 'localhost/' if matrix_go_skype_bridge_container_image_self_build else matrix_go_skype_bridge_docker_image_registry_prefix_upstream }}" +matrix_go_skype_bridge_docker_image_registry_prefix_upstream: "{{ matrix_go_skype_bridge_docker_image_registry_prefix_upstream_default }}" +matrix_go_skype_bridge_docker_image_registry_prefix_upstream_default: "docker.io/" matrix_go_skype_bridge_docker_image_force_pull: "{{ matrix_go_skype_bridge_docker_image.endswith(':latest') }}" matrix_go_skype_bridge_base_path: "{{ matrix_base_data_path }}/go-skype-bridge" diff --git a/roles/custom/matrix-bridge-go-skype-bridge/tasks/validate_config.yml b/roles/custom/matrix-bridge-go-skype-bridge/tasks/validate_config.yml index 9afe48f6e..7c3f00a18 100644 --- a/roles/custom/matrix-bridge-go-skype-bridge/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-go-skype-bridge/tasks/validate_config.yml @@ -11,3 +11,12 @@ - {'name': 'matrix_go_skype_bridge_homeserver_token', when: true} - {'name': 'matrix_go_skype_bridge_database_hostname', when: "{{ matrix_go_skype_bridge_database_engine == 'postgres' }}"} - {'name': 'matrix_go_skype_bridge_container_network', when: true} + +- name: (Deprecation) Catch and report renamed go-skype-bridge variables + ansible.builtin.fail: + msg: >- + Your configuration contains a variable, which now has a different name. + Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + when: "item.old in vars" + with_items: + - {'old': 'matrix_go_skype_bridge_docker_image_name_prefix', 'new': 'matrix_go_skype_bridge_docker_image_registry_prefix'} diff --git a/roles/custom/matrix-bridge-heisenbridge/defaults/main.yml b/roles/custom/matrix-bridge-heisenbridge/defaults/main.yml index a6a34c444..c39c20c68 100644 --- a/roles/custom/matrix-bridge-heisenbridge/defaults/main.yml +++ b/roles/custom/matrix-bridge-heisenbridge/defaults/main.yml @@ -11,7 +11,9 @@ matrix_heisenbridge_path_prefix: "/heisenbridge" # renovate: datasource=docker depName=hif1/heisenbridge matrix_heisenbridge_version: 1.15.0 matrix_heisenbridge_docker_image: "{{ matrix_heisenbridge_docker_image_registry_prefix }}hif1/heisenbridge:{{ matrix_heisenbridge_version }}" -matrix_heisenbridge_docker_image_registry_prefix: docker.io/ +matrix_heisenbridge_docker_image_registry_prefix: "{{ matrix_heisenbridge_docker_image_registry_prefix_upstream }}" +matrix_heisenbridge_docker_image_registry_prefix_upstream: "{{ matrix_heisenbridge_docker_image_registry_prefix_upstream_default }}" +matrix_heisenbridge_docker_image_registry_prefix_upstream_default: "docker.io/" matrix_heisenbridge_docker_image_force_pull: "{{ matrix_heisenbridge_docker_image.endswith(':latest') }}" # Set this to your Matrix ID if you want to enforce the owner, otherwise first _local_ user becomes one diff --git a/roles/custom/matrix-bridge-hookshot/defaults/main.yml b/roles/custom/matrix-bridge-hookshot/defaults/main.yml index f4538e143..5483890ec 100644 --- a/roles/custom/matrix-bridge-hookshot/defaults/main.yml +++ b/roles/custom/matrix-bridge-hookshot/defaults/main.yml @@ -19,8 +19,10 @@ matrix_hookshot_container_additional_networks_custom: [] # renovate: datasource=docker depName=halfshot/matrix-hookshot matrix_hookshot_version: 6.0.2 -matrix_hookshot_docker_image: "{{ matrix_hookshot_docker_image_name_prefix }}matrix-org/matrix-hookshot:{{ matrix_hookshot_version }}" -matrix_hookshot_docker_image_name_prefix: "{{ 'localhost/' if matrix_hookshot_container_image_self_build else 'ghcr.io/' }}" +matrix_hookshot_docker_image: "{{ matrix_hookshot_docker_image_registry_prefix }}matrix-org/matrix-hookshot:{{ matrix_hookshot_version }}" +matrix_hookshot_docker_image_registry_prefix: "{{ 'localhost/' if matrix_hookshot_container_image_self_build else matrix_hookshot_docker_image_registry_prefix_upstream }}" +matrix_hookshot_docker_image_registry_prefix_upstream: "{{ matrix_hookshot_docker_image_registry_prefix_upstream_default }}" +matrix_hookshot_docker_image_registry_prefix_upstream_default: "ghcr.io/" matrix_hookshot_docker_image_force_pull: "{{ matrix_hookshot_docker_image.endswith(':latest') }}" matrix_hookshot_base_path: "{{ matrix_base_data_path }}/hookshot" diff --git a/roles/custom/matrix-bridge-hookshot/tasks/validate_config.yml b/roles/custom/matrix-bridge-hookshot/tasks/validate_config.yml index de961c186..760fd8048 100644 --- a/roles/custom/matrix-bridge-hookshot/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-hookshot/tasks/validate_config.yml @@ -32,6 +32,7 @@ - {'old': 'matrix_hookshot_queue_host', 'new': 'matrix_hookshot_cache_redis_host'} - {'old': 'matrix_hookshot_queue_port', 'new': 'matrix_hookshot_cache_redis_port'} - {'old': 'matrix_hookshot_experimental_encryption_enabled', 'new': 'matrix_hookshot_encryption_enabled'} + - {'old': 'matrix_hookshot_docker_image_name_prefix', 'new': 'matrix_hookshot_docker_image_registry_prefix'} - name: Fail if required Hookshot settings not defined ansible.builtin.fail: diff --git a/roles/custom/matrix-bridge-mautrix-bluesky/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-bluesky/defaults/main.yml index 1d159496b..2fb7c44f2 100644 --- a/roles/custom/matrix-bridge-mautrix-bluesky/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-bluesky/defaults/main.yml @@ -11,8 +11,10 @@ matrix_mautrix_bluesky_container_image_self_build_repo_version: "{{ 'master' if # renovate: datasource=docker depName=dock.mau.dev/mautrix/bluesky matrix_mautrix_bluesky_version: v0.1.0 # See: https://mau.dev/tulir/mautrix-bluesky/container_registry -matrix_mautrix_bluesky_docker_image: "{{ matrix_mautrix_bluesky_docker_image_name_prefix }}mautrix/bluesky:{{ matrix_mautrix_bluesky_version }}" -matrix_mautrix_bluesky_docker_image_name_prefix: "{{ 'localhost/' if matrix_mautrix_bluesky_container_image_self_build else 'dock.mau.dev/' }}" +matrix_mautrix_bluesky_docker_image: "{{ matrix_mautrix_bluesky_docker_image_registry_prefix }}mautrix/bluesky:{{ matrix_mautrix_bluesky_version }}" +matrix_mautrix_bluesky_docker_image_registry_prefix: "{{ 'localhost/' if matrix_mautrix_bluesky_container_image_self_build else matrix_mautrix_bluesky_docker_image_registry_prefix_upstream }}" +matrix_mautrix_bluesky_docker_image_registry_prefix_upstream: "{{ matrix_mautrix_bluesky_docker_image_registry_prefix_upstream_default }}" +matrix_mautrix_bluesky_docker_image_registry_prefix_upstream_default: "dock.mau.dev/" matrix_mautrix_bluesky_docker_image_force_pull: "{{ matrix_mautrix_bluesky_docker_image.endswith(':latest') }}" matrix_mautrix_bluesky_base_path: "{{ matrix_base_data_path }}/mautrix-bluesky" diff --git a/roles/custom/matrix-bridge-mautrix-bluesky/tasks/validate_config.yml b/roles/custom/matrix-bridge-mautrix-bluesky/tasks/validate_config.yml index acd3c30cd..23e433d33 100644 --- a/roles/custom/matrix-bridge-mautrix-bluesky/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mautrix-bluesky/tasks/validate_config.yml @@ -13,3 +13,12 @@ - {'name': 'matrix_mautrix_bluesky_container_network', when: true} - {'name': 'matrix_mautrix_bluesky_metrics_proxying_hostname', when: "{{ matrix_mautrix_bluesky_metrics_proxying_enabled }}"} - {'name': 'matrix_mautrix_bluesky_metrics_proxying_path_prefix', when: "{{ matrix_mautrix_bluesky_metrics_proxying_enabled }}"} + +- name: (Deprecation) Catch and report renamed mautrix-bluesky variables + ansible.builtin.fail: + msg: >- + Your configuration contains a variable, which now has a different name. + Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + when: "item.old in vars" + with_items: + - {'old': 'matrix_mautrix_bluesky_docker_image_name_prefix', 'new': 'matrix_mautrix_bluesky_docker_image_registry_prefix'} diff --git a/roles/custom/matrix-bridge-mautrix-discord/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-discord/defaults/main.yml index 63a40c07f..b6486ed0c 100644 --- a/roles/custom/matrix-bridge-mautrix-discord/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-discord/defaults/main.yml @@ -16,8 +16,10 @@ matrix_mautrix_discord_container_image_self_build_branch: "{{ 'main' if matrix_m matrix_mautrix_discord_version: v0.7.2 # See: https://mau.dev/mautrix/discord/container_registry -matrix_mautrix_discord_docker_image: "{{ matrix_mautrix_discord_docker_image_name_prefix }}mautrix/discord:{{ matrix_mautrix_discord_version }}" -matrix_mautrix_discord_docker_image_name_prefix: "{{ 'localhost/' if matrix_mautrix_discord_container_image_self_build else 'dock.mau.dev/' }}" +matrix_mautrix_discord_docker_image: "{{ matrix_mautrix_discord_docker_image_registry_prefix }}mautrix/discord:{{ matrix_mautrix_discord_version }}" +matrix_mautrix_discord_docker_image_registry_prefix: "{{ 'localhost/' if matrix_mautrix_discord_container_image_self_build else matrix_mautrix_discord_docker_image_registry_prefix_upstream }}" +matrix_mautrix_discord_docker_image_registry_prefix_upstream: "{{ matrix_mautrix_discord_docker_image_registry_prefix_upstream_default }}" +matrix_mautrix_discord_docker_image_registry_prefix_upstream_default: "dock.mau.dev/" matrix_mautrix_discord_docker_image_force_pull: "{{ matrix_mautrix_discord_docker_image.endswith(':latest') }}" matrix_mautrix_discord_base_path: "{{ matrix_base_data_path }}/mautrix-discord" diff --git a/roles/custom/matrix-bridge-mautrix-discord/tasks/validate_config.yml b/roles/custom/matrix-bridge-mautrix-discord/tasks/validate_config.yml index 25b4773c9..ed04f643b 100644 --- a/roles/custom/matrix-bridge-mautrix-discord/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mautrix-discord/tasks/validate_config.yml @@ -15,7 +15,7 @@ - {'name': 'matrix_mautrix_discord_container_labels_avatar_proxy_hostname', when: "{{ matrix_mautrix_discord_container_labels_avatar_proxy_enabled }}"} - {'name': 'matrix_mautrix_discord_container_labels_avatar_proxy_path_prefix', when: "{{ matrix_mautrix_discord_container_labels_avatar_proxy_enabled }}"} -- name: (Deprecation) Catch and report renamed settings +- name: (Deprecation) Catch and report renamed mautrix-discord settings ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. @@ -25,3 +25,4 @@ - {'old': 'matrix_mautrix_discord_login_shared_secret', 'new': ''} - {'old': 'matrix_mautrix_discord_homeserver_public_address', 'new': 'matrix_mautrix_discord_bridge_public_address'} - {'old': 'matrix_mautrix_discord_command_prefix', 'new': 'matrix_mautrix_discord_bridge_command_prefix'} + - {'old': 'matrix_mautrix_discord_docker_image_name_prefix', 'new': 'matrix_mautrix_discord_docker_image_registry_prefix'} diff --git a/roles/custom/matrix-bridge-mautrix-facebook/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-facebook/defaults/main.yml index dacd2e24a..ce448c1bc 100644 --- a/roles/custom/matrix-bridge-mautrix-facebook/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-facebook/defaults/main.yml @@ -9,8 +9,10 @@ matrix_mautrix_facebook_container_image_self_build_repo: "https://mau.dev/mautri # renovate: datasource=docker depName=dock.mau.dev/mautrix/facebook matrix_mautrix_facebook_version: v0.5.1 -matrix_mautrix_facebook_docker_image: "{{ matrix_mautrix_facebook_docker_image_name_prefix }}mautrix/facebook:{{ matrix_mautrix_facebook_version }}" -matrix_mautrix_facebook_docker_image_name_prefix: "{{ 'localhost/' if matrix_mautrix_facebook_container_image_self_build else 'dock.mau.dev/' }}" +matrix_mautrix_facebook_docker_image: "{{ matrix_mautrix_facebook_docker_image_registry_prefix }}mautrix/facebook:{{ matrix_mautrix_facebook_version }}" +matrix_mautrix_facebook_docker_image_registry_prefix: "{{ 'localhost/' if matrix_mautrix_facebook_container_image_self_build else matrix_mautrix_facebook_docker_image_registry_prefix_upstream }}" +matrix_mautrix_facebook_docker_image_registry_prefix_upstream: "{{ matrix_mautrix_facebook_docker_image_registry_prefix_upstream_default }}" +matrix_mautrix_facebook_docker_image_registry_prefix_upstream_default: "dock.mau.dev/" matrix_mautrix_facebook_docker_image_force_pull: "{{ matrix_mautrix_facebook_docker_image.endswith(':latest') }}" matrix_mautrix_facebook_base_path: "{{ matrix_base_data_path }}/mautrix-facebook" diff --git a/roles/custom/matrix-bridge-mautrix-facebook/tasks/validate_config.yml b/roles/custom/matrix-bridge-mautrix-facebook/tasks/validate_config.yml index 72961cb0e..12286f320 100644 --- a/roles/custom/matrix-bridge-mautrix-facebook/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mautrix-facebook/tasks/validate_config.yml @@ -8,6 +8,7 @@ when: "item.old in vars" with_items: - {'old': 'matrix_mautrix_facebook_public_endpoint', 'new': 'matrix_mautrix_facebook_appservice_public_prefix'} + - {'old': 'matrix_mautrix_facebook_docker_image_name_prefix', 'new': 'matrix_mautrix_facebook_docker_image_registry_prefix'} - name: Fail if required mautrix-facebook settings not defined ansible.builtin.fail: diff --git a/roles/custom/matrix-bridge-mautrix-gmessages/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-gmessages/defaults/main.yml index c2409ec61..46b1e3099 100644 --- a/roles/custom/matrix-bridge-mautrix-gmessages/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-gmessages/defaults/main.yml @@ -12,8 +12,10 @@ matrix_mautrix_gmessages_container_image_self_build_branch: "{{ 'main' if matrix matrix_mautrix_gmessages_version: v0.6.0 # See: https://mau.dev/mautrix/gmessages/container_registry -matrix_mautrix_gmessages_docker_image: "{{ matrix_mautrix_gmessages_docker_image_name_prefix }}mautrix/gmessages:{{ matrix_mautrix_gmessages_version }}" -matrix_mautrix_gmessages_docker_image_name_prefix: "{{ 'localhost/' if matrix_mautrix_gmessages_container_image_self_build else 'dock.mau.dev/' }}" +matrix_mautrix_gmessages_docker_image: "{{ matrix_mautrix_gmessages_docker_image_registry_prefix }}mautrix/gmessages:{{ matrix_mautrix_gmessages_version }}" +matrix_mautrix_gmessages_docker_image_registry_prefix: "{{ 'localhost/' if matrix_mautrix_gmessages_container_image_self_build else matrix_mautrix_gmessages_docker_image_registry_prefix_upstream }}" +matrix_mautrix_gmessages_docker_image_registry_prefix_upstream: "{{ matrix_mautrix_gmessages_docker_image_registry_prefix_upstream_default }}" +matrix_mautrix_gmessages_docker_image_registry_prefix_upstream_default: "dock.mau.dev/" matrix_mautrix_gmessages_docker_image_force_pull: "{{ matrix_mautrix_gmessages_docker_image.endswith(':latest') }}" matrix_mautrix_gmessages_base_path: "{{ matrix_base_data_path }}/mautrix-gmessages" diff --git a/roles/custom/matrix-bridge-mautrix-gmessages/tasks/validate_config.yml b/roles/custom/matrix-bridge-mautrix-gmessages/tasks/validate_config.yml index 7f2510a1f..1358465e5 100644 --- a/roles/custom/matrix-bridge-mautrix-gmessages/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mautrix-gmessages/tasks/validate_config.yml @@ -25,3 +25,4 @@ - {'old': 'matrix_mautrix_gmessages_bridge_mute_bridging', 'new': ''} - {'old': 'matrix_mautrix_gmessages_login_shared_secret', 'new': ''} - {'old': 'matrix_mautrix_gmessages_bridge_login_shared_secret_map', 'new': 'matrix_mautrix_gmessages_double_puppet_secrets_custom'} + - {'old': 'matrix_mautrix_gmessages_docker_image_name_prefix', 'new': 'matrix_mautrix_gmessages_docker_image_registry_prefix'} diff --git a/roles/custom/matrix-bridge-mautrix-googlechat/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-googlechat/defaults/main.yml index f9ff35681..50d991dd5 100644 --- a/roles/custom/matrix-bridge-mautrix-googlechat/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-googlechat/defaults/main.yml @@ -11,8 +11,10 @@ matrix_mautrix_googlechat_container_image_self_build_repo_version: "{{ 'master' # renovate: datasource=docker depName=dock.mau.dev/mautrix/googlechat matrix_mautrix_googlechat_version: v0.5.2 # See: https://mau.dev/mautrix/googlechat/container_registry -matrix_mautrix_googlechat_docker_image: "{{ matrix_mautrix_googlechat_docker_image_name_prefix }}mautrix/googlechat:{{ matrix_mautrix_googlechat_version }}" -matrix_mautrix_googlechat_docker_image_name_prefix: "{{ 'localhost/' if matrix_mautrix_googlechat_container_image_self_build else 'dock.mau.dev/' }}" +matrix_mautrix_googlechat_docker_image: "{{ matrix_mautrix_googlechat_docker_image_registry_prefix }}mautrix/googlechat:{{ matrix_mautrix_googlechat_version }}" +matrix_mautrix_googlechat_docker_image_registry_prefix: "{{ 'localhost/' if matrix_mautrix_googlechat_container_image_self_build else matrix_mautrix_googlechat_docker_image_registry_prefix_upstream }}" +matrix_mautrix_googlechat_docker_image_registry_prefix_upstream: "{{ matrix_mautrix_googlechat_docker_image_registry_prefix_upstream_default }}" +matrix_mautrix_googlechat_docker_image_registry_prefix_upstream_default: "dock.mau.dev/" matrix_mautrix_googlechat_docker_image_force_pull: "{{ matrix_mautrix_googlechat_docker_image.endswith(':latest') }}" matrix_mautrix_googlechat_base_path: "{{ matrix_base_data_path }}/mautrix-googlechat" diff --git a/roles/custom/matrix-bridge-mautrix-googlechat/tasks/validate_config.yml b/roles/custom/matrix-bridge-mautrix-googlechat/tasks/validate_config.yml index 9c8e79d1e..b6543a188 100644 --- a/roles/custom/matrix-bridge-mautrix-googlechat/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mautrix-googlechat/tasks/validate_config.yml @@ -16,3 +16,12 @@ - {'name': 'matrix_mautrix_googlechat_metrics_proxying_path_prefix', when: "{{ matrix_mautrix_googlechat_metrics_proxying_enabled }}"} - {'name': 'matrix_mautrix_googlechat_container_labels_public_endpoint_hostname', when: "{{ matrix_mautrix_googlechat_container_labels_public_endpoint_enabled }}"} - {'name': 'matrix_mautrix_googlechat_container_labels_public_endpoint_path_prefix', when: "{{ matrix_mautrix_googlechat_container_labels_public_endpoint_enabled }}"} + +- name: (Deprecation) Catch and report renamed mautrix-googlechat variables + ansible.builtin.fail: + msg: >- + Your configuration contains a variable, which now has a different name. + Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + when: "item.old in vars" + with_items: + - {'old': 'matrix_mautrix_googlechat_docker_image_name_prefix', 'new': 'matrix_mautrix_googlechat_docker_image_registry_prefix'} diff --git a/roles/custom/matrix-bridge-mautrix-instagram/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-instagram/defaults/main.yml index 566a01bb5..ad0a2a00a 100644 --- a/roles/custom/matrix-bridge-mautrix-instagram/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-instagram/defaults/main.yml @@ -11,8 +11,10 @@ matrix_mautrix_instagram_container_image_self_build_repo_version: "{{ 'master' i # renovate: datasource=docker depName=dock.mau.dev/mautrix/instagram matrix_mautrix_instagram_version: v0.3.1 # See: https://mau.dev/tulir/mautrix-instagram/container_registry -matrix_mautrix_instagram_docker_image: "{{ matrix_mautrix_instagram_docker_image_name_prefix }}mautrix/instagram:{{ matrix_mautrix_instagram_version }}" -matrix_mautrix_instagram_docker_image_name_prefix: "{{ 'localhost/' if matrix_mautrix_instagram_container_image_self_build else 'dock.mau.dev/' }}" +matrix_mautrix_instagram_docker_image: "{{ matrix_mautrix_instagram_docker_image_registry_prefix }}mautrix/instagram:{{ matrix_mautrix_instagram_version }}" +matrix_mautrix_instagram_docker_image_registry_prefix: "{{ 'localhost/' if matrix_mautrix_instagram_container_image_self_build else matrix_mautrix_instagram_docker_image_registry_prefix_upstream }}" +matrix_mautrix_instagram_docker_image_registry_prefix_upstream: "{{ matrix_mautrix_instagram_docker_image_registry_prefix_upstream_default }}" +matrix_mautrix_instagram_docker_image_registry_prefix_upstream_default: "dock.mau.dev/" matrix_mautrix_instagram_docker_image_force_pull: "{{ matrix_mautrix_instagram_docker_image.endswith(':latest') }}" matrix_mautrix_instagram_base_path: "{{ matrix_base_data_path }}/mautrix-instagram" diff --git a/roles/custom/matrix-bridge-mautrix-instagram/tasks/validate_config.yml b/roles/custom/matrix-bridge-mautrix-instagram/tasks/validate_config.yml index 1a0c1cda7..72a97f9bd 100644 --- a/roles/custom/matrix-bridge-mautrix-instagram/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mautrix-instagram/tasks/validate_config.yml @@ -12,3 +12,12 @@ - {'name': 'matrix_mautrix_instagram_database_hostname', when: "{{ matrix_mautrix_instagram_database_engine == 'postgres' }}"} - {'name': 'matrix_mautrix_instagram_metrics_proxying_hostname', when: "{{ matrix_mautrix_instagram_metrics_proxying_enabled }}"} - {'name': 'matrix_mautrix_instagram_metrics_proxying_path_prefix', when: "{{ matrix_mautrix_instagram_metrics_proxying_enabled }}"} + +- name: (Deprecation) Catch and report renamed mautrix-instagram variables + ansible.builtin.fail: + msg: >- + Your configuration contains a variable, which now has a different name. + Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + when: "item.old in vars" + with_items: + - {'old': 'matrix_mautrix_instagram_docker_image_name_prefix', 'new': 'matrix_mautrix_instagram_docker_image_registry_prefix'} diff --git a/roles/custom/matrix-bridge-mautrix-meta-instagram/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-meta-instagram/defaults/main.yml index a4f6abf90..006fcda7e 100644 --- a/roles/custom/matrix-bridge-mautrix-meta-instagram/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-meta-instagram/defaults/main.yml @@ -23,8 +23,10 @@ matrix_mautrix_meta_instagram_container_src_files_path: "{{ matrix_mautrix_meta_ matrix_mautrix_meta_instagram_container_image_self_build: false matrix_mautrix_meta_instagram_container_image_self_build_repo: "https://github.com/mautrix/meta.git" -matrix_mautrix_meta_instagram_container_image: "{{ matrix_mautrix_meta_instagram_container_image_name_prefix }}mautrix/meta:{{ matrix_mautrix_meta_instagram_container_image_tag }}" -matrix_mautrix_meta_instagram_container_image_name_prefix: "{{ 'localhost/' if matrix_mautrix_meta_instagram_container_image_self_build else 'dock.mau.dev/' }}" +matrix_mautrix_meta_instagram_container_image: "{{ matrix_mautrix_meta_instagram_container_image_registry_prefix }}mautrix/meta:{{ matrix_mautrix_meta_instagram_container_image_tag }}" +matrix_mautrix_meta_instagram_container_image_registry_prefix: "{{ 'localhost/' if matrix_mautrix_meta_instagram_container_image_self_build else matrix_mautrix_meta_instagram_container_image_registry_prefix_upstream }}" +matrix_mautrix_meta_instagram_container_image_registry_prefix_upstream: "{{ matrix_mautrix_meta_instagram_container_image_registry_prefix_upstream_default }}" +matrix_mautrix_meta_instagram_container_image_registry_prefix_upstream_default: "dock.mau.dev/" # Prebuilt container images for specific commit hashes are tagged with an architecture suffix (e.g. `HASH-amd64`). matrix_mautrix_meta_instagram_container_image_tag: "{{ matrix_mautrix_meta_instagram_version }}{{ ('-' ~ matrix_architecture) if (matrix_mautrix_meta_instagram_version | length == 40) else '' }}" matrix_mautrix_meta_instagram_container_image_force_pull: "{{ matrix_mautrix_meta_instagram_container_image.endswith(':latest') }}" diff --git a/roles/custom/matrix-bridge-mautrix-meta-instagram/tasks/validate_config.yml b/roles/custom/matrix-bridge-mautrix-meta-instagram/tasks/validate_config.yml index fbaa3da1c..212e261b8 100644 --- a/roles/custom/matrix-bridge-mautrix-meta-instagram/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mautrix-meta-instagram/tasks/validate_config.yml @@ -15,7 +15,7 @@ - {'name': 'matrix_mautrix_meta_instagram_database_hostname', when: "{{ matrix_mautrix_meta_instagram_database_engine == 'postgres' }}"} - {'name': 'matrix_mautrix_meta_instagram_database_password', when: "{{ matrix_mautrix_meta_instagram_database_engine == 'postgres' }}"} -- name: (Deprecation) Catch and report renamed settings +- name: (Deprecation) Catch and report renamed mautrix-meta-instagram settings ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. @@ -25,3 +25,4 @@ - {'old': 'matrix_mautrix_meta_instagram_bridge_login_shared_secret', 'new': ''} - {'old': 'matrix_mautrix_meta_instagram_bridge_login_shared_secret_map_custom', 'new': ''} - {'old': 'matrix_mautrix_meta_instagram_bridge_management_room_text_welcome', 'new': ''} + - {'old': 'matrix_mautrix_meta_instagram_container_image_name_prefix', 'new': 'matrix_mautrix_meta_instagram_container_image_registry_prefix'} diff --git a/roles/custom/matrix-bridge-mautrix-meta-messenger/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-meta-messenger/defaults/main.yml index 1f4dc54be..d6f5debcb 100644 --- a/roles/custom/matrix-bridge-mautrix-meta-messenger/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-meta-messenger/defaults/main.yml @@ -23,8 +23,10 @@ matrix_mautrix_meta_messenger_container_src_files_path: "{{ matrix_mautrix_meta_ matrix_mautrix_meta_messenger_container_image_self_build: false matrix_mautrix_meta_messenger_container_image_self_build_repo: "https://github.com/mautrix/meta.git" -matrix_mautrix_meta_messenger_container_image: "{{ matrix_mautrix_meta_messenger_container_image_name_prefix }}mautrix/meta:{{ matrix_mautrix_meta_messenger_container_image_tag }}" -matrix_mautrix_meta_messenger_container_image_name_prefix: "{{ 'localhost/' if matrix_mautrix_meta_messenger_container_image_self_build else 'dock.mau.dev/' }}" +matrix_mautrix_meta_messenger_container_image: "{{ matrix_mautrix_meta_messenger_container_image_registry_prefix }}mautrix/meta:{{ matrix_mautrix_meta_messenger_container_image_tag }}" +matrix_mautrix_meta_messenger_container_image_registry_prefix: "{{ 'localhost/' if matrix_mautrix_meta_messenger_container_image_self_build else matrix_mautrix_meta_messenger_container_image_registry_prefix_upstream }}" +matrix_mautrix_meta_messenger_container_image_registry_prefix_upstream: "{{ matrix_mautrix_meta_messenger_container_image_registry_prefix_upstream_default }}" +matrix_mautrix_meta_messenger_container_image_registry_prefix_upstream_default: "dock.mau.dev/" # Prebuilt container images for specific commit hashes are tagged with an architecture suffix (e.g. `HASH-amd64`). matrix_mautrix_meta_messenger_container_image_tag: "{{ matrix_mautrix_meta_messenger_version }}{{ ('-' ~ matrix_architecture) if (matrix_mautrix_meta_messenger_version | length == 40) else '' }}" matrix_mautrix_meta_messenger_container_image_force_pull: "{{ matrix_mautrix_meta_messenger_container_image.endswith(':latest') }}" diff --git a/roles/custom/matrix-bridge-mautrix-meta-messenger/tasks/validate_config.yml b/roles/custom/matrix-bridge-mautrix-meta-messenger/tasks/validate_config.yml index d9f40022f..2d69f924e 100644 --- a/roles/custom/matrix-bridge-mautrix-meta-messenger/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mautrix-meta-messenger/tasks/validate_config.yml @@ -15,7 +15,7 @@ - {'name': 'matrix_mautrix_meta_messenger_database_hostname', when: "{{ matrix_mautrix_meta_messenger_database_engine == 'postgres' }}"} - {'name': 'matrix_mautrix_meta_messenger_database_password', when: "{{ matrix_mautrix_meta_messenger_database_engine == 'postgres' }}"} -- name: (Deprecation) Catch and report renamed settings +- name: (Deprecation) Catch and report renamed mautrix-meta-messenger variables ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. @@ -25,3 +25,4 @@ - {'old': 'matrix_mautrix_meta_messenger_bridge_login_shared_secret', 'new': ''} - {'old': 'matrix_mautrix_meta_messenger_bridge_login_shared_secret_map_custom', 'new': ''} - {'old': 'matrix_mautrix_meta_messenger_bridge_management_room_text_welcome', 'new': ''} + - {'old': 'matrix_mautrix_meta_messenger_container_image_name_prefix', 'new': 'matrix_mautrix_meta_messenger_container_image_registry_prefix'} diff --git a/roles/custom/matrix-bridge-mautrix-signal/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-signal/defaults/main.yml index 53b5de4da..acd545817 100644 --- a/roles/custom/matrix-bridge-mautrix-signal/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-signal/defaults/main.yml @@ -12,9 +12,11 @@ matrix_mautrix_signal_container_image_self_build_branch: "{{ 'main' if matrix_ma matrix_mautrix_signal_version: v0.8.0 # See: https://mau.dev/mautrix/signal/container_registry -matrix_mautrix_signal_docker_image: "{{ matrix_mautrix_signal_docker_image_name_prefix }}mautrix/signal:{{ matrix_mautrix_signal_docker_image_tag }}" +matrix_mautrix_signal_docker_image: "{{ matrix_mautrix_signal_docker_image_registry_prefix }}mautrix/signal:{{ matrix_mautrix_signal_docker_image_tag }}" matrix_mautrix_signal_docker_image_tag: "{{ matrix_mautrix_signal_version }}" -matrix_mautrix_signal_docker_image_name_prefix: "{{ 'localhost/' if matrix_mautrix_signal_container_image_self_build else 'dock.mau.dev/' }}" +matrix_mautrix_signal_docker_image_registry_prefix: "{{ 'localhost/' if matrix_mautrix_signal_container_image_self_build else matrix_mautrix_signal_docker_image_registry_prefix_upstream }}" +matrix_mautrix_signal_docker_image_registry_prefix_upstream: "{{ matrix_mautrix_signal_docker_image_registry_prefix_upstream_default }}" +matrix_mautrix_signal_docker_image_registry_prefix_upstream_default: "dock.mau.dev/" matrix_mautrix_signal_docker_image_force_pull: "{{ matrix_mautrix_signal_docker_image.endswith(':latest') }}" matrix_mautrix_signal_base_path: "{{ matrix_base_data_path }}/mautrix-signal" diff --git a/roles/custom/matrix-bridge-mautrix-signal/tasks/validate_config.yml b/roles/custom/matrix-bridge-mautrix-signal/tasks/validate_config.yml index 702842e39..a3059ef83 100644 --- a/roles/custom/matrix-bridge-mautrix-signal/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mautrix-signal/tasks/validate_config.yml @@ -14,7 +14,7 @@ - {'name': 'matrix_mautrix_signal_metrics_proxying_hostname', when: "{{ matrix_mautrix_signal_metrics_proxying_enabled }}"} - {'name': 'matrix_mautrix_signal_metrics_proxying_path_prefix', when: "{{ matrix_mautrix_signal_metrics_proxying_enabled }}"} -- name: (Deprecation) Catch and report renamed settings +- name: (Deprecation) Catch and report renamed mautrix-signal variables ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. @@ -27,3 +27,4 @@ - {'old': 'matrix_mautrix_signal_login_shared_secret', 'new': ''} - {'old': 'matrix_mautrix_signal_bridge_login_shared_secret_map', 'new': ''} - {'old': 'matrix_mautrix_signal_bridge_double_puppet_server_map', 'new': ''} + - {'old': 'matrix_mautrix_signal_docker_image_name_prefix', 'new': 'matrix_mautrix_signal_docker_image_registry_prefix'} diff --git a/roles/custom/matrix-bridge-mautrix-slack/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-slack/defaults/main.yml index bf5ed4bd0..9489385e7 100644 --- a/roles/custom/matrix-bridge-mautrix-slack/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-slack/defaults/main.yml @@ -11,8 +11,10 @@ matrix_mautrix_slack_container_image_self_build_branch: "{{ 'main' if matrix_mau # renovate: datasource=docker depName=dock.mau.dev/mautrix/slack matrix_mautrix_slack_version: v0.1.4 # See: https://mau.dev/mautrix/slack/container_registry -matrix_mautrix_slack_docker_image: "{{ matrix_mautrix_slack_docker_image_name_prefix }}mautrix/slack:{{ matrix_mautrix_slack_version }}" -matrix_mautrix_slack_docker_image_name_prefix: "{{ 'localhost/' if matrix_mautrix_slack_container_image_self_build else 'dock.mau.dev/' }}" +matrix_mautrix_slack_docker_image: "{{ matrix_mautrix_slack_docker_image_registry_prefix }}mautrix/slack:{{ matrix_mautrix_slack_version }}" +matrix_mautrix_slack_docker_image_registry_prefix: "{{ 'localhost/' if matrix_mautrix_slack_container_image_self_build else matrix_mautrix_slack_docker_image_registry_prefix_upstream }}" +matrix_mautrix_slack_docker_image_registry_prefix_upstream: "{{ matrix_mautrix_slack_docker_image_registry_prefix_upstream_default }}" +matrix_mautrix_slack_docker_image_registry_prefix_upstream_default: "dock.mau.dev/" matrix_mautrix_slack_docker_image_force_pull: "{{ matrix_mautrix_slack_docker_image.endswith(':latest') }}" matrix_mautrix_slack_base_path: "{{ matrix_base_data_path }}/mautrix-slack" diff --git a/roles/custom/matrix-bridge-mautrix-slack/tasks/validate_config.yml b/roles/custom/matrix-bridge-mautrix-slack/tasks/validate_config.yml index 19c51c61e..9a6e4a845 100644 --- a/roles/custom/matrix-bridge-mautrix-slack/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mautrix-slack/tasks/validate_config.yml @@ -21,7 +21,7 @@ Consider either changing `matrix_mautrix_slack_appservice_bot_username` (the bot username for the mautrix-slack component) or `matrix_appservice_slack_bot_name` (the bot username for the appservice-slack component). We recommend that you change the username for the newly-added (and yet unused) component. -- name: (Deprecation) Catch and report renamed settings +- name: (Deprecation) Catch and report renamed mautrix-slack variables ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. @@ -31,3 +31,4 @@ - {'old': 'matrix_mautrix_slack_login_shared_secret', 'new': ''} - {'old': 'matrix_mautrix_slack_bridge_login_shared_secret_map', 'new': ''} - {'old': 'matrix_mautrix_slack_bridge_double_puppet_server_map', 'new': ''} + - {'old': 'matrix_mautrix_slack_docker_image_name_prefix', 'new': 'matrix_mautrix_slack_docker_image_registry_prefix'} diff --git a/roles/custom/matrix-bridge-mautrix-telegram/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-telegram/defaults/main.yml index 619dfee86..a876a6587 100644 --- a/roles/custom/matrix-bridge-mautrix-telegram/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-telegram/defaults/main.yml @@ -14,8 +14,10 @@ matrix_telegram_lottieconverter_container_image_self_build_mask_arch: false matrix_telegram_lottieconverter_docker_repo: "https://mau.dev/tulir/lottieconverter.git" matrix_telegram_lottieconverter_docker_repo_version: "master" matrix_telegram_lottieconverter_docker_src_files_path: "{{ matrix_base_data_path }}/lotticonverter/docker-src" -matrix_telegram_lottieconverter_docker_image: "{{ matrix_telegram_lottieconverter_docker_image_name_prefix }}tulir/lottieconverter:alpine-3.16" # needs to be adjusted according to the FROM clause of Dockerfile of mautrix-telegram -matrix_telegram_lottieconverter_docker_image_name_prefix: "{{ 'localhost/' if matrix_telegram_lottieconverter_container_image_self_build else 'dock.mau.dev/' }}" +matrix_telegram_lottieconverter_docker_image: "{{ matrix_telegram_lottieconverter_docker_image_registry_prefix }}tulir/lottieconverter:alpine-3.16" # needs to be adjusted according to the FROM clause of Dockerfile of mautrix-telegram +matrix_telegram_lottieconverter_docker_image_registry_prefix: "{{ 'localhost/' if matrix_telegram_lottieconverter_container_image_self_build else matrix_telegram_lottieconverter_docker_image_registry_prefix_upstream }}" +matrix_telegram_lottieconverter_docker_image_registry_prefix_upstream: "{{ matrix_telegram_lottieconverter_docker_image_registry_prefix_upstream_default }}" +matrix_telegram_lottieconverter_docker_image_registry_prefix_upstream_default: "dock.mau.dev/" matrix_mautrix_telegram_container_image_self_build: false matrix_mautrix_telegram_docker_repo: "https://mau.dev/mautrix/telegram.git" @@ -25,8 +27,10 @@ matrix_mautrix_telegram_docker_src_files_path: "{{ matrix_base_data_path }}/maut # renovate: datasource=docker depName=dock.mau.dev/mautrix/telegram matrix_mautrix_telegram_version: v0.15.2 # See: https://mau.dev/mautrix/telegram/container_registry -matrix_mautrix_telegram_docker_image: "{{ matrix_mautrix_telegram_docker_image_name_prefix }}mautrix/telegram:{{ matrix_mautrix_telegram_version }}" -matrix_mautrix_telegram_docker_image_name_prefix: "{{ 'localhost/' if matrix_mautrix_telegram_container_image_self_build else 'dock.mau.dev/' }}" +matrix_mautrix_telegram_docker_image: "{{ matrix_mautrix_telegram_docker_image_registry_prefix }}mautrix/telegram:{{ matrix_mautrix_telegram_version }}" +matrix_mautrix_telegram_docker_image_registry_prefix: "{{ 'localhost/' if matrix_mautrix_telegram_container_image_self_build else matrix_mautrix_telegram_docker_image_registry_prefix_upstream }}" +matrix_mautrix_telegram_docker_image_registry_prefix_upstream: "{{ matrix_mautrix_telegram_docker_image_registry_prefix_upstream_default }}" +matrix_mautrix_telegram_docker_image_registry_prefix_upstream_default: "dock.mau.dev/" matrix_mautrix_telegram_docker_image_force_pull: "{{ matrix_mautrix_telegram_docker_image.endswith(':latest') }}" matrix_mautrix_telegram_base_path: "{{ matrix_base_data_path }}/mautrix-telegram" diff --git a/roles/custom/matrix-bridge-mautrix-telegram/tasks/validate_config.yml b/roles/custom/matrix-bridge-mautrix-telegram/tasks/validate_config.yml index 040d7da42..8db84dbd0 100644 --- a/roles/custom/matrix-bridge-mautrix-telegram/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mautrix-telegram/tasks/validate_config.yml @@ -19,7 +19,7 @@ - {'name': 'matrix_mautrix_telegram_metrics_proxying_hostname', when: "{{ matrix_mautrix_telegram_metrics_proxying_enabled }}"} - {'name': 'matrix_mautrix_telegram_metrics_proxying_path_prefix', when: "{{ matrix_mautrix_telegram_metrics_proxying_enabled }}"} -- name: (Deprecation) Catch and report renamed Telegram variables +- name: (Deprecation) Catch and report renamed mautrix-telegram variables ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. @@ -31,3 +31,5 @@ - {'old': 'matrix_telegram_lottieconverter_container_self_build', 'new': 'matrix_mautrix_telegram_container_image_self_build'} - {'old': 'matrix_telegram_lottieconverter_container_self_build_mask_arch', 'new': 'matrix_telegram_lottieconverter_container_image_self_build_mask_arch'} - {'old': 'matrix_mautrix_telegram_login_shared_secret', 'new': ''} + - {'old': 'matrix_telegram_lottieconverter_docker_image_name_prefix', 'new': 'matrix_telegram_lottieconverter_docker_image_registry_prefix'} + - {'old': 'matrix_mautrix_telegram_docker_image_name_prefix', 'new': 'matrix_mautrix_telegram_docker_image_registry_prefix'} diff --git a/roles/custom/matrix-bridge-mautrix-twitter/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-twitter/defaults/main.yml index e79db967c..449d71eb3 100644 --- a/roles/custom/matrix-bridge-mautrix-twitter/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-twitter/defaults/main.yml @@ -11,8 +11,10 @@ matrix_mautrix_twitter_container_image_self_build_repo_version: "{{ 'master' if # renovate: datasource=docker depName=dock.mau.dev/mautrix/twitter matrix_mautrix_twitter_version: v0.2.1 # See: https://mau.dev/tulir/mautrix-twitter/container_registry -matrix_mautrix_twitter_docker_image: "{{ matrix_mautrix_twitter_docker_image_name_prefix }}mautrix/twitter:{{ matrix_mautrix_twitter_version }}" -matrix_mautrix_twitter_docker_image_name_prefix: "{{ 'localhost/' if matrix_mautrix_twitter_container_image_self_build else 'dock.mau.dev/' }}" +matrix_mautrix_twitter_docker_image: "{{ matrix_mautrix_twitter_docker_image_registry_prefix }}mautrix/twitter:{{ matrix_mautrix_twitter_version }}" +matrix_mautrix_twitter_docker_image_registry_prefix: "{{ 'localhost/' if matrix_mautrix_twitter_container_image_self_build else matrix_mautrix_twitter_docker_image_registry_prefix_upstream }}" +matrix_mautrix_twitter_docker_image_registry_prefix_upstream: "{{ matrix_mautrix_twitter_docker_image_registry_prefix_upstream_default }}" +matrix_mautrix_twitter_docker_image_registry_prefix_upstream_default: "dock.mau.dev/" matrix_mautrix_twitter_docker_image_force_pull: "{{ matrix_mautrix_twitter_docker_image.endswith(':latest') }}" matrix_mautrix_twitter_base_path: "{{ matrix_base_data_path }}/mautrix-twitter" diff --git a/roles/custom/matrix-bridge-mautrix-twitter/tasks/validate_config.yml b/roles/custom/matrix-bridge-mautrix-twitter/tasks/validate_config.yml index b63a61558..0e33dcae8 100644 --- a/roles/custom/matrix-bridge-mautrix-twitter/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mautrix-twitter/tasks/validate_config.yml @@ -28,3 +28,4 @@ - {'old': 'matrix_mautrix_twitter_bridge_login_shared_secret_map_custom', 'new': 'matrix_mautrix_twitter_double_puppet_secrets_custom'} - {'old': 'matrix_mautrix_twitter_federate_rooms', 'new': 'matrix_mautrix_twitter_matrix_federate_rooms'} - {'old': 'matrix_mautrix_twitter_command_prefix', 'new': 'matrix_mautrix_twitter_bridge_command_prefix'} + - {'old': 'matrix_mautrix_twitter_docker_image_name_prefix', 'new': 'matrix_mautrix_twitter_docker_image_registry_prefix'} diff --git a/roles/custom/matrix-bridge-mautrix-whatsapp/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-whatsapp/defaults/main.yml index 4711262fa..5f3d36ee4 100644 --- a/roles/custom/matrix-bridge-mautrix-whatsapp/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-whatsapp/defaults/main.yml @@ -12,8 +12,10 @@ matrix_mautrix_whatsapp_container_image_self_build_branch: "{{ 'master' if matri matrix_mautrix_whatsapp_version: v0.11.3 # See: https://mau.dev/mautrix/whatsapp/container_registry -matrix_mautrix_whatsapp_docker_image: "{{ matrix_mautrix_whatsapp_docker_image_name_prefix }}mautrix/whatsapp:{{ matrix_mautrix_whatsapp_version }}" -matrix_mautrix_whatsapp_docker_image_name_prefix: "{{ 'localhost/' if matrix_mautrix_whatsapp_container_image_self_build else 'dock.mau.dev/' }}" +matrix_mautrix_whatsapp_docker_image: "{{ matrix_mautrix_whatsapp_docker_image_registry_prefix }}mautrix/whatsapp:{{ matrix_mautrix_whatsapp_version }}" +matrix_mautrix_whatsapp_docker_image_registry_prefix: "{{ 'localhost/' if matrix_mautrix_whatsapp_container_image_self_build else matrix_mautrix_whatsapp_docker_image_registry_prefix_upstream }}" +matrix_mautrix_whatsapp_docker_image_registry_prefix_upstream: "{{ matrix_mautrix_whatsapp_docker_image_registry_prefix_upstream_default }}" +matrix_mautrix_whatsapp_docker_image_registry_prefix_upstream_default: "dock.mau.dev/" matrix_mautrix_whatsapp_docker_image_force_pull: "{{ matrix_mautrix_whatsapp_docker_image.endswith(':latest') }}" matrix_mautrix_whatsapp_base_path: "{{ matrix_base_data_path }}/mautrix-whatsapp" diff --git a/roles/custom/matrix-bridge-mautrix-whatsapp/tasks/validate_config.yml b/roles/custom/matrix-bridge-mautrix-whatsapp/tasks/validate_config.yml index 220f99b15..21cd9fc09 100644 --- a/roles/custom/matrix-bridge-mautrix-whatsapp/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mautrix-whatsapp/tasks/validate_config.yml @@ -11,7 +11,7 @@ - {'name': 'matrix_mautrix_whatsapp_homeserver_token', when: true} - {'name': 'matrix_mautrix_whatsapp_database_hostname', when: "{{ matrix_mautrix_whatsapp_database_engine == 'postgres' }}"} -- name: (Deprecation) Catch and report renamed settings +- name: (Deprecation) Catch and report renamed mautrix-whatsapp variables ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. @@ -24,3 +24,4 @@ - {'old': 'matrix_mautrix_whatsapp_bridge_double_puppet_server_map', 'new': ''} - {'old': 'matrix_mautrix_whatsapp_bridge_allow_user_invite', 'new': ''} - {'old': 'matrix_mautrix_whatsapp_bridge_mute_bridging', 'new': ''} + - {'old': 'matrix_mautrix_whatsapp_docker_image_name_prefix', 'new': 'matrix_mautrix_whatsapp_docker_image_registry_prefix'} diff --git a/roles/custom/matrix-bridge-mautrix-wsproxy/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-wsproxy/defaults/main.yml index 51ad2a990..f9a514e9f 100644 --- a/roles/custom/matrix-bridge-mautrix-wsproxy/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-wsproxy/defaults/main.yml @@ -6,7 +6,10 @@ matrix_mautrix_wsproxy_enabled: true matrix_mautrix_wsproxy_version: latest # See: https://mau.dev/mautrix/wsproxy/container_registry -matrix_mautrix_wsproxy_docker_image: "dock.mau.dev/mautrix/wsproxy:{{ matrix_mautrix_wsproxy_version }}" +matrix_mautrix_wsproxy_docker_image: "{{ matrix_mautrix_wsproxy_docker_image_registry_prefix }}mautrix/wsproxy:{{ matrix_mautrix_wsproxy_version }}" +matrix_mautrix_wsproxy_docker_image_registry_prefix: "{{ matrix_mautrix_wsproxy_docker_image_registry_prefix_upstream }}" +matrix_mautrix_wsproxy_docker_image_registry_prefix_upstream: "{{ matrix_mautrix_wsproxy_docker_image_registry_prefix_upstream_default }}" +matrix_mautrix_wsproxy_docker_image_registry_prefix_upstream_default: "dock.mau.dev/" matrix_mautrix_wsproxy_docker_image_force_pull: "{{ matrix_mautrix_wsproxy_docker_image.endswith(':latest') }}" matrix_mautrix_wsproxy_base_path: "{{ matrix_base_data_path }}/wsproxy" diff --git a/roles/custom/matrix-bridge-mx-puppet-discord/defaults/main.yml b/roles/custom/matrix-bridge-mx-puppet-discord/defaults/main.yml index d4284d0d5..966524ab4 100644 --- a/roles/custom/matrix-bridge-mx-puppet-discord/defaults/main.yml +++ b/roles/custom/matrix-bridge-mx-puppet-discord/defaults/main.yml @@ -28,8 +28,10 @@ matrix_mx_puppet_discord_container_http_host_bind_port: '' # renovate: datasource=docker depName=registry.gitlab.com/mx-puppet/discord/mx-puppet-discord matrix_mx_puppet_discord_version: v0.1.1 -matrix_mx_puppet_discord_docker_image: "{{ matrix_mx_puppet_discord_docker_image_name_prefix }}mx-puppet/discord/mx-puppet-discord:{{ matrix_mx_puppet_discord_version }}" -matrix_mx_puppet_discord_docker_image_name_prefix: "{{ 'localhost/' if matrix_mx_puppet_discord_container_image_self_build else 'registry.gitlab.com/' }}" +matrix_mx_puppet_discord_docker_image: "{{ matrix_mx_puppet_discord_docker_image_registry_prefix }}mx-puppet/discord/mx-puppet-discord:{{ matrix_mx_puppet_discord_version }}" +matrix_mx_puppet_discord_docker_image_registry_prefix: "{{ 'localhost/' if matrix_mx_puppet_discord_container_image_self_build else matrix_mx_puppet_discord_docker_image_registry_prefix_upstream }}" +matrix_mx_puppet_discord_docker_image_registry_prefix_upstream: "{{ matrix_mx_puppet_discord_docker_image_registry_prefix_upstream_default }}" +matrix_mx_puppet_discord_docker_image_registry_prefix_upstream_default: "registry.gitlab.com/" matrix_mx_puppet_discord_docker_image_force_pull: "{{ matrix_mx_puppet_discord_docker_image.endswith(':latest') }}" matrix_mx_puppet_discord_base_path: "{{ matrix_base_data_path }}/mx-puppet-discord" diff --git a/roles/custom/matrix-bridge-mx-puppet-discord/tasks/validate_config.yml b/roles/custom/matrix-bridge-mx-puppet-discord/tasks/validate_config.yml index 67bf4966f..d343fbba6 100644 --- a/roles/custom/matrix-bridge-mx-puppet-discord/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mx-puppet-discord/tasks/validate_config.yml @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: 2020 Hugues Morisset -# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -16,3 +16,11 @@ - {'name': 'matrix_mx_puppet_discord_homeserver_token', when: true} - {'name': 'matrix_mx_puppet_discord_database_hostname', when: "{{ matrix_mx_puppet_discord_database_engine == 'postgres' }}"} - {'name': 'matrix_mx_puppet_discord_container_network', when: true} + +- name: (Deprecation) Catch and report renamed mx-puppet-discord variables + ansible.builtin.fail: + msg: >- + The variable `{{ item.old }}` is deprecated. Please use `{{ item.new }}` instead. + when: "item.old in vars" + with_items: + - {'old': 'matrix_mx_puppet_discord_docker_image_name_prefix', 'new': 'matrix_mx_puppet_discord_docker_image_registry_prefix'} diff --git a/roles/custom/matrix-bridge-mx-puppet-groupme/defaults/main.yml b/roles/custom/matrix-bridge-mx-puppet-groupme/defaults/main.yml index 3672be8ce..2487ab7d7 100644 --- a/roles/custom/matrix-bridge-mx-puppet-groupme/defaults/main.yml +++ b/roles/custom/matrix-bridge-mx-puppet-groupme/defaults/main.yml @@ -1,6 +1,6 @@ # SPDX-FileCopyrightText: 2021 Cody Neiman # SPDX-FileCopyrightText: 2021 MDAD project contributors -# SPDX-FileCopyrightText: 2021 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2021 - 2025 Slavi Pantaleev # SPDX-FileCopyrightText: 2021 Ahmad Haghighi # SPDX-FileCopyrightText: 2022 Marko Weltzer # SPDX-FileCopyrightText: 2022 Nikita Chernyi @@ -25,8 +25,10 @@ matrix_mx_puppet_groupme_container_image_self_build_repo_version: "{{ 'main' if matrix_mx_puppet_groupme_container_http_host_bind_port: '' matrix_mx_puppet_groupme_version: 533cccc8 -matrix_mx_puppet_groupme_docker_image: "{{ matrix_mx_puppet_groupme_docker_image_name_prefix }}xangelix-pub/matrix/mx-puppet-groupme:{{ matrix_mx_puppet_groupme_version }}" -matrix_mx_puppet_groupme_docker_image_name_prefix: "{{ 'localhost/' if matrix_mx_puppet_groupme_container_image_self_build else 'registry.gitlab.com/' }}" +matrix_mx_puppet_groupme_docker_image: "{{ matrix_mx_puppet_groupme_docker_image_registry_prefix }}xangelix-pub/matrix/mx-puppet-groupme:{{ matrix_mx_puppet_groupme_version }}" +matrix_mx_puppet_groupme_docker_image_registry_prefix: "{{ 'localhost/' if matrix_mx_puppet_groupme_container_image_self_build else matrix_mx_puppet_groupme_docker_image_registry_prefix_upstream }}" +matrix_mx_puppet_groupme_docker_image_registry_prefix_upstream: "{{ matrix_mx_puppet_groupme_docker_image_registry_prefix_upstream_default }}" +matrix_mx_puppet_groupme_docker_image_registry_prefix_upstream_default: "registry.gitlab.com/" matrix_mx_puppet_groupme_docker_image_force_pull: "{{ matrix_mx_puppet_groupme_docker_image.endswith(':latest') }}" matrix_mx_puppet_groupme_base_path: "{{ matrix_base_data_path }}/mx-puppet-groupme" diff --git a/roles/custom/matrix-bridge-mx-puppet-groupme/tasks/validate_config.yml b/roles/custom/matrix-bridge-mx-puppet-groupme/tasks/validate_config.yml index a5cce9efa..8d195daff 100644 --- a/roles/custom/matrix-bridge-mx-puppet-groupme/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mx-puppet-groupme/tasks/validate_config.yml @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: 2021 Cody Neiman -# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -16,3 +16,11 @@ - {'name': 'matrix_mx_puppet_groupme_homeserver_token', when: true} - {'name': 'matrix_mx_puppet_groupme_database_hostname', when: "{{ matrix_mx_puppet_groupme_database_engine == 'postgres' }}"} - {'name': 'matrix_mx_puppet_groupme_container_network', when: true} + +- name: (Deprecation) Catch and report renamed mx-puppet-groupme variables + ansible.builtin.fail: + msg: >- + The variable `{{ item.old }}` is deprecated. Please use `{{ item.new }}` instead. + when: "item.old in vars" + with_items: + - {'old': 'matrix_mx_puppet_groupme_docker_image_name_prefix', 'new': 'matrix_mx_puppet_groupme_docker_image_registry_prefix'} diff --git a/roles/custom/matrix-bridge-mx-puppet-instagram/defaults/main.yml b/roles/custom/matrix-bridge-mx-puppet-instagram/defaults/main.yml index 78ea2ad33..14568af1a 100644 --- a/roles/custom/matrix-bridge-mx-puppet-instagram/defaults/main.yml +++ b/roles/custom/matrix-bridge-mx-puppet-instagram/defaults/main.yml @@ -20,8 +20,10 @@ matrix_mx_puppet_instagram_container_image_self_build_repo_version: "{{ 'master' # renovate: datasource=docker depName=sorunome/mx-puppet-instagram matrix_mx_puppet_instagram_version: latest -matrix_mx_puppet_instagram_docker_image: "{{ matrix_mx_puppet_instagram_docker_image_name_prefix }}sorunome/mx-puppet-instagram:{{ matrix_mx_puppet_instagram_version }}" -matrix_mx_puppet_instagram_docker_image_name_prefix: "{{ 'localhost/' if matrix_mx_puppet_instagram_container_image_self_build else 'docker.io/' }}" +matrix_mx_puppet_instagram_docker_image: "{{ matrix_mx_puppet_instagram_docker_image_registry_prefix }}sorunome/mx-puppet-instagram:{{ matrix_mx_puppet_instagram_version }}" +matrix_mx_puppet_instagram_docker_image_registry_prefix: "{{ 'localhost/' if matrix_mx_puppet_instagram_container_image_self_build else matrix_mx_puppet_instagram_docker_image_registry_prefix_upstream }}" +matrix_mx_puppet_instagram_docker_image_registry_prefix_upstream: "{{ matrix_mx_puppet_instagram_docker_image_registry_prefix_upstream_default }}" +matrix_mx_puppet_instagram_docker_image_registry_prefix_upstream_default: "docker.io/" matrix_mx_puppet_instagram_docker_image_force_pull: "{{ matrix_mx_puppet_instagram_docker_image.endswith(':latest') }}" matrix_mx_puppet_instagram_base_path: "{{ matrix_base_data_path }}/mx-puppet-instagram" diff --git a/roles/custom/matrix-bridge-mx-puppet-instagram/tasks/validate_config.yml b/roles/custom/matrix-bridge-mx-puppet-instagram/tasks/validate_config.yml index 2cd23b9c5..13a9fbf7d 100644 --- a/roles/custom/matrix-bridge-mx-puppet-instagram/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mx-puppet-instagram/tasks/validate_config.yml @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: 2020 MDAD project contributors -# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -16,3 +16,11 @@ - {'name': 'matrix_mx_puppet_instagram_homeserver_token', when: true} - {'name': 'matrix_mx_puppet_instagram_database_hostname', when: "{{ matrix_mx_puppet_instagram_database_engine == 'postgres' }}"} - {'name': 'matrix_mx_puppet_instagram_container_network', when: true} + +- name: (Deprecation) Catch and report renamed mx-puppet-instagram variables + ansible.builtin.fail: + msg: >- + The variable `{{ item.old }}` is deprecated. Please use `{{ item.new }}` instead. + when: "item.old in vars" + with_items: + - {'old': 'matrix_mx_puppet_instagram_docker_image_name_prefix', 'new': 'matrix_mx_puppet_instagram_docker_image_registry_prefix'} diff --git a/roles/custom/matrix-bridge-mx-puppet-slack/defaults/main.yml b/roles/custom/matrix-bridge-mx-puppet-slack/defaults/main.yml index fd71a20c5..4b4eb76eb 100644 --- a/roles/custom/matrix-bridge-mx-puppet-slack/defaults/main.yml +++ b/roles/custom/matrix-bridge-mx-puppet-slack/defaults/main.yml @@ -38,8 +38,10 @@ matrix_mx_puppet_slack_container_http_host_bind_port: '' # renovate: datasource=docker depName=registry.gitlab.com/mx-puppet/slack/mx-puppet-slack matrix_mx_puppet_slack_version: v0.1.2 -matrix_mx_puppet_slack_docker_image: "{{ matrix_mx_puppet_slack_docker_image_name_prefix }}mx-puppet/slack/mx-puppet-slack:{{ matrix_mx_puppet_slack_version }}" -matrix_mx_puppet_slack_docker_image_name_prefix: "{{ 'localhost/' if matrix_mx_puppet_slack_container_image_self_build else 'registry.gitlab.com/' }}" +matrix_mx_puppet_slack_docker_image: "{{ matrix_mx_puppet_slack_docker_image_registry_prefix }}mx-puppet/slack/mx-puppet-slack:{{ matrix_mx_puppet_slack_version }}" +matrix_mx_puppet_slack_docker_image_registry_prefix: "{{ 'localhost/' if matrix_mx_puppet_slack_container_image_self_build else matrix_mx_puppet_slack_docker_image_registry_prefix_upstream }}" +matrix_mx_puppet_slack_docker_image_registry_prefix_upstream: "{{ matrix_mx_puppet_slack_docker_image_registry_prefix_upstream_default }}" +matrix_mx_puppet_slack_docker_image_registry_prefix_upstream_default: "registry.gitlab.com/" matrix_mx_puppet_slack_docker_image_force_pull: "{{ matrix_mx_puppet_slack_docker_image.endswith(':latest') }}" matrix_mx_puppet_slack_base_path: "{{ matrix_base_data_path }}/mx-puppet-slack" diff --git a/roles/custom/matrix-bridge-mx-puppet-slack/tasks/validate_config.yml b/roles/custom/matrix-bridge-mx-puppet-slack/tasks/validate_config.yml index 0299dcdfe..fd67a1c80 100644 --- a/roles/custom/matrix-bridge-mx-puppet-slack/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mx-puppet-slack/tasks/validate_config.yml @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: 2020 Rodrigo Belem -# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -28,3 +28,4 @@ with_items: - {'old': 'matrix_mx_puppet_slack_redirect_path', 'new': 'matrix_mx_puppet_slack_oauth_redirect_path, but setting matrix_mx_puppet_slack_path_prefix is better'} - {'old': 'matrix_mx_puppet_slack_redirect_uri', 'new': '- + The variable `{{ item.old }}` is deprecated. Please use `{{ item.new }}` instead. + when: "item.old in vars" + with_items: + - {'old': 'matrix_mx_puppet_steam_docker_image_name_prefix', 'new': 'matrix_mx_puppet_steam_docker_image_registry_prefix'} diff --git a/roles/custom/matrix-bridge-mx-puppet-twitter/defaults/main.yml b/roles/custom/matrix-bridge-mx-puppet-twitter/defaults/main.yml index 7dfded3d7..2b8f40c97 100644 --- a/roles/custom/matrix-bridge-mx-puppet-twitter/defaults/main.yml +++ b/roles/custom/matrix-bridge-mx-puppet-twitter/defaults/main.yml @@ -30,8 +30,10 @@ matrix_mx_puppet_twitter_container_http_host_bind_port: '' # renovate: datasource=docker depName=sorunome/mx-puppet-twitter matrix_mx_puppet_twitter_version: latest -matrix_mx_puppet_twitter_docker_image: "{{ matrix_mx_puppet_twitter_docker_image_name_prefix }}sorunome/mx-puppet-twitter:{{ matrix_mx_puppet_twitter_version }}" -matrix_mx_puppet_twitter_docker_image_name_prefix: "{{ 'localhost/' if matrix_mx_puppet_twitter_container_image_self_build else 'docker.io/' }}" +matrix_mx_puppet_twitter_docker_image: "{{ matrix_mx_puppet_twitter_docker_image_registry_prefix }}sorunome/mx-puppet-twitter:{{ matrix_mx_puppet_twitter_version }}" +matrix_mx_puppet_twitter_docker_image_registry_prefix: "{{ 'localhost/' if matrix_mx_puppet_twitter_container_image_self_build else matrix_mx_puppet_twitter_docker_image_registry_prefix_upstream }}" +matrix_mx_puppet_twitter_docker_image_registry_prefix_upstream: "{{ matrix_mx_puppet_twitter_docker_image_registry_prefix_upstream_default }}" +matrix_mx_puppet_twitter_docker_image_registry_prefix_upstream_default: "docker.io/" matrix_mx_puppet_twitter_docker_image_force_pull: "{{ matrix_mx_puppet_twitter_docker_image.endswith(':latest') }}" matrix_mx_puppet_twitter_base_path: "{{ matrix_base_data_path }}/mx-puppet-twitter" diff --git a/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/validate_config.yml b/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/validate_config.yml index 07584ac85..132984974 100644 --- a/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/validate_config.yml @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: 2020 Tulir Asokan -# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -28,3 +28,4 @@ with_items: - {'old': 'matrix_mx_puppet_twitter_webhook_path', 'new': '- + The variable `{{ item.old }}` is deprecated. Please use `{{ item.new }}` instead. + when: "item.old in vars" + with_items: + - {'old': 'matrix_postmoogle_docker_image_name_prefix', 'new': 'matrix_postmoogle_docker_image_registry_prefix'} diff --git a/roles/custom/matrix-bridge-sms/defaults/main.yml b/roles/custom/matrix-bridge-sms/defaults/main.yml index 2cabe39b5..4dc5b4268 100644 --- a/roles/custom/matrix-bridge-sms/defaults/main.yml +++ b/roles/custom/matrix-bridge-sms/defaults/main.yml @@ -7,7 +7,9 @@ matrix_sms_bridge_enabled: true # renovate: datasource=docker depName=folivonet/matrix-sms-bridge matrix_sms_bridge_version: 0.5.9 matrix_sms_bridge_docker_image: "{{ matrix_sms_bridge_docker_image_registry_prefix }}folivonet/matrix-sms-bridge:{{ matrix_sms_bridge_docker_image_tag }}" -matrix_sms_bridge_docker_image_registry_prefix: docker.io/ +matrix_sms_bridge_docker_image_registry_prefix: "{{ matrix_sms_bridge_docker_image_registry_prefix_upstream }}" +matrix_sms_bridge_docker_image_registry_prefix_upstream: "{{ matrix_sms_bridge_docker_image_registry_prefix_upstream_default }}" +matrix_sms_bridge_docker_image_registry_prefix_upstream_default: "docker.io/" matrix_sms_bridge_docker_image_tag: "{{ matrix_sms_bridge_version }}" matrix_sms_bridge_base_path: "{{ matrix_base_data_path }}/matrix-sms-bridge" diff --git a/roles/custom/matrix-bridge-wechat/defaults/main.yml b/roles/custom/matrix-bridge-wechat/defaults/main.yml index 948329083..18d7b01ca 100644 --- a/roles/custom/matrix-bridge-wechat/defaults/main.yml +++ b/roles/custom/matrix-bridge-wechat/defaults/main.yml @@ -7,8 +7,10 @@ matrix_wechat_enabled: true # renovate: datasource=docker depName=lxduo/matrix-wechat matrix_wechat_version: 0.2.4 -matrix_wechat_container_image: "{{ matrix_wechat_container_image_name_prefix }}lxduo/matrix-wechat:{{ matrix_wechat_version }}" -matrix_wechat_container_image_name_prefix: "{{ 'localhost/' if matrix_wechat_container_image_self_build else 'docker.io/' }}" +matrix_wechat_container_image: "{{ matrix_wechat_container_image_registry_prefix }}lxduo/matrix-wechat:{{ matrix_wechat_version }}" +matrix_wechat_container_image_registry_prefix: "{{ 'localhost/' if matrix_wechat_container_image_self_build else matrix_wechat_container_image_registry_prefix_upstream }}" +matrix_wechat_container_image_registry_prefix_upstream: "{{ matrix_wechat_container_image_registry_prefix_upstream_default }}" +matrix_wechat_container_image_registry_prefix_upstream_default: "docker.io/" matrix_wechat_container_image_force_pull: "{{ matrix_wechat_container_image.endswith(':latest') }}" matrix_wechat_container_image_self_build: false diff --git a/roles/custom/matrix-bridge-wechat/tasks/validate_config.yml b/roles/custom/matrix-bridge-wechat/tasks/validate_config.yml index 49159be21..c6868e1ae 100644 --- a/roles/custom/matrix-bridge-wechat/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-wechat/tasks/validate_config.yml @@ -17,3 +17,11 @@ when: matrix_architecture not in ['amd64'] ansible.builtin.fail: msg: "The WeChat Agent does not support the '{{ matrix_architecture }}' architecture yet. Its Dockerfile downloads amd64 binaries and does not work on arm64." + +- name: (Deprecation) Catch and report renamed WeChat variables + ansible.builtin.fail: + msg: >- + The variable `{{ item.old }}` is deprecated. Please use `{{ item.new }}` instead. + when: "item.old in vars" + with_items: + - {'old': 'matrix_wechat_container_image_name_prefix', 'new': 'matrix_wechat_container_image_registry_prefix'} diff --git a/roles/custom/matrix-cactus-comments-client/defaults/main.yml b/roles/custom/matrix-cactus-comments-client/defaults/main.yml index 36493e87f..9c5b61a05 100644 --- a/roles/custom/matrix-cactus-comments-client/defaults/main.yml +++ b/roles/custom/matrix-cactus-comments-client/defaults/main.yml @@ -16,7 +16,9 @@ matrix_cactus_comments_client_public_path_file_permissions: "0644" matrix_cactus_comments_client_version: 2.36.0 matrix_cactus_comments_client_container_image: "{{ matrix_cactus_comments_client_container_image_registry_prefix }}joseluisq/static-web-server:{{ matrix_cactus_comments_client_container_image_tag }}" -matrix_cactus_comments_client_container_image_registry_prefix: docker.io/ +matrix_cactus_comments_client_container_image_registry_prefix: "{{ matrix_cactus_comments_client_container_image_registry_prefix_upstream }}" +matrix_cactus_comments_client_container_image_registry_prefix_upstream: "{{ matrix_cactus_comments_client_container_image_registry_prefix_upstream_default }}" +matrix_cactus_comments_client_container_image_registry_prefix_upstream_default: docker.io/ matrix_cactus_comments_client_container_image_tag: "{{ 'latest' if matrix_cactus_comments_client_version == 'latest' else (matrix_cactus_comments_client_version + '-alpine') }}" matrix_cactus_comments_client_container_image_force_pull: "{{ matrix_cactus_comments_client_container_image.endswith(':latest') }}" diff --git a/roles/custom/matrix-cactus-comments/defaults/main.yml b/roles/custom/matrix-cactus-comments/defaults/main.yml index 96f98d048..4794d1517 100644 --- a/roles/custom/matrix-cactus-comments/defaults/main.yml +++ b/roles/custom/matrix-cactus-comments/defaults/main.yml @@ -28,7 +28,9 @@ matrix_cactus_comments_container_port: 5000 # renovate: datasource=docker depName=cactuscomments/cactus-appservice matrix_cactus_comments_version: 0.9.0 matrix_cactus_comments_docker_image: "{{ matrix_cactus_comments_docker_image_registry_prefix }}cactuscomments/cactus-appservice:{{ matrix_cactus_comments_docker_image_tag }}" -matrix_cactus_comments_docker_image_registry_prefix: docker.io/ +matrix_cactus_comments_docker_image_registry_prefix: "{{ 'localhost/' if matrix_cactus_comments_container_image_self_build else matrix_cactus_comments_docker_image_registry_prefix_upstream }}" +matrix_cactus_comments_docker_image_registry_prefix_upstream: "{{ matrix_cactus_comments_docker_image_registry_prefix_upstream_default }}" +matrix_cactus_comments_docker_image_registry_prefix_upstream_default: docker.io/ matrix_cactus_comments_docker_image_tag: "{{ matrix_cactus_comments_version }}" matrix_cactus_comments_docker_image_force_pull: "{{ matrix_cactus_comments_docker_image.endswith(':latest') }}" diff --git a/roles/custom/matrix-client-cinny/defaults/main.yml b/roles/custom/matrix-client-cinny/defaults/main.yml index 7612576e5..918740edb 100644 --- a/roles/custom/matrix-client-cinny/defaults/main.yml +++ b/roles/custom/matrix-client-cinny/defaults/main.yml @@ -8,8 +8,10 @@ matrix_client_cinny_container_image_self_build_repo: "https://github.com/ajbura/ # renovate: datasource=docker depName=ajbura/cinny matrix_client_cinny_version: v4.4.0 -matrix_client_cinny_docker_image: "{{ matrix_client_cinny_docker_image_name_prefix }}ajbura/cinny:{{ matrix_client_cinny_version }}" -matrix_client_cinny_docker_image_name_prefix: "{{ 'localhost/' if matrix_client_cinny_container_image_self_build else 'docker.io/' }}" +matrix_client_cinny_docker_image: "{{ matrix_client_cinny_docker_image_registry_prefix }}ajbura/cinny:{{ matrix_client_cinny_version }}" +matrix_client_cinny_docker_image_registry_prefix: "{{ 'localhost/' if matrix_client_cinny_container_image_self_build else matrix_client_cinny_docker_image_registry_prefix_upstream }}" +matrix_client_cinny_docker_image_registry_prefix_upstream: "{{ matrix_client_cinny_docker_image_registry_prefix_upstream_default }}" +matrix_client_cinny_docker_image_registry_prefix_upstream_default: docker.io/ matrix_client_cinny_docker_image_force_pull: "{{ matrix_client_cinny_docker_image.endswith(':latest') }}" matrix_client_cinny_data_path: "{{ matrix_base_data_path }}/client-cinny" diff --git a/roles/custom/matrix-client-cinny/tasks/validate_config.yml b/roles/custom/matrix-client-cinny/tasks/validate_config.yml index 7a7ee2dfe..e9a54ac0a 100644 --- a/roles/custom/matrix-client-cinny/tasks/validate_config.yml +++ b/roles/custom/matrix-client-cinny/tasks/validate_config.yml @@ -9,6 +9,14 @@ - {'name': 'matrix_client_cinny_container_network', when: true} - {'name': 'matrix_client_cinny_container_labels_traefik_compression_middleware_name', when: "{{ matrix_client_cinny_container_labels_traefik_compression_middleware_enabled }}"} +- name: (Deprecation) Catch and report renamed Cinny variables + ansible.builtin.fail: + msg: >- + The variable `{{ item.old }}` is deprecated. Please use `{{ item.new }}` instead. + when: "item.old in vars" + with_items: + - {'old': 'matrix_client_cinny_container_image_name_prefix', 'new': 'matrix_client_cinny_container_image_registry_prefix'} + - name: Fail if matrix_client_cinny_path_prefix is not / ansible.builtin.fail: msg: >- diff --git a/roles/custom/matrix-client-element/defaults/main.yml b/roles/custom/matrix-client-element/defaults/main.yml index 1cfcae331..ef415efa1 100644 --- a/roles/custom/matrix-client-element/defaults/main.yml +++ b/roles/custom/matrix-client-element/defaults/main.yml @@ -13,8 +13,10 @@ matrix_client_element_container_image_self_build_low_memory_system_patch_enabled # renovate: datasource=docker depName=vectorim/element-web matrix_client_element_version: v1.11.92 -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 'docker.io/' }}" +matrix_client_element_docker_image: "{{ matrix_client_element_docker_image_registry_prefix }}vectorim/element-web:{{ matrix_client_element_version }}" +matrix_client_element_docker_image_registry_prefix: "{{ 'localhost/' if matrix_client_element_container_image_self_build else matrix_client_element_docker_image_registry_prefix_upstream }}" +matrix_client_element_docker_image_registry_prefix_upstream: "{{ matrix_client_element_docker_image_registry_prefix_upstream_default }}" +matrix_client_element_docker_image_registry_prefix_upstream_default: docker.io/ matrix_client_element_docker_image_force_pull: "{{ matrix_client_element_docker_image.endswith(':latest') }}" matrix_client_element_data_path: "{{ matrix_base_data_path }}/client-element" diff --git a/roles/custom/matrix-client-element/tasks/validate_config.yml b/roles/custom/matrix-client-element/tasks/validate_config.yml index a61d8bcaf..fa76cdcd2 100644 --- a/roles/custom/matrix-client-element/tasks/validate_config.yml +++ b/roles/custom/matrix-client-element/tasks/validate_config.yml @@ -45,6 +45,7 @@ - {'old': 'matrix_client_element_branding_welcomeBackgroundUrl', 'new': 'matrix_client_element_branding_welcome_background_url'} - {'old': 'matrix_client_element_jitsi_preferredDomain', 'new': 'matrix_client_element_jitsi_preferred_domain'} - {'old': 'matrix_client_element_welcome_user_id', 'new': ''} + - {'old': 'matrix_client_element_docker_image_name_prefix', 'new': 'matrix_client_element_docker_image_registry_prefix'} - when: matrix_client_element_container_labels_traefik_enabled | bool block: diff --git a/roles/custom/matrix-client-fluffychat/defaults/main.yml b/roles/custom/matrix-client-fluffychat/defaults/main.yml index 0f747c584..adb72fc94 100644 --- a/roles/custom/matrix-client-fluffychat/defaults/main.yml +++ b/roles/custom/matrix-client-fluffychat/defaults/main.yml @@ -9,8 +9,10 @@ matrix_client_fluffychat_container_image_self_build_version: "{{ 'main' if matri # renovate: datasource=docker depName=ghcr.io/etkecc/fluffychat-web matrix_client_fluffychat_version: v1.25.1 -matrix_client_fluffychat_docker_image: "{{ matrix_client_fluffychat_docker_image_name_prefix }}etkecc/fluffychat-web:{{ matrix_client_fluffychat_version }}" -matrix_client_fluffychat_docker_image_name_prefix: "{{ 'localhost/' if matrix_client_fluffychat_container_image_self_build else 'ghcr.io/' }}" +matrix_client_fluffychat_docker_image: "{{ matrix_client_fluffychat_docker_image_registry_prefix }}etkecc/fluffychat-web:{{ matrix_client_fluffychat_version }}" +matrix_client_fluffychat_docker_image_registry_prefix: "{{ 'localhost/' if matrix_client_fluffychat_container_image_self_build else matrix_client_fluffychat_docker_image_registry_prefix_upstream }}" +matrix_client_fluffychat_docker_image_registry_prefix_upstream: "{{ matrix_client_fluffychat_docker_image_registry_prefix_upstream_default }}" +matrix_client_fluffychat_docker_image_registry_prefix_upstream_default: ghcr.io/ matrix_client_fluffychat_docker_image_force_pull: "{{ matrix_client_fluffychat_docker_image.endswith(':latest') }}" matrix_client_fluffychat_data_path: "{{ matrix_base_data_path }}/client-fluffychat" diff --git a/roles/custom/matrix-client-fluffychat/tasks/validate_config.yml b/roles/custom/matrix-client-fluffychat/tasks/validate_config.yml index 063ffa898..b42495c53 100644 --- a/roles/custom/matrix-client-fluffychat/tasks/validate_config.yml +++ b/roles/custom/matrix-client-fluffychat/tasks/validate_config.yml @@ -8,6 +8,14 @@ with_items: - matrix_client_fluffychat_container_network +- name: (Deprecation) Catch and report renamed FluffyChat Web variables + ansible.builtin.fail: + msg: >- + The variable `{{ item.old }}` is deprecated. Please use `{{ item.new }}` instead. + when: "item.old in vars" + with_items: + - {'old': 'matrix_client_fluffychat_container_image_name_prefix', 'new': 'matrix_client_fluffychat_container_image_registry_prefix'} + - when: matrix_client_fluffychat_container_labels_traefik_enabled | bool block: - name: Fail if required matrix-client-fluffychat Traefik settings not defined diff --git a/roles/custom/matrix-client-hydrogen/defaults/main.yml b/roles/custom/matrix-client-hydrogen/defaults/main.yml index 78d1b8618..8d92b9f88 100644 --- a/roles/custom/matrix-client-hydrogen/defaults/main.yml +++ b/roles/custom/matrix-client-hydrogen/defaults/main.yml @@ -8,8 +8,10 @@ matrix_client_hydrogen_container_image_self_build_repo: "https://github.com/elem # renovate: datasource=docker depName=ghcr.io/element-hq/hydrogen-web 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_name_prefix: "{{ 'localhost/' if matrix_client_hydrogen_container_image_self_build else 'ghcr.io/' }}" +matrix_client_hydrogen_docker_image: "{{ matrix_client_hydrogen_docker_image_registry_prefix }}element-hq/hydrogen-web:{{ matrix_client_hydrogen_version }}" +matrix_client_hydrogen_docker_image_registry_prefix: "{{ 'localhost/' if matrix_client_hydrogen_container_image_self_build else matrix_client_hydrogen_docker_image_registry_prefix_upstream }}" +matrix_client_hydrogen_docker_image_registry_prefix_upstream: "{{ matrix_client_hydrogen_docker_image_registry_prefix_upstream_default }}" +matrix_client_hydrogen_docker_image_registry_prefix_upstream_default: ghcr.io/ matrix_client_hydrogen_docker_image_force_pull: "{{ matrix_client_hydrogen_docker_image.endswith(':latest') }}" matrix_client_hydrogen_data_path: "{{ matrix_base_data_path }}/client-hydrogen" diff --git a/roles/custom/matrix-client-hydrogen/tasks/validate_config.yml b/roles/custom/matrix-client-hydrogen/tasks/validate_config.yml index 93b9354eb..c5affb624 100644 --- a/roles/custom/matrix-client-hydrogen/tasks/validate_config.yml +++ b/roles/custom/matrix-client-hydrogen/tasks/validate_config.yml @@ -10,6 +10,14 @@ - {'name': 'matrix_client_hydrogen_container_network', when: true} - {'name': 'matrix_client_hydrogen_container_labels_traefik_compression_middleware_name', when: "{{ matrix_client_hydrogen_container_labels_traefik_compression_middleware_enabled }}"} +- name: (Deprecation) Catch and report renamed Hydrogen variables + ansible.builtin.fail: + msg: >- + The variable `{{ item.old }}` is deprecated. Please use `{{ item.new }}` instead. + when: "item.old in vars" + with_items: + - {'old': 'matrix_client_hydrogen_container_image_name_prefix', 'new': 'matrix_client_hydrogen_container_image_registry_prefix'} + - when: matrix_client_hydrogen_container_labels_traefik_enabled | bool block: - name: Fail if required matrix-client-hydrogen Traefik settings not defined diff --git a/roles/custom/matrix-client-schildichat/defaults/main.yml b/roles/custom/matrix-client-schildichat/defaults/main.yml index 8d170e4e3..ec3d5e39d 100644 --- a/roles/custom/matrix-client-schildichat/defaults/main.yml +++ b/roles/custom/matrix-client-schildichat/defaults/main.yml @@ -13,8 +13,10 @@ matrix_client_schildichat_container_image_self_build_low_memory_system_patch_ena # renovate: datasource=docker depName=ghcr.io/etkecc/schildichat-web matrix_client_schildichat_version: 1.11.86-sc.0.test.0 -matrix_client_schildichat_docker_image: "{{ matrix_client_schildichat_docker_image_name_prefix }}etkecc/schildichat-web:{{ matrix_client_schildichat_version }}" -matrix_client_schildichat_docker_image_name_prefix: "{{ 'localhost/' if matrix_client_schildichat_container_image_self_build else 'ghcr.io/' }}" +matrix_client_schildichat_docker_image: "{{ matrix_client_schildichat_docker_image_registry_prefix }}etkecc/schildichat-web:{{ matrix_client_schildichat_version }}" +matrix_client_schildichat_docker_image_registry_prefix: "{{ 'localhost/' if matrix_client_schildichat_container_image_self_build else matrix_client_schildichat_docker_image_registry_prefix_upstream }}" +matrix_client_schildichat_docker_image_registry_prefix_upstream: "{{ matrix_client_schildichat_docker_image_registry_prefix_upstream_default }}" +matrix_client_schildichat_docker_image_registry_prefix_upstream_default: ghcr.io/ matrix_client_schildichat_docker_image_force_pull: "{{ matrix_client_schildichat_docker_image.endswith(':latest') }}" matrix_client_schildichat_data_path: "{{ matrix_base_data_path }}/client-schildichat" diff --git a/roles/custom/matrix-client-schildichat/tasks/validate_config.yml b/roles/custom/matrix-client-schildichat/tasks/validate_config.yml index a9cb7358c..3331a705b 100644 --- a/roles/custom/matrix-client-schildichat/tasks/validate_config.yml +++ b/roles/custom/matrix-client-schildichat/tasks/validate_config.yml @@ -8,6 +8,7 @@ when: "item.old in vars" with_items: - {'old': 'matrix_client_schildichat_welcome_user_id', 'new': ''} + - {'old': 'matrix_client_schildichat_container_image_name_prefix', 'new': 'matrix_client_schildichat_container_image_registry_prefix'} - name: Fail if required SchildiChat Web settings not defined ansible.builtin.fail: diff --git a/roles/custom/matrix-conduit/defaults/main.yml b/roles/custom/matrix-conduit/defaults/main.yml index 247c95751..aba5a8a3a 100644 --- a/roles/custom/matrix-conduit/defaults/main.yml +++ b/roles/custom/matrix-conduit/defaults/main.yml @@ -7,8 +7,10 @@ matrix_conduit_enabled: true matrix_conduit_hostname: '' -matrix_conduit_docker_image: "{{ matrix_conduit_docker_image_name_prefix }}matrixconduit/matrix-conduit:{{ matrix_conduit_docker_image_tag }}" -matrix_conduit_docker_image_name_prefix: "docker.io/" +matrix_conduit_docker_image: "{{ matrix_conduit_docker_image_registry_prefix }}matrixconduit/matrix-conduit:{{ matrix_conduit_docker_image_tag }}" +matrix_conduit_docker_image_registry_prefix: "{{ matrix_conduit_docker_image_registry_prefix_upstream }}" +matrix_conduit_docker_image_registry_prefix_upstream: "{{ matrix_conduit_docker_image_registry_prefix_upstream_default }}" +matrix_conduit_docker_image_registry_prefix_upstream_default: docker.io/ # renovate: datasource=docker depName=matrixconduit/matrix-conduit matrix_conduit_docker_image_tag: "v0.9.0" matrix_conduit_docker_image_force_pull: "{{ matrix_conduit_docker_image.endswith(':latest') }}" diff --git a/roles/custom/matrix-conduit/tasks/validate_config.yml b/roles/custom/matrix-conduit/tasks/validate_config.yml index 7d643c654..8635661d0 100644 --- a/roles/custom/matrix-conduit/tasks/validate_config.yml +++ b/roles/custom/matrix-conduit/tasks/validate_config.yml @@ -9,3 +9,11 @@ - {'name': 'matrix_conduit_hostname', when: true} - {'name': 'matrix_conduit_container_network', when: true} - {'name': 'matrix_conduit_container_labels_internal_client_api_traefik_entrypoints', when: "{{ matrix_conduit_container_labels_internal_client_api_enabled }}"} + +- name: (Deprecation) Catch and report renamed Conduit variables + ansible.builtin.fail: + msg: >- + The variable `{{ item.old }}` is deprecated. Please use `{{ item.new }}` instead. + when: "item.old in vars" + with_items: + - {'old': 'matrix_conduit_container_image_name_prefix', 'new': 'matrix_conduit_docker_image_registry_prefix'} diff --git a/roles/custom/matrix-conduwuit/defaults/main.yml b/roles/custom/matrix-conduwuit/defaults/main.yml index f302ed664..ad420f2a4 100644 --- a/roles/custom/matrix-conduwuit/defaults/main.yml +++ b/roles/custom/matrix-conduwuit/defaults/main.yml @@ -8,11 +8,12 @@ matrix_conduwuit_enabled: true matrix_conduwuit_hostname: '' matrix_conduwuit_docker_image: "{{ matrix_conduwuit_docker_image_registry_prefix }}girlbossceo/conduwuit:{{ matrix_conduwuit_docker_image_tag }}" -matrix_conduwuit_docker_image_name_prefix: "docker.io/" # renovate: datasource=docker depName=ghcr.io/girlbossceo/conduwuit matrix_conduwuit_docker_image_tag: v0.4.6-8f7ade4c22533a3177bfd8f175e178573ba6c1d4 matrix_conduwuit_docker_image_force_pull: "{{ matrix_conduwuit_docker_image.endswith(':latest') }}" -matrix_conduwuit_docker_image_registry_prefix: ghcr.io/ +matrix_conduwuit_docker_image_registry_prefix: "{{ matrix_conduwuit_docker_image_registry_prefix_upstream }}" +matrix_conduwuit_docker_image_registry_prefix_upstream: "{{ matrix_conduwuit_docker_image_registry_prefix_upstream_default }}" +matrix_conduwuit_docker_image_registry_prefix_upstream_default: ghcr.io/ matrix_conduwuit_base_path: "{{ matrix_base_data_path }}/conduwuit" matrix_conduwuit_config_path: "{{ matrix_conduwuit_base_path }}/config" diff --git a/roles/custom/matrix-corporal/defaults/main.yml b/roles/custom/matrix-corporal/defaults/main.yml index 1b0d52f0a..b446acd3f 100644 --- a/roles/custom/matrix-corporal/defaults/main.yml +++ b/roles/custom/matrix-corporal/defaults/main.yml @@ -81,8 +81,10 @@ matrix_corporal_systemd_required_services_list_default: "{{ [devture_systemd_doc matrix_corporal_systemd_required_services_list_auto: [] matrix_corporal_systemd_required_services_list_custom: [] -matrix_corporal_docker_image: "{{ matrix_corporal_docker_image_name_prefix }}devture/matrix-corporal:{{ matrix_corporal_docker_image_tag }}" -matrix_corporal_docker_image_name_prefix: "{{ 'localhost/' if matrix_corporal_container_image_self_build else 'docker.io/' }}" +matrix_corporal_docker_image: "{{ matrix_corporal_docker_image_registry_prefix }}devture/matrix-corporal:{{ matrix_corporal_docker_image_tag }}" +matrix_corporal_docker_image_registry_prefix: "{{ 'localhost/' if matrix_corporal_container_image_self_build else matrix_corporal_docker_image_registry_prefix_upstream }}" +matrix_corporal_docker_image_registry_prefix_upstream: "{{ matrix_corporal_docker_image_registry_prefix_upstream_default }}" +matrix_corporal_docker_image_registry_prefix_upstream_default: docker.io/ matrix_corporal_docker_image_tag: "{{ matrix_corporal_version }}" # for backward-compatibility matrix_corporal_docker_image_force_pull: "{{ matrix_corporal_docker_image.endswith(':latest') }}" diff --git a/roles/custom/matrix-corporal/tasks/validate_config.yml b/roles/custom/matrix-corporal/tasks/validate_config.yml index 39f7190d4..b6f857e62 100644 --- a/roles/custom/matrix-corporal/tasks/validate_config.yml +++ b/roles/custom/matrix-corporal/tasks/validate_config.yml @@ -26,3 +26,4 @@ with_items: - {'old': 'matrix_corporal_container_expose_ports', 'new': ''} - {'old': 'matrix_corporal_reconciliation_user_id_local_part', 'new': 'matrix_corporal_corporal_user_id_local_part'} + - {'old': 'matrix_corporal_container_image_name_prefix', 'new': 'matrix_corporal_docker_image_registry_prefix'} diff --git a/roles/custom/matrix-coturn/defaults/main.yml b/roles/custom/matrix-coturn/defaults/main.yml index febee5009..b3ecb1efd 100644 --- a/roles/custom/matrix-coturn/defaults/main.yml +++ b/roles/custom/matrix-coturn/defaults/main.yml @@ -10,8 +10,10 @@ matrix_coturn_container_image_self_build_repo_dockerfile_path: "docker/coturn/al # renovate: datasource=docker depName=coturn/coturn matrix_coturn_version: 4.6.2-r11 -matrix_coturn_docker_image: "{{ matrix_coturn_docker_image_name_prefix }}coturn/coturn:{{ matrix_coturn_version }}-alpine" -matrix_coturn_docker_image_name_prefix: "{{ 'localhost/' if matrix_coturn_container_image_self_build else 'docker.io/' }}" +matrix_coturn_docker_image: "{{ matrix_coturn_docker_image_registry_prefix }}coturn/coturn:{{ matrix_coturn_version }}-alpine" +matrix_coturn_docker_image_registry_prefix: "{{ 'localhost/' if matrix_coturn_container_image_self_build else matrix_coturn_docker_image_registry_prefix_upstream }}" +matrix_coturn_docker_image_registry_prefix_upstream: "{{ matrix_coturn_docker_image_registry_prefix_upstream_default }}" +matrix_coturn_docker_image_registry_prefix_upstream_default: docker.io/ matrix_coturn_docker_image_force_pull: "{{ matrix_coturn_docker_image.endswith(':latest') }}" # The Docker network that coturn would be put into. diff --git a/roles/custom/matrix-coturn/tasks/validate_config.yml b/roles/custom/matrix-coturn/tasks/validate_config.yml index a90adb812..2b71deb2a 100644 --- a/roles/custom/matrix-coturn/tasks/validate_config.yml +++ b/roles/custom/matrix-coturn/tasks/validate_config.yml @@ -10,6 +10,7 @@ - {'old': 'matrix_coturn_docker_network', 'new': 'matrix_coturn_container_network'} - {'old': 'matrix_coturn_container_stun_plain_host_bind_port', 'new': 'superseded by matrix_coturn_container_stun_plain_host_bind_port_tcp and matrix_coturn_container_stun_plain_host_bind_port_udp'} - {'old': 'matrix_coturn_container_stun_tls_host_bind_port', 'new': 'superseded by matrix_coturn_container_stun_tls_host_bind_port_tcp and matrix_coturn_container_stun_tls_host_bind_port_udp'} + - {'old': 'matrix_coturn_container_image_name_prefix', 'new': 'matrix_coturn_docker_image_registry_prefix'} - name: Fail if matrix_coturn_authentication_method is invalid ansible.builtin.fail: diff --git a/roles/custom/matrix-dendrite/defaults/main.yml b/roles/custom/matrix-dendrite/defaults/main.yml index e39ccae6a..8a3a7bc40 100644 --- a/roles/custom/matrix-dendrite/defaults/main.yml +++ b/roles/custom/matrix-dendrite/defaults/main.yml @@ -10,8 +10,10 @@ matrix_dendrite_container_image_self_build: false matrix_dendrite_container_image_self_build_repo: "https://github.com/matrix-org/dendrite.git" matrix_dendrite_docker_image_path: "matrixdotorg/dendrite-monolith" -matrix_dendrite_docker_image: "{{ matrix_dendrite_docker_image_name_prefix }}{{ matrix_dendrite_docker_image_path }}:{{ matrix_dendrite_docker_image_tag }}" -matrix_dendrite_docker_image_name_prefix: "{{ 'localhost/' if matrix_dendrite_container_image_self_build else 'docker.io/' }}" +matrix_dendrite_docker_image: "{{ matrix_dendrite_docker_image_registry_prefix }}{{ matrix_dendrite_docker_image_path }}:{{ matrix_dendrite_docker_image_tag }}" +matrix_dendrite_docker_image_registry_prefix: "{{ 'localhost/' if matrix_dendrite_container_image_self_build else matrix_dendrite_docker_image_registry_prefix_upstream }}" +matrix_dendrite_docker_image_registry_prefix_upstream: "{{ matrix_dendrite_docker_image_registry_prefix_upstream_default }}" +matrix_dendrite_docker_image_registry_prefix_upstream_default: docker.io/ # renovate: datasource=docker depName=matrixdotorg/dendrite-monolith matrix_dendrite_docker_image_tag: "v0.14.1" matrix_dendrite_docker_image_force_pull: "{{ matrix_dendrite_docker_image.endswith(':latest') }}" diff --git a/roles/custom/matrix-dendrite/tasks/validate_config.yml b/roles/custom/matrix-dendrite/tasks/validate_config.yml index 581825a38..339ac8fb2 100644 --- a/roles/custom/matrix-dendrite/tasks/validate_config.yml +++ b/roles/custom/matrix-dendrite/tasks/validate_config.yml @@ -27,6 +27,7 @@ - {'old': 'matrix_dendrite_pushserver_database', 'new': 'matrix_dendrite_push_server_database'} - {'old': 'matrix_dendrite_relayapi_database', 'new': 'matrix_dendrite_relay_api_database'} - {'old': 'matrix_dendrite_keyserver_database', 'new': 'matrix_dendrite_key_server_database'} + - {'old': 'matrix_dendrite_container_image_name_prefix', 'new': 'matrix_dendrite_docker_image_registry_prefix'} - name: Fail if required Dendrite settings not defined ansible.builtin.fail: diff --git a/roles/custom/matrix-dimension/defaults/main.yml b/roles/custom/matrix-dimension/defaults/main.yml index d0ba9727c..c5226694f 100644 --- a/roles/custom/matrix-dimension/defaults/main.yml +++ b/roles/custom/matrix-dimension/defaults/main.yml @@ -31,8 +31,10 @@ matrix_dimension_docker_src_files_path: "{{ matrix_base_data_path }}/docker-src/ # renovate: datasource=docker depName=turt2live/matrix-dimension matrix_dimension_version: latest -matrix_dimension_docker_image: "{{ matrix_dimension_docker_image_name_prefix }}turt2live/matrix-dimension:{{ matrix_dimension_version }}" -matrix_dimension_docker_image_name_prefix: "{{ 'localhost/' if matrix_dimension_container_image_self_build else 'docker.io/' }}" +matrix_dimension_docker_image: "{{ matrix_dimension_docker_image_registry_prefix }}turt2live/matrix-dimension:{{ matrix_dimension_version }}" +matrix_dimension_docker_image_registry_prefix: "{{ 'localhost/' if matrix_dimension_container_image_self_build else matrix_dimension_docker_image_registry_prefix_upstream }}" +matrix_dimension_docker_image_registry_prefix_upstream: "{{ matrix_dimension_docker_image_registry_prefix_upstream_default }}" +matrix_dimension_docker_image_registry_prefix_upstream_default: docker.io/ matrix_dimension_docker_image_force_pull: "{{ matrix_dimension_docker_image.endswith(':latest') }}" # List of systemd services that matrix-dimension.service depends on. diff --git a/roles/custom/matrix-dimension/tasks/validate_config.yml b/roles/custom/matrix-dimension/tasks/validate_config.yml index b001ceedb..bad6712a2 100644 --- a/roles/custom/matrix-dimension/tasks/validate_config.yml +++ b/roles/custom/matrix-dimension/tasks/validate_config.yml @@ -22,6 +22,7 @@ when: "item.old in vars" with_items: - {'old': 'matrix_dimension_container_expose_port', 'new': ''} + - {'old': 'matrix_dimension_container_image_name_prefix', 'new': 'matrix_dimension_docker_image_registry_prefix'} - when: matrix_dimension_container_labels_traefik_enabled | bool block: diff --git a/roles/custom/matrix-dynamic-dns/defaults/main.yml b/roles/custom/matrix-dynamic-dns/defaults/main.yml index 269072c67..e9b7b0eab 100644 --- a/roles/custom/matrix-dynamic-dns/defaults/main.yml +++ b/roles/custom/matrix-dynamic-dns/defaults/main.yml @@ -11,9 +11,11 @@ matrix_dynamic_dns_daemon_interval: '300' matrix_dynamic_dns_version: 4.0.0 # The docker container to use when in mode -matrix_dynamic_dns_docker_image: "{{ matrix_dynamic_dns_docker_image_name_prefix }}linuxserver/ddclient:{{ matrix_dynamic_dns_version }}" +matrix_dynamic_dns_docker_image: "{{ matrix_dynamic_dns_docker_image_registry_prefix }}linuxserver/ddclient:{{ matrix_dynamic_dns_version }}" -matrix_dynamic_dns_docker_image_name_prefix: "{{ 'localhost/' if matrix_dynamic_dns_container_image_self_build else 'docker.io/' }}" +matrix_dynamic_dns_docker_image_registry_prefix: "{{ 'localhost/' if matrix_dynamic_dns_container_image_self_build else matrix_dynamic_dns_docker_image_registry_prefix_upstream }}" +matrix_dynamic_dns_docker_image_registry_prefix_upstream: "{{ matrix_dynamic_dns_docker_image_registry_prefix_upstream_default }}" +matrix_dynamic_dns_docker_image_registry_prefix_upstream_default: docker.io/ # The image to force pull matrix_dynamic_dns_docker_image_force_pull: "{{ matrix_dynamic_dns_docker_image.endswith(':latest') }}" diff --git a/roles/custom/matrix-dynamic-dns/tasks/validate_config.yml b/roles/custom/matrix-dynamic-dns/tasks/validate_config.yml index 8174a8487..d7dd34717 100644 --- a/roles/custom/matrix-dynamic-dns/tasks/validate_config.yml +++ b/roles/custom/matrix-dynamic-dns/tasks/validate_config.yml @@ -1,12 +1,12 @@ --- -- name: Fail if no configurations specified +- name: Fail if no matrix-dynamic-dns configurations specified ansible.builtin.fail: msg: >- You need to define at least one configuration in `matrix_dynamic_dns_domain_configurations` for using matrix-dynamic-dns. when: "matrix_dynamic_dns_domain_configurations | length == 0" -- name: Fail if required settings not defined in configuration blocks +- name: Fail if required matrix-dynamic-dns settings not defined in configuration blocks ansible.builtin.fail: msg: >- One of the configurations in matrix_dynamic_dns_domain_configurations is missing a required key (domain, provider, protocol). @@ -15,10 +15,18 @@ loop_control: loop_var: configuration -- name: Fail if required mautrix-dynamic-dns settings not defined +- name: Fail if required matrix-dynamic-dns settings not defined ansible.builtin.fail: msg: >- You need to define a required configuration setting (`{{ item.name }}`). when: "item.when | bool and vars[item.name] == ''" with_items: - {'name': 'matrix_dynamic_dns_container_network', when: true} + +- name: (Deprecation) Catch and report renamed matrix-dynamic-dns variables + ansible.builtin.fail: + msg: >- + The variable `{{ item.old }}` is deprecated. Please use `{{ item.new }}` instead. + when: "item.old in vars" + with_items: + - {'old': 'matrix_dynamic_dns_container_image_name_prefix', 'new': 'matrix_dynamic_dns_docker_image_registry_prefix'} diff --git a/roles/custom/matrix-email2matrix/defaults/main.yml b/roles/custom/matrix-email2matrix/defaults/main.yml index d5355e877..966d3a21b 100644 --- a/roles/custom/matrix-email2matrix/defaults/main.yml +++ b/roles/custom/matrix-email2matrix/defaults/main.yml @@ -13,8 +13,10 @@ matrix_email2matrix_container_image_self_build_branch: "{{ matrix_email2matrix_v # renovate: datasource=docker depName=devture/email2matrix matrix_email2matrix_version: 1.1.0 -matrix_email2matrix_docker_image_prefix: "{{ 'localhost/' if matrix_email2matrix_container_image_self_build else 'docker.io/' }}" -matrix_email2matrix_docker_image: "{{ matrix_email2matrix_docker_image_prefix }}devture/email2matrix:{{ matrix_email2matrix_version }}" +matrix_email2matrix_docker_image: "{{ matrix_email2matrix_docker_image_registry_prefix }}devture/email2matrix:{{ matrix_email2matrix_version }}" +matrix_email2matrix_docker_image_registry_prefix: "{{ 'localhost/' if matrix_email2matrix_container_image_self_build else matrix_email2matrix_docker_image_registry_prefix_upstream }}" +matrix_email2matrix_docker_image_registry_prefix_upstream: "{{ matrix_email2matrix_docker_image_registry_prefix_upstream_default }}" +matrix_email2matrix_docker_image_registry_prefix_upstream_default: docker.io/ matrix_email2matrix_docker_image_force_pull: "{{ matrix_email2matrix_docker_image.endswith(':latest') }}" matrix_email2matrix_container_network: "" diff --git a/roles/custom/matrix-email2matrix/tasks/validate_config.yml b/roles/custom/matrix-email2matrix/tasks/validate_config.yml index eab9b3268..d623bc583 100644 --- a/roles/custom/matrix-email2matrix/tasks/validate_config.yml +++ b/roles/custom/matrix-email2matrix/tasks/validate_config.yml @@ -13,3 +13,11 @@ when: "item.when | bool and vars[item.name] == ''" with_items: - {'name': 'matrix_email2matrix_container_network', when: true} + +- name: (Deprecation) Catch and report renamed Email2Matrix variables + ansible.builtin.fail: + msg: >- + The variable `{{ item.old }}` is deprecated. Please use `{{ item.new }}` instead. + when: "item.old in vars" + with_items: + - {'old': 'matrix_email2matrix_docker_image_name_prefix', 'new': 'matrix_email2matrix_docker_image_registry_prefix'} diff --git a/roles/custom/matrix-ldap-registration-proxy/defaults/main.yml b/roles/custom/matrix-ldap-registration-proxy/defaults/main.yml index ce9ba1259..b7dd0996c 100644 --- a/roles/custom/matrix-ldap-registration-proxy/defaults/main.yml +++ b/roles/custom/matrix-ldap-registration-proxy/defaults/main.yml @@ -6,7 +6,12 @@ matrix_ldap_registration_proxy_enabled: true matrix_ldap_registration_proxy_hostname: '' -matrix_ldap_registration_proxy_docker_image: matrix_ldap_registration_proxy +matrix_ldap_registration_proxy_docker_image: "{{ matrix_ldap_registration_proxy_docker_image_registry_prefix }}matrix_ldap_registration_proxy" +matrix_ldap_registration_proxy_docker_image_registry_prefix: "{{ 'localhost/' if matrix_ldap_registration_proxy_container_image_self_build else matrix_ldap_registration_proxy_docker_image_registry_prefix_upstream }}" +matrix_ldap_registration_proxy_docker_image_registry_prefix_upstream: "{{ matrix_ldap_registration_proxy_docker_image_registry_prefix_upstream_default }}" +matrix_ldap_registration_proxy_docker_image_registry_prefix_upstream_default: "" + +matrix_ldap_registration_proxy_container_image_self_build: true matrix_ldap_registration_proxy_container_image_self_build_repo: "https://gitlab.com/activism.international/matrix_ldap_registration_proxy.git" matrix_ldap_registration_proxy_container_image_self_build_branch: "{{ matrix_ldap_registration_proxy_version }}" diff --git a/roles/custom/matrix-ma1sd/defaults/main.yml b/roles/custom/matrix-ma1sd/defaults/main.yml index 78d6cfac4..53c93df33 100644 --- a/roles/custom/matrix-ma1sd/defaults/main.yml +++ b/roles/custom/matrix-ma1sd/defaults/main.yml @@ -14,8 +14,10 @@ matrix_ma1sd_container_image_self_build_branch: "{{ matrix_ma1sd_version }}" # renovate: datasource=docker depName=ma1uta/ma1sd matrix_ma1sd_version: "2.5.0" -matrix_ma1sd_docker_image: "{{ matrix_ma1sd_docker_image_name_prefix }}ma1uta/ma1sd:{{ matrix_ma1sd_version }}" -matrix_ma1sd_docker_image_name_prefix: "{{ 'localhost/' if matrix_ma1sd_container_image_self_build else 'docker.io/' }}" +matrix_ma1sd_docker_image: "{{ matrix_ma1sd_docker_image_registry_prefix }}ma1uta/ma1sd:{{ matrix_ma1sd_version }}" +matrix_ma1sd_docker_image_registry_prefix: "{{ 'localhost/' if matrix_ma1sd_container_image_self_build else matrix_ma1sd_docker_image_registry_prefix_upstream }}" +matrix_ma1sd_docker_image_registry_prefix_upstream: "{{ matrix_ma1sd_docker_image_registry_prefix_upstream_default }}" +matrix_ma1sd_docker_image_registry_prefix_upstream_default: "docker.io/" matrix_ma1sd_docker_image_force_pull: "{{ matrix_ma1sd_docker_image.endswith(':latest') }}" matrix_ma1sd_base_path: "{{ matrix_base_data_path }}/ma1sd" diff --git a/roles/custom/matrix-ma1sd/tasks/validate_config.yml b/roles/custom/matrix-ma1sd/tasks/validate_config.yml index 8e4787507..6a2345777 100644 --- a/roles/custom/matrix-ma1sd/tasks/validate_config.yml +++ b/roles/custom/matrix-ma1sd/tasks/validate_config.yml @@ -68,6 +68,7 @@ - {'old': 'matrix_ma1sd_default_port', 'new': 'matrix_ma1sd_container_port'} - {'old': 'matrix_ma1sd_container_labels_matrix_client_user_directory_search_path', 'new': 'matrix_ma1sd_container_labels_matrix_client_user_directory_search_path_regexp'} - {'old': 'matrix_ma1sd_container_labels_matrix_client_3pid_registration_path', 'new': 'matrix_ma1sd_container_labels_matrix_client_3pid_registration_path_regexp'} + - {'old': 'matrix_ma1sd_docker_image_name_prefix', 'new': 'matrix_ma1sd_docker_image_registry_prefix'} - name: (Deprecation) Catch and report mxisd variables ansible.builtin.fail: diff --git a/roles/custom/matrix-media-repo/defaults/main.yml b/roles/custom/matrix-media-repo/defaults/main.yml index f9fc4eaaf..f41489a5b 100755 --- a/roles/custom/matrix-media-repo/defaults/main.yml +++ b/roles/custom/matrix-media-repo/defaults/main.yml @@ -16,8 +16,10 @@ matrix_media_repo_container_image_self_build: false matrix_media_repo_container_image_self_build_repo: "https://github.com/turt2live/matrix-media-repo.git" matrix_media_repo_docker_image_path: "t2bot/matrix-media-repo" -matrix_media_repo_docker_image: "{{ matrix_media_repo_docker_image_name_prefix }}{{ matrix_media_repo_docker_image_path }}:{{ matrix_media_repo_docker_image_tag }}" -matrix_media_repo_docker_image_name_prefix: "{{ 'localhost/' if matrix_media_repo_container_image_self_build else 'ghcr.io/' }}" +matrix_media_repo_docker_image: "{{ matrix_media_repo_docker_image_registry_prefix }}{{ matrix_media_repo_docker_image_path }}:{{ matrix_media_repo_docker_image_tag }}" +matrix_media_repo_docker_image_registry_prefix: "{{ 'localhost/' if matrix_media_repo_container_image_self_build else matrix_media_repo_docker_image_registry_prefix_upstream }}" +matrix_media_repo_docker_image_registry_prefix_upstream: "{{ matrix_media_repo_docker_image_registry_prefix_upstream_default }}" +matrix_media_repo_docker_image_registry_prefix_upstream_default: "ghcr.io/" # renovate: datasource=docker depName=ghcr.io/t2bot/matrix-media-repo matrix_media_repo_docker_image_tag: "v1.3.8" matrix_media_repo_docker_image_force_pull: "{{ matrix_media_repo_docker_image.endswith(':latest') }}" diff --git a/roles/custom/matrix-media-repo/tasks/validate_config.yml b/roles/custom/matrix-media-repo/tasks/validate_config.yml index 8b0ecb7cd..bd923eec6 100644 --- a/roles/custom/matrix-media-repo/tasks/validate_config.yml +++ b/roles/custom/matrix-media-repo/tasks/validate_config.yml @@ -34,3 +34,4 @@ - {'old': 'matrix_media_repo_container_labels_traefik_admin_path_prefix', 'new': 'matrix_media_repo_container_labels_traefik_admin_path_regexp'} - {'old': 'matrix_media_repo_container_labels_traefik_logout_federation_path_prefix', 'new': 'matrix_media_repo_container_labels_traefik_logout_federation_path_regexp'} - {'old': 'matrix_media_repo_container_labels_traefik_admin_federation_path_prefix', 'new': 'matrix_media_repo_container_labels_traefik_admin_federation_path_regexp'} + - {'old': 'matrix_media_repo_docker_image_name_prefix', 'new': 'matrix_media_repo_docker_image_registry_prefix'} diff --git a/roles/custom/matrix-pantalaimon/defaults/main.yml b/roles/custom/matrix-pantalaimon/defaults/main.yml index 3708a0b33..28b727b93 100644 --- a/roles/custom/matrix-pantalaimon/defaults/main.yml +++ b/roles/custom/matrix-pantalaimon/defaults/main.yml @@ -10,8 +10,10 @@ matrix_pantalaimon_container_image_self_build: false matrix_pantalaimon_container_image_self_build_repo: "https://github.com/matrix-org/pantalaimon.git" matrix_pantalaimon_container_image_self_build_repo_version: "{{ 'main' if matrix_pantalaimon_version == 'latest' else matrix_pantalaimon_version }}" -matrix_pantalaimon_docker_image: "{{ matrix_pantalaimon_docker_image_name_prefix }}matrixdotorg/pantalaimon:v{{ matrix_pantalaimon_version }}" -matrix_pantalaimon_docker_image_name_prefix: "{{ 'localhost/' if matrix_pantalaimon_container_image_self_build else 'docker.io/' }}" +matrix_pantalaimon_docker_image: "{{ matrix_pantalaimon_docker_image_registry_prefix }}matrixdotorg/pantalaimon:v{{ matrix_pantalaimon_version }}" +matrix_pantalaimon_docker_image_registry_prefix: "{{ 'localhost/' if matrix_pantalaimon_container_image_self_build else matrix_pantalaimon_docker_image_registry_prefix_upstream }}" +matrix_pantalaimon_docker_image_registry_prefix_upstream: "{{ matrix_pantalaimon_docker_image_registry_prefix_upstream_default }}" +matrix_pantalaimon_docker_image_registry_prefix_upstream_default: "docker.io/" matrix_pantalaimon_docker_image_force_pull: "{{ matrix_pantalaimon_docker_image.endswith(':latest') }}" matrix_pantalaimon_base_path: "{{ matrix_base_data_path }}/pantalaimon" diff --git a/roles/custom/matrix-pantalaimon/tasks/validate_config.yml b/roles/custom/matrix-pantalaimon/tasks/validate_config.yml index 00fc96ced..6fc490ef1 100644 --- a/roles/custom/matrix-pantalaimon/tasks/validate_config.yml +++ b/roles/custom/matrix-pantalaimon/tasks/validate_config.yml @@ -1,8 +1,16 @@ --- -- name: Fail if required variables are undefined +- name: Fail if required Pantalaimon variables are undefined ansible.builtin.fail: msg: "The `{{ item }}` variable must be defined and have a non-null value." with_items: - "matrix_pantalaimon_homeserver_url" when: "vars[item] == '' or vars[item] is none" + +- name: (Deprecation) Catch and report renamed Pantalaimon variables + ansible.builtin.fail: + msg: >- + The variable `{{ item.old }}` is deprecated. Please use `{{ item.new }}` instead. + when: "item.old in vars" + with_items: + - {'old': 'matrix_pantalaimon_docker_image_name_prefix', 'new': 'matrix_pantalaimon_docker_image_registry_prefix'} diff --git a/roles/custom/matrix-prometheus-nginxlog-exporter/defaults/main.yml b/roles/custom/matrix-prometheus-nginxlog-exporter/defaults/main.yml index a7177861e..d02bdcb43 100644 --- a/roles/custom/matrix-prometheus-nginxlog-exporter/defaults/main.yml +++ b/roles/custom/matrix-prometheus-nginxlog-exporter/defaults/main.yml @@ -17,9 +17,11 @@ matrix_prometheus_nginxlog_exporter_container_metrics_port: '4040' matrix_prometheus_nginxlog_exporter_container_syslog_port: '6514' matrix_prometheus_nginxlog_exporter_docker_image_arch: ['amd64', 'arm64'] -matrix_prometheus_nginxlog_exporter_docker_image_name_prefix: "{{ 'ghcr.io/martin-helmich/' }}" +matrix_prometheus_nginxlog_exporter_docker_image: "{{ matrix_prometheus_nginxlog_exporter_docker_image_registry_prefix }}martin-helmich/prometheus-nginxlog-exporter/exporter:{{ matrix_prometheus_nginxlog_exporter_docker_image_tag }}" +matrix_prometheus_nginxlog_exporter_docker_image_registry_prefix: "{{ matrix_prometheus_nginxlog_exporter_docker_image_registry_prefix_upstream }}" +matrix_prometheus_nginxlog_exporter_docker_image_registry_prefix_upstream: "{{ matrix_prometheus_nginxlog_exporter_docker_image_registry_prefix_upstream_default }}" +matrix_prometheus_nginxlog_exporter_docker_image_registry_prefix_upstream_default: "ghcr.io/" matrix_prometheus_nginxlog_exporter_docker_image_tag: "{{ 'latest' if matrix_prometheus_nginxlog_exporter_version == 'master' else matrix_prometheus_nginxlog_exporter_version }}-{{ matrix_architecture }}" -matrix_prometheus_nginxlog_exporter_docker_image: "{{ matrix_prometheus_nginxlog_exporter_docker_image_name_prefix }}prometheus-nginxlog-exporter/exporter:{{ matrix_prometheus_nginxlog_exporter_docker_image_tag }}" matrix_prometheus_nginxlog_exporter_docker_image_force_pull: "{{ matrix_prometheus_nginxlog_exporter_docker_image.endswith(':latest') }}" matrix_prometheus_nginxlog_exporter_docker_image_arch_check_enabled: true diff --git a/roles/custom/matrix-prometheus-nginxlog-exporter/tasks/validate_config.yml b/roles/custom/matrix-prometheus-nginxlog-exporter/tasks/validate_config.yml index bf97f4cbc..1978ed6ed 100644 --- a/roles/custom/matrix-prometheus-nginxlog-exporter/tasks/validate_config.yml +++ b/roles/custom/matrix-prometheus-nginxlog-exporter/tasks/validate_config.yml @@ -8,6 +8,7 @@ when: "item.old in vars" with_items: - {'old': 'matrix_prometheus_nginxlog_exporter_container_hostname', 'new': 'matrix_prometheus_nginxlog_exporter_identifier'} + - {'old': 'matrix_prometheus_nginxlog_exporter_docker_image_name_prefix', 'new': 'matrix_prometheus_nginxlog_exporter_docker_image_registry_prefix'} - name: Fail if docker image not availble for arch ansible.builtin.fail: diff --git a/roles/custom/matrix-rageshake/defaults/main.yml b/roles/custom/matrix-rageshake/defaults/main.yml index 1c3d059c1..3b16546d2 100644 --- a/roles/custom/matrix-rageshake/defaults/main.yml +++ b/roles/custom/matrix-rageshake/defaults/main.yml @@ -24,11 +24,12 @@ matrix_rageshake_config_path: "{{ matrix_rageshake_base_path }}/config" matrix_rageshake_data_path: "{{ matrix_rageshake_base_path }}/data" matrix_rageshake_container_src_files_path: "{{ matrix_rageshake_base_path }}/container-src" -matrix_rageshake_container_image: "{{ matrix_rageshake_container_image_name_prefix }}matrix-org/rageshake:{{ matrix_rageshake_container_image_tag }}" -matrix_rageshake_container_image_name_prefix: "{{ 'localhost/' if matrix_rageshake_container_image_self_build else matrix_rageshake_container_registry_prefix }}" +matrix_rageshake_container_image: "{{ matrix_rageshake_container_image_registry_prefix }}matrix-org/rageshake:{{ matrix_rageshake_container_image_tag }}" +matrix_rageshake_container_image_registry_prefix: "{{ 'localhost/' if matrix_rageshake_container_image_self_build else matrix_rageshake_container_image_registry_prefix_upstream }}" +matrix_rageshake_container_image_registry_prefix_upstream: "{{ matrix_rageshake_container_image_registry_prefix_upstream_default }}" +matrix_rageshake_container_image_registry_prefix_upstream_default: "ghcr.io/" matrix_rageshake_container_image_force_pull: "{{ matrix_rageshake_container_image.endswith(':master') }}" matrix_rageshake_container_image_tag: "{{ matrix_rageshake_version }}" -matrix_rageshake_container_registry_prefix: ghcr.io/ matrix_rageshake_container_image_self_build: false matrix_rageshake_container_image_self_build_repo: "https://github.com/matrix-org/rageshake/" diff --git a/roles/custom/matrix-rageshake/tasks/validate_config.yml b/roles/custom/matrix-rageshake/tasks/validate_config.yml index b61a486d2..7ebb2b6b0 100644 --- a/roles/custom/matrix-rageshake/tasks/validate_config.yml +++ b/roles/custom/matrix-rageshake/tasks/validate_config.yml @@ -10,6 +10,14 @@ - matrix_rageshake_path_prefix - matrix_rageshake_container_network +- name: (Deprecation) Catch and report renamed rageshake variables + ansible.builtin.fail: + msg: >- + The variable `{{ item.old }}` is deprecated. Please use `{{ item.new }}` instead. + when: "item.old in vars" + with_items: + - {'old': 'matrix_rageshake_docker_image_name_prefix', 'new': 'matrix_rageshake_docker_image_registry_prefix'} + - when: matrix_rageshake_container_labels_traefik_enabled | bool block: - name: Fail if required rageshake Traefik settings not defined diff --git a/roles/custom/matrix-registration/defaults/main.yml b/roles/custom/matrix-registration/defaults/main.yml index 0cc776fe7..77d8f371d 100644 --- a/roles/custom/matrix-registration/defaults/main.yml +++ b/roles/custom/matrix-registration/defaults/main.yml @@ -25,8 +25,10 @@ matrix_registration_docker_src_files_path: "{{ matrix_registration_base_path }}/ # renovate: datasource=docker depName=zeratax/matrix-registration matrix_registration_version: "v0.7.2" -matrix_registration_docker_image: "{{ matrix_registration_docker_image_name_prefix }}zeratax/matrix-registration:{{ matrix_registration_version }}" -matrix_registration_docker_image_name_prefix: "{{ 'localhost/' if matrix_registration_container_image_self_build else 'docker.io/' }}" +matrix_registration_docker_image: "{{ matrix_registration_docker_image_registry_prefix }}zeratax/matrix-registration:{{ matrix_registration_version }}" +matrix_registration_docker_image_registry_prefix: "{{ 'localhost/' if matrix_registration_container_image_self_build else matrix_registration_docker_image_registry_prefix_upstream }}" +matrix_registration_docker_image_registry_prefix_upstream: "{{ matrix_registration_docker_image_registry_prefix_upstream_default }}" +matrix_registration_docker_image_registry_prefix_upstream_default: "docker.io/" matrix_registration_docker_image_force_pull: "{{ matrix_registration_docker_image.endswith(':latest') }}" matrix_registration_container_network: "" diff --git a/roles/custom/matrix-sliding-sync/defaults/main.yml b/roles/custom/matrix-sliding-sync/defaults/main.yml index d8fbdff7c..41ef93dc2 100644 --- a/roles/custom/matrix-sliding-sync/defaults/main.yml +++ b/roles/custom/matrix-sliding-sync/defaults/main.yml @@ -24,11 +24,12 @@ matrix_sliding_sync_container_image_self_build_repo: https://github.com/matrix-o matrix_sliding_sync_container_image_self_build_repo_version: "{{ 'main' if matrix_sliding_sync_version == 'main' else matrix_sliding_sync_version }}" matrix_sliding_sync_container_src_path: "{{ matrix_sliding_sync_base_path }}/container-src" -matrix_sliding_sync_container_image: "{{ matrix_sliding_sync_container_image_name_prefix }}matrix-org/sliding-sync:{{ matrix_sliding_sync_container_image_tag }}" -matrix_sliding_sync_container_image_name_prefix: "{{ 'localhost/' if matrix_sliding_sync_container_image_self_build else matrix_sliding_sync_container_image_registry_prefix }}" +matrix_sliding_sync_container_image: "{{ matrix_sliding_sync_container_image_registry_prefix }}matrix-org/sliding-sync:{{ matrix_sliding_sync_container_image_tag }}" +matrix_sliding_sync_container_image_registry_prefix: "{{ 'localhost/' if matrix_sliding_sync_container_image_self_build else matrix_sliding_sync_container_image_registry_prefix_upstream }}" +matrix_sliding_sync_container_image_registry_prefix_upstream: "{{ matrix_sliding_sync_container_image_registry_prefix_upstream_default }}" +matrix_sliding_sync_container_image_registry_prefix_upstream_default: "ghcr.io/" matrix_sliding_sync_container_image_tag: "{{ matrix_sliding_sync_version }}" matrix_sliding_sync_container_image_force_pull: "{{ matrix_sliding_sync_container_image.endswith(':main') }}" -matrix_sliding_sync_container_image_registry_prefix: ghcr.io/ # The base container network. It will be auto-created by this role if it doesn't exist already. matrix_sliding_sync_container_network: '' diff --git a/roles/custom/matrix-sliding-sync/tasks/validate_config.yml b/roles/custom/matrix-sliding-sync/tasks/validate_config.yml index 8b1fee201..d5ba9e89c 100644 --- a/roles/custom/matrix-sliding-sync/tasks/validate_config.yml +++ b/roles/custom/matrix-sliding-sync/tasks/validate_config.yml @@ -13,3 +13,11 @@ - {'name': 'matrix_sliding_sync_container_network', when: true} - {'name': 'matrix_sliding_sync_metrics_proxying_hostname', when: "{{ matrix_sliding_sync_metrics_proxying_enabled }}"} - {'name': 'matrix_sliding_sync_metrics_proxying_path_prefix', when: "{{ matrix_sliding_sync_metrics_proxying_enabled }}"} + +- name: (Deprecation) Catch and report renamed matrix-sliding-sync variables + ansible.builtin.fail: + msg: >- + The variable `{{ item.old }}` is deprecated. Please use `{{ item.new }}` instead. + when: "item.old in vars" + with_items: + - {'old': 'matrix_sliding_sync_container_image_name_prefix', 'new': 'matrix_sliding_sync_container_image_registry_prefix'} diff --git a/roles/custom/matrix-static-files/defaults/main.yml b/roles/custom/matrix-static-files/defaults/main.yml index e4dd36e95..b7f393d0a 100644 --- a/roles/custom/matrix-static-files/defaults/main.yml +++ b/roles/custom/matrix-static-files/defaults/main.yml @@ -25,7 +25,9 @@ matrix_static_files_systemd_wanted_services_list_auto: [] matrix_static_files_systemd_wanted_services_list_custom: [] matrix_static_files_container_image: "{{ matrix_static_files_container_image_registry_prefix }}joseluisq/static-web-server:{{ matrix_static_files_container_image_tag }}" -matrix_static_files_container_image_registry_prefix: docker.io/ +matrix_static_files_container_image_registry_prefix: "{{ matrix_static_files_container_image_registry_prefix_upstream }}" +matrix_static_files_container_image_registry_prefix_upstream: "{{ matrix_static_files_container_image_registry_prefix_upstream_default }}" +matrix_static_files_container_image_registry_prefix_upstream_default: "docker.io/" matrix_static_files_container_image_tag: "{{ 'latest' if matrix_static_files_version == 'latest' else (matrix_static_files_version + '-alpine') }}" matrix_static_files_container_image_force_pull: "{{ matrix_static_files_container_image.endswith(':latest') }}" diff --git a/roles/custom/matrix-sygnal/defaults/main.yml b/roles/custom/matrix-sygnal/defaults/main.yml index 490b391d8..ecce0f518 100644 --- a/roles/custom/matrix-sygnal/defaults/main.yml +++ b/roles/custom/matrix-sygnal/defaults/main.yml @@ -27,7 +27,9 @@ matrix_sygnal_systemd_wanted_services_list: [] matrix_sygnal_docker_image: "{{ matrix_sygnal_docker_image_registry_prefix }}matrixdotorg/sygnal:{{ matrix_sygnal_docker_image_tag }}" matrix_sygnal_docker_image_tag: "{{ matrix_sygnal_version }}" -matrix_sygnal_docker_image_registry_prefix: docker.io/ +matrix_sygnal_docker_image_registry_prefix: "{{ matrix_sygnal_docker_image_registry_prefix_upstream }}" +matrix_sygnal_docker_image_registry_prefix_upstream: "{{ matrix_sygnal_docker_image_registry_prefix_upstream_default }}" +matrix_sygnal_docker_image_registry_prefix_upstream_default: "docker.io/" matrix_sygnal_docker_image_force_pull: "{{ matrix_sygnal_docker_image.endswith(':latest') }}" # The base container network. It will be auto-created by this role if it doesn't exist already. diff --git a/roles/custom/matrix-synapse-admin/defaults/main.yml b/roles/custom/matrix-synapse-admin/defaults/main.yml index 50ebe9098..09e13dd9e 100644 --- a/roles/custom/matrix-synapse-admin/defaults/main.yml +++ b/roles/custom/matrix-synapse-admin/defaults/main.yml @@ -15,8 +15,10 @@ matrix_synapse_admin_container_image_self_build_repo: "https://github.com/etkecc # renovate: datasource=docker depName=ghcr.io/etkecc/synapse-admin matrix_synapse_admin_version: v0.10.3-etke37 -matrix_synapse_admin_docker_image: "{{ matrix_synapse_admin_docker_image_name_prefix }}etkecc/synapse-admin:{{ matrix_synapse_admin_version }}" -matrix_synapse_admin_docker_image_name_prefix: "{{ 'localhost/' if matrix_synapse_admin_container_image_self_build else 'ghcr.io/' }}" +matrix_synapse_admin_docker_image: "{{ matrix_synapse_admin_docker_image_registry_prefix }}etkecc/synapse-admin:{{ matrix_synapse_admin_version }}" +matrix_synapse_admin_docker_image_registry_prefix: "{{ 'localhost/' if matrix_synapse_admin_container_image_self_build else matrix_synapse_admin_docker_image_registry_prefix_upstream }}" +matrix_synapse_admin_docker_image_registry_prefix_upstream: "{{ matrix_synapse_admin_docker_image_registry_prefix_upstream_default }}" +matrix_synapse_admin_docker_image_registry_prefix_upstream_default: "ghcr.io/" matrix_synapse_admin_docker_image_force_pull: "{{ matrix_synapse_admin_docker_image.endswith(':latest') }}" # The base container network diff --git a/roles/custom/matrix-synapse-admin/tasks/validate_config.yml b/roles/custom/matrix-synapse-admin/tasks/validate_config.yml index 0fa3ce77b..1b9856d51 100644 --- a/roles/custom/matrix-synapse-admin/tasks/validate_config.yml +++ b/roles/custom/matrix-synapse-admin/tasks/validate_config.yml @@ -1,6 +1,6 @@ --- -- name: (Deprecation) Catch and report renamed settings +- name: (Deprecation) Catch and report renamed matrix-synapse-admin settings ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. @@ -12,6 +12,7 @@ - {'old': 'matrix_synapse_admin_container_self_build_repo', 'new': 'matrix_synapse_admin_container_image_self_build_repo'} - {'old': 'matrix_synapse_admin_public_endpoint', 'new': 'matrix_synapse_admin_path_prefix'} - {'old': 'matrix_synapse_admin_nginx_proxy_integration_enabled', 'new': ''} + - {'old': 'matrix_synapse_admin_docker_image_name_prefix', 'new': 'matrix_synapse_admin_docker_image_registry_prefix'} - when: matrix_synapse_admin_container_labels_traefik_enabled | bool block: diff --git a/roles/custom/matrix-synapse-auto-compressor/defaults/main.yml b/roles/custom/matrix-synapse-auto-compressor/defaults/main.yml index 020a447c5..f5d02cd17 100644 --- a/roles/custom/matrix-synapse-auto-compressor/defaults/main.yml +++ b/roles/custom/matrix-synapse-auto-compressor/defaults/main.yml @@ -22,8 +22,10 @@ matrix_synapse_auto_compressor_container_image_self_build: false matrix_synapse_auto_compressor_container_image_self_build_repo: "https://github.com/matrix-org/rust-synapse-compress-state.git" matrix_synapse_auto_compressor_container_image_self_build_version: "{{ 'main' if matrix_synapse_auto_compressor_version == 'latest' else matrix_synapse_auto_compressor_version }}" -matrix_synapse_auto_compressor_container_image: "{{ matrix_synapse_auto_compressor_container_image_name_prefix }}etke.cc/rust-synapse-compress-state:{{ matrix_synapse_auto_compressor_version }}" -matrix_synapse_auto_compressor_container_image_name_prefix: "{{ 'localhost/' if matrix_synapse_auto_compressor_container_image_self_build else 'registry.gitlab.com/' }}" +matrix_synapse_auto_compressor_container_image: "{{ matrix_synapse_auto_compressor_container_image_registry_prefix }}etke.cc/rust-synapse-compress-state:{{ matrix_synapse_auto_compressor_version }}" +matrix_synapse_auto_compressor_container_image_registry_prefix: "{{ 'localhost/' if matrix_synapse_auto_compressor_container_image_self_build else matrix_synapse_auto_compressor_container_image_registry_prefix_upstream }}" +matrix_synapse_auto_compressor_container_image_registry_prefix_upstream: "{{ matrix_synapse_auto_compressor_container_image_registry_prefix_upstream_default }}" +matrix_synapse_auto_compressor_container_image_registry_prefix_upstream_default: "registry.gitlab.com/" matrix_synapse_auto_compressor_container_image_force_pull: "{{ matrix_synapse_auto_compressor_container_image.endswith(':latest') }}" # The base container network. It will be auto-created by this role if it doesn't exist already. diff --git a/roles/custom/matrix-synapse-auto-compressor/tasks/validate_config.yml b/roles/custom/matrix-synapse-auto-compressor/tasks/validate_config.yml index 1d1405044..9441eea5f 100644 --- a/roles/custom/matrix-synapse-auto-compressor/tasks/validate_config.yml +++ b/roles/custom/matrix-synapse-auto-compressor/tasks/validate_config.yml @@ -1,5 +1,5 @@ --- -- name: (Deprecation) Catch and report renamed settings +- name: (Deprecation) Catch and report renamed matrix-synapse-auto-compressor settings ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. @@ -8,6 +8,8 @@ with_items: - "old": "matrix_synapse_auto_compressor_calendar" "new": "matrix_synapse_auto_compressor_schedule" + - "old": "matrix_synapse_auto_compressor_container_image_name_prefix" + "new": "matrix_synapse_auto_compressor_container_image_registry_prefix" - name: Fail if required matrix-synapse-auto-compressor settings not defined ansible.builtin.fail: diff --git a/roles/custom/matrix-synapse-reverse-proxy-companion/defaults/main.yml b/roles/custom/matrix-synapse-reverse-proxy-companion/defaults/main.yml index 47074216e..241f0c7e9 100644 --- a/roles/custom/matrix-synapse-reverse-proxy-companion/defaults/main.yml +++ b/roles/custom/matrix-synapse-reverse-proxy-companion/defaults/main.yml @@ -31,7 +31,9 @@ matrix_synapse_reverse_proxy_companion_systemd_wanted_services_list: ['matrix-sy # An alternative would be an `nginxinc/nginx-unprivileged` image, but # that is frequently out of date. matrix_synapse_reverse_proxy_companion_container_image: "{{ matrix_synapse_reverse_proxy_companion_container_image_registry_prefix }}nginx:{{ matrix_synapse_reverse_proxy_companion_container_image_tag }}" -matrix_synapse_reverse_proxy_companion_container_image_registry_prefix: docker.io/ +matrix_synapse_reverse_proxy_companion_container_image_registry_prefix: "{{ matrix_synapse_reverse_proxy_companion_container_image_registry_prefix_upstream }}" +matrix_synapse_reverse_proxy_companion_container_image_registry_prefix_upstream: "{{ matrix_synapse_reverse_proxy_companion_container_image_registry_prefix_upstream_default }}" +matrix_synapse_reverse_proxy_companion_container_image_registry_prefix_upstream_default: "docker.io/" matrix_synapse_reverse_proxy_companion_container_image_tag: "{{ matrix_synapse_reverse_proxy_companion_version }}" matrix_synapse_reverse_proxy_companion_container_image_force_pull: "{{ matrix_synapse_reverse_proxy_companion_container_image.endswith(':latest') }}" diff --git a/roles/custom/matrix-synapse-usage-exporter/defaults/main.yml b/roles/custom/matrix-synapse-usage-exporter/defaults/main.yml index 3b0579bad..25768f0e2 100644 --- a/roles/custom/matrix-synapse-usage-exporter/defaults/main.yml +++ b/roles/custom/matrix-synapse-usage-exporter/defaults/main.yml @@ -21,8 +21,10 @@ matrix_synapse_usage_exporter_container_image_self_build: true matrix_synapse_usage_exporter_container_image_self_build_repo: "https://github.com/loelkes/synapse-usage-exporter.git" matrix_synapse_usage_exporter_container_image_path: "loelkes/synapse-usage-exporter" -matrix_synapse_usage_exporter_container_image: "{{ matrix_synapse_usage_exporter_container_image_name_prefix }}{{ matrix_synapse_usage_exporter_container_image_path }}:{{ matrix_synapse_usage_exporter_container_image_tag }}" -matrix_synapse_usage_exporter_container_image_name_prefix: "{{ 'localhost/' if matrix_synapse_usage_exporter_container_image_self_build else 'docker.io/' }}" +matrix_synapse_usage_exporter_container_image: "{{ matrix_synapse_usage_exporter_container_image_registry_prefix }}{{ matrix_synapse_usage_exporter_container_image_path }}:{{ matrix_synapse_usage_exporter_container_image_tag }}" +matrix_synapse_usage_exporter_container_image_registry_prefix: "{{ 'localhost/' if matrix_synapse_usage_exporter_container_image_self_build else matrix_synapse_usage_exporter_container_image_registry_prefix_upstream }}" +matrix_synapse_usage_exporter_container_image_registry_prefix_upstream: "{{ matrix_synapse_usage_exporter_container_image_registry_prefix_upstream_default }}" +matrix_synapse_usage_exporter_container_image_registry_prefix_upstream_default: "docker.io/" matrix_synapse_usage_exporter_container_image_tag: "{{ 'main' if matrix_synapse_usage_exporter_container_image_self_build else 'latest' }}" matrix_synapse_usage_exporter_container_image_force_pull: "{{ matrix_synapse_usage_exporter_container_image.endswith(':latest') }}" diff --git a/roles/custom/matrix-synapse-usage-exporter/tasks/main.yml b/roles/custom/matrix-synapse-usage-exporter/tasks/main.yml index 0ac9c1f50..22b9df8c4 100644 --- a/roles/custom/matrix-synapse-usage-exporter/tasks/main.yml +++ b/roles/custom/matrix-synapse-usage-exporter/tasks/main.yml @@ -6,6 +6,9 @@ - install-all - install-synapse-usage-exporter block: + - when: matrix_synapse_usage_exporter_enabled | bool + ansible.builtin.include_tasks: "{{ role_path }}/tasks/validate_config.yml" + - when: matrix_synapse_usage_exporter_enabled | bool ansible.builtin.include_tasks: "{{ role_path }}/tasks/setup_install.yml" diff --git a/roles/custom/matrix-synapse-usage-exporter/tasks/validate_config.yml b/roles/custom/matrix-synapse-usage-exporter/tasks/validate_config.yml new file mode 100644 index 000000000..5609ad241 --- /dev/null +++ b/roles/custom/matrix-synapse-usage-exporter/tasks/validate_config.yml @@ -0,0 +1,10 @@ +--- + +- name: (Deprecation) Catch and report renamed matrix-synapse-usage-exporter settings + ansible.builtin.fail: + msg: >- + Your configuration contains a variable, which now has a different name. + Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + when: "item.old in vars" + with_items: + - {'old': 'matrix_synapse_usage_exporter_docker_image_name_prefix', 'new': 'matrix_synapse_usage_exporter_container_image_registry_prefix'} diff --git a/roles/custom/matrix-synapse/defaults/main.yml b/roles/custom/matrix-synapse/defaults/main.yml index 67e198c10..2b469c459 100644 --- a/roles/custom/matrix-synapse/defaults/main.yml +++ b/roles/custom/matrix-synapse/defaults/main.yml @@ -93,12 +93,13 @@ matrix_synapse_container_image_customizations_templates_git_repository_keyscan_h # RUN echo 'You do NOT need to include a FROM clause yourself.' matrix_synapse_container_image_customizations_dockerfile_body_custom: '' -matrix_synapse_docker_image: "{{ matrix_synapse_docker_image_name_prefix }}{{ matrix_synapse_docker_image_name }}:{{ matrix_synapse_docker_image_tag }}" -matrix_synapse_docker_image_name_prefix: "{{ 'localhost/' if matrix_synapse_container_image_self_build else matrix_synapse_docker_image_registry_prefix }}" +matrix_synapse_docker_image: "{{ matrix_synapse_docker_image_registry_prefix }}{{ matrix_synapse_docker_image_name }}:{{ matrix_synapse_docker_image_tag }}" matrix_synapse_docker_image_name: "{{ matrix_synapse_github_org_and_repo }}" matrix_synapse_docker_image_tag: "{{ matrix_synapse_version }}" matrix_synapse_docker_image_force_pull: "{{ matrix_synapse_docker_image.endswith(':latest') }}" -matrix_synapse_docker_image_registry_prefix: ghcr.io/ +matrix_synapse_docker_image_registry_prefix: "{{ 'localhost/' if matrix_synapse_container_image_self_build else matrix_synapse_docker_image_registry_prefix_upstream }}" +matrix_synapse_docker_image_registry_prefix_upstream: "{{ matrix_synapse_docker_image_registry_prefix_upstream_default }}" +matrix_synapse_docker_image_registry_prefix_upstream_default: "ghcr.io/" # matrix_synapse_docker_image_customized is the name of the locally built Synapse image # which adds various customizations on top of the original (upstream) Synapse image. @@ -1410,8 +1411,10 @@ matrix_synapse_ext_media_repo_enabled: false matrix_s3_media_store_enabled: false matrix_s3_media_store_custom_endpoint_enabled: false -matrix_s3_goofys_docker_image: "{{ matrix_s3_goofys_docker_image_name_prefix }}ewoutp/goofys:latest" -matrix_s3_goofys_docker_image_name_prefix: "docker.io/" +matrix_s3_goofys_docker_image: "{{ matrix_s3_goofys_docker_image_registry_prefix }}ewoutp/goofys:latest" +matrix_s3_goofys_docker_image_registry_prefix: "{{ matrix_s3_goofys_docker_image_registry_prefix_upstream }}" +matrix_s3_goofys_docker_image_registry_prefix_upstream: "{{ matrix_s3_goofys_docker_image_registry_prefix_upstream_default }}" +matrix_s3_goofys_docker_image_registry_prefix_upstream_default: "docker.io/" matrix_s3_goofys_docker_image_force_pull: "{{ matrix_s3_goofys_docker_image.endswith(':latest') }}" matrix_s3_media_store_custom_endpoint: "your-custom-endpoint" matrix_s3_media_store_bucket_name: "your-bucket-name" diff --git a/roles/custom/matrix-synapse/tasks/validate_config.yml b/roles/custom/matrix-synapse/tasks/validate_config.yml index e1e6fbe27..8f73ad005 100644 --- a/roles/custom/matrix-synapse/tasks/validate_config.yml +++ b/roles/custom/matrix-synapse/tasks/validate_config.yml @@ -102,6 +102,8 @@ - {'old': 'matrix_synapse_caches_autotuning_target_cache_memory_usage', 'new': 'matrix_synapse_cache_autotuning_target_cache_memory_usage'} - {'old': 'matrix_synapse_caches_autotuning_min_cache_ttl', 'new': 'matrix_synapse_cache_autotuning_min_cache_ttl'} - {'old': 'matrix_synapse_memtotal_kb', 'new': ''} + - {'old': 'matrix_synapse_docker_image_name_prefix', 'new': 'matrix_synapse_docker_image_registry_prefix'} + - {'old': 'matrix_s3_goofys_docker_image_name_prefix', 'new': 'matrix_s3_goofys_docker_image_registry_prefix'} - name: (Deprecation) Catch and report renamed settings in matrix_synapse_configuration_extension_yaml ansible.builtin.fail: diff --git a/roles/custom/matrix-user-verification-service/defaults/main.yml b/roles/custom/matrix-user-verification-service/defaults/main.yml index 510d258da..abd1655c1 100644 --- a/roles/custom/matrix-user-verification-service/defaults/main.yml +++ b/roles/custom/matrix-user-verification-service/defaults/main.yml @@ -13,7 +13,6 @@ matrix_user_verification_service_container_image_self_build: "{{ matrix_architec matrix_user_verification_service_container_image_self_build_repo: "https://github.com/matrix-org/matrix-user-verification-service" matrix_user_verification_service_container_image_self_build_branch: "{{ 'master' if matrix_registration_version == 'latest' else matrix_user_verification_service_version }}" -# Fix version tag # renovate: datasource=docker depName=matrixdotorg/matrix-user-verification-service matrix_user_verification_service_version: "v3.0.0" @@ -25,7 +24,9 @@ matrix_user_verification_service_docker_src_files_path: "{{ matrix_user_verifica # Docker matrix_user_verification_service_docker_image: "{{ matrix_user_verification_service_docker_image_registry_prefix }}matrixdotorg/matrix-user-verification-service:{{ matrix_user_verification_service_version }}" -matrix_user_verification_service_docker_image_registry_prefix: docker.io/ +matrix_user_verification_service_docker_image_registry_prefix: "{{ 'localhost/' if matrix_user_verification_service_container_image_self_build else matrix_user_verification_service_docker_image_registry_prefix_upstream }}" +matrix_user_verification_service_docker_image_registry_prefix_upstream: "{{ matrix_user_verification_service_docker_image_registry_prefix_upstream_default }}" +matrix_user_verification_service_docker_image_registry_prefix_upstream_default: "docker.io/" matrix_user_verification_service_docker_image_force_pull: "{{ matrix_user_verification_service_docker_image.endswith(':latest') }}" # The base container network. It will be auto-created by this role if it doesn't exist already. From b88b6ae7a3f1b58ea61990a3b1b6dc319be0ab3e Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Mon, 24 Feb 2025 11:18:05 +0200 Subject: [PATCH 480/841] Introduce a new `matrix_container_global_registry_prefix_override` variable and make all roles respect it `matrix_container_global_registry_prefix_override` may look similar to the old `matrix_container_global_registry_prefix` variable (removed in d6bf789710dec1567f47f5d7f3c4911ebafff9ea), but it's different. The old `matrix_container_global_registry_prefix` variable was just a hardcode of `docker.io/` and roles that needed to refer to `docker.io/` could use it. However, this was: - not used by all roles, because some need another registry (not `docker.io/`) - used only by roles within the playbook (`roles/custom`), not external roles Overriding the old `matrix_container_global_registry_prefix` variable was rather pointless, as it didn't cover everything. The new `matrix_container_global_registry_prefix_override` variable, on the other hand, lets you override the registry prefix for all components, regardless of whether they use `docker.io/` or another registry by default. This is useful to people who have somehow mirrored all container images to their own registry, as it provides them with a single variable they can flip to influence the whole playbook. --- group_vars/matrix_servers | 215 +++++++++++++++++- roles/custom/matrix-base/defaults/main.yml | 7 + .../defaults/main.yml | 18 +- .../tasks/setup_install.yml | 22 +- .../tasks/validate_config.yml | 13 +- 5 files changed, 242 insertions(+), 33 deletions(-) diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index ee5212f6e..7c38f1710 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -593,6 +593,8 @@ matrix_integration_manager_ui_url: "{{ matrix_dimension_integrations_ui_url if m # We don't enable this by default. matrix_alertmanager_receiver_enabled: false +matrix_alertmanager_receiver_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_alertmanager_receiver_container_image_registry_prefix_upstream_default }}" + matrix_alertmanager_receiver_container_image_self_build: "{{ matrix_architecture != 'amd64' }}" matrix_alertmanager_receiver_container_network: "{{ matrix_addons_container_network }}" @@ -676,6 +678,8 @@ matrix_authentication_service_config_email_port: "{{ 8025 if exim_relay_enabled matrix_authentication_service_config_email_mode: "{{ 'plain' if exim_relay_enabled else 'starttls' }}" matrix_authentication_service_config_email_from_address: "{{ exim_relay_sender_address }}" +matrix_authentication_service_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_authentication_service_container_image_registry_prefix_upstream_default }}" + matrix_authentication_service_container_image_self_build: "{{ matrix_architecture not in ['amd64', 'arm64'] }}" matrix_authentication_service_container_network: "{{ matrix_homeserver_container_network }}" @@ -748,6 +752,8 @@ matrix_appservice_discord_systemd_required_services_list_auto: | ([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_appservice_discord_database_hostname == postgres_connection_hostname) else []) }} +matrix_appservice_discord_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_appservice_discord_docker_image_registry_prefix_upstream_default }}" + matrix_appservice_discord_container_http_host_bind_port: "{{ (matrix_playbook_service_host_bind_interface_prefix ~ '9005') if matrix_playbook_service_host_bind_interface_prefix else '' }}" matrix_appservice_discord_container_network: "{{ matrix_addons_container_network }}" @@ -797,6 +803,8 @@ matrix_appservice_webhooks_systemd_required_services_list_auto: | matrix_addons_homeserver_systemd_services_list }} +matrix_appservice_webhooks_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_appservice_webhooks_docker_image_registry_prefix_upstream_default }}" + matrix_appservice_webhooks_container_image_self_build: "{{ matrix_architecture != 'amd64' }}" matrix_appservice_webhooks_container_http_host_bind_port: "{{ (matrix_playbook_service_host_bind_interface_prefix ~ matrix_appservice_webhooks_matrix_port) if matrix_playbook_service_host_bind_interface_prefix else '' }}" @@ -849,6 +857,8 @@ matrix_appservice_slack_systemd_required_services_list_auto: | ([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_appservice_slack_database_hostname == postgres_connection_hostname) else []) }} +matrix_appservice_slack_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_appservice_slack_docker_image_registry_prefix_upstream_default }}" + matrix_appservice_slack_container_image_self_build: "{{ matrix_architecture not in ['amd64', 'arm64'] }}" matrix_appservice_slack_container_http_host_bind_port: "{{ (matrix_playbook_service_host_bind_interface_prefix ~ matrix_appservice_slack_slack_port) if matrix_playbook_service_host_bind_interface_prefix else '' }}" @@ -906,6 +916,8 @@ matrix_appservice_irc_systemd_required_services_list_auto: | ([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_appservice_irc_database_hostname == postgres_connection_hostname) else []) }} +matrix_appservice_irc_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_appservice_irc_docker_image_registry_prefix_upstream_default }}" + matrix_appservice_irc_container_image_self_build: "{{ matrix_architecture != 'amd64' }}" matrix_appservice_irc_container_http_host_bind_port: "{{ (matrix_playbook_service_host_bind_interface_prefix ~ '9999') if matrix_playbook_service_host_bind_interface_prefix else '' }}" @@ -957,6 +969,10 @@ matrix_appservice_kakaotalk_systemd_required_services_list_auto: | ([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_appservice_kakaotalk_database_hostname == postgres_connection_hostname) else []) }} +matrix_appservice_kakaotalk_node_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_appservice_kakaotalk_node_docker_image_registry_prefix_upstream_default }}" + +matrix_appservice_kakaotalk_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_appservice_kakaotalk_docker_image_registry_prefix_upstream_default }}" + matrix_appservice_kakaotalk_container_network: "{{ matrix_addons_container_network }}" matrix_appservice_kakaotalk_container_additional_networks_auto: |- @@ -1002,6 +1018,8 @@ matrix_beeper_linkedin_systemd_required_services_list_auto: | ([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_beeper_linkedin_database_hostname == postgres_connection_hostname) else []) }} +matrix_beeper_linkedin_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_beeper_linkedin_docker_image_registry_prefix_upstream_default }}" + matrix_beeper_linkedin_container_image_self_build: "{{ matrix_architecture not in ['amd64'] }}" matrix_beeper_linkedin_container_network: "{{ matrix_addons_container_network }}" @@ -1061,6 +1079,8 @@ matrix_go_skype_bridge_systemd_required_services_list_auto: | ([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_go_skype_bridge_database_hostname == postgres_connection_hostname) else []) }} +matrix_go_skype_bridge_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_go_skype_bridge_docker_image_registry_prefix_upstream_default }}" + matrix_go_skype_bridge_container_image_self_build: "{{ matrix_architecture not in ['amd64', 'arm64'] }}" matrix_go_skype_bridge_container_network: "{{ matrix_addons_container_network }}" @@ -1108,6 +1128,8 @@ matrix_mautrix_bluesky_systemd_required_services_list_auto: | ([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_mautrix_bluesky_database_hostname == postgres_connection_hostname) else []) }} +matrix_mautrix_bluesky_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mautrix_bluesky_docker_image_registry_prefix_upstream_default }}" + matrix_mautrix_bluesky_container_image_self_build: "{{ matrix_architecture not in ['amd64', 'arm64'] }}" matrix_mautrix_bluesky_container_network: "{{ matrix_addons_container_network }}" @@ -1171,6 +1193,8 @@ matrix_mautrix_bluesky_database_password: "{{ '%s' | format(matrix_homeserver_ge # We don't enable bridges by default. matrix_mautrix_discord_enabled: false +matrix_mautrix_discord_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mautrix_discord_docker_image_registry_prefix_upstream_default }}" + matrix_mautrix_discord_container_image_self_build: "{{ matrix_architecture not in ['arm64', 'amd64'] }}" matrix_mautrix_discord_container_network: "{{ matrix_addons_container_network }}" @@ -1249,6 +1273,8 @@ matrix_mautrix_slack_systemd_required_services_list_auto: | ([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_mautrix_slack_database_hostname == postgres_connection_hostname) else []) }} +matrix_mautrix_slack_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mautrix_slack_docker_image_registry_prefix_upstream_default }}" + matrix_mautrix_slack_container_image_self_build: "{{ matrix_architecture not in ['arm64', 'amd64'] }}" matrix_mautrix_slack_container_network: "{{ matrix_addons_container_network }}" @@ -1307,6 +1333,8 @@ matrix_mautrix_facebook_systemd_required_services_list_auto: | ([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_mautrix_facebook_database_hostname == postgres_connection_hostname) else []) }} +matrix_mautrix_facebook_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mautrix_facebook_docker_image_registry_prefix_upstream_default }}" + matrix_mautrix_facebook_container_image_self_build: "{{ matrix_architecture not in ['amd64', 'arm64'] }}" matrix_mautrix_facebook_container_http_host_bind_port: "{{ (matrix_playbook_service_host_bind_interface_prefix ~ '9008') if matrix_playbook_service_host_bind_interface_prefix else '' }}" @@ -1381,6 +1409,8 @@ matrix_mautrix_googlechat_systemd_required_services_list_auto: | ([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_mautrix_googlechat_database_hostname == postgres_connection_hostname) else []) }} +matrix_mautrix_googlechat_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mautrix_googlechat_docker_image_registry_prefix_upstream_default }}" + matrix_mautrix_googlechat_container_image_self_build: "{{ matrix_architecture not in ['amd64', 'arm64'] }}" matrix_mautrix_googlechat_container_http_host_bind_port: "{{ (matrix_playbook_service_host_bind_interface_prefix ~ '9007') if matrix_playbook_service_host_bind_interface_prefix else '' }}" @@ -1459,6 +1489,8 @@ matrix_mautrix_instagram_systemd_required_services_list_auto: | ([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_mautrix_instagram_database_hostname == postgres_connection_hostname) else []) }} +matrix_mautrix_instagram_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mautrix_instagram_docker_image_registry_prefix_upstream_default }}" + matrix_mautrix_instagram_container_image_self_build: "{{ matrix_architecture not in ['amd64', 'arm64'] }}" matrix_mautrix_instagram_container_network: "{{ matrix_addons_container_network }}" @@ -1525,6 +1557,8 @@ matrix_mautrix_signal_systemd_required_services_list_auto: | ([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_mautrix_signal_database_hostname == postgres_connection_hostname) else []) }} +matrix_mautrix_signal_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mautrix_signal_docker_image_registry_prefix_upstream_default }}" + matrix_mautrix_signal_container_image_self_build: "{{ matrix_architecture not in ['arm64', 'amd64'] }}" matrix_mautrix_signal_container_network: "{{ matrix_addons_container_network }}" @@ -1599,6 +1633,8 @@ matrix_mautrix_meta_messenger_systemd_required_services_list_auto: | ([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_mautrix_meta_messenger_database_hostname == postgres_connection_hostname) else []) }} +matrix_mautrix_meta_messenger_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mautrix_meta_messenger_container_image_registry_prefix_upstream_default }}" + matrix_mautrix_meta_messenger_container_image_self_build: "{{ matrix_architecture not in ['amd64', 'arm64'] }}" matrix_mautrix_meta_messenger_container_network: "{{ matrix_addons_container_network }}" @@ -1673,6 +1709,8 @@ matrix_mautrix_meta_instagram_systemd_required_services_list_auto: | ([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_mautrix_meta_instagram_database_hostname == postgres_connection_hostname) else []) }} +matrix_mautrix_meta_instagram_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mautrix_meta_instagram_container_image_registry_prefix_upstream_default }}" + matrix_mautrix_meta_instagram_container_image_self_build: "{{ matrix_architecture not in ['amd64', 'arm64'] }}" matrix_mautrix_meta_instagram_container_network: "{{ matrix_addons_container_network }}" @@ -1749,10 +1787,14 @@ matrix_mautrix_telegram_systemd_required_services_list_auto: | ([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_mautrix_telegram_database_hostname == postgres_connection_hostname) else []) }} +matrix_mautrix_telegram_lottieconverter_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mautrix_telegram_lottieconverter_docker_image_registry_prefix_upstream_default }}" + +matrix_mautrix_telegram_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mautrix_telegram_docker_image_registry_prefix_upstream_default }}" + # Images are multi-arch (amd64 and arm64, but not arm32). matrix_mautrix_telegram_container_image_self_build: "{{ matrix_architecture not in ['arm64', 'amd64'] }}" -matrix_telegram_lottieconverter_container_image_self_build: "{{ matrix_architecture not in ['arm64', 'amd64'] }}" -matrix_telegram_lottieconverter_container_image_self_build_mask_arch: "{{ matrix_architecture != 'amd64' }}" +matrix_mautrix_telegram_lottieconverter_container_image_self_build: "{{ matrix_architecture not in ['arm64', 'amd64'] }}" +matrix_mautrix_telegram_lottieconverter_container_image_self_build_mask_arch: "{{ matrix_architecture != 'amd64' }}" matrix_mautrix_telegram_container_http_host_bind_port: "{{ (matrix_playbook_service_host_bind_interface_prefix ~ '9006') if matrix_playbook_service_host_bind_interface_prefix else '' }}" @@ -1829,6 +1871,8 @@ matrix_mautrix_twitter_systemd_required_services_list_auto: | ([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_mautrix_twitter_database_hostname == postgres_connection_hostname) else []) }} +matrix_mautrix_twitter_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mautrix_twitter_docker_image_registry_prefix_upstream_default }}" + matrix_mautrix_twitter_container_image_self_build: "{{ matrix_architecture not in ['amd64', 'arm64'] }}" matrix_mautrix_twitter_container_network: "{{ matrix_addons_container_network }}" @@ -1899,6 +1943,8 @@ matrix_mautrix_gmessages_systemd_required_services_list_auto: | ([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_mautrix_facebook_database_hostname == postgres_connection_hostname) else []) }} +matrix_mautrix_gmessages_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mautrix_gmessages_docker_image_registry_prefix_upstream_default }}" + matrix_mautrix_gmessages_container_image_self_build: "{{ matrix_architecture not in ['arm64', 'amd64'] }}" matrix_mautrix_gmessages_container_network: "{{ matrix_addons_container_network }}" @@ -1976,6 +2022,8 @@ matrix_mautrix_wsproxy_hostname: "wsproxy.{{ matrix_mautrix_wsproxy_homeserver_d matrix_mautrix_wsproxy_syncproxy_homeserver_url: "{{ matrix_addons_homeserver_client_api_url }}" +matrix_mautrix_wsproxy_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mautrix_wsproxy_docker_image_registry_prefix_upstream_default }}" + matrix_mautrix_wsproxy_container_network: "{{ matrix_addons_container_network }}" matrix_mautrix_wsproxy_container_additional_networks: | @@ -2019,6 +2067,8 @@ matrix_wechat_systemd_required_services_list_auto: | ([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_wechat_database_hostname == postgres_connection_hostname) else []) }} +matrix_wechat_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_wechat_container_image_registry_prefix_upstream_default }}" + matrix_wechat_container_image_self_build: "{{ matrix_architecture not in ['amd64', 'arm64'] }}" matrix_wechat_agent_container_image_self_build: "{{ matrix_architecture not in ['amd64'] }}" @@ -2063,6 +2113,8 @@ matrix_wechat_database_password: "{{ '%s' | format(matrix_homeserver_generic_sec # We don't enable bridges by default. matrix_mautrix_whatsapp_enabled: false +matrix_mautrix_whatsapp_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mautrix_whatsapp_docker_image_registry_prefix_upstream_default }}" + matrix_mautrix_whatsapp_container_image_self_build: "{{ matrix_architecture not in ['arm64', 'amd64'] }}" matrix_mautrix_whatsapp_container_network: "{{ matrix_addons_container_network }}" @@ -2140,6 +2192,8 @@ matrix_sms_bridge_systemd_required_services_list_auto: | ([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_mautrix_facebook_database_hostname == postgres_connection_hostname) else []) }} +matrix_sms_bridge_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_sms_bridge_docker_image_registry_prefix_upstream_default }}" + matrix_sms_bridge_container_network: "{{ matrix_addons_container_network }}" matrix_sms_bridge_container_additional_networks_auto: |- @@ -2175,6 +2229,8 @@ matrix_heisenbridge_systemd_required_services_list_auto: | matrix_addons_homeserver_systemd_services_list }} +matrix_heisenbridge_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_heisenbridge_docker_image_registry_prefix_upstream_default }}" + matrix_heisenbridge_container_network: "{{ matrix_addons_container_network }}" matrix_heisenbridge_container_additional_networks_auto: |- @@ -2212,6 +2268,8 @@ matrix_heisenbridge_homeserver_url: "{{ matrix_addons_homeserver_client_api_url # We don't enable bridges by default. matrix_hookshot_enabled: false +matrix_hookshot_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_hookshot_docker_image_registry_prefix_upstream_default }}" + matrix_hookshot_container_image_self_build: "{{ matrix_architecture not in ['arm64', 'amd64'] }}" matrix_hookshot_appservice_token: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'hookshot.as.tok', rounds=655555) | to_uuid }}" @@ -2296,6 +2354,8 @@ matrix_mx_puppet_slack_systemd_required_services_list_auto: | ([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_mx_puppet_slack_database_hostname == postgres_connection_hostname) else []) }} +matrix_mx_puppet_slack_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mx_puppet_slack_docker_image_registry_prefix_upstream_default }}" + matrix_mx_puppet_slack_container_image_self_build: "{{ matrix_architecture != 'amd64' }}" matrix_mx_puppet_slack_container_network: "{{ matrix_addons_container_network }}" @@ -2354,6 +2414,8 @@ matrix_mx_puppet_twitter_systemd_required_services_list_auto: | ([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_mx_puppet_twitter_database_hostname == postgres_connection_hostname) else []) }} +matrix_mx_puppet_twitter_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mx_puppet_twitter_docker_image_registry_prefix_upstream_default }}" + matrix_mx_puppet_twitter_container_image_self_build: "{{ matrix_architecture != 'amd64' }}" matrix_mx_puppet_twitter_container_http_host_bind_port: "{{ (matrix_playbook_service_host_bind_interface_prefix ~ '' ~ matrix_mx_puppet_twitter_appservice_port) if matrix_playbook_service_host_bind_interface_prefix else '' }}" @@ -2413,6 +2475,8 @@ matrix_mx_puppet_instagram_systemd_required_services_list_auto: | ([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_mx_puppet_instagram_database_hostname == postgres_connection_hostname) else []) }} +matrix_mx_puppet_instagram_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mx_puppet_instagram_docker_image_registry_prefix_upstream_default }}" + matrix_mx_puppet_instagram_container_image_self_build: "{{ matrix_architecture != 'amd64' }}" matrix_mx_puppet_instagram_container_network: "{{ matrix_addons_container_network }}" @@ -2462,6 +2526,8 @@ matrix_mx_puppet_discord_systemd_required_services_list_auto: | ([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_mx_puppet_discord_database_hostname == postgres_connection_hostname) else []) }} +matrix_mx_puppet_discord_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mx_puppet_discord_docker_image_registry_prefix_upstream_default }}" + matrix_mx_puppet_discord_container_image_self_build: "{{ matrix_architecture != 'amd64' }}" matrix_mx_puppet_discord_container_network: "{{ matrix_addons_container_network }}" @@ -2511,6 +2577,8 @@ matrix_mx_puppet_steam_systemd_required_services_list_auto: | ([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_mx_puppet_steam_database_hostname == postgres_connection_hostname) else []) }} +matrix_mx_puppet_steam_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mx_puppet_steam_docker_image_registry_prefix_upstream_default }}" + matrix_mx_puppet_steam_container_image_self_build: "{{ matrix_architecture not in ['arm64', 'amd64'] }}" matrix_mx_puppet_steam_container_network: "{{ matrix_addons_container_network }}" @@ -2561,6 +2629,8 @@ matrix_mx_puppet_groupme_systemd_required_services_list_auto: | ([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_mx_puppet_groupme_database_hostname == postgres_connection_hostname) else []) }} +matrix_mx_puppet_groupme_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mx_puppet_groupme_docker_image_registry_prefix_upstream_default }}" + matrix_mx_puppet_groupme_container_image_self_build: "{{ matrix_architecture != 'amd64' }}" matrix_mx_puppet_groupme_container_network: "{{ matrix_addons_container_network }}" @@ -2603,6 +2673,8 @@ matrix_mx_puppet_groupme_database_password: "{{ '%s' | format(matrix_homeserver_ # We don't enable bridges by default. matrix_postmoogle_enabled: false +matrix_postmoogle_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_postmoogle_docker_image_registry_prefix_upstream_default }}" + matrix_postmoogle_container_image_self_build: "{{ matrix_architecture not in ['amd64', 'arm64'] }}" matrix_postmoogle_ssl_path: |- @@ -2686,6 +2758,8 @@ matrix_bot_matrix_reminder_bot_systemd_required_services_list_auto: | ([postgres_identifier ~ '.service'] if postgres_enabled and matrix_bot_matrix_reminder_bot_database_hostname == postgres_connection_hostname else []) }} +matrix_bot_matrix_reminder_bot_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_bot_matrix_reminder_bot_docker_image_registry_prefix_upstream_default }}" + matrix_bot_matrix_reminder_bot_container_image_self_build: "{{ matrix_architecture not in ['amd64', 'arm64'] }}" matrix_bot_matrix_reminder_bot_container_network: "{{ matrix_addons_container_network }}" @@ -2731,6 +2805,8 @@ matrix_bot_matrix_registration_bot_systemd_required_services_list_auto: | matrix_addons_homeserver_systemd_services_list }} +matrix_bot_matrix_registration_bot_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_bot_matrix_registration_bot_docker_image_registry_prefix_upstream_default }}" + matrix_bot_matrix_registration_bot_container_image_self_build: "{{ matrix_architecture not in ['amd64'] }}" matrix_bot_matrix_registration_bot_container_network: "{{ matrix_addons_container_network }}" @@ -2778,6 +2854,8 @@ matrix_bot_maubot_homeserver_secret: |- }[matrix_homeserver_implementation] | default('') }} +matrix_bot_maubot_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_bot_maubot_docker_image_registry_prefix_upstream_default }}" + matrix_bot_maubot_container_image_self_build: "{{ matrix_architecture not in ['amd64'] }}" matrix_bot_maubot_container_management_interface_http_bind_port: "{{ (matrix_playbook_service_host_bind_interface_prefix ~ '' ~ matrix_bot_maubot_server_port | string) if matrix_playbook_service_host_bind_interface_prefix else '' }}" @@ -2834,6 +2912,8 @@ matrix_bot_honoroit_systemd_required_services_list_auto: | ([postgres_identifier ~ '.service'] if postgres_enabled and matrix_bot_honoroit_database_hostname == postgres_connection_hostname else []) }} +matrix_bot_honoroit_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_bot_honoroit_docker_image_registry_prefix_upstream_default }}" + matrix_bot_honoroit_container_network: "{{ matrix_addons_container_network }}" matrix_bot_honoroit_container_additional_networks: | @@ -2888,6 +2968,8 @@ matrix_bot_buscarron_systemd_required_services_list_auto: | ([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_bot_buscarron_database_hostname == postgres_connection_hostname) else []) }} +matrix_bot_buscarron_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_bot_buscarron_docker_image_registry_prefix_upstream_default }}" + matrix_bot_buscarron_container_image_self_build: "{{ matrix_architecture not in ['amd64', 'arm64'] }}" matrix_bot_buscarron_container_network: "{{ matrix_addons_container_network }}" @@ -2931,6 +3013,8 @@ matrix_bot_buscarron_database_password: "{{ '%s' | format(matrix_homeserver_gene # We don't enable bots by default. matrix_bot_baibot_enabled: false +matrix_bot_baibot_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_bot_baibot_container_image_registry_prefix_upstream_default }}" + matrix_bot_baibot_container_image_self_build: "{{ matrix_architecture not in ['amd64', 'arm64'] }}" matrix_bot_baibot_systemd_required_services_list_auto: | @@ -2964,6 +3048,8 @@ matrix_bot_baibot_container_additional_networks_auto: |- # We don't enable bots by default. matrix_bot_chatgpt_enabled: false +matrix_bot_chatgpt_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_bot_chatgpt_container_image_registry_prefix_upstream_default }}" + matrix_bot_chatgpt_container_image_self_build: "{{ matrix_architecture not in ['amd64', 'arm64'] }}" matrix_bot_chatgpt_container_network: "{{ matrix_addons_container_network }}" @@ -2998,6 +3084,8 @@ matrix_bot_go_neb_systemd_required_services_list_auto: | matrix_addons_homeserver_systemd_services_list }} +matrix_bot_go_neb_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_bot_go_neb_container_image_registry_prefix_upstream_default }}" + matrix_bot_go_neb_container_http_host_bind_port: "{{ (matrix_playbook_service_host_bind_interface_prefix ~ '4050') if matrix_playbook_service_host_bind_interface_prefix else '' }}" matrix_bot_go_neb_container_network: "{{ matrix_addons_container_network }}" @@ -3039,6 +3127,8 @@ matrix_bot_mjolnir_systemd_required_services_list_auto: | (['matrix-pantalaimon.service'] if matrix_bot_mjolnir_pantalaimon_use else []) }} +matrix_bot_mjolnir_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_bot_mjolnir_docker_image_registry_prefix_upstream_default }}" + matrix_bot_mjolnir_container_image_self_build: "{{ matrix_architecture != 'amd64' }}" matrix_bot_mjolnir_container_network: "{{ matrix_addons_container_network }}" @@ -3075,6 +3165,8 @@ matrix_bot_draupnir_systemd_required_services_list_auto: | (['matrix-pantalaimon.service'] if matrix_bot_draupnir_pantalaimon_use else []) }} +matrix_bot_draupnir_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_bot_draupnir_docker_image_registry_prefix_upstream_default }}" + matrix_bot_draupnir_container_image_self_build: "{{ matrix_architecture not in ['amd64', 'arm64'] }}" matrix_bot_draupnir_container_network: "{{ matrix_addons_container_network }}" @@ -3123,6 +3215,8 @@ matrix_appservice_draupnir_for_all_systemd_required_services_list_auto: | ([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_appservice_draupnir_for_all_database_hostname == postgres_connection_hostname) else []) }} +matrix_appservice_draupnir_for_all_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_appservice_draupnir_for_all_docker_image_registry_prefix_upstream_default }}" + matrix_appservice_draupnir_for_all_container_image_self_build: "{{ matrix_architecture not in ['amd64', 'arm64'] }}" matrix_appservice_draupnir_for_all_container_network: "{{ matrix_addons_container_network }}" @@ -3180,6 +3274,8 @@ matrix_pantalaimon_systemd_required_services_list_auto: | matrix_addons_homeserver_systemd_services_list }} +matrix_pantalaimon_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_pantalaimon_docker_image_registry_prefix_upstream_default }}" + matrix_pantalaimon_container_network: "{{ matrix_homeserver_container_network }}" matrix_pantalaimon_container_image_self_build: "{{ matrix_architecture not in ['amd64'] }}" @@ -3210,6 +3306,8 @@ backup_borg_username: "{{ matrix_user_username }}" backup_borg_uid: "{{ matrix_user_uid }}" backup_borg_gid: "{{ matrix_user_gid }}" +backup_borg_docker_image_registry_prefix_upstream: "{{ backup_borg_docker_image_registry_prefix_upstream_default }}" + backup_borg_container_network: "{{ postgres_container_network if postgres_enabled else backup_borg_identifier }}" backup_borg_postgresql_version_detection_postgres_role_name: "{{ 'galaxy/postgres' if postgres_enabled else '' }}" @@ -3260,6 +3358,8 @@ matrix_cactus_comments_systemd_required_services_list_auto: | matrix_addons_homeserver_systemd_services_list }} +matrix_cactus_comments_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_cactus_comments_docker_image_registry_prefix_upstream_default }}" + matrix_cactus_comments_container_image_self_build: "{{ matrix_architecture not in ['amd64'] }}" matrix_cactus_comments_container_network: "{{ matrix_addons_container_network }}" @@ -3290,6 +3390,8 @@ matrix_cactus_comments_client_enabled: "{{ matrix_cactus_comments_enabled }}" matrix_cactus_comments_client_hostname: "{{ matrix_server_fqn_matrix }}" +matrix_cactus_comments_client_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_cactus_comments_client_container_image_registry_prefix_upstream_default }}" + matrix_cactus_comments_client_container_network: "{{ matrix_addons_container_network }}" matrix_cactus_comments_client_container_additional_networks_auto: |- @@ -3323,6 +3425,8 @@ matrix_corporal_systemd_required_services_list_auto: | (['matrix-' + matrix_homeserver_implementation + '.service']) }} +matrix_corporal_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_corporal_docker_image_registry_prefix_upstream_default }}" + matrix_corporal_container_image_self_build: "{{ matrix_architecture not in ['amd64', 'arm32', 'arm64'] }}" matrix_corporal_container_http_gateway_host_bind_port: "{{ (matrix_playbook_service_host_bind_interface_prefix ~ '41080') if matrix_playbook_service_host_bind_interface_prefix else '' }}" @@ -3375,6 +3479,8 @@ matrix_rageshake_container_image_self_build: "{{ matrix_architecture not in ['am matrix_rageshake_hostname: "{{ matrix_server_fqn_rageshake }}" +matrix_rageshake_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_rageshake_container_image_registry_prefix_upstream_default }}" + matrix_rageshake_container_network: matrix-rageshake matrix_rageshake_container_additional_networks: "{{ [matrix_playbook_reverse_proxyable_services_additional_network] if matrix_playbook_reverse_proxyable_services_additional_network else [] }}" @@ -3400,6 +3506,8 @@ matrix_rageshake_container_labels_traefik_tls_certResolver: "{{ traefik_certReso matrix_coturn_enabled: true +matrix_coturn_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_coturn_docker_image_registry_prefix_upstream_default }}" + matrix_coturn_container_image_self_build: "{{ matrix_architecture not in ['amd64', 'arm32', 'arm64'] }}" # We make the assumption that `ansible_host` points to an external IP address, which may not always be the case. @@ -3471,11 +3579,13 @@ matrix_coturn_systemd_required_services_list: | matrix_dimension_enabled: false -matrix_dimension_container_image_self_build: "{{ matrix_architecture != 'amd64' }}" - matrix_dimension_scheme: "{{ 'https' if matrix_playbook_ssl_enabled else 'http' }}" matrix_dimension_hostname: "{{ matrix_server_fqn_dimension }}" +matrix_dimension_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_dimension_docker_image_registry_prefix_upstream_default }}" + +matrix_dimension_container_image_self_build: "{{ matrix_architecture != 'amd64' }}" + matrix_dimension_container_network: "{{ matrix_addons_container_network }}" # Dimension is connected both to `matrix_addons_homeserver_container_network` and `matrix_homeserver_container_network`, @@ -3548,6 +3658,8 @@ etherpad_framing_enabled: "{{ matrix_dimension_enabled or jitsi_enabled }}" etherpad_hostname: "{{ matrix_server_fqn_etherpad }}" +etherpad_container_image_registry_prefix_upstream: "{{ etherpad_container_image_registry_prefix_upstream_default }}" + etherpad_container_image_self_build: "{{ matrix_architecture not in ['amd64'] }}" etherpad_container_http_host_bind_port: "{{ (matrix_playbook_service_host_bind_interface_prefix ~ '9001') if matrix_playbook_service_host_bind_interface_prefix else '' }}" @@ -3592,6 +3704,8 @@ etherpad_database_password: "{{ '%s' | format(matrix_homeserver_generic_secret_k matrix_dynamic_dns_enabled: false +matrix_dynamic_dns_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_dynamic_dns_docker_image_registry_prefix_upstream_default }}" + matrix_dynamic_dns_container_network: matrix-dynamic-dns ###################################################################### @@ -3613,6 +3727,8 @@ matrix_email2matrix_systemd_required_services_list_auto: | matrix_addons_homeserver_systemd_services_list }} +matrix_email2matrix_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_email2matrix_docker_image_registry_prefix_upstream_default }}" + matrix_email2matrix_container_image_self_build: "{{ matrix_architecture not in ['amd64', 'arm32', 'arm64'] }}" matrix_email2matrix_container_network: "{{ matrix_addons_container_network }}" @@ -3649,6 +3765,8 @@ jitsi_gid: "{{ matrix_user_gid }}" jitsi_user_username: "{{ matrix_user_username }}" +jitsi_web_container_image_registry_prefix_upstream: "{{ jitsi_web_container_image_registry_prefix_upstream_default }}" + jitsi_web_container_http_host_bind_port: "{{ (matrix_playbook_service_host_bind_interface_prefix ~ '13080') if matrix_playbook_service_host_bind_interface_prefix else '' }}" jitsi_web_container_additional_networks_auto: | @@ -3656,6 +3774,8 @@ jitsi_web_container_additional_networks_auto: | ([matrix_playbook_reverse_proxyable_services_additional_network] if matrix_playbook_reverse_proxyable_services_additional_network else []) }} +jitsi_jvb_container_image_registry_prefix_upstream: "{{ jitsi_jvb_container_image_registry_prefix_upstream_default }}" + jitsi_jvb_container_colibri_ws_host_bind_port: "{{ (matrix_playbook_service_host_bind_interface_prefix ~ '13090') if matrix_playbook_service_host_bind_interface_prefix else '' }}" jitsi_jvb_container_additional_networks_auto: | @@ -3663,6 +3783,8 @@ jitsi_jvb_container_additional_networks_auto: | ([matrix_playbook_reverse_proxyable_services_additional_network] if matrix_playbook_reverse_proxyable_services_additional_network else []) }} +jitsi_prosody_container_image_registry_prefix_upstream: "{{ jitsi_prosody_container_image_registry_prefix_upstream_default }}" + jitsi_prosody_container_http_host_bind_port: "{{ (matrix_playbook_service_host_bind_interface_prefix ~ '5280') if matrix_playbook_service_host_bind_interface_prefix else '' }}" jitsi_prosody_container_additional_networks_auto: | @@ -3670,6 +3792,8 @@ jitsi_prosody_container_additional_networks_auto: | ([matrix_playbook_reverse_proxyable_services_additional_network] if matrix_playbook_reverse_proxyable_services_additional_network else []) }} +jitsi_jicofo_container_image_registry_prefix_upstream: "{{ jitsi_jicofo_container_image_registry_prefix_upstream_default }}" + jitsi_container_labels_traefik_enabled: "{{ matrix_playbook_traefik_labels_enabled }}" jitsi_container_labels_traefik_docker_network: "{{ matrix_playbook_reverse_proxyable_services_additional_network }}" jitsi_container_labels_traefik_entrypoints: "{{ traefik_entrypoint_primary }}" @@ -3743,6 +3867,8 @@ matrix_ldap_registration_proxy_systemd_required_services_list_auto: | matrix_addons_homeserver_systemd_services_list }} +matrix_ldap_registration_proxy_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_ldap_registration_proxy_docker_image_registry_prefix_upstream_default }}" + matrix_ldap_registration_proxy_container_network: "{{ matrix_addons_container_network }}" matrix_ldap_registration_proxy_container_additional_networks_auto: |- @@ -3783,12 +3909,14 @@ exim_relay_base_path: "{{ matrix_base_data_path }}/exim-relay" exim_relay_uid: "{{ matrix_user_uid }}" exim_relay_gid: "{{ matrix_user_gid }}" -exim_relay_container_image_self_build: "{{ matrix_architecture not in ['amd64', 'arm32', 'arm64'] }}" - exim_relay_hostname: "{{ matrix_server_fqn_matrix }}" exim_relay_sender_address: "matrix@{{ exim_relay_hostname }}" +exim_relay_container_image_registry_prefix_upstream: "{{ exim_relay_container_image_registry_prefix_upstream_default }}" + +exim_relay_container_image_self_build: "{{ matrix_architecture not in ['amd64', 'arm32', 'arm64'] }}" + ######################################################################## # # # /exim-relay # @@ -3816,6 +3944,8 @@ matrix_ma1sd_enabled: false matrix_ma1sd_scheme: "{{ 'https' if matrix_playbook_ssl_enabled else 'http' }}" matrix_ma1sd_hostname: "{{ matrix_server_fqn_matrix }}" +matrix_ma1sd_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_ma1sd_docker_image_registry_prefix_upstream_default }}" + matrix_ma1sd_container_image_self_build: "{{ matrix_architecture != 'amd64' }}" matrix_ma1sd_container_http_host_bind_port: "{{ (matrix_playbook_service_host_bind_interface_prefix ~ '' ~ matrix_ma1sd_container_port | string) if matrix_playbook_service_host_bind_interface_prefix else '' }}" @@ -3890,6 +4020,8 @@ matrix_ma1sd_database_password: "{{ '%s' | format(matrix_homeserver_generic_secr matrix_media_repo_enabled: false +matrix_media_repo_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_media_repo_docker_image_registry_prefix_upstream_default }}" + matrix_media_repo_container_network: "{{ matrix_homeserver_container_network }}" matrix_media_repo_container_additional_networks: | @@ -3996,6 +4128,9 @@ postgres_systemd_services_to_stop_for_maintenance_list_auto: "{{ devture_systemd postgres_max_connections: "{{ 500 if matrix_synapse_workers_enabled else 200 }}" +postgres_container_image_registry_prefix_upstream: "{{ postgres_container_image_registry_prefix_upstream_default }}" +postgres_pgloader_container_image_registry_prefix_upstream: "{{ postgres_pgloader_container_image_registry_prefix_upstream_default }}" + postgres_managed_databases_auto: | {{ ([{ @@ -4316,6 +4451,8 @@ postgres_backup_systemd_required_services_list_auto: | ([(postgres_identifier + '.service')] if (postgres_enabled and postgres_backup_connection_hostname == postgres_connection_hostname) else []) }} +postgres_backup_container_image_registry_prefix_upstream: "{{ postgres_backup_container_image_registry_prefix_upstream_default }}" + postgres_backup_container_network: "{{ (postgres_container_network if (postgres_enabled and postgres_backup_connection_hostname == postgres_connection_hostname) else postgres_backup_identifier) }}" postgres_backup_container_additional_networks_auto: |- @@ -4356,6 +4493,8 @@ matrix_sygnal_metrics_prometheus_enabled: "{{ prometheus_enabled or matrix_metri matrix_sygnal_hostname: "{{ matrix_server_fqn_sygnal }}" +matrix_sygnal_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_sygnal_docker_image_registry_prefix_upstream_default }}" + matrix_sygnal_container_network: "{{ matrix_homeserver_container_network }}" matrix_sygnal_container_additional_networks: "{{ [matrix_playbook_reverse_proxyable_services_additional_network] if matrix_playbook_reverse_proxyable_services_additional_network else [] }}" @@ -4390,6 +4529,8 @@ ntfy_gid: "{{ matrix_user_gid }}" ntfy_hostname: "{{ matrix_server_fqn_ntfy }}" +ntfy_container_image_registry_prefix_upstream: "{{ ntfy_container_image_registry_prefix_upstream_default }}" + ntfy_container_additional_networks_auto: "{{ [matrix_playbook_reverse_proxyable_services_additional_network] if matrix_playbook_reverse_proxyable_services_additional_network else [] }}" ntfy_container_http_host_bind_port: "{{ (matrix_playbook_service_host_bind_interface_prefix ~ '2586') if matrix_playbook_service_host_bind_interface_prefix else '' }}" @@ -4428,6 +4569,8 @@ valkey_base_path: "{{ matrix_base_data_path }}/valkey" valkey_arch: "{{ matrix_architecture }}" +valkey_container_image_registry_prefix_upstream: "{{ valkey_container_image_registry_prefix_upstream_default }}" + ###################################################################### # # valkey @@ -4447,6 +4590,8 @@ matrix_client_element_enabled: true matrix_client_element_scheme: "{{ 'https' if matrix_playbook_ssl_enabled else 'http' }}" +matrix_client_element_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_client_element_docker_image_registry_prefix_upstream_default }}" + matrix_client_element_container_image_self_build: "{{ matrix_architecture not in ['arm64', 'amd64'] }}" matrix_client_element_container_http_host_bind_port: "{{ (matrix_playbook_service_host_bind_interface_prefix ~ '8765') if matrix_playbook_service_host_bind_interface_prefix else '' }}" @@ -4499,6 +4644,8 @@ matrix_client_element_jitsi_preferred_domain: "{{ matrix_server_fqn_jitsi if jit matrix_client_hydrogen_enabled: false +matrix_client_hydrogen_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_client_hydrogen_docker_image_registry_prefix_upstream_default }}" + matrix_client_hydrogen_container_image_self_build: "{{ matrix_architecture not in ['arm64', 'amd64'] }}" matrix_client_hydrogen_container_http_host_bind_port: "{{ (matrix_playbook_service_host_bind_interface_prefix ~ '8768') if matrix_playbook_service_host_bind_interface_prefix else '' }}" @@ -4535,6 +4682,8 @@ matrix_client_hydrogen_self_check_validate_certificates: "{{ matrix_playbook_ssl matrix_client_cinny_enabled: false +matrix_client_cinny_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_client_cinny_docker_image_registry_prefix_upstream_default }}" + matrix_client_cinny_container_image_self_build: "{{ matrix_architecture not in ['arm64', 'amd64'] }}" matrix_client_cinny_container_http_host_bind_port: "{{ (matrix_playbook_service_host_bind_interface_prefix ~ '8080') if matrix_playbook_service_host_bind_interface_prefix else '' }}" @@ -4573,6 +4722,8 @@ matrix_client_schildichat_enabled: false matrix_client_schildichat_scheme: "{{ 'https' if matrix_playbook_ssl_enabled else 'http' }}" +matrix_client_schildichat_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_client_schildichat_docker_image_registry_prefix_upstream_default }}" + matrix_client_schildichat_container_image_self_build: "{{ matrix_architecture not in ['arm64', 'amd64'] }}" matrix_client_schildichat_container_http_host_bind_port: "{{ (matrix_playbook_service_host_bind_interface_prefix ~ '8765') if matrix_playbook_service_host_bind_interface_prefix else '' }}" @@ -4624,6 +4775,8 @@ matrix_client_fluffychat_enabled: false matrix_client_fluffychat_scheme: "{{ 'https' if matrix_playbook_ssl_enabled else 'http' }}" +matrix_client_fluffychat_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_client_fluffychat_docker_image_registry_prefix_upstream_default }}" + matrix_client_fluffychat_container_image_self_build: "{{ matrix_architecture not in ['arm64', 'amd64'] }}" matrix_client_fluffychat_container_http_host_bind_port: "{{ (matrix_playbook_service_host_bind_interface_prefix ~ '8770') if matrix_playbook_service_host_bind_interface_prefix else '' }}" @@ -4659,6 +4812,10 @@ matrix_synapse_gid: "{{ matrix_user_gid }}" matrix_synapse_federation_enabled: "{{ matrix_homeserver_federation_enabled }}" +matrix_synapse_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_synapse_docker_image_registry_prefix_upstream_default }}" + +matrix_s3_goofys_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_s3_goofys_docker_image_registry_prefix_upstream_default }}" + matrix_synapse_container_image_self_build: "{{ matrix_architecture not in ['arm64', 'amd64'] }}" matrix_synapse_account_threepid_delegates_msisdn_mas1sd_url: "{{ ('http://matrix-ma1sd:' + matrix_ma1sd_container_port| string) }}" @@ -4823,6 +4980,8 @@ matrix_synapse_auto_compressor_gid: "{{ matrix_user_gid }}" matrix_synapse_auto_compressor_postgres_image: "{{ postgres_container_image_to_use }}" +matrix_synapse_auto_compressor_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_synapse_auto_compressor_container_image_registry_prefix_upstream_default }}" + matrix_synapse_auto_compressor_container_image_self_build: "{{ matrix_architecture not in ['amd64'] }}" matrix_synapse_auto_compressor_container_network: "{{ (postgres_container_network if (postgres_enabled and matrix_synapse_auto_compressor_database_hostname == matrix_synapse_database_host and matrix_synapse_database_host == postgres_connection_hostname) else 'matrix-synapse-auto-compressor') }}" @@ -4853,6 +5012,8 @@ matrix_synapse_auto_compressor_systemd_required_services_list_auto: | matrix_synapse_reverse_proxy_companion_enabled: "{{ matrix_synapse_enabled and matrix_synapse_workers_enabled }}" +matrix_synapse_reverse_proxy_companion_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_synapse_reverse_proxy_companion_container_image_registry_prefix_upstream_default }}" + matrix_synapse_reverse_proxy_companion_container_network: "{{ matrix_synapse_container_network }}" matrix_synapse_reverse_proxy_companion_container_additional_networks_auto: | @@ -4923,6 +5084,8 @@ matrix_synapse_reverse_proxy_companion_access_log_syslog_integration_server_port matrix_synapse_admin_enabled: false +matrix_synapse_admin_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_synapse_admin_docker_image_registry_prefix_upstream_default }}" + matrix_synapse_admin_container_http_host_bind_port: "{{ (matrix_playbook_service_host_bind_interface_prefix ~ '8766') if matrix_playbook_service_host_bind_interface_prefix else '' }}" matrix_synapse_admin_container_image_self_build: "{{ matrix_architecture not in ['arm64', 'amd64'] }}" @@ -5139,6 +5302,8 @@ matrix_synapse_admin_config_asManagedUsers_auto: | matrix_synapse_usage_exporter_enabled: false +matrix_synapse_usage_exporter_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_synapse_usage_exporter_container_image_registry_prefix_upstream_default }}" + matrix_synapse_usage_exporter_container_network: "{{ matrix_monitoring_container_network }}" matrix_synapse_usage_exporter_container_additional_networks: "{{ [matrix_playbook_reverse_proxyable_services_additional_network] if matrix_playbook_reverse_proxyable_services_additional_network else [] }}" @@ -5156,7 +5321,7 @@ matrix_synapse_usage_exporter_container_labels_traefik_tls_certResolver: "{{ tra ###################################################################### # -# etke/prometheus_node_exporter +# prometheus_node_exporter # ###################################################################### @@ -5171,6 +5336,8 @@ prometheus_node_exporter_gid: "{{ matrix_user_gid }}" prometheus_node_exporter_hostname: "{{ matrix_server_fqn_matrix }}" +prometheus_node_exporter_docker_image_registry_prefix_upstream: "{{ prometheus_node_exporter_docker_image_registry_prefix_upstream_default }}" + prometheus_node_exporter_container_network: "{{ matrix_monitoring_container_network }}" prometheus_node_exporter_container_additional_networks_auto: "{{ [matrix_playbook_reverse_proxyable_services_additional_network] if matrix_playbook_reverse_proxyable_services_additional_network else [] }}" @@ -5185,14 +5352,14 @@ prometheus_node_exporter_container_labels_metrics_middleware_basic_auth_users: " ###################################################################### # -# /etke/prometheus_node_exporter +# /prometheus_node_exporter # ###################################################################### ###################################################################### # -# etke/prometheus_postgres_exporter +# prometheus_postgres_exporter # ###################################################################### @@ -5207,6 +5374,8 @@ prometheus_postgres_exporter_gid: "{{ matrix_user_gid }}" prometheus_postgres_exporter_hostname: "{{ matrix_server_fqn_matrix }}" +prometheus_postgres_exporter_docker_image_registry_prefix_upstream: "{{ prometheus_postgres_exporter_docker_image_registry_prefix_upstream_default }}" + prometheus_postgres_exporter_container_network: "{{ matrix_monitoring_container_network }}" prometheus_postgres_exporter_container_additional_networks: | @@ -5236,7 +5405,7 @@ prometheus_postgres_exporter_systemd_required_services_list_auto: | ###################################################################### # -# /etke/prometheus_postgres_exporter +# /prometheus_postgres_exporter # ###################################################################### @@ -5253,6 +5422,8 @@ matrix_prometheus_nginxlog_exporter_identifier: matrix-prometheus-nginxlog-expor matrix_prometheus_nginxlog_exporter_hostname: "{{ matrix_server_fqn_matrix }}" +matrix_prometheus_nginxlog_exporter_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_prometheus_nginxlog_exporter_docker_image_registry_prefix_upstream_default }}" + matrix_prometheus_nginxlog_exporter_container_network: "{{ matrix_monitoring_container_network }}" matrix_prometheus_nginxlog_exporter_container_additional_networks_auto: |- @@ -5295,6 +5466,8 @@ prometheus_base_path: "{{ matrix_base_data_path }}/prometheus" prometheus_uid: "{{ matrix_user_uid }}" prometheus_gid: "{{ matrix_user_gid }}" +prometheus_container_image_registry_prefix_upstream: "{{ prometheus_container_image_registry_prefix_upstream_default }}" + prometheus_container_network: "{{ matrix_monitoring_container_network }}" prometheus_container_additional_networks_auto: | @@ -5404,6 +5577,8 @@ grafana_hostname: "{{ matrix_server_fqn_grafana }}" grafana_base_path: "{{ matrix_base_data_path }}/grafana" +grafana_container_image_registry_prefix_upstream: "{{ grafana_container_image_registry_prefix_upstream_default }}" + grafana_container_network: "{{ matrix_monitoring_container_network }}" grafana_container_additional_networks_auto: | @@ -5492,6 +5667,8 @@ matrix_registration_systemd_required_services_list_auto: | ([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_registration_database_hostname == postgres_connection_hostname) else []) }} +matrix_registration_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_registration_docker_image_registry_prefix_upstream_default }}" + matrix_registration_container_image_self_build: "{{ matrix_architecture != 'amd64' }}" matrix_registration_container_http_host_bind_port: "{{ (matrix_playbook_service_host_bind_interface_prefix ~ '8767') if matrix_playbook_service_host_bind_interface_prefix else '' }}" @@ -5557,6 +5734,8 @@ matrix_sliding_sync_hostname: "{{ matrix_server_fqn_matrix }}" matrix_sliding_sync_path_prefix: /sliding-sync +matrix_sliding_sync_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_sliding_sync_container_image_registry_prefix_upstream_default }}" + matrix_sliding_sync_container_image_self_build: "{{ matrix_architecture not in ['amd64', 'arm64'] }}" matrix_sliding_sync_container_network: "{{ matrix_homeserver_container_network }}" @@ -5618,6 +5797,8 @@ matrix_dendrite_hostname: "{{ matrix_server_fqn_matrix }}" matrix_dendrite_federation_enabled: "{{ matrix_homeserver_federation_enabled }}" +matrix_dendrite_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_dendrite_docker_image_registry_prefix_upstream_default }}" + matrix_dendrite_container_network: "{{ matrix_homeserver_container_network }}" matrix_dendrite_container_additional_networks_auto: | @@ -5706,6 +5887,8 @@ matrix_conduit_hostname: "{{ matrix_server_fqn_matrix }}" matrix_conduit_allow_federation: "{{ matrix_homeserver_federation_enabled }}" +matrix_conduit_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_conduit_docker_image_registry_prefix_upstream_default }}" + matrix_conduit_container_network: "{{ matrix_homeserver_container_network }}" matrix_conduit_container_additional_networks_auto: | @@ -5754,6 +5937,8 @@ matrix_conduwuit_hostname: "{{ matrix_server_fqn_matrix }}" matrix_conduwuit_config_allow_federation: "{{ matrix_homeserver_federation_enabled }}" +matrix_conduwuit_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_conduwuit_docker_image_registry_prefix_upstream_default }}" + matrix_conduwuit_container_network: "{{ matrix_homeserver_container_network }}" matrix_conduwuit_container_additional_networks_auto: | @@ -5877,6 +6062,8 @@ matrix_user_verification_service_systemd_required_services_list: | (['matrix-' + matrix_homeserver_implementation + '.service']) }} +matrix_user_verification_service_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_user_verification_service_docker_image_registry_prefix_upstream_default }}" + matrix_user_verification_service_container_network: "{{ matrix_addons_container_network }}" matrix_user_verification_service_container_additional_networks: | @@ -5919,6 +6106,8 @@ matrix_user_verification_service_uvs_auth_token: "{{ '%s' | format(matrix_homese matrix_static_files_enabled: true +matrix_static_files_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_static_files_container_image_registry_prefix_upstream_default }}" + matrix_static_files_container_network: "{{ (matrix_static_files_identifier if matrix_playbook_reverse_proxy_type == 'none' else matrix_playbook_reverse_proxy_container_network) }}" matrix_static_files_container_labels_traefik_enabled: "{{ matrix_playbook_traefik_labels_enabled }}" @@ -5983,6 +6172,8 @@ container_socket_proxy_gid: "{{ matrix_user_gid }}" # Traefik requires read access to the containers APIs to do its job container_socket_proxy_api_containers_enabled: true +container_socket_proxy_container_image_registry_prefix_upstream: "{{ container_socket_proxy_container_image_registry_prefix_upstream_default }}" + ######################################################################## # # # /container-socket-proxy # @@ -6018,6 +6209,8 @@ traefik_additional_entrypoints_auto: | traefik_config_providers_docker_endpoint: "{{ container_socket_proxy_endpoint if container_socket_proxy_enabled else 'unix:///var/run/docker.sock' }}" +traefik_container_image_registry_prefix_upstream: "{{ traefik_container_image_registry_prefix_upstream_default }}" + traefik_container_additional_networks_auto: | {{ ([container_socket_proxy_container_network] if container_socket_proxy_enabled else []) @@ -6054,6 +6247,8 @@ traefik_certs_dumper_gid: "{{ matrix_user_gid }}" traefik_certs_dumper_ssl_dir_path: "{{ traefik_ssl_dir_path if traefik_enabled else '' }}" +traefik_certs_dumper_container_image_registry_prefix_upstream: "{{ traefik_certs_dumper_container_image_registry_prefix_upstream_default }}" + ######################################################################## # # # /traefik_certs_dumper # diff --git a/roles/custom/matrix-base/defaults/main.yml b/roles/custom/matrix-base/defaults/main.yml index 1741924af..63027e487 100644 --- a/roles/custom/matrix-base/defaults/main.yml +++ b/roles/custom/matrix-base/defaults/main.yml @@ -136,6 +136,13 @@ matrix_architecture: "{{ 'amd64' if ansible_architecture == 'x86_64' else ('arm6 # We just remap from our `matrix_architecture` values to what Debian and possibly other distros call things. matrix_debian_arch: "{{ 'armhf' if matrix_architecture == 'arm32' else matrix_architecture }}" +# If specified, the playbook will override the default registry prefix for all components. +# +# This is to be used when you've mirrored all the necessary container images (from their respective registries) by yourself. +# +# Example value: "registry.example.com/" (note the trailing `/`). +matrix_container_global_registry_prefix_override: "" + matrix_user_username: "matrix" matrix_user_groupname: "matrix" diff --git a/roles/custom/matrix-bridge-mautrix-telegram/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-telegram/defaults/main.yml index a876a6587..01917528f 100644 --- a/roles/custom/matrix-bridge-mautrix-telegram/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-telegram/defaults/main.yml @@ -9,15 +9,15 @@ matrix_mautrix_telegram_scheme: https matrix_mautrix_telegram_hostname: '' matrix_mautrix_telegram_path_prefix: '' -matrix_telegram_lottieconverter_container_image_self_build: false -matrix_telegram_lottieconverter_container_image_self_build_mask_arch: false -matrix_telegram_lottieconverter_docker_repo: "https://mau.dev/tulir/lottieconverter.git" -matrix_telegram_lottieconverter_docker_repo_version: "master" -matrix_telegram_lottieconverter_docker_src_files_path: "{{ matrix_base_data_path }}/lotticonverter/docker-src" -matrix_telegram_lottieconverter_docker_image: "{{ matrix_telegram_lottieconverter_docker_image_registry_prefix }}tulir/lottieconverter:alpine-3.16" # needs to be adjusted according to the FROM clause of Dockerfile of mautrix-telegram -matrix_telegram_lottieconverter_docker_image_registry_prefix: "{{ 'localhost/' if matrix_telegram_lottieconverter_container_image_self_build else matrix_telegram_lottieconverter_docker_image_registry_prefix_upstream }}" -matrix_telegram_lottieconverter_docker_image_registry_prefix_upstream: "{{ matrix_telegram_lottieconverter_docker_image_registry_prefix_upstream_default }}" -matrix_telegram_lottieconverter_docker_image_registry_prefix_upstream_default: "dock.mau.dev/" +matrix_mautrix_telegram_lottieconverter_container_image_self_build: false +matrix_mautrix_telegram_lottieconverter_container_image_self_build_mask_arch: false +matrix_mautrix_telegram_lottieconverter_docker_repo: "https://mau.dev/tulir/lottieconverter.git" +matrix_mautrix_telegram_lottieconverter_docker_repo_version: "master" +matrix_mautrix_telegram_lottieconverter_docker_src_files_path: "{{ matrix_base_data_path }}/lotticonverter/docker-src" +matrix_mautrix_telegram_lottieconverter_docker_image: "{{ matrix_mautrix_telegram_lottieconverter_docker_image_registry_prefix }}tulir/lottieconverter:alpine-3.16" # needs to be adjusted according to the FROM clause of Dockerfile of mautrix-telegram +matrix_mautrix_telegram_lottieconverter_docker_image_registry_prefix: "{{ 'localhost/' if matrix_mautrix_telegram_lottieconverter_container_image_self_build else matrix_mautrix_telegram_lottieconverter_docker_image_registry_prefix_upstream }}" +matrix_mautrix_telegram_lottieconverter_docker_image_registry_prefix_upstream: "{{ matrix_mautrix_telegram_lottieconverter_docker_image_registry_prefix_upstream_default }}" +matrix_mautrix_telegram_lottieconverter_docker_image_registry_prefix_upstream_default: "dock.mau.dev/" matrix_mautrix_telegram_container_image_self_build: false matrix_mautrix_telegram_docker_repo: "https://mau.dev/mautrix/telegram.git" diff --git a/roles/custom/matrix-bridge-mautrix-telegram/tasks/setup_install.yml b/roles/custom/matrix-bridge-mautrix-telegram/tasks/setup_install.yml index c73468bb8..4c9aa8558 100644 --- a/roles/custom/matrix-bridge-mautrix-telegram/tasks/setup_install.yml +++ b/roles/custom/matrix-bridge-mautrix-telegram/tasks/setup_install.yml @@ -55,26 +55,26 @@ - name: Ensure lottieconverter is present when self-building ansible.builtin.git: - repo: "{{ matrix_telegram_lottieconverter_docker_repo }}" - version: "{{ matrix_telegram_lottieconverter_docker_repo_version }}" - dest: "{{ matrix_telegram_lottieconverter_docker_src_files_path }}" + repo: "{{ matrix_mautrix_telegram_lottieconverter_docker_repo }}" + version: "{{ matrix_mautrix_telegram_lottieconverter_docker_repo_version }}" + dest: "{{ matrix_mautrix_telegram_lottieconverter_docker_src_files_path }}" force: "yes" become: true become_user: "{{ matrix_user_username }}" - register: matrix_telegram_lottieconverter_git_pull_results - when: "matrix_telegram_lottieconverter_container_image_self_build | bool and matrix_mautrix_telegram_container_image_self_build | bool" + register: matrix_mautrix_telegram_lottieconverter_git_pull_results + when: "matrix_mautrix_telegram_lottieconverter_container_image_self_build | bool and matrix_mautrix_telegram_container_image_self_build | bool" - name: Ensure lottieconverter Docker image is built community.docker.docker_image: - name: "{{ matrix_telegram_lottieconverter_docker_image }}" + name: "{{ matrix_mautrix_telegram_lottieconverter_docker_image }}" source: build - force_source: "{{ matrix_telegram_lottieconverter_git_pull_results.changed if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" - force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_telegram_lottieconverter_git_pull_results.changed }}" + force_source: "{{ matrix_mautrix_telegram_lottieconverter_git_pull_results.changed if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" + force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_mautrix_telegram_lottieconverter_git_pull_results.changed }}" build: dockerfile: Dockerfile - path: "{{ matrix_telegram_lottieconverter_docker_src_files_path }}" + path: "{{ matrix_mautrix_telegram_lottieconverter_docker_src_files_path }}" pull: true - when: "matrix_telegram_lottieconverter_container_image_self_build | bool and matrix_telegram_lottieconverter_git_pull_results.changed and matrix_mautrix_telegram_container_image_self_build | bool" + when: "matrix_mautrix_telegram_lottieconverter_container_image_self_build | bool and matrix_mautrix_telegram_lottieconverter_git_pull_results.changed and matrix_mautrix_telegram_container_image_self_build | bool" - name: Ensure matrix-mautrix-telegram repository is present when self-building ansible.builtin.git: @@ -96,7 +96,7 @@ build: dockerfile: Dockerfile path: "{{ matrix_mautrix_telegram_docker_src_files_path }}" - pull: "{{ not matrix_telegram_lottieconverter_container_image_self_build_mask_arch | bool }}" + pull: "{{ not matrix_mautrix_telegram_lottieconverter_container_image_self_build_mask_arch | bool }}" args: TARGETARCH: "" when: "matrix_mautrix_telegram_container_image_self_build | bool and matrix_mautrix_telegram_git_pull_results.changed" diff --git a/roles/custom/matrix-bridge-mautrix-telegram/tasks/validate_config.yml b/roles/custom/matrix-bridge-mautrix-telegram/tasks/validate_config.yml index 8db84dbd0..c4a48110c 100644 --- a/roles/custom/matrix-bridge-mautrix-telegram/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mautrix-telegram/tasks/validate_config.yml @@ -28,8 +28,15 @@ with_items: - {'old': 'matrix_mautrix_telegram_container_exposed_port_number', 'new': ''} - {'old': 'matrix_mautrix_telegram_container_self_build', 'new': 'matrix_mautrix_telegram_container_image_self_build'} - - {'old': 'matrix_telegram_lottieconverter_container_self_build', 'new': 'matrix_mautrix_telegram_container_image_self_build'} - - {'old': 'matrix_telegram_lottieconverter_container_self_build_mask_arch', 'new': 'matrix_telegram_lottieconverter_container_image_self_build_mask_arch'} + - {'old': 'matrix_mautrix_telegram_lottieconverter_container_self_build', 'new': 'matrix_mautrix_telegram_container_image_self_build'} + - {'old': 'matrix_mautrix_telegram_lottieconverter_container_self_build_mask_arch', 'new': 'matrix_mautrix_telegram_lottieconverter_container_image_self_build_mask_arch'} - {'old': 'matrix_mautrix_telegram_login_shared_secret', 'new': ''} - - {'old': 'matrix_telegram_lottieconverter_docker_image_name_prefix', 'new': 'matrix_telegram_lottieconverter_docker_image_registry_prefix'} + - {'old': 'matrix_mautrix_telegram_lottieconverter_docker_image_name_prefix', 'new': 'matrix_mautrix_telegram_lottieconverter_docker_image_registry_prefix'} - {'old': 'matrix_mautrix_telegram_docker_image_name_prefix', 'new': 'matrix_mautrix_telegram_docker_image_registry_prefix'} + - {'old': 'matrix_telegram_lottieconverter_container_image_self_build', 'new': 'matrix_mautrix_telegram_lottieconverter_container_image_self_build'} + - {'old': 'matrix_telegram_lottieconverter_container_image_self_build_mask_arch', 'new': 'matrix_mautrix_telegram_lottieconverter_container_image_self_build_mask_arch'} + - {'old': 'matrix_telegram_lottieconverter_docker_repo', 'new': 'matrix_mautrix_telegram_lottieconverter_docker_repo'} + - {'old': 'matrix_telegram_lottieconverter_docker_repo_version', 'new': 'matrix_mautrix_telegram_lottieconverter_docker_repo_version'} + - {'old': 'matrix_telegram_lottieconverter_docker_src_files_path', 'new': 'matrix_mautrix_telegram_lottieconverter_docker_src_files_path'} + - {'old': 'matrix_telegram_lottieconverter_docker_image', 'new': 'matrix_mautrix_telegram_lottieconverter_docker_image'} + From f7a8c8e83ca6fed2584e0a6c27098ef1f9458431 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Mon, 24 Feb 2025 11:47:05 +0200 Subject: [PATCH 481/841] Make external roles also respect `matrix_container_global_registry_prefix_override` Fixup for b88b6ae7a3f1b58ea61990a3b1b6dc319be0ab3e --- group_vars/matrix_servers | 39 ++++++++++++++++++++------------------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index 7c38f1710..6e5f1d67c 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -3306,7 +3306,7 @@ backup_borg_username: "{{ matrix_user_username }}" backup_borg_uid: "{{ matrix_user_uid }}" backup_borg_gid: "{{ matrix_user_gid }}" -backup_borg_docker_image_registry_prefix_upstream: "{{ backup_borg_docker_image_registry_prefix_upstream_default }}" +backup_borg_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else backup_borg_docker_image_registry_prefix_upstream_default }}" backup_borg_container_network: "{{ postgres_container_network if postgres_enabled else backup_borg_identifier }}" @@ -3658,7 +3658,7 @@ etherpad_framing_enabled: "{{ matrix_dimension_enabled or jitsi_enabled }}" etherpad_hostname: "{{ matrix_server_fqn_etherpad }}" -etherpad_container_image_registry_prefix_upstream: "{{ etherpad_container_image_registry_prefix_upstream_default }}" +etherpad_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else etherpad_container_image_registry_prefix_upstream_default }}" etherpad_container_image_self_build: "{{ matrix_architecture not in ['amd64'] }}" @@ -3765,7 +3765,7 @@ jitsi_gid: "{{ matrix_user_gid }}" jitsi_user_username: "{{ matrix_user_username }}" -jitsi_web_container_image_registry_prefix_upstream: "{{ jitsi_web_container_image_registry_prefix_upstream_default }}" +jitsi_web_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else jitsi_web_container_image_registry_prefix_upstream_default }}" jitsi_web_container_http_host_bind_port: "{{ (matrix_playbook_service_host_bind_interface_prefix ~ '13080') if matrix_playbook_service_host_bind_interface_prefix else '' }}" @@ -3774,7 +3774,7 @@ jitsi_web_container_additional_networks_auto: | ([matrix_playbook_reverse_proxyable_services_additional_network] if matrix_playbook_reverse_proxyable_services_additional_network else []) }} -jitsi_jvb_container_image_registry_prefix_upstream: "{{ jitsi_jvb_container_image_registry_prefix_upstream_default }}" +jitsi_jvb_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else jitsi_jvb_container_image_registry_prefix_upstream_default }}" jitsi_jvb_container_colibri_ws_host_bind_port: "{{ (matrix_playbook_service_host_bind_interface_prefix ~ '13090') if matrix_playbook_service_host_bind_interface_prefix else '' }}" @@ -3783,7 +3783,7 @@ jitsi_jvb_container_additional_networks_auto: | ([matrix_playbook_reverse_proxyable_services_additional_network] if matrix_playbook_reverse_proxyable_services_additional_network else []) }} -jitsi_prosody_container_image_registry_prefix_upstream: "{{ jitsi_prosody_container_image_registry_prefix_upstream_default }}" +jitsi_prosody_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else jitsi_prosody_container_image_registry_prefix_upstream_default }}" jitsi_prosody_container_http_host_bind_port: "{{ (matrix_playbook_service_host_bind_interface_prefix ~ '5280') if matrix_playbook_service_host_bind_interface_prefix else '' }}" @@ -3792,7 +3792,7 @@ jitsi_prosody_container_additional_networks_auto: | ([matrix_playbook_reverse_proxyable_services_additional_network] if matrix_playbook_reverse_proxyable_services_additional_network else []) }} -jitsi_jicofo_container_image_registry_prefix_upstream: "{{ jitsi_jicofo_container_image_registry_prefix_upstream_default }}" +jitsi_jicofo_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else jitsi_jicofo_container_image_registry_prefix_upstream_default }}" jitsi_container_labels_traefik_enabled: "{{ matrix_playbook_traefik_labels_enabled }}" jitsi_container_labels_traefik_docker_network: "{{ matrix_playbook_reverse_proxyable_services_additional_network }}" @@ -3913,7 +3913,7 @@ exim_relay_hostname: "{{ matrix_server_fqn_matrix }}" exim_relay_sender_address: "matrix@{{ exim_relay_hostname }}" -exim_relay_container_image_registry_prefix_upstream: "{{ exim_relay_container_image_registry_prefix_upstream_default }}" +exim_relay_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else exim_relay_container_image_registry_prefix_upstream_default }}" exim_relay_container_image_self_build: "{{ matrix_architecture not in ['amd64', 'arm32', 'arm64'] }}" @@ -4128,8 +4128,9 @@ postgres_systemd_services_to_stop_for_maintenance_list_auto: "{{ devture_systemd postgres_max_connections: "{{ 500 if matrix_synapse_workers_enabled else 200 }}" -postgres_container_image_registry_prefix_upstream: "{{ postgres_container_image_registry_prefix_upstream_default }}" -postgres_pgloader_container_image_registry_prefix_upstream: "{{ postgres_pgloader_container_image_registry_prefix_upstream_default }}" +postgres_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else postgres_container_image_registry_prefix_upstream_default }}" + +postgres_pgloader_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else postgres_pgloader_container_image_registry_prefix_upstream_default }}" postgres_managed_databases_auto: | {{ @@ -4451,7 +4452,7 @@ postgres_backup_systemd_required_services_list_auto: | ([(postgres_identifier + '.service')] if (postgres_enabled and postgres_backup_connection_hostname == postgres_connection_hostname) else []) }} -postgres_backup_container_image_registry_prefix_upstream: "{{ postgres_backup_container_image_registry_prefix_upstream_default }}" +postgres_backup_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else postgres_backup_container_image_registry_prefix_upstream_default }}" postgres_backup_container_network: "{{ (postgres_container_network if (postgres_enabled and postgres_backup_connection_hostname == postgres_connection_hostname) else postgres_backup_identifier) }}" @@ -4529,7 +4530,7 @@ ntfy_gid: "{{ matrix_user_gid }}" ntfy_hostname: "{{ matrix_server_fqn_ntfy }}" -ntfy_container_image_registry_prefix_upstream: "{{ ntfy_container_image_registry_prefix_upstream_default }}" +ntfy_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else ntfy_container_image_registry_prefix_upstream_default }}" ntfy_container_additional_networks_auto: "{{ [matrix_playbook_reverse_proxyable_services_additional_network] if matrix_playbook_reverse_proxyable_services_additional_network else [] }}" @@ -4569,7 +4570,7 @@ valkey_base_path: "{{ matrix_base_data_path }}/valkey" valkey_arch: "{{ matrix_architecture }}" -valkey_container_image_registry_prefix_upstream: "{{ valkey_container_image_registry_prefix_upstream_default }}" +valkey_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else valkey_container_image_registry_prefix_upstream_default }}" ###################################################################### # @@ -5336,7 +5337,7 @@ prometheus_node_exporter_gid: "{{ matrix_user_gid }}" prometheus_node_exporter_hostname: "{{ matrix_server_fqn_matrix }}" -prometheus_node_exporter_docker_image_registry_prefix_upstream: "{{ prometheus_node_exporter_docker_image_registry_prefix_upstream_default }}" +prometheus_node_exporter_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else prometheus_node_exporter_docker_image_registry_prefix_upstream_default }}" prometheus_node_exporter_container_network: "{{ matrix_monitoring_container_network }}" @@ -5374,7 +5375,7 @@ prometheus_postgres_exporter_gid: "{{ matrix_user_gid }}" prometheus_postgres_exporter_hostname: "{{ matrix_server_fqn_matrix }}" -prometheus_postgres_exporter_docker_image_registry_prefix_upstream: "{{ prometheus_postgres_exporter_docker_image_registry_prefix_upstream_default }}" +prometheus_postgres_exporter_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else prometheus_postgres_exporter_docker_image_registry_prefix_upstream_default }}" prometheus_postgres_exporter_container_network: "{{ matrix_monitoring_container_network }}" @@ -5466,7 +5467,7 @@ prometheus_base_path: "{{ matrix_base_data_path }}/prometheus" prometheus_uid: "{{ matrix_user_uid }}" prometheus_gid: "{{ matrix_user_gid }}" -prometheus_container_image_registry_prefix_upstream: "{{ prometheus_container_image_registry_prefix_upstream_default }}" +prometheus_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else prometheus_container_image_registry_prefix_upstream_default }}" prometheus_container_network: "{{ matrix_monitoring_container_network }}" @@ -5577,7 +5578,7 @@ grafana_hostname: "{{ matrix_server_fqn_grafana }}" grafana_base_path: "{{ matrix_base_data_path }}/grafana" -grafana_container_image_registry_prefix_upstream: "{{ grafana_container_image_registry_prefix_upstream_default }}" +grafana_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else grafana_container_image_registry_prefix_upstream_default }}" grafana_container_network: "{{ matrix_monitoring_container_network }}" @@ -6172,7 +6173,7 @@ container_socket_proxy_gid: "{{ matrix_user_gid }}" # Traefik requires read access to the containers APIs to do its job container_socket_proxy_api_containers_enabled: true -container_socket_proxy_container_image_registry_prefix_upstream: "{{ container_socket_proxy_container_image_registry_prefix_upstream_default }}" +container_socket_proxy_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else container_socket_proxy_container_image_registry_prefix_upstream_default }}" ######################################################################## # # @@ -6209,7 +6210,7 @@ traefik_additional_entrypoints_auto: | traefik_config_providers_docker_endpoint: "{{ container_socket_proxy_endpoint if container_socket_proxy_enabled else 'unix:///var/run/docker.sock' }}" -traefik_container_image_registry_prefix_upstream: "{{ traefik_container_image_registry_prefix_upstream_default }}" +traefik_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else traefik_container_image_registry_prefix_upstream_default }}" traefik_container_additional_networks_auto: | {{ @@ -6247,7 +6248,7 @@ traefik_certs_dumper_gid: "{{ matrix_user_gid }}" traefik_certs_dumper_ssl_dir_path: "{{ traefik_ssl_dir_path if traefik_enabled else '' }}" -traefik_certs_dumper_container_image_registry_prefix_upstream: "{{ traefik_certs_dumper_container_image_registry_prefix_upstream_default }}" +traefik_certs_dumper_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else traefik_certs_dumper_container_image_registry_prefix_upstream_default }}" ######################################################################## # # From 2129cbf95ea30ebe1079474986032cee805d3d74 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Mon, 24 Feb 2025 11:47:53 +0200 Subject: [PATCH 482/841] Fix yamllint-reported errors --- .../matrix-bridge-mautrix-telegram/tasks/validate_config.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/roles/custom/matrix-bridge-mautrix-telegram/tasks/validate_config.yml b/roles/custom/matrix-bridge-mautrix-telegram/tasks/validate_config.yml index c4a48110c..faaa37f6e 100644 --- a/roles/custom/matrix-bridge-mautrix-telegram/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mautrix-telegram/tasks/validate_config.yml @@ -39,4 +39,3 @@ - {'old': 'matrix_telegram_lottieconverter_docker_repo_version', 'new': 'matrix_mautrix_telegram_lottieconverter_docker_repo_version'} - {'old': 'matrix_telegram_lottieconverter_docker_src_files_path', 'new': 'matrix_mautrix_telegram_lottieconverter_docker_src_files_path'} - {'old': 'matrix_telegram_lottieconverter_docker_image', 'new': 'matrix_mautrix_telegram_lottieconverter_docker_image'} - From 3478c6f65b5f0e7326983eb7412d5100043617cf Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Mon, 24 Feb 2025 15:52:11 +0200 Subject: [PATCH 483/841] Upgrade backup-borg (v1.4.0-1.9.10-4 -> v1.4.0-1.9.10-5) Ref: https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg/issues/15 --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 57b5db2d7..0c2bd79bb 100644 --- a/requirements.yml +++ b/requirements.yml @@ -4,7 +4,7 @@ version: v1.0.0-5 name: auxiliary - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg.git - version: v1.4.0-1.9.10-4 + version: v1.4.0-1.9.10-5 name: backup_borg - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-container-socket-proxy.git version: v0.3.0-4 From 91d5aa40886e25f3868b979f858ac400bd7bfbcd Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Mon, 24 Feb 2025 15:55:47 +0200 Subject: [PATCH 484/841] Upgrade backup-borg (v1.4.0-1.9.10-5 -> v1.4.0-1.9.10-6) --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 0c2bd79bb..1d324f1ee 100644 --- a/requirements.yml +++ b/requirements.yml @@ -4,7 +4,7 @@ version: v1.0.0-5 name: auxiliary - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg.git - version: v1.4.0-1.9.10-5 + version: v1.4.0-1.9.10-6 name: backup_borg - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-container-socket-proxy.git version: v0.3.0-4 From dc9672a86f93bd36a21d90c7dc05ae56d6ca4a6f Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 25 Feb 2025 00:14:49 +0900 Subject: [PATCH 485/841] Tribute to deprecated components: add license information to files for matrix-bridge-appservice-webhooks This commit adds copyright headers to Markdown, YAML, and labels.j2 files. For the rest of the files, which are ones in YAML and JSON files with the extention ".j2", ".license" files are added following the REUSE's specification. Signed-off-by: Suguru Hirahara --- ...nfiguring-playbook-bridge-appservice-webhooks.md | 11 +++++++++++ .../defaults/main.yml | 13 +++++++++++++ .../tasks/main.yml | 6 ++++++ .../tasks/setup_install.yml | 12 ++++++++++++ .../tasks/setup_uninstall.yml | 7 +++++++ .../tasks/validate_config.yml | 6 ++++++ .../templates/config.yaml.j2.license | 3 +++ .../templates/database.json.j2.license | 4 ++++ .../templates/labels.j2 | 6 ++++++ .../templates/schema.yml.j2.license | 4 ++++ .../matrix-appservice-webhooks.service.j2.license | 8 ++++++++ 11 files changed, 80 insertions(+) create mode 100644 roles/custom/matrix-bridge-appservice-webhooks/templates/config.yaml.j2.license create mode 100644 roles/custom/matrix-bridge-appservice-webhooks/templates/database.json.j2.license create mode 100644 roles/custom/matrix-bridge-appservice-webhooks/templates/schema.yml.j2.license create mode 100644 roles/custom/matrix-bridge-appservice-webhooks/templates/systemd/matrix-appservice-webhooks.service.j2.license diff --git a/docs/configuring-playbook-bridge-appservice-webhooks.md b/docs/configuring-playbook-bridge-appservice-webhooks.md index 1fbecfdb1..8113341d8 100644 --- a/docs/configuring-playbook-bridge-appservice-webhooks.md +++ b/docs/configuring-playbook-bridge-appservice-webhooks.md @@ -1,3 +1,14 @@ + + # Setting up Appservice Webhooks bridging (optional, deprecated) **Note**: This bridge has been deprecated. We recommend not bothering with installing it. While not a 1:1 replacement, the bridge's author suggests taking a look at [matrix-hookshot](https://github.com/matrix-org/matrix-hookshot) as a replacement, which can also be installed using [this playbook](configuring-playbook-bridge-hookshot.md). Consider using that bridge instead of this one. diff --git a/roles/custom/matrix-bridge-appservice-webhooks/defaults/main.yml b/roles/custom/matrix-bridge-appservice-webhooks/defaults/main.yml index 226c893d0..309545e3a 100644 --- a/roles/custom/matrix-bridge-appservice-webhooks/defaults/main.yml +++ b/roles/custom/matrix-bridge-appservice-webhooks/defaults/main.yml @@ -1,3 +1,16 @@ +# SPDX-FileCopyrightText: 2020 Björn Marten +# SPDX-FileCopyrightText: 2020 David Gnedt +# SPDX-FileCopyrightText: 2020 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2021 - 2023 MDAD project contributors +# SPDX-FileCopyrightText: 2021 Béla Becker +# SPDX-FileCopyrightText: 2021 Ahmad Haghighi +# SPDX-FileCopyrightText: 2021 boris runakov +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # matrix-appservice-webhooks is a Matrix <-> webhook bridge # Project source code URL: https://github.com/redoonetworks/matrix-appservice-webhooks diff --git a/roles/custom/matrix-bridge-appservice-webhooks/tasks/main.yml b/roles/custom/matrix-bridge-appservice-webhooks/tasks/main.yml index b8d8c8cd4..cb4c68829 100644 --- a/roles/custom/matrix-bridge-appservice-webhooks/tasks/main.yml +++ b/roles/custom/matrix-bridge-appservice-webhooks/tasks/main.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2020 Björn Marten +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-bridge-appservice-webhooks/tasks/setup_install.yml b/roles/custom/matrix-bridge-appservice-webhooks/tasks/setup_install.yml index 2896c7580..507918a5e 100644 --- a/roles/custom/matrix-bridge-appservice-webhooks/tasks/setup_install.yml +++ b/roles/custom/matrix-bridge-appservice-webhooks/tasks/setup_install.yml @@ -1,3 +1,15 @@ +# SPDX-FileCopyrightText: 2020 Björn Marten +# SPDX-FileCopyrightText: 2020 Chris van Dijk +# SPDX-FileCopyrightText: 2020 MDAD project contributors +# SPDX-FileCopyrightText: 2021 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Jim Myhrberg +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2024 David Mehren +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure matrix-appservice-webhooks paths exist diff --git a/roles/custom/matrix-bridge-appservice-webhooks/tasks/setup_uninstall.yml b/roles/custom/matrix-bridge-appservice-webhooks/tasks/setup_uninstall.yml index c47b724cf..55b7d7521 100644 --- a/roles/custom/matrix-bridge-appservice-webhooks/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-bridge-appservice-webhooks/tasks/setup_uninstall.yml @@ -1,3 +1,10 @@ +# SPDX-FileCopyrightText: 2020 Björn Marten +# SPDX-FileCopyrightText: 2020 MDAD project contributors +# SPDX-FileCopyrightText: 2021 - 2022 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-appservice-webhooks service diff --git a/roles/custom/matrix-bridge-appservice-webhooks/tasks/validate_config.yml b/roles/custom/matrix-bridge-appservice-webhooks/tasks/validate_config.yml index fa8a75fc2..f4b704916 100644 --- a/roles/custom/matrix-bridge-appservice-webhooks/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-appservice-webhooks/tasks/validate_config.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2020 Björn Marten +# SPDX-FileCopyrightText: 2021 boris runakov +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required matrix-appservice-webhooks settings not defined diff --git a/roles/custom/matrix-bridge-appservice-webhooks/templates/config.yaml.j2.license b/roles/custom/matrix-bridge-appservice-webhooks/templates/config.yaml.j2.license new file mode 100644 index 000000000..b0cab88b0 --- /dev/null +++ b/roles/custom/matrix-bridge-appservice-webhooks/templates/config.yaml.j2.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2020 - 2022 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-appservice-webhooks/templates/database.json.j2.license b/roles/custom/matrix-bridge-appservice-webhooks/templates/database.json.j2.license new file mode 100644 index 000000000..57a3f5b69 --- /dev/null +++ b/roles/custom/matrix-bridge-appservice-webhooks/templates/database.json.j2.license @@ -0,0 +1,4 @@ +SPDX-FileCopyrightText: 2020 Björn Marten +SPDX-FileCopyrightText: 2022 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-appservice-webhooks/templates/labels.j2 b/roles/custom/matrix-bridge-appservice-webhooks/templates/labels.j2 index 2749af957..8e3db68be 100644 --- a/roles/custom/matrix-bridge-appservice-webhooks/templates/labels.j2 +++ b/roles/custom/matrix-bridge-appservice-webhooks/templates/labels.j2 @@ -1,3 +1,9 @@ +{# +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + {% if matrix_appservice_webhooks_container_labels_traefik_enabled %} traefik.enable=true diff --git a/roles/custom/matrix-bridge-appservice-webhooks/templates/schema.yml.j2.license b/roles/custom/matrix-bridge-appservice-webhooks/templates/schema.yml.j2.license new file mode 100644 index 000000000..57a3f5b69 --- /dev/null +++ b/roles/custom/matrix-bridge-appservice-webhooks/templates/schema.yml.j2.license @@ -0,0 +1,4 @@ +SPDX-FileCopyrightText: 2020 Björn Marten +SPDX-FileCopyrightText: 2022 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-appservice-webhooks/templates/systemd/matrix-appservice-webhooks.service.j2.license b/roles/custom/matrix-bridge-appservice-webhooks/templates/systemd/matrix-appservice-webhooks.service.j2.license new file mode 100644 index 000000000..63b731d1e --- /dev/null +++ b/roles/custom/matrix-bridge-appservice-webhooks/templates/systemd/matrix-appservice-webhooks.service.j2.license @@ -0,0 +1,8 @@ +SPDX-FileCopyrightText: 2020 Björn Marten +SPDX-FileCopyrightText: 2020 Chris van Dijk +SPDX-FileCopyrightText: 2020 MDAD project contributors +SPDX-FileCopyrightText: 2020 Scott Crossen +SPDX-FileCopyrightText: 2020 Stefan Warnat +SPDX-FileCopyrightText: 2020 - 2025 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later From 34ed8105090b43c206ce27e7976d1d0ff85c6c99 Mon Sep 17 00:00:00 2001 From: Aine Date: Mon, 24 Feb 2025 18:45:11 +0200 Subject: [PATCH 486/841] fix bluesky tokens --- group_vars/matrix_servers | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index 6e5f1d67c..c71911822 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -1153,12 +1153,12 @@ matrix_mautrix_bluesky_container_labels_traefik_tls_certResolver: "{{ traefik_ce matrix_mautrix_bluesky_container_labels_metrics_middleware_basic_auth_enabled: "{{ matrix_metrics_exposure_http_basic_auth_enabled }}" matrix_mautrix_bluesky_container_labels_metrics_middleware_basic_auth_users: "{{ matrix_metrics_exposure_http_basic_auth_users }}" -matrix_mautrix_bluesky_appservice_token: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'twt.as.token', rounds=655555) | to_uuid }}" +matrix_mautrix_bluesky_appservice_token: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'bsky.as.token', rounds=655555) | to_uuid }}" matrix_mautrix_bluesky_homeserver_address: "{{ matrix_addons_homeserver_client_api_url }}" -matrix_mautrix_bluesky_homeserver_token: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'twt.hs.token', rounds=655555) | to_uuid }}" +matrix_mautrix_bluesky_homeserver_token: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'bsky.hs.token', rounds=655555) | to_uuid }}" -matrix_mautrix_bluesky_provisioning_shared_secret: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'mau.twit.prov', rounds=655555) | to_uuid }}" +matrix_mautrix_bluesky_provisioning_shared_secret: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'mau.bsky.prov', rounds=655555) | to_uuid }}" matrix_mautrix_bluesky_double_puppet_secrets_auto: |- {{ From ab53f163eea3089ec26b956d823d26b22d03f30d Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 25 Feb 2025 02:08:39 +0900 Subject: [PATCH 487/841] Tribute to deprecated components: add license information to files for matrix-email2matrix This commit adds copyright attirbutions in SPDX format to files for matrix-email2matrix, following the REUSE's specification. ".license" files are added for config.json.j2 and matrix-email2matrix.service.j2. Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-email2matrix.md | 10 ++++++++++ roles/custom/matrix-email2matrix/defaults/main.yml | 11 +++++++++++ roles/custom/matrix-email2matrix/tasks/main.yml | 5 +++++ .../matrix-email2matrix/tasks/setup_install.yml | 8 ++++++++ .../matrix-email2matrix/tasks/setup_uninstall.yml | 6 ++++++ .../matrix-email2matrix/tasks/validate_config.yml | 4 ++++ .../templates/config.json.j2.license | 3 +++ .../systemd/matrix-email2matrix.service.j2.license | 4 ++++ 8 files changed, 51 insertions(+) create mode 100644 roles/custom/matrix-email2matrix/templates/config.json.j2.license create mode 100644 roles/custom/matrix-email2matrix/templates/systemd/matrix-email2matrix.service.j2.license diff --git a/docs/configuring-playbook-email2matrix.md b/docs/configuring-playbook-email2matrix.md index ec91658bb..ce2cd2570 100644 --- a/docs/configuring-playbook-email2matrix.md +++ b/docs/configuring-playbook-email2matrix.md @@ -1,3 +1,13 @@ + + # Setting up Email2Matrix (optional, deprecated) **Note**: this component has been deprecated. We recommend not bothering with installing it. While not a 1:1 replacement, the author suggests taking a look at [Postmoogle](https://github.com/etkecc/postmoogle) as a replacement, which can also be installed using [this playbook](configuring-playbook-bridge-postmoogle.md). Consider using that component instead of this one. diff --git a/roles/custom/matrix-email2matrix/defaults/main.yml b/roles/custom/matrix-email2matrix/defaults/main.yml index 966d3a21b..43569a6c5 100644 --- a/roles/custom/matrix-email2matrix/defaults/main.yml +++ b/roles/custom/matrix-email2matrix/defaults/main.yml @@ -1,4 +1,15 @@ +# SPDX-FileCopyrightText: 2019 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2021 MDAD project contributors +# SPDX-FileCopyrightText: 2021 Ahmad Haghighi +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- + # Project source code URL: https://github.com/devture/email2matrix matrix_email2matrix_enabled: true diff --git a/roles/custom/matrix-email2matrix/tasks/main.yml b/roles/custom/matrix-email2matrix/tasks/main.yml index acd2c9c1e..f557ccaa0 100644 --- a/roles/custom/matrix-email2matrix/tasks/main.yml +++ b/roles/custom/matrix-email2matrix/tasks/main.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2019 - 2023 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-email2matrix/tasks/setup_install.yml b/roles/custom/matrix-email2matrix/tasks/setup_install.yml index 5cf88c002..242deb01d 100644 --- a/roles/custom/matrix-email2matrix/tasks/setup_install.yml +++ b/roles/custom/matrix-email2matrix/tasks/setup_install.yml @@ -1,3 +1,11 @@ +# SPDX-FileCopyrightText: 2021 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2024 David Mehren +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure Email2Matrix paths exist diff --git a/roles/custom/matrix-email2matrix/tasks/setup_uninstall.yml b/roles/custom/matrix-email2matrix/tasks/setup_uninstall.yml index e95ce6617..e10464f72 100644 --- a/roles/custom/matrix-email2matrix/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-email2matrix/tasks/setup_uninstall.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2021 - 2022 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-email2matrix service diff --git a/roles/custom/matrix-email2matrix/tasks/validate_config.yml b/roles/custom/matrix-email2matrix/tasks/validate_config.yml index d623bc583..17533397f 100644 --- a/roles/custom/matrix-email2matrix/tasks/validate_config.yml +++ b/roles/custom/matrix-email2matrix/tasks/validate_config.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2019 - 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if no Email2Matrix mappings diff --git a/roles/custom/matrix-email2matrix/templates/config.json.j2.license b/roles/custom/matrix-email2matrix/templates/config.json.j2.license new file mode 100644 index 000000000..2fe1c727d --- /dev/null +++ b/roles/custom/matrix-email2matrix/templates/config.json.j2.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2019 - 2022 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-email2matrix/templates/systemd/matrix-email2matrix.service.j2.license b/roles/custom/matrix-email2matrix/templates/systemd/matrix-email2matrix.service.j2.license new file mode 100644 index 000000000..d29979396 --- /dev/null +++ b/roles/custom/matrix-email2matrix/templates/systemd/matrix-email2matrix.service.j2.license @@ -0,0 +1,4 @@ +SPDX-FileCopyrightText: 2019 - 2025 Slavi Pantaleev +SPDX-FileCopyrightText: 2020 Chris van Dijk + +SPDX-License-Identifier: AGPL-3.0-or-later From 12e0a8433133dce4f68d43cdb2c543aba3b64958 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 25 Feb 2025 02:17:32 +0900 Subject: [PATCH 488/841] Tribute to deprecated components: add license information to files for matrix-dimension This commit adds copyright attirbutions in SPDX format to files for matrix-dimension, following the REUSE's specification. Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-dimension.md | 15 +++++++++++++++ roles/custom/matrix-dimension/defaults/main.yml | 15 +++++++++++++++ roles/custom/matrix-dimension/tasks/main.yml | 7 +++++++ .../matrix-dimension/tasks/setup_install.yml | 13 +++++++++++++ .../matrix-dimension/tasks/setup_uninstall.yml | 6 ++++++ .../matrix-dimension/tasks/validate_config.yml | 8 ++++++++ .../templates/config.yaml.j2.license | 5 +++++ roles/custom/matrix-dimension/templates/labels.j2 | 6 ++++++ .../systemd/matrix-dimension.service.j2.license | 7 +++++++ roles/custom/matrix-dimension/vars/main.yml | 6 ++++++ 10 files changed, 88 insertions(+) create mode 100644 roles/custom/matrix-dimension/templates/config.yaml.j2.license create mode 100644 roles/custom/matrix-dimension/templates/systemd/matrix-dimension.service.j2.license diff --git a/docs/configuring-playbook-dimension.md b/docs/configuring-playbook-dimension.md index 5bc709c12..4eaefb76d 100644 --- a/docs/configuring-playbook-dimension.md +++ b/docs/configuring-playbook-dimension.md @@ -1,3 +1,18 @@ + + # Setting up Dimension integration manager (optional, unmaintained) **Notes**: diff --git a/roles/custom/matrix-dimension/defaults/main.yml b/roles/custom/matrix-dimension/defaults/main.yml index c5226694f..ba36b8c07 100644 --- a/roles/custom/matrix-dimension/defaults/main.yml +++ b/roles/custom/matrix-dimension/defaults/main.yml @@ -1,3 +1,18 @@ +# SPDX-FileCopyrightText: 2019 Edgars Voroboks +# SPDX-FileCopyrightText: 2019 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2019 - 2021 MDAD project contributors +# SPDX-FileCopyrightText: 2019 Sylvia van Os +# SPDX-FileCopyrightText: 2019 Dan Arnfield +# SPDX-FileCopyrightText: 2020 Chris van Dijk +# SPDX-FileCopyrightText: 2021 Ahmad Haghighi +# SPDX-FileCopyrightText: 2021 Aaron Raimist +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # Project source code URL: https://github.com/turt2live/matrix-dimension diff --git a/roles/custom/matrix-dimension/tasks/main.yml b/roles/custom/matrix-dimension/tasks/main.yml index 1e949d3f2..0018acf10 100644 --- a/roles/custom/matrix-dimension/tasks/main.yml +++ b/roles/custom/matrix-dimension/tasks/main.yml @@ -1,3 +1,10 @@ +# SPDX-FileCopyrightText: 2019 Edgars Voroboks +# SPDX-FileCopyrightText: 2019 - 2023 Slavi Pantaleev +# SPDX-FileCopyrightText: 2019 Dan Arnfield +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-dimension/tasks/setup_install.yml b/roles/custom/matrix-dimension/tasks/setup_install.yml index 1c4c4827f..03fee6a99 100644 --- a/roles/custom/matrix-dimension/tasks/setup_install.yml +++ b/roles/custom/matrix-dimension/tasks/setup_install.yml @@ -1,3 +1,16 @@ +# SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2020 Stuart Mumford +# SPDX-FileCopyrightText: 2021 Yannick Goossens +# SPDX-FileCopyrightText: 2021 MDAD project contributors +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Jim Myhrberg +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2024 David Mehren +# SPDX-FileCopyrightText: 2025 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - ansible.builtin.set_fact: diff --git a/roles/custom/matrix-dimension/tasks/setup_uninstall.yml b/roles/custom/matrix-dimension/tasks/setup_uninstall.yml index 239e4d892..b52995681 100644 --- a/roles/custom/matrix-dimension/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-dimension/tasks/setup_uninstall.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2020 - 2022 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-dimension service diff --git a/roles/custom/matrix-dimension/tasks/validate_config.yml b/roles/custom/matrix-dimension/tasks/validate_config.yml index bad6712a2..f7b32e389 100644 --- a/roles/custom/matrix-dimension/tasks/validate_config.yml +++ b/roles/custom/matrix-dimension/tasks/validate_config.yml @@ -1,3 +1,11 @@ +# SPDX-FileCopyrightText: 2019 Edgars Voroboks +# SPDX-FileCopyrightText: 2019 Dan Arnfield +# SPDX-FileCopyrightText: 2019 - 2023 Slavi Pantaleev +# SPDX-FileCopyrightText: 2020 Chris van Dijk +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required Dimension settings not defined diff --git a/roles/custom/matrix-dimension/templates/config.yaml.j2.license b/roles/custom/matrix-dimension/templates/config.yaml.j2.license new file mode 100644 index 000000000..2c26fe3c7 --- /dev/null +++ b/roles/custom/matrix-dimension/templates/config.yaml.j2.license @@ -0,0 +1,5 @@ +SPDX-FileCopyrightText: 2020 - 2023 Slavi Pantaleev +SPDX-FileCopyrightText: 2020 MDAD project contributors +SPDX-FileCopyrightText: 2024 Suguru Hirahara + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-dimension/templates/labels.j2 b/roles/custom/matrix-dimension/templates/labels.j2 index 09ad07b96..d5d76aeaa 100644 --- a/roles/custom/matrix-dimension/templates/labels.j2 +++ b/roles/custom/matrix-dimension/templates/labels.j2 @@ -1,3 +1,9 @@ +{# +SPDX-FileCopyrightText: 2023 - 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + {% if matrix_dimension_container_labels_traefik_enabled %} traefik.enable=true diff --git a/roles/custom/matrix-dimension/templates/systemd/matrix-dimension.service.j2.license b/roles/custom/matrix-dimension/templates/systemd/matrix-dimension.service.j2.license new file mode 100644 index 000000000..0db4becf9 --- /dev/null +++ b/roles/custom/matrix-dimension/templates/systemd/matrix-dimension.service.j2.license @@ -0,0 +1,7 @@ +SPDX-FileCopyrightText: 2019 Edgars Voroboks +SPDX-FileCopyrightText: 2019 - 2025 Slavi Pantaleev +SPDX-FileCopyrightText: 2019 Sylvia van Os +SPDX-FileCopyrightText: 2019 Hugues De Keyzer +SPDX-FileCopyrightText: 2020 Chris van Dijk + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-dimension/vars/main.yml b/roles/custom/matrix-dimension/vars/main.yml index 0415989fa..f3ce6a300 100644 --- a/roles/custom/matrix-dimension/vars/main.yml +++ b/roles/custom/matrix-dimension/vars/main.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2019 Edgars Voroboks +# SPDX-FileCopyrightText: 2019 - 2022 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # Doing `|from_yaml` when the extension contains nothing yields an empty string (""). From d4347ccbf22a97b151b6db253df44ea431f60efe Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 25 Feb 2025 02:28:44 +0900 Subject: [PATCH 489/841] Update docs/configuring-playbook-bridge-mautrix-hangouts.md: add a copyright header Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bridge-mautrix-hangouts.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/docs/configuring-playbook-bridge-mautrix-hangouts.md b/docs/configuring-playbook-bridge-mautrix-hangouts.md index c12283d0c..737a90f26 100644 --- a/docs/configuring-playbook-bridge-mautrix-hangouts.md +++ b/docs/configuring-playbook-bridge-mautrix-hangouts.md @@ -1,3 +1,13 @@ + + # Setting up Mautrix Hangouts bridging (optional, deprecated) 🪦 The playbook used to be able to install and configure [mautrix-hangouts](https://github.com/mautrix/hangouts), but no longer includes this component, because Google Hangouts has been discontinued since the 1st of November 2022. From 66b03d0ca9f74a23a2aa2fa24632ace7c4f03a98 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 25 Feb 2025 02:52:56 +0900 Subject: [PATCH 490/841] Tribute to deprecated components: add license information to files for matrix-sliding-sync This commit adds copyright attirbutions in SPDX format to files for matrix-sliding-sync, following the REUSE's specification. Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-sliding-sync-proxy.md | 13 +++++++++++++ roles/custom/matrix-sliding-sync/defaults/main.yml | 11 +++++++++++ roles/custom/matrix-sliding-sync/tasks/install.yml | 5 +++++ roles/custom/matrix-sliding-sync/tasks/main.yml | 4 ++++ .../custom/matrix-sliding-sync/tasks/uninstall.yml | 4 ++++ .../matrix-sliding-sync/tasks/validate_config.yml | 5 +++++ roles/custom/matrix-sliding-sync/templates/env.j2 | 7 +++++++ .../custom/matrix-sliding-sync/templates/labels.j2 | 7 +++++++ .../systemd/matrix-sliding-sync.service.j2.license | 3 +++ roles/custom/matrix-sliding-sync/vars/main.yml | 4 ++++ 10 files changed, 63 insertions(+) create mode 100644 roles/custom/matrix-sliding-sync/templates/systemd/matrix-sliding-sync.service.j2.license diff --git a/docs/configuring-playbook-sliding-sync-proxy.md b/docs/configuring-playbook-sliding-sync-proxy.md index 0e72bffaa..f08686719 100644 --- a/docs/configuring-playbook-sliding-sync-proxy.md +++ b/docs/configuring-playbook-sliding-sync-proxy.md @@ -1,3 +1,16 @@ + + # Setting up the Sliding Sync proxy (optional) **Note**: The sliding-sync proxy is **not required** anymore as it's been replaced with a different method (called Simplified Sliding Sync) which is integrated into newer homeservers by default (**Conduit** homeserver from version `0.6.0` or **Synapse** from version `1.114`). This component and documentation remain here for historical purposes, but **installing this old sliding-sync proxy is generally not recommended anymore**. diff --git a/roles/custom/matrix-sliding-sync/defaults/main.yml b/roles/custom/matrix-sliding-sync/defaults/main.yml index 41ef93dc2..036b8023d 100644 --- a/roles/custom/matrix-sliding-sync/defaults/main.yml +++ b/roles/custom/matrix-sliding-sync/defaults/main.yml @@ -1,3 +1,14 @@ +# SPDX-FileCopyrightText: 2023 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2023 Kabir Kwatra +# SPDX-FileCopyrightText: 2023 David Mehren +# SPDX-FileCopyrightText: 2023 Nikita Chernyi +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# SPDX-FileCopyrightText: 2024 HarHarLinks +# SPDX-FileCopyrightText: 2024 MDAD project contributors +# SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # Sliding Sync proxy is an implementation of MSC3575 for the new sliding sync diff --git a/roles/custom/matrix-sliding-sync/tasks/install.yml b/roles/custom/matrix-sliding-sync/tasks/install.yml index 3526aa644..50128b583 100644 --- a/roles/custom/matrix-sliding-sync/tasks/install.yml +++ b/roles/custom/matrix-sliding-sync/tasks/install.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2023 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2024 David Mehren +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure matrix-sliding-sync paths exist diff --git a/roles/custom/matrix-sliding-sync/tasks/main.yml b/roles/custom/matrix-sliding-sync/tasks/main.yml index 521f16fe7..ad97616b3 100644 --- a/roles/custom/matrix-sliding-sync/tasks/main.yml +++ b/roles/custom/matrix-sliding-sync/tasks/main.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2023 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-sliding-sync/tasks/uninstall.yml b/roles/custom/matrix-sliding-sync/tasks/uninstall.yml index 8a559cacc..085b9c548 100644 --- a/roles/custom/matrix-sliding-sync/tasks/uninstall.yml +++ b/roles/custom/matrix-sliding-sync/tasks/uninstall.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2023 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-sliding-sync service diff --git a/roles/custom/matrix-sliding-sync/tasks/validate_config.yml b/roles/custom/matrix-sliding-sync/tasks/validate_config.yml index d5ba9e89c..24a29539d 100644 --- a/roles/custom/matrix-sliding-sync/tasks/validate_config.yml +++ b/roles/custom/matrix-sliding-sync/tasks/validate_config.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2023 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2024 MDAD project contributors +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required matrix-sliding-sync settings not defined ansible.builtin.fail: diff --git a/roles/custom/matrix-sliding-sync/templates/env.j2 b/roles/custom/matrix-sliding-sync/templates/env.j2 index 352e7d958..4a3a06dd4 100644 --- a/roles/custom/matrix-sliding-sync/templates/env.j2 +++ b/roles/custom/matrix-sliding-sync/templates/env.j2 @@ -1,3 +1,10 @@ +{# +SPDX-FileCopyrightText: 2023 Slavi Pantaleev +SPDX-FileCopyrightText: 2024 MDAD project contributors + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + SYNCV3_SERVER={{ matrix_sliding_sync_environment_variable_syncv3_server }} SYNCV3_SECRET={{ matrix_sliding_sync_environment_variable_syncv3_secret }} SYNCV3_BINDADDR=:8008 diff --git a/roles/custom/matrix-sliding-sync/templates/labels.j2 b/roles/custom/matrix-sliding-sync/templates/labels.j2 index 736a94354..e2c76c8a4 100644 --- a/roles/custom/matrix-sliding-sync/templates/labels.j2 +++ b/roles/custom/matrix-sliding-sync/templates/labels.j2 @@ -1,3 +1,10 @@ +{# +SPDX-FileCopyrightText: 2023 - 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2024 MDAD project contributors + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + {% if matrix_sliding_sync_container_labels_traefik_enabled %} traefik.enable=true diff --git a/roles/custom/matrix-sliding-sync/templates/systemd/matrix-sliding-sync.service.j2.license b/roles/custom/matrix-sliding-sync/templates/systemd/matrix-sliding-sync.service.j2.license new file mode 100644 index 000000000..97357d3ef --- /dev/null +++ b/roles/custom/matrix-sliding-sync/templates/systemd/matrix-sliding-sync.service.j2.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2023 - 2025 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-sliding-sync/vars/main.yml b/roles/custom/matrix-sliding-sync/vars/main.yml index 8ec69c087..50fc46bf1 100644 --- a/roles/custom/matrix-sliding-sync/vars/main.yml +++ b/roles/custom/matrix-sliding-sync/vars/main.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2023 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # Public facing base URL of the Sliding Sync service. From 329fa105bfa91bea571b716d57bb38fda0897c89 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 25 Feb 2025 02:53:10 +0900 Subject: [PATCH 491/841] Tribute to deprecated components: add license information to files for matrix-bot-go-neb This commit adds copyright attirbutions in SPDX format to files for matrix-bot-go-neb, following the REUSE's specification. Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bot-go-neb.md | 10 ++++++++++ roles/custom/matrix-bot-go-neb/defaults/main.yml | 9 +++++++++ roles/custom/matrix-bot-go-neb/tasks/install.yml | 10 ++++++++++ roles/custom/matrix-bot-go-neb/tasks/main.yml | 6 ++++++ roles/custom/matrix-bot-go-neb/tasks/uninstall.yml | 7 +++++++ .../custom/matrix-bot-go-neb/tasks/validate_config.yml | 5 +++++ .../matrix-bot-go-neb/templates/config.yaml.j2.license | 4 ++++ roles/custom/matrix-bot-go-neb/templates/env.j2 | 6 ++++++ roles/custom/matrix-bot-go-neb/templates/labels.j2 | 6 ++++++ .../systemd/matrix-bot-go-neb.service.j2.license | 4 ++++ 10 files changed, 67 insertions(+) create mode 100644 roles/custom/matrix-bot-go-neb/templates/config.yaml.j2.license create mode 100644 roles/custom/matrix-bot-go-neb/templates/systemd/matrix-bot-go-neb.service.j2.license diff --git a/docs/configuring-playbook-bot-go-neb.md b/docs/configuring-playbook-bot-go-neb.md index 5fdf511eb..2bf69ef61 100644 --- a/docs/configuring-playbook-bot-go-neb.md +++ b/docs/configuring-playbook-bot-go-neb.md @@ -1,3 +1,13 @@ + + # Setting up Go-NEB (optional, unmaintained) **Note**: [Go-NEB](https://github.com/matrix-org/go-neb) is now an archived (**unmaintained**) project. We recommend not bothering with installing it. While not a 1:1 replacement, the bridge's author suggests taking a look at [matrix-hookshot](https://github.com/matrix-org/matrix-hookshot) as a replacement, which can also be installed using [this playbook](configuring-playbook-bridge-hookshot.md). Consider using that bot instead of this one. diff --git a/roles/custom/matrix-bot-go-neb/defaults/main.yml b/roles/custom/matrix-bot-go-neb/defaults/main.yml index 6695f621a..cff674cff 100644 --- a/roles/custom/matrix-bot-go-neb/defaults/main.yml +++ b/roles/custom/matrix-bot-go-neb/defaults/main.yml @@ -1,3 +1,12 @@ +# SPDX-FileCopyrightText: 2021 Yannick Goossens +# SPDX-FileCopyrightText: 2021 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # Go-NEB is a Matrix bot written in Go. It is the successor to Matrix-NEB, the original Matrix bot written in Python. diff --git a/roles/custom/matrix-bot-go-neb/tasks/install.yml b/roles/custom/matrix-bot-go-neb/tasks/install.yml index 10002904c..ee418fd0f 100644 --- a/roles/custom/matrix-bot-go-neb/tasks/install.yml +++ b/roles/custom/matrix-bot-go-neb/tasks/install.yml @@ -1,3 +1,13 @@ +# SPDX-FileCopyrightText: 2021 Yannick Goossens +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Jim Myhrberg +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2024 David Mehren +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure go-neb paths exist diff --git a/roles/custom/matrix-bot-go-neb/tasks/main.yml b/roles/custom/matrix-bot-go-neb/tasks/main.yml index 9367419da..666296156 100644 --- a/roles/custom/matrix-bot-go-neb/tasks/main.yml +++ b/roles/custom/matrix-bot-go-neb/tasks/main.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2021 Yannick Goossens +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 - 2023 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-bot-go-neb/tasks/uninstall.yml b/roles/custom/matrix-bot-go-neb/tasks/uninstall.yml index cc5f9fa57..56cee88e1 100644 --- a/roles/custom/matrix-bot-go-neb/tasks/uninstall.yml +++ b/roles/custom/matrix-bot-go-neb/tasks/uninstall.yml @@ -1,3 +1,10 @@ +# SPDX-FileCopyrightText: 2021 Yannick Goossens +# SPDX-FileCopyrightText: 2021 - 2023 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-go-neb service diff --git a/roles/custom/matrix-bot-go-neb/tasks/validate_config.yml b/roles/custom/matrix-bot-go-neb/tasks/validate_config.yml index 72bc3cb41..ead635626 100644 --- a/roles/custom/matrix-bot-go-neb/tasks/validate_config.yml +++ b/roles/custom/matrix-bot-go-neb/tasks/validate_config.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2021 Yannick Goossens +# SPDX-FileCopyrightText: 2022 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if there's not at least 1 client diff --git a/roles/custom/matrix-bot-go-neb/templates/config.yaml.j2.license b/roles/custom/matrix-bot-go-neb/templates/config.yaml.j2.license new file mode 100644 index 000000000..c74bd679c --- /dev/null +++ b/roles/custom/matrix-bot-go-neb/templates/config.yaml.j2.license @@ -0,0 +1,4 @@ +SPDX-FileCopyrightText: 2021 Yannick Goossens +SPDX-FileCopyrightText: 2022 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bot-go-neb/templates/env.j2 b/roles/custom/matrix-bot-go-neb/templates/env.j2 index 22e605e5c..7fd62d5d7 100644 --- a/roles/custom/matrix-bot-go-neb/templates/env.j2 +++ b/roles/custom/matrix-bot-go-neb/templates/env.j2 @@ -1,3 +1,9 @@ +{# +SPDX-FileCopyrightText: 2023 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + BIND_ADDRESS=:4050 DATABASE_TYPE={{ matrix_bot_go_neb_database_engine }} diff --git a/roles/custom/matrix-bot-go-neb/templates/labels.j2 b/roles/custom/matrix-bot-go-neb/templates/labels.j2 index 1f0123add..4f8d18670 100644 --- a/roles/custom/matrix-bot-go-neb/templates/labels.j2 +++ b/roles/custom/matrix-bot-go-neb/templates/labels.j2 @@ -1,3 +1,9 @@ +{# +SPDX-FileCopyrightText: 2023 - 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + {% if matrix_bot_go_neb_container_labels_traefik_enabled %} traefik.enable=true diff --git a/roles/custom/matrix-bot-go-neb/templates/systemd/matrix-bot-go-neb.service.j2.license b/roles/custom/matrix-bot-go-neb/templates/systemd/matrix-bot-go-neb.service.j2.license new file mode 100644 index 000000000..99d44ac5b --- /dev/null +++ b/roles/custom/matrix-bot-go-neb/templates/systemd/matrix-bot-go-neb.service.j2.license @@ -0,0 +1,4 @@ +SPDX-FileCopyrightText: 2021 Yannick Goossens +SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later From cd4b1ca72f00e8276c57446cd1582e4a496568d0 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 25 Feb 2025 02:53:17 +0900 Subject: [PATCH 492/841] Tribute to deprecated components: add license information to files for matrix-bot-chatgpt This commit adds copyright attirbutions in SPDX format to files for matrix-bot-chatgpt, following the REUSE's specification. Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bot-chatgpt.md | 8 ++++++++ roles/custom/matrix-bot-chatgpt/defaults/main.yml | 9 +++++++++ roles/custom/matrix-bot-chatgpt/tasks/install.yml | 5 +++++ roles/custom/matrix-bot-chatgpt/tasks/main.yml | 5 +++++ roles/custom/matrix-bot-chatgpt/tasks/uninstall.yml | 5 +++++ .../custom/matrix-bot-chatgpt/tasks/validate_config.yml | 5 +++++ roles/custom/matrix-bot-chatgpt/templates/env.j2 | 9 +++++++++ .../systemd/matrix-bot-chatgpt.service.j2.license | 5 +++++ 8 files changed, 51 insertions(+) create mode 100644 roles/custom/matrix-bot-chatgpt/templates/systemd/matrix-bot-chatgpt.service.j2.license diff --git a/docs/configuring-playbook-bot-chatgpt.md b/docs/configuring-playbook-bot-chatgpt.md index 2ddd72bfd..74e687bbc 100644 --- a/docs/configuring-playbook-bot-chatgpt.md +++ b/docs/configuring-playbook-bot-chatgpt.md @@ -1,3 +1,11 @@ + + # Setting up matrix-bot-chatgpt (optional, unmaintained) **Note**: [matrix-chatgpt-bot](https://github.com/matrixgpt/matrix-chatgpt-bot) is now an archived (**unmaintained**) project. Talking to ChatGPT (and many other LLM providers) can happen via the much more featureful [baibot](https://github.com/etkecc/baibot), which can be installed using [this playbook](configuring-playbook-bot-baibot.md). Consider using that bot instead of this one. diff --git a/roles/custom/matrix-bot-chatgpt/defaults/main.yml b/roles/custom/matrix-bot-chatgpt/defaults/main.yml index 3b1c59a88..3727962db 100644 --- a/roles/custom/matrix-bot-chatgpt/defaults/main.yml +++ b/roles/custom/matrix-bot-chatgpt/defaults/main.yml @@ -1,3 +1,12 @@ +# SPDX-FileCopyrightText: 2023 MDAD project contributors +# SPDX-FileCopyrightText: 2023 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2023 Joe Kappus +# SPDX-FileCopyrightText: 2023 Nikita Chernyi +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # chatgpt is a bot for chatting to openAI chatgpt Matrix bot # Project source code URL: https://github.com/matrixgpt/matrix-chatgpt-bot diff --git a/roles/custom/matrix-bot-chatgpt/tasks/install.yml b/roles/custom/matrix-bot-chatgpt/tasks/install.yml index af9550f15..1f2beae64 100644 --- a/roles/custom/matrix-bot-chatgpt/tasks/install.yml +++ b/roles/custom/matrix-bot-chatgpt/tasks/install.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2023 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2024 David Mehren +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure chatgpt paths exist diff --git a/roles/custom/matrix-bot-chatgpt/tasks/main.yml b/roles/custom/matrix-bot-chatgpt/tasks/main.yml index 3f5a7b7ec..3160fde32 100644 --- a/roles/custom/matrix-bot-chatgpt/tasks/main.yml +++ b/roles/custom/matrix-bot-chatgpt/tasks/main.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2023 MDAD project contributors +# SPDX-FileCopyrightText: 2023 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - diff --git a/roles/custom/matrix-bot-chatgpt/tasks/uninstall.yml b/roles/custom/matrix-bot-chatgpt/tasks/uninstall.yml index 4a50d7337..e6b488789 100644 --- a/roles/custom/matrix-bot-chatgpt/tasks/uninstall.yml +++ b/roles/custom/matrix-bot-chatgpt/tasks/uninstall.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2023 MDAD project contributors +# SPDX-FileCopyrightText: 2023 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-chatgpt service diff --git a/roles/custom/matrix-bot-chatgpt/tasks/validate_config.yml b/roles/custom/matrix-bot-chatgpt/tasks/validate_config.yml index 51797882f..3d1fff512 100644 --- a/roles/custom/matrix-bot-chatgpt/tasks/validate_config.yml +++ b/roles/custom/matrix-bot-chatgpt/tasks/validate_config.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2023 MDAD project contributors +# SPDX-FileCopyrightText: 2023 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required Chatgpt settings not defined diff --git a/roles/custom/matrix-bot-chatgpt/templates/env.j2 b/roles/custom/matrix-bot-chatgpt/templates/env.j2 index 375ef18f2..bbb6d01e3 100644 --- a/roles/custom/matrix-bot-chatgpt/templates/env.j2 +++ b/roles/custom/matrix-bot-chatgpt/templates/env.j2 @@ -1,3 +1,12 @@ +{# +SPDX-FileCopyrightText: 2023 MDAD project contributors +SPDX-FileCopyrightText: 2023 Slavi Pantaleev +SPDX-FileCopyrightText: 2023 Joe Kappus +SPDX-FileCopyrightText: 2024 Suguru Hirahara + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + MATRIX_HOMESERVER_URL={{ matrix_bot_chatgpt_matrix_homeserver_url }} MATRIX_ACCESS_TOKEN={{ matrix_bot_chatgpt_matrix_access_token }} diff --git a/roles/custom/matrix-bot-chatgpt/templates/systemd/matrix-bot-chatgpt.service.j2.license b/roles/custom/matrix-bot-chatgpt/templates/systemd/matrix-bot-chatgpt.service.j2.license new file mode 100644 index 000000000..5eda5a739 --- /dev/null +++ b/roles/custom/matrix-bot-chatgpt/templates/systemd/matrix-bot-chatgpt.service.j2.license @@ -0,0 +1,5 @@ +SPDX-FileCopyrightText: 2023 MDAD project contributors +SPDX-FileCopyrightText: 2023 Vladimir Panteleev +SPDX-FileCopyrightText: 2023 - 2025 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later From 2a3fee7b80d89c95ab180933d84230e70c24e5ce Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 25 Feb 2025 03:48:09 +0900 Subject: [PATCH 493/841] Fix some of the spacing warnings with ansible-lint Signed-off-by: Suguru Hirahara --- roles/custom/matrix-base/defaults/main.yml | 2 +- roles/custom/matrix-bot-baibot/defaults/main.yml | 8 ++++---- .../defaults/main.yml | 2 +- .../defaults/main.yml | 2 +- .../defaults/main.yml | 16 ++++++++-------- .../tasks/setup_install.yml | 6 +++--- .../tasks/validate_config.yml | 16 ++++++++-------- 7 files changed, 26 insertions(+), 26 deletions(-) diff --git a/roles/custom/matrix-base/defaults/main.yml b/roles/custom/matrix-base/defaults/main.yml index 63027e487..6a72154a4 100644 --- a/roles/custom/matrix-base/defaults/main.yml +++ b/roles/custom/matrix-base/defaults/main.yml @@ -278,7 +278,7 @@ matrix_playbook_public_matrix_federation_api_traefik_entrypoint_name: "{{ matrix matrix_playbook_public_matrix_federation_api_traefik_entrypoint_port: "{{ matrix_federation_public_port }}" matrix_playbook_public_matrix_federation_api_traefik_entrypoint_host_bind_port: "{{ matrix_federation_public_port }}" matrix_playbook_public_matrix_federation_api_traefik_entrypoint_host_bind_port_udp: "{{ matrix_playbook_public_matrix_federation_api_traefik_entrypoint_config_http3_advertisedPort if matrix_playbook_public_matrix_federation_api_traefik_entrypoint_config_http3_enabled else '' }}" -matrix_playbook_public_matrix_federation_api_traefik_entrypoint_config: "{{ (matrix_playbook_public_matrix_federation_api_traefik_entrypoint_config_default | combine (matrix_playbook_public_matrix_federation_api_traefik_entrypoint_config_auto)) | combine(matrix_playbook_public_matrix_federation_api_traefik_entrypoint_config_custom, recursive=True) }}" +matrix_playbook_public_matrix_federation_api_traefik_entrypoint_config: "{{ (matrix_playbook_public_matrix_federation_api_traefik_entrypoint_config_default | combine(matrix_playbook_public_matrix_federation_api_traefik_entrypoint_config_auto)) | combine(matrix_playbook_public_matrix_federation_api_traefik_entrypoint_config_custom, recursive=True) }}" matrix_playbook_public_matrix_federation_api_traefik_entrypoint_config_http3_enabled: true matrix_playbook_public_matrix_federation_api_traefik_entrypoint_config_http3_advertisedPort: "{{ matrix_playbook_public_matrix_federation_api_traefik_entrypoint_port }}" # noqa var-naming matrix_playbook_public_matrix_federation_api_traefik_entrypoint_config_transport_respondingTimeouts_readTimeout: "{{ traefik_config_entrypoint_web_secure_transport_respondingTimeouts_readTimeout }}" # noqa var-naming diff --git a/roles/custom/matrix-bot-baibot/defaults/main.yml b/roles/custom/matrix-bot-baibot/defaults/main.yml index b17a55af3..41576a01b 100644 --- a/roles/custom/matrix-bot-baibot/defaults/main.yml +++ b/roles/custom/matrix-bot-baibot/defaults/main.yml @@ -169,7 +169,7 @@ matrix_bot_baibot_config_agents_static_definitions_anthropic_enabled: false matrix_bot_baibot_config_agents_static_definitions_anthropic_id: anthropic matrix_bot_baibot_config_agents_static_definitions_anthropic_provider: anthropic -matrix_bot_baibot_config_agents_static_definitions_anthropic_config: "{{ matrix_bot_baibot_config_agents_static_definitions_anthropic_config_yaml | from_yaml | combine(matrix_bot_baibot_config_agents_static_definitions_anthropic_config_extension, recursive=True)}}" +matrix_bot_baibot_config_agents_static_definitions_anthropic_config: "{{ matrix_bot_baibot_config_agents_static_definitions_anthropic_config_yaml | from_yaml | combine(matrix_bot_baibot_config_agents_static_definitions_anthropic_config_extension, recursive=True) }}" matrix_bot_baibot_config_agents_static_definitions_anthropic_config_yaml: "{{ lookup('template', 'templates/provider/anthropic-config.yml.j2') }}" @@ -222,7 +222,7 @@ matrix_bot_baibot_config_agents_static_definitions_groq_enabled: false matrix_bot_baibot_config_agents_static_definitions_groq_id: groq matrix_bot_baibot_config_agents_static_definitions_groq_provider: groq -matrix_bot_baibot_config_agents_static_definitions_groq_config: "{{ matrix_bot_baibot_config_agents_static_definitions_groq_config_yaml | from_yaml | combine(matrix_bot_baibot_config_agents_static_definitions_groq_config_extension, recursive=True)}}" +matrix_bot_baibot_config_agents_static_definitions_groq_config: "{{ matrix_bot_baibot_config_agents_static_definitions_groq_config_yaml | from_yaml | combine(matrix_bot_baibot_config_agents_static_definitions_groq_config_extension, recursive=True) }}" matrix_bot_baibot_config_agents_static_definitions_groq_config_yaml: "{{ lookup('template', 'templates/provider/groq-config.yml.j2') }}" @@ -278,7 +278,7 @@ matrix_bot_baibot_config_agents_static_definitions_mistral_enabled: false matrix_bot_baibot_config_agents_static_definitions_mistral_id: mistral matrix_bot_baibot_config_agents_static_definitions_mistral_provider: mistral -matrix_bot_baibot_config_agents_static_definitions_mistral_config: "{{ matrix_bot_baibot_config_agents_static_definitions_mistral_config_yaml | from_yaml | combine(matrix_bot_baibot_config_agents_static_definitions_mistral_config_extension, recursive=True)}}" +matrix_bot_baibot_config_agents_static_definitions_mistral_config: "{{ matrix_bot_baibot_config_agents_static_definitions_mistral_config_yaml | from_yaml | combine(matrix_bot_baibot_config_agents_static_definitions_mistral_config_extension, recursive=True) }}" matrix_bot_baibot_config_agents_static_definitions_mistral_config_yaml: "{{ lookup('template', 'templates/provider/mistral-config.yml.j2') }}" @@ -331,7 +331,7 @@ matrix_bot_baibot_config_agents_static_definitions_openai_enabled: false matrix_bot_baibot_config_agents_static_definitions_openai_id: openai matrix_bot_baibot_config_agents_static_definitions_openai_provider: openai -matrix_bot_baibot_config_agents_static_definitions_openai_config: "{{ matrix_bot_baibot_config_agents_static_definitions_openai_config_yaml | from_yaml | combine(matrix_bot_baibot_config_agents_static_definitions_openai_config_extension, recursive=True)}}" +matrix_bot_baibot_config_agents_static_definitions_openai_config: "{{ matrix_bot_baibot_config_agents_static_definitions_openai_config_yaml | from_yaml | combine(matrix_bot_baibot_config_agents_static_definitions_openai_config_extension, recursive=True) }}" matrix_bot_baibot_config_agents_static_definitions_openai_config_yaml: "{{ lookup('template', 'templates/provider/openai-config.yml.j2') }}" diff --git a/roles/custom/matrix-bot-matrix-registration-bot/defaults/main.yml b/roles/custom/matrix-bot-matrix-registration-bot/defaults/main.yml index 769e84b60..ca438720c 100644 --- a/roles/custom/matrix-bot-matrix-registration-bot/defaults/main.yml +++ b/roles/custom/matrix-bot-matrix-registration-bot/defaults/main.yml @@ -11,7 +11,7 @@ matrix_bot_matrix_registration_bot_docker_src_files_path: "{{ matrix_bot_matrix_ # renovate: datasource=docker depName=moanos/matrix-registration-bot matrix_bot_matrix_registration_bot_version: 1.3.0 matrix_bot_matrix_registration_bot_docker_iteration: 0 -matrix_bot_matrix_registration_bot_docker_tag: "{{ matrix_bot_matrix_registration_bot_version }}-{{ matrix_bot_matrix_registration_bot_docker_iteration}}" +matrix_bot_matrix_registration_bot_docker_tag: "{{ matrix_bot_matrix_registration_bot_version }}-{{ matrix_bot_matrix_registration_bot_docker_iteration }}" matrix_bot_matrix_registration_bot_docker_image: "{{ matrix_bot_matrix_registration_bot_docker_image_registry_prefix }}moanos/matrix-registration-bot:{{ matrix_bot_matrix_registration_bot_docker_tag }}" matrix_bot_matrix_registration_bot_docker_image_registry_prefix: "{{ 'localhost/' if matrix_bot_matrix_registration_bot_container_image_self_build else matrix_bot_matrix_registration_bot_docker_image_registry_prefix_upstream }}" matrix_bot_matrix_registration_bot_docker_image_registry_prefix_upstream: "{{ matrix_bot_matrix_registration_bot_docker_image_registry_prefix_upstream_default }}" diff --git a/roles/custom/matrix-bridge-go-skype-bridge/defaults/main.yml b/roles/custom/matrix-bridge-go-skype-bridge/defaults/main.yml index de0e0ed7d..a162a5848 100644 --- a/roles/custom/matrix-bridge-go-skype-bridge/defaults/main.yml +++ b/roles/custom/matrix-bridge-go-skype-bridge/defaults/main.yml @@ -96,7 +96,7 @@ matrix_go_skype_bridge_bridge_login_shared_secret_map: # Servers to always allow double puppeting from matrix_go_skype_bridge_bridge_double_puppet_server_map: - "{{ matrix_go_skype_bridge_homeserver_domain : matrix_go_skype_bridge_homeserver_address }}" + "{{ matrix_go_skype_bridge_homeserver_domain: matrix_go_skype_bridge_homeserver_address }}" # Enable End-to-bridge encryption matrix_go_skype_bridge_bridge_encryption_allow: "{{ matrix_bridges_encryption_enabled }}" diff --git a/roles/custom/matrix-bridge-mautrix-wsproxy/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-wsproxy/defaults/main.yml index f9a514e9f..36bd8dc12 100644 --- a/roles/custom/matrix-bridge-mautrix-wsproxy/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-wsproxy/defaults/main.yml @@ -98,11 +98,11 @@ matrix_mautrix_wsproxy_configuration_extension_yaml: | # If you need something more special, you can take full control by # completely redefining `matrix_mautrix_wsproxy_configuration_yaml`. -matrix_mautrix_wsproxy_configuration_extension: "{{ matrix_mautrix_wsproxy_configuration_extension_yaml|from_yaml if matrix_mautrix_wsproxy_configuration_extension_yaml|from_yaml is mapping else {} }}" +matrix_mautrix_wsproxy_configuration_extension: "{{ matrix_mautrix_wsproxy_configuration_extension_yaml | from_yaml if matrix_mautrix_wsproxy_configuration_extension_yaml | from_yaml is mapping else {} }}" # Holds the final configuration (a combination of the default and its extension). # You most likely don't need to touch this variable. Instead, see `matrix_mautrix_wsproxy_configuration_yaml`. -matrix_mautrix_wsproxy_configuration: "{{ matrix_mautrix_wsproxy_configuration_yaml|from_yaml|combine(matrix_mautrix_wsproxy_configuration_extension, recursive=True) }}" +matrix_mautrix_wsproxy_configuration: "{{ matrix_mautrix_wsproxy_configuration_yaml | from_yaml | combine(matrix_mautrix_wsproxy_configuration_extension, recursive=True) }}" matrix_mautrix_androidsms_registration_yaml: | id: androidsms @@ -113,12 +113,12 @@ matrix_mautrix_androidsms_registration_yaml: | rate_limited: false namespaces: users: - - regex: '@androidsms_.+:{{ matrix_mautrix_wsproxy_homeserver_domain|regex_escape }}$' + - regex: '@androidsms_.+:{{ matrix_mautrix_wsproxy_homeserver_domain | regex_escape }}$' exclusive: true - exclusive: true - regex: '^@{{ matrix_mautrix_androidsms_appservice_bot_username|regex_escape }}:{{ matrix_mautrix_wsproxy_homeserver_domain|regex_escape }}$' + regex: '^@{{ matrix_mautrix_androidsms_appservice_bot_username | regex_escape }}:{{ matrix_mautrix_wsproxy_homeserver_domain | regex_escape }}$' -matrix_mautrix_androidsms_registration: "{{ matrix_mautrix_androidsms_registration_yaml|from_yaml }}" +matrix_mautrix_androidsms_registration: "{{ matrix_mautrix_androidsms_registration_yaml | from_yaml }}" matrix_mautrix_imessage_registration_yaml: | id: imessage @@ -129,12 +129,12 @@ matrix_mautrix_imessage_registration_yaml: | rate_limited: false namespaces: users: - - regex: '@imessage_.+:{{ matrix_mautrix_wsproxy_homeserver_domain|regex_escape }}$' + - regex: '@imessage_.+:{{ matrix_mautrix_wsproxy_homeserver_domain | regex_escape }}$' exclusive: true - exclusive: true - regex: '^@{{ matrix_mautrix_imessage_appservice_bot_username|regex_escape }}:{{ matrix_mautrix_wsproxy_homeserver_domain|regex_escape }}$' + regex: '^@{{ matrix_mautrix_imessage_appservice_bot_username | regex_escape }}:{{ matrix_mautrix_wsproxy_homeserver_domain | regex_escape }}$' -matrix_mautrix_imessage_registration: "{{ matrix_mautrix_imessage_registration_yaml|from_yaml }}" +matrix_mautrix_imessage_registration: "{{ matrix_mautrix_imessage_registration_yaml | from_yaml }}" # Syncproxy-related configuration fields # renovate: datasource=docker depName=dock.mau.dev/mautrix/syncproxy diff --git a/roles/custom/matrix-bridge-mautrix-wsproxy/tasks/setup_install.yml b/roles/custom/matrix-bridge-mautrix-wsproxy/tasks/setup_install.yml index 703d412df..59744ab48 100644 --- a/roles/custom/matrix-bridge-mautrix-wsproxy/tasks/setup_install.yml +++ b/roles/custom/matrix-bridge-mautrix-wsproxy/tasks/setup_install.yml @@ -69,7 +69,7 @@ - name: Ensure mautrix-wsproxy config.yaml installed ansible.builtin.copy: - content: "{{ matrix_mautrix_wsproxy_configuration|to_nice_yaml }}" + content: "{{ matrix_mautrix_wsproxy_configuration | to_nice_yaml }}" dest: "{{ matrix_mautrix_wsproxy_config_path }}/config.yaml" mode: 0644 owner: "{{ matrix_user_username }}" @@ -77,7 +77,7 @@ - name: Ensure mautrix-androidsms registration.yaml installed ansible.builtin.copy: - content: "{{ matrix_mautrix_androidsms_registration|to_nice_yaml }}" + content: "{{ matrix_mautrix_androidsms_registration | to_nice_yaml }}" dest: "{{ matrix_mautrix_wsproxy_config_path }}/androidsms-registration.yaml" mode: 0644 owner: "{{ matrix_user_username }}" @@ -85,7 +85,7 @@ - name: Ensure mautrix-imessage registration.yaml installed ansible.builtin.copy: - content: "{{ matrix_mautrix_imessage_registration|to_nice_yaml }}" + content: "{{ matrix_mautrix_imessage_registration | to_nice_yaml }}" dest: "{{ matrix_mautrix_wsproxy_config_path }}/imessage-registration.yaml" mode: 0644 owner: "{{ matrix_user_username }}" diff --git a/roles/custom/matrix_playbook_migration/tasks/validate_config.yml b/roles/custom/matrix_playbook_migration/tasks/validate_config.yml index 37b8669f8..4232196d3 100644 --- a/roles/custom/matrix_playbook_migration/tasks/validate_config.yml +++ b/roles/custom/matrix_playbook_migration/tasks/validate_config.yml @@ -78,7 +78,7 @@ Please change your configuration (vars.yml) to rename all `matrix_postgres`-prefixed variables (`matrix_postgres_*` -> `postgres_*`). - The following variables in your configuration need to be renamed: {{ vars | dict2items | selectattr('key', 'match', 'matrix_postgres_.*') | map (attribute='key') | join(', ') }} + The following variables in your configuration need to be renamed: {{ vars | dict2items | selectattr('key', 'match', 'matrix_postgres_.*') | map(attribute='key') | join(', ') }} when: "vars | dict2items | selectattr('key', 'match', 'matrix_postgres_.*') | list | items2dict" - name: (Deprecation) Catch and report matrix_mailer_ variables @@ -89,7 +89,7 @@ Please change your configuration (vars.yml) to rename all `matrix_mailer`-prefixed variables (`matrix_mailer_*` -> `exim_relay_*`). - The following variables in your configuration need to be renamed: {{ vars | dict2items | selectattr('key', 'match', 'matrix_mailer_.*') | map (attribute='key') | join(', ') }} + The following variables in your configuration need to be renamed: {{ vars | dict2items | selectattr('key', 'match', 'matrix_mailer_.*') | map(attribute='key') | join(', ') }} when: "vars | dict2items | selectattr('key', 'match', 'matrix_mailer_.*') | list | items2dict" - when: matrix_playbook_migration_matrix_prometheus_node_exporter_migration_validation_enabled | bool @@ -417,7 +417,7 @@ Please change your configuration (vars.yml) to rename all `devture_postgres_backup_`-prefixed variables (`devture_postgres_backup_*` -> `postgres_backup_*`). - The following variables in your configuration need to be renamed: {{ vars | dict2items | selectattr('key', 'match', 'devture_postgres_backup_.*') | map (attribute='key') | join(', ') }} + The following variables in your configuration need to be renamed: {{ vars | dict2items | selectattr('key', 'match', 'devture_postgres_backup_.*') | map(attribute='key') | join(', ') }} when: "vars | dict2items | selectattr('key', 'match', 'devture_postgres_backup_.*') | list | items2dict" - name: (Deprecation) Catch and report devture_postgres variables @@ -428,7 +428,7 @@ Please change your configuration (vars.yml) to rename all `devture_postgres_`-prefixed variables (`devture_postgres_*` -> `postgres_*`). - The following variables in your configuration need to be renamed: {{ vars | dict2items | selectattr('key', 'match', 'devture_postgres_.*') | map (attribute='key') | join(', ') }} + The following variables in your configuration need to be renamed: {{ vars | dict2items | selectattr('key', 'match', 'devture_postgres_.*') | map(attribute='key') | join(', ') }} when: "vars | dict2items | selectattr('key', 'match', 'devture_postgres_.*') | list | items2dict" - name: (Deprecation) Catch and report traefik_certs_dumper variables @@ -439,7 +439,7 @@ Please change your configuration (vars.yml) to rename all `devture_traefik_certs_dumper_`-prefixed variables (`devture_traefik_certs_dumper_*` -> `traefik_certs_dumper_*`). - The following variables in your configuration need to be renamed: {{ vars | dict2items | selectattr('key', 'match', 'devture_traefik_certs_dumper_.*') | map (attribute='key') | join(', ') }} + The following variables in your configuration need to be renamed: {{ vars | dict2items | selectattr('key', 'match', 'devture_traefik_certs_dumper_.*') | map(attribute='key') | join(', ') }} when: "vars | dict2items | selectattr('key', 'match', 'devture_traefik_certs_dumper_.*') | list | items2dict" - name: (Deprecation) Catch and report devture_traefik variables @@ -450,7 +450,7 @@ Please change your configuration (vars.yml) to rename all `devture_traefik_`-prefixed variables (`devture_traefik_*` -> `traefik_*`). - The following variables in your configuration need to be renamed: {{ vars | dict2items | selectattr('key', 'match', 'devture_traefik_.*') | map (attribute='key') | join(', ') }} + The following variables in your configuration need to be renamed: {{ vars | dict2items | selectattr('key', 'match', 'devture_traefik_.*') | map(attribute='key') | join(', ') }} when: "vars | dict2items | selectattr('key', 'match', 'devture_traefik_.*') | list | items2dict" - name: (Deprecation) Catch and report devture_container_socket_proxy variables @@ -461,7 +461,7 @@ Please change your configuration (vars.yml) to rename all `devture_container_socket_proxy_`-prefixed variables (`devture_container_socket_proxy_*` -> `container_socket_proxy_*`). - The following variables in your configuration need to be renamed: {{ vars | dict2items | selectattr('key', 'match', 'devture_container_socket_proxy_.*') | map (attribute='key') | join(', ') }} + The following variables in your configuration need to be renamed: {{ vars | dict2items | selectattr('key', 'match', 'devture_container_socket_proxy_.*') | map(attribute='key') | join(', ') }} when: "vars | dict2items | selectattr('key', 'match', 'devture_container_socket_proxy_.*') | list | items2dict" - name: (Deprecation) Catch and report mautrix-hangouts variables @@ -474,5 +474,5 @@ You may also wish to uninstall the bridge manually. See `docs/configuring-playbook-bridge-mautrix-hangouts.md` for more information. - The following variables in your configuration need to be removed: {{ vars | dict2items | selectattr('key', 'match', 'matrix_mautrix_hangouts_.*') | map (attribute='key') | join(', ') }} + The following variables in your configuration need to be removed: {{ vars | dict2items | selectattr('key', 'match', 'matrix_mautrix_hangouts_.*') | map(attribute='key') | join(', ') }} when: "vars | dict2items | selectattr('key', 'match', 'matrix_mautrix_hangouts_.*') | list | items2dict" From 0a72b7b3965cb0c58efba0f4da03fa5b2c3bce12 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 25 Feb 2025 13:07:56 +0900 Subject: [PATCH 494/841] Tribute to deprecated components: add license information to files for matrix-bridge-mautrix-facebook This commit adds copyright attributions in SPDX format as of 6aa320e117c1e051957383229a96fcb58bb0cfa3 to the files for matrix-bridge-mautrix-facebook, following REUSE's specification. Signed-off-by: Suguru Hirahara --- ...onfiguring-playbook-bridge-mautrix-facebook.md | 12 ++++++++++++ .../defaults/main.yml | 14 ++++++++++++++ .../matrix-bridge-mautrix-facebook/tasks/main.yml | 7 +++++++ .../tasks/setup_install.yml | 15 +++++++++++++++ .../tasks/setup_uninstall.yml | 6 ++++++ .../tasks/validate_config.yml | 7 +++++++ .../templates/config.yaml.j2.license | 9 +++++++++ .../templates/labels.j2 | 6 ++++++ .../matrix-mautrix-facebook.service.j2.license | 7 +++++++ 9 files changed, 83 insertions(+) create mode 100644 roles/custom/matrix-bridge-mautrix-facebook/templates/config.yaml.j2.license create mode 100644 roles/custom/matrix-bridge-mautrix-facebook/templates/systemd/matrix-mautrix-facebook.service.j2.license diff --git a/docs/configuring-playbook-bridge-mautrix-facebook.md b/docs/configuring-playbook-bridge-mautrix-facebook.md index 67d2b3d9b..f5f6d581f 100644 --- a/docs/configuring-playbook-bridge-mautrix-facebook.md +++ b/docs/configuring-playbook-bridge-mautrix-facebook.md @@ -1,3 +1,15 @@ + + # Setting up Mautrix Facebook bridging (optional, deprecated) Refer the common guide for configuring mautrix bridges: [Setting up a Generic Mautrix Bridge](configuring-playbook-bridge-mautrix-bridges.md) diff --git a/roles/custom/matrix-bridge-mautrix-facebook/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-facebook/defaults/main.yml index ce448c1bc..c4a80ba70 100644 --- a/roles/custom/matrix-bridge-mautrix-facebook/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-facebook/defaults/main.yml @@ -1,3 +1,17 @@ +# SPDX-FileCopyrightText: 2019 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2020 Marcel Partap +# SPDX-FileCopyrightText: 2020 Horvath Gergely +# SPDX-FileCopyrightText: 2021 - 2024 MDAD project contributors +# SPDX-FileCopyrightText: 2021 Arthur Brugière +# SPDX-FileCopyrightText: 2021 Aaron Raimist +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 László Várady +# SPDX-FileCopyrightText: 2022 - 2023 Nikita Chernyi +# SPDX-FileCopyrightText: 2023 Adrien le Maire +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # mautrix-facebook is a Matrix <-> Facebook bridge # Project source code URL: https://github.com/mautrix/facebook diff --git a/roles/custom/matrix-bridge-mautrix-facebook/tasks/main.yml b/roles/custom/matrix-bridge-mautrix-facebook/tasks/main.yml index d26ce1733..c5cf1123e 100644 --- a/roles/custom/matrix-bridge-mautrix-facebook/tasks/main.yml +++ b/roles/custom/matrix-bridge-mautrix-facebook/tasks/main.yml @@ -1,3 +1,10 @@ +# SPDX-FileCopyrightText: 2019 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2019 Dan Arnfield +# SPDX-FileCopyrightText: 2019 Jason Locklin +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-bridge-mautrix-facebook/tasks/setup_install.yml b/roles/custom/matrix-bridge-mautrix-facebook/tasks/setup_install.yml index 02dd8e511..12907c16b 100644 --- a/roles/custom/matrix-bridge-mautrix-facebook/tasks/setup_install.yml +++ b/roles/custom/matrix-bridge-mautrix-facebook/tasks/setup_install.yml @@ -1,3 +1,18 @@ +# SPDX-FileCopyrightText: 2019 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2019 Dan Arnfield +# SPDX-FileCopyrightText: 2020 Horvath Gergely +# SPDX-FileCopyrightText: 2020 MDAD project contributors +# SPDX-FileCopyrightText: 2020 Chris van Dijk +# SPDX-FileCopyrightText: 2020 Stuart Mumford +# SPDX-FileCopyrightText: 2021 Aaron Raimist +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Jim Myhrberg +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2024 David Mehren +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - ansible.builtin.set_fact: diff --git a/roles/custom/matrix-bridge-mautrix-facebook/tasks/setup_uninstall.yml b/roles/custom/matrix-bridge-mautrix-facebook/tasks/setup_uninstall.yml index 566da5b71..d88c98feb 100644 --- a/roles/custom/matrix-bridge-mautrix-facebook/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-bridge-mautrix-facebook/tasks/setup_uninstall.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2019 - 2022 Slavi Pantaleev +# SPDX-FileCopyrightText: 2020 MDAD project contributors +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-mautrix-facebook service diff --git a/roles/custom/matrix-bridge-mautrix-facebook/tasks/validate_config.yml b/roles/custom/matrix-bridge-mautrix-facebook/tasks/validate_config.yml index 12286f320..45c751627 100644 --- a/roles/custom/matrix-bridge-mautrix-facebook/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mautrix-facebook/tasks/validate_config.yml @@ -1,3 +1,10 @@ +# SPDX-FileCopyrightText: 2019 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2019 Jason Locklin +# SPDX-FileCopyrightText: 2022 László Várady +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: (Deprecation) Catch and report renamed mautrix-facebook settings diff --git a/roles/custom/matrix-bridge-mautrix-facebook/templates/config.yaml.j2.license b/roles/custom/matrix-bridge-mautrix-facebook/templates/config.yaml.j2.license new file mode 100644 index 000000000..309dd31e7 --- /dev/null +++ b/roles/custom/matrix-bridge-mautrix-facebook/templates/config.yaml.j2.license @@ -0,0 +1,9 @@ +SPDX-FileCopyrightText: 2019 Hugues Morisset +SPDX-FileCopyrightText: 2019 - 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2020 - 2022 MDAD project contributors +SPDX-FileCopyrightText: 2022 László Várady +SPDX-FileCopyrightText: 2022 Olivér Falvai +SPDX-FileCopyrightText: 2022 - 2023 Nikita Chernyi +SPDX-FileCopyrightText: 2023 Adrien le Maire + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-mautrix-facebook/templates/labels.j2 b/roles/custom/matrix-bridge-mautrix-facebook/templates/labels.j2 index d71e7eed2..d7eecb2ec 100644 --- a/roles/custom/matrix-bridge-mautrix-facebook/templates/labels.j2 +++ b/roles/custom/matrix-bridge-mautrix-facebook/templates/labels.j2 @@ -1,3 +1,9 @@ +{# +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + {% if matrix_mautrix_facebook_container_labels_traefik_enabled %} traefik.enable=true diff --git a/roles/custom/matrix-bridge-mautrix-facebook/templates/systemd/matrix-mautrix-facebook.service.j2.license b/roles/custom/matrix-bridge-mautrix-facebook/templates/systemd/matrix-mautrix-facebook.service.j2.license new file mode 100644 index 000000000..f74c84d94 --- /dev/null +++ b/roles/custom/matrix-bridge-mautrix-facebook/templates/systemd/matrix-mautrix-facebook.service.j2.license @@ -0,0 +1,7 @@ +SPDX-FileCopyrightText: 2019 - 2025 Slavi Pantaleev +SPDX-FileCopyrightText: 2019 Hugues Morisset +SPDX-FileCopyrightText: 2020 Chris van Dijk +SPDX-FileCopyrightText: 2020 Scott Crossen +SPDX-FileCopyrightText: 2022 László Várady + +SPDX-License-Identifier: AGPL-3.0-or-later From bcd641063ec1e01580c46ac18f07272c172f0e58 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 25 Feb 2025 13:10:56 +0900 Subject: [PATCH 495/841] Tribute to deprecated components: add license information to files for matrix-bridge-mautrix-instagram This commit adds copyright attributions in SPDX format as of 6aa320e117c1e051957383229a96fcb58bb0cfa3 to the files for matrix-bridge-mautrix-instagram, following REUSE's specification. Signed-off-by: Suguru Hirahara --- .../configuring-playbook-bridge-mautrix-instagram.md | 9 +++++++++ .../defaults/main.yml | 12 ++++++++++++ .../matrix-bridge-mautrix-instagram/tasks/main.yml | 7 +++++++ .../tasks/setup_install.yml | 10 ++++++++++ .../tasks/setup_uninstall.yml | 6 ++++++ .../tasks/validate_config.yml | 5 +++++ .../templates/config.yaml.j2.license | 10 ++++++++++ .../templates/labels.j2 | 6 ++++++ .../matrix-mautrix-instagram.service.j2.license | 4 ++++ 9 files changed, 69 insertions(+) create mode 100644 roles/custom/matrix-bridge-mautrix-instagram/templates/config.yaml.j2.license create mode 100644 roles/custom/matrix-bridge-mautrix-instagram/templates/systemd/matrix-mautrix-instagram.service.j2.license diff --git a/docs/configuring-playbook-bridge-mautrix-instagram.md b/docs/configuring-playbook-bridge-mautrix-instagram.md index 4bacb9ebd..c4694e0f1 100644 --- a/docs/configuring-playbook-bridge-mautrix-instagram.md +++ b/docs/configuring-playbook-bridge-mautrix-instagram.md @@ -1,3 +1,12 @@ + + # Setting up Mautrix Instagram bridging (optional, deprecated) Refer the common guide for configuring mautrix bridges: [Setting up a Generic Mautrix Bridge](configuring-playbook-bridge-mautrix-bridges.md) diff --git a/roles/custom/matrix-bridge-mautrix-instagram/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-instagram/defaults/main.yml index ad0a2a00a..b2acb3afc 100644 --- a/roles/custom/matrix-bridge-mautrix-instagram/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-instagram/defaults/main.yml @@ -1,3 +1,15 @@ +# SPDX-FileCopyrightText: 2021 Marcus Proest +# SPDX-FileCopyrightText: 2021 - 2024 MDAD project contributors +# SPDX-FileCopyrightText: 2021 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2021 Aaron Raimist +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 László Várady +# SPDX-FileCopyrightText: 2022 - 2023 Nikita Chernyi +# SPDX-FileCopyrightText: 2023 Adrien le Maire +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # mautrix-instagram is a Matrix <-> Instagram bridge # Project source code URL: https://github.com/mautrix/instagram diff --git a/roles/custom/matrix-bridge-mautrix-instagram/tasks/main.yml b/roles/custom/matrix-bridge-mautrix-instagram/tasks/main.yml index a9c63922c..b662b59d4 100644 --- a/roles/custom/matrix-bridge-mautrix-instagram/tasks/main.yml +++ b/roles/custom/matrix-bridge-mautrix-instagram/tasks/main.yml @@ -1,3 +1,10 @@ +# SPDX-FileCopyrightText: 2021 Marcus Proest +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2023 Adrien le Maire +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-bridge-mautrix-instagram/tasks/setup_install.yml b/roles/custom/matrix-bridge-mautrix-instagram/tasks/setup_install.yml index f355edc3b..f122dff98 100644 --- a/roles/custom/matrix-bridge-mautrix-instagram/tasks/setup_install.yml +++ b/roles/custom/matrix-bridge-mautrix-instagram/tasks/setup_install.yml @@ -1,3 +1,13 @@ +# SPDX-FileCopyrightText: 2021 Marcus Proest +# SPDX-FileCopyrightText: 2021 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Jim Myhrberg +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2024 David Mehren +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure Mautrix instagram image is pulled diff --git a/roles/custom/matrix-bridge-mautrix-instagram/tasks/setup_uninstall.yml b/roles/custom/matrix-bridge-mautrix-instagram/tasks/setup_uninstall.yml index 6ac0f6d52..da2d3f98e 100644 --- a/roles/custom/matrix-bridge-mautrix-instagram/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-bridge-mautrix-instagram/tasks/setup_uninstall.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2021 Marcus Proest +# SPDX-FileCopyrightText: 2021 - 2022 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-mautrix-instagram service ansible.builtin.stat: diff --git a/roles/custom/matrix-bridge-mautrix-instagram/tasks/validate_config.yml b/roles/custom/matrix-bridge-mautrix-instagram/tasks/validate_config.yml index 72a97f9bd..ef430fcbd 100644 --- a/roles/custom/matrix-bridge-mautrix-instagram/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mautrix-instagram/tasks/validate_config.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2021 Marcus Proest +# SPDX-FileCopyrightText: 2021 - 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required mautrix-instagram settings not defined ansible.builtin.fail: diff --git a/roles/custom/matrix-bridge-mautrix-instagram/templates/config.yaml.j2.license b/roles/custom/matrix-bridge-mautrix-instagram/templates/config.yaml.j2.license new file mode 100644 index 000000000..6e01bd18d --- /dev/null +++ b/roles/custom/matrix-bridge-mautrix-instagram/templates/config.yaml.j2.license @@ -0,0 +1,10 @@ +SPDX-FileCopyrightText: 2021 Marcus Proest +SPDX-FileCopyrightText: 2021 - 2022 MDAD project contributors +SPDX-FileCopyrightText: 2022 László Várady +SPDX-FileCopyrightText: 2022 - 2023 Nikita Chernyi +SPDX-FileCopyrightText: 2022 - 2023 Slavi Pantaleev +SPDX-FileCopyrightText: 2023 Adrien le Maire +SPDX-FileCopyrightText: 2023 Kevin Kengen +SPDX-FileCopyrightText: 2024 Suguru Hirahara + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-mautrix-instagram/templates/labels.j2 b/roles/custom/matrix-bridge-mautrix-instagram/templates/labels.j2 index c67f2264d..e5b9154ab 100644 --- a/roles/custom/matrix-bridge-mautrix-instagram/templates/labels.j2 +++ b/roles/custom/matrix-bridge-mautrix-instagram/templates/labels.j2 @@ -1,3 +1,9 @@ +{# +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + {% if matrix_mautrix_instagram_container_labels_traefik_enabled %} traefik.enable=true diff --git a/roles/custom/matrix-bridge-mautrix-instagram/templates/systemd/matrix-mautrix-instagram.service.j2.license b/roles/custom/matrix-bridge-mautrix-instagram/templates/systemd/matrix-mautrix-instagram.service.j2.license new file mode 100644 index 000000000..41f4c833d --- /dev/null +++ b/roles/custom/matrix-bridge-mautrix-instagram/templates/systemd/matrix-mautrix-instagram.service.j2.license @@ -0,0 +1,4 @@ +SPDX-FileCopyrightText: 2021 Marcus Proest +SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later From 6a4366d75de576bdbe7274b2c2a616face6b9cf2 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Tue, 25 Feb 2025 08:36:15 +0200 Subject: [PATCH 496/841] Upgrade Postgres (v17.2-3 -> v17.4-0) --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 1d324f1ee..602bd55a3 100644 --- a/requirements.yml +++ b/requirements.yml @@ -40,7 +40,7 @@ version: ff2fd42e1c1a9e28e3312bbd725395f9c2fc7f16 name: playbook_state_preserver - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-postgres.git - version: v17.2-3 + version: v17.4-0 name: postgres - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-postgres-backup.git version: v17-3 From 83ee9ba41586927ff783bc12120099f8cc7bc165 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 25 Feb 2025 17:36:07 +0900 Subject: [PATCH 497/841] Add license information to files for matrix-ma1sd This commit adds copyright attributions in SPDX format to the files for matrix-ma1sd following REUSE's specification. Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-ma1sd.md | 11 +++++++++++ roles/custom/matrix-ma1sd/defaults/main.yml | 14 ++++++++++++++ roles/custom/matrix-ma1sd/tasks/main.yml | 6 ++++++ roles/custom/matrix-ma1sd/tasks/self_check.yml | 7 +++++++ roles/custom/matrix-ma1sd/tasks/setup_install.yml | 14 ++++++++++++++ .../custom/matrix-ma1sd/tasks/setup_uninstall.yml | 6 ++++++ .../custom/matrix-ma1sd/tasks/validate_config.yml | 6 ++++++ roles/custom/matrix-ma1sd/templates/labels.j2 | 6 ++++++ .../matrix-ma1sd/templates/ma1sd.yaml.j2.license | 4 ++++ .../systemd/matrix-ma1sd.service.j2.license | 7 +++++++ roles/custom/matrix-ma1sd/vars/main.yml | 5 +++++ 11 files changed, 86 insertions(+) create mode 100644 roles/custom/matrix-ma1sd/templates/ma1sd.yaml.j2.license create mode 100644 roles/custom/matrix-ma1sd/templates/systemd/matrix-ma1sd.service.j2.license diff --git a/docs/configuring-playbook-ma1sd.md b/docs/configuring-playbook-ma1sd.md index ced162b8c..812ef14d4 100644 --- a/docs/configuring-playbook-ma1sd.md +++ b/docs/configuring-playbook-ma1sd.md @@ -1,3 +1,14 @@ + + # Setting up ma1sd Identity Server (optional) **⚠️Note**: ma1sd itself has also been unmaintained for years (the latest commit and release being from 2021). The role of identity servers in the Matrix specification also has an uncertain future. **We recommend not bothering with installing it unless it's the only way you can do what you need to do**. For example, certain things like LDAP integration can also be implemented via [the LDAP provider module for Synapse](./configuring-playbook-ldap-auth.md). diff --git a/roles/custom/matrix-ma1sd/defaults/main.yml b/roles/custom/matrix-ma1sd/defaults/main.yml index 53c93df33..e235c924e 100644 --- a/roles/custom/matrix-ma1sd/defaults/main.yml +++ b/roles/custom/matrix-ma1sd/defaults/main.yml @@ -1,3 +1,17 @@ +# SPDX-FileCopyrightText: 2020 Marcel Partap +# SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2020 - 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2020 Matt Cengia +# SPDX-FileCopyrightText: 2021 Ahmad Haghighi +# SPDX-FileCopyrightText: 2021 boris runakov +# SPDX-FileCopyrightText: 2021 Aaron Raimist +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # ma1sd is a Federated Matrix Identity Server # Project source code URL: https://github.com/ma1uta/ma1sd diff --git a/roles/custom/matrix-ma1sd/tasks/main.yml b/roles/custom/matrix-ma1sd/tasks/main.yml index 09e7114bf..ee4613b65 100644 --- a/roles/custom/matrix-ma1sd/tasks/main.yml +++ b/roles/custom/matrix-ma1sd/tasks/main.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2020 Marcel Partap +# SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-ma1sd/tasks/self_check.yml b/roles/custom/matrix-ma1sd/tasks/self_check.yml index 7ce57e1ec..a90ae7a9c 100644 --- a/roles/custom/matrix-ma1sd/tasks/self_check.yml +++ b/roles/custom/matrix-ma1sd/tasks/self_check.yml @@ -1,3 +1,10 @@ +# SPDX-FileCopyrightText: 2020 Marcel Partap +# SPDX-FileCopyrightText: 2020 MDAD project contributors +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check ma1sd Identity Service diff --git a/roles/custom/matrix-ma1sd/tasks/setup_install.yml b/roles/custom/matrix-ma1sd/tasks/setup_install.yml index e77f2d689..a6bb87c76 100644 --- a/roles/custom/matrix-ma1sd/tasks/setup_install.yml +++ b/roles/custom/matrix-ma1sd/tasks/setup_install.yml @@ -1,3 +1,17 @@ +# SPDX-FileCopyrightText: 2020 Marcel Partap +# SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2020 Chris van Dijk +# SPDX-FileCopyrightText: 2020 Matt Cengia +# SPDX-FileCopyrightText: 2020 Stuart Mumford +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2022 Jim Myhrberg +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2024 David Mehren +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure ma1sd paths exist diff --git a/roles/custom/matrix-ma1sd/tasks/setup_uninstall.yml b/roles/custom/matrix-ma1sd/tasks/setup_uninstall.yml index b27df269e..2bfbdeeb5 100644 --- a/roles/custom/matrix-ma1sd/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-ma1sd/tasks/setup_uninstall.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-ma1sd service diff --git a/roles/custom/matrix-ma1sd/tasks/validate_config.yml b/roles/custom/matrix-ma1sd/tasks/validate_config.yml index 6a2345777..ca7009df4 100644 --- a/roles/custom/matrix-ma1sd/tasks/validate_config.yml +++ b/roles/custom/matrix-ma1sd/tasks/validate_config.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2020 Marcel Partap +# SPDX-FileCopyrightText: 2020 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2021 boris runakov +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: (Deprecation) Warn about ma1sd variables that are not used anymore diff --git a/roles/custom/matrix-ma1sd/templates/labels.j2 b/roles/custom/matrix-ma1sd/templates/labels.j2 index 4570e3b23..b3df693e8 100644 --- a/roles/custom/matrix-ma1sd/templates/labels.j2 +++ b/roles/custom/matrix-ma1sd/templates/labels.j2 @@ -1,3 +1,9 @@ +{# +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + {% if matrix_ma1sd_container_labels_traefik_enabled %} traefik.enable=true diff --git a/roles/custom/matrix-ma1sd/templates/ma1sd.yaml.j2.license b/roles/custom/matrix-ma1sd/templates/ma1sd.yaml.j2.license new file mode 100644 index 000000000..a519212f1 --- /dev/null +++ b/roles/custom/matrix-ma1sd/templates/ma1sd.yaml.j2.license @@ -0,0 +1,4 @@ +SPDX-FileCopyrightText: 2020 - 2022 Slavi Pantaleev +SPDX-FileCopyrightText: 2020 MDAD project contributors + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-ma1sd/templates/systemd/matrix-ma1sd.service.j2.license b/roles/custom/matrix-ma1sd/templates/systemd/matrix-ma1sd.service.j2.license new file mode 100644 index 000000000..c893e025f --- /dev/null +++ b/roles/custom/matrix-ma1sd/templates/systemd/matrix-ma1sd.service.j2.license @@ -0,0 +1,7 @@ +SPDX-FileCopyrightText: 2020 Marcel Partap +SPDX-FileCopyrightText: 2020 Chris van Dijk +SPDX-FileCopyrightText: 2020 - 2025 Slavi Pantaleev +SPDX-FileCopyrightText: 2021 - 2022 MDAD project contributors +SPDX-FileCopyrightText: 2021 boris runakov + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-ma1sd/vars/main.yml b/roles/custom/matrix-ma1sd/vars/main.yml index 3adc735e9..944099e50 100644 --- a/roles/custom/matrix-ma1sd/vars/main.yml +++ b/roles/custom/matrix-ma1sd/vars/main.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2020 Marcel Partap +# SPDX-FileCopyrightText: 2022 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # Doing `|from_yaml` when the extension contains nothing yields an empty string (""). From 3efc5099c30bcd4c381eedce93e72f2018580b6d Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 25 Feb 2025 17:36:59 +0900 Subject: [PATCH 498/841] Add license information to files for matrix-bridge-wechat This commit adds copyright attributions in SPDX format to the files for matrix-bridge-wechat following REUSE's specification. Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bridge-wechat.md | 7 +++++++ roles/custom/matrix-bridge-wechat/defaults/main.yml | 5 +++++ roles/custom/matrix-bridge-wechat/tasks/install.yml | 5 +++++ roles/custom/matrix-bridge-wechat/tasks/main.yml | 4 ++++ roles/custom/matrix-bridge-wechat/tasks/uninstall.yml | 4 ++++ .../custom/matrix-bridge-wechat/tasks/validate_config.yml | 5 +++++ .../matrix-bridge-wechat/templates/agent-config.yaml.j2 | 6 ++++++ .../matrix-bridge-wechat/templates/config.yaml.j2.license | 4 ++++ .../systemd/matrix-wechat-agent.service.j2.license | 3 +++ .../templates/systemd/matrix-wechat.service.j2.license | 3 +++ 10 files changed, 46 insertions(+) create mode 100644 roles/custom/matrix-bridge-wechat/templates/config.yaml.j2.license create mode 100644 roles/custom/matrix-bridge-wechat/templates/systemd/matrix-wechat-agent.service.j2.license create mode 100644 roles/custom/matrix-bridge-wechat/templates/systemd/matrix-wechat.service.j2.license diff --git a/docs/configuring-playbook-bridge-wechat.md b/docs/configuring-playbook-bridge-wechat.md index 0ae3fe21f..2c7590b40 100644 --- a/docs/configuring-playbook-bridge-wechat.md +++ b/docs/configuring-playbook-bridge-wechat.md @@ -1,3 +1,10 @@ + + # Setting up WeChat bridging (optional) The playbook can install and configure [matrix-wechat](https://github.com/duo/matrix-wechat) for you, for bridging to [WeChat](https://www.wechat.com/). diff --git a/roles/custom/matrix-bridge-wechat/defaults/main.yml b/roles/custom/matrix-bridge-wechat/defaults/main.yml index 18d7b01ca..50167b91c 100644 --- a/roles/custom/matrix-bridge-wechat/defaults/main.yml +++ b/roles/custom/matrix-bridge-wechat/defaults/main.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # WeChat Bridge is a Matrix <-> WeChat bridge diff --git a/roles/custom/matrix-bridge-wechat/tasks/install.yml b/roles/custom/matrix-bridge-wechat/tasks/install.yml index d9a74db20..607ca780b 100644 --- a/roles/custom/matrix-bridge-wechat/tasks/install.yml +++ b/roles/custom/matrix-bridge-wechat/tasks/install.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure WeChat Bridge paths exists diff --git a/roles/custom/matrix-bridge-wechat/tasks/main.yml b/roles/custom/matrix-bridge-wechat/tasks/main.yml index effcd7d5e..bcad351ab 100644 --- a/roles/custom/matrix-bridge-wechat/tasks/main.yml +++ b/roles/custom/matrix-bridge-wechat/tasks/main.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-bridge-wechat/tasks/uninstall.yml b/roles/custom/matrix-bridge-wechat/tasks/uninstall.yml index cf19203fa..7972bd7df 100644 --- a/roles/custom/matrix-bridge-wechat/tasks/uninstall.yml +++ b/roles/custom/matrix-bridge-wechat/tasks/uninstall.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-wechat service diff --git a/roles/custom/matrix-bridge-wechat/tasks/validate_config.yml b/roles/custom/matrix-bridge-wechat/tasks/validate_config.yml index c6868e1ae..6400ccfd3 100644 --- a/roles/custom/matrix-bridge-wechat/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-wechat/tasks/validate_config.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + + --- - name: Fail if required WeChat settings not defined diff --git a/roles/custom/matrix-bridge-wechat/templates/agent-config.yaml.j2 b/roles/custom/matrix-bridge-wechat/templates/agent-config.yaml.j2 index 19c1d1ad9..6b30c6345 100644 --- a/roles/custom/matrix-bridge-wechat/templates/agent-config.yaml.j2 +++ b/roles/custom/matrix-bridge-wechat/templates/agent-config.yaml.j2 @@ -1,3 +1,9 @@ +{# +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + wechat: version: 3.8.1.26 listen_port: 22222 diff --git a/roles/custom/matrix-bridge-wechat/templates/config.yaml.j2.license b/roles/custom/matrix-bridge-wechat/templates/config.yaml.j2.license new file mode 100644 index 000000000..b94e0d95e --- /dev/null +++ b/roles/custom/matrix-bridge-wechat/templates/config.yaml.j2.license @@ -0,0 +1,4 @@ +SPDX-FileCopyrightText: 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2024 Nikita Chernyi + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-wechat/templates/systemd/matrix-wechat-agent.service.j2.license b/roles/custom/matrix-bridge-wechat/templates/systemd/matrix-wechat-agent.service.j2.license new file mode 100644 index 000000000..e18b238ea --- /dev/null +++ b/roles/custom/matrix-bridge-wechat/templates/systemd/matrix-wechat-agent.service.j2.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-wechat/templates/systemd/matrix-wechat.service.j2.license b/roles/custom/matrix-bridge-wechat/templates/systemd/matrix-wechat.service.j2.license new file mode 100644 index 000000000..e18b238ea --- /dev/null +++ b/roles/custom/matrix-bridge-wechat/templates/systemd/matrix-wechat.service.j2.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later From 379229c4e098c9bee4efe109c4c334c82bb16239 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 25 Feb 2025 17:37:14 +0900 Subject: [PATCH 499/841] Add license information to files for matrix-bridge-appservice-kakaotalk This commit adds copyright attributions in SPDX to the files for matrix-bridge-appservice-kakaotalk following REUSE's specification. Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bridge-appservice-kakaotalk.md | 9 +++++++++ .../matrix-bridge-appservice-kakaotalk/defaults/main.yml | 6 ++++++ .../matrix-bridge-appservice-kakaotalk/tasks/main.yml | 4 ++++ .../tasks/setup_install.yml | 6 ++++++ .../tasks/setup_uninstall.yml | 4 ++++ .../tasks/validate_config.yml | 4 ++++ .../templates/config.yaml.j2.license | 6 ++++++ .../templates/node-config.json.j2.license | 3 +++ .../matrix-appservice-kakaotalk-node.service.j2.license | 3 +++ .../matrix-appservice-kakaotalk.service.j2.license | 3 +++ 10 files changed, 48 insertions(+) create mode 100644 roles/custom/matrix-bridge-appservice-kakaotalk/templates/config.yaml.j2.license create mode 100644 roles/custom/matrix-bridge-appservice-kakaotalk/templates/node-config.json.j2.license create mode 100644 roles/custom/matrix-bridge-appservice-kakaotalk/templates/systemd/matrix-appservice-kakaotalk-node.service.j2.license create mode 100644 roles/custom/matrix-bridge-appservice-kakaotalk/templates/systemd/matrix-appservice-kakaotalk.service.j2.license diff --git a/docs/configuring-playbook-bridge-appservice-kakaotalk.md b/docs/configuring-playbook-bridge-appservice-kakaotalk.md index c8fbb12fc..e92bbe6ab 100644 --- a/docs/configuring-playbook-bridge-appservice-kakaotalk.md +++ b/docs/configuring-playbook-bridge-appservice-kakaotalk.md @@ -1,3 +1,12 @@ + + # Setting up Appservice Kakaotalk bridging (optional) The playbook can install and configure [matrix-appservice-kakaotalk](https://src.miscworks.net/fair/matrix-appservice-kakaotalk) for you, for bridging to [Kakaotalk](https://www.kakaocorp.com/page/service/service/KakaoTalk?lang=ENG). This bridge is based on [node-kakao](https://github.com/storycraft/node-kakao) (now unmaintained) and some [mautrix-facebook](https://github.com/mautrix/facebook) code. diff --git a/roles/custom/matrix-bridge-appservice-kakaotalk/defaults/main.yml b/roles/custom/matrix-bridge-appservice-kakaotalk/defaults/main.yml index 1f628eef4..aed2476e5 100644 --- a/roles/custom/matrix-bridge-appservice-kakaotalk/defaults/main.yml +++ b/roles/custom/matrix-bridge-appservice-kakaotalk/defaults/main.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2023 Nikita Chernyi +# SPDX-FileCopyrightText: 2024 MDAD project contributors +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # matrix-appservice-kakaotalk is a Matrix <-> Kakaotalk bridge # Project source code URL: https://src.miscworks.net/fair/matrix-appservice-kakaotalk/ diff --git a/roles/custom/matrix-bridge-appservice-kakaotalk/tasks/main.yml b/roles/custom/matrix-bridge-appservice-kakaotalk/tasks/main.yml index 7a360024e..c99b77fbe 100644 --- a/roles/custom/matrix-bridge-appservice-kakaotalk/tasks/main.yml +++ b/roles/custom/matrix-bridge-appservice-kakaotalk/tasks/main.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2019 - 2023 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-bridge-appservice-kakaotalk/tasks/setup_install.yml b/roles/custom/matrix-bridge-appservice-kakaotalk/tasks/setup_install.yml index 1cb1e6026..3c3da6765 100644 --- a/roles/custom/matrix-bridge-appservice-kakaotalk/tasks/setup_install.yml +++ b/roles/custom/matrix-bridge-appservice-kakaotalk/tasks/setup_install.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2024 David Mehren +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure matrix-appservice-kakaotalk image is pulled diff --git a/roles/custom/matrix-bridge-appservice-kakaotalk/tasks/setup_uninstall.yml b/roles/custom/matrix-bridge-appservice-kakaotalk/tasks/setup_uninstall.yml index e258b9ab2..f92960991 100644 --- a/roles/custom/matrix-bridge-appservice-kakaotalk/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-bridge-appservice-kakaotalk/tasks/setup_uninstall.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2022 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-appservice-kakaotalk service diff --git a/roles/custom/matrix-bridge-appservice-kakaotalk/tasks/validate_config.yml b/roles/custom/matrix-bridge-appservice-kakaotalk/tasks/validate_config.yml index 20da0206e..8ba158fe8 100644 --- a/roles/custom/matrix-bridge-appservice-kakaotalk/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-appservice-kakaotalk/tasks/validate_config.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required appservice-kakaotalk settings not defined diff --git a/roles/custom/matrix-bridge-appservice-kakaotalk/templates/config.yaml.j2.license b/roles/custom/matrix-bridge-appservice-kakaotalk/templates/config.yaml.j2.license new file mode 100644 index 000000000..f9a202b63 --- /dev/null +++ b/roles/custom/matrix-bridge-appservice-kakaotalk/templates/config.yaml.j2.license @@ -0,0 +1,6 @@ +SPDX-FileCopyrightText: 2022 Slavi Pantaleev +SPDX-FileCopyrightText: 2022 MDAD project contributors +SPDX-FileCopyrightText: 2023 Nikita Chernyi +SPDX-FileCopyrightText: 2024 Suguru Hirahara + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-appservice-kakaotalk/templates/node-config.json.j2.license b/roles/custom/matrix-bridge-appservice-kakaotalk/templates/node-config.json.j2.license new file mode 100644 index 000000000..7b1e56adc --- /dev/null +++ b/roles/custom/matrix-bridge-appservice-kakaotalk/templates/node-config.json.j2.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2022 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-appservice-kakaotalk/templates/systemd/matrix-appservice-kakaotalk-node.service.j2.license b/roles/custom/matrix-bridge-appservice-kakaotalk/templates/systemd/matrix-appservice-kakaotalk-node.service.j2.license new file mode 100644 index 000000000..b2bdc9cb4 --- /dev/null +++ b/roles/custom/matrix-bridge-appservice-kakaotalk/templates/systemd/matrix-appservice-kakaotalk-node.service.j2.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-appservice-kakaotalk/templates/systemd/matrix-appservice-kakaotalk.service.j2.license b/roles/custom/matrix-bridge-appservice-kakaotalk/templates/systemd/matrix-appservice-kakaotalk.service.j2.license new file mode 100644 index 000000000..7b1e56adc --- /dev/null +++ b/roles/custom/matrix-bridge-appservice-kakaotalk/templates/systemd/matrix-appservice-kakaotalk.service.j2.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2022 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later From afd122330bb0c83eb061a584780f160eb9082168 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 25 Feb 2025 18:01:02 +0900 Subject: [PATCH 500/841] Add license information to files for matrix-client-hydrogen This commit adds copyright attributions in SPDX to the files for matrix-client-hydrogen following REUSE's specification. Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-client-hydrogen.md | 9 +++++++++ roles/custom/matrix-client-hydrogen/defaults/main.yml | 11 +++++++++++ roles/custom/matrix-client-hydrogen/tasks/main.yml | 6 ++++++ .../matrix-client-hydrogen/tasks/self_check.yml | 6 ++++++ .../matrix-client-hydrogen/tasks/setup_install.yml | 11 +++++++++++ .../matrix-client-hydrogen/tasks/setup_uninstall.yml | 6 ++++++ .../matrix-client-hydrogen/tasks/validate_config.yml | 6 ++++++ .../templates/config.json.j2.license | 7 +++++++ .../custom/matrix-client-hydrogen/templates/labels.j2 | 6 ++++++ .../templates/nginx.conf.j2.license | 4 ++++ .../systemd/matrix-client-hydrogen.service.j2.license | 5 +++++ 11 files changed, 77 insertions(+) create mode 100644 roles/custom/matrix-client-hydrogen/templates/config.json.j2.license create mode 100644 roles/custom/matrix-client-hydrogen/templates/nginx.conf.j2.license create mode 100644 roles/custom/matrix-client-hydrogen/templates/systemd/matrix-client-hydrogen.service.j2.license diff --git a/docs/configuring-playbook-client-hydrogen.md b/docs/configuring-playbook-client-hydrogen.md index cf9b30335..0f7c8bb85 100644 --- a/docs/configuring-playbook-client-hydrogen.md +++ b/docs/configuring-playbook-client-hydrogen.md @@ -1,3 +1,12 @@ + + # Setting up Hydrogen (optional) The playbook can install and configure the [Hydrogen](https://github.com/element-hq/hydrogen-web) Matrix web client for you. diff --git a/roles/custom/matrix-client-hydrogen/defaults/main.yml b/roles/custom/matrix-client-hydrogen/defaults/main.yml index 8d92b9f88..c31fc3002 100644 --- a/roles/custom/matrix-client-hydrogen/defaults/main.yml +++ b/roles/custom/matrix-client-hydrogen/defaults/main.yml @@ -1,3 +1,14 @@ +# SPDX-FileCopyrightText: 2021 - 2022 Aaron Raimist +# SPDX-FileCopyrightText: 2021 - 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2021 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 - 2023 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 Matthew Cengia +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# SPDX-FileCopyrightText: 2023 Pierre 'McFly' Marty +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # Project source code URL: https://github.com/element-hq/hydrogen-web diff --git a/roles/custom/matrix-client-hydrogen/tasks/main.yml b/roles/custom/matrix-client-hydrogen/tasks/main.yml index 9e7445c0b..f5073ce9c 100644 --- a/roles/custom/matrix-client-hydrogen/tasks/main.yml +++ b/roles/custom/matrix-client-hydrogen/tasks/main.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2021 Aaron Raimist +# SPDX-FileCopyrightText: 2021 - 2023 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-client-hydrogen/tasks/self_check.yml b/roles/custom/matrix-client-hydrogen/tasks/self_check.yml index 4892c40dc..2a894593c 100644 --- a/roles/custom/matrix-client-hydrogen/tasks/self_check.yml +++ b/roles/custom/matrix-client-hydrogen/tasks/self_check.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2021 - 2022 Aaron Raimist +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - ansible.builtin.set_fact: diff --git a/roles/custom/matrix-client-hydrogen/tasks/setup_install.yml b/roles/custom/matrix-client-hydrogen/tasks/setup_install.yml index 08727586c..18c06f3c8 100644 --- a/roles/custom/matrix-client-hydrogen/tasks/setup_install.yml +++ b/roles/custom/matrix-client-hydrogen/tasks/setup_install.yml @@ -1,3 +1,14 @@ +# SPDX-FileCopyrightText: 2021 - 2022 Aaron Raimist +# SPDX-FileCopyrightText: 2021 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2022 Matthew Cengia +# SPDX-FileCopyrightText: 2023 Julian Foad +# SPDX-FileCopyrightText: 2024 David Mehren +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure Hydrogen paths exists diff --git a/roles/custom/matrix-client-hydrogen/tasks/setup_uninstall.yml b/roles/custom/matrix-client-hydrogen/tasks/setup_uninstall.yml index d6caa5b97..d963ac0b8 100644 --- a/roles/custom/matrix-client-hydrogen/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-client-hydrogen/tasks/setup_uninstall.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2021 - 2022 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-client-hydrogen.service diff --git a/roles/custom/matrix-client-hydrogen/tasks/validate_config.yml b/roles/custom/matrix-client-hydrogen/tasks/validate_config.yml index c5affb624..2bd1ae7ff 100644 --- a/roles/custom/matrix-client-hydrogen/tasks/validate_config.yml +++ b/roles/custom/matrix-client-hydrogen/tasks/validate_config.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2021 Aaron Raimist +# SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required Hydrogen settings not defined diff --git a/roles/custom/matrix-client-hydrogen/templates/config.json.j2.license b/roles/custom/matrix-client-hydrogen/templates/config.json.j2.license new file mode 100644 index 000000000..86cf6f8f1 --- /dev/null +++ b/roles/custom/matrix-client-hydrogen/templates/config.json.j2.license @@ -0,0 +1,7 @@ +SPDX-FileCopyrightText: 2021 - 2022 Aaron Raimist +SPDX-FileCopyrightText: 2022 Nikita Chernyi +SPDX-FileCopyrightText: 2022 - 2023 Slavi Pantaleev +SPDX-FileCopyrightText: 2022 Matthew Cengia +SPDX-FileCopyrightText: 2023 Sergio Durigan Junior + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-client-hydrogen/templates/labels.j2 b/roles/custom/matrix-client-hydrogen/templates/labels.j2 index 011d02d1d..3431f7157 100644 --- a/roles/custom/matrix-client-hydrogen/templates/labels.j2 +++ b/roles/custom/matrix-client-hydrogen/templates/labels.j2 @@ -1,3 +1,9 @@ +{# +SPDX-FileCopyrightText: 2023 - 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + {% if matrix_client_hydrogen_container_labels_traefik_enabled %} traefik.enable=true diff --git a/roles/custom/matrix-client-hydrogen/templates/nginx.conf.j2.license b/roles/custom/matrix-client-hydrogen/templates/nginx.conf.j2.license new file mode 100644 index 000000000..c69a90227 --- /dev/null +++ b/roles/custom/matrix-client-hydrogen/templates/nginx.conf.j2.license @@ -0,0 +1,4 @@ +SPDX-FileCopyrightText: 2021 Aaron Raimist +SPDX-FileCopyrightText: 2022 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-client-hydrogen/templates/systemd/matrix-client-hydrogen.service.j2.license b/roles/custom/matrix-client-hydrogen/templates/systemd/matrix-client-hydrogen.service.j2.license new file mode 100644 index 000000000..f23ca62d3 --- /dev/null +++ b/roles/custom/matrix-client-hydrogen/templates/systemd/matrix-client-hydrogen.service.j2.license @@ -0,0 +1,5 @@ +SPDX-FileCopyrightText: 2021 Aaron Raimist +SPDX-FileCopyrightText: 2021 - 2025 Slavi Pantaleev +SPDX-FileCopyrightText: 2022 Matthew Cengia + +SPDX-License-Identifier: AGPL-3.0-or-later From 44d91c6383f3ce78ac6771561ef69b2ac6e8e4c3 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 25 Feb 2025 18:18:30 +0900 Subject: [PATCH 501/841] Add license information to files for matrix-registration This commit adds copyright attributions in SPDX to the files for matrix-registration following REUSE's specification. Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-matrix-registration.md | 8 ++++++++ roles/custom/matrix-registration/defaults/main.yml | 10 ++++++++++ .../matrix-registration/tasks/generate_token.yml | 5 +++++ roles/custom/matrix-registration/tasks/list_tokens.yml | 6 ++++++ roles/custom/matrix-registration/tasks/main.yml | 6 ++++++ .../custom/matrix-registration/tasks/setup_install.yml | 10 ++++++++++ .../matrix-registration/tasks/setup_uninstall.yml | 6 ++++++ .../matrix-registration/tasks/validate_config.yml | 4 ++++ .../matrix-registration/templates/config.yaml.j2 | 6 ++++++ roles/custom/matrix-registration/templates/labels.j2 | 6 ++++++ .../systemd/matrix-registration.service.j2.license | 3 +++ 11 files changed, 70 insertions(+) create mode 100644 roles/custom/matrix-registration/templates/systemd/matrix-registration.service.j2.license diff --git a/docs/configuring-playbook-matrix-registration.md b/docs/configuring-playbook-matrix-registration.md index 2a08fa681..441c85973 100644 --- a/docs/configuring-playbook-matrix-registration.md +++ b/docs/configuring-playbook-matrix-registration.md @@ -1,3 +1,11 @@ + + # Setting up matrix-registration (optional) > [!WARNING] diff --git a/roles/custom/matrix-registration/defaults/main.yml b/roles/custom/matrix-registration/defaults/main.yml index 77d8f371d..0f2298904 100644 --- a/roles/custom/matrix-registration/defaults/main.yml +++ b/roles/custom/matrix-registration/defaults/main.yml @@ -1,3 +1,13 @@ +# SPDX-FileCopyrightText: 2020 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2021 Ahmad Haghighi +# SPDX-FileCopyrightText: 2021 Aaron Raimist +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # matrix-registration is a simple python application to have a token based Matrix registration # See: https://zeratax.github.io/matrix-registration/ diff --git a/roles/custom/matrix-registration/tasks/generate_token.yml b/roles/custom/matrix-registration/tasks/generate_token.yml index aa2b0111f..0a3e47258 100644 --- a/roles/custom/matrix-registration/tasks/generate_token.yml +++ b/roles/custom/matrix-registration/tasks/generate_token.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2020 - 2022 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if playbook called incorrectly diff --git a/roles/custom/matrix-registration/tasks/list_tokens.yml b/roles/custom/matrix-registration/tasks/list_tokens.yml index 1001c4fa2..f5c85a04d 100644 --- a/roles/custom/matrix-registration/tasks/list_tokens.yml +++ b/roles/custom/matrix-registration/tasks/list_tokens.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2021 MDAD project contributors +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Call matrix-registration list all tokens API diff --git a/roles/custom/matrix-registration/tasks/main.yml b/roles/custom/matrix-registration/tasks/main.yml index 7b5647dc0..dcae5528e 100644 --- a/roles/custom/matrix-registration/tasks/main.yml +++ b/roles/custom/matrix-registration/tasks/main.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2021 MDAD project contributors +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-registration/tasks/setup_install.yml b/roles/custom/matrix-registration/tasks/setup_install.yml index 2358da0c4..06ebc9e41 100644 --- a/roles/custom/matrix-registration/tasks/setup_install.yml +++ b/roles/custom/matrix-registration/tasks/setup_install.yml @@ -1,3 +1,13 @@ +# SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2020 Stuart Mumford +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Jim Myhrberg +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2024 David Mehren +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - ansible.builtin.set_fact: diff --git a/roles/custom/matrix-registration/tasks/setup_uninstall.yml b/roles/custom/matrix-registration/tasks/setup_uninstall.yml index 97c144358..b8037d59d 100644 --- a/roles/custom/matrix-registration/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-registration/tasks/setup_uninstall.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2020 - 2022 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-registration service diff --git a/roles/custom/matrix-registration/tasks/validate_config.yml b/roles/custom/matrix-registration/tasks/validate_config.yml index 50996a7cb..9e76a19c7 100644 --- a/roles/custom/matrix-registration/tasks/validate_config.yml +++ b/roles/custom/matrix-registration/tasks/validate_config.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required matrix-registration settings not defined diff --git a/roles/custom/matrix-registration/templates/config.yaml.j2 b/roles/custom/matrix-registration/templates/config.yaml.j2 index 39211b249..2884d6800 100644 --- a/roles/custom/matrix-registration/templates/config.yaml.j2 +++ b/roles/custom/matrix-registration/templates/config.yaml.j2 @@ -1,3 +1,9 @@ +{# +SPDX-FileCopyrightText: 2020 - 2022 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + server_location: {{ matrix_registration_server_location|to_json }} server_name: {{ matrix_registration_server_name|to_json }} shared_secret: {{ matrix_registration_shared_secret|to_json }} diff --git a/roles/custom/matrix-registration/templates/labels.j2 b/roles/custom/matrix-registration/templates/labels.j2 index 7a87d1b06..7961e84aa 100644 --- a/roles/custom/matrix-registration/templates/labels.j2 +++ b/roles/custom/matrix-registration/templates/labels.j2 @@ -1,3 +1,9 @@ +{# +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + {% if matrix_registration_container_labels_traefik_enabled %} traefik.enable=true diff --git a/roles/custom/matrix-registration/templates/systemd/matrix-registration.service.j2.license b/roles/custom/matrix-registration/templates/systemd/matrix-registration.service.j2.license new file mode 100644 index 000000000..9d697f20f --- /dev/null +++ b/roles/custom/matrix-registration/templates/systemd/matrix-registration.service.j2.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2020 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later From fe72de7dc540657240b68a63b0a352db9515a2bf Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 25 Feb 2025 23:04:10 +0900 Subject: [PATCH 502/841] Update docs/configuring-playbook.md: copy from the MASH project Copied from https://github.com/mother-of-all-self-hosting/mash-playbook/blob/802032cda74e0d0088ebb198a87165ce2e71ebbc/docs/configuring-playbook.md Signed-off-by: Suguru Hirahara --- docs/configuring-playbook.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/configuring-playbook.md b/docs/configuring-playbook.md index 2220c9d3f..30f93e0ad 100644 --- a/docs/configuring-playbook.md +++ b/docs/configuring-playbook.md @@ -24,7 +24,7 @@ If you've configured your DNS records and retrieved the playbook's source code t 2. copy the sample configuration file (`cp examples/vars.yml inventory/host_vars/matrix.example.com/vars.yml`) -3. edit the configuration file (`inventory/host_vars/matrix.example.com/vars.yml`) to your liking. You may also take a look at the various `roles/*/ROLE_NAME_HERE/defaults/main.yml` files and see if there's something you'd like to copy over and override in your `vars.yml` configuration file. +3. edit the configuration file (`inventory/host_vars/matrix.example.com/vars.yml`) to your liking. You may also take a look at the various `roles/*/ROLE_NAME_HERE/defaults/main.yml` files (after importing external roles with `just update` into `roles/galaxy`) and see if there's something you'd like to copy over and override in your `vars.yml` configuration file. 4. copy the sample inventory hosts file (`cp examples/hosts inventory/hosts`) From f57ee8d3e0b825ef5641935077e39d3131521320 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 25 Feb 2025 23:06:47 +0900 Subject: [PATCH 503/841] Update docs/maintenance-postgres.md: copy from the MASH playbook Copied from https://github.com/mother-of-all-self-hosting/mash-playbook/blob/802032cda74e0d0088ebb198a87165ce2e71ebbc/docs/services/postgres.md Signed-off-by: Suguru Hirahara --- docs/maintenance-postgres.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/maintenance-postgres.md b/docs/maintenance-postgres.md index 7beff8e7c..70596f90f 100644 --- a/docs/maintenance-postgres.md +++ b/docs/maintenance-postgres.md @@ -5,7 +5,7 @@ SPDX-FileCopyrightText: 2020 Hardy Erlinger SPDX-FileCopyrightText: 2021 - 2024 MDAD project contributors SPDX-FileCopyrightText: 2021 Marc Leuser SPDX-FileCopyrightText: 2024 Kim Brose -SPDX-FileCopyrightText: 2024 Suguru Hirahara +SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara SPDX-License-Identifier: AGPL-3.0-or-later --> @@ -23,7 +23,7 @@ Table of contents: ## Getting a database terminal -You can use the `/matrix/postgres/bin/cli` tool to get interactive terminal access ([psql](https://www.postgresql.org/docs/11/app-psql.html)) to the PostgreSQL server. +You can use the `/matrix/postgres/bin/cli` tool to get interactive terminal access ([psql](https://www.postgresql.org/docs/current/app-psql.html)) to the PostgreSQL server. If you are using an [external Postgres server](configuring-playbook-external-postgres.md), the above tool will not be available. @@ -59,9 +59,9 @@ Example playbook invocations: ## Backing up PostgreSQL -To automatically make Postgres database backups on a fixed schedule, see [Setting up Postgres backup](configuring-playbook-postgres-backup.md). +To automatically make Postgres database backups on a fixed schedule, consider enabling the [Postgres Backup](configuring-playbook-postgres-backup.md) service. -To make a one off back up of the current PostgreSQL database, make sure it's running and then execute a command like this on the server: +To make a one-off back up of the current PostgreSQL database, make sure it's running and then execute a command like this on the server: ```sh /usr/bin/docker exec \ From 4df7b983ed3e80fe2c93a76b40885d0546b6a21f Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 25 Feb 2025 23:09:19 +0900 Subject: [PATCH 504/841] Update docs: title of the document for configuring DNS settings This follows https://github.com/mother-of-all-self-hosting/mash-playbook/blob/802032cda74e0d0088ebb198a87165ce2e71ebbc/docs/configuring-dns.md Signed-off-by: Suguru Hirahara --- docs/README.md | 2 +- docs/configuring-dns.md | 4 ++-- docs/configuring-playbook.md | 2 +- docs/getting-the-playbook.md | 2 +- docs/installing.md | 2 +- docs/prerequisites.md | 2 +- docs/quick-start.md | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/README.md b/docs/README.md index f1765920f..0473b77e5 100644 --- a/docs/README.md +++ b/docs/README.md @@ -19,7 +19,7 @@ There are two installation guides available for beginners and advanced users. - [Prerequisites](prerequisites.md) - - [Configuring your DNS settings](configuring-dns.md) + - [Configuring DNS settings](configuring-dns.md) - [Getting the playbook](getting-the-playbook.md) diff --git a/docs/configuring-dns.md b/docs/configuring-dns.md index 2b2b425eb..b88195ec9 100644 --- a/docs/configuring-dns.md +++ b/docs/configuring-dns.md @@ -15,9 +15,9 @@ SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara SPDX-License-Identifier: AGPL-3.0-or-later --> -# Configuring your DNS settings +# Configuring DNS settings -[Prerequisites](prerequisites.md) > Configuring your DNS settings > [Getting the playbook](getting-the-playbook.md) > [Configuring the playbook](configuring-playbook.md) > [Installing](installing.md) +[Prerequisites](prerequisites.md) > Configuring DNS settings > [Getting the playbook](getting-the-playbook.md) > [Configuring the playbook](configuring-playbook.md) > [Installing](installing.md) To set up Matrix on your domain, you'd need to do some DNS configuration. diff --git a/docs/configuring-playbook.md b/docs/configuring-playbook.md index 30f93e0ad..756986f23 100644 --- a/docs/configuring-playbook.md +++ b/docs/configuring-playbook.md @@ -16,7 +16,7 @@ SPDX-License-Identifier: AGPL-3.0-or-later # Configuring the playbook -[Prerequisites](prerequisites.md) > [Configuring your DNS settings](configuring-dns.md) > [Getting the playbook](getting-the-playbook.md) > Configuring the playbook > [Installing](installing.md) +[Prerequisites](prerequisites.md) > [Configuring DNS settings](configuring-dns.md) > [Getting the playbook](getting-the-playbook.md) > Configuring the playbook > [Installing](installing.md) If you've configured your DNS records and retrieved the playbook's source code to your computer, you can start configuring the playbook. To do so, follow these steps inside the playbook directory: diff --git a/docs/getting-the-playbook.md b/docs/getting-the-playbook.md index d1c951fa5..7f725038b 100644 --- a/docs/getting-the-playbook.md +++ b/docs/getting-the-playbook.md @@ -7,7 +7,7 @@ SPDX-License-Identifier: AGPL-3.0-or-later # Getting the playbook -[Prerequisites](prerequisites.md) > [Configuring your DNS settings](configuring-dns.md) > Getting the playbook > [Configuring the playbook](configuring-playbook.md) > [Installing](installing.md) +[Prerequisites](prerequisites.md) > [Configuring DNS settings](configuring-dns.md) > Getting the playbook > [Configuring the playbook](configuring-playbook.md) > [Installing](installing.md) This Ansible playbook is meant to be executed on your own computer (not the Matrix server). diff --git a/docs/installing.md b/docs/installing.md index 6bc0a463e..c11a79b2b 100644 --- a/docs/installing.md +++ b/docs/installing.md @@ -14,7 +14,7 @@ SPDX-License-Identifier: AGPL-3.0-or-later # Installing -[Prerequisites](prerequisites.md) > [Configuring your DNS settings](configuring-dns.md) > [Getting the playbook](getting-the-playbook.md) > [Configuring the playbook](configuring-playbook.md) > Installing +[Prerequisites](prerequisites.md) > [Configuring DNS settings](configuring-dns.md) > [Getting the playbook](getting-the-playbook.md) > [Configuring the playbook](configuring-playbook.md) > Installing If you've configured your DNS records and the playbook, you can start the installation procedure. diff --git a/docs/prerequisites.md b/docs/prerequisites.md index 0e65548b5..dc0b73e5d 100644 --- a/docs/prerequisites.md +++ b/docs/prerequisites.md @@ -11,7 +11,7 @@ SPDX-License-Identifier: AGPL-3.0-or-later # Prerequisites -Prerequisites > [Configuring your DNS settings](configuring-dns.md) > [Getting the playbook](getting-the-playbook.md) > [Configuring the playbook](configuring-playbook.md) > [Installing](installing.md) +Prerequisites > [Configuring DNS settings](configuring-dns.md) > [Getting the playbook](getting-the-playbook.md) > [Configuring the playbook](configuring-playbook.md) > [Installing](installing.md) To install Matrix services using this Ansible playbook, you need to prepare several requirements both on your local computer (where you will run the playbook to configure the server) and the server (where the playbook will install the Matrix services for you). **These requirements need to be set up manually** before proceeding to the next step. diff --git a/docs/quick-start.md b/docs/quick-start.md index cedb18a9d..21b8515e2 100644 --- a/docs/quick-start.md +++ b/docs/quick-start.md @@ -37,7 +37,7 @@ One of the main reasons of basic errors is using an incompatible version of requ ## Configure your DNS settings -This section is optimized for this quick-start guide and is derived from the following full-documentation page: [Configuring your DNS settings](configuring-dns.md) +This section is optimized for this quick-start guide and is derived from the following full-documentation page: [Configuring DNS settings](configuring-dns.md) After installing and configuring prerequisites, you will need to **configure DNS records**. From eba494eb8640c6a23a99c9bc3f78467d9aaec3c0 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 25 Feb 2025 14:35:25 +0000 Subject: [PATCH 505/841] Update halfshot/matrix-hookshot Docker tag to v6.0.3 --- roles/custom/matrix-bridge-hookshot/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-bridge-hookshot/defaults/main.yml b/roles/custom/matrix-bridge-hookshot/defaults/main.yml index 5483890ec..0bf53fbbe 100644 --- a/roles/custom/matrix-bridge-hookshot/defaults/main.yml +++ b/roles/custom/matrix-bridge-hookshot/defaults/main.yml @@ -17,7 +17,7 @@ matrix_hookshot_container_additional_networks_auto: [] matrix_hookshot_container_additional_networks_custom: [] # renovate: datasource=docker depName=halfshot/matrix-hookshot -matrix_hookshot_version: 6.0.2 +matrix_hookshot_version: 6.0.3 matrix_hookshot_docker_image: "{{ matrix_hookshot_docker_image_registry_prefix }}matrix-org/matrix-hookshot:{{ matrix_hookshot_version }}" matrix_hookshot_docker_image_registry_prefix: "{{ 'localhost/' if matrix_hookshot_container_image_self_build else matrix_hookshot_docker_image_registry_prefix_upstream }}" From 6d44f6d7afa6f1ddd110b12b88ed975915914fb2 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 25 Feb 2025 14:35:32 +0000 Subject: [PATCH 506/841] Update vectorim/element-web Docker tag to v1.11.93 --- roles/custom/matrix-client-element/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-client-element/defaults/main.yml b/roles/custom/matrix-client-element/defaults/main.yml index ef415efa1..655a020a8 100644 --- a/roles/custom/matrix-client-element/defaults/main.yml +++ b/roles/custom/matrix-client-element/defaults/main.yml @@ -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 }}" # renovate: datasource=docker depName=vectorim/element-web -matrix_client_element_version: v1.11.92 +matrix_client_element_version: v1.11.93 matrix_client_element_docker_image: "{{ matrix_client_element_docker_image_registry_prefix }}vectorim/element-web:{{ matrix_client_element_version }}" matrix_client_element_docker_image_registry_prefix: "{{ 'localhost/' if matrix_client_element_container_image_self_build else matrix_client_element_docker_image_registry_prefix_upstream }}" From 7d4f9fe7dc6e37335433ed868229898536b4a92e Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Tue, 25 Feb 2025 17:53:03 +0200 Subject: [PATCH 507/841] Upgrade matrix-corporal (3.1.3 -> 3.1.4) and switch where its gets pulled from From 3.1.4 and onward, container images will be published to ghcr.io instead of docker.io. These images are built for arm64 and amd64, but not for arm32 anymore. --- group_vars/matrix_servers | 2 +- roles/custom/matrix-corporal/defaults/main.yml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index c71911822..623fd763d 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -3427,7 +3427,7 @@ matrix_corporal_systemd_required_services_list_auto: | matrix_corporal_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_corporal_docker_image_registry_prefix_upstream_default }}" -matrix_corporal_container_image_self_build: "{{ matrix_architecture not in ['amd64', 'arm32', 'arm64'] }}" +matrix_corporal_container_image_self_build: "{{ matrix_architecture not in ['amd64', 'arm64'] }}" matrix_corporal_container_http_gateway_host_bind_port: "{{ (matrix_playbook_service_host_bind_interface_prefix ~ '41080') if matrix_playbook_service_host_bind_interface_prefix else '' }}" matrix_corporal_container_http_api_host_bind_port: "{{ (matrix_playbook_service_host_bind_interface_prefix ~ '41081') if matrix_playbook_service_host_bind_interface_prefix else '' }}" diff --git a/roles/custom/matrix-corporal/defaults/main.yml b/roles/custom/matrix-corporal/defaults/main.yml index b446acd3f..9d55096a9 100644 --- a/roles/custom/matrix-corporal/defaults/main.yml +++ b/roles/custom/matrix-corporal/defaults/main.yml @@ -4,8 +4,8 @@ matrix_corporal_enabled: true -# renovate: datasource=docker depName=devture/matrix-corporal -matrix_corporal_version: 3.1.3 +# renovate: datasource=docker depName=ghcr.io/devture/matrix-corporal +matrix_corporal_version: 3.1.4 matrix_corporal_container_image_self_build: false matrix_corporal_container_image_self_build_repo: "https://github.com/devture/matrix-corporal.git" @@ -84,7 +84,7 @@ matrix_corporal_systemd_required_services_list_custom: [] matrix_corporal_docker_image: "{{ matrix_corporal_docker_image_registry_prefix }}devture/matrix-corporal:{{ matrix_corporal_docker_image_tag }}" matrix_corporal_docker_image_registry_prefix: "{{ 'localhost/' if matrix_corporal_container_image_self_build else matrix_corporal_docker_image_registry_prefix_upstream }}" matrix_corporal_docker_image_registry_prefix_upstream: "{{ matrix_corporal_docker_image_registry_prefix_upstream_default }}" -matrix_corporal_docker_image_registry_prefix_upstream_default: docker.io/ +matrix_corporal_docker_image_registry_prefix_upstream_default: ghcr.io/ matrix_corporal_docker_image_tag: "{{ matrix_corporal_version }}" # for backward-compatibility matrix_corporal_docker_image_force_pull: "{{ matrix_corporal_docker_image.endswith(':latest') }}" From 5c708339a0929f11787f29addee77fe8f826acae Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Tue, 25 Feb 2025 21:28:23 +0200 Subject: [PATCH 508/841] Upgrade Synapse (v1.124.0 -> v1.125.0) --- roles/custom/matrix-synapse/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-synapse/defaults/main.yml b/roles/custom/matrix-synapse/defaults/main.yml index 2b469c459..0925e2c15 100644 --- a/roles/custom/matrix-synapse/defaults/main.yml +++ b/roles/custom/matrix-synapse/defaults/main.yml @@ -16,7 +16,7 @@ matrix_synapse_enabled: true matrix_synapse_github_org_and_repo: element-hq/synapse # renovate: datasource=docker depName=ghcr.io/element-hq/synapse -matrix_synapse_version: v1.124.0 +matrix_synapse_version: v1.125.0 matrix_synapse_username: '' matrix_synapse_uid: '' From 9493356adb6b0368407f1af78a761e60fd29b343 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 25 Feb 2025 19:49:08 +0000 Subject: [PATCH 509/841] Update dependency setuptools to v75.8.1 --- i18n/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/requirements.txt b/i18n/requirements.txt index e58915fa0..fc9e436fb 100644 --- a/i18n/requirements.txt +++ b/i18n/requirements.txt @@ -17,7 +17,7 @@ packaging==24.2 Pygments==2.19.1 PyYAML==6.0.2 requests==2.32.3 -setuptools==75.8.0 +setuptools==75.8.1 snowballstemmer==2.2.0 Sphinx==8.2.1 sphinx-intl==2.3.1 From ae9185210953933f8959e4c8c3699cc7b8843150 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Wed, 26 Feb 2025 07:15:26 +0200 Subject: [PATCH 510/841] Upgrade exim-relay (v4.98-r0-4-3 -> 4.98.1-r0-0-0) --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 602bd55a3..90f56d006 100644 --- a/requirements.yml +++ b/requirements.yml @@ -19,7 +19,7 @@ version: v2.2.7-4 name: etherpad - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay.git - version: v4.98-r0-4-3 + version: 4.98.1-r0-0-0 name: exim_relay - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-grafana.git version: v11.5.2-1 From 5007ad453efd40022f66ee20411a2df8d9b018c2 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Wed, 26 Feb 2025 07:18:47 +0200 Subject: [PATCH 511/841] Fix exim-relay version tag (4.98.1-r0-0-0 -> v4.98.1-r0-0-0) --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 90f56d006..207ff01e9 100644 --- a/requirements.yml +++ b/requirements.yml @@ -19,7 +19,7 @@ version: v2.2.7-4 name: etherpad - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay.git - version: 4.98.1-r0-0-0 + version: v4.98.1-r0-0-0 name: exim_relay - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-grafana.git version: v11.5.2-1 From 74bdd8cbe5e78cf90cee993f1018aa6705382bf5 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Wed, 26 Feb 2025 07:39:55 +0200 Subject: [PATCH 512/841] `docker.io/devture/ansible` -> `ghcr.io/devture/ansible` --- docs/ansible.md | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/docs/ansible.md b/docs/ansible.md index 15f00632f..a4a595002 100644 --- a/docs/ansible.md +++ b/docs/ansible.md @@ -38,7 +38,7 @@ If using the `pip` method, do note that the `ansible-playbook` binary may not be ## Using Ansible via Docker -Alternatively, you can run Ansible inside a Docker container (powered by the [devture/ansible](https://hub.docker.com/r/devture/ansible/) Docker image). +Alternatively, you can run Ansible inside a Docker container (powered by the [ghcr.io/devture/ansible](https://github.com/devture/docker-ansible/pkgs/container/ansible) Docker image). This ensures that: @@ -63,13 +63,15 @@ Alternatively, you can leave your `inventory/hosts` as is and specify the connec Run this from the playbook's directory: ```sh -docker run -it --rm \ +docker run \ +-it \ +--rm \ --privileged \ --pid=host \ -w /work \ --v `pwd`:/work \ +--mount type=bind,src=`pwd`,dst=/work \ --entrypoint=/bin/sh \ -docker.io/devture/ansible:2.18.1-r0-2 +ghcr.io/devture/ansible:11.1.0-r0-0 ``` Once you execute the above command, you'll be dropped into a `/work` directory inside a Docker container. The `/work` directory contains the playbook's code. @@ -83,15 +85,17 @@ Finally, you can execute `just` or `ansible-playbook …` (e.g. `ansible-playboo Run this from the playbook's directory: ```sh -docker run -it --rm \ +docker run \ +-it \ +--rm \ -w /work \ --v `pwd`:/work \ --v $HOME/.ssh/id_rsa:/root/.ssh/id_rsa:ro \ +--mount type=bind,src=`pwd`,dst=/work \ +--mount type=bind,src$HOME/.ssh/id_ed25519,dst=/root/.ssh/id_ed25519,ro \ --entrypoint=/bin/sh \ -docker.io/devture/ansible:2.18.1-r0-2 +ghcr.io/devture/ansible:11.1.0-r0-0 ``` -The above command tries to mount an SSH key (`$HOME/.ssh/id_rsa`) into the container (at `/root/.ssh/id_rsa`). If your SSH key is at a different path (not in `$HOME/.ssh/id_rsa`), adjust that part. +The above command tries to mount an SSH key (`$HOME/.ssh/id_ed25519`) into the container (at `/root/.ssh/id_ed25519`). If your SSH key is at a different path (not in `$HOME/.ssh/id_ed25519`), adjust that part. Once you execute the above command, you'll be dropped into a `/work` directory inside a Docker container. The `/work` directory contains the playbook's code. @@ -101,7 +105,7 @@ Finally, you execute `just` or `ansible-playbook …` commands as per normal now #### If you don't use SSH keys for authentication -If you don't use SSH keys for authentication, simply remove that whole line (`-v $HOME/.ssh/id_rsa:/root/.ssh/id_rsa:ro`). +If you don't use SSH keys for authentication, simply remove that whole line (`--mount type=bind,src$HOME/.ssh/id_ed25519,dst=/root/.ssh/id_ed25519,ro`). To authenticate at your server using a password, you need to add a package. So, when you are in the shell of the ansible docker container (the previously used `docker run -it …` command), run: From 1b05343aba19852d627ded4934c0580960aaadb9 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Wed, 26 Feb 2025 08:00:17 +0200 Subject: [PATCH 513/841] Remove Email2Matrix support --- CHANGELOG.md | 9 ++ docs/configuring-playbook-email2matrix.md | 136 +----------------- docs/configuring-playbook.md | 2 +- docs/self-building.md | 1 - group_vars/matrix_servers | 30 ---- .../matrix-email2matrix/defaults/main.yml | 80 ----------- .../custom/matrix-email2matrix/tasks/main.yml | 25 ---- .../tasks/setup_install.yml | 78 ---------- .../tasks/setup_uninstall.yml | 31 ---- .../tasks/validate_config.yml | 27 ---- .../templates/config.json.j2 | 14 -- .../templates/config.json.j2.license | 3 - .../systemd/matrix-email2matrix.service.j2 | 44 ------ .../matrix-email2matrix.service.j2.license | 4 - .../tasks/validate_config.yml | 12 ++ setup.yml | 1 - 16 files changed, 29 insertions(+), 468 deletions(-) delete mode 100644 roles/custom/matrix-email2matrix/defaults/main.yml delete mode 100644 roles/custom/matrix-email2matrix/tasks/main.yml delete mode 100644 roles/custom/matrix-email2matrix/tasks/setup_install.yml delete mode 100644 roles/custom/matrix-email2matrix/tasks/setup_uninstall.yml delete mode 100644 roles/custom/matrix-email2matrix/tasks/validate_config.yml delete mode 100644 roles/custom/matrix-email2matrix/templates/config.json.j2 delete mode 100644 roles/custom/matrix-email2matrix/templates/config.json.j2.license delete mode 100644 roles/custom/matrix-email2matrix/templates/systemd/matrix-email2matrix.service.j2 delete mode 100644 roles/custom/matrix-email2matrix/templates/systemd/matrix-email2matrix.service.j2.license diff --git a/CHANGELOG.md b/CHANGELOG.md index a25aebfda..070d18e17 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,12 @@ +# 2025-02-26 + +## 🪦 Bye-bye, Email2Matrix + +The [Email2Matrix](./docs/configuring-playbook-email2matrix.md) service has been superseded by the [Postmoogle](./docs/configuring-playbook-bridge-postmoogle.md) bridge for a long time now and was completely removed from the playbook today. + +If you still have the Email2Matrix component installed on your Matrix server, the playbook can no longer help you uninstall it and you will need to do it manually as described in the [Uninstalling Email2Matrix manually](./docs/configuring-playbook-email2matrix.md#uninstalling-email2matrix-manually) section of the documentation. The playbook will warn you if there are any `matrix_email2matrix_*` variables still remaining in your configuration. + + # 2025-02-23 ## The playbook defaults to exposing the Coturn STUN port (3478) over UDP once again diff --git a/docs/configuring-playbook-email2matrix.md b/docs/configuring-playbook-email2matrix.md index ce2cd2570..4044ec565 100644 --- a/docs/configuring-playbook-email2matrix.md +++ b/docs/configuring-playbook-email2matrix.md @@ -10,139 +10,17 @@ SPDX-License-Identifier: AGPL-3.0-or-later # Setting up Email2Matrix (optional, deprecated) -**Note**: this component has been deprecated. We recommend not bothering with installing it. While not a 1:1 replacement, the author suggests taking a look at [Postmoogle](https://github.com/etkecc/postmoogle) as a replacement, which can also be installed using [this playbook](configuring-playbook-bridge-postmoogle.md). Consider using that component instead of this one. +🪦 The playbook used to be able to install and configure [Email2Matrix](https://github.com/devture/email2matrix), but no longer includes this component. -The playbook can install and configure [Email2Matrix](https://github.com/devture/email2matrix) for you. +For a long time now, it been replaced by the much better and more maintained [Postmoogle](https://github.com/etkecc/postmoogle) bridge, which can also be [installed using this playbook](configuring-playbook-bridge-postmoogle.md). -See the project's [documentation](https://github.com/devture/email2matrix/blob/master/docs/README.md) to learn what it does and why it might be useful to you. -## Preparation +## Uninstalling Email2Matrix manually -### Port availability - -Ensure that port 25 is available on your Matrix server and open in your firewall. - -If you have `postfix` or some other email server software installed, you may need to manually remove it first (unless you need it, of course). - -If you really need to run an email server on the Matrix machine for other purposes, it may be possible to run Email2Matrix on another port (with a configuration like `matrix_email2matrix_smtp_host_bind_port: "127.0.0.01:2525"`) and have your other email server relay messages there. - -For details about using Email2Matrix alongside [Postfix](http://www.postfix.org/), see [here](https://github.com/devture/email2matrix/blob/master/docs/setup_with_postfix.md). - -### Register a dedicated Matrix user (optional, recommended) - -We recommend that you create a dedicated Matrix user for Email2Matrix. - -Generate a strong password for the user. You can create one with a command like `pwgen -s 64 1`. - -You can use the playbook to [register a new user](registering-users.md): +If you still have the Email2Matrix component installed on your Matrix server, the playbook can no longer help you uninstall it and you will need to do it manually. To uninstall manually, run these commands on the server: ```sh -ansible-playbook -i inventory/hosts setup.yml --extra-vars='username=email2matrix password=PASSWORD_FOR_THE_USER admin=no' --tags=register-user -``` - -Take note of the user's ID as it needs to be specified as `MatrixUserId` on your `inventory/host_vars/matrix.example.com/vars.yml` file later. - -### Obtain an access token - -Email2Matrix requires an access token for the sender user to be able to send messages to the room. Refer to the documentation on [how to obtain an access token](obtaining-access-tokens.md). - -> [!WARNING] -> Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone. - -### Join to rooms as the sender user manually - -ℹ️ **Email2Matrix does not accept room invitations automatically**. To deliver messages to rooms, the sender user must be joined to all rooms manually. - -For each new room you would like the user to deliver messages to, invite the user to the room. - -Then, log in as the sender user using any Matrix client of your choosing, accept the room invitation from the user's account. - -Make sure that 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, then log out. - -Take note of each room's room ID (different clients show the room ID in a different place). You'll need the room ID when [configuring the playbook](#adjusting-the-playbook-configuration) below. - -## Adjusting DNS records - -To increase the chances that incoming emails reach your server, you can set up a `MX` record for `matrix.example.com` that looks like this: - -| Type | Host | Priority | Weight | Port | Target | -|------|----------|----------|--------|------|------------------------------------| -| MX | `matrix` | 10 | 0 | - | `matrix.example.com` | - -## Adjusting the playbook configuration - -To enable Email2Matrix, add the following configuration to your `vars.yml` file. Make sure to replace `ACCESS_TOKEN_FOR_EMAIL2MATRIX1_HERE` and `ACCESS_TOKEN_FOR_EMAIL2MATRIX2_HERE` with the ones created [above](#obtain-an-access-token). - -```yaml -matrix_email2matrix_enabled: true - -# You need at least 1 mailbox. -matrix_email2matrix_matrix_mappings: - - MailboxName: "mailbox1" - MatrixRoomId: "!qporfwt:{{ matrix_domain }}" - MatrixHomeserverUrl: "{{ matrix_homeserver_url }}" - MatrixUserId: "@email2matrix1:{{ matrix_domain }}" - MatrixAccessToken: "ACCESS_TOKEN_FOR_EMAIL2MATRIX1_HERE" - IgnoreSubject: false - IgnoreBody: false - SkipMarkdown: false - - - MailboxName: "mailbox2" - MatrixRoomId: "!aaabaa:{{ matrix_domain }}" - MatrixHomeserverUrl: "{{ matrix_homeserver_url }}" - MatrixUserId: "@email2matrix2:{{ matrix_domain }}" - MatrixAccessToken: "ACCESS_TOKEN_FOR_EMAIL2MATRIX2_HERE" - IgnoreSubject: true - IgnoreBody: false - SkipMarkdown: true -``` - -where: - -* MailboxName — local-part of the email address, through which emails are bridged to the room whose ID is defined with MatrixRoomId -* MatrixRoomId — internal ID of the room, to which received emails are sent as Matrix message -* MatrixHomeserverUrl — URL of your Matrix homeserver, through which to send Matrix messages. You can also set `MatrixHomeserverUrl` to the container URL where your homeserver's Client-Server API lives by using the `{{ matrix_addons_homeserver_client_api_url }}` variable -* MatrixUserId — the full ID of the sender user which sends bridged messages to the room. On this configuration it is `@email2matrix1:example.com` and `@email2matrix2:example.com` (where `example.com` is your base domain, not the `matrix.` domain) -* MatrixAccessToken — sender user's access token -* IgnoreSubject — if set to "true", the subject is not bridged to Matrix -* IgnoreBody — if set to "true", the message body is not bridged to Matrix -* SkipMarkdown — if set to "true", emails are bridged as plain text Matrix message instead of Markdown (actually HTML) - -Refer to the official documentation [here](https://github.com/devture/email2matrix/blob/master/docs/configuration.md). - -### Extending the configuration - -There are some additional things you may wish to configure about the component. - -Take a look at: - -- `roles/custom/matrix-email2matrix/defaults/main.yml` for some variables that you can customize via your `vars.yml` file - -## Installing - -After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below: - - -```sh -ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start -``` - -**Notes**: - -- The shortcut commands with the [`just` program](just.md) are also available: `just install-service email2matrix` or `just setup-all` - - `just install-service email2matrix` is useful for maintaining your setup quickly when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note `just setup-all` runs the `ensure-matrix-users-created` tag too. - -- After installation, you may wish to send a test email to the email address assigned to `mailbox1` (default: `mailbox1@matrix.example.com`) to make sure that Email2Matrix works as expected. - -## Troubleshooting - -As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-email2matrix`. - -### Increase logging verbosity - -If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook: - -```yaml -matrix_email2matrix_misc_debug: true +systemctl disable --now matrix-email2matrix.service + +rm -rf /matrix/email2matrix ``` diff --git a/docs/configuring-playbook.md b/docs/configuring-playbook.md index 756986f23..9efe8d065 100644 --- a/docs/configuring-playbook.md +++ b/docs/configuring-playbook.md @@ -261,7 +261,7 @@ Various services that don't fit any other categories. - [Setting up the Dimension integration manager](configuring-playbook-dimension.md) ([unmaintained](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/2806#issuecomment-1673559299); after [installing](installing.md)) -- [Setting up Email2Matrix](configuring-playbook-email2matrix.md) (unmaintained; the author suggests taking a look at [Postmoogle](https://github.com/etkecc/postmoogle) as a replacement, which can also be installed using [this playbook](configuring-playbook-bridge-postmoogle.md)) +- [Setting up Email2Matrix](configuring-playbook-email2matrix.md) (removed; the author suggests taking a look at [Postmoogle](https://github.com/etkecc/postmoogle) as a replacement, which can also be installed using [this playbook](configuring-playbook-bridge-postmoogle.md)) - [Setting up Go-NEB](configuring-playbook-bot-go-neb.md) (unmaintained; the bridge's author suggests taking a look at [matrix-hookshot](https://github.com/matrix-org/matrix-hookshot) as a replacement, which can also be installed using [this playbook](configuring-playbook-bridge-hookshot.md)) diff --git a/docs/self-building.md b/docs/self-building.md index 543065d89..d09e587df 100644 --- a/docs/self-building.md +++ b/docs/self-building.md @@ -38,7 +38,6 @@ Possibly outdated list of roles where self-building the Docker image is currentl - `matrix-bot-honoroit` - `matrix-bot-matrix-reminder-bot` - `matrix-bot-maubot` -- `matrix-email2matrix` - `matrix-pantalaimon` Adding self-building support to other roles is welcome. Feel free to contribute! diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index 623fd763d..6f1b45607 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -3714,36 +3714,6 @@ matrix_dynamic_dns_container_network: matrix-dynamic-dns # ###################################################################### -###################################################################### -# -# matrix-email2matrix -# -###################################################################### - -matrix_email2matrix_enabled: false - -matrix_email2matrix_systemd_required_services_list_auto: | - {{ - matrix_addons_homeserver_systemd_services_list - }} - -matrix_email2matrix_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_email2matrix_docker_image_registry_prefix_upstream_default }}" - -matrix_email2matrix_container_image_self_build: "{{ matrix_architecture not in ['amd64', 'arm32', 'arm64'] }}" - -matrix_email2matrix_container_network: "{{ matrix_addons_container_network }}" - -matrix_email2matrix_container_additional_networks_auto: |- - {{ - ([] if matrix_addons_homeserver_container_network == '' else [matrix_addons_homeserver_container_network]) - }} - -###################################################################### -# -# /matrix-email2matrix -# -###################################################################### - ###################################################################### # # jitsi diff --git a/roles/custom/matrix-email2matrix/defaults/main.yml b/roles/custom/matrix-email2matrix/defaults/main.yml deleted file mode 100644 index 43569a6c5..000000000 --- a/roles/custom/matrix-email2matrix/defaults/main.yml +++ /dev/null @@ -1,80 +0,0 @@ -# SPDX-FileCopyrightText: 2019 - 2025 Slavi Pantaleev -# SPDX-FileCopyrightText: 2021 MDAD project contributors -# SPDX-FileCopyrightText: 2021 Ahmad Haghighi -# SPDX-FileCopyrightText: 2022 Marko Weltzer -# SPDX-FileCopyrightText: 2022 Nikita Chernyi -# SPDX-FileCopyrightText: 2023 Samuel Meenzen -# SPDX-FileCopyrightText: 2024 Suguru Hirahara -# -# SPDX-License-Identifier: AGPL-3.0-or-later - ---- - -# Project source code URL: https://github.com/devture/email2matrix - -matrix_email2matrix_enabled: true - -matrix_email2matrix_base_path: "{{ matrix_base_data_path }}/email2matrix" -matrix_email2matrix_config_dir_path: "{{ matrix_email2matrix_base_path }}/config" -matrix_email2matrix_docker_src_files_path: "{{ matrix_email2matrix_base_path }}/docker-src" - -matrix_email2matrix_container_image_self_build: false -matrix_email2matrix_container_image_self_build_repo: "https://github.com/devture/email2matrix.git" -matrix_email2matrix_container_image_self_build_branch: "{{ matrix_email2matrix_version }}" - -# renovate: datasource=docker depName=devture/email2matrix -matrix_email2matrix_version: 1.1.0 -matrix_email2matrix_docker_image: "{{ matrix_email2matrix_docker_image_registry_prefix }}devture/email2matrix:{{ matrix_email2matrix_version }}" -matrix_email2matrix_docker_image_registry_prefix: "{{ 'localhost/' if matrix_email2matrix_container_image_self_build else matrix_email2matrix_docker_image_registry_prefix_upstream }}" -matrix_email2matrix_docker_image_registry_prefix_upstream: "{{ matrix_email2matrix_docker_image_registry_prefix_upstream_default }}" -matrix_email2matrix_docker_image_registry_prefix_upstream_default: docker.io/ -matrix_email2matrix_docker_image_force_pull: "{{ matrix_email2matrix_docker_image.endswith(':latest') }}" - -matrix_email2matrix_container_network: "" - -matrix_email2matrix_container_additional_networks: "{{ matrix_email2matrix_container_additional_networks_auto + matrix_email2matrix_container_additional_networks_custom }}" -matrix_email2matrix_container_additional_networks_auto: [] -matrix_email2matrix_container_additional_networks_custom: [] - -# A list of extra arguments to pass to the container -matrix_email2matrix_container_extra_arguments: [] - -# List of systemd services that matrix-corporal.service depends on -matrix_email2matrix_systemd_required_services_list: "{{ matrix_email2matrix_systemd_required_services_list_default + matrix_email2matrix_systemd_required_services_list_auto + matrix_email2matrix_systemd_required_services_list_custom }}" -matrix_email2matrix_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}" -matrix_email2matrix_systemd_required_services_list_auto: [] -matrix_email2matrix_systemd_required_services_list_custom: [] - -# Controls where the matrix-email2matrix container exposes the SMTP (tcp/2525 in the container). -# -# Takes an ":" or "" value (e.g. "127.0.0.1:2525"). -# -# By default, we listen on port 25 on all of the host's network interfaces. -matrix_email2matrix_smtp_host_bind_port: "25" - -matrix_email2matrix_smtp_hostname: "{{ matrix_server_fqn_matrix }}" - -# A list of mailbox to Matrix mappings. -# -# Example: -# matrix_email2matrix_matrix_mappings: -# - MailboxName: "mailbox1" -# MatrixRoomId: "!qporfwt:{{ matrix_domain }}" -# MatrixHomeserverUrl: "{{ matrix_homeserver_url }}" -# MatrixUserId: "@email2matrix1:{{ matrix_domain }}" -# MatrixAccessToken: "MATRIX_ACCESS_TOKEN_HERE" -# IgnoreSubject: false -# IgnoreBody: false -# SkipMarkdown: false -# -# - MailboxName: "mailbox2" -# MatrixRoomId: "!aaabaa:{{ matrix_domain }}" -# MatrixHomeserverUrl: "{{ matrix_homeserver_url }}" -# MatrixUserId: "@email2matrix2:{{ matrix_domain }}" -# MatrixAccessToken: "MATRIX_ACCESS_TOKEN_HERE" -# IgnoreSubject: true -# IgnoreBody: false -# SkipMarkdown: true -matrix_email2matrix_matrix_mappings: [] - -matrix_email2matrix_misc_debug: false diff --git a/roles/custom/matrix-email2matrix/tasks/main.yml b/roles/custom/matrix-email2matrix/tasks/main.yml deleted file mode 100644 index f557ccaa0..000000000 --- a/roles/custom/matrix-email2matrix/tasks/main.yml +++ /dev/null @@ -1,25 +0,0 @@ -# SPDX-FileCopyrightText: 2019 - 2023 Slavi Pantaleev -# SPDX-FileCopyrightText: 2022 Marko Weltzer -# -# SPDX-License-Identifier: AGPL-3.0-or-later - ---- - -- tags: - - setup-all - - setup-email2matrix - - install-all - - install-email2matrix - block: - - when: matrix_email2matrix_enabled | bool - ansible.builtin.include_tasks: "{{ role_path }}/tasks/validate_config.yml" - - - when: matrix_email2matrix_enabled | bool - ansible.builtin.include_tasks: "{{ role_path }}/tasks/setup_install.yml" - -- tags: - - setup-all - - setup-email2matrix - block: - - when: not matrix_email2matrix_enabled | bool - ansible.builtin.include_tasks: "{{ role_path }}/tasks/setup_uninstall.yml" diff --git a/roles/custom/matrix-email2matrix/tasks/setup_install.yml b/roles/custom/matrix-email2matrix/tasks/setup_install.yml deleted file mode 100644 index 242deb01d..000000000 --- a/roles/custom/matrix-email2matrix/tasks/setup_install.yml +++ /dev/null @@ -1,78 +0,0 @@ -# SPDX-FileCopyrightText: 2021 - 2024 Slavi Pantaleev -# SPDX-FileCopyrightText: 2022 Nikita Chernyi -# SPDX-FileCopyrightText: 2022 Marko Weltzer -# SPDX-FileCopyrightText: 2022 Sebastian Gumprich -# SPDX-FileCopyrightText: 2024 David Mehren -# -# SPDX-License-Identifier: AGPL-3.0-or-later - ---- - -- name: Ensure Email2Matrix paths exist - ansible.builtin.file: - path: "{{ item.path }}" - state: directory - mode: 0750 - owner: "{{ matrix_user_username }}" - group: "{{ matrix_user_groupname }}" - with_items: - - {path: "{{ matrix_email2matrix_base_path }}", when: true} - - {path: "{{ matrix_email2matrix_config_dir_path }}", when: true} - - {path: "{{ matrix_email2matrix_docker_src_files_path }}", when: "{{ matrix_email2matrix_container_image_self_build }}"} - when: "item.when | bool" - -- name: Ensure Email2Matrix configuration file created - ansible.builtin.template: - src: "{{ role_path }}/templates/config.json.j2" - dest: "{{ matrix_email2matrix_config_dir_path }}/config.json" - owner: "{{ matrix_user_username }}" - group: "{{ matrix_user_groupname }}" - mode: 0640 - -- name: Ensure Email2Matrix image is pulled - community.docker.docker_image: - name: "{{ matrix_email2matrix_docker_image }}" - source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}" - force_source: "{{ matrix_email2matrix_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" - force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_email2matrix_docker_image_force_pull }}" - when: "not matrix_email2matrix_container_image_self_build | bool" - register: result - retries: "{{ devture_playbook_help_container_retries_count }}" - delay: "{{ devture_playbook_help_container_retries_delay }}" - until: result is not failed - -- name: Ensure Email2Matrix repository is present on self-build - ansible.builtin.git: - repo: "{{ matrix_email2matrix_container_image_self_build_repo }}" - dest: "{{ matrix_email2matrix_docker_src_files_path }}" - version: "{{ matrix_email2matrix_container_image_self_build_branch }}" - force: "yes" - become: true - become_user: "{{ matrix_user_username }}" - register: matrix_email2matrix_git_pull_results - when: "matrix_email2matrix_container_image_self_build | bool" - -- name: Ensure Email2Matrix Docker image is built - community.docker.docker_image: - name: "{{ matrix_email2matrix_docker_image }}" - source: build - force_source: "{{ matrix_email2matrix_git_pull_results.changed if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" - force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_email2matrix_git_pull_results.changed }}" - build: - dockerfile: etc/docker/Dockerfile - path: "{{ matrix_email2matrix_docker_src_files_path }}" - pull: true - when: "matrix_email2matrix_container_image_self_build | bool" - -- name: Ensure matrix-email2matrix container network is created - community.general.docker_network: - enable_ipv6: "{{ devture_systemd_docker_base_ipv6_enabled }}" - name: "{{ matrix_email2matrix_container_network }}" - driver: bridge - driver_options: "{{ devture_systemd_docker_base_container_networks_driver_options }}" - -- name: Ensure matrix-email2matrix.service installed - ansible.builtin.template: - src: "{{ role_path }}/templates/systemd/matrix-email2matrix.service.j2" - dest: "{{ devture_systemd_docker_base_systemd_path }}/matrix-email2matrix.service" - mode: 0644 diff --git a/roles/custom/matrix-email2matrix/tasks/setup_uninstall.yml b/roles/custom/matrix-email2matrix/tasks/setup_uninstall.yml deleted file mode 100644 index e10464f72..000000000 --- a/roles/custom/matrix-email2matrix/tasks/setup_uninstall.yml +++ /dev/null @@ -1,31 +0,0 @@ -# SPDX-FileCopyrightText: 2021 - 2022 Slavi Pantaleev -# SPDX-FileCopyrightText: 2022 Marko Weltzer -# SPDX-FileCopyrightText: 2022 Sebastian Gumprich -# -# SPDX-License-Identifier: AGPL-3.0-or-later - ---- - -- name: Check existence of matrix-email2matrix service - ansible.builtin.stat: - path: "{{ devture_systemd_docker_base_systemd_path }}/matrix-email2matrix.service" - register: matrix_email2matrix_service_stat - -- when: matrix_email2matrix_service_stat.stat.exists | bool - block: - - name: Ensure matrix-email2matrix is stopped - ansible.builtin.service: - name: matrix-email2matrix - state: stopped - enabled: false - daemon_reload: true - - - name: Ensure matrix-email2matrix.service doesn't exist - ansible.builtin.file: - path: "{{ devture_systemd_docker_base_systemd_path }}/matrix-email2matrix.service" - state: absent - - - name: Ensure Email2Matrix data path doesn't exist - ansible.builtin.file: - path: "{{ matrix_email2matrix_base_path }}" - state: absent diff --git a/roles/custom/matrix-email2matrix/tasks/validate_config.yml b/roles/custom/matrix-email2matrix/tasks/validate_config.yml deleted file mode 100644 index 17533397f..000000000 --- a/roles/custom/matrix-email2matrix/tasks/validate_config.yml +++ /dev/null @@ -1,27 +0,0 @@ -# SPDX-FileCopyrightText: 2019 - 2024 Slavi Pantaleev -# -# SPDX-License-Identifier: AGPL-3.0-or-later - ---- - -- name: Fail if no Email2Matrix mappings - ansible.builtin.fail: - msg: > - You need to define at least one mapping in `matrix_email2matrix_matrix_mappings` for enabling Email2Matrix. - when: "matrix_email2matrix_matrix_mappings | length == 0" - -- name: Fail if required Email2Matrix settings not defined - ansible.builtin.fail: - msg: >- - You need to define a required configuration setting (`{{ item.name }}`). - when: "item.when | bool and vars[item.name] == ''" - with_items: - - {'name': 'matrix_email2matrix_container_network', when: true} - -- name: (Deprecation) Catch and report renamed Email2Matrix variables - ansible.builtin.fail: - msg: >- - The variable `{{ item.old }}` is deprecated. Please use `{{ item.new }}` instead. - when: "item.old in vars" - with_items: - - {'old': 'matrix_email2matrix_docker_image_name_prefix', 'new': 'matrix_email2matrix_docker_image_registry_prefix'} diff --git a/roles/custom/matrix-email2matrix/templates/config.json.j2 b/roles/custom/matrix-email2matrix/templates/config.json.j2 deleted file mode 100644 index a7ca7bc47..000000000 --- a/roles/custom/matrix-email2matrix/templates/config.json.j2 +++ /dev/null @@ -1,14 +0,0 @@ -#jinja2: lstrip_blocks: "True" -{ - "Smtp": { - "ListenInterface": "0.0.0.0:2525", - "Hostname": {{ matrix_email2matrix_smtp_hostname|to_json }}, - "Workers": 10 - }, - "Matrix": { - "Mappings": {{ matrix_email2matrix_matrix_mappings | to_nice_json }} - }, - "Misc": { - "Debug": {{ matrix_email2matrix_misc_debug|to_json }} - } -} diff --git a/roles/custom/matrix-email2matrix/templates/config.json.j2.license b/roles/custom/matrix-email2matrix/templates/config.json.j2.license deleted file mode 100644 index 2fe1c727d..000000000 --- a/roles/custom/matrix-email2matrix/templates/config.json.j2.license +++ /dev/null @@ -1,3 +0,0 @@ -SPDX-FileCopyrightText: 2019 - 2022 Slavi Pantaleev - -SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-email2matrix/templates/systemd/matrix-email2matrix.service.j2 b/roles/custom/matrix-email2matrix/templates/systemd/matrix-email2matrix.service.j2 deleted file mode 100644 index 4b84d13dd..000000000 --- a/roles/custom/matrix-email2matrix/templates/systemd/matrix-email2matrix.service.j2 +++ /dev/null @@ -1,44 +0,0 @@ -#jinja2: lstrip_blocks: "True" -[Unit] -Description=Email2Matrix -{% for service in matrix_email2matrix_systemd_required_services_list %} -Requires={{ service }} -After={{ service }} -{% endfor %} -DefaultDependencies=no - -[Service] -Type=simple -Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-email2matrix 2>/dev/null || true' -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-email2matrix 2>/dev/null || true' - -ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ - --rm \ - --name=matrix-email2matrix \ - --log-driver=none \ - --user={{ matrix_user_uid }}:{{ matrix_user_gid }} \ - --cap-drop=ALL \ - --read-only \ - --network={{ matrix_email2matrix_container_network }} \ - -p {{ matrix_email2matrix_smtp_host_bind_port }}:2525 \ - --mount type=bind,src={{ matrix_email2matrix_config_dir_path }}/config.json,dst=/config.json,ro \ - {% for arg in matrix_email2matrix_container_extra_arguments %} - {{ arg }} \ - {% endfor %} - {{ matrix_email2matrix_docker_image }} - -{% for network in matrix_email2matrix_container_additional_networks %} -ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network connect {{ network }} matrix-email2matrix -{% endfor %} - -ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-email2matrix - -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-email2matrix 2>/dev/null || true' -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-email2matrix 2>/dev/null || true' -Restart=always -RestartSec=30 -SyslogIdentifier=matrix-email2matrix - -[Install] -WantedBy=multi-user.target diff --git a/roles/custom/matrix-email2matrix/templates/systemd/matrix-email2matrix.service.j2.license b/roles/custom/matrix-email2matrix/templates/systemd/matrix-email2matrix.service.j2.license deleted file mode 100644 index d29979396..000000000 --- a/roles/custom/matrix-email2matrix/templates/systemd/matrix-email2matrix.service.j2.license +++ /dev/null @@ -1,4 +0,0 @@ -SPDX-FileCopyrightText: 2019 - 2025 Slavi Pantaleev -SPDX-FileCopyrightText: 2020 Chris van Dijk - -SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix_playbook_migration/tasks/validate_config.yml b/roles/custom/matrix_playbook_migration/tasks/validate_config.yml index 4232196d3..0043e8dd5 100644 --- a/roles/custom/matrix_playbook_migration/tasks/validate_config.yml +++ b/roles/custom/matrix_playbook_migration/tasks/validate_config.yml @@ -476,3 +476,15 @@ The following variables in your configuration need to be removed: {{ vars | dict2items | selectattr('key', 'match', 'matrix_mautrix_hangouts_.*') | map(attribute='key') | join(', ') }} when: "vars | dict2items | selectattr('key', 'match', 'matrix_mautrix_hangouts_.*') | list | items2dict" + +- name: (Deprecation) Catch and report Email2Matrix variables + ansible.builtin.fail: + msg: |- + The Email2Matrix service has been superseded by the Postmoogle bridge for a long time now and was completely removed from the playbook in February 2025. + + Please change your configuration (`vars.yml`) to remove all `matrix_email2matrix_*` variables. + + You may also wish to uninstall the bridge manually. See `docs/configuring-playbook-email2matrix.md` for more information. + + The following variables in your configuration need to be removed: {{ vars | dict2items | selectattr('key', 'match', 'matrix_email2matrix_.*') | map(attribute='key') | join(', ') }} + when: "vars | dict2items | selectattr('key', 'match', 'matrix_email2matrix_.*') | list | items2dict" diff --git a/setup.yml b/setup.yml index d36f16c6b..7149b3cdf 100644 --- a/setup.yml +++ b/setup.yml @@ -126,7 +126,6 @@ - custom/matrix-dimension - galaxy/etherpad - custom/matrix-sliding-sync - - custom/matrix-email2matrix - custom/matrix-sygnal - galaxy/ntfy - custom/matrix-static-files From 852b9ebdc166bf9411f838b2eaecdf634d594761 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Wed, 26 Feb 2025 08:01:27 +0200 Subject: [PATCH 514/841] Adjust "installed using this playbook" links when linking to specific components We previously made "this playbook" a link to some specific component. This is somewhat misleading. Reading the text and seeing that "this playbook" is a link, one might think that "this playbook" actually links to the playbook's home page or something, not to the specific component which could be "installed using this playbook". This patch adjusts the markup so that the whole phrase "installed using this playbook" is turned into a link (to the specific component's page). This makes it more obvious where we're linking. This work was initially done for the Email2Matrix docs page in 1b05343aba19852d627ded4934c0580960aaadb9. This patch brings the same change to all other instances. --- docs/configuring-playbook-bot-chatgpt.md | 2 +- docs/configuring-playbook-bot-go-neb.md | 2 +- docs/configuring-playbook-bridge-appservice-webhooks.md | 2 +- docs/configuring-playbook-bridge-mautrix-bridges.md | 2 +- docs/configuring-playbook-bridge-mautrix-facebook.md | 2 +- docs/configuring-playbook-bridge-mautrix-instagram.md | 2 +- docs/configuring-playbook.md | 8 ++++---- 7 files changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/configuring-playbook-bot-chatgpt.md b/docs/configuring-playbook-bot-chatgpt.md index 74e687bbc..6bf3b429a 100644 --- a/docs/configuring-playbook-bot-chatgpt.md +++ b/docs/configuring-playbook-bot-chatgpt.md @@ -8,7 +8,7 @@ SPDX-License-Identifier: AGPL-3.0-or-later # Setting up matrix-bot-chatgpt (optional, unmaintained) -**Note**: [matrix-chatgpt-bot](https://github.com/matrixgpt/matrix-chatgpt-bot) is now an archived (**unmaintained**) project. Talking to ChatGPT (and many other LLM providers) can happen via the much more featureful [baibot](https://github.com/etkecc/baibot), which can be installed using [this playbook](configuring-playbook-bot-baibot.md). Consider using that bot instead of this one. +**Note**: [matrix-chatgpt-bot](https://github.com/matrixgpt/matrix-chatgpt-bot) is now an archived (**unmaintained**) project. Talking to ChatGPT (and many other LLM providers) can happen via the much more featureful [baibot](https://github.com/etkecc/baibot), which can be [installed using this playbook](configuring-playbook-bot-baibot.md). Consider using that bot instead of this one. The playbook can install and configure [matrix-chatgpt-bot](https://github.com/matrixgpt/matrix-chatgpt-bot) for you. diff --git a/docs/configuring-playbook-bot-go-neb.md b/docs/configuring-playbook-bot-go-neb.md index 2bf69ef61..074f843f5 100644 --- a/docs/configuring-playbook-bot-go-neb.md +++ b/docs/configuring-playbook-bot-go-neb.md @@ -10,7 +10,7 @@ SPDX-License-Identifier: AGPL-3.0-or-later # Setting up Go-NEB (optional, unmaintained) -**Note**: [Go-NEB](https://github.com/matrix-org/go-neb) is now an archived (**unmaintained**) project. We recommend not bothering with installing it. While not a 1:1 replacement, the bridge's author suggests taking a look at [matrix-hookshot](https://github.com/matrix-org/matrix-hookshot) as a replacement, which can also be installed using [this playbook](configuring-playbook-bridge-hookshot.md). Consider using that bot instead of this one. +**Note**: [Go-NEB](https://github.com/matrix-org/go-neb) is now an archived (**unmaintained**) project. We recommend not bothering with installing it. While not a 1:1 replacement, the bridge's author suggests taking a look at [matrix-hookshot](https://github.com/matrix-org/matrix-hookshot) as a replacement, which can also be [installed using this playbook](configuring-playbook-bridge-hookshot.md). Consider using that bot instead of this one. The playbook can install and configure [Go-NEB](https://github.com/matrix-org/go-neb) for you. diff --git a/docs/configuring-playbook-bridge-appservice-webhooks.md b/docs/configuring-playbook-bridge-appservice-webhooks.md index 8113341d8..d7df18ed6 100644 --- a/docs/configuring-playbook-bridge-appservice-webhooks.md +++ b/docs/configuring-playbook-bridge-appservice-webhooks.md @@ -11,7 +11,7 @@ SPDX-License-Identifier: AGPL-3.0-or-later # Setting up Appservice Webhooks bridging (optional, deprecated) -**Note**: This bridge has been deprecated. We recommend not bothering with installing it. While not a 1:1 replacement, the bridge's author suggests taking a look at [matrix-hookshot](https://github.com/matrix-org/matrix-hookshot) as a replacement, which can also be installed using [this playbook](configuring-playbook-bridge-hookshot.md). Consider using that bridge instead of this one. +**Note**: This bridge has been deprecated. We recommend not bothering with installing it. While not a 1:1 replacement, the bridge's author suggests taking a look at [matrix-hookshot](https://github.com/matrix-org/matrix-hookshot) as a replacement, which can also be [installed using this playbook](configuring-playbook-bridge-hookshot.md). Consider using that bridge instead of this one. The playbook can install and configure [matrix-appservice-webhooks](https://github.com/turt2live/matrix-appservice-webhooks) for you. This bridge provides support for Slack-compatible webhooks. diff --git a/docs/configuring-playbook-bridge-mautrix-bridges.md b/docs/configuring-playbook-bridge-mautrix-bridges.md index 12f70a66e..def918c84 100644 --- a/docs/configuring-playbook-bridge-mautrix-bridges.md +++ b/docs/configuring-playbook-bridge-mautrix-bridges.md @@ -15,7 +15,7 @@ To enable the bridge, add the following configuration to your `inventory/host_va matrix_mautrix_SERVICENAME_enabled: true ``` -**Note**: for bridging to Meta's Messenger or Instagram, you would need to add `meta` with an underscore symbol (`_`) or hyphen (`-`) based on the context as prefix to each `SERVICENAME`; add `_` to variables (as in `matrix_mautrix_meta_messenger_configuration_extension_yaml` for example) and `-` to paths of the configuration files (as in `roles/custom/matrix-bridge-mautrix-meta-messenger/templates/config.yaml.j2`), respectively. **`matrix_mautrix_facebook_*` and `matrix_mautrix_instagram_*` variables belong to the deprecated components and do not control the new bridge** ([mautrix-meta](https://github.com/mautrix/meta)), which can be installed using [this playbook](configuring-playbook-bridge-mautrix-meta-messenger.md). +**Note**: for bridging to Meta's Messenger or Instagram, you would need to add `meta` with an underscore symbol (`_`) or hyphen (`-`) based on the context as prefix to each `SERVICENAME`; add `_` to variables (as in `matrix_mautrix_meta_messenger_configuration_extension_yaml` for example) and `-` to paths of the configuration files (as in `roles/custom/matrix-bridge-mautrix-meta-messenger/templates/config.yaml.j2`), respectively. **`matrix_mautrix_facebook_*` and `matrix_mautrix_instagram_*` variables belong to the deprecated components and do not control the new bridge** ([mautrix-meta](https://github.com/mautrix/meta)), which can be [installed using this playbook](configuring-playbook-bridge-mautrix-meta-messenger.md). There are some additional things you may wish to configure about the bridge before you continue. Each bridge may have additional requirements besides `_enabled: true`. For example, the mautrix-telegram bridge (our documentation page about it is [here](configuring-playbook-bridge-mautrix-telegram.md)) requires the `matrix_mautrix_telegram_api_id` and `matrix_mautrix_telegram_api_hash` variables to be defined. Refer to each bridge's individual documentation page for details about enabling bridges. diff --git a/docs/configuring-playbook-bridge-mautrix-facebook.md b/docs/configuring-playbook-bridge-mautrix-facebook.md index f5f6d581f..e56c2ee38 100644 --- a/docs/configuring-playbook-bridge-mautrix-facebook.md +++ b/docs/configuring-playbook-bridge-mautrix-facebook.md @@ -14,7 +14,7 @@ SPDX-License-Identifier: AGPL-3.0-or-later Refer the common guide for configuring mautrix bridges: [Setting up a Generic Mautrix Bridge](configuring-playbook-bridge-mautrix-bridges.md) -**Note**: This bridge has been deprecated in favor of the [mautrix-meta](https://github.com/mautrix/meta) Messenger/Instagram bridge, which can be installed using [this playbook](configuring-playbook-bridge-mautrix-meta-messenger.md). Consider using that bridge instead of this one. +**Note**: This bridge has been deprecated in favor of the [mautrix-meta](https://github.com/mautrix/meta) Messenger/Instagram bridge, which can be [installed using this playbook](configuring-playbook-bridge-mautrix-meta-messenger.md). Consider using that bridge instead of this one. The playbook can install and configure [mautrix-facebook](https://github.com/mautrix/facebook) for you. diff --git a/docs/configuring-playbook-bridge-mautrix-instagram.md b/docs/configuring-playbook-bridge-mautrix-instagram.md index c4694e0f1..4dcc780bf 100644 --- a/docs/configuring-playbook-bridge-mautrix-instagram.md +++ b/docs/configuring-playbook-bridge-mautrix-instagram.md @@ -11,7 +11,7 @@ SPDX-License-Identifier: AGPL-3.0-or-later Refer the common guide for configuring mautrix bridges: [Setting up a Generic Mautrix Bridge](configuring-playbook-bridge-mautrix-bridges.md) -**Note**: This bridge has been deprecated in favor of the [mautrix-meta](https://github.com/mautrix/meta) Messenger/Instagram bridge, which can be installed using [this playbook](configuring-playbook-bridge-mautrix-meta-instagram.md). Consider using that bridge instead of this one. +**Note**: This bridge has been deprecated in favor of the [mautrix-meta](https://github.com/mautrix/meta) Messenger/Instagram bridge, which can be [installed using this playbook](configuring-playbook-bridge-mautrix-meta-instagram.md). Consider using that bridge instead of this one. The playbook can install and configure [mautrix-instagram](https://github.com/mautrix/instagram) for you. diff --git a/docs/configuring-playbook.md b/docs/configuring-playbook.md index 9efe8d065..769ec21ab 100644 --- a/docs/configuring-playbook.md +++ b/docs/configuring-playbook.md @@ -257,15 +257,15 @@ Various services that don't fit any other categories. - [Setting up the Sliding Sync proxy](configuring-playbook-sliding-sync-proxy.md) for clients which require Sliding Sync support (like old Element X versions, before it got switched to Simplified Sliding Sync) -- [Setting up Appservice Webhooks bridging](configuring-playbook-bridge-appservice-webhooks.md) (deprecated; the bridge's author suggests taking a look at [matrix-hookshot](https://github.com/matrix-org/matrix-hookshot) as a replacement, which can also be installed using [this playbook](configuring-playbook-bridge-hookshot.md)) +- [Setting up Appservice Webhooks bridging](configuring-playbook-bridge-appservice-webhooks.md) (deprecated; the bridge's author suggests taking a look at [matrix-hookshot](https://github.com/matrix-org/matrix-hookshot) as a replacement, which can also be [installed using this playbook](configuring-playbook-bridge-hookshot.md)) - [Setting up the Dimension integration manager](configuring-playbook-dimension.md) ([unmaintained](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/2806#issuecomment-1673559299); after [installing](installing.md)) -- [Setting up Email2Matrix](configuring-playbook-email2matrix.md) (removed; the author suggests taking a look at [Postmoogle](https://github.com/etkecc/postmoogle) as a replacement, which can also be installed using [this playbook](configuring-playbook-bridge-postmoogle.md)) +- [Setting up Email2Matrix](configuring-playbook-email2matrix.md) (removed; the author suggests taking a look at [Postmoogle](https://github.com/etkecc/postmoogle) as a replacement, which can also be [installed using this playbook](configuring-playbook-bridge-postmoogle.md)) -- [Setting up Go-NEB](configuring-playbook-bot-go-neb.md) (unmaintained; the bridge's author suggests taking a look at [matrix-hookshot](https://github.com/matrix-org/matrix-hookshot) as a replacement, which can also be installed using [this playbook](configuring-playbook-bridge-hookshot.md)) +- [Setting up Go-NEB](configuring-playbook-bot-go-neb.md) (unmaintained; the bridge's author suggests taking a look at [matrix-hookshot](https://github.com/matrix-org/matrix-hookshot) as a replacement, which can also be [installed using this playbook](configuring-playbook-bridge-hookshot.md)) -- [Setting up matrix-bot-chatgpt](configuring-playbook-bot-chatgpt.md) (unmaintained; the bridge's author suggests taking a look at [baibot](https://github.com/etkecc/baibot) as a replacement, which can also be installed using [this playbook](configuring-playbook-bot-baibot.md)) +- [Setting up matrix-bot-chatgpt](configuring-playbook-bot-chatgpt.md) (unmaintained; the bridge's author suggests taking a look at [baibot](https://github.com/etkecc/baibot) as a replacement, which can also be [installed using this playbook](configuring-playbook-bot-baibot.md)) - [Setting up Mautrix Facebook bridging](configuring-playbook-bridge-mautrix-facebook.md) (deprecated in favor of the Messenger/Instagram bridge with [mautrix-meta-messenger](configuring-playbook-bridge-mautrix-meta-messenger.md)) From 0329cbb1b0714fce6a8604a812a92319463912c9 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Wed, 26 Feb 2025 08:05:16 +0200 Subject: [PATCH 515/841] Remove leftover `matrix_email2matrix_enabled` usage in `devture_systemd_service_manager_services_list_auto` Fixup for 1b05343aba19852d627ded4934c0580960aaadb9 --- group_vars/matrix_servers | 2 -- 1 file changed, 2 deletions(-) diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index 6f1b45607..7031927ee 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -407,8 +407,6 @@ devture_systemd_service_manager_services_list_auto: | + ([{'name': 'matrix-dynamic-dns.service', 'priority': 5000, 'groups': ['matrix', 'dynamic-dns']}] if matrix_dynamic_dns_enabled else []) + - ([{'name': 'matrix-email2matrix.service', 'priority': 2000, 'groups': ['matrix', 'bridges', 'email2matrix']}] if matrix_email2matrix_enabled else []) - + ([{'name': (etherpad_identifier + '.service'), 'priority': 4000, 'groups': ['matrix', 'etherpad']}] if etherpad_enabled else []) + ([{'name': (grafana_identifier + '.service'), 'priority': 4000, 'groups': ['matrix', 'monitoring', 'grafana']}] if grafana_enabled else []) From ed62ce70f019b06b4a4a0202dc018c09cd9b1703 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Wed, 26 Feb 2025 15:35:13 +0900 Subject: [PATCH 516/841] Update docs: edit titles of the removed components This commit updates titles of the docs for removed components, following 0bc4ef8f4d6611f4b18a94d0b4439f69922a8279. Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bridge-mautrix-hangouts.md | 2 +- docs/configuring-playbook-email2matrix.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/configuring-playbook-bridge-mautrix-hangouts.md b/docs/configuring-playbook-bridge-mautrix-hangouts.md index 737a90f26..9fd04d444 100644 --- a/docs/configuring-playbook-bridge-mautrix-hangouts.md +++ b/docs/configuring-playbook-bridge-mautrix-hangouts.md @@ -8,7 +8,7 @@ SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara SPDX-License-Identifier: AGPL-3.0-or-later --> -# Setting up Mautrix Hangouts bridging (optional, deprecated) +# Setting up Mautrix Hangouts bridging (optional, removed) 🪦 The playbook used to be able to install and configure [mautrix-hangouts](https://github.com/mautrix/hangouts), but no longer includes this component, because Google Hangouts has been discontinued since the 1st of November 2022. diff --git a/docs/configuring-playbook-email2matrix.md b/docs/configuring-playbook-email2matrix.md index 4044ec565..e3544ff85 100644 --- a/docs/configuring-playbook-email2matrix.md +++ b/docs/configuring-playbook-email2matrix.md @@ -1,5 +1,5 @@ -# Setting up Email2Matrix (optional, deprecated) +# Setting up Email2Matrix (optional, removed) 🪦 The playbook used to be able to install and configure [Email2Matrix](https://github.com/devture/email2matrix), but no longer includes this component. From baefcd4923dfe2b14aeea8984bd0d144b03464c8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 26 Feb 2025 06:46:20 +0000 Subject: [PATCH 517/841] Update docker.io/metio/matrix-alertmanager-receiver Docker tag to v2025.2.26 --- roles/custom/matrix-alertmanager-receiver/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-alertmanager-receiver/defaults/main.yml b/roles/custom/matrix-alertmanager-receiver/defaults/main.yml index 8dcd3a8f0..6209fe1b3 100644 --- a/roles/custom/matrix-alertmanager-receiver/defaults/main.yml +++ b/roles/custom/matrix-alertmanager-receiver/defaults/main.yml @@ -6,7 +6,7 @@ matrix_alertmanager_receiver_enabled: true # renovate: datasource=docker depName=docker.io/metio/matrix-alertmanager-receiver -matrix_alertmanager_receiver_version: 2025.2.19 +matrix_alertmanager_receiver_version: 2025.2.26 matrix_alertmanager_receiver_scheme: https From 68e9dc85e9d492764879d23db276771f8b0c8373 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Wed, 26 Feb 2025 15:52:33 +0900 Subject: [PATCH 518/841] Add license information to files for matrix-bot-matrix-reminder-bot This commit adds copyright attributions in SPDX to the files for matrix-reminder-bot, following REUSE's specification. Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bot-matrix-reminder-bot.md | 8 ++++++++ .../matrix-bot-matrix-reminder-bot/defaults/main.yml | 10 ++++++++++ .../matrix-bot-matrix-reminder-bot/tasks/main.yml | 5 +++++ .../tasks/setup_install.yml | 11 +++++++++++ .../tasks/setup_uninstall.yml | 6 ++++++ .../tasks/validate_config.yml | 5 +++++ .../templates/config.yaml.j2.license | 5 +++++ .../matrix-bot-matrix-reminder-bot.service.j2.license | 4 ++++ 8 files changed, 54 insertions(+) create mode 100644 roles/custom/matrix-bot-matrix-reminder-bot/templates/config.yaml.j2.license create mode 100644 roles/custom/matrix-bot-matrix-reminder-bot/templates/systemd/matrix-bot-matrix-reminder-bot.service.j2.license diff --git a/docs/configuring-playbook-bot-matrix-reminder-bot.md b/docs/configuring-playbook-bot-matrix-reminder-bot.md index ad81b0f70..9661ed6fa 100644 --- a/docs/configuring-playbook-bot-matrix-reminder-bot.md +++ b/docs/configuring-playbook-bot-matrix-reminder-bot.md @@ -1,3 +1,11 @@ + + # Setting up matrix-reminder-bot (optional) The playbook can install and configure [matrix-reminder-bot](https://github.com/anoadragon453/matrix-reminder-bot) for you. diff --git a/roles/custom/matrix-bot-matrix-reminder-bot/defaults/main.yml b/roles/custom/matrix-bot-matrix-reminder-bot/defaults/main.yml index 69d27307e..bf4176b1a 100644 --- a/roles/custom/matrix-bot-matrix-reminder-bot/defaults/main.yml +++ b/roles/custom/matrix-bot-matrix-reminder-bot/defaults/main.yml @@ -1,3 +1,13 @@ +# SPDX-FileCopyrightText: 2020 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2021 - 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2021 Ahmad Haghighi +# SPDX-FileCopyrightText: 2021 Richard Meyer +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # matrix-reminder-bot is a bot for one-off and recurring reminders # Project source code URL: https://github.com/anoadragon453/matrix-reminder-bot diff --git a/roles/custom/matrix-bot-matrix-reminder-bot/tasks/main.yml b/roles/custom/matrix-bot-matrix-reminder-bot/tasks/main.yml index f475afc06..aaef35450 100644 --- a/roles/custom/matrix-bot-matrix-reminder-bot/tasks/main.yml +++ b/roles/custom/matrix-bot-matrix-reminder-bot/tasks/main.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2020 - 2023 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-bot-matrix-reminder-bot/tasks/setup_install.yml b/roles/custom/matrix-bot-matrix-reminder-bot/tasks/setup_install.yml index 4db0372f9..e8442c0b9 100644 --- a/roles/custom/matrix-bot-matrix-reminder-bot/tasks/setup_install.yml +++ b/roles/custom/matrix-bot-matrix-reminder-bot/tasks/setup_install.yml @@ -1,3 +1,14 @@ +# SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2020 Stuart Mumford +# SPDX-FileCopyrightText: 2021 - 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Jim Myhrberg +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2024 David Mehren +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - ansible.builtin.set_fact: diff --git a/roles/custom/matrix-bot-matrix-reminder-bot/tasks/setup_uninstall.yml b/roles/custom/matrix-bot-matrix-reminder-bot/tasks/setup_uninstall.yml index 512c0f2dd..55d89ffbf 100644 --- a/roles/custom/matrix-bot-matrix-reminder-bot/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-bot-matrix-reminder-bot/tasks/setup_uninstall.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2020 - 2022 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-matrix-reminder-bot service diff --git a/roles/custom/matrix-bot-matrix-reminder-bot/tasks/validate_config.yml b/roles/custom/matrix-bot-matrix-reminder-bot/tasks/validate_config.yml index 96bab685f..68925dc4f 100644 --- a/roles/custom/matrix-bot-matrix-reminder-bot/tasks/validate_config.yml +++ b/roles/custom/matrix-bot-matrix-reminder-bot/tasks/validate_config.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2020 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required matrix-reminder-bot settings not defined diff --git a/roles/custom/matrix-bot-matrix-reminder-bot/templates/config.yaml.j2.license b/roles/custom/matrix-bot-matrix-reminder-bot/templates/config.yaml.j2.license new file mode 100644 index 000000000..89e5ea1b7 --- /dev/null +++ b/roles/custom/matrix-bot-matrix-reminder-bot/templates/config.yaml.j2.license @@ -0,0 +1,5 @@ +SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2022 MDAD project contributors +SPDX-FileCopyrightText: 2024 Suguru Hirahara + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bot-matrix-reminder-bot/templates/systemd/matrix-bot-matrix-reminder-bot.service.j2.license b/roles/custom/matrix-bot-matrix-reminder-bot/templates/systemd/matrix-bot-matrix-reminder-bot.service.j2.license new file mode 100644 index 000000000..ba251d31b --- /dev/null +++ b/roles/custom/matrix-bot-matrix-reminder-bot/templates/systemd/matrix-bot-matrix-reminder-bot.service.j2.license @@ -0,0 +1,4 @@ +SPDX-FileCopyrightText: 2020 - 2025 Slavi Pantaleev +SPDX-FileCopyrightText: 2020 Scott Crossen + +SPDX-License-Identifier: AGPL-3.0-or-later From b0d53d1b53184c1b09407f3766c80bc5ed760840 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Wed, 26 Feb 2025 15:52:43 +0900 Subject: [PATCH 519/841] Add license information to files for matrix-bridge-go-skype-bridge This commit adds copyright attributions in SPDX to the files for go-skype-bridge, following REUSE's specification. Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bridge-go-skype-bridge.md | 7 +++++++ .../matrix-bridge-go-skype-bridge/defaults/main.yml | 10 ++++++++++ .../matrix-bridge-go-skype-bridge/tasks/main.yml | 5 +++++ .../tasks/setup_install.yml | 7 +++++++ .../tasks/setup_uninstall.yml | 5 +++++ .../tasks/validate_config.yml | 5 +++++ .../templates/config.yaml.j2.license | 6 ++++++ .../systemd/matrix-go-skype-bridge.service.j2.license | 4 ++++ 8 files changed, 49 insertions(+) create mode 100644 roles/custom/matrix-bridge-go-skype-bridge/templates/config.yaml.j2.license create mode 100644 roles/custom/matrix-bridge-go-skype-bridge/templates/systemd/matrix-go-skype-bridge.service.j2.license diff --git a/docs/configuring-playbook-bridge-go-skype-bridge.md b/docs/configuring-playbook-bridge-go-skype-bridge.md index 22ec97905..c90d120cc 100644 --- a/docs/configuring-playbook-bridge-go-skype-bridge.md +++ b/docs/configuring-playbook-bridge-go-skype-bridge.md @@ -1,3 +1,10 @@ + + # Setting up Go Skype Bridge bridging (optional) The playbook can install and configure [go-skype-bridge](https://github.com/kelaresg/go-skype-bridge) for you, for bridging to [Skype](https://www.skype.com/). This bridge was created based on [mautrix-whatsapp](https://github.com/mautrix/whatsapp) and can be configured in a similar way to it. diff --git a/roles/custom/matrix-bridge-go-skype-bridge/defaults/main.yml b/roles/custom/matrix-bridge-go-skype-bridge/defaults/main.yml index a162a5848..a27f22905 100644 --- a/roles/custom/matrix-bridge-go-skype-bridge/defaults/main.yml +++ b/roles/custom/matrix-bridge-go-skype-bridge/defaults/main.yml @@ -1,3 +1,13 @@ +# SPDX-FileCopyrightText: 2022 Vladimir Panteleev +# SPDX-FileCopyrightText: 2022 - 2025 MDAD project contributors +# SPDX-FileCopyrightText: 2022 - 2023 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Arthur Brugière +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # Go Skype Bridge is a Matrix <-> Skype bridge # Project source code URL: https://github.com/kelaresg/go-skype-bridge diff --git a/roles/custom/matrix-bridge-go-skype-bridge/tasks/main.yml b/roles/custom/matrix-bridge-go-skype-bridge/tasks/main.yml index 7ba914213..18b488a44 100644 --- a/roles/custom/matrix-bridge-go-skype-bridge/tasks/main.yml +++ b/roles/custom/matrix-bridge-go-skype-bridge/tasks/main.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2022 Vladimir Panteleev +# SPDX-FileCopyrightText: 2019 - 2023 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-bridge-go-skype-bridge/tasks/setup_install.yml b/roles/custom/matrix-bridge-go-skype-bridge/tasks/setup_install.yml index 9d5bed211..1f142759f 100644 --- a/roles/custom/matrix-bridge-go-skype-bridge/tasks/setup_install.yml +++ b/roles/custom/matrix-bridge-go-skype-bridge/tasks/setup_install.yml @@ -1,3 +1,10 @@ +# SPDX-FileCopyrightText: 2022 Vladimir Panteleev +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2024 David Mehren +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - ansible.builtin.set_fact: diff --git a/roles/custom/matrix-bridge-go-skype-bridge/tasks/setup_uninstall.yml b/roles/custom/matrix-bridge-go-skype-bridge/tasks/setup_uninstall.yml index d7b5999a1..6215ac8b5 100644 --- a/roles/custom/matrix-bridge-go-skype-bridge/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-bridge-go-skype-bridge/tasks/setup_uninstall.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2022 Vladimir Panteleev +# SPDX-FileCopyrightText: 2022 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-go-skype-bridge service diff --git a/roles/custom/matrix-bridge-go-skype-bridge/tasks/validate_config.yml b/roles/custom/matrix-bridge-go-skype-bridge/tasks/validate_config.yml index 7c3f00a18..12f4172af 100644 --- a/roles/custom/matrix-bridge-go-skype-bridge/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-go-skype-bridge/tasks/validate_config.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2022 Vladimir Panteleev +# SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required go-skype-bridge settings not defined diff --git a/roles/custom/matrix-bridge-go-skype-bridge/templates/config.yaml.j2.license b/roles/custom/matrix-bridge-go-skype-bridge/templates/config.yaml.j2.license new file mode 100644 index 000000000..227ac864a --- /dev/null +++ b/roles/custom/matrix-bridge-go-skype-bridge/templates/config.yaml.j2.license @@ -0,0 +1,6 @@ +SPDX-FileCopyrightText: 2022 Vladimir Panteleev +SPDX-FileCopyrightText: 2022 Nikita Chernyi +SPDX-FileCopyrightText: 2022 MDAD project contributors +SPDX-FileCopyrightText: 2024 Suguru Hirahara + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-go-skype-bridge/templates/systemd/matrix-go-skype-bridge.service.j2.license b/roles/custom/matrix-bridge-go-skype-bridge/templates/systemd/matrix-go-skype-bridge.service.j2.license new file mode 100644 index 000000000..6ef6a26f8 --- /dev/null +++ b/roles/custom/matrix-bridge-go-skype-bridge/templates/systemd/matrix-go-skype-bridge.service.j2.license @@ -0,0 +1,4 @@ +SPDX-FileCopyrightText: 2022 Vladimir Panteleev +SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later From 6acf82a3efac5a81221b4016b423dcfd63801c85 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Wed, 26 Feb 2025 15:52:54 +0900 Subject: [PATCH 520/841] Add license information to files for matrix-prometheus-nginxlog-exporter This commit adds copyright attributions in SPDX to the files for prometheus-nginxlog-exporter, following REUSE's specification. Signed-off-by: Suguru Hirahara --- .../matrix-prometheus-nginxlog-exporter/defaults/main.yml | 7 +++++++ .../examples/grafana.png.license | 3 +++ .../examples/metrics.png.license | 3 +++ .../matrix-prometheus-nginxlog-exporter/tasks/main.yml | 5 +++++ .../tasks/setup_install.yml | 6 ++++++ .../tasks/setup_uninstall.yml | 5 +++++ .../tasks/validate_config.yml | 5 +++++ .../templates/grafana/nginx-proxy.json.license | 3 +++ .../templates/labels.j2 | 6 ++++++ .../templates/nginx-proxy.json.license | 3 +++ .../templates/prometheus-nginxlog-exporter.yaml.j2 | 7 +++++++ .../matrix-prometheus-nginxlog-exporter.service.j2.license | 4 ++++ 12 files changed, 57 insertions(+) create mode 100644 roles/custom/matrix-prometheus-nginxlog-exporter/examples/grafana.png.license create mode 100644 roles/custom/matrix-prometheus-nginxlog-exporter/examples/metrics.png.license create mode 100644 roles/custom/matrix-prometheus-nginxlog-exporter/templates/grafana/nginx-proxy.json.license create mode 100644 roles/custom/matrix-prometheus-nginxlog-exporter/templates/nginx-proxy.json.license create mode 100644 roles/custom/matrix-prometheus-nginxlog-exporter/templates/systemd/matrix-prometheus-nginxlog-exporter.service.j2.license diff --git a/roles/custom/matrix-prometheus-nginxlog-exporter/defaults/main.yml b/roles/custom/matrix-prometheus-nginxlog-exporter/defaults/main.yml index d02bdcb43..3cbed7a22 100644 --- a/roles/custom/matrix-prometheus-nginxlog-exporter/defaults/main.yml +++ b/roles/custom/matrix-prometheus-nginxlog-exporter/defaults/main.yml @@ -1,3 +1,10 @@ +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2023 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # prometheus-nginxlog-exporter exports nginx logs in a prometheus usable format on a `/metrics/ endpoint # See: https://github.com/martin-helmich/prometheus-nginxlog-exporter/ diff --git a/roles/custom/matrix-prometheus-nginxlog-exporter/examples/grafana.png.license b/roles/custom/matrix-prometheus-nginxlog-exporter/examples/grafana.png.license new file mode 100644 index 000000000..bf4d752e6 --- /dev/null +++ b/roles/custom/matrix-prometheus-nginxlog-exporter/examples/grafana.png.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2022 MDAD project contributors + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-prometheus-nginxlog-exporter/examples/metrics.png.license b/roles/custom/matrix-prometheus-nginxlog-exporter/examples/metrics.png.license new file mode 100644 index 000000000..bf4d752e6 --- /dev/null +++ b/roles/custom/matrix-prometheus-nginxlog-exporter/examples/metrics.png.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2022 MDAD project contributors + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-prometheus-nginxlog-exporter/tasks/main.yml b/roles/custom/matrix-prometheus-nginxlog-exporter/tasks/main.yml index 124bb61d9..5b2ea34b3 100644 --- a/roles/custom/matrix-prometheus-nginxlog-exporter/tasks/main.yml +++ b/roles/custom/matrix-prometheus-nginxlog-exporter/tasks/main.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2023 - 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-prometheus-nginxlog-exporter/tasks/setup_install.yml b/roles/custom/matrix-prometheus-nginxlog-exporter/tasks/setup_install.yml index f7a0ee213..702c65e3a 100644 --- a/roles/custom/matrix-prometheus-nginxlog-exporter/tasks/setup_install.yml +++ b/roles/custom/matrix-prometheus-nginxlog-exporter/tasks/setup_install.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2023 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2024 David Mehren +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure matrix-prometheus-nginxlog-exporter image is pulled diff --git a/roles/custom/matrix-prometheus-nginxlog-exporter/tasks/setup_uninstall.yml b/roles/custom/matrix-prometheus-nginxlog-exporter/tasks/setup_uninstall.yml index 8828f4ecb..9b1e5035e 100644 --- a/roles/custom/matrix-prometheus-nginxlog-exporter/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-prometheus-nginxlog-exporter/tasks/setup_uninstall.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2023 - 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-prometheus-nginxlog-exporter service diff --git a/roles/custom/matrix-prometheus-nginxlog-exporter/tasks/validate_config.yml b/roles/custom/matrix-prometheus-nginxlog-exporter/tasks/validate_config.yml index 1978ed6ed..9e20017f9 100644 --- a/roles/custom/matrix-prometheus-nginxlog-exporter/tasks/validate_config.yml +++ b/roles/custom/matrix-prometheus-nginxlog-exporter/tasks/validate_config.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2023 - 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: (Deprecation) Catch and report renamed prometheus-nginxlog-exporter settings diff --git a/roles/custom/matrix-prometheus-nginxlog-exporter/templates/grafana/nginx-proxy.json.license b/roles/custom/matrix-prometheus-nginxlog-exporter/templates/grafana/nginx-proxy.json.license new file mode 100644 index 000000000..9c2c35bce --- /dev/null +++ b/roles/custom/matrix-prometheus-nginxlog-exporter/templates/grafana/nginx-proxy.json.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2023 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-prometheus-nginxlog-exporter/templates/labels.j2 b/roles/custom/matrix-prometheus-nginxlog-exporter/templates/labels.j2 index e5aa3c620..7aa35d9c6 100644 --- a/roles/custom/matrix-prometheus-nginxlog-exporter/templates/labels.j2 +++ b/roles/custom/matrix-prometheus-nginxlog-exporter/templates/labels.j2 @@ -1,3 +1,9 @@ +{# +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + {% if matrix_prometheus_nginxlog_exporter_container_labels_traefik_enabled %} traefik.enable=true diff --git a/roles/custom/matrix-prometheus-nginxlog-exporter/templates/nginx-proxy.json.license b/roles/custom/matrix-prometheus-nginxlog-exporter/templates/nginx-proxy.json.license new file mode 100644 index 000000000..bf4d752e6 --- /dev/null +++ b/roles/custom/matrix-prometheus-nginxlog-exporter/templates/nginx-proxy.json.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2022 MDAD project contributors + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-prometheus-nginxlog-exporter/templates/prometheus-nginxlog-exporter.yaml.j2 b/roles/custom/matrix-prometheus-nginxlog-exporter/templates/prometheus-nginxlog-exporter.yaml.j2 index 2816ec087..b4c9b94b6 100644 --- a/roles/custom/matrix-prometheus-nginxlog-exporter/templates/prometheus-nginxlog-exporter.yaml.j2 +++ b/roles/custom/matrix-prometheus-nginxlog-exporter/templates/prometheus-nginxlog-exporter.yaml.j2 @@ -1,3 +1,10 @@ +{# +SPDX-FileCopyrightText: 2022 MDAD project contributors +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + listen: port: {{ matrix_prometheus_nginxlog_exporter_container_metrics_port }} address: "0.0.0.0" diff --git a/roles/custom/matrix-prometheus-nginxlog-exporter/templates/systemd/matrix-prometheus-nginxlog-exporter.service.j2.license b/roles/custom/matrix-prometheus-nginxlog-exporter/templates/systemd/matrix-prometheus-nginxlog-exporter.service.j2.license new file mode 100644 index 000000000..fcdcd2e0e --- /dev/null +++ b/roles/custom/matrix-prometheus-nginxlog-exporter/templates/systemd/matrix-prometheus-nginxlog-exporter.service.j2.license @@ -0,0 +1,4 @@ +SPDX-FileCopyrightText: 2022 MDAD project contributors +SPDX-FileCopyrightText: 2023 - 2025 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later From 59b40fb28e910acc33f99eb04d458e35de3474d0 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Wed, 26 Feb 2025 09:00:44 +0200 Subject: [PATCH 521/841] Upgrade Grafana (v11.5.2-1 -> v11.5.2-2) Ref: https://github.com/mother-of-all-self-hosting/ansible-role-grafana/issues/4 --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 207ff01e9..389df2513 100644 --- a/requirements.yml +++ b/requirements.yml @@ -22,7 +22,7 @@ version: v4.98.1-r0-0-0 name: exim_relay - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-grafana.git - version: v11.5.2-1 + version: v11.5.2-2 name: grafana - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-jitsi.git version: v10008-3 From ba3b82ed20aeb67a4b920a062a8abc3137ae8f25 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Wed, 26 Feb 2025 09:37:05 +0200 Subject: [PATCH 522/841] Switch to pulling Element Web from Github Container Registry, not Docker Hub --- roles/custom/matrix-client-element/defaults/main.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/roles/custom/matrix-client-element/defaults/main.yml b/roles/custom/matrix-client-element/defaults/main.yml index 655a020a8..cba52d7aa 100644 --- a/roles/custom/matrix-client-element/defaults/main.yml +++ b/roles/custom/matrix-client-element/defaults/main.yml @@ -10,13 +10,13 @@ matrix_client_element_container_image_self_build_repo: "https://github.com/eleme # - https://github.com/element-hq/element-web/issues/19544 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=ghcr.io/element-hq/element-web matrix_client_element_version: v1.11.93 -matrix_client_element_docker_image: "{{ matrix_client_element_docker_image_registry_prefix }}vectorim/element-web:{{ matrix_client_element_version }}" +matrix_client_element_docker_image: "{{ matrix_client_element_docker_image_registry_prefix }}element-hq/element-web:{{ matrix_client_element_version }}" matrix_client_element_docker_image_registry_prefix: "{{ 'localhost/' if matrix_client_element_container_image_self_build else matrix_client_element_docker_image_registry_prefix_upstream }}" matrix_client_element_docker_image_registry_prefix_upstream: "{{ matrix_client_element_docker_image_registry_prefix_upstream_default }}" -matrix_client_element_docker_image_registry_prefix_upstream_default: docker.io/ +matrix_client_element_docker_image_registry_prefix_upstream_default: ghcr.io/ matrix_client_element_docker_image_force_pull: "{{ matrix_client_element_docker_image.endswith(':latest') }}" matrix_client_element_data_path: "{{ matrix_base_data_path }}/client-element" From ff031dfd96ceaa43f15c34d2184076ea3c6b16ec Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Wed, 26 Feb 2025 22:50:04 +0900 Subject: [PATCH 523/841] Update ansible-lint.yml: add the license information Signed-off-by: Suguru Hirahara --- .config/ansible-lint.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.config/ansible-lint.yml b/.config/ansible-lint.yml index 0ff5748cb..16d4cb0fa 100644 --- a/.config/ansible-lint.yml +++ b/.config/ansible-lint.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2022 - 2023 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- use_default_rules: true From 5fa5026d69552162bf850c14edfc2b7faa9bde64 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Wed, 26 Feb 2025 22:52:29 +0900 Subject: [PATCH 524/841] Update .github directory: add copyright information - Exclude renovate.json - Rename reuse.toml: capitalization Signed-off-by: Suguru Hirahara --- .github/FUNDING.yml | 5 +++++ .github/ISSUE_TEMPLATE/bug_report.md | 7 +++++++ .github/ISSUE_TEMPLATE/config.yml | 4 ++++ .github/ISSUE_TEMPLATE/feature_request.md | 7 +++++++ .github/ISSUE_TEMPLATE/i-need-help.md | 7 +++++++ .github/dependabot.yaml | 4 ++++ .github/workflows/close-stale-issues.yml | 4 ++++ .github/workflows/matrix.yml | 6 ++++++ reuse.toml => REUSE.toml | 1 + 9 files changed, 45 insertions(+) rename reuse.toml => REUSE.toml (95%) diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index 463b7cd47..d1e7546da 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2020 - 2021 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # These are supported funding model platforms diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 985806d5b..67582267d 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -1,3 +1,10 @@ + + --- name: Bug report about: Create a report to help us improve diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 57488385d..98f6bad20 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- blank_issues_enabled: false contact_links: diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index 5746ab313..0b21a2fef 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -1,3 +1,10 @@ + + --- name: Feature request about: Suggest an idea for this project diff --git a/.github/ISSUE_TEMPLATE/i-need-help.md b/.github/ISSUE_TEMPLATE/i-need-help.md index 03632d440..9f76ce259 100644 --- a/.github/ISSUE_TEMPLATE/i-need-help.md +++ b/.github/ISSUE_TEMPLATE/i-need-help.md @@ -1,3 +1,10 @@ + + --- name: I need help about: Get support from our community diff --git a/.github/dependabot.yaml b/.github/dependabot.yaml index b9c3cd49d..dad8d2cf2 100644 --- a/.github/dependabot.yaml +++ b/.github/dependabot.yaml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- version: 2 updates: diff --git a/.github/workflows/close-stale-issues.yml b/.github/workflows/close-stale-issues.yml index 4473c589e..13da4f81a 100644 --- a/.github/workflows/close-stale-issues.yml +++ b/.github/workflows/close-stale-issues.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- name: 'Close stale issues and PRs' on: # yamllint disable-line rule:truthy diff --git a/.github/workflows/matrix.yml b/.github/workflows/matrix.yml index de1455688..0f9abd338 100644 --- a/.github/workflows/matrix.yml +++ b/.github/workflows/matrix.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- name: Matrix CI diff --git a/reuse.toml b/REUSE.toml similarity index 95% rename from reuse.toml rename to REUSE.toml index 77ad4587b..849d77627 100644 --- a/reuse.toml +++ b/REUSE.toml @@ -7,6 +7,7 @@ version = 1 # Computer-generated files and other files which cannot be copyrighted [[annotations]] path = [ + ".github/renovate.json", "i18n/.gitignore", "i18n/requirements.txt", "i18n/PUBLISHED_LANGUAGES" From 8367981bfb075ae42dad0a0cca671e5eb7c10dbb Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 27 Feb 2025 01:56:36 +0900 Subject: [PATCH 525/841] Add license information to files for matrix-conduwuit This commit adds copyright attributions in SPDX to the files for matrix-conduwuit, following REUSE's specification. Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-conduwuit.md | 7 +++++++ roles/custom/matrix-conduwuit/defaults/main.yml | 5 +++++ roles/custom/matrix-conduwuit/tasks/install.yml | 4 ++++ roles/custom/matrix-conduwuit/tasks/main.yml | 5 +++++ .../matrix-conduwuit/tasks/self_check_client_api.yml | 5 +++++ .../matrix-conduwuit/tasks/self_check_federation_api.yml | 4 ++++ roles/custom/matrix-conduwuit/tasks/setup_install.yml | 4 ++++ roles/custom/matrix-conduwuit/tasks/setup_uninstall.yml | 4 ++++ roles/custom/matrix-conduwuit/tasks/uninstall.yml | 4 ++++ roles/custom/matrix-conduwuit/tasks/validate_config.yml | 4 ++++ roles/custom/matrix-conduwuit/templates/conduwuit.toml.j2 | 8 ++++++++ roles/custom/matrix-conduwuit/templates/env.j2.license | 3 +++ roles/custom/matrix-conduwuit/templates/labels.j2 | 8 ++++++++ .../templates/systemd/matrix-conduwuit.service.j2.license | 4 ++++ roles/custom/matrix-conduwuit/vars/main.yml | 5 +++++ 15 files changed, 74 insertions(+) create mode 100644 roles/custom/matrix-conduwuit/templates/env.j2.license create mode 100644 roles/custom/matrix-conduwuit/templates/systemd/matrix-conduwuit.service.j2.license diff --git a/docs/configuring-playbook-conduwuit.md b/docs/configuring-playbook-conduwuit.md index b198dd814..f31d57ab4 100644 --- a/docs/configuring-playbook-conduwuit.md +++ b/docs/configuring-playbook-conduwuit.md @@ -1,3 +1,10 @@ + + # Configuring conduwuit (optional) The playbook can install and configure the [conduwuit](https://conduwuit.puppyirl.gay/) Matrix server for you. diff --git a/roles/custom/matrix-conduwuit/defaults/main.yml b/roles/custom/matrix-conduwuit/defaults/main.yml index ad420f2a4..37db36882 100644 --- a/roles/custom/matrix-conduwuit/defaults/main.yml +++ b/roles/custom/matrix-conduwuit/defaults/main.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2025 MDAD project contributors +# SPDX-FileCopyrightText: 2025 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # conduwuit is a very cool, featureful fork of conduit (https://gitlab.com/famedly/conduit). # Project source code URL: https://github.com/girlbossceo/conduwuit diff --git a/roles/custom/matrix-conduwuit/tasks/install.yml b/roles/custom/matrix-conduwuit/tasks/install.yml index 91d244c25..aa489386e 100644 --- a/roles/custom/matrix-conduwuit/tasks/install.yml +++ b/roles/custom/matrix-conduwuit/tasks/install.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2025 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure conduwuit config path exists diff --git a/roles/custom/matrix-conduwuit/tasks/main.yml b/roles/custom/matrix-conduwuit/tasks/main.yml index 68d5daad1..425f81bee 100644 --- a/roles/custom/matrix-conduwuit/tasks/main.yml +++ b/roles/custom/matrix-conduwuit/tasks/main.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2025 MDAD project contributors +# SPDX-FileCopyrightText: 2025 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-conduwuit/tasks/self_check_client_api.yml b/roles/custom/matrix-conduwuit/tasks/self_check_client_api.yml index 19da0161b..5ea3f830f 100644 --- a/roles/custom/matrix-conduwuit/tasks/self_check_client_api.yml +++ b/roles/custom/matrix-conduwuit/tasks/self_check_client_api.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2025 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check Matrix Client API diff --git a/roles/custom/matrix-conduwuit/tasks/self_check_federation_api.yml b/roles/custom/matrix-conduwuit/tasks/self_check_federation_api.yml index fde73dae0..000a4b608 100644 --- a/roles/custom/matrix-conduwuit/tasks/self_check_federation_api.yml +++ b/roles/custom/matrix-conduwuit/tasks/self_check_federation_api.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2025 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check Matrix Federation API diff --git a/roles/custom/matrix-conduwuit/tasks/setup_install.yml b/roles/custom/matrix-conduwuit/tasks/setup_install.yml index 02b189986..4a5651fcf 100644 --- a/roles/custom/matrix-conduwuit/tasks/setup_install.yml +++ b/roles/custom/matrix-conduwuit/tasks/setup_install.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2025 MDAD project contributors +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure conduwuit config path exists diff --git a/roles/custom/matrix-conduwuit/tasks/setup_uninstall.yml b/roles/custom/matrix-conduwuit/tasks/setup_uninstall.yml index dcf802b0a..24326b337 100644 --- a/roles/custom/matrix-conduwuit/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-conduwuit/tasks/setup_uninstall.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2025 MDAD project contributors +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-conduwuit service diff --git a/roles/custom/matrix-conduwuit/tasks/uninstall.yml b/roles/custom/matrix-conduwuit/tasks/uninstall.yml index dcf802b0a..9755d5ad1 100644 --- a/roles/custom/matrix-conduwuit/tasks/uninstall.yml +++ b/roles/custom/matrix-conduwuit/tasks/uninstall.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2025 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-conduwuit service diff --git a/roles/custom/matrix-conduwuit/tasks/validate_config.yml b/roles/custom/matrix-conduwuit/tasks/validate_config.yml index 26f3ab100..acb95bec1 100644 --- a/roles/custom/matrix-conduwuit/tasks/validate_config.yml +++ b/roles/custom/matrix-conduwuit/tasks/validate_config.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2025 MDAD project contributors +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required conduwuit settings not defined diff --git a/roles/custom/matrix-conduwuit/templates/conduwuit.toml.j2 b/roles/custom/matrix-conduwuit/templates/conduwuit.toml.j2 index 86c1ac255..0438a2d97 100644 --- a/roles/custom/matrix-conduwuit/templates/conduwuit.toml.j2 +++ b/roles/custom/matrix-conduwuit/templates/conduwuit.toml.j2 @@ -1,3 +1,11 @@ +{# +SPDX-FileCopyrightText: 2025 MDAD project contributors +SPDX-FileCopyrightText: 2025 Slavi Pantaleev +SPDX-FileCopyrightText: 2025 Suguru Hirahara + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + ### conduwuit Configuration ### See: ### https://conduwuit.puppyirl.gay/configuration.html diff --git a/roles/custom/matrix-conduwuit/templates/env.j2.license b/roles/custom/matrix-conduwuit/templates/env.j2.license new file mode 100644 index 000000000..a149c4232 --- /dev/null +++ b/roles/custom/matrix-conduwuit/templates/env.j2.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2025 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-conduwuit/templates/labels.j2 b/roles/custom/matrix-conduwuit/templates/labels.j2 index 4a268c366..bcaf3b2dc 100644 --- a/roles/custom/matrix-conduwuit/templates/labels.j2 +++ b/roles/custom/matrix-conduwuit/templates/labels.j2 @@ -1,3 +1,11 @@ +{# +SPDX-FileCopyrightText: 2025 MDAD project contributors +SPDX-FileCopyrightText: 2025 Slavi Pantaleev +SPDX-FileCopyrightText: 2025 Suguru Hirahara + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + {% if matrix_conduwuit_container_labels_traefik_enabled %} traefik.enable=true diff --git a/roles/custom/matrix-conduwuit/templates/systemd/matrix-conduwuit.service.j2.license b/roles/custom/matrix-conduwuit/templates/systemd/matrix-conduwuit.service.j2.license new file mode 100644 index 000000000..6fe7fc50c --- /dev/null +++ b/roles/custom/matrix-conduwuit/templates/systemd/matrix-conduwuit.service.j2.license @@ -0,0 +1,4 @@ +SPDX-FileCopyrightText: 2025 MDAD project contributors +SPDX-FileCopyrightText: 2025 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-conduwuit/vars/main.yml b/roles/custom/matrix-conduwuit/vars/main.yml index 02684574c..fa5ec9d6e 100644 --- a/roles/custom/matrix-conduwuit/vars/main.yml +++ b/roles/custom/matrix-conduwuit/vars/main.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2025 MDAD project contributors +# SPDX-FileCopyrightText: 2025 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- matrix_conduwuit_client_api_url_endpoint_public: "{{ 'https' if matrix_playbook_ssl_enabled else 'http' }}://{{ matrix_conduwuit_hostname }}/_matrix/client/versions" From 74aec2f31473dad42548e41a1f1f06030b3d560e Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 27 Feb 2025 01:57:07 +0900 Subject: [PATCH 526/841] Add license information to files for matrix-client-fluffychat This commit adds copyright attributions in SPDX to the files for matrix-client-fluffychat, following REUSE's specification. Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-client-fluffychat-web.md | 7 +++++++ roles/custom/matrix-client-fluffychat/defaults/main.yml | 5 +++++ roles/custom/matrix-client-fluffychat/tasks/main.yml | 4 ++++ roles/custom/matrix-client-fluffychat/tasks/self_check.yml | 4 ++++ .../matrix-client-fluffychat/tasks/setup_install.yml | 4 ++++ .../matrix-client-fluffychat/tasks/setup_uninstall.yml | 4 ++++ .../matrix-client-fluffychat/tasks/validate_config.yml | 5 +++++ roles/custom/matrix-client-fluffychat/templates/labels.j2 | 6 ++++++ .../systemd/matrix-client-fluffychat.service.j2.license | 4 ++++ 9 files changed, 43 insertions(+) create mode 100644 roles/custom/matrix-client-fluffychat/templates/systemd/matrix-client-fluffychat.service.j2.license diff --git a/docs/configuring-playbook-client-fluffychat-web.md b/docs/configuring-playbook-client-fluffychat-web.md index 262c31488..a438c585d 100644 --- a/docs/configuring-playbook-client-fluffychat-web.md +++ b/docs/configuring-playbook-client-fluffychat-web.md @@ -1,3 +1,10 @@ + + # Setting up FluffyChat Web (optional) The playbook can install and configure the [FluffyChat Web](https://github.com/krille-chan/fluffychat) Matrix client for you. diff --git a/roles/custom/matrix-client-fluffychat/defaults/main.yml b/roles/custom/matrix-client-fluffychat/defaults/main.yml index adb72fc94..417911a4c 100644 --- a/roles/custom/matrix-client-fluffychat/defaults/main.yml +++ b/roles/custom/matrix-client-fluffychat/defaults/main.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2025 Nikita Chernyi +# SPDX-FileCopyrightText: 2025 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # Project source code URL: https://github.com/krille-chan/fluffychat diff --git a/roles/custom/matrix-client-fluffychat/tasks/main.yml b/roles/custom/matrix-client-fluffychat/tasks/main.yml index 55ca7a933..846913577 100644 --- a/roles/custom/matrix-client-fluffychat/tasks/main.yml +++ b/roles/custom/matrix-client-fluffychat/tasks/main.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2025 Nikita Chernyi +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-client-fluffychat/tasks/self_check.yml b/roles/custom/matrix-client-fluffychat/tasks/self_check.yml index b0dda25c1..12f8bd298 100644 --- a/roles/custom/matrix-client-fluffychat/tasks/self_check.yml +++ b/roles/custom/matrix-client-fluffychat/tasks/self_check.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2025 Nikita Chernyi +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - ansible.builtin.set_fact: diff --git a/roles/custom/matrix-client-fluffychat/tasks/setup_install.yml b/roles/custom/matrix-client-fluffychat/tasks/setup_install.yml index ca5619b51..a774ad724 100644 --- a/roles/custom/matrix-client-fluffychat/tasks/setup_install.yml +++ b/roles/custom/matrix-client-fluffychat/tasks/setup_install.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2025 Nikita Chernyi +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure FluffyChat Web paths exists diff --git a/roles/custom/matrix-client-fluffychat/tasks/setup_uninstall.yml b/roles/custom/matrix-client-fluffychat/tasks/setup_uninstall.yml index 313489bb5..140c95344 100644 --- a/roles/custom/matrix-client-fluffychat/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-client-fluffychat/tasks/setup_uninstall.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2025 Nikita Chernyi +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-client-fluffychat.service diff --git a/roles/custom/matrix-client-fluffychat/tasks/validate_config.yml b/roles/custom/matrix-client-fluffychat/tasks/validate_config.yml index b42495c53..f5a5ae961 100644 --- a/roles/custom/matrix-client-fluffychat/tasks/validate_config.yml +++ b/roles/custom/matrix-client-fluffychat/tasks/validate_config.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2025 Nikita Chernyi +# SPDX-FileCopyrightText: 2025 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required FluffyChat Web settings not defined diff --git a/roles/custom/matrix-client-fluffychat/templates/labels.j2 b/roles/custom/matrix-client-fluffychat/templates/labels.j2 index 2f1ea5a87..f3527c61a 100644 --- a/roles/custom/matrix-client-fluffychat/templates/labels.j2 +++ b/roles/custom/matrix-client-fluffychat/templates/labels.j2 @@ -1,3 +1,9 @@ +{# +SPDX-FileCopyrightText: 2025 Nikita Chernyi + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + {% if matrix_client_fluffychat_container_labels_traefik_enabled %} traefik.enable=true diff --git a/roles/custom/matrix-client-fluffychat/templates/systemd/matrix-client-fluffychat.service.j2.license b/roles/custom/matrix-client-fluffychat/templates/systemd/matrix-client-fluffychat.service.j2.license new file mode 100644 index 000000000..a12f6a9f4 --- /dev/null +++ b/roles/custom/matrix-client-fluffychat/templates/systemd/matrix-client-fluffychat.service.j2.license @@ -0,0 +1,4 @@ +SPDX-FileCopyrightText: 2025 Nikita Chernyi +SPDX-FileCopyrightText: 2025 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later From 59890c2805d0604c7246b40749a9e86aa363821d Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 27 Feb 2025 02:17:26 +0900 Subject: [PATCH 527/841] Add license information to files for matrix-client-cinny This commit adds copyright attributions in SPDX to the files for matrix-client-cinny, following REUSE's specification. Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-client-cinny.md | 8 ++++++++ roles/custom/matrix-client-cinny/defaults/main.yml | 10 ++++++++++ roles/custom/matrix-client-cinny/tasks/main.yml | 6 ++++++ roles/custom/matrix-client-cinny/tasks/self_check.yml | 6 ++++++ .../custom/matrix-client-cinny/tasks/setup_install.yml | 9 +++++++++ .../matrix-client-cinny/tasks/setup_uninstall.yml | 7 +++++++ .../matrix-client-cinny/tasks/validate_config.yml | 5 +++++ .../templates/config.json.j2.license | 4 ++++ roles/custom/matrix-client-cinny/templates/labels.j2 | 6 ++++++ .../templates/nginx.conf.j2.license | 5 +++++ .../systemd/matrix-client-cinny.service.j2.license | 4 ++++ 11 files changed, 70 insertions(+) create mode 100644 roles/custom/matrix-client-cinny/templates/config.json.j2.license create mode 100644 roles/custom/matrix-client-cinny/templates/nginx.conf.j2.license create mode 100644 roles/custom/matrix-client-cinny/templates/systemd/matrix-client-cinny.service.j2.license diff --git a/docs/configuring-playbook-client-cinny.md b/docs/configuring-playbook-client-cinny.md index 2ba895eb9..095458c14 100644 --- a/docs/configuring-playbook-client-cinny.md +++ b/docs/configuring-playbook-client-cinny.md @@ -1,3 +1,11 @@ + + # Setting up Cinny (optional) The playbook can install and configure the [Cinny](https://github.com/ajbura/cinny) Matrix web client for you. diff --git a/roles/custom/matrix-client-cinny/defaults/main.yml b/roles/custom/matrix-client-cinny/defaults/main.yml index 918740edb..3f103becb 100644 --- a/roles/custom/matrix-client-cinny/defaults/main.yml +++ b/roles/custom/matrix-client-cinny/defaults/main.yml @@ -1,3 +1,13 @@ +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 László Várady +# SPDX-FileCopyrightText: 2022 - 2024 Nikita Chernyi +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # Project source code URL: https://github.com/ajbura/cinny diff --git a/roles/custom/matrix-client-cinny/tasks/main.yml b/roles/custom/matrix-client-cinny/tasks/main.yml index 40c6514b5..bed3c1803 100644 --- a/roles/custom/matrix-client-cinny/tasks/main.yml +++ b/roles/custom/matrix-client-cinny/tasks/main.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-client-cinny/tasks/self_check.yml b/roles/custom/matrix-client-cinny/tasks/self_check.yml index 8e8634153..6bf0d2187 100644 --- a/roles/custom/matrix-client-cinny/tasks/self_check.yml +++ b/roles/custom/matrix-client-cinny/tasks/self_check.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - ansible.builtin.set_fact: diff --git a/roles/custom/matrix-client-cinny/tasks/setup_install.yml b/roles/custom/matrix-client-cinny/tasks/setup_install.yml index ab3dcbf64..2c19d421d 100644 --- a/roles/custom/matrix-client-cinny/tasks/setup_install.yml +++ b/roles/custom/matrix-client-cinny/tasks/setup_install.yml @@ -1,3 +1,12 @@ +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2024 David Mehren +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure Cinny paths exists ansible.builtin.file: diff --git a/roles/custom/matrix-client-cinny/tasks/setup_uninstall.yml b/roles/custom/matrix-client-cinny/tasks/setup_uninstall.yml index a73825623..0474902ba 100644 --- a/roles/custom/matrix-client-cinny/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-client-cinny/tasks/setup_uninstall.yml @@ -1,3 +1,10 @@ +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-client-cinny.service ansible.builtin.stat: diff --git a/roles/custom/matrix-client-cinny/tasks/validate_config.yml b/roles/custom/matrix-client-cinny/tasks/validate_config.yml index e9a54ac0a..e267b93fe 100644 --- a/roles/custom/matrix-client-cinny/tasks/validate_config.yml +++ b/roles/custom/matrix-client-cinny/tasks/validate_config.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required Cinny settings not defined ansible.builtin.fail: diff --git a/roles/custom/matrix-client-cinny/templates/config.json.j2.license b/roles/custom/matrix-client-cinny/templates/config.json.j2.license new file mode 100644 index 000000000..33dc112bd --- /dev/null +++ b/roles/custom/matrix-client-cinny/templates/config.json.j2.license @@ -0,0 +1,4 @@ +SPDX-FileCopyrightText: 2022 MDAD project contributors +SPDX-FileCopyrightText: 2022 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-client-cinny/templates/labels.j2 b/roles/custom/matrix-client-cinny/templates/labels.j2 index e18e804c0..17e4057d0 100644 --- a/roles/custom/matrix-client-cinny/templates/labels.j2 +++ b/roles/custom/matrix-client-cinny/templates/labels.j2 @@ -1,3 +1,9 @@ +{# +SPDX-FileCopyrightText: 2023 - 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + {% if matrix_client_cinny_container_labels_traefik_enabled %} traefik.enable=true diff --git a/roles/custom/matrix-client-cinny/templates/nginx.conf.j2.license b/roles/custom/matrix-client-cinny/templates/nginx.conf.j2.license new file mode 100644 index 000000000..ea80b31e7 --- /dev/null +++ b/roles/custom/matrix-client-cinny/templates/nginx.conf.j2.license @@ -0,0 +1,5 @@ +SPDX-FileCopyrightText: 2022 MDAD project contributors +SPDX-FileCopyrightText: 2019 - 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2024 James Reilly + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-client-cinny/templates/systemd/matrix-client-cinny.service.j2.license b/roles/custom/matrix-client-cinny/templates/systemd/matrix-client-cinny.service.j2.license new file mode 100644 index 000000000..69c513d50 --- /dev/null +++ b/roles/custom/matrix-client-cinny/templates/systemd/matrix-client-cinny.service.j2.license @@ -0,0 +1,4 @@ +SPDX-FileCopyrightText: 2022 MDAD project contributors +SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later From d49e9f81da9c0ed6442f22d7c1fcf5aa9357be3c Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 27 Feb 2025 02:17:33 +0900 Subject: [PATCH 528/841] Add license information to files for matrix-cactus-comments and matrix-cactus-comments-client This commit adds copyright attributions in SPDX to the files for matrix-cactus-comments and matrix-cactus-comments-client, following REUSE's specification. Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-cactus-comments.md | 9 +++++++++ .../matrix-cactus-comments-client/defaults/main.yml | 5 +++++ .../matrix-cactus-comments-client/tasks/install.yml | 5 +++++ .../custom/matrix-cactus-comments-client/tasks/main.yml | 4 ++++ .../matrix-cactus-comments-client/tasks/uninstall.yml | 4 ++++ .../tasks/validate_config.yml | 4 ++++ .../templates/env.j2.license | 3 +++ .../matrix-cactus-comments-client/templates/labels.j2 | 6 ++++++ .../matrix-cactus-comments-client.service.j2.license | 3 +++ roles/custom/matrix-cactus-comments/defaults/main.yml | 6 ++++++ roles/custom/matrix-cactus-comments/tasks/main.yml | 5 +++++ .../matrix-cactus-comments/tasks/setup_install.yml | 6 ++++++ .../matrix-cactus-comments/tasks/setup_uninstall.yml | 6 ++++++ .../matrix-cactus-comments/tasks/validate_config.yml | 5 +++++ .../templates/cactus_appservice.yaml.j2 | 8 ++++++++ .../matrix-cactus-comments/templates/env.j2.license | 4 ++++ .../systemd/matrix-cactus-comments.service.j2.license | 4 ++++ 17 files changed, 87 insertions(+) create mode 100644 roles/custom/matrix-cactus-comments-client/templates/env.j2.license create mode 100644 roles/custom/matrix-cactus-comments-client/templates/systemd/matrix-cactus-comments-client.service.j2.license create mode 100644 roles/custom/matrix-cactus-comments/templates/env.j2.license create mode 100644 roles/custom/matrix-cactus-comments/templates/systemd/matrix-cactus-comments.service.j2.license diff --git a/docs/configuring-playbook-cactus-comments.md b/docs/configuring-playbook-cactus-comments.md index f6b704133..61a8bf0d6 100644 --- a/docs/configuring-playbook-cactus-comments.md +++ b/docs/configuring-playbook-cactus-comments.md @@ -1,3 +1,12 @@ + + # Setting up Cactus Comments (optional) The playbook can install and configure the [Cactus Comments](https://cactus.chat) system for you. diff --git a/roles/custom/matrix-cactus-comments-client/defaults/main.yml b/roles/custom/matrix-cactus-comments-client/defaults/main.yml index 9c5b61a05..4e7a8c751 100644 --- a/roles/custom/matrix-cactus-comments-client/defaults/main.yml +++ b/roles/custom/matrix-cactus-comments-client/defaults/main.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # Cactus Comments is a federated comment system built on Matrix. # This role installs the client assets (JS, CSS files). diff --git a/roles/custom/matrix-cactus-comments-client/tasks/install.yml b/roles/custom/matrix-cactus-comments-client/tasks/install.yml index 16fdde5e2..466a9900e 100644 --- a/roles/custom/matrix-cactus-comments-client/tasks/install.yml +++ b/roles/custom/matrix-cactus-comments-client/tasks/install.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2024 David Mehren +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure matrix-cactus-comments-client paths exist diff --git a/roles/custom/matrix-cactus-comments-client/tasks/main.yml b/roles/custom/matrix-cactus-comments-client/tasks/main.yml index 9423aada2..7defa906b 100644 --- a/roles/custom/matrix-cactus-comments-client/tasks/main.yml +++ b/roles/custom/matrix-cactus-comments-client/tasks/main.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-cactus-comments-client/tasks/uninstall.yml b/roles/custom/matrix-cactus-comments-client/tasks/uninstall.yml index df6c55324..f38c7658c 100644 --- a/roles/custom/matrix-cactus-comments-client/tasks/uninstall.yml +++ b/roles/custom/matrix-cactus-comments-client/tasks/uninstall.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-cactus-comments-client service diff --git a/roles/custom/matrix-cactus-comments-client/tasks/validate_config.yml b/roles/custom/matrix-cactus-comments-client/tasks/validate_config.yml index c1142ce32..fc3901551 100644 --- a/roles/custom/matrix-cactus-comments-client/tasks/validate_config.yml +++ b/roles/custom/matrix-cactus-comments-client/tasks/validate_config.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required matrix-cactus-comments-client settings not defined diff --git a/roles/custom/matrix-cactus-comments-client/templates/env.j2.license b/roles/custom/matrix-cactus-comments-client/templates/env.j2.license new file mode 100644 index 000000000..e64bd56b9 --- /dev/null +++ b/roles/custom/matrix-cactus-comments-client/templates/env.j2.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-cactus-comments-client/templates/labels.j2 b/roles/custom/matrix-cactus-comments-client/templates/labels.j2 index 274ba9e07..d5e7291ae 100644 --- a/roles/custom/matrix-cactus-comments-client/templates/labels.j2 +++ b/roles/custom/matrix-cactus-comments-client/templates/labels.j2 @@ -1,3 +1,9 @@ +{# +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + {% if matrix_cactus_comments_client_container_labels_traefik_enabled %} traefik.enable=true diff --git a/roles/custom/matrix-cactus-comments-client/templates/systemd/matrix-cactus-comments-client.service.j2.license b/roles/custom/matrix-cactus-comments-client/templates/systemd/matrix-cactus-comments-client.service.j2.license new file mode 100644 index 000000000..e64bd56b9 --- /dev/null +++ b/roles/custom/matrix-cactus-comments-client/templates/systemd/matrix-cactus-comments-client.service.j2.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-cactus-comments/defaults/main.yml b/roles/custom/matrix-cactus-comments/defaults/main.yml index 4794d1517..6189f9faf 100644 --- a/roles/custom/matrix-cactus-comments/defaults/main.yml +++ b/roles/custom/matrix-cactus-comments/defaults/main.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2022 - 2023 Julian-Samuel Gebühr +# SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # Cactus Comments is a federated comment system built on Matrix. # This role installs the backend appservice. diff --git a/roles/custom/matrix-cactus-comments/tasks/main.yml b/roles/custom/matrix-cactus-comments/tasks/main.yml index 12ee16717..00f3c4b1f 100644 --- a/roles/custom/matrix-cactus-comments/tasks/main.yml +++ b/roles/custom/matrix-cactus-comments/tasks/main.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2022 Julian-Samuel Gebühr +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-cactus-comments/tasks/setup_install.yml b/roles/custom/matrix-cactus-comments/tasks/setup_install.yml index b79611595..5e6219746 100644 --- a/roles/custom/matrix-cactus-comments/tasks/setup_install.yml +++ b/roles/custom/matrix-cactus-comments/tasks/setup_install.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2022 - 2023 Julian-Samuel Gebühr +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure matrix-cactus-comments paths exist diff --git a/roles/custom/matrix-cactus-comments/tasks/setup_uninstall.yml b/roles/custom/matrix-cactus-comments/tasks/setup_uninstall.yml index 833708aa7..451a2db0b 100644 --- a/roles/custom/matrix-cactus-comments/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-cactus-comments/tasks/setup_uninstall.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2022 Julian-Samuel Gebühr +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-cactus-comments service diff --git a/roles/custom/matrix-cactus-comments/tasks/validate_config.yml b/roles/custom/matrix-cactus-comments/tasks/validate_config.yml index 683b2f0d9..1fccefc47 100644 --- a/roles/custom/matrix-cactus-comments/tasks/validate_config.yml +++ b/roles/custom/matrix-cactus-comments/tasks/validate_config.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2022 Julian-Samuel Gebühr +# SPDX-FileCopyrightText: 2019 - 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: (Deprecation) Catch and report renamed matrix-cactus-comments settings diff --git a/roles/custom/matrix-cactus-comments/templates/cactus_appservice.yaml.j2 b/roles/custom/matrix-cactus-comments/templates/cactus_appservice.yaml.j2 index 007a2e87a..2ecf4d508 100644 --- a/roles/custom/matrix-cactus-comments/templates/cactus_appservice.yaml.j2 +++ b/roles/custom/matrix-cactus-comments/templates/cactus_appservice.yaml.j2 @@ -1,3 +1,11 @@ +{# +SPDX-FileCopyrightText: 2022 Julian-Samuel Gebühr +SPDX-FileCopyrightText: 2022 Slavi Pantaleev +SPDX-FileCopyrightText: 2024 Suguru Hirahara + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + # A unique, user-defined ID of the application service which will never change. id: "Cactus Comments" diff --git a/roles/custom/matrix-cactus-comments/templates/env.j2.license b/roles/custom/matrix-cactus-comments/templates/env.j2.license new file mode 100644 index 000000000..28d697fbe --- /dev/null +++ b/roles/custom/matrix-cactus-comments/templates/env.j2.license @@ -0,0 +1,4 @@ +SPDX-FileCopyrightText: 2022 Julian-Samuel Gebühr +SPDX-FileCopyrightText: 2022 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-cactus-comments/templates/systemd/matrix-cactus-comments.service.j2.license b/roles/custom/matrix-cactus-comments/templates/systemd/matrix-cactus-comments.service.j2.license new file mode 100644 index 000000000..c3b55344f --- /dev/null +++ b/roles/custom/matrix-cactus-comments/templates/systemd/matrix-cactus-comments.service.j2.license @@ -0,0 +1,4 @@ +SPDX-FileCopyrightText: 2022 Julian-Samuel Gebühr +SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later From 1eea92ba567974f6cd5fcf7b7f86c92a6bb2a8d2 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Wed, 26 Feb 2025 20:47:32 +0200 Subject: [PATCH 529/841] Add a `matrix_synapse_redis_use_tls` variable Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/4113 --- roles/custom/matrix-synapse/defaults/main.yml | 1 + .../templates/synapse/homeserver.yaml.j2 | 15 +++++++++------ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/roles/custom/matrix-synapse/defaults/main.yml b/roles/custom/matrix-synapse/defaults/main.yml index 0925e2c15..cd9cfa7ea 100644 --- a/roles/custom/matrix-synapse/defaults/main.yml +++ b/roles/custom/matrix-synapse/defaults/main.yml @@ -1145,6 +1145,7 @@ matrix_synapse_redis_host: "" matrix_synapse_redis_port: 6379 matrix_synapse_redis_password: "" matrix_synapse_redis_dbid: 0 +matrix_synapse_redis_use_tls: false # Controls whether Synapse starts a replication listener necessary for workers. # diff --git a/roles/custom/matrix-synapse/templates/synapse/homeserver.yaml.j2 b/roles/custom/matrix-synapse/templates/synapse/homeserver.yaml.j2 index 1a6cb6c41..aecaf0301 100644 --- a/roles/custom/matrix-synapse/templates/synapse/homeserver.yaml.j2 +++ b/roles/custom/matrix-synapse/templates/synapse/homeserver.yaml.j2 @@ -2919,20 +2919,23 @@ media_instance_running_background_jobs: {{ matrix_synapse_media_instance_running redis: # Uncomment the below to enable Redis support. # - enabled: {{ matrix_synapse_redis_enabled }} + enabled: {{ matrix_synapse_redis_enabled | to_json }} # Optional host and port to use to connect to redis. Defaults to # localhost and 6379 # - host: {{ matrix_synapse_redis_host }} - port: {{ matrix_synapse_redis_port }} + host: {{ matrix_synapse_redis_host | to_json }} + port: {{ matrix_synapse_redis_port | to_json }} # Optional database ID to connect to. Defaults to 0. - dbid: {{ matrix_synapse_redis_dbid }} + dbid: {{ matrix_synapse_redis_dbid | to_json }} # Optional password if configured on the Redis instance - # - password: {{ matrix_synapse_redis_password }} + {% if matrix_synapse_redis_password %} + password: {{ matrix_synapse_redis_password | to_json }} + {% endif %} + + use_tls: {{ matrix_synapse_redis_use_tls | to_json }} ## Background Updates ## From b92d8517ebdc33384b68f69153aa20782bfd0a84 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 26 Feb 2025 21:38:12 +0000 Subject: [PATCH 530/841] Update dependency setuptools to v75.8.2 --- i18n/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/requirements.txt b/i18n/requirements.txt index fc9e436fb..747c42ffa 100644 --- a/i18n/requirements.txt +++ b/i18n/requirements.txt @@ -17,7 +17,7 @@ packaging==24.2 Pygments==2.19.1 PyYAML==6.0.2 requests==2.32.3 -setuptools==75.8.1 +setuptools==75.8.2 snowballstemmer==2.2.0 Sphinx==8.2.1 sphinx-intl==2.3.1 From f10f16d9b8599f28804de147029d7250ddbd06d7 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 27 Feb 2025 13:31:01 +0900 Subject: [PATCH 531/841] Add copyright header to docs/configuring-captcha.md Signed-off-by: Suguru Hirahara --- docs/configuring-captcha.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/configuring-captcha.md b/docs/configuring-captcha.md index a4a16a1dc..0bdd76d50 100644 --- a/docs/configuring-captcha.md +++ b/docs/configuring-captcha.md @@ -1,3 +1,12 @@ + + (Adapted from the [upstream project](https://github.com/element-hq/synapse/blob/develop/docs/CAPTCHA_SETUP.md)) # Overview From b4ff3a816b6bce873c22cee7a44a13f1e8cdb8d2 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 27 Feb 2025 14:02:52 +0900 Subject: [PATCH 532/841] Add copyright header to docs/configuring-playbook-base-domain-serving.md Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-base-domain-serving.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/configuring-playbook-base-domain-serving.md b/docs/configuring-playbook-base-domain-serving.md index 3a3335e70..b24ab3d38 100644 --- a/docs/configuring-playbook-base-domain-serving.md +++ b/docs/configuring-playbook-base-domain-serving.md @@ -1,3 +1,10 @@ + + # Serving the base domain (optional) By default, this playbook sets up services on your Matrix server (`matrix.example.com`), but has it configured so that it presents itself as the base domain (`example.com`). To have this server officially be responsible for Matrix services for the base domain (`example.com`), you need to set up server delegation / redirection. From 307353742035f8dd06657b1156815063e0e25d56 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 27 Feb 2025 14:10:48 +0900 Subject: [PATCH 533/841] Add copyright header to docs/configuring-playbook-federation.md Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-federation.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/configuring-playbook-federation.md b/docs/configuring-playbook-federation.md index e87d10e79..c06928748 100644 --- a/docs/configuring-playbook-federation.md +++ b/docs/configuring-playbook-federation.md @@ -1,3 +1,11 @@ + + # Controlling Matrix federation (optional) By default, your server federates with the whole Matrix network. That is, people on your server can communicate with people on any other Matrix server. From e19de8aa3f91f387186f00bc193e7c7caf8a6cc0 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 27 Feb 2025 14:10:58 +0900 Subject: [PATCH 534/841] Add copyright header to docs/configuring-playbook-nginx.md Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-nginx.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/docs/configuring-playbook-nginx.md b/docs/configuring-playbook-nginx.md index 2d3353081..c15ad7f14 100644 --- a/docs/configuring-playbook-nginx.md +++ b/docs/configuring-playbook-nginx.md @@ -1,3 +1,14 @@ + + # Configure Nginx (optional, advanced) Since 2024-01, this playbook no longer uses nginx as its reverse-proxy. From 922236c185c52f6dd94d141bb6e24433d1d6cc05 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 27 Feb 2025 14:11:42 +0900 Subject: [PATCH 535/841] Add copyright header to docs/configuring-playbook-own-webserver.md Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-own-webserver.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/docs/configuring-playbook-own-webserver.md b/docs/configuring-playbook-own-webserver.md index e49c454ae..0cac72b64 100644 --- a/docs/configuring-playbook-own-webserver.md +++ b/docs/configuring-playbook-own-webserver.md @@ -1,3 +1,21 @@ + + # Using your own webserver, instead of this playbook's Traefik reverse-proxy (optional, advanced) By default, this playbook installs its own [Traefik](https://traefik.io/) reverse-proxy server (in a Docker container) which listens on ports 80 and 443. If that's okay, you can skip this document. From 1fd9cf0de909e078494ba23b9a8af8365ca01eac Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 27 Feb 2025 14:11:51 +0900 Subject: [PATCH 536/841] Add copyright header to docs/configuring-playbook-ssl-certificates.md Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-ssl-certificates.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/docs/configuring-playbook-ssl-certificates.md b/docs/configuring-playbook-ssl-certificates.md index 94c4d58c5..50f2fbc2b 100644 --- a/docs/configuring-playbook-ssl-certificates.md +++ b/docs/configuring-playbook-ssl-certificates.md @@ -1,3 +1,14 @@ + + # Adjusting SSL certificate retrieval (optional, advanced) By default, this playbook retrieves and auto-renews free SSL certificates from [Let's Encrypt](https://letsencrypt.org/) for the domains it needs (e.g. `matrix.example.com` and others) From 86d72d9b60a2328ddda7e741d801ac1e67e666dd Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 27 Feb 2025 14:12:00 +0900 Subject: [PATCH 537/841] Add copyright header to docs/configuring-playbook-telemetry.md Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-telemetry.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/docs/configuring-playbook-telemetry.md b/docs/configuring-playbook-telemetry.md index aa26fb734..58e67543a 100644 --- a/docs/configuring-playbook-telemetry.md +++ b/docs/configuring-playbook-telemetry.md @@ -1,3 +1,13 @@ + + # Enabling Telemetry for your Matrix server (optional) By default, this playbook configures your Matrix homeserver to not send any telemetry data anywhere. From 032a3fc059ceda2bbbd064fa23cc43f96e8b20bb Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 27 Feb 2025 14:12:13 +0900 Subject: [PATCH 538/841] Add copyright header to docs/configuring-well-known.md Signed-off-by: Suguru Hirahara --- docs/configuring-well-known.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/docs/configuring-well-known.md b/docs/configuring-well-known.md index cd387bc00..ec5ad90ce 100644 --- a/docs/configuring-well-known.md +++ b/docs/configuring-well-known.md @@ -1,3 +1,16 @@ + + # Configuring Service Discovery via .well-known This documentation page explains how to configure Service discovery via `/.well-known/` files. Service discovery is a way for the Matrix network to discover where a Matrix server is. From 504d0dca9aa8087b01b62c8bfd099c08ec389638 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 27 Feb 2025 14:12:24 +0900 Subject: [PATCH 539/841] Add copyright header to docs/container-images.md Signed-off-by: Suguru Hirahara --- docs/container-images.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/docs/container-images.md b/docs/container-images.md index fbafe02e0..d9bb657f9 100644 --- a/docs/container-images.md +++ b/docs/container-images.md @@ -1,3 +1,20 @@ + + # Container images used by the playbook This page summarizes the container ([Docker](https://www.docker.com/)) images used by the playbook when setting up your server. From a717eb1053b2489482e532e32eecb5beff68f464 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 27 Feb 2025 14:39:19 +0900 Subject: [PATCH 540/841] Add copyright header to docs/howto-server-delegation.md Signed-off-by: Suguru Hirahara --- docs/howto-server-delegation.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/howto-server-delegation.md b/docs/howto-server-delegation.md index 602fda481..fb6a26f79 100644 --- a/docs/howto-server-delegation.md +++ b/docs/howto-server-delegation.md @@ -1,3 +1,15 @@ + + # Server Delegation By default, this playbook sets up services on your Matrix server (`matrix.example.com`). To have this server officially be responsible for Matrix services for the base domain (`example.com`), you need to set up server delegation / redirection. From 13aef904a46837ea72ff7c29c742885f28c70e09 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 27 Feb 2025 14:41:09 +0900 Subject: [PATCH 541/841] Add copyright header to docs/howto-srv-server-delegation.md Signed-off-by: Suguru Hirahara --- docs/howto-srv-server-delegation.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/howto-srv-server-delegation.md b/docs/howto-srv-server-delegation.md index 4512dfca8..7a13ddab4 100644 --- a/docs/howto-srv-server-delegation.md +++ b/docs/howto-srv-server-delegation.md @@ -1,3 +1,11 @@ + + # Server Delegation via a DNS SRV record (advanced) **Reminder** : unless you are affected by the [Downsides of well-known-based Server Delegation](howto-server-delegation.md#downsides-of-well-known-based-server-delegation), we suggest you **stay on the simple/default path**: [Server Delegation](howto-server-delegation.md) by [configuring well-known files](configuring-well-known.md) at the base domain. From 3f21b22cd0d2ca6701a4c50111a4cf118c98c5a0 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 27 Feb 2025 14:41:31 +0900 Subject: [PATCH 542/841] Add copyright header to docs/importing-postgres.md Signed-off-by: Suguru Hirahara --- docs/importing-postgres.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/importing-postgres.md b/docs/importing-postgres.md index 1113caf1e..a27c7d6d5 100644 --- a/docs/importing-postgres.md +++ b/docs/importing-postgres.md @@ -1,3 +1,12 @@ + + # Importing an existing Postgres database from another installation (optional) You can manually import your database from a previous default installation of Synapse. From 275f01419eba438504b7e4e94829c87ffed521cb Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 27 Feb 2025 14:41:42 +0900 Subject: [PATCH 543/841] Add copyright header to docs/importing-synapse-media-store.md Signed-off-by: Suguru Hirahara --- docs/importing-synapse-media-store.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/importing-synapse-media-store.md b/docs/importing-synapse-media-store.md index 69c8b0ef6..08993f952 100644 --- a/docs/importing-synapse-media-store.md +++ b/docs/importing-synapse-media-store.md @@ -1,3 +1,10 @@ + + # Importing `media_store` data files from an existing Synapse installation (optional) You can manually import your `media_store` files from a previous installation of Synapse. From 3dc46d225b1cf2fde48a15f12ef01736d63f34ee Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 27 Feb 2025 14:41:48 +0900 Subject: [PATCH 544/841] Add copyright header to docs/importing-synapse-sqlite.md Signed-off-by: Suguru Hirahara --- docs/importing-synapse-sqlite.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/importing-synapse-sqlite.md b/docs/importing-synapse-sqlite.md index 0fe0ec84e..f3ce1d2f4 100644 --- a/docs/importing-synapse-sqlite.md +++ b/docs/importing-synapse-sqlite.md @@ -1,3 +1,11 @@ + + # Importing an existing SQLite database from another Synapse installation (optional) You can manually import your database from a previous default installation of Synapse. From ea5c0f71e06667837d301a637075020791b8d0ea Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 27 Feb 2025 14:41:53 +0900 Subject: [PATCH 545/841] Add copyright header to docs/maintenance-migrating.md Signed-off-by: Suguru Hirahara --- docs/maintenance-migrating.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/maintenance-migrating.md b/docs/maintenance-migrating.md index 2aa2e5a86..2b07201c4 100644 --- a/docs/maintenance-migrating.md +++ b/docs/maintenance-migrating.md @@ -1,3 +1,12 @@ + + # Migrating to new server This documentation explains how to migrate your Matrix services (server, client, bridges, etc.) and data **from an old server to a new server**. From ec7d9898b55e6edbde1978520f02499f94aef930 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 27 Feb 2025 14:41:58 +0900 Subject: [PATCH 546/841] Add copyright header to docs/maintenance-synapse.md Signed-off-by: Suguru Hirahara --- docs/maintenance-synapse.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/docs/maintenance-synapse.md b/docs/maintenance-synapse.md index e7cb17c9d..15b6eb62b 100644 --- a/docs/maintenance-synapse.md +++ b/docs/maintenance-synapse.md @@ -1,3 +1,14 @@ + + # Synapse maintenance This document shows you how to perform various maintenance tasks related to the Synapse chat server. From 24f97e9f546a185196c40f96799bde1acd74c034 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 27 Feb 2025 14:42:03 +0900 Subject: [PATCH 547/841] Add copyright header to docs/obtaining-access-tokens.md Signed-off-by: Suguru Hirahara --- docs/obtaining-access-tokens.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/obtaining-access-tokens.md b/docs/obtaining-access-tokens.md index 3466f1a4e..1600e413c 100644 --- a/docs/obtaining-access-tokens.md +++ b/docs/obtaining-access-tokens.md @@ -1,3 +1,12 @@ + + # Obtaining an Access Token When setting up some optional features like bots and bridges you will need to provide an access token for some user. This document provides documentation on how to obtain such an access token. From bcdf1f803c56707c725d9ed0d8a8ea9a9b6a3e28 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 27 Feb 2025 14:42:08 +0900 Subject: [PATCH 548/841] Add copyright header to docs/quick-start.md Signed-off-by: Suguru Hirahara --- docs/quick-start.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/quick-start.md b/docs/quick-start.md index 21b8515e2..c9513c964 100644 --- a/docs/quick-start.md +++ b/docs/quick-start.md @@ -1,3 +1,9 @@ + + # Quick start + # Registering users This documentation page tells you how to create user accounts on your Matrix server. From 8a1809463bbcaa4e53ec12a24491d5acad594969 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 27 Feb 2025 14:42:18 +0900 Subject: [PATCH 550/841] Add copyright header to docs/self-building.md Signed-off-by: Suguru Hirahara --- docs/self-building.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/docs/self-building.md b/docs/self-building.md index d09e587df..d1aa855b7 100644 --- a/docs/self-building.md +++ b/docs/self-building.md @@ -1,3 +1,17 @@ + + # Self-building **Caution: self-building does not have to be used on its own. See the [Alternative Architectures](alternative-architectures.md) page.** From 38792b924af2053269cd5a043d6d51e4644db468 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 27 Feb 2025 14:42:23 +0900 Subject: [PATCH 551/841] Add copyright header to docs/updating-users-passwords.md Signed-off-by: Suguru Hirahara --- docs/updating-users-passwords.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/updating-users-passwords.md b/docs/updating-users-passwords.md index 87a844bb8..7a9eade91 100644 --- a/docs/updating-users-passwords.md +++ b/docs/updating-users-passwords.md @@ -1,3 +1,15 @@ + + # Updating users passwords ## Option 1 (if you are using the integrated Postgres database): From 2889607941b472adedbb007c4e7307b911339b44 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 27 Feb 2025 18:30:12 +0900 Subject: [PATCH 552/841] Add license information to files for matrix-corporal Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-matrix-corporal.md | 8 ++++++++ roles/custom/matrix-corporal/defaults/main.yml | 11 +++++++++++ roles/custom/matrix-corporal/tasks/main.yml | 6 ++++++ roles/custom/matrix-corporal/tasks/self_check.yml | 7 +++++++ roles/custom/matrix-corporal/tasks/setup_install.yml | 11 +++++++++++ .../custom/matrix-corporal/tasks/setup_uninstall.yml | 4 ++++ .../custom/matrix-corporal/tasks/validate_config.yml | 5 +++++ .../matrix-corporal/templates/config.json.j2.license | 4 ++++ roles/custom/matrix-corporal/templates/labels.j2 | 6 ++++++ .../systemd/matrix-corporal.service.j2.license | 6 ++++++ 10 files changed, 68 insertions(+) create mode 100644 roles/custom/matrix-corporal/templates/config.json.j2.license create mode 100644 roles/custom/matrix-corporal/templates/systemd/matrix-corporal.service.j2.license diff --git a/docs/configuring-playbook-matrix-corporal.md b/docs/configuring-playbook-matrix-corporal.md index 946a0209d..34c80fe6b 100644 --- a/docs/configuring-playbook-matrix-corporal.md +++ b/docs/configuring-playbook-matrix-corporal.md @@ -1,3 +1,11 @@ + + # Setting up Matrix Corporal (optional, advanced) > [!WARNING] diff --git a/roles/custom/matrix-corporal/defaults/main.yml b/roles/custom/matrix-corporal/defaults/main.yml index 9d55096a9..53151c2b0 100644 --- a/roles/custom/matrix-corporal/defaults/main.yml +++ b/roles/custom/matrix-corporal/defaults/main.yml @@ -1,3 +1,14 @@ +# SPDX-FileCopyrightText: 2019 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2019 Sylvia van Os +# SPDX-FileCopyrightText: 2021 Ahmad Haghighi +# SPDX-FileCopyrightText: 2021 MDAD project contributors +# SPDX-FileCopyrightText: 2021 boris runakov +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # matrix-corporal is a reconciliator and gateway for a managed Matrix server. # Project source code URL: https://github.com/devture/matrix-corporal diff --git a/roles/custom/matrix-corporal/tasks/main.yml b/roles/custom/matrix-corporal/tasks/main.yml index 54ca8ef78..0af9f70c9 100644 --- a/roles/custom/matrix-corporal/tasks/main.yml +++ b/roles/custom/matrix-corporal/tasks/main.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2019 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2019 Dan Arnfield +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-corporal/tasks/self_check.yml b/roles/custom/matrix-corporal/tasks/self_check.yml index 0758863f8..262c30bed 100644 --- a/roles/custom/matrix-corporal/tasks/self_check.yml +++ b/roles/custom/matrix-corporal/tasks/self_check.yml @@ -1,3 +1,10 @@ +# SPDX-FileCopyrightText: 2019 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2020 Dan Arnfield +# SPDX-FileCopyrightText: 2020 MDAD project contributors +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check Matrix Corporal HTTP gateway diff --git a/roles/custom/matrix-corporal/tasks/setup_install.yml b/roles/custom/matrix-corporal/tasks/setup_install.yml index a8633ffc9..cdbf3af87 100644 --- a/roles/custom/matrix-corporal/tasks/setup_install.yml +++ b/roles/custom/matrix-corporal/tasks/setup_install.yml @@ -1,3 +1,14 @@ +# SPDX-FileCopyrightText: 2018 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2019 Dan Arnfield +# SPDX-FileCopyrightText: 2020 Chris van Dijk +# SPDX-FileCopyrightText: 2020 MDAD project contributors +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2024 David Mehren +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure Matrix Corporal paths exist diff --git a/roles/custom/matrix-corporal/tasks/setup_uninstall.yml b/roles/custom/matrix-corporal/tasks/setup_uninstall.yml index 6c6e8063a..9631e37f3 100644 --- a/roles/custom/matrix-corporal/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-corporal/tasks/setup_uninstall.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2022 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-corporal service diff --git a/roles/custom/matrix-corporal/tasks/validate_config.yml b/roles/custom/matrix-corporal/tasks/validate_config.yml index b6f857e62..57938ac91 100644 --- a/roles/custom/matrix-corporal/tasks/validate_config.yml +++ b/roles/custom/matrix-corporal/tasks/validate_config.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2019 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2019 Dan Arnfield +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required matrix-corporal settings not defined diff --git a/roles/custom/matrix-corporal/templates/config.json.j2.license b/roles/custom/matrix-corporal/templates/config.json.j2.license new file mode 100644 index 000000000..e2fc3ce69 --- /dev/null +++ b/roles/custom/matrix-corporal/templates/config.json.j2.license @@ -0,0 +1,4 @@ +SPDX-FileCopyrightText: 2018 - 2022 Slavi Pantaleev +SPDX-FileCopyrightText: 2019 Hugues De Keyzer + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-corporal/templates/labels.j2 b/roles/custom/matrix-corporal/templates/labels.j2 index e28fd7761..9c068309b 100644 --- a/roles/custom/matrix-corporal/templates/labels.j2 +++ b/roles/custom/matrix-corporal/templates/labels.j2 @@ -1,3 +1,9 @@ +{# +SPDX-FileCopyrightText: 2023 - 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + {% if matrix_corporal_container_labels_traefik_enabled %} traefik.enable=true diff --git a/roles/custom/matrix-corporal/templates/systemd/matrix-corporal.service.j2.license b/roles/custom/matrix-corporal/templates/systemd/matrix-corporal.service.j2.license new file mode 100644 index 000000000..8d7f54f75 --- /dev/null +++ b/roles/custom/matrix-corporal/templates/systemd/matrix-corporal.service.j2.license @@ -0,0 +1,6 @@ +SPDX-FileCopyrightText: 2018 - 2025 Slavi Pantaleev +SPDX-FileCopyrightText: 2019 Hugues De Keyzer +SPDX-FileCopyrightText: 2019 Sylvia van Os +SPDX-FileCopyrightText: 2020 Chris van Dijk + +SPDX-License-Identifier: AGPL-3.0-or-later From 4a92cc11d06d8ed41cb92964ffab60d12f8d3653 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 27 Feb 2025 18:31:49 +0900 Subject: [PATCH 553/841] Add license information to files for matrix-rageshake Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-rageshake.md | 7 +++++++ roles/custom/matrix-rageshake/defaults/main.yml | 7 +++++++ roles/custom/matrix-rageshake/tasks/install.yml | 7 +++++++ roles/custom/matrix-rageshake/tasks/main.yml | 5 +++++ roles/custom/matrix-rageshake/tasks/uninstall.yml | 5 +++++ roles/custom/matrix-rageshake/tasks/validate_config.yml | 5 +++++ roles/custom/matrix-rageshake/templates/config.yaml.j2 | 7 +++++++ roles/custom/matrix-rageshake/templates/labels.j2 | 6 ++++++ .../templates/systemd/matrix-rageshake.service.j2.license | 5 +++++ 9 files changed, 54 insertions(+) create mode 100644 roles/custom/matrix-rageshake/templates/systemd/matrix-rageshake.service.j2.license diff --git a/docs/configuring-playbook-rageshake.md b/docs/configuring-playbook-rageshake.md index e52c8cdef..14343f525 100644 --- a/docs/configuring-playbook-rageshake.md +++ b/docs/configuring-playbook-rageshake.md @@ -1,3 +1,10 @@ + + # Setting up the rageshake bug report server (optional) The playbook can install and configure the [rageshake](https://github.com/matrix-org/rageshake) bug report server for you. diff --git a/roles/custom/matrix-rageshake/defaults/main.yml b/roles/custom/matrix-rageshake/defaults/main.yml index 3b16546d2..14092cde2 100644 --- a/roles/custom/matrix-rageshake/defaults/main.yml +++ b/roles/custom/matrix-rageshake/defaults/main.yml @@ -1,3 +1,10 @@ +# SPDX-FileCopyrightText: 2023 Benjamin Kampmann +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# SPDX-FileCopyrightText: 2023 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # rageshake is a bug report collection service diff --git a/roles/custom/matrix-rageshake/tasks/install.yml b/roles/custom/matrix-rageshake/tasks/install.yml index 33953de5e..bcba5ee4f 100644 --- a/roles/custom/matrix-rageshake/tasks/install.yml +++ b/roles/custom/matrix-rageshake/tasks/install.yml @@ -1,3 +1,10 @@ +# SPDX-FileCopyrightText: 2023 Benjamin Kampmann +# SPDX-FileCopyrightText: 2023 - 2024 lavi Pantaleev +# SPDX-FileCopyrightText: 2024 David Mehren +# SPDX-FileCopyrightText: 2025 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure rageshake paths exist diff --git a/roles/custom/matrix-rageshake/tasks/main.yml b/roles/custom/matrix-rageshake/tasks/main.yml index a211296d0..d314be440 100644 --- a/roles/custom/matrix-rageshake/tasks/main.yml +++ b/roles/custom/matrix-rageshake/tasks/main.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2023 Benjamin Kampmann +# SPDX-FileCopyrightText: 2023 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-rageshake/tasks/uninstall.yml b/roles/custom/matrix-rageshake/tasks/uninstall.yml index 8f04d9894..d0f0c8a47 100644 --- a/roles/custom/matrix-rageshake/tasks/uninstall.yml +++ b/roles/custom/matrix-rageshake/tasks/uninstall.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2023 Benjamin Kampmann +# SPDX-FileCopyrightText: 2023 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-rageshake service diff --git a/roles/custom/matrix-rageshake/tasks/validate_config.yml b/roles/custom/matrix-rageshake/tasks/validate_config.yml index 7ebb2b6b0..e8b40c459 100644 --- a/roles/custom/matrix-rageshake/tasks/validate_config.yml +++ b/roles/custom/matrix-rageshake/tasks/validate_config.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2023 Benjamin Kampmann +# SPDX-FileCopyrightText: 2023 - 2025 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required rageshake settings not defined diff --git a/roles/custom/matrix-rageshake/templates/config.yaml.j2 b/roles/custom/matrix-rageshake/templates/config.yaml.j2 index 6790f2938..a616c5629 100644 --- a/roles/custom/matrix-rageshake/templates/config.yaml.j2 +++ b/roles/custom/matrix-rageshake/templates/config.yaml.j2 @@ -1,3 +1,10 @@ +{# +SPDX-FileCopyrightText: 2023 Slavi Pantaleev +SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + # Default configuration for rageshake. # To extend it, use `matrix_rageshake_configuration_extension_yaml`. diff --git a/roles/custom/matrix-rageshake/templates/labels.j2 b/roles/custom/matrix-rageshake/templates/labels.j2 index 626c2fb7c..f5db88f0d 100644 --- a/roles/custom/matrix-rageshake/templates/labels.j2 +++ b/roles/custom/matrix-rageshake/templates/labels.j2 @@ -1,3 +1,9 @@ +{# +SPDX-FileCopyrightText: 2023 - 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + {% if matrix_rageshake_container_labels_traefik_enabled %} traefik.enable=true diff --git a/roles/custom/matrix-rageshake/templates/systemd/matrix-rageshake.service.j2.license b/roles/custom/matrix-rageshake/templates/systemd/matrix-rageshake.service.j2.license new file mode 100644 index 000000000..0c2880506 --- /dev/null +++ b/roles/custom/matrix-rageshake/templates/systemd/matrix-rageshake.service.j2.license @@ -0,0 +1,5 @@ +SPDX-FileCopyrightText: 2023 Benjamin Kampmann +SPDX-FileCopyrightText: 2023 - 2025 Slavi Pantaleev +SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara + +SPDX-License-Identifier: AGPL-3.0-or-later From 181d393254b61bff1004f2fe01c3915e631f4452 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 27 Feb 2025 18:32:00 +0900 Subject: [PATCH 554/841] Add license information to files for matrix-pantalaimon Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-pantalaimon.md | 7 +++++++ roles/custom/matrix-pantalaimon/defaults/main.yml | 5 +++++ roles/custom/matrix-pantalaimon/tasks/install.yml | 5 +++++ roles/custom/matrix-pantalaimon/tasks/main.yml | 4 ++++ roles/custom/matrix-pantalaimon/tasks/uninstall.yml | 4 ++++ roles/custom/matrix-pantalaimon/tasks/validate_config.yml | 4 ++++ .../matrix-pantalaimon/templates/pantalaimon.conf.j2 | 6 ++++++ .../systemd/matrix-pantalaimon.service.j2.license | 3 +++ 8 files changed, 38 insertions(+) create mode 100644 roles/custom/matrix-pantalaimon/templates/systemd/matrix-pantalaimon.service.j2.license diff --git a/docs/configuring-playbook-pantalaimon.md b/docs/configuring-playbook-pantalaimon.md index 4341a07f4..d19f18024 100644 --- a/docs/configuring-playbook-pantalaimon.md +++ b/docs/configuring-playbook-pantalaimon.md @@ -1,3 +1,10 @@ + + # Setting up Pantalaimon (E2EE aware proxy daemon) (optional) The playbook can install and configure the [pantalaimon](https://github.com/matrix-org/pantalaimon) E2EE aware proxy daemon for you. diff --git a/roles/custom/matrix-pantalaimon/defaults/main.yml b/roles/custom/matrix-pantalaimon/defaults/main.yml index 28b727b93..1302c60f7 100644 --- a/roles/custom/matrix-pantalaimon/defaults/main.yml +++ b/roles/custom/matrix-pantalaimon/defaults/main.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # E2EE aware proxy daemon for Matrix clients. # Project source code URL: https://github.com/matrix-org/pantalaimon diff --git a/roles/custom/matrix-pantalaimon/tasks/install.yml b/roles/custom/matrix-pantalaimon/tasks/install.yml index 88417681a..4bd4283f7 100644 --- a/roles/custom/matrix-pantalaimon/tasks/install.yml +++ b/roles/custom/matrix-pantalaimon/tasks/install.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2024 David Mehren +# SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure matrix-pantalaimon paths exist diff --git a/roles/custom/matrix-pantalaimon/tasks/main.yml b/roles/custom/matrix-pantalaimon/tasks/main.yml index 63cdef198..b3b670eb1 100644 --- a/roles/custom/matrix-pantalaimon/tasks/main.yml +++ b/roles/custom/matrix-pantalaimon/tasks/main.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-pantalaimon/tasks/uninstall.yml b/roles/custom/matrix-pantalaimon/tasks/uninstall.yml index a6c7cd5f6..eb6165405 100644 --- a/roles/custom/matrix-pantalaimon/tasks/uninstall.yml +++ b/roles/custom/matrix-pantalaimon/tasks/uninstall.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-pantalaimon service diff --git a/roles/custom/matrix-pantalaimon/tasks/validate_config.yml b/roles/custom/matrix-pantalaimon/tasks/validate_config.yml index 6fc490ef1..ff3116355 100644 --- a/roles/custom/matrix-pantalaimon/tasks/validate_config.yml +++ b/roles/custom/matrix-pantalaimon/tasks/validate_config.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required Pantalaimon variables are undefined diff --git a/roles/custom/matrix-pantalaimon/templates/pantalaimon.conf.j2 b/roles/custom/matrix-pantalaimon/templates/pantalaimon.conf.j2 index 9e8f6fd97..4cd01c478 100644 --- a/roles/custom/matrix-pantalaimon/templates/pantalaimon.conf.j2 +++ b/roles/custom/matrix-pantalaimon/templates/pantalaimon.conf.j2 @@ -1,3 +1,9 @@ +{# +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + [Default] LogLevel = {{ matrix_pantalaimon_log_level }} diff --git a/roles/custom/matrix-pantalaimon/templates/systemd/matrix-pantalaimon.service.j2.license b/roles/custom/matrix-pantalaimon/templates/systemd/matrix-pantalaimon.service.j2.license new file mode 100644 index 000000000..e64bd56b9 --- /dev/null +++ b/roles/custom/matrix-pantalaimon/templates/systemd/matrix-pantalaimon.service.j2.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later From 9bb3d2457ca380b258027822095bd22a46a9f2f2 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 27 Feb 2025 18:32:26 +0900 Subject: [PATCH 555/841] Add license information to files for matrix-sygnal Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-sygnal.md | 7 +++++++ roles/custom/matrix-sygnal/defaults/main.yml | 9 +++++++++ roles/custom/matrix-sygnal/tasks/install.yml | 9 +++++++++ roles/custom/matrix-sygnal/tasks/main.yml | 5 +++++ roles/custom/matrix-sygnal/tasks/uninstall.yml | 4 ++++ roles/custom/matrix-sygnal/tasks/validate_config.yml | 5 +++++ roles/custom/matrix-sygnal/templates/config.yaml.j2 | 7 +++++++ roles/custom/matrix-sygnal/templates/labels.j2 | 6 ++++++ .../templates/systemd/matrix-sygnal.service.j2.license | 3 +++ 9 files changed, 55 insertions(+) create mode 100644 roles/custom/matrix-sygnal/templates/systemd/matrix-sygnal.service.j2.license diff --git a/docs/configuring-playbook-sygnal.md b/docs/configuring-playbook-sygnal.md index 9db6ee290..2bd800cdd 100644 --- a/docs/configuring-playbook-sygnal.md +++ b/docs/configuring-playbook-sygnal.md @@ -1,3 +1,10 @@ + + # Setting up the Sygnal push gateway (optional) The playbook can install and configure the [Sygnal](https://github.com/matrix-org/sygnal) push gateway for you. diff --git a/roles/custom/matrix-sygnal/defaults/main.yml b/roles/custom/matrix-sygnal/defaults/main.yml index ecce0f518..540dece4e 100644 --- a/roles/custom/matrix-sygnal/defaults/main.yml +++ b/roles/custom/matrix-sygnal/defaults/main.yml @@ -1,3 +1,12 @@ +# SPDX-FileCopyrightText: 2021 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2021 Ahmad Haghighi +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # Sygnal is a reference Push Gateway for Matrix. diff --git a/roles/custom/matrix-sygnal/tasks/install.yml b/roles/custom/matrix-sygnal/tasks/install.yml index 7ac656819..af6b88fe9 100644 --- a/roles/custom/matrix-sygnal/tasks/install.yml +++ b/roles/custom/matrix-sygnal/tasks/install.yml @@ -1,3 +1,12 @@ +# SPDX-FileCopyrightText: 2021 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Jim Myhrberg +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2024 David Mehren +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure Sygnal paths exists diff --git a/roles/custom/matrix-sygnal/tasks/main.yml b/roles/custom/matrix-sygnal/tasks/main.yml index a586cbd02..c194a800f 100644 --- a/roles/custom/matrix-sygnal/tasks/main.yml +++ b/roles/custom/matrix-sygnal/tasks/main.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2021 - 2023 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-sygnal/tasks/uninstall.yml b/roles/custom/matrix-sygnal/tasks/uninstall.yml index 5f01daf1f..cc67c59fd 100644 --- a/roles/custom/matrix-sygnal/tasks/uninstall.yml +++ b/roles/custom/matrix-sygnal/tasks/uninstall.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2021 - 2023 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-sygnal service diff --git a/roles/custom/matrix-sygnal/tasks/validate_config.yml b/roles/custom/matrix-sygnal/tasks/validate_config.yml index 1cdf20381..dfb806a18 100644 --- a/roles/custom/matrix-sygnal/tasks/validate_config.yml +++ b/roles/custom/matrix-sygnal/tasks/validate_config.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2021 - 2023 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required Sygnal settings not defined diff --git a/roles/custom/matrix-sygnal/templates/config.yaml.j2 b/roles/custom/matrix-sygnal/templates/config.yaml.j2 index bb81ea9a4..aba36a9dd 100644 --- a/roles/custom/matrix-sygnal/templates/config.yaml.j2 +++ b/roles/custom/matrix-sygnal/templates/config.yaml.j2 @@ -1,3 +1,10 @@ +{# +SPDX-FileCopyrightText: 2021 - 2022 Slavi Pantaleev +SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + ## # This is a configuration for Sygnal, the reference Push Gateway for Matrix # See: matrix.org diff --git a/roles/custom/matrix-sygnal/templates/labels.j2 b/roles/custom/matrix-sygnal/templates/labels.j2 index 3ef6731c3..83a415752 100644 --- a/roles/custom/matrix-sygnal/templates/labels.j2 +++ b/roles/custom/matrix-sygnal/templates/labels.j2 @@ -1,3 +1,9 @@ +{# +SPDX-FileCopyrightText: 2023 - 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + {% if matrix_sygnal_container_labels_traefik_enabled %} traefik.enable=true diff --git a/roles/custom/matrix-sygnal/templates/systemd/matrix-sygnal.service.j2.license b/roles/custom/matrix-sygnal/templates/systemd/matrix-sygnal.service.j2.license new file mode 100644 index 000000000..0e5f722c4 --- /dev/null +++ b/roles/custom/matrix-sygnal/templates/systemd/matrix-sygnal.service.j2.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2021 - 2025 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later From f7d25a36912344aad0173b9b36d3208d993e4368 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Thu, 27 Feb 2025 11:49:03 +0200 Subject: [PATCH 556/841] Upgrade baibot (v1.4.1 -> v1.5.0) and adapt configuration --- roles/custom/matrix-bot-baibot/defaults/main.yml | 7 ++++++- roles/custom/matrix-bot-baibot/templates/config.yaml.j2 | 4 ++++ .../templates/provider/openai-config.yml.j2 | 3 +++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/roles/custom/matrix-bot-baibot/defaults/main.yml b/roles/custom/matrix-bot-baibot/defaults/main.yml index 41576a01b..434352b2c 100644 --- a/roles/custom/matrix-bot-baibot/defaults/main.yml +++ b/roles/custom/matrix-bot-baibot/defaults/main.yml @@ -11,7 +11,7 @@ matrix_bot_baibot_container_repo_version: "{{ 'main' if matrix_bot_baibot_versio matrix_bot_baibot_container_src_files_path: "{{ matrix_base_data_path }}/baibot/container-src" # renovate: datasource=docker depName=ghcr.io/etkecc/baibot -matrix_bot_baibot_version: v1.4.1 +matrix_bot_baibot_version: v1.5.0 matrix_bot_baibot_container_image: "{{ matrix_bot_baibot_container_image_registry_prefix }}etkecc/baibot:{{ matrix_bot_baibot_version }}" matrix_bot_baibot_container_image_registry_prefix: "{{ 'localhost/' if matrix_bot_baibot_container_image_self_build else matrix_bot_baibot_container_image_registry_prefix_upstream }}" matrix_bot_baibot_container_image_registry_prefix_upstream: "{{ matrix_bot_baibot_container_image_registry_prefix_upstream_default }}" @@ -89,6 +89,10 @@ matrix_bot_baibot_config_user_encryption_recovery_reset_allowed: false # If you leave this empty, the bot will use the default (!bai). matrix_bot_baibot_config_command_prefix: "!bai" +# Controls the `room.post_join_self_introduction_enabled` configuration setting. +# Influences whether the bot should send an introduction message after joining a room. +matrix_bot_baibot_config_room_post_join_self_introduction_enabled: true + # Controls the `access.admin_patterns` configuration setting. # A space-separated list of MXID patterns which specify who is an admin. # @@ -366,6 +370,7 @@ matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation # See: https://blogs.novita.ai/what-are-large-language-model-settings-temperature-top-p-and-max-tokens/#what-is-llm-temperature matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_temperature: 1.0 matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_max_response_tokens: 16384 +matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_max_completion_tokens: ~ matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_max_context_tokens: 128000 matrix_bot_baibot_config_agents_static_definitions_openai_config_speech_to_text_enabled: true diff --git a/roles/custom/matrix-bot-baibot/templates/config.yaml.j2 b/roles/custom/matrix-bot-baibot/templates/config.yaml.j2 index d7e3a4771..af9e2b3fc 100644 --- a/roles/custom/matrix-bot-baibot/templates/config.yaml.j2 +++ b/roles/custom/matrix-bot-baibot/templates/config.yaml.j2 @@ -35,6 +35,10 @@ user: # Command prefix. Leave empty to use the default (!bai). command_prefix: {{ matrix_bot_baibot_config_command_prefix | to_json }} +room: + # Whether the bot should send an introduction message after joining a room. + post_join_self_introduction_enabled: {{ matrix_bot_baibot_config_room_post_join_self_introduction_enabled | to_json }} + access: # Space-separated list of MXID patterns which specify who is an admin. admin_patterns: {{ matrix_bot_baibot_config_access_admin_patterns | to_json }} diff --git a/roles/custom/matrix-bot-baibot/templates/provider/openai-config.yml.j2 b/roles/custom/matrix-bot-baibot/templates/provider/openai-config.yml.j2 index c239e6d4a..aada4234e 100644 --- a/roles/custom/matrix-bot-baibot/templates/provider/openai-config.yml.j2 +++ b/roles/custom/matrix-bot-baibot/templates/provider/openai-config.yml.j2 @@ -11,6 +11,9 @@ text_generation: {% if matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_max_response_tokens %} max_response_tokens: {{ matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_max_response_tokens | int | to_json }} {% endif %} + {% if matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_max_completion_tokens %} + max_completion_tokens: {{ matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_max_completion_tokens | int | to_json }} + {% endif %} max_context_tokens: {{ matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_max_context_tokens | int | to_json }} {% endif %} From 032d4f975d84b6495622ebcaad73c1b84bc21466 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Thu, 27 Feb 2025 11:49:25 +0200 Subject: [PATCH 557/841] Update default Anthropic text-generation model (`claude-3-5-sonnet-20240620` -> `claude-3-7-sonnet-20250219`) The new baibot version (v1.5.0) supports the new Claude Sonnet 3.7 model, which is supposedly improved and priced the same way, so it makes sense to upgrade to it in our static definitions. --- roles/custom/matrix-bot-baibot/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-bot-baibot/defaults/main.yml b/roles/custom/matrix-bot-baibot/defaults/main.yml index 434352b2c..c9031a36e 100644 --- a/roles/custom/matrix-bot-baibot/defaults/main.yml +++ b/roles/custom/matrix-bot-baibot/defaults/main.yml @@ -199,7 +199,7 @@ matrix_bot_baibot_config_agents_static_definitions_anthropic_config_api_key: "" matrix_bot_baibot_config_agents_static_definitions_anthropic_config_text_generation_enabled: true # For valid model choices, see: https://platform.anthropic.com/docs/models -matrix_bot_baibot_config_agents_static_definitions_anthropic_config_text_generation_model_id: claude-3-5-sonnet-20240620 +matrix_bot_baibot_config_agents_static_definitions_anthropic_config_text_generation_model_id: claude-3-7-sonnet-20250219 # The prompt text to use (can be null or empty to not use a prompt). # See: https://huggingface.co/docs/transformers/en/tasks/prompting matrix_bot_baibot_config_agents_static_definitions_anthropic_config_text_generation_prompt: "{{ matrix_bot_baibot_config_agents_static_definitions_prompt }}" From 2319c6e33b6f3dd34b1bcd6e5a1ba8fc083d26f6 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 28 Feb 2025 00:03:25 +0900 Subject: [PATCH 558/841] Add license information to files for matrix-alertmanager-receiver Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-alertmanager-receiver.md | 8 ++++++++ .../custom/matrix-alertmanager-receiver/defaults/main.yml | 5 +++++ .../custom/matrix-alertmanager-receiver/tasks/install.yml | 5 +++++ roles/custom/matrix-alertmanager-receiver/tasks/main.yml | 4 ++++ .../matrix-alertmanager-receiver/tasks/uninstall.yml | 4 ++++ .../tasks/validate_config.yml | 4 ++++ .../templates/config.yaml.j2.license | 4 ++++ .../matrix-alertmanager-receiver/templates/labels.j2 | 6 ++++++ .../matrix-alertmanager-receiver.service.j2.license | 3 +++ 9 files changed, 43 insertions(+) create mode 100644 roles/custom/matrix-alertmanager-receiver/templates/config.yaml.j2.license create mode 100644 roles/custom/matrix-alertmanager-receiver/templates/systemd/matrix-alertmanager-receiver.service.j2.license diff --git a/docs/configuring-playbook-alertmanager-receiver.md b/docs/configuring-playbook-alertmanager-receiver.md index eee2dd0a5..cd43c2c7e 100644 --- a/docs/configuring-playbook-alertmanager-receiver.md +++ b/docs/configuring-playbook-alertmanager-receiver.md @@ -1,3 +1,11 @@ + + # Setting up Prometheus Alertmanager integration via matrix-alertmanager-receiver (optional) The playbook can install and configure the [matrix-alertmanager-receiver](https://github.com/metio/matrix-alertmanager-receiver) service for you. It's a [client](https://prometheus.io/docs/alerting/latest/clients/) for Prometheus' [Alertmanager](https://prometheus.io/docs/alerting/latest/alertmanager/), allowing you to deliver alerts to Matrix rooms. diff --git a/roles/custom/matrix-alertmanager-receiver/defaults/main.yml b/roles/custom/matrix-alertmanager-receiver/defaults/main.yml index 6209fe1b3..1b7763a37 100644 --- a/roles/custom/matrix-alertmanager-receiver/defaults/main.yml +++ b/roles/custom/matrix-alertmanager-receiver/defaults/main.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # matrix-alertmanager-receiver is a service which receives webhook payloads from Prometheus' Alertmanager and forwards them to a Matrix room. diff --git a/roles/custom/matrix-alertmanager-receiver/tasks/install.yml b/roles/custom/matrix-alertmanager-receiver/tasks/install.yml index 50bb44627..a710fcdf3 100644 --- a/roles/custom/matrix-alertmanager-receiver/tasks/install.yml +++ b/roles/custom/matrix-alertmanager-receiver/tasks/install.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2024 David Mehren +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure matrix-alertmanager-receiver paths exist diff --git a/roles/custom/matrix-alertmanager-receiver/tasks/main.yml b/roles/custom/matrix-alertmanager-receiver/tasks/main.yml index b6ff76aca..ac7500030 100644 --- a/roles/custom/matrix-alertmanager-receiver/tasks/main.yml +++ b/roles/custom/matrix-alertmanager-receiver/tasks/main.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-alertmanager-receiver/tasks/uninstall.yml b/roles/custom/matrix-alertmanager-receiver/tasks/uninstall.yml index f0a82acbf..71b76298d 100644 --- a/roles/custom/matrix-alertmanager-receiver/tasks/uninstall.yml +++ b/roles/custom/matrix-alertmanager-receiver/tasks/uninstall.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-alertmanager-receiver service diff --git a/roles/custom/matrix-alertmanager-receiver/tasks/validate_config.yml b/roles/custom/matrix-alertmanager-receiver/tasks/validate_config.yml index 34878b670..77ecdce2a 100644 --- a/roles/custom/matrix-alertmanager-receiver/tasks/validate_config.yml +++ b/roles/custom/matrix-alertmanager-receiver/tasks/validate_config.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required matrix-alertmanager-receiver settings not defined ansible.builtin.fail: diff --git a/roles/custom/matrix-alertmanager-receiver/templates/config.yaml.j2.license b/roles/custom/matrix-alertmanager-receiver/templates/config.yaml.j2.license new file mode 100644 index 000000000..401253ee1 --- /dev/null +++ b/roles/custom/matrix-alertmanager-receiver/templates/config.yaml.j2.license @@ -0,0 +1,4 @@ +SPDX-FileCopyrightText: 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2024 Suguru Hirahara + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-alertmanager-receiver/templates/labels.j2 b/roles/custom/matrix-alertmanager-receiver/templates/labels.j2 index 8bf7d22b9..77dc78e8b 100644 --- a/roles/custom/matrix-alertmanager-receiver/templates/labels.j2 +++ b/roles/custom/matrix-alertmanager-receiver/templates/labels.j2 @@ -1,3 +1,9 @@ +{# +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + {% if matrix_alertmanager_receiver_container_labels_traefik_enabled %} traefik.enable=true diff --git a/roles/custom/matrix-alertmanager-receiver/templates/systemd/matrix-alertmanager-receiver.service.j2.license b/roles/custom/matrix-alertmanager-receiver/templates/systemd/matrix-alertmanager-receiver.service.j2.license new file mode 100644 index 000000000..e18b238ea --- /dev/null +++ b/roles/custom/matrix-alertmanager-receiver/templates/systemd/matrix-alertmanager-receiver.service.j2.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later From 195864980b2fdff32c485de0bc0113ed5aa9d793 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 28 Feb 2025 00:03:35 +0900 Subject: [PATCH 559/841] Add license information to files for appservice-double-puppet Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-appservice-double-puppet.md | 7 +++++++ .../matrix-appservice-double-puppet/defaults/main.yml | 4 ++++ .../matrix-appservice-double-puppet/tasks/install.yml | 4 ++++ .../custom/matrix-appservice-double-puppet/tasks/main.yml | 4 ++++ .../matrix-appservice-double-puppet/tasks/uninstall.yml | 4 ++++ .../tasks/validate_config.yml | 4 ++++ .../templates/registration.yaml.j2 | 6 ++++++ 7 files changed, 33 insertions(+) diff --git a/docs/configuring-playbook-appservice-double-puppet.md b/docs/configuring-playbook-appservice-double-puppet.md index 41967f3fa..d2bac9d42 100644 --- a/docs/configuring-playbook-appservice-double-puppet.md +++ b/docs/configuring-playbook-appservice-double-puppet.md @@ -1,3 +1,10 @@ + + # Setting up Appservice Double Puppet (optional) The playbook can install and configure the Appservice Double Puppet service for you. It is a homeserver appservice through which bridges (and potentially other services) can impersonate any user on the homeserver. diff --git a/roles/custom/matrix-appservice-double-puppet/defaults/main.yml b/roles/custom/matrix-appservice-double-puppet/defaults/main.yml index a8a0c8e51..33907875d 100644 --- a/roles/custom/matrix-appservice-double-puppet/defaults/main.yml +++ b/roles/custom/matrix-appservice-double-puppet/defaults/main.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- matrix_appservice_double_puppet_enabled: true diff --git a/roles/custom/matrix-appservice-double-puppet/tasks/install.yml b/roles/custom/matrix-appservice-double-puppet/tasks/install.yml index c0818477b..a0a427aae 100644 --- a/roles/custom/matrix-appservice-double-puppet/tasks/install.yml +++ b/roles/custom/matrix-appservice-double-puppet/tasks/install.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure matrix-appservice-double-puppet paths exist diff --git a/roles/custom/matrix-appservice-double-puppet/tasks/main.yml b/roles/custom/matrix-appservice-double-puppet/tasks/main.yml index c7860d03b..79e61c0eb 100644 --- a/roles/custom/matrix-appservice-double-puppet/tasks/main.yml +++ b/roles/custom/matrix-appservice-double-puppet/tasks/main.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-appservice-double-puppet/tasks/uninstall.yml b/roles/custom/matrix-appservice-double-puppet/tasks/uninstall.yml index cc22920cc..0fd5d561c 100644 --- a/roles/custom/matrix-appservice-double-puppet/tasks/uninstall.yml +++ b/roles/custom/matrix-appservice-double-puppet/tasks/uninstall.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure matrix-appservice-double-puppet paths don't exist diff --git a/roles/custom/matrix-appservice-double-puppet/tasks/validate_config.yml b/roles/custom/matrix-appservice-double-puppet/tasks/validate_config.yml index 0151b1db1..abe7b371b 100644 --- a/roles/custom/matrix-appservice-double-puppet/tasks/validate_config.yml +++ b/roles/custom/matrix-appservice-double-puppet/tasks/validate_config.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required matrix-appservice-double-puppet settings not defined ansible.builtin.fail: diff --git a/roles/custom/matrix-appservice-double-puppet/templates/registration.yaml.j2 b/roles/custom/matrix-appservice-double-puppet/templates/registration.yaml.j2 index e3d19ee1f..7702b2585 100644 --- a/roles/custom/matrix-appservice-double-puppet/templates/registration.yaml.j2 +++ b/roles/custom/matrix-appservice-double-puppet/templates/registration.yaml.j2 @@ -1,3 +1,9 @@ +{# +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + # The ID doesn't really matter, put whatever you want. id: {{ matrix_appservice_double_puppet_registration_id | to_json }} # The URL is intentionally left empty (null), as the homeserver shouldn't From 57d1f417dfa011bd6c82f0d7450f8928214f6794 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 27 Feb 2025 15:23:27 +0000 Subject: [PATCH 560/841] Update ghcr.io/element-hq/element-web Docker tag to v1.11.94 --- roles/custom/matrix-client-element/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-client-element/defaults/main.yml b/roles/custom/matrix-client-element/defaults/main.yml index cba52d7aa..93079df8f 100644 --- a/roles/custom/matrix-client-element/defaults/main.yml +++ b/roles/custom/matrix-client-element/defaults/main.yml @@ -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 }}" # renovate: datasource=docker depName=ghcr.io/element-hq/element-web -matrix_client_element_version: v1.11.93 +matrix_client_element_version: v1.11.94 matrix_client_element_docker_image: "{{ matrix_client_element_docker_image_registry_prefix }}element-hq/element-web:{{ matrix_client_element_version }}" matrix_client_element_docker_image_registry_prefix: "{{ 'localhost/' if matrix_client_element_container_image_self_build else matrix_client_element_docker_image_registry_prefix_upstream }}" From 10fabc32bc7cf7576418ea3e1c9e7f4c55474439 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Thu, 27 Feb 2025 18:53:56 +0200 Subject: [PATCH 561/841] Rework `client_body_buffer_size`/`client_max_body_size` and `proxy_max_temp_file_size` configuration for `matrix-synapse-reverse-proxy-companion` Until now, most sections were specifying their own values for these. For `client_max_body_size`, a value of 25MB was hardcoded in most places. This was generally OK, but.. Some sections (those generated by the `render_locations_to_upstream` macro), were not specifying these options and were ending up with a default value for configuration options for `client_max_body_size` (likely 1MB), etc. From now on: - we use individual variables for defining these for the Client-Server and Federation API and apply these once at the `server` level - we keep auto-determining the `client_max_body_size` for the Client-Server API based on `matrix_synapse_max_upload_size_mb` - we keep auto-calculating the `client_max_body_size` for the Federation API based on the one for the Client API, but now also add a "minimum" value (`matrix_synapse_reverse_proxy_companion_federation_api_client_max_body_size_mb_minimum: 100`) to ensure we don't go too low Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/4100 --- .../defaults/main.yml | 16 ++++++- ...ix-synapse-reverse-proxy-companion.conf.j2 | 46 +++++-------------- 2 files changed, 26 insertions(+), 36 deletions(-) diff --git a/roles/custom/matrix-synapse-reverse-proxy-companion/defaults/main.yml b/roles/custom/matrix-synapse-reverse-proxy-companion/defaults/main.yml index 241f0c7e9..051684ef9 100644 --- a/roles/custom/matrix-synapse-reverse-proxy-companion/defaults/main.yml +++ b/roles/custom/matrix-synapse-reverse-proxy-companion/defaults/main.yml @@ -203,14 +203,26 @@ matrix_synapse_reverse_proxy_companion_hostname: "matrix-synapse-reverse-proxy-c # matrix_synapse_reverse_proxy_companion_client_api_addr specifies the address where the Client-Server API is matrix_synapse_reverse_proxy_companion_client_api_addr: 'matrix-synapse:{{ matrix_synapse_container_client_api_port }}' + +# The maximum body size for client requests to any of the endpoints on the Client-Server API. # This needs to be equal or higher than the maximum upload size accepted by Synapse. -matrix_synapse_reverse_proxy_companion_client_api_client_max_body_size_mb: 50 +matrix_synapse_reverse_proxy_companion_client_api_client_max_body_size_mb: 100 + +# The buffer size for client requests to any of the endpoints on the Client-Server API. +matrix_synapse_reverse_proxy_companion_client_api_client_body_buffer_size_mb: "{{ matrix_synapse_reverse_proxy_companion_client_api_client_max_body_size_mb }}" # matrix_synapse_reverse_proxy_companion_federation_api_enabled specifies whether reverse proxying for the Federation (Server-Server) API should be done matrix_synapse_reverse_proxy_companion_federation_api_enabled: true # matrix_synapse_reverse_proxy_companion_federation_api_addr specifies the address where the Federation (Server-Server) API is matrix_synapse_reverse_proxy_companion_federation_api_addr: 'matrix-synapse:{{ matrix_synapse_container_federation_api_plain_port }}' -matrix_synapse_reverse_proxy_companion_federation_api_client_max_body_size_mb: "{{ (matrix_synapse_reverse_proxy_companion_client_api_client_max_body_size_mb | int) * 3 }}" + +# The maximum body size for client requests to any of the endpoints on the Federation API. +# We auto-calculate this based on the Client-Server API's maximum body size, but use a minimum value to ensure we don't go to low. +matrix_synapse_reverse_proxy_companion_federation_api_client_max_body_size_mb: "{{ [matrix_synapse_reverse_proxy_companion_federation_api_client_max_body_size_mb_minimum, (matrix_synapse_reverse_proxy_companion_client_api_client_max_body_size_mb | int) * 3] | max }}" +matrix_synapse_reverse_proxy_companion_federation_api_client_max_body_size_mb_minimum: 100 + +# The buffer size for client requests to any of the endpoints on the Federation API. +matrix_synapse_reverse_proxy_companion_federation_api_client_body_buffer_size_mb: "{{ matrix_synapse_reverse_proxy_companion_federation_api_client_max_body_size_mb }}" # A list of strings containing additional configuration blocks to add to the nginx vhost handling the Synapse Client-Server API matrix_synapse_reverse_proxy_companion_synapse_client_api_additional_server_configuration_blocks: [] diff --git a/roles/custom/matrix-synapse-reverse-proxy-companion/templates/nginx/conf.d/matrix-synapse-reverse-proxy-companion.conf.j2 b/roles/custom/matrix-synapse-reverse-proxy-companion/templates/nginx/conf.d/matrix-synapse-reverse-proxy-companion.conf.j2 index 5c3560ef3..4d18b380d 100644 --- a/roles/custom/matrix-synapse-reverse-proxy-companion/templates/nginx/conf.d/matrix-synapse-reverse-proxy-companion.conf.j2 +++ b/roles/custom/matrix-synapse-reverse-proxy-companion/templates/nginx/conf.d/matrix-synapse-reverse-proxy-companion.conf.j2 @@ -91,6 +91,12 @@ server { server_tokens off; root /dev/null; + client_max_body_size {{ matrix_synapse_reverse_proxy_companion_client_api_client_max_body_size_mb }}M; + client_body_buffer_size {{ matrix_synapse_reverse_proxy_companion_client_api_client_body_buffer_size_mb }}M; + + proxy_buffering on; + proxy_max_temp_file_size 0; + {% if matrix_synapse_reverse_proxy_companion_synapse_workers_enabled %} # Client-server overrides — These locations must go to the main Synapse process location ~ {{ matrix_synapse_reverse_proxy_companion_client_server_main_override_locations_regex }} { @@ -101,10 +107,6 @@ server { proxy_pass http://$backend; proxy_set_header Host $host; - - client_body_buffer_size 25M; - client_max_body_size {{ matrix_synapse_reverse_proxy_companion_client_api_client_max_body_size_mb }}M; - proxy_max_temp_file_size 0; } # Client-server SSO overrides — These locations must go to the main Synapse process @@ -116,10 +118,6 @@ server { proxy_pass http://$backend; proxy_set_header Host $host; - - client_body_buffer_size 25M; - client_max_body_size {{ matrix_synapse_reverse_proxy_companion_client_api_client_max_body_size_mb }}M; - proxy_max_temp_file_size 0; } # QR code login (`rendezvous`) locations need to go to the same Synapse process. @@ -133,10 +131,6 @@ server { proxy_pass http://$backend; proxy_set_header Host $host; - - client_body_buffer_size 25M; - client_max_body_size {{ matrix_synapse_reverse_proxy_companion_client_api_client_max_body_size_mb }}M; - proxy_max_temp_file_size 0; } {# Workers redirects BEGIN #} @@ -199,12 +193,7 @@ server { proxy_pass http://media_repository_workers_upstream$request_uri; proxy_set_header Host $host; - client_body_buffer_size 25M; - client_max_body_size {{ matrix_synapse_reverse_proxy_companion_client_api_client_max_body_size_mb }}M; - proxy_max_temp_file_size 0; - {% if matrix_synapse_reverse_proxy_companion_synapse_cache_enabled %} - proxy_buffering on; proxy_cache {{ matrix_synapse_reverse_proxy_companion_synapse_cache_keys_zone_name }}; proxy_cache_valid any {{ matrix_synapse_reverse_proxy_companion_synapse_cache_proxy_cache_valid_time }}; proxy_force_ranges on; @@ -233,10 +222,6 @@ server { proxy_pass http://$backend; proxy_set_header Host $host; - - client_body_buffer_size 25M; - client_max_body_size {{ matrix_synapse_reverse_proxy_companion_client_api_client_max_body_size_mb }}M; - proxy_max_temp_file_size 0; } } @@ -246,9 +231,14 @@ server { server_name {{ matrix_synapse_reverse_proxy_companion_hostname }}; server_tokens off; - root /dev/null; + client_max_body_size {{ matrix_synapse_reverse_proxy_companion_federation_api_client_max_body_size_mb }}M; + client_body_buffer_size {{ matrix_synapse_reverse_proxy_companion_federation_api_client_body_buffer_size_mb }}M; + + proxy_buffering on; + proxy_max_temp_file_size 0; + {% if matrix_synapse_reverse_proxy_companion_synapse_workers_enabled %} # Federation overrides — These locations must go to the main Synapse process location ~ {{ matrix_synapse_reverse_proxy_companion_federation_override_locations_regex }} { @@ -259,10 +249,6 @@ server { proxy_pass http://$backend; proxy_set_header Host $host; - - client_body_buffer_size 25M; - client_max_body_size {{ matrix_synapse_reverse_proxy_companion_federation_api_client_max_body_size_mb }}M; - proxy_max_temp_file_size 0; } {% if room_workers | length > 0 %} @@ -282,10 +268,6 @@ server { proxy_pass http://media_repository_workers_upstream$request_uri; proxy_set_header Host $host; - client_body_buffer_size 25M; - client_max_body_size {{ matrix_synapse_reverse_proxy_companion_federation_api_client_max_body_size_mb }}M; - proxy_max_temp_file_size 0; - {% if matrix_synapse_reverse_proxy_companion_synapse_cache_enabled %} proxy_buffering on; proxy_cache {{ matrix_synapse_reverse_proxy_companion_synapse_cache_keys_zone_name }}; @@ -323,10 +305,6 @@ server { proxy_pass http://$backend; proxy_set_header Host $host; - - client_body_buffer_size 25M; - client_max_body_size {{ matrix_synapse_reverse_proxy_companion_federation_api_client_max_body_size_mb }}M; - proxy_max_temp_file_size 0; } } {% endif %} From 37f84173f07662aede5004cafa62781e2f040553 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Thu, 27 Feb 2025 19:04:26 +0200 Subject: [PATCH 562/841] Put `proxy_set_header Host $host;` at the `server` level for `matrix-synapse-reverse-proxy-companion` Continuation of the refactoring done in 10fabc32bc7cf7576418ea3e1c9e7f4c55474439 --- ...trix-synapse-reverse-proxy-companion.conf.j2 | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/roles/custom/matrix-synapse-reverse-proxy-companion/templates/nginx/conf.d/matrix-synapse-reverse-proxy-companion.conf.j2 b/roles/custom/matrix-synapse-reverse-proxy-companion/templates/nginx/conf.d/matrix-synapse-reverse-proxy-companion.conf.j2 index 4d18b380d..57dee1d9b 100644 --- a/roles/custom/matrix-synapse-reverse-proxy-companion/templates/nginx/conf.d/matrix-synapse-reverse-proxy-companion.conf.j2 +++ b/roles/custom/matrix-synapse-reverse-proxy-companion/templates/nginx/conf.d/matrix-synapse-reverse-proxy-companion.conf.j2 @@ -29,7 +29,6 @@ {% for location in locations %} location ~ {{ location }} { proxy_pass http://{{ upstream_name }}$request_uri; - proxy_set_header Host $host; proxy_http_version 1.1; proxy_set_header Connection ""; } @@ -96,6 +95,7 @@ server { proxy_buffering on; proxy_max_temp_file_size 0; + proxy_set_header Host $host; {% if matrix_synapse_reverse_proxy_companion_synapse_workers_enabled %} # Client-server overrides — These locations must go to the main Synapse process @@ -105,8 +105,6 @@ server { resolver {{ matrix_synapse_reverse_proxy_companion_http_level_resolver }} valid=5s; set $backend "{{ matrix_synapse_reverse_proxy_companion_client_api_addr }}"; proxy_pass http://$backend; - - proxy_set_header Host $host; } # Client-server SSO overrides — These locations must go to the main Synapse process @@ -116,8 +114,6 @@ server { resolver {{ matrix_synapse_reverse_proxy_companion_http_level_resolver }} valid=5s; set $backend "{{ matrix_synapse_reverse_proxy_companion_client_api_addr }}"; proxy_pass http://$backend; - - proxy_set_header Host $host; } # QR code login (`rendezvous`) locations need to go to the same Synapse process. @@ -129,8 +125,6 @@ server { resolver {{ matrix_synapse_reverse_proxy_companion_http_level_resolver }} valid=5s; set $backend "{{ matrix_synapse_reverse_proxy_companion_client_api_addr }}"; proxy_pass http://$backend; - - proxy_set_header Host $host; } {# Workers redirects BEGIN #} @@ -191,7 +185,6 @@ server { {% for location in matrix_synapse_reverse_proxy_companion_synapse_media_repository_locations %} location ~ {{ location }} { proxy_pass http://media_repository_workers_upstream$request_uri; - proxy_set_header Host $host; {% if matrix_synapse_reverse_proxy_companion_synapse_cache_enabled %} proxy_cache {{ matrix_synapse_reverse_proxy_companion_synapse_cache_keys_zone_name }}; @@ -220,8 +213,6 @@ server { resolver {{ matrix_synapse_reverse_proxy_companion_http_level_resolver }} valid=5s; set $backend "{{ matrix_synapse_reverse_proxy_companion_client_api_addr }}"; proxy_pass http://$backend; - - proxy_set_header Host $host; } } @@ -238,6 +229,7 @@ server { proxy_buffering on; proxy_max_temp_file_size 0; + proxy_set_header Host $host; {% if matrix_synapse_reverse_proxy_companion_synapse_workers_enabled %} # Federation overrides — These locations must go to the main Synapse process @@ -247,8 +239,6 @@ server { resolver {{ matrix_synapse_reverse_proxy_companion_http_level_resolver }} valid=5s; set $backend "{{ matrix_synapse_reverse_proxy_companion_federation_api_addr }}"; proxy_pass http://$backend; - - proxy_set_header Host $host; } {% if room_workers | length > 0 %} @@ -266,7 +256,6 @@ server { {% for location in matrix_synapse_reverse_proxy_companion_synapse_media_repository_locations %} location ~ {{ location }} { proxy_pass http://media_repository_workers_upstream$request_uri; - proxy_set_header Host $host; {% if matrix_synapse_reverse_proxy_companion_synapse_cache_enabled %} proxy_buffering on; @@ -303,8 +292,6 @@ server { resolver {{ matrix_synapse_reverse_proxy_companion_http_level_resolver }} valid=5s; set $backend "{{ matrix_synapse_reverse_proxy_companion_federation_api_addr }}"; proxy_pass http://$backend; - - proxy_set_header Host $host; } } {% endif %} From 0a8117d96c50dfd15d13bfe680406aa3706af645 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 28 Feb 2025 02:06:14 +0900 Subject: [PATCH 563/841] Add license information to files for matrix-bot-baibot Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bot-baibot.md | 7 +++++++ roles/custom/matrix-bot-baibot/defaults/main.yml | 6 ++++++ roles/custom/matrix-bot-baibot/tasks/install.yml | 5 +++++ roles/custom/matrix-bot-baibot/tasks/main.yml | 4 ++++ roles/custom/matrix-bot-baibot/tasks/uninstall.yml | 4 ++++ roles/custom/matrix-bot-baibot/tasks/validate_config.yml | 4 ++++ roles/custom/matrix-bot-baibot/templates/config.yaml.j2 | 7 +++++++ roles/custom/matrix-bot-baibot/templates/env.j2 | 6 ++++++ .../templates/provider/anthropic-config.yml.j2.license | 3 +++ .../templates/provider/groq-config.yml.j2.license | 3 +++ .../templates/provider/mistral-config.yml.j2.license | 3 +++ .../templates/provider/openai-config.yml.j2.license | 3 +++ .../templates/systemd/matrix-bot-baibot.service.j2.license | 4 ++++ 13 files changed, 59 insertions(+) create mode 100644 roles/custom/matrix-bot-baibot/templates/provider/anthropic-config.yml.j2.license create mode 100644 roles/custom/matrix-bot-baibot/templates/provider/groq-config.yml.j2.license create mode 100644 roles/custom/matrix-bot-baibot/templates/provider/mistral-config.yml.j2.license create mode 100644 roles/custom/matrix-bot-baibot/templates/provider/openai-config.yml.j2.license create mode 100644 roles/custom/matrix-bot-baibot/templates/systemd/matrix-bot-baibot.service.j2.license diff --git a/docs/configuring-playbook-bot-baibot.md b/docs/configuring-playbook-bot-baibot.md index a9c3d2c66..543a23502 100644 --- a/docs/configuring-playbook-bot-baibot.md +++ b/docs/configuring-playbook-bot-baibot.md @@ -1,3 +1,10 @@ + + # Setting up baibot (optional)

diff --git a/roles/custom/matrix-bot-baibot/defaults/main.yml b/roles/custom/matrix-bot-baibot/defaults/main.yml index c9031a36e..2ce998d0d 100644 --- a/roles/custom/matrix-bot-baibot/defaults/main.yml +++ b/roles/custom/matrix-bot-baibot/defaults/main.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2024 Nikita Chernyi +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # baibot is a bot exposing the power of Large Language Models to you. diff --git a/roles/custom/matrix-bot-baibot/tasks/install.yml b/roles/custom/matrix-bot-baibot/tasks/install.yml index 340efdd69..c2d781e59 100644 --- a/roles/custom/matrix-bot-baibot/tasks/install.yml +++ b/roles/custom/matrix-bot-baibot/tasks/install.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure baibot paths exist diff --git a/roles/custom/matrix-bot-baibot/tasks/main.yml b/roles/custom/matrix-bot-baibot/tasks/main.yml index 1b9d9c5b5..348c11d08 100644 --- a/roles/custom/matrix-bot-baibot/tasks/main.yml +++ b/roles/custom/matrix-bot-baibot/tasks/main.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-bot-baibot/tasks/uninstall.yml b/roles/custom/matrix-bot-baibot/tasks/uninstall.yml index 176edaa6a..f9f53f9f7 100644 --- a/roles/custom/matrix-bot-baibot/tasks/uninstall.yml +++ b/roles/custom/matrix-bot-baibot/tasks/uninstall.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-baibot service diff --git a/roles/custom/matrix-bot-baibot/tasks/validate_config.yml b/roles/custom/matrix-bot-baibot/tasks/validate_config.yml index bbf830c1f..6129e3806 100644 --- a/roles/custom/matrix-bot-baibot/tasks/validate_config.yml +++ b/roles/custom/matrix-bot-baibot/tasks/validate_config.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required baibot settings not defined diff --git a/roles/custom/matrix-bot-baibot/templates/config.yaml.j2 b/roles/custom/matrix-bot-baibot/templates/config.yaml.j2 index af9e2b3fc..4b4838192 100644 --- a/roles/custom/matrix-bot-baibot/templates/config.yaml.j2 +++ b/roles/custom/matrix-bot-baibot/templates/config.yaml.j2 @@ -1,3 +1,10 @@ +{# +SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev +SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + # Default configuration for baibot. # To extend it, use `matrix_bot_baibot_configuration_extension_yaml`. diff --git a/roles/custom/matrix-bot-baibot/templates/env.j2 b/roles/custom/matrix-bot-baibot/templates/env.j2 index fb26fe3df..fe4733ab2 100644 --- a/roles/custom/matrix-bot-baibot/templates/env.j2 +++ b/roles/custom/matrix-bot-baibot/templates/env.j2 @@ -1 +1,7 @@ +{# +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + {{ matrix_bot_baibot_environment_variables_extension }} diff --git a/roles/custom/matrix-bot-baibot/templates/provider/anthropic-config.yml.j2.license b/roles/custom/matrix-bot-baibot/templates/provider/anthropic-config.yml.j2.license new file mode 100644 index 000000000..e64bd56b9 --- /dev/null +++ b/roles/custom/matrix-bot-baibot/templates/provider/anthropic-config.yml.j2.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bot-baibot/templates/provider/groq-config.yml.j2.license b/roles/custom/matrix-bot-baibot/templates/provider/groq-config.yml.j2.license new file mode 100644 index 000000000..e64bd56b9 --- /dev/null +++ b/roles/custom/matrix-bot-baibot/templates/provider/groq-config.yml.j2.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bot-baibot/templates/provider/mistral-config.yml.j2.license b/roles/custom/matrix-bot-baibot/templates/provider/mistral-config.yml.j2.license new file mode 100644 index 000000000..e64bd56b9 --- /dev/null +++ b/roles/custom/matrix-bot-baibot/templates/provider/mistral-config.yml.j2.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bot-baibot/templates/provider/openai-config.yml.j2.license b/roles/custom/matrix-bot-baibot/templates/provider/openai-config.yml.j2.license new file mode 100644 index 000000000..e18b238ea --- /dev/null +++ b/roles/custom/matrix-bot-baibot/templates/provider/openai-config.yml.j2.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bot-baibot/templates/systemd/matrix-bot-baibot.service.j2.license b/roles/custom/matrix-bot-baibot/templates/systemd/matrix-bot-baibot.service.j2.license new file mode 100644 index 000000000..fadc9dc1e --- /dev/null +++ b/roles/custom/matrix-bot-baibot/templates/systemd/matrix-bot-baibot.service.j2.license @@ -0,0 +1,4 @@ +SPDX-FileCopyrightText: 2024 - 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2025 Suguru Hirahara + +SPDX-License-Identifier: AGPL-3.0-or-later From 43199effd52a4e796d0833b703eea69640482ff5 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 28 Feb 2025 02:09:18 +0900 Subject: [PATCH 564/841] Add license information to files for matrix-bot-buscarron Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bot-buscarron.md | 8 ++++++++ roles/custom/matrix-bot-buscarron/defaults/main.yml | 7 +++++++ roles/custom/matrix-bot-buscarron/tasks/main.yml | 5 +++++ roles/custom/matrix-bot-buscarron/tasks/setup_install.yml | 8 ++++++++ .../custom/matrix-bot-buscarron/tasks/setup_uninstall.yml | 7 +++++++ .../custom/matrix-bot-buscarron/tasks/validate_config.yml | 5 +++++ roles/custom/matrix-bot-buscarron/templates/env.j2 | 7 +++++++ roles/custom/matrix-bot-buscarron/templates/labels.j2 | 7 +++++++ .../systemd/matrix-bot-buscarron.service.j2.license | 4 ++++ 9 files changed, 58 insertions(+) create mode 100644 roles/custom/matrix-bot-buscarron/templates/systemd/matrix-bot-buscarron.service.j2.license diff --git a/docs/configuring-playbook-bot-buscarron.md b/docs/configuring-playbook-bot-buscarron.md index e2762ed94..45266d338 100644 --- a/docs/configuring-playbook-bot-buscarron.md +++ b/docs/configuring-playbook-bot-buscarron.md @@ -1,3 +1,11 @@ + + # Setting up Buscarron (optional) The playbook can install and configure [Buscarron](https://github.com/etkecc/buscarron) for you. diff --git a/roles/custom/matrix-bot-buscarron/defaults/main.yml b/roles/custom/matrix-bot-buscarron/defaults/main.yml index fd2295d84..bf715808c 100644 --- a/roles/custom/matrix-bot-buscarron/defaults/main.yml +++ b/roles/custom/matrix-bot-buscarron/defaults/main.yml @@ -1,3 +1,10 @@ +# SPDX-FileCopyrightText: 2022 - 2024 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # Buscarron is a Web forms (HTTP POST) to Matrix service. diff --git a/roles/custom/matrix-bot-buscarron/tasks/main.yml b/roles/custom/matrix-bot-buscarron/tasks/main.yml index fbf5c96ac..b90cfaa25 100644 --- a/roles/custom/matrix-bot-buscarron/tasks/main.yml +++ b/roles/custom/matrix-bot-buscarron/tasks/main.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 - 2023 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-bot-buscarron/tasks/setup_install.yml b/roles/custom/matrix-bot-buscarron/tasks/setup_install.yml index a011a016b..35d583f8c 100644 --- a/roles/custom/matrix-bot-buscarron/tasks/setup_install.yml +++ b/roles/custom/matrix-bot-buscarron/tasks/setup_install.yml @@ -1,3 +1,11 @@ +# SPDX-FileCopyrightText: 2022 - 2023 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2024 David Mehren +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - ansible.builtin.set_fact: matrix_bot_buscarron_requires_restart: false diff --git a/roles/custom/matrix-bot-buscarron/tasks/setup_uninstall.yml b/roles/custom/matrix-bot-buscarron/tasks/setup_uninstall.yml index 7a47471ef..5769de2d3 100644 --- a/roles/custom/matrix-bot-buscarron/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-bot-buscarron/tasks/setup_uninstall.yml @@ -1,3 +1,10 @@ +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2022 Slavi Pantaleev +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-buscarron service diff --git a/roles/custom/matrix-bot-buscarron/tasks/validate_config.yml b/roles/custom/matrix-bot-buscarron/tasks/validate_config.yml index e9014ccea..e07cbffef 100644 --- a/roles/custom/matrix-bot-buscarron/tasks/validate_config.yml +++ b/roles/custom/matrix-bot-buscarron/tasks/validate_config.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: (Deprecation) Catch and report renamed Buscarron settings ansible.builtin.fail: diff --git a/roles/custom/matrix-bot-buscarron/templates/env.j2 b/roles/custom/matrix-bot-buscarron/templates/env.j2 index 11a4f6bd6..db9b903c4 100644 --- a/roles/custom/matrix-bot-buscarron/templates/env.j2 +++ b/roles/custom/matrix-bot-buscarron/templates/env.j2 @@ -1,3 +1,10 @@ +{# +SPDX-FileCopyrightText: 2022 - 2024 Nikita Chernyi +SPDX-FileCopyrightText: 2022 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + BUSCARRON_LOGIN={{ matrix_bot_buscarron_login }} BUSCARRON_PASSWORD={{ matrix_bot_buscarron_password }} BUSCARRON_HOMESERVER={{ matrix_bot_buscarron_homeserver }} diff --git a/roles/custom/matrix-bot-buscarron/templates/labels.j2 b/roles/custom/matrix-bot-buscarron/templates/labels.j2 index b5f020a17..a302c5269 100644 --- a/roles/custom/matrix-bot-buscarron/templates/labels.j2 +++ b/roles/custom/matrix-bot-buscarron/templates/labels.j2 @@ -1,3 +1,10 @@ +{# +SPDX-FileCopyrightText: 2023 Nikita Chernyi +SPDX-FileCopyrightText: 2023 - 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + {% if matrix_bot_buscarron_container_labels_traefik_enabled %} traefik.enable=true diff --git a/roles/custom/matrix-bot-buscarron/templates/systemd/matrix-bot-buscarron.service.j2.license b/roles/custom/matrix-bot-buscarron/templates/systemd/matrix-bot-buscarron.service.j2.license new file mode 100644 index 000000000..70a8f1992 --- /dev/null +++ b/roles/custom/matrix-bot-buscarron/templates/systemd/matrix-bot-buscarron.service.j2.license @@ -0,0 +1,4 @@ +SPDX-FileCopyrightText: 2022 Nikita Chernyi +SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later From be667ee7839e9175d3e297045e486590bcf206d9 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 28 Feb 2025 02:10:04 +0900 Subject: [PATCH 565/841] Add license information to files for matrix-bot-honoroit Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bot-honoroit.md | 8 ++++++++ roles/custom/matrix-bot-honoroit/defaults/main.yml | 9 +++++++++ roles/custom/matrix-bot-honoroit/tasks/main.yml | 6 ++++++ .../custom/matrix-bot-honoroit/tasks/setup_install.yml | 10 ++++++++++ .../matrix-bot-honoroit/tasks/setup_uninstall.yml | 8 ++++++++ .../matrix-bot-honoroit/tasks/validate_config.yml | 6 ++++++ roles/custom/matrix-bot-honoroit/templates/env.j2 | 9 +++++++++ roles/custom/matrix-bot-honoroit/templates/labels.j2 | 7 +++++++ .../systemd/matrix-bot-honoroit.service.j2.license | 5 +++++ 9 files changed, 68 insertions(+) create mode 100644 roles/custom/matrix-bot-honoroit/templates/systemd/matrix-bot-honoroit.service.j2.license diff --git a/docs/configuring-playbook-bot-honoroit.md b/docs/configuring-playbook-bot-honoroit.md index 82e0df2c7..967ea0050 100644 --- a/docs/configuring-playbook-bot-honoroit.md +++ b/docs/configuring-playbook-bot-honoroit.md @@ -1,3 +1,11 @@ + + # Setting up Honoroit (optional) The playbook can install and configure [Honoroit](https://github.com/etkecc/honoroit) for you. diff --git a/roles/custom/matrix-bot-honoroit/defaults/main.yml b/roles/custom/matrix-bot-honoroit/defaults/main.yml index dd48cb36f..edac46e0a 100644 --- a/roles/custom/matrix-bot-honoroit/defaults/main.yml +++ b/roles/custom/matrix-bot-honoroit/defaults/main.yml @@ -1,3 +1,12 @@ +# SPDX-FileCopyrightText: 2022 - 2025 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # Honoroit is a helpdesk bot # Project source code URL: https://github.com/etkecc/honoroit diff --git a/roles/custom/matrix-bot-honoroit/tasks/main.yml b/roles/custom/matrix-bot-honoroit/tasks/main.yml index 9b4e29089..4e7dfbc09 100644 --- a/roles/custom/matrix-bot-honoroit/tasks/main.yml +++ b/roles/custom/matrix-bot-honoroit/tasks/main.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2022 - 2023 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-bot-honoroit/tasks/setup_install.yml b/roles/custom/matrix-bot-honoroit/tasks/setup_install.yml index be96d021b..18730e27c 100644 --- a/roles/custom/matrix-bot-honoroit/tasks/setup_install.yml +++ b/roles/custom/matrix-bot-honoroit/tasks/setup_install.yml @@ -1,3 +1,13 @@ +# SPDX-FileCopyrightText: 2022 - 2024 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2024 David Mehren +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - ansible.builtin.set_fact: matrix_bot_honoroit_requires_restart: false diff --git a/roles/custom/matrix-bot-honoroit/tasks/setup_uninstall.yml b/roles/custom/matrix-bot-honoroit/tasks/setup_uninstall.yml index 72df4f013..1ab17b516 100644 --- a/roles/custom/matrix-bot-honoroit/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-bot-honoroit/tasks/setup_uninstall.yml @@ -1,3 +1,11 @@ +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2022 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-honoroit service diff --git a/roles/custom/matrix-bot-honoroit/tasks/validate_config.yml b/roles/custom/matrix-bot-honoroit/tasks/validate_config.yml index 95df51dca..a8e2e87af 100644 --- a/roles/custom/matrix-bot-honoroit/tasks/validate_config.yml +++ b/roles/custom/matrix-bot-honoroit/tasks/validate_config.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required Honoroit settings not defined diff --git a/roles/custom/matrix-bot-honoroit/templates/env.j2 b/roles/custom/matrix-bot-honoroit/templates/env.j2 index abbb66f0f..5383b6525 100644 --- a/roles/custom/matrix-bot-honoroit/templates/env.j2 +++ b/roles/custom/matrix-bot-honoroit/templates/env.j2 @@ -1,3 +1,12 @@ +{# +SPDX-FileCopyrightText: 2022 - 2025 Nikita Chernyi +SPDX-FileCopyrightText: 2022 MDAD project contributors +SPDX-FileCopyrightText: 2022 Slavi Pantaleev +SPDX-FileCopyrightText: 2024 Suguru Hirahara + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + HONOROIT_LOGIN={{ matrix_bot_honoroit_login }} HONOROIT_PASSWORD={{ matrix_bot_honoroit_password }} HONOROIT_HOMESERVER={{ matrix_bot_honoroit_homeserver }} diff --git a/roles/custom/matrix-bot-honoroit/templates/labels.j2 b/roles/custom/matrix-bot-honoroit/templates/labels.j2 index 74e357914..4a027ddad 100644 --- a/roles/custom/matrix-bot-honoroit/templates/labels.j2 +++ b/roles/custom/matrix-bot-honoroit/templates/labels.j2 @@ -1,3 +1,10 @@ +{# +SPDX-FileCopyrightText: 2023 - 2024 Nikita Chernyi +SPDX-FileCopyrightText: 2023 - 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + {% if matrix_bot_honoroit_container_labels_traefik_enabled %} traefik.enable=true diff --git a/roles/custom/matrix-bot-honoroit/templates/systemd/matrix-bot-honoroit.service.j2.license b/roles/custom/matrix-bot-honoroit/templates/systemd/matrix-bot-honoroit.service.j2.license new file mode 100644 index 000000000..09e19b00a --- /dev/null +++ b/roles/custom/matrix-bot-honoroit/templates/systemd/matrix-bot-honoroit.service.j2.license @@ -0,0 +1,5 @@ +SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev +SPDX-FileCopyrightText: 2022 MDAD project contributors +SPDX-FileCopyrightText: 2023 Nikita Chernyi + +SPDX-License-Identifier: AGPL-3.0-or-later From 1189673e4aa37478e2bdd434dd4d8825bbbdb9fd Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 28 Feb 2025 02:11:02 +0900 Subject: [PATCH 566/841] Add license information to files for matrix-bot-matrix-registration-bot Signed-off-by: Suguru Hirahara --- ...nfiguring-playbook-bot-matrix-registration-bot.md | 12 ++++++++++++ .../defaults/main.yml | 10 ++++++++++ .../tasks/clean_cache.yml | 4 ++++ .../tasks/main.yml | 5 +++++ .../tasks/setup_install.yml | 8 ++++++++ .../tasks/setup_uninstall.yml | 6 ++++++ .../tasks/validate_config.yml | 5 +++++ .../templates/config.yaml.j2 | 9 ++++++++- ...ix-bot-matrix-registration-bot.service.j2.license | 6 ++++++ 9 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 roles/custom/matrix-bot-matrix-registration-bot/templates/systemd/matrix-bot-matrix-registration-bot.service.j2.license diff --git a/docs/configuring-playbook-bot-matrix-registration-bot.md b/docs/configuring-playbook-bot-matrix-registration-bot.md index 96c9dd54a..c171b733a 100644 --- a/docs/configuring-playbook-bot-matrix-registration-bot.md +++ b/docs/configuring-playbook-bot-matrix-registration-bot.md @@ -1,3 +1,15 @@ + + # Setting up matrix-registration-bot (optional) The playbook can install and configure [matrix-registration-bot](https://github.com/moan0s/matrix-registration-bot) for you. diff --git a/roles/custom/matrix-bot-matrix-registration-bot/defaults/main.yml b/roles/custom/matrix-bot-matrix-registration-bot/defaults/main.yml index ca438720c..c26848c73 100644 --- a/roles/custom/matrix-bot-matrix-registration-bot/defaults/main.yml +++ b/roles/custom/matrix-bot-matrix-registration-bot/defaults/main.yml @@ -1,3 +1,13 @@ +# SPDX-FileCopyrightText: 2022 - 2023 Julian-Samuel Gebühr +# SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Erick Wibben +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # matrix-registration-bot creates and manages registration tokens for a Matrix server # Project source code URL: https://github.com/moan0s/matrix-registration-bot diff --git a/roles/custom/matrix-bot-matrix-registration-bot/tasks/clean_cache.yml b/roles/custom/matrix-bot-matrix-registration-bot/tasks/clean_cache.yml index ae4433b8f..d5d590895 100644 --- a/roles/custom/matrix-bot-matrix-registration-bot/tasks/clean_cache.yml +++ b/roles/custom/matrix-bot-matrix-registration-bot/tasks/clean_cache.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2023 Julian-Samuel Gebühr +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Delete cache files diff --git a/roles/custom/matrix-bot-matrix-registration-bot/tasks/main.yml b/roles/custom/matrix-bot-matrix-registration-bot/tasks/main.yml index cd11c1d5d..b420f4cde 100644 --- a/roles/custom/matrix-bot-matrix-registration-bot/tasks/main.yml +++ b/roles/custom/matrix-bot-matrix-registration-bot/tasks/main.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2022 - 2023 Julian-Samuel Gebühr +# SPDX-FileCopyrightText: 2022 - 2023 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-bot-matrix-registration-bot/tasks/setup_install.yml b/roles/custom/matrix-bot-matrix-registration-bot/tasks/setup_install.yml index a05c04109..c23ce719f 100644 --- a/roles/custom/matrix-bot-matrix-registration-bot/tasks/setup_install.yml +++ b/roles/custom/matrix-bot-matrix-registration-bot/tasks/setup_install.yml @@ -1,3 +1,11 @@ +# SPDX-FileCopyrightText: 2022 - 2023 Julian-Samuel Gebühr +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara +# SPDX-FileCopyrightText: 2024 David Mehren +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure matrix-registration-bot paths exist diff --git a/roles/custom/matrix-bot-matrix-registration-bot/tasks/setup_uninstall.yml b/roles/custom/matrix-bot-matrix-registration-bot/tasks/setup_uninstall.yml index b83ea783b..662f8e5da 100644 --- a/roles/custom/matrix-bot-matrix-registration-bot/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-bot-matrix-registration-bot/tasks/setup_uninstall.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2022 Julian-Samuel Gebühr +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2022 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-matrix-registration-bot service diff --git a/roles/custom/matrix-bot-matrix-registration-bot/tasks/validate_config.yml b/roles/custom/matrix-bot-matrix-registration-bot/tasks/validate_config.yml index fb5e7de5c..dfa5c7115 100644 --- a/roles/custom/matrix-bot-matrix-registration-bot/tasks/validate_config.yml +++ b/roles/custom/matrix-bot-matrix-registration-bot/tasks/validate_config.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2022 - 2023 Julian-Samuel Gebühr +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required settings not defined diff --git a/roles/custom/matrix-bot-matrix-registration-bot/templates/config.yaml.j2 b/roles/custom/matrix-bot-matrix-registration-bot/templates/config.yaml.j2 index 7ea2b9d0a..b76ee9824 100644 --- a/roles/custom/matrix-bot-matrix-registration-bot/templates/config.yaml.j2 +++ b/roles/custom/matrix-bot-matrix-registration-bot/templates/config.yaml.j2 @@ -1,3 +1,11 @@ +{# +SPDX-FileCopyrightText: 2022 - 2023 Julian-Samuel Gebühr +SPDX-FileCopyrightText: 2022 Slavi Pantaleev +SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + bot: server: {{ matrix_bot_matrix_registration_bot_bot_server|to_json }} username: {{ matrix_bot_matrix_registration_bot_matrix_user_id_localpart|to_json }} @@ -13,4 +21,3 @@ api: logging: level: {{ matrix_bot_matrix_registration_bot_logging_level|to_json }} - diff --git a/roles/custom/matrix-bot-matrix-registration-bot/templates/systemd/matrix-bot-matrix-registration-bot.service.j2.license b/roles/custom/matrix-bot-matrix-registration-bot/templates/systemd/matrix-bot-matrix-registration-bot.service.j2.license new file mode 100644 index 000000000..3a4dec62d --- /dev/null +++ b/roles/custom/matrix-bot-matrix-registration-bot/templates/systemd/matrix-bot-matrix-registration-bot.service.j2.license @@ -0,0 +1,6 @@ +SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev +SPDX-FileCopyrightText: 2022 Erick Wibben +SPDX-FileCopyrightText: 2022 Julian-Samuel Gebühr +SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara + +SPDX-License-Identifier: AGPL-3.0-or-later From 7d210cbafdcbc1617f8f16658810bc63c21919c8 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 28 Feb 2025 02:11:30 +0900 Subject: [PATCH 567/841] Add license information to files for matrix-bot-mjolnir Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bot-mjolnir.md | 11 +++++++++++ roles/custom/matrix-bot-mjolnir/defaults/main.yml | 12 ++++++++++++ roles/custom/matrix-bot-mjolnir/tasks/main.yml | 6 ++++++ .../matrix-bot-mjolnir/tasks/setup_install.yml | 10 ++++++++++ .../matrix-bot-mjolnir/tasks/setup_uninstall.yml | 7 +++++++ .../matrix-bot-mjolnir/tasks/validate_config.yml | 6 ++++++ .../matrix-bot-mjolnir/templates/production.yaml.j2 | 9 +++++++++ .../systemd/matrix-bot-mjolnir.service.j2.license | 5 +++++ 8 files changed, 66 insertions(+) create mode 100644 roles/custom/matrix-bot-mjolnir/templates/systemd/matrix-bot-mjolnir.service.j2.license diff --git a/docs/configuring-playbook-bot-mjolnir.md b/docs/configuring-playbook-bot-mjolnir.md index ec56f345f..9f4a96dfa 100644 --- a/docs/configuring-playbook-bot-mjolnir.md +++ b/docs/configuring-playbook-bot-mjolnir.md @@ -1,3 +1,14 @@ + + # Setting up Mjolnir (optional) The playbook can install and configure the [Mjolnir](https://github.com/matrix-org/mjolnir) moderation bot for you. diff --git a/roles/custom/matrix-bot-mjolnir/defaults/main.yml b/roles/custom/matrix-bot-mjolnir/defaults/main.yml index 25a958631..24f24e573 100644 --- a/roles/custom/matrix-bot-mjolnir/defaults/main.yml +++ b/roles/custom/matrix-bot-mjolnir/defaults/main.yml @@ -1,3 +1,15 @@ +# SPDX-FileCopyrightText: 2021 - 2022 Aaron Raimist +# SPDX-FileCopyrightText: 2021 - 2024 MDAD project contributors +# SPDX-FileCopyrightText: 2021 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2021 Ahmad Haghighi +# SPDX-FileCopyrightText: 2022 Chirayu Desai +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # A moderation tool for Matrix # Project source code URL: https://github.com/matrix-org/mjolnir diff --git a/roles/custom/matrix-bot-mjolnir/tasks/main.yml b/roles/custom/matrix-bot-mjolnir/tasks/main.yml index 03f5ba905..433827c1d 100644 --- a/roles/custom/matrix-bot-mjolnir/tasks/main.yml +++ b/roles/custom/matrix-bot-mjolnir/tasks/main.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2021 Aaron Raimist +# SPDX-FileCopyrightText: 2022 - 2023 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-bot-mjolnir/tasks/setup_install.yml b/roles/custom/matrix-bot-mjolnir/tasks/setup_install.yml index 082948344..c533948f4 100644 --- a/roles/custom/matrix-bot-mjolnir/tasks/setup_install.yml +++ b/roles/custom/matrix-bot-mjolnir/tasks/setup_install.yml @@ -1,3 +1,13 @@ +# SPDX-FileCopyrightText: 2021 Aaron Raimist +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Jim Myhrberg +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2024 David Mehren +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - ansible.builtin.set_fact: diff --git a/roles/custom/matrix-bot-mjolnir/tasks/setup_uninstall.yml b/roles/custom/matrix-bot-mjolnir/tasks/setup_uninstall.yml index 06be71e15..08ea3b95f 100644 --- a/roles/custom/matrix-bot-mjolnir/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-bot-mjolnir/tasks/setup_uninstall.yml @@ -1,3 +1,10 @@ +# SPDX-FileCopyrightText: 2021 - 2022 Slavi Pantaleev +# SPDX-FileCopyrightText: 2021 Aaron Raimist +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-bot-mjolnir service diff --git a/roles/custom/matrix-bot-mjolnir/tasks/validate_config.yml b/roles/custom/matrix-bot-mjolnir/tasks/validate_config.yml index 8788609a1..a5de35ead 100644 --- a/roles/custom/matrix-bot-mjolnir/tasks/validate_config.yml +++ b/roles/custom/matrix-bot-mjolnir/tasks/validate_config.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2021 Aaron Raimist +# SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2024 MDAD project contributors +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required matrix-bot-mjolnir variables are undefined diff --git a/roles/custom/matrix-bot-mjolnir/templates/production.yaml.j2 b/roles/custom/matrix-bot-mjolnir/templates/production.yaml.j2 index ec2b0ea28..00e7ab7e0 100644 --- a/roles/custom/matrix-bot-mjolnir/templates/production.yaml.j2 +++ b/roles/custom/matrix-bot-mjolnir/templates/production.yaml.j2 @@ -1,3 +1,12 @@ +{# +SPDX-FileCopyrightText: 2021 Aaron Raimist +SPDX-FileCopyrightText: 2022 - 2024 MDAD project contributors +SPDX-FileCopyrightText: 2022 Slavi Pantaleev +SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + # Endpoint URL that Mjolnir uses to interact with the Matrix homeserver (client-server API), # set this to the pantalaimon URL if you're using that. homeserverUrl: {{ matrix_bot_mjolnir_homeserver_url | to_json }} diff --git a/roles/custom/matrix-bot-mjolnir/templates/systemd/matrix-bot-mjolnir.service.j2.license b/roles/custom/matrix-bot-mjolnir/templates/systemd/matrix-bot-mjolnir.service.j2.license new file mode 100644 index 000000000..4ec9445b4 --- /dev/null +++ b/roles/custom/matrix-bot-mjolnir/templates/systemd/matrix-bot-mjolnir.service.j2.license @@ -0,0 +1,5 @@ +SPDX-FileCopyrightText: 2021 - 2024 MDAD project contributors +SPDX-FileCopyrightText: 2021 - 2025 Slavi Pantaleev +SPDX-FileCopyrightText: 2021 Aaron Raimist + +SPDX-License-Identifier: AGPL-3.0-or-later From 2e54072f1bd2f9b8a7bc1adee3087fe835dd7e9f Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 28 Feb 2025 02:47:58 +0900 Subject: [PATCH 568/841] Fix copyright attribution Signed-off-by: Suguru Hirahara --- roles/custom/matrix-appservice-double-puppet/tasks/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-appservice-double-puppet/tasks/main.yml b/roles/custom/matrix-appservice-double-puppet/tasks/main.yml index 79e61c0eb..fda0c1b13 100644 --- a/roles/custom/matrix-appservice-double-puppet/tasks/main.yml +++ b/roles/custom/matrix-appservice-double-puppet/tasks/main.yml @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev # # SPDX-License-Identifier: AGPL-3.0-or-later From 6c605a6193a8da5d35c1970026b63533da26cdb5 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 28 Feb 2025 14:45:49 +0900 Subject: [PATCH 569/841] Add license information to matrix-appservice-draupnir-for-all Signed-off-by: Suguru Hirahara --- .../matrix-appservice-draupnir-for-all/defaults/main.yml | 6 ++++++ .../matrix-appservice-draupnir-for-all/tasks/main.yml | 4 ++++ .../tasks/setup_install.yml | 7 +++++++ .../tasks/setup_uninstall.yml | 4 ++++ .../tasks/validate_config.yml | 5 +++++ .../templates/production-appservice.yaml.j2 | 7 +++++++ .../templates/production-bots.yaml.j2 | 6 ++++++ .../matrix-appservice-draupnir-for-all.service.j2.license | 4 ++++ 8 files changed, 43 insertions(+) create mode 100644 roles/custom/matrix-appservice-draupnir-for-all/templates/systemd/matrix-appservice-draupnir-for-all.service.j2.license diff --git a/roles/custom/matrix-appservice-draupnir-for-all/defaults/main.yml b/roles/custom/matrix-appservice-draupnir-for-all/defaults/main.yml index c7fe4a506..e65ed32e8 100644 --- a/roles/custom/matrix-appservice-draupnir-for-all/defaults/main.yml +++ b/roles/custom/matrix-appservice-draupnir-for-all/defaults/main.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2024 - 2025 MDAD project contributors +# SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # A moderation tool for Matrix # Project source code URL: https://github.com/the-draupnir-project/Draupnir diff --git a/roles/custom/matrix-appservice-draupnir-for-all/tasks/main.yml b/roles/custom/matrix-appservice-draupnir-for-all/tasks/main.yml index 8048ee95a..5e4af332b 100644 --- a/roles/custom/matrix-appservice-draupnir-for-all/tasks/main.yml +++ b/roles/custom/matrix-appservice-draupnir-for-all/tasks/main.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2024 MDAD project contributors +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-appservice-draupnir-for-all/tasks/setup_install.yml b/roles/custom/matrix-appservice-draupnir-for-all/tasks/setup_install.yml index 6dc2bf95e..e4d51b7f7 100644 --- a/roles/custom/matrix-appservice-draupnir-for-all/tasks/setup_install.yml +++ b/roles/custom/matrix-appservice-draupnir-for-all/tasks/setup_install.yml @@ -1,3 +1,10 @@ +# SPDX-FileCopyrightText: 2024 David Mehren +# SPDX-FileCopyrightText: 2024 MDAD project contributors +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - ansible.builtin.set_fact: diff --git a/roles/custom/matrix-appservice-draupnir-for-all/tasks/setup_uninstall.yml b/roles/custom/matrix-appservice-draupnir-for-all/tasks/setup_uninstall.yml index f81cbfef3..da78634d6 100644 --- a/roles/custom/matrix-appservice-draupnir-for-all/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-appservice-draupnir-for-all/tasks/setup_uninstall.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2023 - 2024 MDAD project contributors +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-appservice-draupnir-for-all service diff --git a/roles/custom/matrix-appservice-draupnir-for-all/tasks/validate_config.yml b/roles/custom/matrix-appservice-draupnir-for-all/tasks/validate_config.yml index db572635d..a25fb991d 100644 --- a/roles/custom/matrix-appservice-draupnir-for-all/tasks/validate_config.yml +++ b/roles/custom/matrix-appservice-draupnir-for-all/tasks/validate_config.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2024 MDAD project contributors +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required matrix-bot-draupnir variables are undefined diff --git a/roles/custom/matrix-appservice-draupnir-for-all/templates/production-appservice.yaml.j2 b/roles/custom/matrix-appservice-draupnir-for-all/templates/production-appservice.yaml.j2 index e10952ef4..346b57e96 100644 --- a/roles/custom/matrix-appservice-draupnir-for-all/templates/production-appservice.yaml.j2 +++ b/roles/custom/matrix-appservice-draupnir-for-all/templates/production-appservice.yaml.j2 @@ -1,3 +1,10 @@ +{# +SPDX-FileCopyrightText: 2024 MDAD project contributors +SPDX-FileCopyrightText: 2024 Suguru Hirahara + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + homeserver: # The Matrix server name, this will be the name of the server in your Matrix ID. domain: "{{ matrix_domain }}" diff --git a/roles/custom/matrix-appservice-draupnir-for-all/templates/production-bots.yaml.j2 b/roles/custom/matrix-appservice-draupnir-for-all/templates/production-bots.yaml.j2 index 46a7b4549..de581ed8e 100644 --- a/roles/custom/matrix-appservice-draupnir-for-all/templates/production-bots.yaml.j2 +++ b/roles/custom/matrix-appservice-draupnir-for-all/templates/production-bots.yaml.j2 @@ -1,3 +1,9 @@ +{# +SPDX-FileCopyrightText: 2024 MDAD project contributors + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + # The log level of terminal (or container) output, # can be one of DEBUG, INFO, WARN and ERROR, in increasing order of importance and severity. # diff --git a/roles/custom/matrix-appservice-draupnir-for-all/templates/systemd/matrix-appservice-draupnir-for-all.service.j2.license b/roles/custom/matrix-appservice-draupnir-for-all/templates/systemd/matrix-appservice-draupnir-for-all.service.j2.license new file mode 100644 index 000000000..c66c5baed --- /dev/null +++ b/roles/custom/matrix-appservice-draupnir-for-all/templates/systemd/matrix-appservice-draupnir-for-all.service.j2.license @@ -0,0 +1,4 @@ +SPDX-FileCopyrightText: 2024 MDAD project contributors +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later From aac44ad920a03ab74fcfe9637b102003b358d8ce Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 28 Feb 2025 14:46:20 +0900 Subject: [PATCH 570/841] Add license information to matrix-bot-maubot Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bot-maubot.md | 11 +++++++++++ roles/custom/matrix-bot-maubot/defaults/main.yml | 10 ++++++++++ roles/custom/matrix-bot-maubot/tasks/main.yml | 6 ++++++ .../custom/matrix-bot-maubot/tasks/setup_install.yml | 9 +++++++++ .../matrix-bot-maubot/tasks/setup_uninstall.yml | 6 ++++++ .../matrix-bot-maubot/tasks/validate_config.yml | 6 ++++++ .../custom/matrix-bot-maubot/templates/config.yaml.j2 | 9 +++++++++ .../templates/customizations/Dockerfile.j2.license | 3 +++ roles/custom/matrix-bot-maubot/templates/labels.j2 | 6 ++++++ .../systemd/matrix-bot-maubot.service.j2.license | 5 +++++ 10 files changed, 71 insertions(+) create mode 100644 roles/custom/matrix-bot-maubot/templates/customizations/Dockerfile.j2.license create mode 100644 roles/custom/matrix-bot-maubot/templates/systemd/matrix-bot-maubot.service.j2.license diff --git a/docs/configuring-playbook-bot-maubot.md b/docs/configuring-playbook-bot-maubot.md index e45ca87db..367a3aaac 100644 --- a/docs/configuring-playbook-bot-maubot.md +++ b/docs/configuring-playbook-bot-maubot.md @@ -1,3 +1,14 @@ + + # Setting up maubot (optional) The playbook can install and configure [maubot](https://github.com/maubot/maubot) for you. diff --git a/roles/custom/matrix-bot-maubot/defaults/main.yml b/roles/custom/matrix-bot-maubot/defaults/main.yml index 976cdc16c..64e717219 100644 --- a/roles/custom/matrix-bot-maubot/defaults/main.yml +++ b/roles/custom/matrix-bot-maubot/defaults/main.yml @@ -1,3 +1,13 @@ +# SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Julian-Samuel Gebühr +# SPDX-FileCopyrightText: 2022 Stuart Mumford +# SPDX-FileCopyrightText: 2023 Nikita Chernyi +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# SPDX-FileCopyrightText: 2023 Shreyas Ajjarapu +# SPDX-FileCopyrightText: 2024 Fabio Bonelli +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # maubot is a plugin-based Matrix bot system. diff --git a/roles/custom/matrix-bot-maubot/tasks/main.yml b/roles/custom/matrix-bot-maubot/tasks/main.yml index d954a452a..b17fe4200 100644 --- a/roles/custom/matrix-bot-maubot/tasks/main.yml +++ b/roles/custom/matrix-bot-maubot/tasks/main.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Julian-Samuel Gebühr +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-bot-maubot/tasks/setup_install.yml b/roles/custom/matrix-bot-maubot/tasks/setup_install.yml index 1c6f17404..973dff0c6 100644 --- a/roles/custom/matrix-bot-maubot/tasks/setup_install.yml +++ b/roles/custom/matrix-bot-maubot/tasks/setup_install.yml @@ -1,3 +1,12 @@ +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Julian-Samuel Gebühr +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2022 Stuart Mumford +# SPDX-FileCopyrightText: 2024 David Mehren +# SPDX-FileCopyrightText: 2025 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure maubot paths exist diff --git a/roles/custom/matrix-bot-maubot/tasks/setup_uninstall.yml b/roles/custom/matrix-bot-maubot/tasks/setup_uninstall.yml index 9d7695763..b5d6c15d6 100644 --- a/roles/custom/matrix-bot-maubot/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-bot-maubot/tasks/setup_uninstall.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2022 Julian-Samuel Gebühr +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2022 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-maubot service diff --git a/roles/custom/matrix-bot-maubot/tasks/validate_config.yml b/roles/custom/matrix-bot-maubot/tasks/validate_config.yml index 29409f7b8..6b8be3cce 100644 --- a/roles/custom/matrix-bot-maubot/tasks/validate_config.yml +++ b/roles/custom/matrix-bot-maubot/tasks/validate_config.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Julian-Samuel Gebühr +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: (Deprecation) Catch and report renamed maubot variables diff --git a/roles/custom/matrix-bot-maubot/templates/config.yaml.j2 b/roles/custom/matrix-bot-maubot/templates/config.yaml.j2 index 73c75ce58..e5c5be630 100644 --- a/roles/custom/matrix-bot-maubot/templates/config.yaml.j2 +++ b/roles/custom/matrix-bot-maubot/templates/config.yaml.j2 @@ -1,3 +1,12 @@ +{# +SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2022 Julian-Samuel Gebühr +SPDX-FileCopyrightText: 2022 Stuart Mumford +SPDX-FileCopyrightText: 2025 Suguru Hirahara + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + # The full URI to the database. SQLite and Postgres are fully supported. # Other DBMSes supported by SQLAlchemy may or may not work. # Format examples: diff --git a/roles/custom/matrix-bot-maubot/templates/customizations/Dockerfile.j2.license b/roles/custom/matrix-bot-maubot/templates/customizations/Dockerfile.j2.license new file mode 100644 index 000000000..e64bd56b9 --- /dev/null +++ b/roles/custom/matrix-bot-maubot/templates/customizations/Dockerfile.j2.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bot-maubot/templates/labels.j2 b/roles/custom/matrix-bot-maubot/templates/labels.j2 index 4c4592e89..e937775d4 100644 --- a/roles/custom/matrix-bot-maubot/templates/labels.j2 +++ b/roles/custom/matrix-bot-maubot/templates/labels.j2 @@ -1,3 +1,9 @@ +{# +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + {% if matrix_bot_maubot_container_labels_traefik_enabled %} traefik.enable=true diff --git a/roles/custom/matrix-bot-maubot/templates/systemd/matrix-bot-maubot.service.j2.license b/roles/custom/matrix-bot-maubot/templates/systemd/matrix-bot-maubot.service.j2.license new file mode 100644 index 000000000..c34c637f0 --- /dev/null +++ b/roles/custom/matrix-bot-maubot/templates/systemd/matrix-bot-maubot.service.j2.license @@ -0,0 +1,5 @@ +SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev +SPDX-FileCopyrightText: 2022 Julian-Samuel Gebühr +SPDX-FileCopyrightText: 2022 Stuart Mumford + +SPDX-License-Identifier: AGPL-3.0-or-later From 766ad9ebaadffb8a0085e8cb345eb45756acfae1 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 28 Feb 2025 14:46:49 +0900 Subject: [PATCH 571/841] Add license information to matrix-bridge-appservice-discord Signed-off-by: Suguru Hirahara --- ...onfiguring-playbook-bridge-appservice-discord.md | 9 +++++++++ .../defaults/main.yml | 13 +++++++++++++ .../matrix-bridge-appservice-discord/tasks/main.yml | 6 ++++++ .../tasks/setup_install.yml | 13 +++++++++++++ .../tasks/setup_uninstall.yml | 6 ++++++ .../tasks/validate_config.yml | 4 ++++ .../templates/config.yaml.j2.license | 6 ++++++ .../matrix-appservice-discord.service.j2.license | 7 +++++++ 8 files changed, 64 insertions(+) create mode 100644 roles/custom/matrix-bridge-appservice-discord/templates/config.yaml.j2.license create mode 100644 roles/custom/matrix-bridge-appservice-discord/templates/systemd/matrix-appservice-discord.service.j2.license diff --git a/docs/configuring-playbook-bridge-appservice-discord.md b/docs/configuring-playbook-bridge-appservice-discord.md index 6ea6b88db..d4a97a445 100644 --- a/docs/configuring-playbook-bridge-appservice-discord.md +++ b/docs/configuring-playbook-bridge-appservice-discord.md @@ -1,3 +1,12 @@ + + # Setting up Appservice Discord bridging (optional) **Note**: bridging to [Discord](https://discordapp.com/) can also happen via the [mx-puppet-discord](configuring-playbook-bridge-mx-puppet-discord.md) and [mautrix-discord](configuring-playbook-bridge-mautrix-discord.md) bridges supported by the playbook. diff --git a/roles/custom/matrix-bridge-appservice-discord/defaults/main.yml b/roles/custom/matrix-bridge-appservice-discord/defaults/main.yml index 8fa789f38..6da159f0d 100644 --- a/roles/custom/matrix-bridge-appservice-discord/defaults/main.yml +++ b/roles/custom/matrix-bridge-appservice-discord/defaults/main.yml @@ -1,3 +1,16 @@ +# SPDX-FileCopyrightText: 2019 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2019 Daniel Løvbrøtte Olsen +# SPDX-FileCopyrightText: 2020 John Goerzen +# SPDX-FileCopyrightText: 2021 - 2023 MDAD project contributors +# SPDX-FileCopyrightText: 2021 Aaron Raimist +# SPDX-FileCopyrightText: 2021 Ahmad Haghighi +# SPDX-FileCopyrightText: 2022 Jim Myhrberg +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # matrix-appservice-discord is a Matrix <-> Discord bridge # Project source code URL: https://github.com/matrix-org/matrix-appservice-discord diff --git a/roles/custom/matrix-bridge-appservice-discord/tasks/main.yml b/roles/custom/matrix-bridge-appservice-discord/tasks/main.yml index 88a772204..617a70849 100644 --- a/roles/custom/matrix-bridge-appservice-discord/tasks/main.yml +++ b/roles/custom/matrix-bridge-appservice-discord/tasks/main.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2019 - 2023 Slavi Pantaleev +# SPDX-FileCopyrightText: 2019 Dan Arnfield +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-bridge-appservice-discord/tasks/setup_install.yml b/roles/custom/matrix-bridge-appservice-discord/tasks/setup_install.yml index f847c743a..0fddef00e 100644 --- a/roles/custom/matrix-bridge-appservice-discord/tasks/setup_install.yml +++ b/roles/custom/matrix-bridge-appservice-discord/tasks/setup_install.yml @@ -1,3 +1,16 @@ +# SPDX-FileCopyrightText: 2019 - 2020 MDAD project contributors +# SPDX-FileCopyrightText: 2019 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2019 Dan Arnfield +# SPDX-FileCopyrightText: 2020 Chris van Dijk +# SPDX-FileCopyrightText: 2020 Stuart Mumford +# SPDX-FileCopyrightText: 2022 Jim Myhrberg +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2024 David Mehren +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - ansible.builtin.set_fact: diff --git a/roles/custom/matrix-bridge-appservice-discord/tasks/setup_uninstall.yml b/roles/custom/matrix-bridge-appservice-discord/tasks/setup_uninstall.yml index ca2354c63..fb164945c 100644 --- a/roles/custom/matrix-bridge-appservice-discord/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-bridge-appservice-discord/tasks/setup_uninstall.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2019 - 2022 Slavi Pantaleev +# SPDX-FileCopyrightText: 2020 MDAD project contributors +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-appservice-discord service diff --git a/roles/custom/matrix-bridge-appservice-discord/tasks/validate_config.yml b/roles/custom/matrix-bridge-appservice-discord/tasks/validate_config.yml index 033a8b337..3d5fec6fe 100644 --- a/roles/custom/matrix-bridge-appservice-discord/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-appservice-discord/tasks/validate_config.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2019 - 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required appservice-discord settings not defined diff --git a/roles/custom/matrix-bridge-appservice-discord/templates/config.yaml.j2.license b/roles/custom/matrix-bridge-appservice-discord/templates/config.yaml.j2.license new file mode 100644 index 000000000..9747b420b --- /dev/null +++ b/roles/custom/matrix-bridge-appservice-discord/templates/config.yaml.j2.license @@ -0,0 +1,6 @@ +SPDX-FileCopyrightText: 2020 - 2022 Slavi Pantaleev +SPDX-FileCopyrightText: 2020 MDAD project contributors +SPDX-FileCopyrightText: 2022 Jim Myhrberg +SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-appservice-discord/templates/systemd/matrix-appservice-discord.service.j2.license b/roles/custom/matrix-bridge-appservice-discord/templates/systemd/matrix-appservice-discord.service.j2.license new file mode 100644 index 000000000..894501b8a --- /dev/null +++ b/roles/custom/matrix-bridge-appservice-discord/templates/systemd/matrix-appservice-discord.service.j2.license @@ -0,0 +1,7 @@ +SPDX-FileCopyrightText: 2019 - 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2019 Hugues De Keyzer +SPDX-FileCopyrightText: 2019 MDAD project contributors +SPDX-FileCopyrightText: 2020 Chris van Dijk +SPDX-FileCopyrightText: 2020 Scott Crossen + +SPDX-License-Identifier: AGPL-3.0-or-later From 9ac31fb37c8ff3366c70a5bd4d4ca727fdee01e6 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 28 Feb 2025 14:47:01 +0900 Subject: [PATCH 572/841] Add license information to matrix-bridge-appservice-irc Signed-off-by: Suguru Hirahara --- ...figuring-playbook-bridge-appservice-irc.md | 9 ++++++++ .../defaults/main.yml | 21 +++++++++++++++++++ .../tasks/main.yml | 6 ++++++ .../tasks/migrate_nedb_to_postgres.yml | 7 +++++++ .../tasks/setup_install.yml | 13 ++++++++++++ .../tasks/setup_uninstall.yml | 6 ++++++ .../tasks/validate_config.yml | 5 +++++ .../templates/config.yaml.j2.license | 5 +++++ .../matrix-appservice-irc.service.j2.license | 7 +++++++ 9 files changed, 79 insertions(+) create mode 100644 roles/custom/matrix-bridge-appservice-irc/templates/config.yaml.j2.license create mode 100644 roles/custom/matrix-bridge-appservice-irc/templates/systemd/matrix-appservice-irc.service.j2.license diff --git a/docs/configuring-playbook-bridge-appservice-irc.md b/docs/configuring-playbook-bridge-appservice-irc.md index da655a77b..79cf0aee3 100644 --- a/docs/configuring-playbook-bridge-appservice-irc.md +++ b/docs/configuring-playbook-bridge-appservice-irc.md @@ -1,3 +1,12 @@ + + # Setting up Appservice IRC bridging (optional) **Note**: bridging to [IRC](https://en.wikipedia.org/wiki/Internet_Relay_Chat) can also happen via the [Heisenbridge](configuring-playbook-bridge-heisenbridge.md) bridge supported by the playbook. diff --git a/roles/custom/matrix-bridge-appservice-irc/defaults/main.yml b/roles/custom/matrix-bridge-appservice-irc/defaults/main.yml index 22f166857..3ce0a176d 100644 --- a/roles/custom/matrix-bridge-appservice-irc/defaults/main.yml +++ b/roles/custom/matrix-bridge-appservice-irc/defaults/main.yml @@ -1,3 +1,24 @@ +# SPDX-FileCopyrightText: 2019 - 2020 Lee Verberne +# SPDX-FileCopyrightText: 2019 - 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2019 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2019 Aaron Raimist +# SPDX-FileCopyrightText: 2019 Alexander Acevedo +# SPDX-FileCopyrightText: 2019 Dan Arnfield +# SPDX-FileCopyrightText: 2019 Hugues Morisset +# SPDX-FileCopyrightText: 2019 Lyubomir Popov +# SPDX-FileCopyrightText: 2019 Sylvia van Os +# SPDX-FileCopyrightText: 2020 John Goerzen +# SPDX-FileCopyrightText: 2021 - 2023 Thom Wiggers +# SPDX-FileCopyrightText: 2021 Ahmad Haghighi +# SPDX-FileCopyrightText: 2021 Joseph Walton-Rivers +# SPDX-FileCopyrightText: 2021 Panagiotis Georgiadis +# SPDX-FileCopyrightText: 2021 Sebastian Gumprich +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # Matrix Appservice IRC is a Matrix <-> IRC bridge # Project source code URL: https://github.com/matrix-org/matrix-appservice-irc diff --git a/roles/custom/matrix-bridge-appservice-irc/tasks/main.yml b/roles/custom/matrix-bridge-appservice-irc/tasks/main.yml index d46698480..ba6332519 100644 --- a/roles/custom/matrix-bridge-appservice-irc/tasks/main.yml +++ b/roles/custom/matrix-bridge-appservice-irc/tasks/main.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2019 - 2023 Slavi Pantaleev +# SPDX-FileCopyrightText: 2019 Dan Arnfield +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-bridge-appservice-irc/tasks/migrate_nedb_to_postgres.yml b/roles/custom/matrix-bridge-appservice-irc/tasks/migrate_nedb_to_postgres.yml index 47d796886..866d0cba3 100644 --- a/roles/custom/matrix-bridge-appservice-irc/tasks/migrate_nedb_to_postgres.yml +++ b/roles/custom/matrix-bridge-appservice-irc/tasks/migrate_nedb_to_postgres.yml @@ -1,3 +1,10 @@ +# SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2021 Jez Cope +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if Postgres not enabled diff --git a/roles/custom/matrix-bridge-appservice-irc/tasks/setup_install.yml b/roles/custom/matrix-bridge-appservice-irc/tasks/setup_install.yml index 4e91e073f..b4cb63c86 100644 --- a/roles/custom/matrix-bridge-appservice-irc/tasks/setup_install.yml +++ b/roles/custom/matrix-bridge-appservice-irc/tasks/setup_install.yml @@ -1,3 +1,16 @@ +# SPDX-FileCopyrightText: 2019 - 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2019 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2019 Dan Arnfield +# SPDX-FileCopyrightText: 2020 Chris van Dijk +# SPDX-FileCopyrightText: 2021 Panagiotis Georgiadis +# SPDX-FileCopyrightText: 2022 Jim Myhrberg +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2024 David Mehren +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - ansible.builtin.include_role: diff --git a/roles/custom/matrix-bridge-appservice-irc/tasks/setup_uninstall.yml b/roles/custom/matrix-bridge-appservice-irc/tasks/setup_uninstall.yml index f16d3763f..371c42503 100644 --- a/roles/custom/matrix-bridge-appservice-irc/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-bridge-appservice-irc/tasks/setup_uninstall.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2019 - 2022 Slavi Pantaleev +# SPDX-FileCopyrightText: 2020 MDAD project contributors +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-appservice-irc service diff --git a/roles/custom/matrix-bridge-appservice-irc/tasks/validate_config.yml b/roles/custom/matrix-bridge-appservice-irc/tasks/validate_config.yml index f8dcf76ab..e923180ed 100644 --- a/roles/custom/matrix-bridge-appservice-irc/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-appservice-irc/tasks/validate_config.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2019 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required appservice-irc settings not defined diff --git a/roles/custom/matrix-bridge-appservice-irc/templates/config.yaml.j2.license b/roles/custom/matrix-bridge-appservice-irc/templates/config.yaml.j2.license new file mode 100644 index 000000000..919fa142d --- /dev/null +++ b/roles/custom/matrix-bridge-appservice-irc/templates/config.yaml.j2.license @@ -0,0 +1,5 @@ +SPDX-FileCopyrightText: 2020 - 2022 Slavi Pantaleev +SPDX-FileCopyrightText: 2020 MDAD project contributors +SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-appservice-irc/templates/systemd/matrix-appservice-irc.service.j2.license b/roles/custom/matrix-bridge-appservice-irc/templates/systemd/matrix-appservice-irc.service.j2.license new file mode 100644 index 000000000..cadd27bdd --- /dev/null +++ b/roles/custom/matrix-bridge-appservice-irc/templates/systemd/matrix-appservice-irc.service.j2.license @@ -0,0 +1,7 @@ +SPDX-FileCopyrightText: 2019 - 2025 Slavi Pantaleev +SPDX-FileCopyrightText: 2019 Hugues De Keyzer +SPDX-FileCopyrightText: 2019 MDAD project contributors +SPDX-FileCopyrightText: 2020 Chris van Dijk +SPDX-FileCopyrightText: 2020 Scott Crossen + +SPDX-License-Identifier: AGPL-3.0-or-later From 4b7dbcefecd98e66e4ca4674c5255357d8fff999 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 28 Feb 2025 14:47:17 +0900 Subject: [PATCH 573/841] Add license information to matrix-bridge-appservice-slack Signed-off-by: Suguru Hirahara --- ...nfiguring-playbook-bridge-appservice-slack.md | 11 +++++++++++ .../defaults/main.yml | 16 ++++++++++++++++ .../tasks/main.yml | 6 ++++++ .../tasks/migrate_nedb_to_postgres.yml | 6 ++++++ .../tasks/setup_install.yml | 12 ++++++++++++ .../tasks/setup_uninstall.yml | 6 ++++++ .../tasks/validate_config.yml | 6 ++++++ .../templates/config.yaml.j2.license | 6 ++++++ .../templates/labels.j2 | 6 ++++++ .../matrix-appservice-slack.service.j2.license | 6 ++++++ 10 files changed, 81 insertions(+) create mode 100644 roles/custom/matrix-bridge-appservice-slack/templates/config.yaml.j2.license create mode 100644 roles/custom/matrix-bridge-appservice-slack/templates/systemd/matrix-appservice-slack.service.j2.license diff --git a/docs/configuring-playbook-bridge-appservice-slack.md b/docs/configuring-playbook-bridge-appservice-slack.md index 4d602da35..5de62f97c 100644 --- a/docs/configuring-playbook-bridge-appservice-slack.md +++ b/docs/configuring-playbook-bridge-appservice-slack.md @@ -1,3 +1,14 @@ + + # Setting up Appservice Slack bridging (optional) **Notes**: diff --git a/roles/custom/matrix-bridge-appservice-slack/defaults/main.yml b/roles/custom/matrix-bridge-appservice-slack/defaults/main.yml index abc875cc2..4a8eb2dc7 100644 --- a/roles/custom/matrix-bridge-appservice-slack/defaults/main.yml +++ b/roles/custom/matrix-bridge-appservice-slack/defaults/main.yml @@ -1,3 +1,19 @@ +# SPDX-FileCopyrightText: 2019 - 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2019 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2020 Daniel Wiegreffe +# SPDX-FileCopyrightText: 2021 Ahmad Haghighi +# SPDX-FileCopyrightText: 2021 Béla Becker +# SPDX-FileCopyrightText: 2021 Panagiotis Georgiadis +# SPDX-FileCopyrightText: 2021 boris runakov +# SPDX-FileCopyrightText: 2022 Didier 'OdyX' Raboud +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# SPDX-FileCopyrightText: 2024 Fabio Bonelli +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # matrix-appservice-slack is a Matrix <-> Slack bridge # Project source code URL: https://github.com/matrix-org/matrix-appservice-slack diff --git a/roles/custom/matrix-bridge-appservice-slack/tasks/main.yml b/roles/custom/matrix-bridge-appservice-slack/tasks/main.yml index c98dc5198..c9251c190 100644 --- a/roles/custom/matrix-bridge-appservice-slack/tasks/main.yml +++ b/roles/custom/matrix-bridge-appservice-slack/tasks/main.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2019 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2019 MDAD project contributors +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-bridge-appservice-slack/tasks/migrate_nedb_to_postgres.yml b/roles/custom/matrix-bridge-appservice-slack/tasks/migrate_nedb_to_postgres.yml index b3a6ee937..e4b2f372f 100644 --- a/roles/custom/matrix-bridge-appservice-slack/tasks/migrate_nedb_to_postgres.yml +++ b/roles/custom/matrix-bridge-appservice-slack/tasks/migrate_nedb_to_postgres.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if Postgres not enabled diff --git a/roles/custom/matrix-bridge-appservice-slack/tasks/setup_install.yml b/roles/custom/matrix-bridge-appservice-slack/tasks/setup_install.yml index 619276bdb..b556910f8 100644 --- a/roles/custom/matrix-bridge-appservice-slack/tasks/setup_install.yml +++ b/roles/custom/matrix-bridge-appservice-slack/tasks/setup_install.yml @@ -1,3 +1,15 @@ +# SPDX-FileCopyrightText: 2019 - 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2019 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2020 Chris van Dijk +# SPDX-FileCopyrightText: 2021 Panagiotis Georgiadis +# SPDX-FileCopyrightText: 2022 Jim Myhrberg +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2024 David Mehren +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure AppService Slack paths exist diff --git a/roles/custom/matrix-bridge-appservice-slack/tasks/setup_uninstall.yml b/roles/custom/matrix-bridge-appservice-slack/tasks/setup_uninstall.yml index 51c77fef0..e37cfb046 100644 --- a/roles/custom/matrix-bridge-appservice-slack/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-bridge-appservice-slack/tasks/setup_uninstall.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2019 - 2020 MDAD project contributors +# SPDX-FileCopyrightText: 2021 - 2022 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-appservice-slack service diff --git a/roles/custom/matrix-bridge-appservice-slack/tasks/validate_config.yml b/roles/custom/matrix-bridge-appservice-slack/tasks/validate_config.yml index d6d802dd3..66eddaf11 100644 --- a/roles/custom/matrix-bridge-appservice-slack/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-appservice-slack/tasks/validate_config.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2019 - 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2019 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2021 boris runakov +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required appservice-slack settings not defined diff --git a/roles/custom/matrix-bridge-appservice-slack/templates/config.yaml.j2.license b/roles/custom/matrix-bridge-appservice-slack/templates/config.yaml.j2.license new file mode 100644 index 000000000..52f246738 --- /dev/null +++ b/roles/custom/matrix-bridge-appservice-slack/templates/config.yaml.j2.license @@ -0,0 +1,6 @@ +SPDX-FileCopyrightText: 2020 - 2022 MDAD project contributors +SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2022 Didier 'OdyX' Raboud +SPDX-FileCopyrightText: 2024 Fabio Bonelli + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-appservice-slack/templates/labels.j2 b/roles/custom/matrix-bridge-appservice-slack/templates/labels.j2 index 5e025ae12..212902fde 100644 --- a/roles/custom/matrix-bridge-appservice-slack/templates/labels.j2 +++ b/roles/custom/matrix-bridge-appservice-slack/templates/labels.j2 @@ -1,3 +1,9 @@ +{# +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + {% if matrix_appservice_slack_container_labels_traefik_enabled %} traefik.enable=true diff --git a/roles/custom/matrix-bridge-appservice-slack/templates/systemd/matrix-appservice-slack.service.j2.license b/roles/custom/matrix-bridge-appservice-slack/templates/systemd/matrix-appservice-slack.service.j2.license new file mode 100644 index 000000000..c395d00d7 --- /dev/null +++ b/roles/custom/matrix-bridge-appservice-slack/templates/systemd/matrix-appservice-slack.service.j2.license @@ -0,0 +1,6 @@ +SPDX-FileCopyrightText: 2019 MDAD project contributors +SPDX-FileCopyrightText: 2020 - 2025 Slavi Pantaleev +SPDX-FileCopyrightText: 2020 Chris van Dijk +SPDX-FileCopyrightText: 2020 Scott Crossen + +SPDX-License-Identifier: AGPL-3.0-or-later From 497a0f8a42bcac2f75930ede3edd91514c685776 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 28 Feb 2025 18:38:54 +0900 Subject: [PATCH 574/841] Add license information to files for matrix-bridge-beeper-linkedin Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bridge-beeper-linkedin.md | 10 ++++++++++ .../matrix-bridge-beeper-linkedin/defaults/main.yml | 11 +++++++++++ .../matrix-bridge-beeper-linkedin/tasks/main.yml | 6 ++++++ .../tasks/setup_install.yml | 11 +++++++++++ .../tasks/setup_uninstall.yml | 6 ++++++ .../tasks/validate_config.yml | 6 ++++++ .../templates/config.yaml.j2.license | 6 ++++++ .../systemd/matrix-beeper-linkedin.service.j2.license | 4 ++++ 8 files changed, 60 insertions(+) create mode 100644 roles/custom/matrix-bridge-beeper-linkedin/templates/config.yaml.j2.license create mode 100644 roles/custom/matrix-bridge-beeper-linkedin/templates/systemd/matrix-beeper-linkedin.service.j2.license diff --git a/docs/configuring-playbook-bridge-beeper-linkedin.md b/docs/configuring-playbook-bridge-beeper-linkedin.md index 995ea6faa..e2628661b 100644 --- a/docs/configuring-playbook-bridge-beeper-linkedin.md +++ b/docs/configuring-playbook-bridge-beeper-linkedin.md @@ -1,3 +1,13 @@ + + # Setting up Beeper Linkedin bridging (optional) The playbook can install and configure [beeper-linkedin](https://github.com/beeper/linkedin) for you, for bridging to [LinkedIn](https://www.linkedin.com/) Messaging. This bridge is based on the mautrix-python framework and can be configured in a similar way to the mautrix bridges. diff --git a/roles/custom/matrix-bridge-beeper-linkedin/defaults/main.yml b/roles/custom/matrix-bridge-beeper-linkedin/defaults/main.yml index 873e9be95..e06c37c37 100644 --- a/roles/custom/matrix-bridge-beeper-linkedin/defaults/main.yml +++ b/roles/custom/matrix-bridge-beeper-linkedin/defaults/main.yml @@ -1,3 +1,14 @@ +# SPDX-FileCopyrightText: 2021 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2021 Alexandar Mechev +# SPDX-FileCopyrightText: 2022 - 2023 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 - 2024 MDAD project contributors +# SPDX-FileCopyrightText: 2022 Cody Wyatt Neiman +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2023 Paul ALNET +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # beeper-linkedin is a Matrix <-> LinkedIn bridge # Project source code URL: https://github.com/beeper/linkedin diff --git a/roles/custom/matrix-bridge-beeper-linkedin/tasks/main.yml b/roles/custom/matrix-bridge-beeper-linkedin/tasks/main.yml index 56eb91e52..34a4ea3dd 100644 --- a/roles/custom/matrix-bridge-beeper-linkedin/tasks/main.yml +++ b/roles/custom/matrix-bridge-beeper-linkedin/tasks/main.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2021 Alexandar Mechev +# SPDX-FileCopyrightText: 2022 - 2023 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-bridge-beeper-linkedin/tasks/setup_install.yml b/roles/custom/matrix-bridge-beeper-linkedin/tasks/setup_install.yml index 7d27b1559..e61dc18fb 100644 --- a/roles/custom/matrix-bridge-beeper-linkedin/tasks/setup_install.yml +++ b/roles/custom/matrix-bridge-beeper-linkedin/tasks/setup_install.yml @@ -1,3 +1,14 @@ +# SPDX-FileCopyrightText: 2021 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2021 Alexandar Mechev +# SPDX-FileCopyrightText: 2022 Cody Wyatt Neiman +# SPDX-FileCopyrightText: 2022 Jim Myhrberg +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2024 David Mehren +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure Beeper LinkedIn paths exists diff --git a/roles/custom/matrix-bridge-beeper-linkedin/tasks/setup_uninstall.yml b/roles/custom/matrix-bridge-beeper-linkedin/tasks/setup_uninstall.yml index 4d3334692..aea2f34cf 100644 --- a/roles/custom/matrix-bridge-beeper-linkedin/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-bridge-beeper-linkedin/tasks/setup_uninstall.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2021 - 2022 Slavi Pantaleev +# SPDX-FileCopyrightText: 2021 Alexandar Mechev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-beeper-linkedin service diff --git a/roles/custom/matrix-bridge-beeper-linkedin/tasks/validate_config.yml b/roles/custom/matrix-bridge-beeper-linkedin/tasks/validate_config.yml index dc87a45e7..059eeebc8 100644 --- a/roles/custom/matrix-bridge-beeper-linkedin/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-beeper-linkedin/tasks/validate_config.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2021 Alexandar Mechev +# SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required beeper-linkedin settings not defined diff --git a/roles/custom/matrix-bridge-beeper-linkedin/templates/config.yaml.j2.license b/roles/custom/matrix-bridge-beeper-linkedin/templates/config.yaml.j2.license new file mode 100644 index 000000000..fa76a7a16 --- /dev/null +++ b/roles/custom/matrix-bridge-beeper-linkedin/templates/config.yaml.j2.license @@ -0,0 +1,6 @@ +SPDX-FileCopyrightText: 2021 Alexandar Mechev +SPDX-FileCopyrightText: 2022 - 2023 Nikita Chernyi +SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2022 MDAD project contributors + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-beeper-linkedin/templates/systemd/matrix-beeper-linkedin.service.j2.license b/roles/custom/matrix-bridge-beeper-linkedin/templates/systemd/matrix-beeper-linkedin.service.j2.license new file mode 100644 index 000000000..a6a2062ab --- /dev/null +++ b/roles/custom/matrix-bridge-beeper-linkedin/templates/systemd/matrix-beeper-linkedin.service.j2.license @@ -0,0 +1,4 @@ +SPDX-FileCopyrightText: 2021 Alexandar Mechev +SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later From d403a7e4ae9ee467cc9c951e1a924c3554bff9fb Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 28 Feb 2025 18:40:16 +0900 Subject: [PATCH 575/841] Add license information to files for matrix-bridge-heisenbridge Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bridge-heisenbridge.md | 8 ++++++++ .../matrix-bridge-heisenbridge/defaults/main.yml | 10 ++++++++++ roles/custom/matrix-bridge-heisenbridge/tasks/main.yml | 6 ++++++ .../matrix-bridge-heisenbridge/tasks/setup_install.yml | 10 ++++++++++ .../tasks/setup_uninstall.yml | 7 +++++++ .../tasks/validate_config.yml | 5 +++++ .../matrix-bridge-heisenbridge/templates/labels.j2 | 6 ++++++ .../systemd/matrix-heisenbridge.service.j2.license | 4 ++++ 8 files changed, 56 insertions(+) create mode 100644 roles/custom/matrix-bridge-heisenbridge/templates/systemd/matrix-heisenbridge.service.j2.license diff --git a/docs/configuring-playbook-bridge-heisenbridge.md b/docs/configuring-playbook-bridge-heisenbridge.md index d8f0dcde6..c49b7b21a 100644 --- a/docs/configuring-playbook-bridge-heisenbridge.md +++ b/docs/configuring-playbook-bridge-heisenbridge.md @@ -1,3 +1,11 @@ + + # Setting up Heisenbridge bouncer-style IRC bridging (optional) **Note**: bridging to [IRC](https://en.wikipedia.org/wiki/Internet_Relay_Chat) can also happen via the [matrix-appservice-irc](configuring-playbook-bridge-appservice-irc.md) bridge supported by the playbook. diff --git a/roles/custom/matrix-bridge-heisenbridge/defaults/main.yml b/roles/custom/matrix-bridge-heisenbridge/defaults/main.yml index c39c20c68..0bf20fc21 100644 --- a/roles/custom/matrix-bridge-heisenbridge/defaults/main.yml +++ b/roles/custom/matrix-bridge-heisenbridge/defaults/main.yml @@ -1,3 +1,13 @@ +# SPDX-FileCopyrightText: 2021 - 2022 Toni Spets +# SPDX-FileCopyrightText: 2022 - 2023 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # Heisenbridge is a bouncer-style Matrix IRC bridge # Project source code URL: https://github.com/hifi/heisenbridge diff --git a/roles/custom/matrix-bridge-heisenbridge/tasks/main.yml b/roles/custom/matrix-bridge-heisenbridge/tasks/main.yml index b281d00bf..7de077071 100644 --- a/roles/custom/matrix-bridge-heisenbridge/tasks/main.yml +++ b/roles/custom/matrix-bridge-heisenbridge/tasks/main.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2021 Toni Spets +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-bridge-heisenbridge/tasks/setup_install.yml b/roles/custom/matrix-bridge-heisenbridge/tasks/setup_install.yml index 9ea3500ff..a748464db 100644 --- a/roles/custom/matrix-bridge-heisenbridge/tasks/setup_install.yml +++ b/roles/custom/matrix-bridge-heisenbridge/tasks/setup_install.yml @@ -1,3 +1,13 @@ +# SPDX-FileCopyrightText: 2021 Toni Spets +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Jim Myhrberg +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2024 David Mehren +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure Heisenbridge image is pulled diff --git a/roles/custom/matrix-bridge-heisenbridge/tasks/setup_uninstall.yml b/roles/custom/matrix-bridge-heisenbridge/tasks/setup_uninstall.yml index 090427ca3..ba42105de 100644 --- a/roles/custom/matrix-bridge-heisenbridge/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-bridge-heisenbridge/tasks/setup_uninstall.yml @@ -1,3 +1,10 @@ +# SPDX-FileCopyrightText: 2021 - 2022 Slavi Pantaleev +# SPDX-FileCopyrightText: 2021 Michael Sasser +# SPDX-FileCopyrightText: 2021 Toni Spets +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-heisenbridge service diff --git a/roles/custom/matrix-bridge-heisenbridge/tasks/validate_config.yml b/roles/custom/matrix-bridge-heisenbridge/tasks/validate_config.yml index 604df5a56..34e63877f 100644 --- a/roles/custom/matrix-bridge-heisenbridge/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-heisenbridge/tasks/validate_config.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required Heisenbridge settings not defined diff --git a/roles/custom/matrix-bridge-heisenbridge/templates/labels.j2 b/roles/custom/matrix-bridge-heisenbridge/templates/labels.j2 index ee54ac8e1..fa2cb1ee1 100644 --- a/roles/custom/matrix-bridge-heisenbridge/templates/labels.j2 +++ b/roles/custom/matrix-bridge-heisenbridge/templates/labels.j2 @@ -1,3 +1,9 @@ +{# +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + {% if matrix_heisenbridge_container_labels_traefik_enabled %} traefik.enable=true diff --git a/roles/custom/matrix-bridge-heisenbridge/templates/systemd/matrix-heisenbridge.service.j2.license b/roles/custom/matrix-bridge-heisenbridge/templates/systemd/matrix-heisenbridge.service.j2.license new file mode 100644 index 000000000..8d056c7ba --- /dev/null +++ b/roles/custom/matrix-bridge-heisenbridge/templates/systemd/matrix-heisenbridge.service.j2.license @@ -0,0 +1,4 @@ +SPDX-FileCopyrightText: 2021 Toni Spets +SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later From b7bd54113dc425c18ee4b61b4c28ed8e8c32d516 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 28 Feb 2025 18:40:25 +0900 Subject: [PATCH 576/841] Add license information to files for matrix-bridge-sms Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bridge-matrix-bridge-sms.md | 8 ++++++++ roles/custom/matrix-bridge-sms/defaults/main.yml | 10 ++++++++++ roles/custom/matrix-bridge-sms/tasks/main.yml | 6 ++++++ roles/custom/matrix-bridge-sms/tasks/setup_install.yml | 10 ++++++++++ .../custom/matrix-bridge-sms/tasks/setup_uninstall.yml | 6 ++++++ .../custom/matrix-bridge-sms/tasks/validate_config.yml | 7 +++++++ .../systemd/matrix-sms-bridge.service.j2.license | 5 +++++ 7 files changed, 52 insertions(+) create mode 100644 roles/custom/matrix-bridge-sms/templates/systemd/matrix-sms-bridge.service.j2.license diff --git a/docs/configuring-playbook-bridge-matrix-bridge-sms.md b/docs/configuring-playbook-bridge-matrix-bridge-sms.md index c580f26c5..0f0a1bbbe 100644 --- a/docs/configuring-playbook-bridge-matrix-bridge-sms.md +++ b/docs/configuring-playbook-bridge-matrix-bridge-sms.md @@ -1,3 +1,11 @@ + + # Setting up Matrix SMS bridging (optional) The playbook can install and configure [matrix-sms-bridge](https://github.com/benkuly/matrix-sms-bridge) for you. diff --git a/roles/custom/matrix-bridge-sms/defaults/main.yml b/roles/custom/matrix-bridge-sms/defaults/main.yml index 4dc5b4268..992d8b936 100644 --- a/roles/custom/matrix-bridge-sms/defaults/main.yml +++ b/roles/custom/matrix-bridge-sms/defaults/main.yml @@ -1,3 +1,13 @@ +# SPDX-FileCopyrightText: 2020 - 2021 MDAD project contributors +# SPDX-FileCopyrightText: 2020 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2021 Ahmad Haghighi +# SPDX-FileCopyrightText: 2021 boris runakov +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # matrix-sms-bridge is a Matrix <-> SMS bridge # Project source code URL: https://github.com/benkuly/matrix-sms-bridge diff --git a/roles/custom/matrix-bridge-sms/tasks/main.yml b/roles/custom/matrix-bridge-sms/tasks/main.yml index 57d517275..574dba74b 100644 --- a/roles/custom/matrix-bridge-sms/tasks/main.yml +++ b/roles/custom/matrix-bridge-sms/tasks/main.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2020 MDAD project contributors +# SPDX-FileCopyrightText: 2022 - 2023 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-bridge-sms/tasks/setup_install.yml b/roles/custom/matrix-bridge-sms/tasks/setup_install.yml index 1fc34b9ca..a46bc21dc 100644 --- a/roles/custom/matrix-bridge-sms/tasks/setup_install.yml +++ b/roles/custom/matrix-bridge-sms/tasks/setup_install.yml @@ -1,3 +1,13 @@ +# SPDX-FileCopyrightText: 2020 MDAD project contributors +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Jim Myhrberg +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2024 David Mehren +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure matrix-sms-bridge image is pulled diff --git a/roles/custom/matrix-bridge-sms/tasks/setup_uninstall.yml b/roles/custom/matrix-bridge-sms/tasks/setup_uninstall.yml index c7d0011ec..f6e1e2a6e 100644 --- a/roles/custom/matrix-bridge-sms/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-bridge-sms/tasks/setup_uninstall.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2020 MDAD project contributors +# SPDX-FileCopyrightText: 2021 - 2022 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-sms-bridge service diff --git a/roles/custom/matrix-bridge-sms/tasks/validate_config.yml b/roles/custom/matrix-bridge-sms/tasks/validate_config.yml index 474e2526c..2830ae8bb 100644 --- a/roles/custom/matrix-bridge-sms/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-sms/tasks/validate_config.yml @@ -1,3 +1,10 @@ +# SPDX-FileCopyrightText: 2020 MDAD project contributors +# SPDX-FileCopyrightText: 2021 boris runakov +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required matrix-bridge-sms settings not defined diff --git a/roles/custom/matrix-bridge-sms/templates/systemd/matrix-sms-bridge.service.j2.license b/roles/custom/matrix-bridge-sms/templates/systemd/matrix-sms-bridge.service.j2.license new file mode 100644 index 000000000..cb09f3c35 --- /dev/null +++ b/roles/custom/matrix-bridge-sms/templates/systemd/matrix-sms-bridge.service.j2.license @@ -0,0 +1,5 @@ +SPDX-FileCopyrightText: 2020 - 2025 Slavi Pantaleev +SPDX-FileCopyrightText: 2020 MDAD project contributors +SPDX-FileCopyrightText: 2020 Scott Crossen + +SPDX-License-Identifier: AGPL-3.0-or-later From 52cf117e8bccc0e6ec048923e8cc40d22293a234 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 28 Feb 2025 18:40:59 +0900 Subject: [PATCH 577/841] Add license information to files for matrix-bridge-postmoogle Refer fd39392ec5924edbbac5217248872a2e7554a7de as well Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bridge-postmoogle.md | 9 +++++++++ roles/custom/matrix-bridge-postmoogle/defaults/main.yml | 8 ++++++++ roles/custom/matrix-bridge-postmoogle/tasks/main.yml | 6 ++++++ .../matrix-bridge-postmoogle/tasks/setup_install.yml | 8 ++++++++ .../matrix-bridge-postmoogle/tasks/setup_uninstall.yml | 7 +++++++ .../matrix-bridge-postmoogle/tasks/validate_config.yml | 6 ++++++ roles/custom/matrix-bridge-postmoogle/templates/env.j2 | 8 ++++++++ .../systemd/matrix-postmoogle.service.j2.license | 5 +++++ 8 files changed, 57 insertions(+) create mode 100644 roles/custom/matrix-bridge-postmoogle/templates/systemd/matrix-postmoogle.service.j2.license diff --git a/docs/configuring-playbook-bridge-postmoogle.md b/docs/configuring-playbook-bridge-postmoogle.md index eff5b62e3..6a21043a7 100644 --- a/docs/configuring-playbook-bridge-postmoogle.md +++ b/docs/configuring-playbook-bridge-postmoogle.md @@ -1,3 +1,12 @@ + + # Setting up Postmoogle email bridging (optional) The playbook can install and configure [Postmoogle](https://github.com/etkecc/postmoogle) for you. diff --git a/roles/custom/matrix-bridge-postmoogle/defaults/main.yml b/roles/custom/matrix-bridge-postmoogle/defaults/main.yml index fd2838141..930225bd2 100644 --- a/roles/custom/matrix-bridge-postmoogle/defaults/main.yml +++ b/roles/custom/matrix-bridge-postmoogle/defaults/main.yml @@ -1,3 +1,11 @@ +# SPDX-FileCopyrightText: 2022 - 2024 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2023 Luke D Iremadze +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # postmoogle is an email to Matrix bridge using its bot user # Project source code URL: https://github.com/etkecc/postmoogle diff --git a/roles/custom/matrix-bridge-postmoogle/tasks/main.yml b/roles/custom/matrix-bridge-postmoogle/tasks/main.yml index 0b4dbc60b..ecbbff69a 100644 --- a/roles/custom/matrix-bridge-postmoogle/tasks/main.yml +++ b/roles/custom/matrix-bridge-postmoogle/tasks/main.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2022 - 2023 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-bridge-postmoogle/tasks/setup_install.yml b/roles/custom/matrix-bridge-postmoogle/tasks/setup_install.yml index 61a8e7873..4dc78ddc7 100644 --- a/roles/custom/matrix-bridge-postmoogle/tasks/setup_install.yml +++ b/roles/custom/matrix-bridge-postmoogle/tasks/setup_install.yml @@ -1,3 +1,11 @@ +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2024 David Mehren +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # Check and remove the legacy systemd service (`matrix-bot-postmoogle.service`). diff --git a/roles/custom/matrix-bridge-postmoogle/tasks/setup_uninstall.yml b/roles/custom/matrix-bridge-postmoogle/tasks/setup_uninstall.yml index 28b243429..9db50fc5c 100644 --- a/roles/custom/matrix-bridge-postmoogle/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-bridge-postmoogle/tasks/setup_uninstall.yml @@ -1,3 +1,10 @@ +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2022 Slavi Pantaleev +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-postmoogle service diff --git a/roles/custom/matrix-bridge-postmoogle/tasks/validate_config.yml b/roles/custom/matrix-bridge-postmoogle/tasks/validate_config.yml index b2138a6de..78b40d94c 100644 --- a/roles/custom/matrix-bridge-postmoogle/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-postmoogle/tasks/validate_config.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required Postmoogle settings not defined diff --git a/roles/custom/matrix-bridge-postmoogle/templates/env.j2 b/roles/custom/matrix-bridge-postmoogle/templates/env.j2 index b56f88ae2..a2a8348bf 100644 --- a/roles/custom/matrix-bridge-postmoogle/templates/env.j2 +++ b/roles/custom/matrix-bridge-postmoogle/templates/env.j2 @@ -1,3 +1,11 @@ +{# +SPDX-FileCopyrightText: 2022 - 2023 Nikita Chernyi +SPDX-FileCopyrightText: 2022 Slavi Pantaleev +SPDX-FileCopyrightText: 2024 Suguru Hirahara + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + POSTMOOGLE_LOGIN={{ matrix_postmoogle_login }} POSTMOOGLE_PASSWORD={{ matrix_postmoogle_password }} POSTMOOGLE_SHAREDSECRET={{ matrix_postmoogle_sharedsecret }} diff --git a/roles/custom/matrix-bridge-postmoogle/templates/systemd/matrix-postmoogle.service.j2.license b/roles/custom/matrix-bridge-postmoogle/templates/systemd/matrix-postmoogle.service.j2.license new file mode 100644 index 000000000..c8f114ab8 --- /dev/null +++ b/roles/custom/matrix-bridge-postmoogle/templates/systemd/matrix-postmoogle.service.j2.license @@ -0,0 +1,5 @@ +SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev +SPDX-FileCopyrightText: 2022 Nikita Chernyi +SPDX-FileCopyrightText: 2024 Suguru Hirahara + +SPDX-License-Identifier: AGPL-3.0-or-later From 974971719f5f8df9d610d51ff039043248d1ace0 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 28 Feb 2025 18:41:23 +0900 Subject: [PATCH 578/841] Add license information to files for matrix-bridge-hookshot Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bridge-hookshot.md | 10 ++++++++++ .../custom/matrix-bridge-hookshot/defaults/main.yml | 12 ++++++++++++ roles/custom/matrix-bridge-hookshot/tasks/main.yml | 6 ++++++ .../tasks/reset_encryption.yml | 4 ++++ .../matrix-bridge-hookshot/tasks/setup_install.yml | 12 ++++++++++++ .../matrix-bridge-hookshot/tasks/setup_uninstall.yml | 6 ++++++ .../matrix-bridge-hookshot/tasks/validate_config.yml | 6 ++++++ .../templates/config.yaml.j2.license | 6 ++++++ .../matrix-bridge-hookshot/templates/labels.j2 | 6 ++++++ .../templates/registration.yml.j2.license | 6 ++++++ .../systemd/matrix-hookshot.service.j2.license | 4 ++++ 11 files changed, 78 insertions(+) create mode 100644 roles/custom/matrix-bridge-hookshot/templates/config.yaml.j2.license create mode 100644 roles/custom/matrix-bridge-hookshot/templates/registration.yml.j2.license create mode 100644 roles/custom/matrix-bridge-hookshot/templates/systemd/matrix-hookshot.service.j2.license diff --git a/docs/configuring-playbook-bridge-hookshot.md b/docs/configuring-playbook-bridge-hookshot.md index 8aacefd66..fc637d853 100644 --- a/docs/configuring-playbook-bridge-hookshot.md +++ b/docs/configuring-playbook-bridge-hookshot.md @@ -1,3 +1,13 @@ + + # Setting up matrix-hookshot (optional) The playbook can install and configure [matrix-hookshot](https://github.com/matrix-org/matrix-hookshot) for you. diff --git a/roles/custom/matrix-bridge-hookshot/defaults/main.yml b/roles/custom/matrix-bridge-hookshot/defaults/main.yml index 0bf53fbbe..2b204cbd3 100644 --- a/roles/custom/matrix-bridge-hookshot/defaults/main.yml +++ b/roles/custom/matrix-bridge-hookshot/defaults/main.yml @@ -1,3 +1,15 @@ +# SPDX-FileCopyrightText: 2022 - 2024 MDAD project contributors +# SPDX-FileCopyrightText: 2022 - 2024 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Arthur Brugière +# SPDX-FileCopyrightText: 2022 Kim Brose +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# SPDX-FileCopyrightText: 2024 Kris Watson +# SPDX-FileCopyrightText: 2025 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # A bridge between Matrix and multiple project management services, such as GitHub, GitLab and JIRA. diff --git a/roles/custom/matrix-bridge-hookshot/tasks/main.yml b/roles/custom/matrix-bridge-hookshot/tasks/main.yml index 89f110dd4..afe5da088 100644 --- a/roles/custom/matrix-bridge-hookshot/tasks/main.yml +++ b/roles/custom/matrix-bridge-hookshot/tasks/main.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-bridge-hookshot/tasks/reset_encryption.yml b/roles/custom/matrix-bridge-hookshot/tasks/reset_encryption.yml index 2ae5e7f8f..26c0e3eba 100644 --- a/roles/custom/matrix-bridge-hookshot/tasks/reset_encryption.yml +++ b/roles/custom/matrix-bridge-hookshot/tasks/reset_encryption.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2023 - 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure matrix-hookshot is stopped diff --git a/roles/custom/matrix-bridge-hookshot/tasks/setup_install.yml b/roles/custom/matrix-bridge-hookshot/tasks/setup_install.yml index f76ae653c..a44edff15 100644 --- a/roles/custom/matrix-bridge-hookshot/tasks/setup_install.yml +++ b/roles/custom/matrix-bridge-hookshot/tasks/setup_install.yml @@ -1,3 +1,15 @@ +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Arthur Brugière +# SPDX-FileCopyrightText: 2022 Jim Myhrberg +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2023 Luke Moch +# SPDX-FileCopyrightText: 2024 David Mehren +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - ansible.builtin.include_role: diff --git a/roles/custom/matrix-bridge-hookshot/tasks/setup_uninstall.yml b/roles/custom/matrix-bridge-hookshot/tasks/setup_uninstall.yml index b4c72d38a..253bba45a 100644 --- a/roles/custom/matrix-bridge-hookshot/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-bridge-hookshot/tasks/setup_uninstall.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-hookshot service diff --git a/roles/custom/matrix-bridge-hookshot/tasks/validate_config.yml b/roles/custom/matrix-bridge-hookshot/tasks/validate_config.yml index 760fd8048..a0848da91 100644 --- a/roles/custom/matrix-bridge-hookshot/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-hookshot/tasks/validate_config.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: (Deprecation) Catch and report renamed Hookshot variables diff --git a/roles/custom/matrix-bridge-hookshot/templates/config.yaml.j2.license b/roles/custom/matrix-bridge-hookshot/templates/config.yaml.j2.license new file mode 100644 index 000000000..e7fcfb5ab --- /dev/null +++ b/roles/custom/matrix-bridge-hookshot/templates/config.yaml.j2.license @@ -0,0 +1,6 @@ +SPDX-FileCopyrightText: 2022 - 2024 MDAD project contributors +SPDX-FileCopyrightText: 2022 - 2024 Nikita Chernyi +SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2025 Suguru Hirahara + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-hookshot/templates/labels.j2 b/roles/custom/matrix-bridge-hookshot/templates/labels.j2 index 31c035300..d7a36da4d 100644 --- a/roles/custom/matrix-bridge-hookshot/templates/labels.j2 +++ b/roles/custom/matrix-bridge-hookshot/templates/labels.j2 @@ -1,3 +1,9 @@ +{# +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + {% if matrix_hookshot_container_labels_traefik_enabled %} traefik.enable=true diff --git a/roles/custom/matrix-bridge-hookshot/templates/registration.yml.j2.license b/roles/custom/matrix-bridge-hookshot/templates/registration.yml.j2.license new file mode 100644 index 000000000..00feb2e4f --- /dev/null +++ b/roles/custom/matrix-bridge-hookshot/templates/registration.yml.j2.license @@ -0,0 +1,6 @@ +SPDX-FileCopyrightText: 2022 - 2024 MDAD project contributors +SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2022 Nikita Chernyi +SPDX-FileCopyrightText: 2024 Kim Brose + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-hookshot/templates/systemd/matrix-hookshot.service.j2.license b/roles/custom/matrix-bridge-hookshot/templates/systemd/matrix-hookshot.service.j2.license new file mode 100644 index 000000000..c751d3d6f --- /dev/null +++ b/roles/custom/matrix-bridge-hookshot/templates/systemd/matrix-hookshot.service.j2.license @@ -0,0 +1,4 @@ +SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev +SPDX-FileCopyrightText: 2022 MDAD project contributors + +SPDX-License-Identifier: AGPL-3.0-or-later From cb18b5235f4f54d1866dcbaeef7f91492fcf9389 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 28 Feb 2025 18:41:51 +0900 Subject: [PATCH 579/841] Add license information to files for matrix-dynamic-dns Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-dynamic-dns.md | 8 ++++++++ roles/custom/matrix-dynamic-dns/defaults/main.yml | 10 ++++++++++ roles/custom/matrix-dynamic-dns/tasks/main.yml | 6 ++++++ .../custom/matrix-dynamic-dns/tasks/setup_install.yml | 9 +++++++++ .../matrix-dynamic-dns/tasks/setup_uninstall.yml | 6 ++++++ .../matrix-dynamic-dns/tasks/validate_config.yml | 5 +++++ .../matrix-dynamic-dns/templates/ddclient.conf.j2 | 7 +++++++ .../systemd/matrix-dynamic-dns.service.j2.license | 4 ++++ 8 files changed, 55 insertions(+) create mode 100644 roles/custom/matrix-dynamic-dns/templates/systemd/matrix-dynamic-dns.service.j2.license diff --git a/docs/configuring-playbook-dynamic-dns.md b/docs/configuring-playbook-dynamic-dns.md index 6db0e941d..0a254a76d 100644 --- a/docs/configuring-playbook-dynamic-dns.md +++ b/docs/configuring-playbook-dynamic-dns.md @@ -1,3 +1,11 @@ + + # Setting up Dynamic DNS (optional) The playbook can configure Dynamic DNS with [ddclient⁠](https://github.com/ddclient/ddclient) for you. It is a Perl client used to update dynamic DNS entries for accounts on Dynamic DNS Network Service Provider. diff --git a/roles/custom/matrix-dynamic-dns/defaults/main.yml b/roles/custom/matrix-dynamic-dns/defaults/main.yml index e9b7b0eab..6ecdcd404 100644 --- a/roles/custom/matrix-dynamic-dns/defaults/main.yml +++ b/roles/custom/matrix-dynamic-dns/defaults/main.yml @@ -1,3 +1,13 @@ +# SPDX-FileCopyrightText: 2020 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2020 Scott Crossen +# SPDX-FileCopyrightText: 2021 - 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2021 Ahmad Haghighi +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # Project source code URL: https://github.com/linuxserver/docker-ddclient diff --git a/roles/custom/matrix-dynamic-dns/tasks/main.yml b/roles/custom/matrix-dynamic-dns/tasks/main.yml index 8327a84ac..e56d44c0f 100644 --- a/roles/custom/matrix-dynamic-dns/tasks/main.yml +++ b/roles/custom/matrix-dynamic-dns/tasks/main.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2020 Scott Crossen +# SPDX-FileCopyrightText: 2022 - 2023 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-dynamic-dns/tasks/setup_install.yml b/roles/custom/matrix-dynamic-dns/tasks/setup_install.yml index 8440d791b..45eac171d 100644 --- a/roles/custom/matrix-dynamic-dns/tasks/setup_install.yml +++ b/roles/custom/matrix-dynamic-dns/tasks/setup_install.yml @@ -1,3 +1,12 @@ +# SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2020 Scott Crossen +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2024 David Mehren +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure Dynamic DNS image is pulled diff --git a/roles/custom/matrix-dynamic-dns/tasks/setup_uninstall.yml b/roles/custom/matrix-dynamic-dns/tasks/setup_uninstall.yml index 8f9f1b040..af7ce670b 100644 --- a/roles/custom/matrix-dynamic-dns/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-dynamic-dns/tasks/setup_uninstall.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2020 - 2022 Slavi Pantaleev +# SPDX-FileCopyrightText: 2020 Scott Crossen +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-dynamic-dns service diff --git a/roles/custom/matrix-dynamic-dns/tasks/validate_config.yml b/roles/custom/matrix-dynamic-dns/tasks/validate_config.yml index d7dd34717..3b567415a 100644 --- a/roles/custom/matrix-dynamic-dns/tasks/validate_config.yml +++ b/roles/custom/matrix-dynamic-dns/tasks/validate_config.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2020 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2020 Scott Crossen +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if no matrix-dynamic-dns configurations specified diff --git a/roles/custom/matrix-dynamic-dns/templates/ddclient.conf.j2 b/roles/custom/matrix-dynamic-dns/templates/ddclient.conf.j2 index 1480d834e..158f9f66e 100644 --- a/roles/custom/matrix-dynamic-dns/templates/ddclient.conf.j2 +++ b/roles/custom/matrix-dynamic-dns/templates/ddclient.conf.j2 @@ -1,3 +1,10 @@ +{# +SPDX-FileCopyrightText: 2020 Scott Crossen +SPDX-FileCopyrightText: 2022 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + daemon={{ matrix_dynamic_dns_daemon_interval }} syslog=no pid=/var/run/ddclient/ddclient.pid diff --git a/roles/custom/matrix-dynamic-dns/templates/systemd/matrix-dynamic-dns.service.j2.license b/roles/custom/matrix-dynamic-dns/templates/systemd/matrix-dynamic-dns.service.j2.license new file mode 100644 index 000000000..ba251d31b --- /dev/null +++ b/roles/custom/matrix-dynamic-dns/templates/systemd/matrix-dynamic-dns.service.j2.license @@ -0,0 +1,4 @@ +SPDX-FileCopyrightText: 2020 - 2025 Slavi Pantaleev +SPDX-FileCopyrightText: 2020 Scott Crossen + +SPDX-License-Identifier: AGPL-3.0-or-later From 41c59a122347af610e8d767f6d5d05fad7c3811a Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 28 Feb 2025 21:24:13 +0900 Subject: [PATCH 580/841] Add license information to files for matrix-authentication-service Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-matrix-authentication-service.md | 7 +++++++ .../custom/matrix-authentication-service/defaults/main.yml | 5 +++++ .../custom/matrix-authentication-service/tasks/install.yml | 4 ++++ roles/custom/matrix-authentication-service/tasks/main.yml | 4 ++++ .../matrix-authentication-service/tasks/mas_cli_doctor.yml | 4 ++++ .../matrix-authentication-service/tasks/register_user.yml | 4 ++++ .../custom/matrix-authentication-service/tasks/syn2mas.yml | 5 +++++ .../matrix-authentication-service/tasks/uninstall.yml | 4 ++++ .../tasks/util/prepare_key.yml | 4 ++++ .../tasks/validate_config.yml | 4 ++++ .../templates/bin/mas-cli.j2.license | 3 +++ .../templates/bin/register-user.j2.license | 3 +++ .../templates/config.yaml.j2.license | 3 +++ .../custom/matrix-authentication-service/templates/env.j2 | 6 ++++++ .../matrix-authentication-service/templates/labels.j2 | 6 ++++++ .../templates/provider/anthropic-config.yml.j2.license | 3 +++ .../templates/provider/groq-config.yml.j2.license | 3 +++ .../templates/provider/mistral-config.yml.j2.license | 3 +++ .../templates/provider/openai-config.yml.j2.license | 3 +++ .../matrix-authentication-service.service.j2.license | 3 +++ roles/custom/matrix-authentication-service/vars/main.yml | 4 ++++ 21 files changed, 85 insertions(+) create mode 100644 roles/custom/matrix-authentication-service/templates/bin/mas-cli.j2.license create mode 100644 roles/custom/matrix-authentication-service/templates/bin/register-user.j2.license create mode 100644 roles/custom/matrix-authentication-service/templates/config.yaml.j2.license create mode 100644 roles/custom/matrix-authentication-service/templates/provider/anthropic-config.yml.j2.license create mode 100644 roles/custom/matrix-authentication-service/templates/provider/groq-config.yml.j2.license create mode 100644 roles/custom/matrix-authentication-service/templates/provider/mistral-config.yml.j2.license create mode 100644 roles/custom/matrix-authentication-service/templates/provider/openai-config.yml.j2.license create mode 100644 roles/custom/matrix-authentication-service/templates/systemd/matrix-authentication-service.service.j2.license diff --git a/docs/configuring-playbook-matrix-authentication-service.md b/docs/configuring-playbook-matrix-authentication-service.md index da339f5ed..eda09cc4b 100644 --- a/docs/configuring-playbook-matrix-authentication-service.md +++ b/docs/configuring-playbook-matrix-authentication-service.md @@ -1,3 +1,10 @@ + + # Setting up Matrix Authentication Service (optional) The playbook can install and configure [Matrix Authentication Service](https://github.com/element-hq/matrix-authentication-service/) (MAS) — a service operating alongside your existing [Synapse](./configuring-playbook-synapse.md) homeserver and providing [better authentication, session management and permissions in Matrix](https://matrix.org/blog/2023/09/better-auth/). diff --git a/roles/custom/matrix-authentication-service/defaults/main.yml b/roles/custom/matrix-authentication-service/defaults/main.yml index 4f50ce9dc..c6c441d34 100644 --- a/roles/custom/matrix-authentication-service/defaults/main.yml +++ b/roles/custom/matrix-authentication-service/defaults/main.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2025 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # matrix-authentication-service (MAS) is an OAuth 2.0 and OpenID Provider server for Matrix. diff --git a/roles/custom/matrix-authentication-service/tasks/install.yml b/roles/custom/matrix-authentication-service/tasks/install.yml index b766c1cb6..2b04b6708 100644 --- a/roles/custom/matrix-authentication-service/tasks/install.yml +++ b/roles/custom/matrix-authentication-service/tasks/install.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure Matrix Authentication Service paths exist diff --git a/roles/custom/matrix-authentication-service/tasks/main.yml b/roles/custom/matrix-authentication-service/tasks/main.yml index c5a7e9c80..6b6a07718 100644 --- a/roles/custom/matrix-authentication-service/tasks/main.yml +++ b/roles/custom/matrix-authentication-service/tasks/main.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-authentication-service/tasks/mas_cli_doctor.yml b/roles/custom/matrix-authentication-service/tasks/mas_cli_doctor.yml index 96689d6e2..a172f8629 100644 --- a/roles/custom/matrix-authentication-service/tasks/mas_cli_doctor.yml +++ b/roles/custom/matrix-authentication-service/tasks/mas_cli_doctor.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure Matrix Authentication Service is started diff --git a/roles/custom/matrix-authentication-service/tasks/register_user.yml b/roles/custom/matrix-authentication-service/tasks/register_user.yml index 9aef7ab47..34abb6b7a 100644 --- a/roles/custom/matrix-authentication-service/tasks/register_user.yml +++ b/roles/custom/matrix-authentication-service/tasks/register_user.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if playbook called incorrectly diff --git a/roles/custom/matrix-authentication-service/tasks/syn2mas.yml b/roles/custom/matrix-authentication-service/tasks/syn2mas.yml index 821892f8d..fd30158a4 100644 --- a/roles/custom/matrix-authentication-service/tasks/syn2mas.yml +++ b/roles/custom/matrix-authentication-service/tasks/syn2mas.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2025 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - ansible.builtin.set_fact: diff --git a/roles/custom/matrix-authentication-service/tasks/uninstall.yml b/roles/custom/matrix-authentication-service/tasks/uninstall.yml index e7e0dfe43..4d7938fbd 100644 --- a/roles/custom/matrix-authentication-service/tasks/uninstall.yml +++ b/roles/custom/matrix-authentication-service/tasks/uninstall.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-authentication-service service diff --git a/roles/custom/matrix-authentication-service/tasks/util/prepare_key.yml b/roles/custom/matrix-authentication-service/tasks/util/prepare_key.yml index 79fdc2e73..1c1877ccd 100644 --- a/roles/custom/matrix-authentication-service/tasks/util/prepare_key.yml +++ b/roles/custom/matrix-authentication-service/tasks/util/prepare_key.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Prepare Matrix Authentication Service private key file path ({{ private_key_definition.key_file }}) diff --git a/roles/custom/matrix-authentication-service/tasks/validate_config.yml b/roles/custom/matrix-authentication-service/tasks/validate_config.yml index 7ef8b5a1c..59b59957b 100644 --- a/roles/custom/matrix-authentication-service/tasks/validate_config.yml +++ b/roles/custom/matrix-authentication-service/tasks/validate_config.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required matrix-authentication-service settings not defined diff --git a/roles/custom/matrix-authentication-service/templates/bin/mas-cli.j2.license b/roles/custom/matrix-authentication-service/templates/bin/mas-cli.j2.license new file mode 100644 index 000000000..e64bd56b9 --- /dev/null +++ b/roles/custom/matrix-authentication-service/templates/bin/mas-cli.j2.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-authentication-service/templates/bin/register-user.j2.license b/roles/custom/matrix-authentication-service/templates/bin/register-user.j2.license new file mode 100644 index 000000000..e64bd56b9 --- /dev/null +++ b/roles/custom/matrix-authentication-service/templates/bin/register-user.j2.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-authentication-service/templates/config.yaml.j2.license b/roles/custom/matrix-authentication-service/templates/config.yaml.j2.license new file mode 100644 index 000000000..e64bd56b9 --- /dev/null +++ b/roles/custom/matrix-authentication-service/templates/config.yaml.j2.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-authentication-service/templates/env.j2 b/roles/custom/matrix-authentication-service/templates/env.j2 index 80c4290de..3a0423c61 100644 --- a/roles/custom/matrix-authentication-service/templates/env.j2 +++ b/roles/custom/matrix-authentication-service/templates/env.j2 @@ -1 +1,7 @@ +{# +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + {{ matrix_authentication_service_environment_variables_extension }} diff --git a/roles/custom/matrix-authentication-service/templates/labels.j2 b/roles/custom/matrix-authentication-service/templates/labels.j2 index 461c7abd7..f66cf4c7f 100644 --- a/roles/custom/matrix-authentication-service/templates/labels.j2 +++ b/roles/custom/matrix-authentication-service/templates/labels.j2 @@ -1,3 +1,9 @@ +{# +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + {% if matrix_authentication_service_container_labels_traefik_enabled %} traefik.enable=true diff --git a/roles/custom/matrix-authentication-service/templates/provider/anthropic-config.yml.j2.license b/roles/custom/matrix-authentication-service/templates/provider/anthropic-config.yml.j2.license new file mode 100644 index 000000000..e64bd56b9 --- /dev/null +++ b/roles/custom/matrix-authentication-service/templates/provider/anthropic-config.yml.j2.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-authentication-service/templates/provider/groq-config.yml.j2.license b/roles/custom/matrix-authentication-service/templates/provider/groq-config.yml.j2.license new file mode 100644 index 000000000..e64bd56b9 --- /dev/null +++ b/roles/custom/matrix-authentication-service/templates/provider/groq-config.yml.j2.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-authentication-service/templates/provider/mistral-config.yml.j2.license b/roles/custom/matrix-authentication-service/templates/provider/mistral-config.yml.j2.license new file mode 100644 index 000000000..e64bd56b9 --- /dev/null +++ b/roles/custom/matrix-authentication-service/templates/provider/mistral-config.yml.j2.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-authentication-service/templates/provider/openai-config.yml.j2.license b/roles/custom/matrix-authentication-service/templates/provider/openai-config.yml.j2.license new file mode 100644 index 000000000..e64bd56b9 --- /dev/null +++ b/roles/custom/matrix-authentication-service/templates/provider/openai-config.yml.j2.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-authentication-service/templates/systemd/matrix-authentication-service.service.j2.license b/roles/custom/matrix-authentication-service/templates/systemd/matrix-authentication-service.service.j2.license new file mode 100644 index 000000000..e18b238ea --- /dev/null +++ b/roles/custom/matrix-authentication-service/templates/systemd/matrix-authentication-service.service.j2.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-authentication-service/vars/main.yml b/roles/custom/matrix-authentication-service/vars/main.yml index 4bedfdbfc..45e7ad639 100644 --- a/roles/custom/matrix-authentication-service/vars/main.yml +++ b/roles/custom/matrix-authentication-service/vars/main.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # Like `matrix_authentication_service_config_http_public_base` but a private base URL only accessible from within the container network. From 09893ced8dbd35e224304d3195313ea2f1bbba99 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 28 Feb 2025 21:24:22 +0900 Subject: [PATCH 581/841] Add license information to files for matrix-client-schildichat Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-client-schildichat-web.md | 8 ++++++++ roles/custom/matrix-client-schildichat/defaults/main.yml | 7 +++++++ roles/custom/matrix-client-schildichat/tasks/main.yml | 4 ++++ .../matrix-client-schildichat/tasks/prepare_themes.yml | 5 +++++ .../custom/matrix-client-schildichat/tasks/self_check.yml | 6 ++++++ .../matrix-client-schildichat/tasks/setup_install.yml | 8 ++++++++ .../matrix-client-schildichat/tasks/setup_uninstall.yml | 5 +++++ .../matrix-client-schildichat/tasks/validate_config.yml | 6 ++++++ .../templates/config.json.j2.license | 4 ++++ .../custom/matrix-client-schildichat/templates/labels.j2 | 7 +++++++ .../templates/map_style.json.j2.license | 3 +++ .../systemd/matrix-client-schildichat.service.j2.license | 5 +++++ .../templates/welcome.html.j2.license | 4 ++++ roles/custom/matrix-client-schildichat/vars/main.yml | 4 ++++ 14 files changed, 76 insertions(+) create mode 100644 roles/custom/matrix-client-schildichat/templates/config.json.j2.license create mode 100644 roles/custom/matrix-client-schildichat/templates/map_style.json.j2.license create mode 100644 roles/custom/matrix-client-schildichat/templates/systemd/matrix-client-schildichat.service.j2.license create mode 100644 roles/custom/matrix-client-schildichat/templates/welcome.html.j2.license diff --git a/docs/configuring-playbook-client-schildichat-web.md b/docs/configuring-playbook-client-schildichat-web.md index ec34b2be7..e26a6837f 100644 --- a/docs/configuring-playbook-client-schildichat-web.md +++ b/docs/configuring-playbook-client-schildichat-web.md @@ -1,3 +1,11 @@ + + # Setting up SchildiChat Web (optional) The playbook can install and configure the [SchildiChat Web](https://github.com/SchildiChat/schildichat-desktop) Matrix client for you. diff --git a/roles/custom/matrix-client-schildichat/defaults/main.yml b/roles/custom/matrix-client-schildichat/defaults/main.yml index ec3d5e39d..4619af27c 100644 --- a/roles/custom/matrix-client-schildichat/defaults/main.yml +++ b/roles/custom/matrix-client-schildichat/defaults/main.yml @@ -1,3 +1,10 @@ +# SPDX-FileCopyrightText: 2023 - 2024 Nikita Chernyi +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # Project source code URL: https://github.com/SchildiChat/schildichat-desktop diff --git a/roles/custom/matrix-client-schildichat/tasks/main.yml b/roles/custom/matrix-client-schildichat/tasks/main.yml index 240dee1cf..476bc76d5 100644 --- a/roles/custom/matrix-client-schildichat/tasks/main.yml +++ b/roles/custom/matrix-client-schildichat/tasks/main.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2023 Nikita Chernyi +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-client-schildichat/tasks/prepare_themes.yml b/roles/custom/matrix-client-schildichat/tasks/prepare_themes.yml index 521679bc0..4c2167bcd 100644 --- a/roles/custom/matrix-client-schildichat/tasks/prepare_themes.yml +++ b/roles/custom/matrix-client-schildichat/tasks/prepare_themes.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2023 Nikita Chernyi +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # diff --git a/roles/custom/matrix-client-schildichat/tasks/self_check.yml b/roles/custom/matrix-client-schildichat/tasks/self_check.yml index 5e8771111..255975cad 100644 --- a/roles/custom/matrix-client-schildichat/tasks/self_check.yml +++ b/roles/custom/matrix-client-schildichat/tasks/self_check.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2023 Nikita Chernyi +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - ansible.builtin.set_fact: diff --git a/roles/custom/matrix-client-schildichat/tasks/setup_install.yml b/roles/custom/matrix-client-schildichat/tasks/setup_install.yml index 0be2563d4..2a577df58 100644 --- a/roles/custom/matrix-client-schildichat/tasks/setup_install.yml +++ b/roles/custom/matrix-client-schildichat/tasks/setup_install.yml @@ -1,3 +1,11 @@ +# SPDX-FileCopyrightText: 2023 Nikita Chernyi +# SPDX-FileCopyrightText: 2023 Pierre 'McFly' Marty +# SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara +# SPDX-FileCopyrightText: 2024 David Mehren +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure SchildiChat Web paths exists diff --git a/roles/custom/matrix-client-schildichat/tasks/setup_uninstall.yml b/roles/custom/matrix-client-schildichat/tasks/setup_uninstall.yml index 67f6856ff..d53238fb4 100644 --- a/roles/custom/matrix-client-schildichat/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-client-schildichat/tasks/setup_uninstall.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2023 Nikita Chernyi +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-client-schildichat.service diff --git a/roles/custom/matrix-client-schildichat/tasks/validate_config.yml b/roles/custom/matrix-client-schildichat/tasks/validate_config.yml index 3331a705b..97f556092 100644 --- a/roles/custom/matrix-client-schildichat/tasks/validate_config.yml +++ b/roles/custom/matrix-client-schildichat/tasks/validate_config.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2023 Nikita Chernyi +# SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: (Deprecation) Catch and report renamed SchildiChat Web settings diff --git a/roles/custom/matrix-client-schildichat/templates/config.json.j2.license b/roles/custom/matrix-client-schildichat/templates/config.json.j2.license new file mode 100644 index 000000000..2d30733cd --- /dev/null +++ b/roles/custom/matrix-client-schildichat/templates/config.json.j2.license @@ -0,0 +1,4 @@ +SPDX-FileCopyrightText: 2023 Nikita Chernyi +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-client-schildichat/templates/labels.j2 b/roles/custom/matrix-client-schildichat/templates/labels.j2 index 25f19f6b4..e7b87ad72 100644 --- a/roles/custom/matrix-client-schildichat/templates/labels.j2 +++ b/roles/custom/matrix-client-schildichat/templates/labels.j2 @@ -1,3 +1,10 @@ +{# +SPDX-FileCopyrightText: 2023 Nikita Chernyi +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + {% if matrix_client_schildichat_container_labels_traefik_enabled %} traefik.enable=true diff --git a/roles/custom/matrix-client-schildichat/templates/map_style.json.j2.license b/roles/custom/matrix-client-schildichat/templates/map_style.json.j2.license new file mode 100644 index 000000000..d84b8388e --- /dev/null +++ b/roles/custom/matrix-client-schildichat/templates/map_style.json.j2.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2023 Nikita Chernyi + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-client-schildichat/templates/systemd/matrix-client-schildichat.service.j2.license b/roles/custom/matrix-client-schildichat/templates/systemd/matrix-client-schildichat.service.j2.license new file mode 100644 index 000000000..4f7c9af82 --- /dev/null +++ b/roles/custom/matrix-client-schildichat/templates/systemd/matrix-client-schildichat.service.j2.license @@ -0,0 +1,5 @@ +SPDX-FileCopyrightText: 2023 - 2025 Slavi Pantaleev +SPDX-FileCopyrightText: 2023 Nikita Chernyi +SPDX-FileCopyrightText: 2024 Suguru Hirahara + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-client-schildichat/templates/welcome.html.j2.license b/roles/custom/matrix-client-schildichat/templates/welcome.html.j2.license new file mode 100644 index 000000000..27cec7bdf --- /dev/null +++ b/roles/custom/matrix-client-schildichat/templates/welcome.html.j2.license @@ -0,0 +1,4 @@ +SPDX-FileCopyrightText: 2023 Nikita Chernyi +SPDX-FileCopyrightText: 2023 Pierre 'McFly' Marty + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-client-schildichat/vars/main.yml b/roles/custom/matrix-client-schildichat/vars/main.yml index bbd0d3dd0..d338feb65 100644 --- a/roles/custom/matrix-client-schildichat/vars/main.yml +++ b/roles/custom/matrix-client-schildichat/vars/main.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2023 Nikita Chernyi +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- matrix_client_schildichat_embedded_pages_home_url: "{{ ('' if matrix_client_schildichat_embedded_pages_home_path is none else 'home.html') }}" From 0bbe13b474f880915dde2ec897a948bac890ee84 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 28 Feb 2025 21:24:31 +0900 Subject: [PATCH 582/841] Add license information to files for matrix-conduit Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-conduit.md | 8 ++++++++ roles/custom/matrix-conduit/defaults/main.yml | 7 +++++++ roles/custom/matrix-conduit/tasks/main.yml | 5 +++++ roles/custom/matrix-conduit/tasks/setup_install.yml | 8 ++++++++ roles/custom/matrix-conduit/tasks/setup_uninstall.yml | 6 ++++++ roles/custom/matrix-conduit/tasks/validate_config.yml | 4 ++++ roles/custom/matrix-conduit/templates/conduit.toml.j2 | 8 ++++++++ roles/custom/matrix-conduit/templates/labels.j2 | 7 +++++++ .../templates/systemd/matrix-conduit.service.j2.license | 4 ++++ roles/custom/matrix-conduit/vars/main.yml | 5 +++++ 10 files changed, 62 insertions(+) create mode 100644 roles/custom/matrix-conduit/templates/systemd/matrix-conduit.service.j2.license diff --git a/docs/configuring-playbook-conduit.md b/docs/configuring-playbook-conduit.md index 51cfb8e64..ef5e381fe 100644 --- a/docs/configuring-playbook-conduit.md +++ b/docs/configuring-playbook-conduit.md @@ -1,3 +1,11 @@ + + # Configuring Conduit (optional) The playbook can install and configure the [Conduit](https://conduit.rs) Matrix server for you. diff --git a/roles/custom/matrix-conduit/defaults/main.yml b/roles/custom/matrix-conduit/defaults/main.yml index aba5a8a3a..726c39d29 100644 --- a/roles/custom/matrix-conduit/defaults/main.yml +++ b/roles/custom/matrix-conduit/defaults/main.yml @@ -1,3 +1,10 @@ +# SPDX-FileCopyrightText: 2022 - 2024 Samuel Meenzen +# SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Charles Wright +# SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # Conduit is a simple, fast and reliable chat server powered by Matrix # Project source code URL: https://gitlab.com/famedly/conduit diff --git a/roles/custom/matrix-conduit/tasks/main.yml b/roles/custom/matrix-conduit/tasks/main.yml index d8389a5b9..1c790ce58 100644 --- a/roles/custom/matrix-conduit/tasks/main.yml +++ b/roles/custom/matrix-conduit/tasks/main.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Charles Wright +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-conduit/tasks/setup_install.yml b/roles/custom/matrix-conduit/tasks/setup_install.yml index 5db1ba225..a4a65b097 100644 --- a/roles/custom/matrix-conduit/tasks/setup_install.yml +++ b/roles/custom/matrix-conduit/tasks/setup_install.yml @@ -1,3 +1,11 @@ +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Charles Wright +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2024 David Mehren +# SPDX-FileCopyrightText: 2024 Samuel Meenzen +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure Conduit config path exists diff --git a/roles/custom/matrix-conduit/tasks/setup_uninstall.yml b/roles/custom/matrix-conduit/tasks/setup_uninstall.yml index 1745ff973..d8b4743de 100644 --- a/roles/custom/matrix-conduit/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-conduit/tasks/setup_uninstall.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2022 Charles Wright +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2022 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-conduit service diff --git a/roles/custom/matrix-conduit/tasks/validate_config.yml b/roles/custom/matrix-conduit/tasks/validate_config.yml index 8635661d0..2e5bdc3e2 100644 --- a/roles/custom/matrix-conduit/tasks/validate_config.yml +++ b/roles/custom/matrix-conduit/tasks/validate_config.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required Conduit settings not defined diff --git a/roles/custom/matrix-conduit/templates/conduit.toml.j2 b/roles/custom/matrix-conduit/templates/conduit.toml.j2 index 42f215f5a..e1ae99dee 100644 --- a/roles/custom/matrix-conduit/templates/conduit.toml.j2 +++ b/roles/custom/matrix-conduit/templates/conduit.toml.j2 @@ -1,3 +1,11 @@ +{# +SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2022 Charles Wright +SPDX-FileCopyrightText: 2024 Suguru Hirahara + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + # ============================================================================= # This is the official example config for Conduit. # If you use it for your server, you will need to adjust it to your own needs. diff --git a/roles/custom/matrix-conduit/templates/labels.j2 b/roles/custom/matrix-conduit/templates/labels.j2 index 33c2789a0..9dafbef81 100644 --- a/roles/custom/matrix-conduit/templates/labels.j2 +++ b/roles/custom/matrix-conduit/templates/labels.j2 @@ -1,3 +1,10 @@ +{# +SPDX-FileCopyrightText: 2024 Daniel Lo Nigro +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + {% if matrix_conduit_container_labels_traefik_enabled %} traefik.enable=true diff --git a/roles/custom/matrix-conduit/templates/systemd/matrix-conduit.service.j2.license b/roles/custom/matrix-conduit/templates/systemd/matrix-conduit.service.j2.license new file mode 100644 index 000000000..e05b9cf3f --- /dev/null +++ b/roles/custom/matrix-conduit/templates/systemd/matrix-conduit.service.j2.license @@ -0,0 +1,4 @@ +SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev +SPDX-FileCopyrightText: 2022 Charles Wright + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-conduit/vars/main.yml b/roles/custom/matrix-conduit/vars/main.yml index 633204070..8ac0e1257 100644 --- a/roles/custom/matrix-conduit/vars/main.yml +++ b/roles/custom/matrix-conduit/vars/main.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Charles Wright +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- matrix_conduit_client_api_url_endpoint_public: "{{ 'https' if matrix_playbook_ssl_enabled else 'http' }}://{{ matrix_conduit_hostname }}/_matrix/client/versions" matrix_conduit_federation_api_url_endpoint_public: "{{ 'https' if matrix_playbook_ssl_enabled else 'http' }}://{{ matrix_conduit_hostname }}:{{ matrix_federation_public_port }}/_matrix/federation/v1/version" From e870f0b66453dbbeb475c5150f9fb195b016e51c Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 28 Feb 2025 21:24:39 +0900 Subject: [PATCH 583/841] Add license information to files for matrix-dendrite Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-dendrite.md | 8 ++++++++ roles/custom/matrix-dendrite/defaults/main.yml | 14 ++++++++++++++ roles/custom/matrix-dendrite/tasks/main.yml | 7 +++++++ .../custom/matrix-dendrite/tasks/register_user.yml | 6 ++++++ .../tasks/self_check_client_api.yml | 6 ++++++ .../tasks/self_check_federation_api.yml | 6 ++++++ .../custom/matrix-dendrite/tasks/setup_install.yml | 11 +++++++++++ .../matrix-dendrite/tasks/setup_uninstall.yml | 4 ++++ .../matrix-dendrite/tasks/validate_config.yml | 6 ++++++ .../templates/bin/create-account.j2.license | 3 +++ .../matrix-dendrite/templates/dendrite.yaml.j2 | 10 ++++++++++ roles/custom/matrix-dendrite/templates/labels.j2 | 6 ++++++ .../systemd/matrix-dendrite.service.j2.license | 7 +++++++ roles/custom/matrix-dendrite/vars/main.yml | 5 +++++ 14 files changed, 99 insertions(+) create mode 100644 roles/custom/matrix-dendrite/templates/bin/create-account.j2.license create mode 100644 roles/custom/matrix-dendrite/templates/systemd/matrix-dendrite.service.j2.license diff --git a/docs/configuring-playbook-dendrite.md b/docs/configuring-playbook-dendrite.md index ac5671dbf..80481e864 100644 --- a/docs/configuring-playbook-dendrite.md +++ b/docs/configuring-playbook-dendrite.md @@ -1,3 +1,11 @@ + + # Configuring Dendrite (optional) The playbook can install and configure the [Dendrite](https://github.com/element-hq/dendrite) Matrix server for you. diff --git a/roles/custom/matrix-dendrite/defaults/main.yml b/roles/custom/matrix-dendrite/defaults/main.yml index 8a3a7bc40..50e9116eb 100644 --- a/roles/custom/matrix-dendrite/defaults/main.yml +++ b/roles/custom/matrix-dendrite/defaults/main.yml @@ -1,3 +1,17 @@ +# SPDX-FileCopyrightText: 2022 - 2023 MDAD project contributors +# SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Aaron Raimist +# SPDX-FileCopyrightText: 2022 Darren Rambaud +# SPDX-FileCopyrightText: 2022 Jip J. Dekker +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 Shaleen Jain +# SPDX-FileCopyrightText: 2023 Isaiah Becker-Mayer +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # Dendrite is a second-generation Matrix homeserver currently in Beta # Project source code URL: https://github.com/matrix-org/dendrite diff --git a/roles/custom/matrix-dendrite/tasks/main.yml b/roles/custom/matrix-dendrite/tasks/main.yml index 78d81524c..b241677b1 100644 --- a/roles/custom/matrix-dendrite/tasks/main.yml +++ b/roles/custom/matrix-dendrite/tasks/main.yml @@ -1,3 +1,10 @@ +# SPDX-FileCopyrightText: 2022 - 2023 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Aaron Raimist +# SPDX-FileCopyrightText: 2022 Jip J. Dekker +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-dendrite/tasks/register_user.yml b/roles/custom/matrix-dendrite/tasks/register_user.yml index 8ee18ed2f..fa2c0339b 100644 --- a/roles/custom/matrix-dendrite/tasks/register_user.yml +++ b/roles/custom/matrix-dendrite/tasks/register_user.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2022 Jip J. Dekker +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if playbook called incorrectly diff --git a/roles/custom/matrix-dendrite/tasks/self_check_client_api.yml b/roles/custom/matrix-dendrite/tasks/self_check_client_api.yml index f6eb602c6..d681793a1 100644 --- a/roles/custom/matrix-dendrite/tasks/self_check_client_api.yml +++ b/roles/custom/matrix-dendrite/tasks/self_check_client_api.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2022 Jip J. Dekker +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check Matrix Client API ansible.builtin.uri: diff --git a/roles/custom/matrix-dendrite/tasks/self_check_federation_api.yml b/roles/custom/matrix-dendrite/tasks/self_check_federation_api.yml index bba20ff16..82b220679 100644 --- a/roles/custom/matrix-dendrite/tasks/self_check_federation_api.yml +++ b/roles/custom/matrix-dendrite/tasks/self_check_federation_api.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2022 Jip J. Dekker +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check Matrix Federation API ansible.builtin.uri: diff --git a/roles/custom/matrix-dendrite/tasks/setup_install.yml b/roles/custom/matrix-dendrite/tasks/setup_install.yml index acc2558f7..262f16d04 100644 --- a/roles/custom/matrix-dendrite/tasks/setup_install.yml +++ b/roles/custom/matrix-dendrite/tasks/setup_install.yml @@ -1,3 +1,14 @@ +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Jim Myhrberg +# SPDX-FileCopyrightText: 2022 Jip J. Dekker +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2023 Isaiah Becker-Mayer +# SPDX-FileCopyrightText: 2024 David Mehren +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure Dendrite paths exist ansible.builtin.file: diff --git a/roles/custom/matrix-dendrite/tasks/setup_uninstall.yml b/roles/custom/matrix-dendrite/tasks/setup_uninstall.yml index f6a537b30..fb744a88f 100644 --- a/roles/custom/matrix-dendrite/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-dendrite/tasks/setup_uninstall.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2022 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-dendrite service diff --git a/roles/custom/matrix-dendrite/tasks/validate_config.yml b/roles/custom/matrix-dendrite/tasks/validate_config.yml index 339ac8fb2..243015588 100644 --- a/roles/custom/matrix-dendrite/tasks/validate_config.yml +++ b/roles/custom/matrix-dendrite/tasks/validate_config.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Jip J. Dekker +# SPDX-FileCopyrightText: 2023 MDAD project contributors +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: (Deprecation) Catch and report renamed Dendrite settings diff --git a/roles/custom/matrix-dendrite/templates/bin/create-account.j2.license b/roles/custom/matrix-dendrite/templates/bin/create-account.j2.license new file mode 100644 index 000000000..e64bd56b9 --- /dev/null +++ b/roles/custom/matrix-dendrite/templates/bin/create-account.j2.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-dendrite/templates/dendrite.yaml.j2 b/roles/custom/matrix-dendrite/templates/dendrite.yaml.j2 index 3b7947260..8f03b16db 100644 --- a/roles/custom/matrix-dendrite/templates/dendrite.yaml.j2 +++ b/roles/custom/matrix-dendrite/templates/dendrite.yaml.j2 @@ -1,3 +1,13 @@ +{# +SPDX-FileCopyrightText: 2022 - 2023 MDAD project contributors +SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2022 Jip J. Dekker +SPDX-FileCopyrightText: 2022 Shaleen Jain +SPDX-FileCopyrightText: 2024 Suguru Hirahara + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + # This is the Dendrite configuration file. # # The configuration is split up into sections - each Dendrite component has a diff --git a/roles/custom/matrix-dendrite/templates/labels.j2 b/roles/custom/matrix-dendrite/templates/labels.j2 index d74424b99..18a69573a 100644 --- a/roles/custom/matrix-dendrite/templates/labels.j2 +++ b/roles/custom/matrix-dendrite/templates/labels.j2 @@ -1,3 +1,9 @@ +{# +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + {% if matrix_dendrite_container_labels_traefik_enabled %} traefik.enable=true diff --git a/roles/custom/matrix-dendrite/templates/systemd/matrix-dendrite.service.j2.license b/roles/custom/matrix-dendrite/templates/systemd/matrix-dendrite.service.j2.license new file mode 100644 index 000000000..e4e9cc7ca --- /dev/null +++ b/roles/custom/matrix-dendrite/templates/systemd/matrix-dendrite.service.j2.license @@ -0,0 +1,7 @@ +SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev +SPDX-FileCopyrightText: 2022 Charles Wright +SPDX-FileCopyrightText: 2022 Jip J. Dekker +SPDX-FileCopyrightText: 2022 MDAD project contributors +SPDX-FileCopyrightText: 2022 Shaleen Jain + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-dendrite/vars/main.yml b/roles/custom/matrix-dendrite/vars/main.yml index 28a0f1bde..0a09d57c1 100644 --- a/roles/custom/matrix-dendrite/vars/main.yml +++ b/roles/custom/matrix-dendrite/vars/main.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Jip J. Dekker +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- matrix_dendrite_client_api_url_endpoint_public: "{{ 'https' if matrix_playbook_ssl_enabled else 'http' }}://{{ matrix_dendrite_hostname }}/_matrix/client/versions" matrix_dendrite_federation_api_url_endpoint_public: "{{ 'https' if matrix_playbook_ssl_enabled else 'http' }}://{{ matrix_dendrite_hostname }}:{{ matrix_federation_public_port }}/_matrix/federation/v1/version" From 87634922dddf591e1c4268ff96bacf825df2c6eb Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 28 Feb 2025 22:24:58 +0900 Subject: [PATCH 584/841] Update docs for components related to authentication: add copyright headers Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-ldap-auth.md | 9 +++++++++ docs/configuring-playbook-rest-auth.md | 8 ++++++++ docs/configuring-playbook-shared-secret-auth.md | 8 ++++++++ 3 files changed, 25 insertions(+) diff --git a/docs/configuring-playbook-ldap-auth.md b/docs/configuring-playbook-ldap-auth.md index d3a95d138..7507c8330 100644 --- a/docs/configuring-playbook-ldap-auth.md +++ b/docs/configuring-playbook-ldap-auth.md @@ -1,3 +1,12 @@ + + # Setting up the LDAP authentication password provider module (optional, advanced) The playbook can install and configure the [matrix-synapse-ldap3](https://github.com/matrix-org/matrix-synapse-ldap3) LDAP Auth password provider for you. diff --git a/docs/configuring-playbook-rest-auth.md b/docs/configuring-playbook-rest-auth.md index d15ba586b..6952f3f1e 100644 --- a/docs/configuring-playbook-rest-auth.md +++ b/docs/configuring-playbook-rest-auth.md @@ -1,3 +1,11 @@ + + # Setting up the REST authentication password provider module (optional, advanced) The playbook can install and configure [matrix-synapse-rest-auth](https://github.com/ma1uta/matrix-synapse-rest-password-provider) for you. diff --git a/docs/configuring-playbook-shared-secret-auth.md b/docs/configuring-playbook-shared-secret-auth.md index c7dced046..9f4dfd736 100644 --- a/docs/configuring-playbook-shared-secret-auth.md +++ b/docs/configuring-playbook-shared-secret-auth.md @@ -1,3 +1,11 @@ + + # Setting up the Shared Secret Auth password provider module (optional, advanced) The playbook can install and configure [matrix-synapse-shared-secret-auth](https://github.com/devture/matrix-synapse-shared-secret-auth) for you. From 66093857bcf32009b02bde37ff3b4acbdad43e7a Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 28 Feb 2025 22:25:08 +0900 Subject: [PATCH 585/841] Update docs for components related to authentication: adopt the common descriptions Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-ldap-auth.md | 10 ++++++---- docs/configuring-playbook-rest-auth.md | 6 +++--- docs/configuring-playbook-shared-secret-auth.md | 6 +++--- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/docs/configuring-playbook-ldap-auth.md b/docs/configuring-playbook-ldap-auth.md index 7507c8330..ba135cca1 100644 --- a/docs/configuring-playbook-ldap-auth.md +++ b/docs/configuring-playbook-ldap-auth.md @@ -2,7 +2,7 @@ SPDX-FileCopyrightText: 2018 - 2022 Slavi Pantaleev SPDX-FileCopyrightText: 2019 - 2023 MDAD project contributors SPDX-FileCopyrightText: 2020 Marcel Partap -SPDX-FileCopyrightText: 2024 Suguru Hirahara +SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara SPDX-License-Identifier: AGPL-3.0-or-later --> @@ -13,7 +13,9 @@ The playbook can install and configure the [matrix-synapse-ldap3](https://github See the project's [documentation](https://github.com/matrix-org/matrix-synapse-ldap3/blob/main/README.rst) to learn what it does and why it might be useful to you. -If you decide that you'd like to let this playbook install it for you, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file (adapt to your needs): +## Adjusting the playbook configuration + +Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file (adapt to your needs): ```yaml matrix_synapse_ext_password_provider_ldap_enabled: true @@ -30,9 +32,9 @@ matrix_synapse_ext_password_provider_ldap_bind_password: "" matrix_synapse_ext_password_provider_ldap_filter: "" ``` -## Authenticating only using a password provider +### Authenticating only using a password provider -If you wish for users to **authenticate only against configured password providers** (like this one), **without consulting Synapse's local database**, feel free to disable it: +If you wish for users to **authenticate only against configured password providers** (like this one), **without consulting Synapse's local database**, you can disable it by adding the following configuration to your `vars.yml` file: ```yaml matrix_synapse_password_config_localdb_enabled: false diff --git a/docs/configuring-playbook-rest-auth.md b/docs/configuring-playbook-rest-auth.md index 6952f3f1e..1ec45d17a 100644 --- a/docs/configuring-playbook-rest-auth.md +++ b/docs/configuring-playbook-rest-auth.md @@ -1,7 +1,7 @@ @@ -24,9 +24,9 @@ matrix_synapse_ext_password_provider_rest_auth_registration_profile_name_autofil matrix_synapse_ext_password_provider_rest_auth_login_profile_name_autofill: false ``` -## Authenticating only using a password provider +### Authenticating only using a password provider -If you wish for users to **authenticate only against configured password providers** (like this one), **without consulting Synapse's local database**, feel free to disable it: +If you wish for users to **authenticate only against configured password providers** (like this one), **without consulting Synapse's local database**, you can disable it by adding the following configuration to your `vars.yml` file: ```yaml matrix_synapse_password_config_localdb_enabled: false diff --git a/docs/configuring-playbook-shared-secret-auth.md b/docs/configuring-playbook-shared-secret-auth.md index 9f4dfd736..07d42d762 100644 --- a/docs/configuring-playbook-shared-secret-auth.md +++ b/docs/configuring-playbook-shared-secret-auth.md @@ -1,7 +1,7 @@ @@ -23,9 +23,9 @@ matrix_synapse_ext_password_provider_shared_secret_auth_enabled: true matrix_synapse_ext_password_provider_shared_secret_auth_shared_secret: YOUR_SHARED_SECRET_GOES_HERE ``` -## Authenticating only using a password provider +### Authenticating only using a password provider -If you wish for users to **authenticate only against configured password providers** (like this one), **without consulting Synapse's local database**, feel free to disable it: +If you wish for users to **authenticate only against configured password providers** (like this one), **without consulting Synapse's local database**, you can disable it by adding the following configuration to your `vars.yml` file: ```yaml matrix_synapse_password_config_localdb_enabled: false From ff1f882d3c638db9262267109d67f38f29a51bfb Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 28 Feb 2025 22:25:14 +0900 Subject: [PATCH 586/841] Update docs for components related to authentication: tidy up MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Move the recommendation to avoid installing ma1sd from configuring-playbook-ldap-auth.md to configuring-playbook-rest-auth.md It has been long since recommending to install ma1sd was stopped, and the warning message is placed on the documentation about installing ma1sd as well, so it does not really seem to be sensible to advertise the component by repeating the warning… The message can rather be reused on the latter, as it is expected to be implemented with a backend such as ma1sd (see: matrix_synapse_ext_password_provider_rest_auth_endpoint on the file) - Add instruction to install the component to configuring-playbook-ldap-auth.md Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-ldap-auth.md | 17 +++++++++++++---- docs/configuring-playbook-rest-auth.md | 9 +++++++++ 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/docs/configuring-playbook-ldap-auth.md b/docs/configuring-playbook-ldap-auth.md index ba135cca1..f6736a735 100644 --- a/docs/configuring-playbook-ldap-auth.md +++ b/docs/configuring-playbook-ldap-auth.md @@ -40,12 +40,21 @@ If you wish for users to **authenticate only against configured password provide matrix_synapse_password_config_localdb_enabled: false ``` -## Using ma1sd Identity Server for authentication (not recommended) +## Installing -The playbook can instead configure [ma1sd](https://github.com/ma1uta/ma1sd) Identity Server for LDAP authentication. However, **we recommend not bothering with installing it** as ma1sd has been unmaintained for years. +After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below: -If you wish to install it anyway, consult the [ma1sd Identity Server configuration](configuring-playbook-ma1sd.md#authentication). + +```sh +ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start +``` -## Handling user registration +The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` + +`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. + +## Usage + +### Handling user registration If you wish for users to also be able to make new registrations against LDAP, you may **also** wish to [set up the ldap-registration-proxy](configuring-playbook-matrix-ldap-registration-proxy.md). diff --git a/docs/configuring-playbook-rest-auth.md b/docs/configuring-playbook-rest-auth.md index 1ec45d17a..216b71e37 100644 --- a/docs/configuring-playbook-rest-auth.md +++ b/docs/configuring-playbook-rest-auth.md @@ -44,3 +44,12 @@ ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. + +## Usage + +### Use ma1sd Identity Server for the backend (not recommended) + +This module does not provide direct integration with any backend. For the backend you can use [ma1sd](https://github.com/ma1uta/ma1sd) Identity Server, which can be configured with the playbook. + +> [!WARNING] +> We recommend not bothering with installing ma1sd as it has been unmaintained for years. If you wish to install it anyway, consult the [ma1sd Identity Server configuration](configuring-playbook-ma1sd.md). From 4d5367fe934b00160df6fadc1beeeecae796fa4c Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Fri, 28 Feb 2025 22:27:56 +0900 Subject: [PATCH 587/841] Update docs/configuring-playbook-ma1sd.md: improve the warning message on top Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-ma1sd.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/docs/configuring-playbook-ma1sd.md b/docs/configuring-playbook-ma1sd.md index 812ef14d4..694a1f39c 100644 --- a/docs/configuring-playbook-ma1sd.md +++ b/docs/configuring-playbook-ma1sd.md @@ -4,14 +4,17 @@ SPDX-FileCopyrightText: 2019 Noah Fleischmann SPDX-FileCopyrightText: 2019 - 2020 MDAD project contributors SPDX-FileCopyrightText: 2020 Marcel Partap SPDX-FileCopyrightText: 2020 Justin Croonenberghs -SPDX-FileCopyrightText: 2024 Suguru Hirahara +SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara SPDX-License-Identifier: AGPL-3.0-or-later --> # Setting up ma1sd Identity Server (optional) -**⚠️Note**: ma1sd itself has also been unmaintained for years (the latest commit and release being from 2021). The role of identity servers in the Matrix specification also has an uncertain future. **We recommend not bothering with installing it unless it's the only way you can do what you need to do**. For example, certain things like LDAP integration can also be implemented via [the LDAP provider module for Synapse](./configuring-playbook-ldap-auth.md). +> [!WARNING] +> Since ma1sd has been unmaintained for years (the latest commit and release being from 2021) and the future of identity server's role in the Matrix specification is uncertain, **we recommend not bothering with installing it unless it's the only way you can do what you need to do**. +> +> Please note that certain things can be achieved with other components. For example, if you wish to implement LDAP integration, you might as well check out [the LDAP provider module for Synapse](./configuring-playbook-ldap-auth.md) instead. The playbook can configure the [ma1sd](https://github.com/ma1uta/ma1sd) Identity Server for you. It is a fork of [mxisd](https://github.com/kamax-io/mxisd) which was pronounced end of life 2019-06-21. From e2d18794109f72b090aa6e709fe8265fece3f31c Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 1 Mar 2025 01:38:47 +0900 Subject: [PATCH 588/841] Add license information to files for matrix-ldap-registration-proxy Signed-off-by: Suguru Hirahara --- ...configuring-playbook-matrix-ldap-registration-proxy.md | 8 ++++++++ .../matrix-ldap-registration-proxy/defaults/main.yml | 6 ++++++ .../custom/matrix-ldap-registration-proxy/tasks/main.yml | 6 ++++++ .../tasks/setup_install.yml | 8 ++++++++ .../tasks/setup_uninstall.yml | 6 ++++++ .../tasks/validate_config.yml | 6 ++++++ .../matrix-ldap-registration-proxy/templates/labels.j2 | 6 ++++++ .../templates/ldap-registration-proxy.env.j2 | 8 ++++++++ .../matrix-ldap-registration-proxy.service.j2.license | 5 +++++ 9 files changed, 59 insertions(+) create mode 100644 roles/custom/matrix-ldap-registration-proxy/templates/systemd/matrix-ldap-registration-proxy.service.j2.license diff --git a/docs/configuring-playbook-matrix-ldap-registration-proxy.md b/docs/configuring-playbook-matrix-ldap-registration-proxy.md index 29e825a92..7073b81b6 100644 --- a/docs/configuring-playbook-matrix-ldap-registration-proxy.md +++ b/docs/configuring-playbook-matrix-ldap-registration-proxy.md @@ -1,3 +1,11 @@ + + # Setting up matrix-ldap-registration-proxy (optional) The playbook can install and configure [matrix-ldap-registration-proxy](https://gitlab.com/activism.international/matrix_ldap_registration_proxy) for you. diff --git a/roles/custom/matrix-ldap-registration-proxy/defaults/main.yml b/roles/custom/matrix-ldap-registration-proxy/defaults/main.yml index b7dd0996c..4ff410860 100644 --- a/roles/custom/matrix-ldap-registration-proxy/defaults/main.yml +++ b/roles/custom/matrix-ldap-registration-proxy/defaults/main.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Julian-Samuel Gebühr +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # matrix_ldap_registration_proxy - Want to build a large-scale Matrix server using external registration on LDAP? # Project source code URL: https://gitlab.com/activism.international/matrix_ldap_registration_proxy diff --git a/roles/custom/matrix-ldap-registration-proxy/tasks/main.yml b/roles/custom/matrix-ldap-registration-proxy/tasks/main.yml index 9a7f24d2d..191a3538b 100644 --- a/roles/custom/matrix-ldap-registration-proxy/tasks/main.yml +++ b/roles/custom/matrix-ldap-registration-proxy/tasks/main.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2022 Julian-Samuel Gebühr +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2023 - 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-ldap-registration-proxy/tasks/setup_install.yml b/roles/custom/matrix-ldap-registration-proxy/tasks/setup_install.yml index 43f16292e..e068a629b 100644 --- a/roles/custom/matrix-ldap-registration-proxy/tasks/setup_install.yml +++ b/roles/custom/matrix-ldap-registration-proxy/tasks/setup_install.yml @@ -1,3 +1,11 @@ +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Julian-Samuel Gebühr +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2024 David Mehren +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure matrix_ldap_registration_proxy paths exist diff --git a/roles/custom/matrix-ldap-registration-proxy/tasks/setup_uninstall.yml b/roles/custom/matrix-ldap-registration-proxy/tasks/setup_uninstall.yml index 20e98a6e4..281488b18 100644 --- a/roles/custom/matrix-ldap-registration-proxy/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-ldap-registration-proxy/tasks/setup_uninstall.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2022 - 2023 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-matrix_ldap_registration_proxy service diff --git a/roles/custom/matrix-ldap-registration-proxy/tasks/validate_config.yml b/roles/custom/matrix-ldap-registration-proxy/tasks/validate_config.yml index d8fcdf96b..97d94fe7f 100644 --- a/roles/custom/matrix-ldap-registration-proxy/tasks/validate_config.yml +++ b/roles/custom/matrix-ldap-registration-proxy/tasks/validate_config.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Julian-Samuel Gebühr +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required matrix-ldap-registration-proxy settings not defined diff --git a/roles/custom/matrix-ldap-registration-proxy/templates/labels.j2 b/roles/custom/matrix-ldap-registration-proxy/templates/labels.j2 index 8ce1832f1..73a7d25ed 100644 --- a/roles/custom/matrix-ldap-registration-proxy/templates/labels.j2 +++ b/roles/custom/matrix-ldap-registration-proxy/templates/labels.j2 @@ -1,3 +1,9 @@ +{# +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + {% if matrix_ldap_registration_proxy_container_labels_traefik_enabled %} traefik.enable=true diff --git a/roles/custom/matrix-ldap-registration-proxy/templates/ldap-registration-proxy.env.j2 b/roles/custom/matrix-ldap-registration-proxy/templates/ldap-registration-proxy.env.j2 index 0def38932..d40193e1b 100644 --- a/roles/custom/matrix-ldap-registration-proxy/templates/ldap-registration-proxy.env.j2 +++ b/roles/custom/matrix-ldap-registration-proxy/templates/ldap-registration-proxy.env.j2 @@ -1,3 +1,11 @@ +{# +SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2022 Julian-Samuel Gebühr +SPDX-FileCopyrightText: 2022 MDAD project contributors + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + # please specify the configuration here # # these settings are mandatory diff --git a/roles/custom/matrix-ldap-registration-proxy/templates/systemd/matrix-ldap-registration-proxy.service.j2.license b/roles/custom/matrix-ldap-registration-proxy/templates/systemd/matrix-ldap-registration-proxy.service.j2.license new file mode 100644 index 000000000..618b21aeb --- /dev/null +++ b/roles/custom/matrix-ldap-registration-proxy/templates/systemd/matrix-ldap-registration-proxy.service.j2.license @@ -0,0 +1,5 @@ +SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2022 Julian-Samuel Gebühr +SPDX-FileCopyrightText: 2022 MDAD project contributors + +SPDX-License-Identifier: AGPL-3.0-or-later From d3826ee6528cc4584688887bc9a58a81478e7419 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 1 Mar 2025 01:41:41 +0900 Subject: [PATCH 589/841] Add license information to files for matrix-media-repo Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-matrix-media-repo.md | 9 +++++++++ roles/custom/matrix-media-repo/defaults/main.yml | 8 ++++++++ roles/custom/matrix-media-repo/tasks/main.yml | 5 +++++ roles/custom/matrix-media-repo/tasks/setup_install.yml | 7 +++++++ roles/custom/matrix-media-repo/tasks/setup_uninstall.yml | 4 ++++ roles/custom/matrix-media-repo/tasks/validate_config.yml | 5 +++++ .../templates/grafana/media-repo.json.license | 3 +++ .../custom/matrix-media-repo/templates/media-repo/env.j2 | 6 ++++++ .../matrix-media-repo/templates/media-repo/labels.j2 | 7 +++++++ .../templates/media-repo/media-repo.yaml.j2 | 7 +++++++ .../systemd/matrix-media-repo.service.j2.license | 4 ++++ 11 files changed, 65 insertions(+) create mode 100644 roles/custom/matrix-media-repo/templates/grafana/media-repo.json.license create mode 100644 roles/custom/matrix-media-repo/templates/media-repo/systemd/matrix-media-repo.service.j2.license diff --git a/docs/configuring-playbook-matrix-media-repo.md b/docs/configuring-playbook-matrix-media-repo.md index 33dd5ce1a..e660d434d 100644 --- a/docs/configuring-playbook-matrix-media-repo.md +++ b/docs/configuring-playbook-matrix-media-repo.md @@ -1,3 +1,12 @@ + + # Storing Matrix media files using matrix-media-repo (optional) The playbook can install and configure [matrix-media-repo](https://docs.t2bot.io/matrix-media-repo/) (often abbreviated "MMR") for you. diff --git a/roles/custom/matrix-media-repo/defaults/main.yml b/roles/custom/matrix-media-repo/defaults/main.yml index f41489a5b..c2485207e 100755 --- a/roles/custom/matrix-media-repo/defaults/main.yml +++ b/roles/custom/matrix-media-repo/defaults/main.yml @@ -1,3 +1,11 @@ +# SPDX-FileCopyrightText: 2023 - 2024 Michael Hollister +# SPDX-FileCopyrightText: 2023 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2023 MDAD project contributors +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # matrix-media-repo is a highly customizable multi-domain media repository for Matrix. # Intended for medium to large environments consisting of several homeservers, this diff --git a/roles/custom/matrix-media-repo/tasks/main.yml b/roles/custom/matrix-media-repo/tasks/main.yml index 4bf63251d..2ebd19ef1 100644 --- a/roles/custom/matrix-media-repo/tasks/main.yml +++ b/roles/custom/matrix-media-repo/tasks/main.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2023 Michael Hollister +# SPDX-FileCopyrightText: 2023 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-media-repo/tasks/setup_install.yml b/roles/custom/matrix-media-repo/tasks/setup_install.yml index 67bf8bec2..525df257f 100755 --- a/roles/custom/matrix-media-repo/tasks/setup_install.yml +++ b/roles/custom/matrix-media-repo/tasks/setup_install.yml @@ -1,3 +1,10 @@ +# SPDX-FileCopyrightText: 2023 - 2024 Michael Hollister +# SPDX-FileCopyrightText: 2024 Daniel A. Maierhofer +# SPDX-FileCopyrightText: 2024 David Mehren +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure media-repo paths exist diff --git a/roles/custom/matrix-media-repo/tasks/setup_uninstall.yml b/roles/custom/matrix-media-repo/tasks/setup_uninstall.yml index 449cd48b8..45595daee 100644 --- a/roles/custom/matrix-media-repo/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-media-repo/tasks/setup_uninstall.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2023 Michael Hollister +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of media-repo service diff --git a/roles/custom/matrix-media-repo/tasks/validate_config.yml b/roles/custom/matrix-media-repo/tasks/validate_config.yml index bd923eec6..e9b4d64f9 100644 --- a/roles/custom/matrix-media-repo/tasks/validate_config.yml +++ b/roles/custom/matrix-media-repo/tasks/validate_config.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2023 Michael Hollister +# SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required matrix-media-repo settings not defined diff --git a/roles/custom/matrix-media-repo/templates/grafana/media-repo.json.license b/roles/custom/matrix-media-repo/templates/grafana/media-repo.json.license new file mode 100644 index 000000000..147b2c483 --- /dev/null +++ b/roles/custom/matrix-media-repo/templates/grafana/media-repo.json.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2023 - 2024 Michael Hollister + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-media-repo/templates/media-repo/env.j2 b/roles/custom/matrix-media-repo/templates/media-repo/env.j2 index 8b26f77d7..e325e595d 100644 --- a/roles/custom/matrix-media-repo/templates/media-repo/env.j2 +++ b/roles/custom/matrix-media-repo/templates/media-repo/env.j2 @@ -1 +1,7 @@ +{# +SPDX-FileCopyrightText: 2023 Michael Hollister + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + REPO_CONFIG=/config/media-repo.yaml diff --git a/roles/custom/matrix-media-repo/templates/media-repo/labels.j2 b/roles/custom/matrix-media-repo/templates/media-repo/labels.j2 index 57b21d897..17eac5cc9 100755 --- a/roles/custom/matrix-media-repo/templates/media-repo/labels.j2 +++ b/roles/custom/matrix-media-repo/templates/media-repo/labels.j2 @@ -1,3 +1,10 @@ +{# +SPDX-FileCopyrightText: 2023 - 2024 Michael Hollister +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + {% if matrix_media_repo_container_labels_traefik_enabled %} traefik.enable=true diff --git a/roles/custom/matrix-media-repo/templates/media-repo/media-repo.yaml.j2 b/roles/custom/matrix-media-repo/templates/media-repo/media-repo.yaml.j2 index 6142bc95b..fa60434fa 100644 --- a/roles/custom/matrix-media-repo/templates/media-repo/media-repo.yaml.j2 +++ b/roles/custom/matrix-media-repo/templates/media-repo/media-repo.yaml.j2 @@ -1,3 +1,10 @@ +{# +SPDX-FileCopyrightText: 2023 - 2024 Michael Hollister +SPDX-FileCopyrightText: 2024 Suguru Hirahara + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + # General repo configuration repo: bindAddress: {{ matrix_media_repo_bind_address | to_json }} diff --git a/roles/custom/matrix-media-repo/templates/media-repo/systemd/matrix-media-repo.service.j2.license b/roles/custom/matrix-media-repo/templates/media-repo/systemd/matrix-media-repo.service.j2.license new file mode 100644 index 000000000..1c5c26f3b --- /dev/null +++ b/roles/custom/matrix-media-repo/templates/media-repo/systemd/matrix-media-repo.service.j2.license @@ -0,0 +1,4 @@ +SPDX-FileCopyrightText: 2023 - 2025 Slavi Pantaleev +SPDX-FileCopyrightText: 2023 Michael Hollister + +SPDX-License-Identifier: AGPL-3.0-or-later From 66e37a68ae16f8499827364d9e8cd282cd68459f Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 1 Mar 2025 01:41:49 +0900 Subject: [PATCH 590/841] Add license information to files for matrix-coturn Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-turn.md | 10 ++++++++++ roles/custom/matrix-coturn/defaults/main.yml | 15 +++++++++++++++ roles/custom/matrix-coturn/tasks/main.yml | 6 ++++++ .../custom/matrix-coturn/tasks/setup_install.yml | 14 ++++++++++++++ .../matrix-coturn/tasks/setup_uninstall.yml | 5 +++++ .../matrix-coturn/tasks/validate_config.yml | 5 +++++ .../systemd/matrix-coturn-reload.service.j2 | 6 ++++++ .../systemd/matrix-coturn-reload.timer.j2 | 8 ++++++++ .../systemd/matrix-coturn.service.j2.license | 8 ++++++++ .../templates/turnserver.conf.j2.license | 6 ++++++ roles/custom/matrix-coturn/vars/main.yml | 4 ++++ 11 files changed, 87 insertions(+) create mode 100644 roles/custom/matrix-coturn/templates/systemd/matrix-coturn.service.j2.license create mode 100644 roles/custom/matrix-coturn/templates/turnserver.conf.j2.license diff --git a/docs/configuring-playbook-turn.md b/docs/configuring-playbook-turn.md index 56858d886..9c9b31271 100644 --- a/docs/configuring-playbook-turn.md +++ b/docs/configuring-playbook-turn.md @@ -1,3 +1,13 @@ + + # Configuring a TURN server (optional, advanced) By default, this playbook installs and configures the [coturn](https://github.com/coturn/coturn) as a TURN server, through which clients can make audio/video calls even from [NAT](https://en.wikipedia.org/wiki/Network_address_translation)-ed networks. It also configures the Synapse chat server by default, so that it points to the coturn TURN server installed by the playbook. If that's okay, you can skip this document. diff --git a/roles/custom/matrix-coturn/defaults/main.yml b/roles/custom/matrix-coturn/defaults/main.yml index b3ecb1efd..9c82097c4 100644 --- a/roles/custom/matrix-coturn/defaults/main.yml +++ b/roles/custom/matrix-coturn/defaults/main.yml @@ -1,3 +1,18 @@ +# SPDX-FileCopyrightText: 2019 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2019 Stuart Mumford +# SPDX-FileCopyrightText: 2019 Sylvia van Os +# SPDX-FileCopyrightText: 2020 - 2021 Dan Arnfield +# SPDX-FileCopyrightText: 2020 Horvath Gergely +# SPDX-FileCopyrightText: 2021 - 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2021 Ahmad Haghighi +# SPDX-FileCopyrightText: 2022 - 2023 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 Hefty Zauk +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# SPDX-FileCopyrightText: 2025 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # Project source code URL: https://github.com/coturn/coturn diff --git a/roles/custom/matrix-coturn/tasks/main.yml b/roles/custom/matrix-coturn/tasks/main.yml index 1b1332fb7..0aa46f58f 100644 --- a/roles/custom/matrix-coturn/tasks/main.yml +++ b/roles/custom/matrix-coturn/tasks/main.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2019 - 2023 Slavi Pantaleev +# SPDX-FileCopyrightText: 2019 Dan Arnfield +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-coturn/tasks/setup_install.yml b/roles/custom/matrix-coturn/tasks/setup_install.yml index 9349c7be0..697edb4ee 100644 --- a/roles/custom/matrix-coturn/tasks/setup_install.yml +++ b/roles/custom/matrix-coturn/tasks/setup_install.yml @@ -1,3 +1,17 @@ +# SPDX-FileCopyrightText: 2018 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2019 - 2020 MDAD project contributors +# SPDX-FileCopyrightText: 2019 Dan Arnfield +# SPDX-FileCopyrightText: 2020 Béla Becker +# SPDX-FileCopyrightText: 2020 Chris van Dijk +# SPDX-FileCopyrightText: 2020 Horvath Gergely +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara +# SPDX-FileCopyrightText: 2024 David Mehren +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - when: matrix_coturn_turn_external_ip_address_auto_detection_enabled | bool diff --git a/roles/custom/matrix-coturn/tasks/setup_uninstall.yml b/roles/custom/matrix-coturn/tasks/setup_uninstall.yml index e747ff094..57746906c 100644 --- a/roles/custom/matrix-coturn/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-coturn/tasks/setup_uninstall.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2021 - 2022 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-coturn service diff --git a/roles/custom/matrix-coturn/tasks/validate_config.yml b/roles/custom/matrix-coturn/tasks/validate_config.yml index 2b71deb2a..ff0ac914b 100644 --- a/roles/custom/matrix-coturn/tasks/validate_config.yml +++ b/roles/custom/matrix-coturn/tasks/validate_config.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2019 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: (Deprecation) Catch and report renamed coturn settings diff --git a/roles/custom/matrix-coturn/templates/systemd/matrix-coturn-reload.service.j2 b/roles/custom/matrix-coturn/templates/systemd/matrix-coturn-reload.service.j2 index 7d12f6ec8..f1f3d0f6a 100644 --- a/roles/custom/matrix-coturn/templates/systemd/matrix-coturn-reload.service.j2 +++ b/roles/custom/matrix-coturn/templates/systemd/matrix-coturn-reload.service.j2 @@ -1,3 +1,9 @@ +{# +SPDX-FileCopyrightText: 2021 - 2022 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + [Unit] Description=Reloads matrix-coturn so that new SSL certificates can kick in diff --git a/roles/custom/matrix-coturn/templates/systemd/matrix-coturn-reload.timer.j2 b/roles/custom/matrix-coturn/templates/systemd/matrix-coturn-reload.timer.j2 index d4b0b1093..902ed5821 100644 --- a/roles/custom/matrix-coturn/templates/systemd/matrix-coturn-reload.timer.j2 +++ b/roles/custom/matrix-coturn/templates/systemd/matrix-coturn-reload.timer.j2 @@ -1,3 +1,11 @@ +{# +SPDX-FileCopyrightText: 2021 - 2022 Slavi Pantaleev +SPDX-FileCopyrightText: 2021 Hardy Erlinger +SPDX-FileCopyrightText: 2025 Suguru Hirahara + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + [Unit] Description=Reloads matrix-coturn periodically so that new SSL certificates can kick in diff --git a/roles/custom/matrix-coturn/templates/systemd/matrix-coturn.service.j2.license b/roles/custom/matrix-coturn/templates/systemd/matrix-coturn.service.j2.license new file mode 100644 index 000000000..df5eb9b5a --- /dev/null +++ b/roles/custom/matrix-coturn/templates/systemd/matrix-coturn.service.j2.license @@ -0,0 +1,8 @@ +SPDX-FileCopyrightText: 2018 - 2025 Slavi Pantaleev +SPDX-FileCopyrightText: 2019 Hugues De Keyzer +SPDX-FileCopyrightText: 2019 Sylvia van Os +SPDX-FileCopyrightText: 2020 Chris van Dijk +SPDX-FileCopyrightText: 2021 Dan Arnfield +SPDX-FileCopyrightText: 2024 Suguru Hirahara + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-coturn/templates/turnserver.conf.j2.license b/roles/custom/matrix-coturn/templates/turnserver.conf.j2.license new file mode 100644 index 000000000..98807515d --- /dev/null +++ b/roles/custom/matrix-coturn/templates/turnserver.conf.j2.license @@ -0,0 +1,6 @@ +SPDX-FileCopyrightText: 2018 - 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2019 Hugues De Keyzer +SPDX-FileCopyrightText: 2019 Stuart Mumford +SPDX-FileCopyrightText: 2021 - 2022 MDAD project contributors + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-coturn/vars/main.yml b/roles/custom/matrix-coturn/vars/main.yml index 0c0a1c24f..4391c2853 100644 --- a/roles/custom/matrix-coturn/vars/main.yml +++ b/roles/custom/matrix-coturn/vars/main.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2025 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- matrix_coturn_turn_uris: |- From 70655e898163f0e0078ca6bb611ff7b943f02df3 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 1 Mar 2025 12:25:45 +0900 Subject: [PATCH 591/841] Fix GitHub issue template selector Apparently those Markdown files are not expected to have something before the three hyphens on the top. Signed-off-by: Suguru Hirahara --- .github/ISSUE_TEMPLATE/bug_report.md | 7 ------- .github/ISSUE_TEMPLATE/bug_report.md.license | 4 ++++ .github/ISSUE_TEMPLATE/feature_request.md | 7 ------- .github/ISSUE_TEMPLATE/feature_request.md.license | 4 ++++ .github/ISSUE_TEMPLATE/i-need-help.md | 7 ------- .github/ISSUE_TEMPLATE/i-need-help.md.license | 4 ++++ 6 files changed, 12 insertions(+), 21 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.md.license create mode 100644 .github/ISSUE_TEMPLATE/feature_request.md.license create mode 100644 .github/ISSUE_TEMPLATE/i-need-help.md.license diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 67582267d..985806d5b 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -1,10 +1,3 @@ - - --- name: Bug report about: Create a report to help us improve diff --git a/.github/ISSUE_TEMPLATE/bug_report.md.license b/.github/ISSUE_TEMPLATE/bug_report.md.license new file mode 100644 index 000000000..3e8049371 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md.license @@ -0,0 +1,4 @@ +SPDX-FileCopyrightText: 2022 Slavi Pantaleev +SPDX-FileCopyrightText: 2024 Suguru Hirahara + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index 0b21a2fef..5746ab313 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -1,10 +1,3 @@ - - --- name: Feature request about: Suggest an idea for this project diff --git a/.github/ISSUE_TEMPLATE/feature_request.md.license b/.github/ISSUE_TEMPLATE/feature_request.md.license new file mode 100644 index 000000000..3e8049371 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md.license @@ -0,0 +1,4 @@ +SPDX-FileCopyrightText: 2022 Slavi Pantaleev +SPDX-FileCopyrightText: 2024 Suguru Hirahara + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/.github/ISSUE_TEMPLATE/i-need-help.md b/.github/ISSUE_TEMPLATE/i-need-help.md index 9f76ce259..03632d440 100644 --- a/.github/ISSUE_TEMPLATE/i-need-help.md +++ b/.github/ISSUE_TEMPLATE/i-need-help.md @@ -1,10 +1,3 @@ - - --- name: I need help about: Get support from our community diff --git a/.github/ISSUE_TEMPLATE/i-need-help.md.license b/.github/ISSUE_TEMPLATE/i-need-help.md.license new file mode 100644 index 000000000..3e8049371 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/i-need-help.md.license @@ -0,0 +1,4 @@ +SPDX-FileCopyrightText: 2022 Slavi Pantaleev +SPDX-FileCopyrightText: 2024 Suguru Hirahara + +SPDX-License-Identifier: AGPL-3.0-or-later From b57081debdfb530cd702e9ec27a37733f6ddcc1d Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 1 Mar 2025 12:50:15 +0900 Subject: [PATCH 592/841] Add CC0-1.0.txt to LICENSES directory Signed-off-by: Suguru Hirahara --- LICENSES/CC0-1.0.txt | 121 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 LICENSES/CC0-1.0.txt diff --git a/LICENSES/CC0-1.0.txt b/LICENSES/CC0-1.0.txt new file mode 100644 index 000000000..0e259d42c --- /dev/null +++ b/LICENSES/CC0-1.0.txt @@ -0,0 +1,121 @@ +Creative Commons Legal Code + +CC0 1.0 Universal + + CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE + LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN + ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS + INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES + REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS + PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM + THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED + HEREUNDER. + +Statement of Purpose + +The laws of most jurisdictions throughout the world automatically confer +exclusive Copyright and Related Rights (defined below) upon the creator +and subsequent owner(s) (each and all, an "owner") of an original work of +authorship and/or a database (each, a "Work"). + +Certain owners wish to permanently relinquish those rights to a Work for +the purpose of contributing to a commons of creative, cultural and +scientific works ("Commons") that the public can reliably and without fear +of later claims of infringement build upon, modify, incorporate in other +works, reuse and redistribute as freely as possible in any form whatsoever +and for any purposes, including without limitation commercial purposes. +These owners may contribute to the Commons to promote the ideal of a free +culture and the further production of creative, cultural and scientific +works, or to gain reputation or greater distribution for their Work in +part through the use and efforts of others. + +For these and/or other purposes and motivations, and without any +expectation of additional consideration or compensation, the person +associating CC0 with a Work (the "Affirmer"), to the extent that he or she +is an owner of Copyright and Related Rights in the Work, voluntarily +elects to apply CC0 to the Work and publicly distribute the Work under its +terms, with knowledge of his or her Copyright and Related Rights in the +Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be +protected by copyright and related or neighboring rights ("Copyright and +Related Rights"). Copyright and Related Rights include, but are not +limited to, the following: + + i. the right to reproduce, adapt, distribute, perform, display, + communicate, and translate a Work; + ii. moral rights retained by the original author(s) and/or performer(s); +iii. publicity and privacy rights pertaining to a person's image or + likeness depicted in a Work; + iv. rights protecting against unfair competition in regards to a Work, + subject to the limitations in paragraph 4(a), below; + v. rights protecting the extraction, dissemination, use and reuse of data + in a Work; + vi. database rights (such as those arising under Directive 96/9/EC of the + European Parliament and of the Council of 11 March 1996 on the legal + protection of databases, and under any national implementation + thereof, including any amended or successor version of such + directive); and +vii. other similar, equivalent or corresponding rights throughout the + world based on applicable law or treaty, and any national + implementations thereof. + +2. Waiver. To the greatest extent permitted by, but not in contravention +of, applicable law, Affirmer hereby overtly, fully, permanently, +irrevocably and unconditionally waives, abandons, and surrenders all of +Affirmer's Copyright and Related Rights and associated claims and causes +of action, whether now known or unknown (including existing as well as +future claims and causes of action), in the Work (i) in all territories +worldwide, (ii) for the maximum duration provided by applicable law or +treaty (including future time extensions), (iii) in any current or future +medium and for any number of copies, and (iv) for any purpose whatsoever, +including without limitation commercial, advertising or promotional +purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each +member of the public at large and to the detriment of Affirmer's heirs and +successors, fully intending that such Waiver shall not be subject to +revocation, rescission, cancellation, termination, or any other legal or +equitable action to disrupt the quiet enjoyment of the Work by the public +as contemplated by Affirmer's express Statement of Purpose. + +3. Public License Fallback. Should any part of the Waiver for any reason +be judged legally invalid or ineffective under applicable law, then the +Waiver shall be preserved to the maximum extent permitted taking into +account Affirmer's express Statement of Purpose. In addition, to the +extent the Waiver is so judged Affirmer hereby grants to each affected +person a royalty-free, non transferable, non sublicensable, non exclusive, +irrevocable and unconditional license to exercise Affirmer's Copyright and +Related Rights in the Work (i) in all territories worldwide, (ii) for the +maximum duration provided by applicable law or treaty (including future +time extensions), (iii) in any current or future medium and for any number +of copies, and (iv) for any purpose whatsoever, including without +limitation commercial, advertising or promotional purposes (the +"License"). The License shall be deemed effective as of the date CC0 was +applied by Affirmer to the Work. Should any part of the License for any +reason be judged legally invalid or ineffective under applicable law, such +partial invalidity or ineffectiveness shall not invalidate the remainder +of the License, and in such case Affirmer hereby affirms that he or she +will not (i) exercise any of his or her remaining Copyright and Related +Rights in the Work or (ii) assert any associated claims and causes of +action with respect to the Work, in either case contrary to Affirmer's +express Statement of Purpose. + +4. Limitations and Disclaimers. + + a. No trademark or patent rights held by Affirmer are waived, abandoned, + surrendered, licensed or otherwise affected by this document. + b. Affirmer offers the Work as-is and makes no representations or + warranties of any kind concerning the Work, express, implied, + statutory or otherwise, including without limitation warranties of + title, merchantability, fitness for a particular purpose, non + infringement, or the absence of latent or other defects, accuracy, or + the present or absence of errors, whether or not discoverable, all to + the greatest extent permissible under applicable law. + c. Affirmer disclaims responsibility for clearing rights of other persons + that may apply to the Work or any use thereof, including without + limitation any person's Copyright and Related Rights in the Work. + Further, Affirmer disclaims responsibility for obtaining any necessary + consents, permissions or other rights required for any use of the + Work. + d. Affirmer understands and acknowledges that Creative Commons is not a + party to this document and has no duty or obligation with respect to + this CC0 or use of the Work. From f88df9b782dafafd47305e4241da5d2555a65205 Mon Sep 17 00:00:00 2001 From: adam-kress Date: Fri, 28 Feb 2025 23:58:29 -0500 Subject: [PATCH 593/841] Upgrade Jitsi (v10008-3 -> v10078-1-0) (#4126) * Upgrade Jitsi (v10008-3 -> v10073-1) * Upgrade Jitsi (v10073-1 -> v10078-0) * v10078-0 -> v10078-1 * Fix Jitsi version tag --------- Co-authored-by: Slavi Pantaleev --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 389df2513..372b7fcee 100644 --- a/requirements.yml +++ b/requirements.yml @@ -25,7 +25,7 @@ version: v11.5.2-2 name: grafana - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-jitsi.git - version: v10008-3 + version: v10078-1-0 name: jitsi - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-ntfy.git version: v2.11.0-3 From dbfcb2d2c12a07577523509505134d0e1b5c9fbc Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sat, 1 Mar 2025 07:01:56 +0200 Subject: [PATCH 594/841] Upgrade Traefik (v3.3.3-4 -> v3.3.4-0) --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 372b7fcee..b042d8ef1 100644 --- a/requirements.yml +++ b/requirements.yml @@ -64,7 +64,7 @@ version: v1.0.0-0 name: timesync - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-traefik.git - version: v3.3.3-4 + version: v3.3.4-0 name: traefik - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-traefik-certs-dumper.git version: v2.8.3-7 From b488ff5dd51d5f4705d556cdb1d55e5aa403a2d7 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 1 Mar 2025 16:03:55 +0900 Subject: [PATCH 595/841] Add license information to files for matrix-bridge-mautrix-bluesky Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bridge-mautrix-bluesky.md | 7 +++++++ .../custom/matrix-bridge-mautrix-bluesky/defaults/main.yml | 5 +++++ roles/custom/matrix-bridge-mautrix-bluesky/tasks/main.yml | 4 ++++ .../matrix-bridge-mautrix-bluesky/tasks/setup_install.yml | 4 ++++ .../tasks/setup_uninstall.yml | 4 ++++ .../tasks/validate_config.yml | 5 +++++ .../templates/config.yaml.j2.license | 3 +++ .../matrix-bridge-mautrix-bluesky/templates/labels.j2 | 6 ++++++ .../systemd/matrix-mautrix-bluesky.service.j2.license | 4 ++++ 9 files changed, 42 insertions(+) create mode 100644 roles/custom/matrix-bridge-mautrix-bluesky/templates/config.yaml.j2.license create mode 100644 roles/custom/matrix-bridge-mautrix-bluesky/templates/systemd/matrix-mautrix-bluesky.service.j2.license diff --git a/docs/configuring-playbook-bridge-mautrix-bluesky.md b/docs/configuring-playbook-bridge-mautrix-bluesky.md index 632f6509a..fac227c78 100644 --- a/docs/configuring-playbook-bridge-mautrix-bluesky.md +++ b/docs/configuring-playbook-bridge-mautrix-bluesky.md @@ -1,3 +1,10 @@ + + # Setting up Mautrix Bluesky bridging (optional) Refer the common guide for configuring mautrix bridges: [Setting up a Generic Mautrix Bridge](configuring-playbook-bridge-mautrix-bridges.md) diff --git a/roles/custom/matrix-bridge-mautrix-bluesky/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-bluesky/defaults/main.yml index 2fb7c44f2..e43d3bea2 100644 --- a/roles/custom/matrix-bridge-mautrix-bluesky/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-bluesky/defaults/main.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2025 MDAD project contributors +# SPDX-FileCopyrightText: 2025 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # mautrix-bluesky is a Matrix <-> Bluesky bridge # Project source code URL: https://github.com/mautrix/bluesky diff --git a/roles/custom/matrix-bridge-mautrix-bluesky/tasks/main.yml b/roles/custom/matrix-bridge-mautrix-bluesky/tasks/main.yml index dd56963ab..0071485aa 100644 --- a/roles/custom/matrix-bridge-mautrix-bluesky/tasks/main.yml +++ b/roles/custom/matrix-bridge-mautrix-bluesky/tasks/main.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2025 MDAD project contributors +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-bridge-mautrix-bluesky/tasks/setup_install.yml b/roles/custom/matrix-bridge-mautrix-bluesky/tasks/setup_install.yml index 17fbaed14..305ac5730 100644 --- a/roles/custom/matrix-bridge-mautrix-bluesky/tasks/setup_install.yml +++ b/roles/custom/matrix-bridge-mautrix-bluesky/tasks/setup_install.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2025 MDAD project contributors +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - ansible.builtin.set_fact: diff --git a/roles/custom/matrix-bridge-mautrix-bluesky/tasks/setup_uninstall.yml b/roles/custom/matrix-bridge-mautrix-bluesky/tasks/setup_uninstall.yml index c3c170699..e38cd26c9 100644 --- a/roles/custom/matrix-bridge-mautrix-bluesky/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-bridge-mautrix-bluesky/tasks/setup_uninstall.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2025 MDAD project contributors +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-mautrix-bluesky service diff --git a/roles/custom/matrix-bridge-mautrix-bluesky/tasks/validate_config.yml b/roles/custom/matrix-bridge-mautrix-bluesky/tasks/validate_config.yml index 23e433d33..5e7b03753 100644 --- a/roles/custom/matrix-bridge-mautrix-bluesky/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mautrix-bluesky/tasks/validate_config.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2025 MDAD project contributors +# SPDX-FileCopyrightText: 2025 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required mautrix-bluesky settings not defined diff --git a/roles/custom/matrix-bridge-mautrix-bluesky/templates/config.yaml.j2.license b/roles/custom/matrix-bridge-mautrix-bluesky/templates/config.yaml.j2.license new file mode 100644 index 000000000..826be4a75 --- /dev/null +++ b/roles/custom/matrix-bridge-mautrix-bluesky/templates/config.yaml.j2.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2025 MDAD project contributors + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-mautrix-bluesky/templates/labels.j2 b/roles/custom/matrix-bridge-mautrix-bluesky/templates/labels.j2 index 876f48012..bec40b880 100644 --- a/roles/custom/matrix-bridge-mautrix-bluesky/templates/labels.j2 +++ b/roles/custom/matrix-bridge-mautrix-bluesky/templates/labels.j2 @@ -1,3 +1,9 @@ +{# +SPDX-FileCopyrightText: 2025 MDAD project contributors + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + {% if matrix_mautrix_bluesky_container_labels_traefik_enabled %} traefik.enable=true diff --git a/roles/custom/matrix-bridge-mautrix-bluesky/templates/systemd/matrix-mautrix-bluesky.service.j2.license b/roles/custom/matrix-bridge-mautrix-bluesky/templates/systemd/matrix-mautrix-bluesky.service.j2.license new file mode 100644 index 000000000..6fe7fc50c --- /dev/null +++ b/roles/custom/matrix-bridge-mautrix-bluesky/templates/systemd/matrix-mautrix-bluesky.service.j2.license @@ -0,0 +1,4 @@ +SPDX-FileCopyrightText: 2025 MDAD project contributors +SPDX-FileCopyrightText: 2025 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later From 9da4317d42fd7e0cadabde1a38e3fc15e72b9184 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 1 Mar 2025 16:04:05 +0900 Subject: [PATCH 596/841] Update docs/configuring-playbook-bridge-mautrix-bridges.md: add a copyright header Refer f8b779f8ed36426eeb3db2e27aa6826d7e65f506 as well Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bridge-mautrix-bridges.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/configuring-playbook-bridge-mautrix-bridges.md b/docs/configuring-playbook-bridge-mautrix-bridges.md index def918c84..557e1a9a4 100644 --- a/docs/configuring-playbook-bridge-mautrix-bridges.md +++ b/docs/configuring-playbook-bridge-mautrix-bridges.md @@ -1,3 +1,12 @@ + + # Setting up a Generic Mautrix Bridge (optional) The playbook can install and configure various [mautrix](https://github.com/mautrix) bridges (twitter, discord, signal, googlechat, etc.), as well as many other (non-mautrix) bridges. This is a common guide for configuring mautrix bridges. From f6b74f9d3010570646809c96723ddb7239983831 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 1 Mar 2025 16:04:15 +0900 Subject: [PATCH 597/841] Add license information to files for matrix-bridge-mautrix-discord Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bridge-mautrix-discord.md | 12 ++++++++++++ .../matrix-bridge-mautrix-discord/defaults/main.yml | 8 ++++++++ .../matrix-bridge-mautrix-discord/tasks/main.yml | 5 +++++ .../tasks/setup_install.yml | 7 +++++++ .../tasks/setup_uninstall.yml | 5 +++++ .../tasks/validate_config.yml | 5 +++++ .../templates/config.yaml.j2.license | 5 +++++ .../templates/labels.j2 | 6 ++++++ .../matrix-mautrix-discord.service.j2.license | 4 ++++ 9 files changed, 57 insertions(+) create mode 100644 roles/custom/matrix-bridge-mautrix-discord/templates/config.yaml.j2.license create mode 100644 roles/custom/matrix-bridge-mautrix-discord/templates/systemd/matrix-mautrix-discord.service.j2.license diff --git a/docs/configuring-playbook-bridge-mautrix-discord.md b/docs/configuring-playbook-bridge-mautrix-discord.md index 0a8c743bb..12d9f243d 100644 --- a/docs/configuring-playbook-bridge-mautrix-discord.md +++ b/docs/configuring-playbook-bridge-mautrix-discord.md @@ -1,3 +1,15 @@ + + # Setting up Mautrix Discord bridging (optional) Refer the common guide for configuring mautrix bridges: [Setting up a Generic Mautrix Bridge](configuring-playbook-bridge-mautrix-bridges.md) diff --git a/roles/custom/matrix-bridge-mautrix-discord/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-discord/defaults/main.yml index b6486ed0c..fa1a8e777 100644 --- a/roles/custom/matrix-bridge-mautrix-discord/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-discord/defaults/main.yml @@ -1,3 +1,11 @@ +# SPDX-FileCopyrightText: 2022 - 2023 Samuel Meenzen +# SPDX-FileCopyrightText: 2022 - 2024 MDAD project contributors +# SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2023 Nikita Chernyi +# SPDX-FileCopyrightText: 2025 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # mautrix-discord is a Matrix <-> Discord bridge # Project source code URL: https://github.com/mautrix/discord diff --git a/roles/custom/matrix-bridge-mautrix-discord/tasks/main.yml b/roles/custom/matrix-bridge-mautrix-discord/tasks/main.yml index 19698f9f1..dc5ccdd4e 100644 --- a/roles/custom/matrix-bridge-mautrix-discord/tasks/main.yml +++ b/roles/custom/matrix-bridge-mautrix-discord/tasks/main.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2022 - 2023 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-bridge-mautrix-discord/tasks/setup_install.yml b/roles/custom/matrix-bridge-mautrix-discord/tasks/setup_install.yml index a83092973..e08b1c34c 100644 --- a/roles/custom/matrix-bridge-mautrix-discord/tasks/setup_install.yml +++ b/roles/custom/matrix-bridge-mautrix-discord/tasks/setup_install.yml @@ -1,3 +1,10 @@ +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2024 David Mehren +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - ansible.builtin.set_fact: diff --git a/roles/custom/matrix-bridge-mautrix-discord/tasks/setup_uninstall.yml b/roles/custom/matrix-bridge-mautrix-discord/tasks/setup_uninstall.yml index ade37c2f8..0b5ddc54f 100644 --- a/roles/custom/matrix-bridge-mautrix-discord/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-bridge-mautrix-discord/tasks/setup_uninstall.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2022 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-mautrix-discord service diff --git a/roles/custom/matrix-bridge-mautrix-discord/tasks/validate_config.yml b/roles/custom/matrix-bridge-mautrix-discord/tasks/validate_config.yml index ed04f643b..63552ebb7 100644 --- a/roles/custom/matrix-bridge-mautrix-discord/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mautrix-discord/tasks/validate_config.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required mautrix-discord settings not defined diff --git a/roles/custom/matrix-bridge-mautrix-discord/templates/config.yaml.j2.license b/roles/custom/matrix-bridge-mautrix-discord/templates/config.yaml.j2.license new file mode 100644 index 000000000..9c33473b5 --- /dev/null +++ b/roles/custom/matrix-bridge-mautrix-discord/templates/config.yaml.j2.license @@ -0,0 +1,5 @@ +SPDX-FileCopyrightText: 2022 - 2024 MDAD project contributors +SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2022 Samuel Meenzen + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-mautrix-discord/templates/labels.j2 b/roles/custom/matrix-bridge-mautrix-discord/templates/labels.j2 index adc265db2..be59b906e 100644 --- a/roles/custom/matrix-bridge-mautrix-discord/templates/labels.j2 +++ b/roles/custom/matrix-bridge-mautrix-discord/templates/labels.j2 @@ -1,3 +1,9 @@ +{# +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + {% if matrix_mautrix_discord_container_labels_traefik_enabled %} traefik.enable=true diff --git a/roles/custom/matrix-bridge-mautrix-discord/templates/systemd/matrix-mautrix-discord.service.j2.license b/roles/custom/matrix-bridge-mautrix-discord/templates/systemd/matrix-mautrix-discord.service.j2.license new file mode 100644 index 000000000..c751d3d6f --- /dev/null +++ b/roles/custom/matrix-bridge-mautrix-discord/templates/systemd/matrix-mautrix-discord.service.j2.license @@ -0,0 +1,4 @@ +SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev +SPDX-FileCopyrightText: 2022 MDAD project contributors + +SPDX-License-Identifier: AGPL-3.0-or-later From 053a0e8b9977dba28e736dd6a124530929e13d6f Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 1 Mar 2025 16:04:24 +0900 Subject: [PATCH 598/841] Add license information to files for matrix-bridge-mautrix-gmessages Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bridge-mautrix-gmessages.md | 8 ++++++++ .../matrix-bridge-mautrix-gmessages/defaults/main.yml | 9 +++++++++ .../matrix-bridge-mautrix-gmessages/tasks/main.yml | 5 +++++ .../tasks/setup_install.yml | 7 +++++++ .../tasks/setup_uninstall.yml | 4 ++++ .../tasks/validate_config.yml | 5 +++++ .../templates/config.yaml.j2.license | 5 +++++ .../matrix-bridge-mautrix-gmessages/templates/labels.j2 | 6 ++++++ .../systemd/matrix-mautrix-gmessages.service.j2.license | 4 ++++ 9 files changed, 53 insertions(+) create mode 100644 roles/custom/matrix-bridge-mautrix-gmessages/templates/config.yaml.j2.license create mode 100644 roles/custom/matrix-bridge-mautrix-gmessages/templates/systemd/matrix-mautrix-gmessages.service.j2.license diff --git a/docs/configuring-playbook-bridge-mautrix-gmessages.md b/docs/configuring-playbook-bridge-mautrix-gmessages.md index 658b8eb95..d9289ec56 100644 --- a/docs/configuring-playbook-bridge-mautrix-gmessages.md +++ b/docs/configuring-playbook-bridge-mautrix-gmessages.md @@ -1,3 +1,11 @@ + + # Setting up Mautrix Google Messages bridging (optional) Refer the common guide for configuring mautrix bridges: [Setting up a Generic Mautrix Bridge](configuring-playbook-bridge-mautrix-bridges.md) diff --git a/roles/custom/matrix-bridge-mautrix-gmessages/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-gmessages/defaults/main.yml index 46b1e3099..92099b6b1 100644 --- a/roles/custom/matrix-bridge-mautrix-gmessages/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-gmessages/defaults/main.yml @@ -1,3 +1,12 @@ +# SPDX-FileCopyrightText: 2023 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2023 Cody Wyatt Neiman +# SPDX-FileCopyrightText: 2023 Nikita Chernyi +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# SPDX-FileCopyrightText: 2023 Shreyas Ajjarapu +# SPDX-FileCopyrightText: 2024 MDAD project contributors +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # mautrix-gmessages is a Matrix <-> gmessages bridge # Project source code URL: https://github.com/mautrix/gmessages diff --git a/roles/custom/matrix-bridge-mautrix-gmessages/tasks/main.yml b/roles/custom/matrix-bridge-mautrix-gmessages/tasks/main.yml index 4ca9e19fe..df53f0892 100644 --- a/roles/custom/matrix-bridge-mautrix-gmessages/tasks/main.yml +++ b/roles/custom/matrix-bridge-mautrix-gmessages/tasks/main.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2023 Shreyas Ajjarapu +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-bridge-mautrix-gmessages/tasks/setup_install.yml b/roles/custom/matrix-bridge-mautrix-gmessages/tasks/setup_install.yml index 5a3e59f75..777dceab7 100644 --- a/roles/custom/matrix-bridge-mautrix-gmessages/tasks/setup_install.yml +++ b/roles/custom/matrix-bridge-mautrix-gmessages/tasks/setup_install.yml @@ -1,3 +1,10 @@ +# SPDX-FileCopyrightText: 2023 Shreyas Ajjarapu +# SPDX-FileCopyrightText: 2024 David Mehren +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - ansible.builtin.set_fact: diff --git a/roles/custom/matrix-bridge-mautrix-gmessages/tasks/setup_uninstall.yml b/roles/custom/matrix-bridge-mautrix-gmessages/tasks/setup_uninstall.yml index e324a523e..e0fae19e7 100644 --- a/roles/custom/matrix-bridge-mautrix-gmessages/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-bridge-mautrix-gmessages/tasks/setup_uninstall.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2023 Shreyas Ajjarapu +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-mautrix-gmessages service diff --git a/roles/custom/matrix-bridge-mautrix-gmessages/tasks/validate_config.yml b/roles/custom/matrix-bridge-mautrix-gmessages/tasks/validate_config.yml index 1358465e5..ccf220349 100644 --- a/roles/custom/matrix-bridge-mautrix-gmessages/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mautrix-gmessages/tasks/validate_config.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2023 Shreyas Ajjarapu +# SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required mautrix-gmessages settings not defined diff --git a/roles/custom/matrix-bridge-mautrix-gmessages/templates/config.yaml.j2.license b/roles/custom/matrix-bridge-mautrix-gmessages/templates/config.yaml.j2.license new file mode 100644 index 000000000..fb1e93f66 --- /dev/null +++ b/roles/custom/matrix-bridge-mautrix-gmessages/templates/config.yaml.j2.license @@ -0,0 +1,5 @@ +SPDX-FileCopyrightText: 2023 MDAD project contributors +SPDX-FileCopyrightText: 2023 Shreyas Ajjarapu +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-mautrix-gmessages/templates/labels.j2 b/roles/custom/matrix-bridge-mautrix-gmessages/templates/labels.j2 index 1beea2c1c..8dfe66067 100644 --- a/roles/custom/matrix-bridge-mautrix-gmessages/templates/labels.j2 +++ b/roles/custom/matrix-bridge-mautrix-gmessages/templates/labels.j2 @@ -1,3 +1,9 @@ +{# +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + {% if matrix_mautrix_gmessages_container_labels_traefik_enabled %} traefik.enable=true diff --git a/roles/custom/matrix-bridge-mautrix-gmessages/templates/systemd/matrix-mautrix-gmessages.service.j2.license b/roles/custom/matrix-bridge-mautrix-gmessages/templates/systemd/matrix-mautrix-gmessages.service.j2.license new file mode 100644 index 000000000..90f8a2544 --- /dev/null +++ b/roles/custom/matrix-bridge-mautrix-gmessages/templates/systemd/matrix-mautrix-gmessages.service.j2.license @@ -0,0 +1,4 @@ +SPDX-FileCopyrightText: 2023 - 2025 Slavi Pantaleev +SPDX-FileCopyrightText: 2023 Shreyas Ajjarapu + +SPDX-License-Identifier: AGPL-3.0-or-later From 42e09a4aa53411b22700b8246d401585f78fa459 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 1 Mar 2025 16:04:33 +0900 Subject: [PATCH 599/841] Add license information to files for matrix-bridge-mautrix-googlechat Signed-off-by: Suguru Hirahara --- .../configuring-playbook-bridge-mautrix-googlechat.md | 9 +++++++++ .../defaults/main.yml | 11 +++++++++++ .../matrix-bridge-mautrix-googlechat/tasks/main.yml | 6 ++++++ .../tasks/setup_install.yml | 10 ++++++++++ .../tasks/setup_uninstall.yml | 6 ++++++ .../tasks/validate_config.yml | 6 ++++++ .../templates/config.yaml.j2.license | 6 ++++++ .../templates/labels.j2 | 6 ++++++ .../matrix-mautrix-googlechat.service.j2.license | 4 ++++ 9 files changed, 64 insertions(+) create mode 100644 roles/custom/matrix-bridge-mautrix-googlechat/templates/config.yaml.j2.license create mode 100644 roles/custom/matrix-bridge-mautrix-googlechat/templates/systemd/matrix-mautrix-googlechat.service.j2.license diff --git a/docs/configuring-playbook-bridge-mautrix-googlechat.md b/docs/configuring-playbook-bridge-mautrix-googlechat.md index a2e3dff61..5fd1ef99b 100644 --- a/docs/configuring-playbook-bridge-mautrix-googlechat.md +++ b/docs/configuring-playbook-bridge-mautrix-googlechat.md @@ -1,3 +1,12 @@ + + # Setting up Mautrix Google Chat bridging (optional) Refer the common guide for configuring mautrix bridges: [Setting up a Generic Mautrix Bridge](configuring-playbook-bridge-mautrix-bridges.md) diff --git a/roles/custom/matrix-bridge-mautrix-googlechat/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-googlechat/defaults/main.yml index 50d991dd5..213573c11 100644 --- a/roles/custom/matrix-bridge-mautrix-googlechat/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-googlechat/defaults/main.yml @@ -1,3 +1,14 @@ +# SPDX-FileCopyrightText: 2021 - 2024 MDAD project contributors +# SPDX-FileCopyrightText: 2021 Aaron Raimist +# SPDX-FileCopyrightText: 2022 - 2023 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 László Várady +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Ruben Hias +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # mautrix-googlechat is a Matrix <-> googlechat bridge # Project source code URL: https://github.com/mautrix/googlechat diff --git a/roles/custom/matrix-bridge-mautrix-googlechat/tasks/main.yml b/roles/custom/matrix-bridge-mautrix-googlechat/tasks/main.yml index be11089b7..3cdc701da 100644 --- a/roles/custom/matrix-bridge-mautrix-googlechat/tasks/main.yml +++ b/roles/custom/matrix-bridge-mautrix-googlechat/tasks/main.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2021 MDAD project contributors +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-bridge-mautrix-googlechat/tasks/setup_install.yml b/roles/custom/matrix-bridge-mautrix-googlechat/tasks/setup_install.yml index 6d8adebf4..d7cc1f1d5 100644 --- a/roles/custom/matrix-bridge-mautrix-googlechat/tasks/setup_install.yml +++ b/roles/custom/matrix-bridge-mautrix-googlechat/tasks/setup_install.yml @@ -1,3 +1,13 @@ +# SPDX-FileCopyrightText: 2021 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2021 MDAD project contributors +# SPDX-FileCopyrightText: 2022 Jim Myhrberg +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2024 David Mehren +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - ansible.builtin.set_fact: diff --git a/roles/custom/matrix-bridge-mautrix-googlechat/tasks/setup_uninstall.yml b/roles/custom/matrix-bridge-mautrix-googlechat/tasks/setup_uninstall.yml index 12b486308..412a08847 100644 --- a/roles/custom/matrix-bridge-mautrix-googlechat/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-bridge-mautrix-googlechat/tasks/setup_uninstall.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2021 - 2022 Slavi Pantaleev +# SPDX-FileCopyrightText: 2021 MDAD project contributors +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-mautrix-googlechat service diff --git a/roles/custom/matrix-bridge-mautrix-googlechat/tasks/validate_config.yml b/roles/custom/matrix-bridge-mautrix-googlechat/tasks/validate_config.yml index b6543a188..19c89c46c 100644 --- a/roles/custom/matrix-bridge-mautrix-googlechat/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mautrix-googlechat/tasks/validate_config.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2021 MDAD project contributors +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required mautrix-googlechat settings not defined diff --git a/roles/custom/matrix-bridge-mautrix-googlechat/templates/config.yaml.j2.license b/roles/custom/matrix-bridge-mautrix-googlechat/templates/config.yaml.j2.license new file mode 100644 index 000000000..0e41586c5 --- /dev/null +++ b/roles/custom/matrix-bridge-mautrix-googlechat/templates/config.yaml.j2.license @@ -0,0 +1,6 @@ +SPDX-FileCopyrightText: 2021 - 2022 MDAD project contributors +SPDX-FileCopyrightText: 2021 - 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2022 - 2023 Nikita Chernyi +SPDX-FileCopyrightText: 2022 László Várady + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-mautrix-googlechat/templates/labels.j2 b/roles/custom/matrix-bridge-mautrix-googlechat/templates/labels.j2 index 8f35f5c51..567dc2958 100644 --- a/roles/custom/matrix-bridge-mautrix-googlechat/templates/labels.j2 +++ b/roles/custom/matrix-bridge-mautrix-googlechat/templates/labels.j2 @@ -1,3 +1,9 @@ +{# +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + {% if matrix_mautrix_googlechat_container_labels_traefik_enabled %} traefik.enable=true diff --git a/roles/custom/matrix-bridge-mautrix-googlechat/templates/systemd/matrix-mautrix-googlechat.service.j2.license b/roles/custom/matrix-bridge-mautrix-googlechat/templates/systemd/matrix-mautrix-googlechat.service.j2.license new file mode 100644 index 000000000..f91d0b692 --- /dev/null +++ b/roles/custom/matrix-bridge-mautrix-googlechat/templates/systemd/matrix-mautrix-googlechat.service.j2.license @@ -0,0 +1,4 @@ +SPDX-FileCopyrightText: 2021 MDAD project contributors +SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later From 40939cde65d368b8a58714fd577e80608937a6e9 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 1 Mar 2025 16:04:38 +0900 Subject: [PATCH 600/841] Add license information to files for matrix-bridge-mautrix-meta-instagram Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bridge-mautrix-meta-instagram.md | 7 +++++++ .../custom/matrix-bridge-mautrix-meta-instagram/README.md | 6 ++++++ .../matrix-bridge-mautrix-meta-instagram/defaults/main.yml | 7 +++++++ .../matrix-bridge-mautrix-meta-instagram/tasks/install.yml | 5 +++++ .../matrix-bridge-mautrix-meta-instagram/tasks/main.yml | 4 ++++ .../tasks/uninstall.yml | 4 ++++ .../tasks/validate_config.yml | 4 ++++ .../templates/config.yaml.j2.license | 5 +++++ .../templates/labels.j2 | 6 ++++++ .../systemd/matrix-mautrix-meta.service.j2.license | 3 +++ 10 files changed, 51 insertions(+) create mode 100644 roles/custom/matrix-bridge-mautrix-meta-instagram/templates/config.yaml.j2.license create mode 100644 roles/custom/matrix-bridge-mautrix-meta-instagram/templates/systemd/matrix-mautrix-meta.service.j2.license diff --git a/docs/configuring-playbook-bridge-mautrix-meta-instagram.md b/docs/configuring-playbook-bridge-mautrix-meta-instagram.md index 26c34f8d9..c53a22aba 100644 --- a/docs/configuring-playbook-bridge-mautrix-meta-instagram.md +++ b/docs/configuring-playbook-bridge-mautrix-meta-instagram.md @@ -1,3 +1,10 @@ + + # Setting up Instagram bridging via Mautrix Meta (optional) Refer the common guide for configuring mautrix bridges: [Setting up a Generic Mautrix Bridge](configuring-playbook-bridge-mautrix-bridges.md) diff --git a/roles/custom/matrix-bridge-mautrix-meta-instagram/README.md b/roles/custom/matrix-bridge-mautrix-meta-instagram/README.md index 41e9d77d9..ef06fdc36 100644 --- a/roles/custom/matrix-bridge-mautrix-meta-instagram/README.md +++ b/roles/custom/matrix-bridge-mautrix-meta-instagram/README.md @@ -1,3 +1,9 @@ + + # matrix-mautrix-meta-instagram This bridge role is derived from the matrix-mautrix-meta-messenger Ansible role via automatic changes (see `just rebuild-mautrix-meta-instagram` or `bin/rebuild-mautrix-meta-instagram.sh`). diff --git a/roles/custom/matrix-bridge-mautrix-meta-instagram/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-meta-instagram/defaults/main.yml index 006fcda7e..65e1b7268 100644 --- a/roles/custom/matrix-bridge-mautrix-meta-instagram/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-meta-instagram/defaults/main.yml @@ -1,3 +1,10 @@ +# SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2024 MDAD project contributors +# SPDX-FileCopyrightText: 2024 Nikita Chernyi +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # mautrix-meta is a Matrix <-> Facebook/Messenger/Instagram bridge diff --git a/roles/custom/matrix-bridge-mautrix-meta-instagram/tasks/install.yml b/roles/custom/matrix-bridge-mautrix-meta-instagram/tasks/install.yml index 3debb493e..4f3749c1e 100644 --- a/roles/custom/matrix-bridge-mautrix-meta-instagram/tasks/install.yml +++ b/roles/custom/matrix-bridge-mautrix-meta-instagram/tasks/install.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2024 David Mehren +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - ansible.builtin.set_fact: diff --git a/roles/custom/matrix-bridge-mautrix-meta-instagram/tasks/main.yml b/roles/custom/matrix-bridge-mautrix-meta-instagram/tasks/main.yml index 0acc399f0..f06937433 100644 --- a/roles/custom/matrix-bridge-mautrix-meta-instagram/tasks/main.yml +++ b/roles/custom/matrix-bridge-mautrix-meta-instagram/tasks/main.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-bridge-mautrix-meta-instagram/tasks/uninstall.yml b/roles/custom/matrix-bridge-mautrix-meta-instagram/tasks/uninstall.yml index 991f47b40..794607e04 100644 --- a/roles/custom/matrix-bridge-mautrix-meta-instagram/tasks/uninstall.yml +++ b/roles/custom/matrix-bridge-mautrix-meta-instagram/tasks/uninstall.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of mautrix-meta-instagram service diff --git a/roles/custom/matrix-bridge-mautrix-meta-instagram/tasks/validate_config.yml b/roles/custom/matrix-bridge-mautrix-meta-instagram/tasks/validate_config.yml index 212e261b8..833106582 100644 --- a/roles/custom/matrix-bridge-mautrix-meta-instagram/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mautrix-meta-instagram/tasks/validate_config.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required mautrix-meta-instagram settings not defined diff --git a/roles/custom/matrix-bridge-mautrix-meta-instagram/templates/config.yaml.j2.license b/roles/custom/matrix-bridge-mautrix-meta-instagram/templates/config.yaml.j2.license new file mode 100644 index 000000000..dfee73659 --- /dev/null +++ b/roles/custom/matrix-bridge-mautrix-meta-instagram/templates/config.yaml.j2.license @@ -0,0 +1,5 @@ +SPDX-FileCopyrightText: 2024 Nikita Chernyi +SPDX-FileCopyrightText: 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2024 Suguru Hirahara + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-mautrix-meta-instagram/templates/labels.j2 b/roles/custom/matrix-bridge-mautrix-meta-instagram/templates/labels.j2 index 3648706cb..de8156bfe 100644 --- a/roles/custom/matrix-bridge-mautrix-meta-instagram/templates/labels.j2 +++ b/roles/custom/matrix-bridge-mautrix-meta-instagram/templates/labels.j2 @@ -1,3 +1,9 @@ +{# +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + {% if matrix_mautrix_meta_instagram_container_labels_traefik_enabled %} traefik.enable=true diff --git a/roles/custom/matrix-bridge-mautrix-meta-instagram/templates/systemd/matrix-mautrix-meta.service.j2.license b/roles/custom/matrix-bridge-mautrix-meta-instagram/templates/systemd/matrix-mautrix-meta.service.j2.license new file mode 100644 index 000000000..e18b238ea --- /dev/null +++ b/roles/custom/matrix-bridge-mautrix-meta-instagram/templates/systemd/matrix-mautrix-meta.service.j2.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later From 51671926c03e2fe4d1bf5592da7376f1c088eb4c Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 1 Mar 2025 16:04:43 +0900 Subject: [PATCH 601/841] Add license information to files for matrix-bridge-mautrix-meta-messenger Signed-off-by: Suguru Hirahara --- .../configuring-playbook-bridge-mautrix-meta-messenger.md | 8 ++++++++ .../defaults/main.yml | 7 +++++++ .../tasks/install.yml | 5 +++++ .../matrix-bridge-mautrix-meta-messenger/tasks/main.yml | 4 ++++ .../tasks/uninstall.yml | 4 ++++ .../tasks/validate_config.yml | 4 ++++ .../templates/config.yaml.j2.license | 5 +++++ .../templates/labels.j2 | 6 ++++++ .../systemd/matrix-mautrix-meta.service.j2.license | 3 +++ 9 files changed, 46 insertions(+) create mode 100644 roles/custom/matrix-bridge-mautrix-meta-messenger/templates/config.yaml.j2.license create mode 100644 roles/custom/matrix-bridge-mautrix-meta-messenger/templates/systemd/matrix-mautrix-meta.service.j2.license diff --git a/docs/configuring-playbook-bridge-mautrix-meta-messenger.md b/docs/configuring-playbook-bridge-mautrix-meta-messenger.md index 51b1a40ca..27f640bba 100644 --- a/docs/configuring-playbook-bridge-mautrix-meta-messenger.md +++ b/docs/configuring-playbook-bridge-mautrix-meta-messenger.md @@ -1,3 +1,11 @@ + + # Setting up Messenger bridging via Mautrix Meta (optional) Refer the common guide for configuring mautrix bridges: [Setting up a Generic Mautrix Bridge](configuring-playbook-bridge-mautrix-bridges.md) diff --git a/roles/custom/matrix-bridge-mautrix-meta-messenger/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-meta-messenger/defaults/main.yml index d6f5debcb..ae26f7c1f 100644 --- a/roles/custom/matrix-bridge-mautrix-meta-messenger/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-meta-messenger/defaults/main.yml @@ -1,3 +1,10 @@ +# SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2024 MDAD project contributors +# SPDX-FileCopyrightText: 2024 Nikita Chernyi +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # mautrix-meta is a Matrix <-> Facebook/Messenger/Instagram bridge diff --git a/roles/custom/matrix-bridge-mautrix-meta-messenger/tasks/install.yml b/roles/custom/matrix-bridge-mautrix-meta-messenger/tasks/install.yml index 438682d2b..ef09d425b 100644 --- a/roles/custom/matrix-bridge-mautrix-meta-messenger/tasks/install.yml +++ b/roles/custom/matrix-bridge-mautrix-meta-messenger/tasks/install.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2024 David Mehren +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - ansible.builtin.set_fact: diff --git a/roles/custom/matrix-bridge-mautrix-meta-messenger/tasks/main.yml b/roles/custom/matrix-bridge-mautrix-meta-messenger/tasks/main.yml index 5e5a7bebd..c77b53fa0 100644 --- a/roles/custom/matrix-bridge-mautrix-meta-messenger/tasks/main.yml +++ b/roles/custom/matrix-bridge-mautrix-meta-messenger/tasks/main.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-bridge-mautrix-meta-messenger/tasks/uninstall.yml b/roles/custom/matrix-bridge-mautrix-meta-messenger/tasks/uninstall.yml index 22040c2df..7ec36ad14 100644 --- a/roles/custom/matrix-bridge-mautrix-meta-messenger/tasks/uninstall.yml +++ b/roles/custom/matrix-bridge-mautrix-meta-messenger/tasks/uninstall.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of mautrix-meta-messenger service diff --git a/roles/custom/matrix-bridge-mautrix-meta-messenger/tasks/validate_config.yml b/roles/custom/matrix-bridge-mautrix-meta-messenger/tasks/validate_config.yml index 2d69f924e..3300a54a0 100644 --- a/roles/custom/matrix-bridge-mautrix-meta-messenger/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mautrix-meta-messenger/tasks/validate_config.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required mautrix-meta-messenger settings not defined diff --git a/roles/custom/matrix-bridge-mautrix-meta-messenger/templates/config.yaml.j2.license b/roles/custom/matrix-bridge-mautrix-meta-messenger/templates/config.yaml.j2.license new file mode 100644 index 000000000..dfee73659 --- /dev/null +++ b/roles/custom/matrix-bridge-mautrix-meta-messenger/templates/config.yaml.j2.license @@ -0,0 +1,5 @@ +SPDX-FileCopyrightText: 2024 Nikita Chernyi +SPDX-FileCopyrightText: 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2024 Suguru Hirahara + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-mautrix-meta-messenger/templates/labels.j2 b/roles/custom/matrix-bridge-mautrix-meta-messenger/templates/labels.j2 index 79e1fc743..1c5b0a6e0 100644 --- a/roles/custom/matrix-bridge-mautrix-meta-messenger/templates/labels.j2 +++ b/roles/custom/matrix-bridge-mautrix-meta-messenger/templates/labels.j2 @@ -1,3 +1,9 @@ +{# +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + {% if matrix_mautrix_meta_messenger_container_labels_traefik_enabled %} traefik.enable=true diff --git a/roles/custom/matrix-bridge-mautrix-meta-messenger/templates/systemd/matrix-mautrix-meta.service.j2.license b/roles/custom/matrix-bridge-mautrix-meta-messenger/templates/systemd/matrix-mautrix-meta.service.j2.license new file mode 100644 index 000000000..e64bd56b9 --- /dev/null +++ b/roles/custom/matrix-bridge-mautrix-meta-messenger/templates/systemd/matrix-mautrix-meta.service.j2.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later From 751511139c13bd6ffdd01ed9af8f8c525bc795fe Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 1 Mar 2025 20:54:22 +0900 Subject: [PATCH 602/841] Add license information to files for matrix-bridge-mautrix-signal Signed-off-by: Suguru Hirahara --- ...configuring-playbook-bridge-mautrix-signal.md | 16 ++++++++++++++++ .../defaults/main.yml | 16 ++++++++++++++++ .../matrix-bridge-mautrix-signal/tasks/main.yml | 8 ++++++++ .../tasks/remove_legacy.yml | 4 ++++ .../tasks/setup_install.yml | 12 ++++++++++++ .../tasks/setup_uninstall.yml | 8 ++++++++ .../tasks/validate_config.yml | 7 +++++++ .../templates/config.yaml.j2.license | 10 ++++++++++ .../templates/labels.j2 | 6 ++++++ .../matrix-mautrix-signal.service.j2.license | 5 +++++ 10 files changed, 92 insertions(+) create mode 100644 roles/custom/matrix-bridge-mautrix-signal/templates/config.yaml.j2.license create mode 100644 roles/custom/matrix-bridge-mautrix-signal/templates/systemd/matrix-mautrix-signal.service.j2.license diff --git a/docs/configuring-playbook-bridge-mautrix-signal.md b/docs/configuring-playbook-bridge-mautrix-signal.md index d156c7b0a..ce94e6a00 100644 --- a/docs/configuring-playbook-bridge-mautrix-signal.md +++ b/docs/configuring-playbook-bridge-mautrix-signal.md @@ -1,3 +1,19 @@ + + # Setting up Mautrix Signal bridging (optional) Refer the common guide for configuring mautrix bridges: [Setting up a Generic Mautrix Bridge](configuring-playbook-bridge-mautrix-bridges.md) diff --git a/roles/custom/matrix-bridge-mautrix-signal/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-signal/defaults/main.yml index acd545817..3ac88352b 100644 --- a/roles/custom/matrix-bridge-mautrix-signal/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-signal/defaults/main.yml @@ -1,3 +1,19 @@ +# SPDX-FileCopyrightText: 2020 - 2021 Sabine Laszakovits +# SPDX-FileCopyrightText: 2020 - 2024 MDAD project contributors +# SPDX-FileCopyrightText: 2021 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2021 Wolfgang Winter +# SPDX-FileCopyrightText: 2022 - 2024 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 László Várady +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Matthew Cengia +# SPDX-FileCopyrightText: 2023 - 2024 Pierre 'McFly' Marty +# SPDX-FileCopyrightText: 2023 Adrien le Maire +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# SPDX-FileCopyrightText: 2023 Yousef Amar +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # mautrix-signal is a Matrix <-> Signal bridge # Project source code URL: https://github.com/mautrix/signal diff --git a/roles/custom/matrix-bridge-mautrix-signal/tasks/main.yml b/roles/custom/matrix-bridge-mautrix-signal/tasks/main.yml index ded64b60c..60266ba91 100644 --- a/roles/custom/matrix-bridge-mautrix-signal/tasks/main.yml +++ b/roles/custom/matrix-bridge-mautrix-signal/tasks/main.yml @@ -1,3 +1,11 @@ +# SPDX-FileCopyrightText: 2020 MDAD project contributors +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2023 Adrien le Maire +# SPDX-FileCopyrightText: 2023 Pierre 'McFly' Marty +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-bridge-mautrix-signal/tasks/remove_legacy.yml b/roles/custom/matrix-bridge-mautrix-signal/tasks/remove_legacy.yml index d65b2d14d..f566606fc 100644 --- a/roles/custom/matrix-bridge-mautrix-signal/tasks/remove_legacy.yml +++ b/roles/custom/matrix-bridge-mautrix-signal/tasks/remove_legacy.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2023 Pierre 'McFly' Marty +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # Signal daemon service diff --git a/roles/custom/matrix-bridge-mautrix-signal/tasks/setup_install.yml b/roles/custom/matrix-bridge-mautrix-signal/tasks/setup_install.yml index ca6568c8e..55bcb2cb4 100644 --- a/roles/custom/matrix-bridge-mautrix-signal/tasks/setup_install.yml +++ b/roles/custom/matrix-bridge-mautrix-signal/tasks/setup_install.yml @@ -1,3 +1,15 @@ +# SPDX-FileCopyrightText: 2020 - 2021 Sabine Laszakovits +# SPDX-FileCopyrightText: 2020 - 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2021 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Jim Myhrberg +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2023 Pierre 'McFly' Marty +# SPDX-FileCopyrightText: 2024 David Mehren +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - ansible.builtin.set_fact: diff --git a/roles/custom/matrix-bridge-mautrix-signal/tasks/setup_uninstall.yml b/roles/custom/matrix-bridge-mautrix-signal/tasks/setup_uninstall.yml index 4a76bf141..79e3f8249 100644 --- a/roles/custom/matrix-bridge-mautrix-signal/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-bridge-mautrix-signal/tasks/setup_uninstall.yml @@ -1,3 +1,11 @@ +# SPDX-FileCopyrightText: 2020 MDAD project contributors +# SPDX-FileCopyrightText: 2021 - 2022 Slavi Pantaleev +# SPDX-FileCopyrightText: 2021 Sabine Laszakovits +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2023 Pierre 'McFly' Marty +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-mautrix-signal service diff --git a/roles/custom/matrix-bridge-mautrix-signal/tasks/validate_config.yml b/roles/custom/matrix-bridge-mautrix-signal/tasks/validate_config.yml index a3059ef83..eeb6d5ea2 100644 --- a/roles/custom/matrix-bridge-mautrix-signal/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mautrix-signal/tasks/validate_config.yml @@ -1,3 +1,10 @@ +# SPDX-FileCopyrightText: 2020 - 2021 Sabine Laszakovits +# SPDX-FileCopyrightText: 2020 - 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2021 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2023 Pierre 'McFly' Marty +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required mautrix-signal settings not defined diff --git a/roles/custom/matrix-bridge-mautrix-signal/templates/config.yaml.j2.license b/roles/custom/matrix-bridge-mautrix-signal/templates/config.yaml.j2.license new file mode 100644 index 000000000..7fa4396c7 --- /dev/null +++ b/roles/custom/matrix-bridge-mautrix-signal/templates/config.yaml.j2.license @@ -0,0 +1,10 @@ +SPDX-FileCopyrightText: 2020 - 2021 Sabine Laszakovits +SPDX-FileCopyrightText: 2020 - 2024 MDAD project contributors +SPDX-FileCopyrightText: 2021 - 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2021 Wolfgang Winter +SPDX-FileCopyrightText: 2022 László Várady +SPDX-FileCopyrightText: 2022 Nikita Chernyi +SPDX-FileCopyrightText: 2023 - 2024 Pierre 'McFly' Marty +SPDX-FileCopyrightText: 2023 Adrien le Maire + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-mautrix-signal/templates/labels.j2 b/roles/custom/matrix-bridge-mautrix-signal/templates/labels.j2 index fb912080a..334ca6fbc 100644 --- a/roles/custom/matrix-bridge-mautrix-signal/templates/labels.j2 +++ b/roles/custom/matrix-bridge-mautrix-signal/templates/labels.j2 @@ -1,3 +1,9 @@ +{# +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + {% if matrix_mautrix_signal_container_labels_traefik_enabled %} traefik.enable=true diff --git a/roles/custom/matrix-bridge-mautrix-signal/templates/systemd/matrix-mautrix-signal.service.j2.license b/roles/custom/matrix-bridge-mautrix-signal/templates/systemd/matrix-mautrix-signal.service.j2.license new file mode 100644 index 000000000..1c3358e43 --- /dev/null +++ b/roles/custom/matrix-bridge-mautrix-signal/templates/systemd/matrix-mautrix-signal.service.j2.license @@ -0,0 +1,5 @@ +SPDX-FileCopyrightText: 2020 - 2022 MDAD project contributors +SPDX-FileCopyrightText: 2021 - 2025 Slavi Pantaleev +SPDX-FileCopyrightText: 2023 Pierre 'McFly' Marty + +SPDX-License-Identifier: AGPL-3.0-or-later From 8b784735d3c85c3f9e4686442162d37d6c490609 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 1 Mar 2025 20:54:46 +0900 Subject: [PATCH 603/841] Add license information to files for matrix-bridge-mautrix-slack Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bridge-mautrix-slack.md | 9 +++++++++ .../custom/matrix-bridge-mautrix-slack/defaults/main.yml | 8 ++++++++ roles/custom/matrix-bridge-mautrix-slack/tasks/main.yml | 5 +++++ .../matrix-bridge-mautrix-slack/tasks/setup_install.yml | 6 ++++++ .../tasks/setup_uninstall.yml | 4 ++++ .../tasks/validate_config.yml | 5 +++++ .../templates/config.yaml.j2.license | 5 +++++ .../systemd/matrix-mautrix-slack.service.j2.license | 4 ++++ 8 files changed, 46 insertions(+) create mode 100644 roles/custom/matrix-bridge-mautrix-slack/templates/config.yaml.j2.license create mode 100644 roles/custom/matrix-bridge-mautrix-slack/templates/systemd/matrix-mautrix-slack.service.j2.license diff --git a/docs/configuring-playbook-bridge-mautrix-slack.md b/docs/configuring-playbook-bridge-mautrix-slack.md index 6ead5487d..27aa5e12f 100644 --- a/docs/configuring-playbook-bridge-mautrix-slack.md +++ b/docs/configuring-playbook-bridge-mautrix-slack.md @@ -1,3 +1,12 @@ + + # Setting up Mautrix Slack bridging (optional) Refer the common guide for configuring mautrix bridges: [Setting up a Generic Mautrix Bridge](configuring-playbook-bridge-mautrix-bridges.md) diff --git a/roles/custom/matrix-bridge-mautrix-slack/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-slack/defaults/main.yml index 9489385e7..da778c2e2 100644 --- a/roles/custom/matrix-bridge-mautrix-slack/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-slack/defaults/main.yml @@ -1,3 +1,11 @@ +# SPDX-FileCopyrightText: 2023 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2023 Cody Wyatt Neiman +# SPDX-FileCopyrightText: 2023 Nikita Chernyi +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# SPDX-FileCopyrightText: 2024 MDAD project contributors +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # mautrix-slack is a Matrix <-> Slack bridge # Project source code URL: https://github.com/mautrix/slack diff --git a/roles/custom/matrix-bridge-mautrix-slack/tasks/main.yml b/roles/custom/matrix-bridge-mautrix-slack/tasks/main.yml index b7a2199d7..9112981f2 100644 --- a/roles/custom/matrix-bridge-mautrix-slack/tasks/main.yml +++ b/roles/custom/matrix-bridge-mautrix-slack/tasks/main.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2023 Cody Wyatt Neiman +# SPDX-FileCopyrightText: 2023 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-bridge-mautrix-slack/tasks/setup_install.yml b/roles/custom/matrix-bridge-mautrix-slack/tasks/setup_install.yml index be5e11d80..c5266dfff 100644 --- a/roles/custom/matrix-bridge-mautrix-slack/tasks/setup_install.yml +++ b/roles/custom/matrix-bridge-mautrix-slack/tasks/setup_install.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2023 Cody Wyatt Neiman +# SPDX-FileCopyrightText: 2024 David Mehren +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - ansible.builtin.set_fact: diff --git a/roles/custom/matrix-bridge-mautrix-slack/tasks/setup_uninstall.yml b/roles/custom/matrix-bridge-mautrix-slack/tasks/setup_uninstall.yml index 19350b443..7361983d2 100644 --- a/roles/custom/matrix-bridge-mautrix-slack/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-bridge-mautrix-slack/tasks/setup_uninstall.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2023 Cody Wyatt Neiman +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-mautrix-slack service diff --git a/roles/custom/matrix-bridge-mautrix-slack/tasks/validate_config.yml b/roles/custom/matrix-bridge-mautrix-slack/tasks/validate_config.yml index 9a6e4a845..0f085735f 100644 --- a/roles/custom/matrix-bridge-mautrix-slack/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mautrix-slack/tasks/validate_config.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2023 Cody Wyatt Neiman +# SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required mautrix-slack settings not defined diff --git a/roles/custom/matrix-bridge-mautrix-slack/templates/config.yaml.j2.license b/roles/custom/matrix-bridge-mautrix-slack/templates/config.yaml.j2.license new file mode 100644 index 000000000..21834835b --- /dev/null +++ b/roles/custom/matrix-bridge-mautrix-slack/templates/config.yaml.j2.license @@ -0,0 +1,5 @@ +SPDX-FileCopyrightText: 2023 Cody Wyatt Neiman +SPDX-FileCopyrightText: 2023 Shaleen Jain +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-mautrix-slack/templates/systemd/matrix-mautrix-slack.service.j2.license b/roles/custom/matrix-bridge-mautrix-slack/templates/systemd/matrix-mautrix-slack.service.j2.license new file mode 100644 index 000000000..1792ce657 --- /dev/null +++ b/roles/custom/matrix-bridge-mautrix-slack/templates/systemd/matrix-mautrix-slack.service.j2.license @@ -0,0 +1,4 @@ +SPDX-FileCopyrightText: 2023 - 2025 Slavi Pantaleev +SPDX-FileCopyrightText: 2023 Cody Wyatt Neiman + +SPDX-License-Identifier: AGPL-3.0-or-later From 0810054b78ee3c93deacefdef0e6ca325c975f39 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 1 Mar 2025 21:05:02 +0900 Subject: [PATCH 604/841] Add license information to files for matrix-bridge-mautrix-telegram Signed-off-by: Suguru Hirahara --- ...figuring-playbook-bridge-mautrix-telegram.md | 13 +++++++++++++ .../defaults/main.yml | 16 ++++++++++++++++ .../tasks/main.yml | 6 ++++++ .../tasks/setup_install.yml | 17 +++++++++++++++++ .../tasks/setup_uninstall.yml | 6 ++++++ .../tasks/validate_config.yml | 5 +++++ .../templates/config.yaml.j2.license | 11 +++++++++++ .../templates/labels.j2 | 6 ++++++ .../matrix-mautrix-telegram.service.j2.license | 9 +++++++++ 9 files changed, 89 insertions(+) create mode 100644 roles/custom/matrix-bridge-mautrix-telegram/templates/config.yaml.j2.license create mode 100644 roles/custom/matrix-bridge-mautrix-telegram/templates/systemd/matrix-mautrix-telegram.service.j2.license diff --git a/docs/configuring-playbook-bridge-mautrix-telegram.md b/docs/configuring-playbook-bridge-mautrix-telegram.md index 77f92a1dc..e15fa2d38 100644 --- a/docs/configuring-playbook-bridge-mautrix-telegram.md +++ b/docs/configuring-playbook-bridge-mautrix-telegram.md @@ -1,3 +1,16 @@ + + # Setting up Mautrix Telegram bridging (optional) Refer the common guide for configuring mautrix bridges: [Setting up a Generic Mautrix Bridge](configuring-playbook-bridge-mautrix-bridges.md) diff --git a/roles/custom/matrix-bridge-mautrix-telegram/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-telegram/defaults/main.yml index 01917528f..f941b7c59 100644 --- a/roles/custom/matrix-bridge-mautrix-telegram/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-telegram/defaults/main.yml @@ -1,3 +1,19 @@ +# SPDX-FileCopyrightText: 2019 - 2024 MDAD project contributors +# SPDX-FileCopyrightText: 2019 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2020 Johanna Dorothea Reichmann +# SPDX-FileCopyrightText: 2020 Marcel Partap +# SPDX-FileCopyrightText: 2021 Aaron Raimist +# SPDX-FileCopyrightText: 2021 Panagiotis Georgiadis +# SPDX-FileCopyrightText: 2022 - 2023 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 László Várady +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Olivér Falvai +# SPDX-FileCopyrightText: 2022 Vincent Post +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# SPDX-FileCopyrightText: 2024 Pierre 'McFly' Marty +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # mautrix-telegram is a Matrix <-> Telegram bridge diff --git a/roles/custom/matrix-bridge-mautrix-telegram/tasks/main.yml b/roles/custom/matrix-bridge-mautrix-telegram/tasks/main.yml index 9fb6fb48f..fab0c1657 100644 --- a/roles/custom/matrix-bridge-mautrix-telegram/tasks/main.yml +++ b/roles/custom/matrix-bridge-mautrix-telegram/tasks/main.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2019 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2019 Dan Arnfield +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-bridge-mautrix-telegram/tasks/setup_install.yml b/roles/custom/matrix-bridge-mautrix-telegram/tasks/setup_install.yml index 4c9aa8558..f45cd306f 100644 --- a/roles/custom/matrix-bridge-mautrix-telegram/tasks/setup_install.yml +++ b/roles/custom/matrix-bridge-mautrix-telegram/tasks/setup_install.yml @@ -1,3 +1,20 @@ +# SPDX-FileCopyrightText: 2018 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2018 Hugues Morisset +# SPDX-FileCopyrightText: 2019 Aaron Raimist +# SPDX-FileCopyrightText: 2019 Dan Arnfield +# SPDX-FileCopyrightText: 2019 Jan Christian Grünhage +# SPDX-FileCopyrightText: 2020 - 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2020 Chris van Dijk +# SPDX-FileCopyrightText: 2020 Stuart Mumford +# SPDX-FileCopyrightText: 2021 Panagiotis Georgiadis +# SPDX-FileCopyrightText: 2022 Jim Myhrberg +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2024 David Mehren +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - ansible.builtin.set_fact: diff --git a/roles/custom/matrix-bridge-mautrix-telegram/tasks/setup_uninstall.yml b/roles/custom/matrix-bridge-mautrix-telegram/tasks/setup_uninstall.yml index ebb7e5db2..cbde3ff57 100644 --- a/roles/custom/matrix-bridge-mautrix-telegram/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-bridge-mautrix-telegram/tasks/setup_uninstall.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2019 - 2022 Slavi Pantaleev +# SPDX-FileCopyrightText: 2020 MDAD project contributors +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-mautrix-telegram service diff --git a/roles/custom/matrix-bridge-mautrix-telegram/tasks/validate_config.yml b/roles/custom/matrix-bridge-mautrix-telegram/tasks/validate_config.yml index faaa37f6e..08ce0d3dc 100644 --- a/roles/custom/matrix-bridge-mautrix-telegram/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mautrix-telegram/tasks/validate_config.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2019 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required mautrix-telegram settings not defined diff --git a/roles/custom/matrix-bridge-mautrix-telegram/templates/config.yaml.j2.license b/roles/custom/matrix-bridge-mautrix-telegram/templates/config.yaml.j2.license new file mode 100644 index 000000000..ded8b03d5 --- /dev/null +++ b/roles/custom/matrix-bridge-mautrix-telegram/templates/config.yaml.j2.license @@ -0,0 +1,11 @@ +SPDX-FileCopyrightText: 2018 Hugues Morisset +SPDX-FileCopyrightText: 2019 - 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2019 Hugues De Keyzer +SPDX-FileCopyrightText: 2020 - 2022 MDAD project contributors +SPDX-FileCopyrightText: 2022 László Várady +SPDX-FileCopyrightText: 2022 Nikita Chernyi +SPDX-FileCopyrightText: 2022 Vincent Post +SPDX-FileCopyrightText: 2024 Pierre 'McFly' Marty +SPDX-FileCopyrightText: 2024 Suguru Hirahara + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-mautrix-telegram/templates/labels.j2 b/roles/custom/matrix-bridge-mautrix-telegram/templates/labels.j2 index 494a45bdc..04021d807 100644 --- a/roles/custom/matrix-bridge-mautrix-telegram/templates/labels.j2 +++ b/roles/custom/matrix-bridge-mautrix-telegram/templates/labels.j2 @@ -1,3 +1,9 @@ +{# +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + {% if matrix_mautrix_telegram_container_labels_traefik_enabled %} traefik.enable=true diff --git a/roles/custom/matrix-bridge-mautrix-telegram/templates/systemd/matrix-mautrix-telegram.service.j2.license b/roles/custom/matrix-bridge-mautrix-telegram/templates/systemd/matrix-mautrix-telegram.service.j2.license new file mode 100644 index 000000000..575ca9abb --- /dev/null +++ b/roles/custom/matrix-bridge-mautrix-telegram/templates/systemd/matrix-mautrix-telegram.service.j2.license @@ -0,0 +1,9 @@ +SPDX-FileCopyrightText: 2018 - 2025 Slavi Pantaleev +SPDX-FileCopyrightText: 2018 Hugues Morisset +SPDX-FileCopyrightText: 2019 - 2022 MDAD project contributors +SPDX-FileCopyrightText: 2019 Hugues De Keyzer +SPDX-FileCopyrightText: 2020 Chris van Dijk +SPDX-FileCopyrightText: 2020 Scott Crossen +SPDX-FileCopyrightText: 2022 László Várady + +SPDX-License-Identifier: AGPL-3.0-or-later From 6fd48fcf9085c0ffab1ac720335d1c99e41e1486 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 1 Mar 2025 21:05:12 +0900 Subject: [PATCH 605/841] Add license information to files for matrix-bridge-mautrix-twitter Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bridge-mautrix-twitter.md | 9 +++++++++ .../matrix-bridge-mautrix-twitter/defaults/main.yml | 13 +++++++++++++ .../matrix-bridge-mautrix-twitter/tasks/main.yml | 7 +++++++ .../tasks/setup_install.yml | 10 ++++++++++ .../tasks/setup_uninstall.yml | 6 ++++++ .../tasks/validate_config.yml | 6 ++++++ .../templates/config.yaml.j2.license | 9 +++++++++ .../templates/labels.j2 | 6 ++++++ .../matrix-mautrix-twitter.service.j2.license | 4 ++++ 9 files changed, 70 insertions(+) create mode 100644 roles/custom/matrix-bridge-mautrix-twitter/templates/config.yaml.j2.license create mode 100644 roles/custom/matrix-bridge-mautrix-twitter/templates/systemd/matrix-mautrix-twitter.service.j2.license diff --git a/docs/configuring-playbook-bridge-mautrix-twitter.md b/docs/configuring-playbook-bridge-mautrix-twitter.md index b24264a6c..ff8eb8f1f 100644 --- a/docs/configuring-playbook-bridge-mautrix-twitter.md +++ b/docs/configuring-playbook-bridge-mautrix-twitter.md @@ -1,3 +1,12 @@ + + # Setting up Mautrix Twitter bridging (optional) Refer the common guide for configuring mautrix bridges: [Setting up a Generic Mautrix Bridge](configuring-playbook-bridge-mautrix-bridges.md) diff --git a/roles/custom/matrix-bridge-mautrix-twitter/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-twitter/defaults/main.yml index 449d71eb3..c6e6d5e72 100644 --- a/roles/custom/matrix-bridge-mautrix-twitter/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-twitter/defaults/main.yml @@ -1,3 +1,16 @@ +# SPDX-FileCopyrightText: 2021 - 2024 MDAD project contributors +# SPDX-FileCopyrightText: 2021 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2021 Matthew Cengia +# SPDX-FileCopyrightText: 2022 - 2024 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 Aaron Raimist +# SPDX-FileCopyrightText: 2022 László Várady +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2023 Adrien le Maire +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # mautrix-twitter is a Matrix <-> Twitter bridge # Project source code URL: https://github.com/mautrix/twitter diff --git a/roles/custom/matrix-bridge-mautrix-twitter/tasks/main.yml b/roles/custom/matrix-bridge-mautrix-twitter/tasks/main.yml index bb5a3a32e..39aff219b 100644 --- a/roles/custom/matrix-bridge-mautrix-twitter/tasks/main.yml +++ b/roles/custom/matrix-bridge-mautrix-twitter/tasks/main.yml @@ -1,3 +1,10 @@ +# SPDX-FileCopyrightText: 2021 Matthew Cengia +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2023 Adrien le Maire +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-bridge-mautrix-twitter/tasks/setup_install.yml b/roles/custom/matrix-bridge-mautrix-twitter/tasks/setup_install.yml index f89ef1994..4e5b1d149 100644 --- a/roles/custom/matrix-bridge-mautrix-twitter/tasks/setup_install.yml +++ b/roles/custom/matrix-bridge-mautrix-twitter/tasks/setup_install.yml @@ -1,3 +1,13 @@ +# SPDX-FileCopyrightText: 2021 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2021 Matthew Cengia +# SPDX-FileCopyrightText: 2022 Jim Myhrberg +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2024 David Mehren +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - ansible.builtin.set_fact: diff --git a/roles/custom/matrix-bridge-mautrix-twitter/tasks/setup_uninstall.yml b/roles/custom/matrix-bridge-mautrix-twitter/tasks/setup_uninstall.yml index 2a73e4818..be45fe4ac 100644 --- a/roles/custom/matrix-bridge-mautrix-twitter/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-bridge-mautrix-twitter/tasks/setup_uninstall.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2021 - 2022 Slavi Pantaleev +# SPDX-FileCopyrightText: 2021 Matthew Cengia +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-mautrix-twitter service diff --git a/roles/custom/matrix-bridge-mautrix-twitter/tasks/validate_config.yml b/roles/custom/matrix-bridge-mautrix-twitter/tasks/validate_config.yml index 0e33dcae8..e97779600 100644 --- a/roles/custom/matrix-bridge-mautrix-twitter/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mautrix-twitter/tasks/validate_config.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2021 Matthew Cengia +# SPDX-FileCopyrightText: 2021 Shreyas Ajjarapu +# SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required mautrix-twitter settings not defined diff --git a/roles/custom/matrix-bridge-mautrix-twitter/templates/config.yaml.j2.license b/roles/custom/matrix-bridge-mautrix-twitter/templates/config.yaml.j2.license new file mode 100644 index 000000000..1cdaa53c0 --- /dev/null +++ b/roles/custom/matrix-bridge-mautrix-twitter/templates/config.yaml.j2.license @@ -0,0 +1,9 @@ +SPDX-FileCopyrightText: 2021 Matthew Cengia +SPDX-FileCopyrightText: 2021 Shreyas Ajjarapu +SPDX-FileCopyrightText: 2022 - 2023 Nikita Chernyi +SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2022 László Várady +SPDX-FileCopyrightText: 2022 MDAD project contributors +SPDX-FileCopyrightText: 2023 Adrien le Maire + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-mautrix-twitter/templates/labels.j2 b/roles/custom/matrix-bridge-mautrix-twitter/templates/labels.j2 index e54502e74..fbf530be4 100644 --- a/roles/custom/matrix-bridge-mautrix-twitter/templates/labels.j2 +++ b/roles/custom/matrix-bridge-mautrix-twitter/templates/labels.j2 @@ -1,3 +1,9 @@ +{# +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + {% if matrix_mautrix_twitter_container_labels_traefik_enabled %} traefik.enable=true diff --git a/roles/custom/matrix-bridge-mautrix-twitter/templates/systemd/matrix-mautrix-twitter.service.j2.license b/roles/custom/matrix-bridge-mautrix-twitter/templates/systemd/matrix-mautrix-twitter.service.j2.license new file mode 100644 index 000000000..e0357d6e9 --- /dev/null +++ b/roles/custom/matrix-bridge-mautrix-twitter/templates/systemd/matrix-mautrix-twitter.service.j2.license @@ -0,0 +1,4 @@ +SPDX-FileCopyrightText: 2021 - 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2021 Matthew Cengia + +SPDX-License-Identifier: AGPL-3.0-or-later From 06340e423b105e12c267c57b682b238fa1ebd5ff Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 1 Mar 2025 21:05:18 +0900 Subject: [PATCH 606/841] Add license information to files for matrix-bridge-mautrix-whatsapp Signed-off-by: Suguru Hirahara --- ...guring-playbook-bridge-mautrix-whatsapp.md | 13 +++++++++++++ .../defaults/main.yml | 19 +++++++++++++++++++ .../tasks/main.yml | 7 +++++++ .../tasks/setup_install.yml | 17 +++++++++++++++++ .../tasks/setup_uninstall.yml | 6 ++++++ .../tasks/validate_config.yml | 7 +++++++ .../templates/config.yaml.j2.license | 13 +++++++++++++ .../templates/labels.j2 | 6 ++++++ ...matrix-mautrix-whatsapp.service.j2.license | 8 ++++++++ 9 files changed, 96 insertions(+) create mode 100644 roles/custom/matrix-bridge-mautrix-whatsapp/templates/config.yaml.j2.license create mode 100644 roles/custom/matrix-bridge-mautrix-whatsapp/templates/systemd/matrix-mautrix-whatsapp.service.j2.license diff --git a/docs/configuring-playbook-bridge-mautrix-whatsapp.md b/docs/configuring-playbook-bridge-mautrix-whatsapp.md index b9d23652e..a00f41155 100644 --- a/docs/configuring-playbook-bridge-mautrix-whatsapp.md +++ b/docs/configuring-playbook-bridge-mautrix-whatsapp.md @@ -1,3 +1,16 @@ + + # Setting up Mautrix Whatsapp bridging (optional) Refer the common guide for configuring mautrix bridges: [Setting up a Generic Mautrix Bridge](configuring-playbook-bridge-mautrix-bridges.md) diff --git a/roles/custom/matrix-bridge-mautrix-whatsapp/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-whatsapp/defaults/main.yml index 5f3d36ee4..a183d2526 100644 --- a/roles/custom/matrix-bridge-mautrix-whatsapp/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-whatsapp/defaults/main.yml @@ -1,3 +1,22 @@ +# SPDX-FileCopyrightText: 2019 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2019 Julian Foad +# SPDX-FileCopyrightText: 2019 Thomas Kuehne +# SPDX-FileCopyrightText: 2021 - 2024 MDAD project contributors +# SPDX-FileCopyrightText: 2021 Sebastian Gumprich +# SPDX-FileCopyrightText: 2022 - 2024 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 Arthur Brugière +# SPDX-FileCopyrightText: 2022 László Várady +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Petteri Pucilowski +# SPDX-FileCopyrightText: 2023 Adrien le Maire +# SPDX-FileCopyrightText: 2023 James Collier +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# SPDX-FileCopyrightText: 2023 Shreyas Ajjarapu +# SPDX-FileCopyrightText: 2024 Nikolai Raitsev +# SPDX-FileCopyrightText: 2025 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # mautrix-whatsapp is a Matrix <-> Whatsapp bridge # Project source code URL: https://github.com/mautrix/whatsapp diff --git a/roles/custom/matrix-bridge-mautrix-whatsapp/tasks/main.yml b/roles/custom/matrix-bridge-mautrix-whatsapp/tasks/main.yml index c7de3e189..4fb583f66 100644 --- a/roles/custom/matrix-bridge-mautrix-whatsapp/tasks/main.yml +++ b/roles/custom/matrix-bridge-mautrix-whatsapp/tasks/main.yml @@ -1,3 +1,10 @@ +# SPDX-FileCopyrightText: 2019 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2019 Thomas Kuehne +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2023 Adrien le Maire +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-bridge-mautrix-whatsapp/tasks/setup_install.yml b/roles/custom/matrix-bridge-mautrix-whatsapp/tasks/setup_install.yml index fd2c1a1ed..ecafc5a32 100644 --- a/roles/custom/matrix-bridge-mautrix-whatsapp/tasks/setup_install.yml +++ b/roles/custom/matrix-bridge-mautrix-whatsapp/tasks/setup_install.yml @@ -1,3 +1,20 @@ +# SPDX-FileCopyrightText: 2018 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2018 Hugues Morisset +# SPDX-FileCopyrightText: 2019 Dan Arnfield +# SPDX-FileCopyrightText: 2019 Jan Christian Grünhage +# SPDX-FileCopyrightText: 2019 Thomas Kuehne +# SPDX-FileCopyrightText: 2020 Chris van Dijk +# SPDX-FileCopyrightText: 2020 MDAD project contributors +# SPDX-FileCopyrightText: 2020 Stuart Mumford +# SPDX-FileCopyrightText: 2022 Jim Myhrberg +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2024 David Mehren +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - ansible.builtin.set_fact: diff --git a/roles/custom/matrix-bridge-mautrix-whatsapp/tasks/setup_uninstall.yml b/roles/custom/matrix-bridge-mautrix-whatsapp/tasks/setup_uninstall.yml index 98607b945..9a0beafd5 100644 --- a/roles/custom/matrix-bridge-mautrix-whatsapp/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-bridge-mautrix-whatsapp/tasks/setup_uninstall.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2019 - 2022 Slavi Pantaleev +# SPDX-FileCopyrightText: 2020 MDAD project contributors +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-mautrix-whatsapp service diff --git a/roles/custom/matrix-bridge-mautrix-whatsapp/tasks/validate_config.yml b/roles/custom/matrix-bridge-mautrix-whatsapp/tasks/validate_config.yml index 21cd9fc09..e321aa414 100644 --- a/roles/custom/matrix-bridge-mautrix-whatsapp/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mautrix-whatsapp/tasks/validate_config.yml @@ -1,3 +1,10 @@ +# SPDX-FileCopyrightText: 2019 Thomas Kuehne +# SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required mautrix-whatsapp settings not defined diff --git a/roles/custom/matrix-bridge-mautrix-whatsapp/templates/config.yaml.j2.license b/roles/custom/matrix-bridge-mautrix-whatsapp/templates/config.yaml.j2.license new file mode 100644 index 000000000..00e16d9b7 --- /dev/null +++ b/roles/custom/matrix-bridge-mautrix-whatsapp/templates/config.yaml.j2.license @@ -0,0 +1,13 @@ +SPDX-FileCopyrightText: 2018 Hugues Morisset +SPDX-FileCopyrightText: 2019 - 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2019 Hugues De Keyzer +SPDX-FileCopyrightText: 2019 Thomas Kuehne +SPDX-FileCopyrightText: 2020 - 2024 MDAD project contributors +SPDX-FileCopyrightText: 2022 László Várady +SPDX-FileCopyrightText: 2022 Nikita Chernyi +SPDX-FileCopyrightText: 2022 Shaleen Jain +SPDX-FileCopyrightText: 2023 Adrien le Maire +SPDX-FileCopyrightText: 2023 James Collier +SPDX-FileCopyrightText: 2024 Nikolai Raitsev + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-mautrix-whatsapp/templates/labels.j2 b/roles/custom/matrix-bridge-mautrix-whatsapp/templates/labels.j2 index 23f94361e..74bd55954 100644 --- a/roles/custom/matrix-bridge-mautrix-whatsapp/templates/labels.j2 +++ b/roles/custom/matrix-bridge-mautrix-whatsapp/templates/labels.j2 @@ -1,3 +1,9 @@ +{# +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + {% if matrix_mautrix_whatsapp_container_labels_traefik_enabled %} traefik.enable=true diff --git a/roles/custom/matrix-bridge-mautrix-whatsapp/templates/systemd/matrix-mautrix-whatsapp.service.j2.license b/roles/custom/matrix-bridge-mautrix-whatsapp/templates/systemd/matrix-mautrix-whatsapp.service.j2.license new file mode 100644 index 000000000..6a14dbaad --- /dev/null +++ b/roles/custom/matrix-bridge-mautrix-whatsapp/templates/systemd/matrix-mautrix-whatsapp.service.j2.license @@ -0,0 +1,8 @@ +SPDX-FileCopyrightText: 2018 - 2025 Slavi Pantaleev +SPDX-FileCopyrightText: 2018 Hugues Morisset +SPDX-FileCopyrightText: 2019 Hugues De Keyzer +SPDX-FileCopyrightText: 2019 Thomas Kuehne +SPDX-FileCopyrightText: 2020 Chris van Dijk +SPDX-FileCopyrightText: 2020 Scott Crossen + +SPDX-License-Identifier: AGPL-3.0-or-later From 29b6a3a9733845741616549d44cb42aecf64dc5f Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 1 Mar 2025 21:06:48 +0900 Subject: [PATCH 607/841] Add license information to files for matrix-bridge-mautrix-wsproxy Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bridge-mautrix-wsproxy.md | 8 ++++++++ .../matrix-bridge-mautrix-wsproxy/defaults/main.yml | 7 +++++++ roles/custom/matrix-bridge-mautrix-wsproxy/tasks/main.yml | 5 +++++ .../matrix-bridge-mautrix-wsproxy/tasks/setup_install.yml | 7 +++++++ .../tasks/setup_uninstall.yml | 4 ++++ .../tasks/validate_config.yml | 5 +++++ .../templates/config.yaml.j2 | 6 ++++++ .../templates/syncproxy-env.j2 | 7 +++++++ .../matrix-mautrix-wsproxy-syncproxy.service.j2.license | 4 ++++ .../systemd/matrix-mautrix-wsproxy.service.j2.license | 4 ++++ .../templates/wsproxy-labels.j2 | 6 ++++++ 11 files changed, 63 insertions(+) create mode 100644 roles/custom/matrix-bridge-mautrix-wsproxy/templates/systemd/matrix-mautrix-wsproxy-syncproxy.service.j2.license create mode 100644 roles/custom/matrix-bridge-mautrix-wsproxy/templates/systemd/matrix-mautrix-wsproxy.service.j2.license diff --git a/docs/configuring-playbook-bridge-mautrix-wsproxy.md b/docs/configuring-playbook-bridge-mautrix-wsproxy.md index b761e71d9..25fbb18dd 100644 --- a/docs/configuring-playbook-bridge-mautrix-wsproxy.md +++ b/docs/configuring-playbook-bridge-mautrix-wsproxy.md @@ -1,3 +1,11 @@ + + # Setting up Mautrix wsproxy for bridging Android SMS or Apple iMessage (optional) Refer the common guide for configuring mautrix bridges: [Setting up a Generic Mautrix Bridge](configuring-playbook-bridge-mautrix-bridges.md) diff --git a/roles/custom/matrix-bridge-mautrix-wsproxy/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-wsproxy/defaults/main.yml index 36bd8dc12..b55933180 100644 --- a/roles/custom/matrix-bridge-mautrix-wsproxy/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-wsproxy/defaults/main.yml @@ -1,3 +1,10 @@ +# SPDX-FileCopyrightText: 2023 Johan Swetzén +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # mautrix-wsproxy is a Matrix <-> websocket bridge # See: https://github.com/mautrix/wsproxy diff --git a/roles/custom/matrix-bridge-mautrix-wsproxy/tasks/main.yml b/roles/custom/matrix-bridge-mautrix-wsproxy/tasks/main.yml index 77ba520f4..dd2cee331 100644 --- a/roles/custom/matrix-bridge-mautrix-wsproxy/tasks/main.yml +++ b/roles/custom/matrix-bridge-mautrix-wsproxy/tasks/main.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2023 Johan Swetzén +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-bridge-mautrix-wsproxy/tasks/setup_install.yml b/roles/custom/matrix-bridge-mautrix-wsproxy/tasks/setup_install.yml index 59744ab48..9685df0e0 100644 --- a/roles/custom/matrix-bridge-mautrix-wsproxy/tasks/setup_install.yml +++ b/roles/custom/matrix-bridge-mautrix-wsproxy/tasks/setup_install.yml @@ -1,3 +1,10 @@ +# SPDX-FileCopyrightText: 2023 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2023 Johan Swetzén +# SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara +# SPDX-FileCopyrightText: 2024 David Mehren +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # If the matrix-synapse role is not used, `matrix_synapse_role_executed` won't exist. diff --git a/roles/custom/matrix-bridge-mautrix-wsproxy/tasks/setup_uninstall.yml b/roles/custom/matrix-bridge-mautrix-wsproxy/tasks/setup_uninstall.yml index c39fd29f4..0326fcb96 100644 --- a/roles/custom/matrix-bridge-mautrix-wsproxy/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-bridge-mautrix-wsproxy/tasks/setup_uninstall.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2023 Johan Swetzén +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-mautrix-wsproxy service diff --git a/roles/custom/matrix-bridge-mautrix-wsproxy/tasks/validate_config.yml b/roles/custom/matrix-bridge-mautrix-wsproxy/tasks/validate_config.yml index 6a7012385..244da474f 100644 --- a/roles/custom/matrix-bridge-mautrix-wsproxy/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mautrix-wsproxy/tasks/validate_config.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2023 Johan Swetzén +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required settings not defined diff --git a/roles/custom/matrix-bridge-mautrix-wsproxy/templates/config.yaml.j2 b/roles/custom/matrix-bridge-mautrix-wsproxy/templates/config.yaml.j2 index 2c7932614..b0eae9f68 100644 --- a/roles/custom/matrix-bridge-mautrix-wsproxy/templates/config.yaml.j2 +++ b/roles/custom/matrix-bridge-mautrix-wsproxy/templates/config.yaml.j2 @@ -1,3 +1,9 @@ +{# +SPDX-FileCopyrightText: 2023 Johan Swetzén + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + listen_address: 0.0.0.0:29331 appservices: - id: androidsms diff --git a/roles/custom/matrix-bridge-mautrix-wsproxy/templates/syncproxy-env.j2 b/roles/custom/matrix-bridge-mautrix-wsproxy/templates/syncproxy-env.j2 index 0ce02496d..45ff0d9b6 100644 --- a/roles/custom/matrix-bridge-mautrix-wsproxy/templates/syncproxy-env.j2 +++ b/roles/custom/matrix-bridge-mautrix-wsproxy/templates/syncproxy-env.j2 @@ -1,3 +1,10 @@ +{# +SPDX-FileCopyrightText: 2023 Johan Swetzén +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + DATABASE_URL={{ matrix_mautrix_signal_wsproxy_syncproxy_connection_string }} HOMESERVER_URL={{ matrix_mautrix_wsproxy_syncproxy_homeserver_url }} SHARED_SECRET={{ matrix_mautrix_wsproxy_syncproxy_shared_secret }} diff --git a/roles/custom/matrix-bridge-mautrix-wsproxy/templates/systemd/matrix-mautrix-wsproxy-syncproxy.service.j2.license b/roles/custom/matrix-bridge-mautrix-wsproxy/templates/systemd/matrix-mautrix-wsproxy-syncproxy.service.j2.license new file mode 100644 index 000000000..bf57ad87b --- /dev/null +++ b/roles/custom/matrix-bridge-mautrix-wsproxy/templates/systemd/matrix-mautrix-wsproxy-syncproxy.service.j2.license @@ -0,0 +1,4 @@ +SPDX-FileCopyrightText: 2023 - 2025 Slavi Pantaleev +SPDX-FileCopyrightText: 2023 Johan Swetzén + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-mautrix-wsproxy/templates/systemd/matrix-mautrix-wsproxy.service.j2.license b/roles/custom/matrix-bridge-mautrix-wsproxy/templates/systemd/matrix-mautrix-wsproxy.service.j2.license new file mode 100644 index 000000000..3cc582ba8 --- /dev/null +++ b/roles/custom/matrix-bridge-mautrix-wsproxy/templates/systemd/matrix-mautrix-wsproxy.service.j2.license @@ -0,0 +1,4 @@ +SPDX-FileCopyrightText: 2023 - 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2023 Johan Swetzén + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-mautrix-wsproxy/templates/wsproxy-labels.j2 b/roles/custom/matrix-bridge-mautrix-wsproxy/templates/wsproxy-labels.j2 index f16a631e8..06a879b9c 100644 --- a/roles/custom/matrix-bridge-mautrix-wsproxy/templates/wsproxy-labels.j2 +++ b/roles/custom/matrix-bridge-mautrix-wsproxy/templates/wsproxy-labels.j2 @@ -1,3 +1,9 @@ +{# +SPDX-FileCopyrightText: 2023 Johan Swetzén + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + {% if matrix_mautrix_wsproxy_container_labels_traefik_enabled %} traefik.enable=true From 76326e3c57e9be439a9847d7d3dd387be36db699 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 2 Mar 2025 01:04:48 +0900 Subject: [PATCH 608/841] Add license information to files in bin/ Signed-off-by: Suguru Hirahara --- bin/ansible-all-hosts.sh | 6 ++++++ bin/rebuild-mautrix-meta-instagram.sh | 5 +++++ 2 files changed, 11 insertions(+) diff --git a/bin/ansible-all-hosts.sh b/bin/ansible-all-hosts.sh index c4b903162..7b4ba3248 100755 --- a/bin/ansible-all-hosts.sh +++ b/bin/ansible-all-hosts.sh @@ -1,4 +1,10 @@ #!/usr/bin/env bash + +# SPDX-FileCopyrightText: 2022 - 2024 MDAD project contributors +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + # # Run the playbook on multiple hosts with different credentials with this script # It defaults to ansible tags "setup-all,start". You can pass alternative tags diff --git a/bin/rebuild-mautrix-meta-instagram.sh b/bin/rebuild-mautrix-meta-instagram.sh index d637168bd..8c4a01ec4 100644 --- a/bin/rebuild-mautrix-meta-instagram.sh +++ b/bin/rebuild-mautrix-meta-instagram.sh @@ -1,4 +1,9 @@ #!/bin/bash + +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + set -euxo pipefail # This script rebuilds the mautrix-meta-instagram Ansible role, using the mautrix-meta-messenger role as a source. From 37f69e92d5f6c6cc30526b094689f76ca10b5c80 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 2 Mar 2025 01:14:30 +0900 Subject: [PATCH 609/841] Add license information to files in examples/reverse-proxies/ Signed-off-by: Suguru Hirahara --- examples/reverse-proxies/README.md | 6 ++++++ examples/reverse-proxies/apache/README.md | 8 ++++++++ .../reverse-proxies/apache/matrix-client-element.conf | 5 +++++ examples/reverse-proxies/apache/matrix-domain.conf | 6 ++++++ examples/reverse-proxies/caddy2-in-container/Caddyfile | 6 ++++++ examples/reverse-proxies/caddy2-in-container/README.md | 7 +++++++ .../caddy2-in-container/docker-compose.yaml | 5 +++++ examples/reverse-proxies/caddy2/Caddyfile | 9 +++++++++ examples/reverse-proxies/caddy2/README.md | 10 ++++++++++ examples/reverse-proxies/haproxy/README.md | 8 ++++++++ examples/reverse-proxies/haproxy/haproxy.cfg | 5 +++++ examples/reverse-proxies/nginx-proxy-manager/README.md | 9 +++++++++ examples/reverse-proxies/nginx/README.md | 10 ++++++++++ examples/reverse-proxies/nginx/matrix.conf | 6 ++++++ 14 files changed, 100 insertions(+) diff --git a/examples/reverse-proxies/README.md b/examples/reverse-proxies/README.md index 91e10d5f6..3f8f12868 100644 --- a/examples/reverse-proxies/README.md +++ b/examples/reverse-proxies/README.md @@ -1,3 +1,9 @@ + + ## Using other reverse-proxies for fronting the integrated Traefik reverse-proxy This directory contains sample configuration for various webservers, showing you how to put these reverse-proxies in front of the integrated Traefik reverse-proxy used by the playbook. diff --git a/examples/reverse-proxies/apache/README.md b/examples/reverse-proxies/apache/README.md index b4608c87c..89b6fde58 100644 --- a/examples/reverse-proxies/apache/README.md +++ b/examples/reverse-proxies/apache/README.md @@ -1,3 +1,11 @@ + + # Apache reverse-proxy This directory contains sample files that show you how to front the integrated [Traefik](https://traefik.io/) reverse-proxy webserver with your Apache reverse-proxy. diff --git a/examples/reverse-proxies/apache/matrix-client-element.conf b/examples/reverse-proxies/apache/matrix-client-element.conf index d4321c2bd..d3f281856 100644 --- a/examples/reverse-proxies/apache/matrix-client-element.conf +++ b/examples/reverse-proxies/apache/matrix-client-element.conf @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2019 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + # This is a sample file demonstrating how to set up reverse-proxy for element.example.com. # If you're not using Element Web (`matrix_client_element_enabled: false`), you won't need this. diff --git a/examples/reverse-proxies/apache/matrix-domain.conf b/examples/reverse-proxies/apache/matrix-domain.conf index 18aaabd25..cce7723b0 100644 --- a/examples/reverse-proxies/apache/matrix-domain.conf +++ b/examples/reverse-proxies/apache/matrix-domain.conf @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2024 MDAD project contributors +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + # This is a sample file demonstrating how to set up reverse-proxy for matrix.example.com diff --git a/examples/reverse-proxies/caddy2-in-container/Caddyfile b/examples/reverse-proxies/caddy2-in-container/Caddyfile index 0a3d1df07..d5611c06d 100644 --- a/examples/reverse-proxies/caddy2-in-container/Caddyfile +++ b/examples/reverse-proxies/caddy2-in-container/Caddyfile @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2024 MDAD project contributors +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + matrix.example.com { handle { diff --git a/examples/reverse-proxies/caddy2-in-container/README.md b/examples/reverse-proxies/caddy2-in-container/README.md index 3a87bf234..cef786aed 100644 --- a/examples/reverse-proxies/caddy2-in-container/README.md +++ b/examples/reverse-proxies/caddy2-in-container/README.md @@ -1,3 +1,10 @@ + + # Caddy reverse-proxy fronting the playbook's integrated Traefik reverse-proxy 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. diff --git a/examples/reverse-proxies/caddy2-in-container/docker-compose.yaml b/examples/reverse-proxies/caddy2-in-container/docker-compose.yaml index 49671e7ac..c6b1889c7 100644 --- a/examples/reverse-proxies/caddy2-in-container/docker-compose.yaml +++ b/examples/reverse-proxies/caddy2-in-container/docker-compose.yaml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2024 MDAD project contributors +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- version: "3.9" diff --git a/examples/reverse-proxies/caddy2/Caddyfile b/examples/reverse-proxies/caddy2/Caddyfile index c63b794ca..bf0a2b425 100644 --- a/examples/reverse-proxies/caddy2/Caddyfile +++ b/examples/reverse-proxies/caddy2/Caddyfile @@ -1,3 +1,12 @@ +# SPDX-FileCopyrightText: 2020 - 2023 MDAD project contributors +# SPDX-FileCopyrightText: 2020 Olaf Schoenwald +# SPDX-FileCopyrightText: 2020 Panagiotis Vasilopoulos +# SPDX-FileCopyrightText: 2021 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 François Darveau +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + matrix.example.com { handle { diff --git a/examples/reverse-proxies/caddy2/README.md b/examples/reverse-proxies/caddy2/README.md index dcc1538af..0da1fe3e4 100644 --- a/examples/reverse-proxies/caddy2/README.md +++ b/examples/reverse-proxies/caddy2/README.md @@ -1,3 +1,13 @@ + + # Caddy reverse-proxy fronting the playbook's integrated Traefik reverse-proxy This directory contains a sample config that shows you how to front the integrated [Traefik](https://traefik.io/) reverse-proxy webserver with your own [Caddy](https://caddyserver.com/) reverse-proxy. diff --git a/examples/reverse-proxies/haproxy/README.md b/examples/reverse-proxies/haproxy/README.md index 086e49aa5..b2b389536 100644 --- a/examples/reverse-proxies/haproxy/README.md +++ b/examples/reverse-proxies/haproxy/README.md @@ -1,3 +1,11 @@ + + # HAproxy reverse-proxy This directory contains sample files that show you how to do reverse-proxying using HAproxy. diff --git a/examples/reverse-proxies/haproxy/haproxy.cfg b/examples/reverse-proxies/haproxy/haproxy.cfg index 57c562bdd..633922065 100644 --- a/examples/reverse-proxies/haproxy/haproxy.cfg +++ b/examples/reverse-proxies/haproxy/haproxy.cfg @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2019 MDAD project contributors +# SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + global log /dev/log local0 log /dev/log local1 notice diff --git a/examples/reverse-proxies/nginx-proxy-manager/README.md b/examples/reverse-proxies/nginx-proxy-manager/README.md index e90289e9c..dad498435 100644 --- a/examples/reverse-proxies/nginx-proxy-manager/README.md +++ b/examples/reverse-proxies/nginx-proxy-manager/README.md @@ -1,3 +1,12 @@ + + # Nginx Proxy Manager fronting the playbook's integrated Traefik reverse-proxy Similar to standard nginx, [Nginx Proxy Manager](https://nginxproxymanager.com/) provides nginx capabilities but inside a pre-built Docker container. With the ability for managing proxy hosts and automatic SSL certificates via a simple web interface. diff --git a/examples/reverse-proxies/nginx/README.md b/examples/reverse-proxies/nginx/README.md index 1fe76340d..9ca86c86a 100644 --- a/examples/reverse-proxies/nginx/README.md +++ b/examples/reverse-proxies/nginx/README.md @@ -1,3 +1,13 @@ + + # Nginx reverse-proxy fronting the playbook's integrated Traefik reverse-proxy This directory contains a sample config that shows you how to use the [nginx](https://nginx.org/) webserver to front the integrated [Traefik](https://traefik.io/) reverse-proxy webserver with another reverse-proxy. diff --git a/examples/reverse-proxies/nginx/matrix.conf b/examples/reverse-proxies/nginx/matrix.conf index 7d2459543..8e6c89711 100644 --- a/examples/reverse-proxies/nginx/matrix.conf +++ b/examples/reverse-proxies/nginx/matrix.conf @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2023 - 2024 Jost Alemann +# SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + server { # TODO: once per IP and port you should add `reuseport`, if you don't have that in any other nginx config file, add it here by uncommenting the lines below and commenting the one after with `quic` but without `reuseport` #listen 443 quic reuseport; From cd5cd60e8ccea70ff2bb48cce6c9dac98113196e Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 2 Mar 2025 01:23:31 +0900 Subject: [PATCH 610/841] Update REUSE.toml: add files which cannot be copyrighted Signed-off-by: Suguru Hirahara --- REUSE.toml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/REUSE.toml b/REUSE.toml index 849d77627..574d76a82 100644 --- a/REUSE.toml +++ b/REUSE.toml @@ -8,9 +8,18 @@ version = 1 [[annotations]] path = [ ".github/renovate.json", + "collections/requirements.yml", "i18n/.gitignore", "i18n/requirements.txt", - "i18n/PUBLISHED_LANGUAGES" + "i18n/PUBLISHED_LANGUAGES", + ".editorconfig", + ".envrc", + ".gitattributes", + ".gitignore", + ".yamllint", + "flake.lock", + "flake.nix", + "requirements.yml" ] SPDX-FileCopyrightText = "NONE" SPDX-License-Identifier = "CC0-1.0" From da30db76d641df8a3a0291dfdb210808024522e6 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 2 Mar 2025 14:16:44 +0900 Subject: [PATCH 611/841] Update docs: remove abbreviations for Matrix User Verification Service from the tables As there are not other instances where an abbreviation is written along with the service's full name, it is sensible to remove them from there. Signed-off-by: Suguru Hirahara --- README.md | 2 +- docs/container-images.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index f91e24b3b..ca51c76ac 100644 --- a/README.md +++ b/README.md @@ -92,7 +92,7 @@ Extend and modify how users are authenticated on your homeserver. | [matrix-synapse-ldap3](https://github.com/matrix-org/matrix-synapse-ldap3) (advanced) | ❌ | LDAP Auth password provider module | [Link](docs/configuring-playbook-ldap-auth.md) | | [matrix-ldap-registration-proxy](https://gitlab.com/activism.international/matrix_ldap_registration_proxy) (advanced) | ❌ | Proxy that handles Matrix registration requests and forwards them to LDAP | [Link](docs/configuring-playbook-matrix-ldap-registration-proxy.md) | | [matrix-registration](https://github.com/ZerataX/matrix-registration) | ❌ | Simple python application to have a token based Matrix registration | [Link](docs/configuring-playbook-matrix-registration.md) | -| [Matrix User Verification Service](https://github.com/matrix-org/matrix-user-verification-service) (UVS) | ❌ | Service to verify details of a user based on an Open ID token | [Link](docs/configuring-playbook-user-verification-service.md) | +| [Matrix User Verification Service](https://github.com/matrix-org/matrix-user-verification-service) | ❌ | Service to verify details of a user based on an Open ID token | [Link](docs/configuring-playbook-user-verification-service.md) | | [synapse-simple-antispam](https://github.com/t2bot/synapse-simple-antispam) (advanced) | ❌ | Spam checker module | [Link](docs/configuring-playbook-synapse-simple-antispam.md) | ### File Storage diff --git a/docs/container-images.md b/docs/container-images.md index d9bb657f9..4212d7674 100644 --- a/docs/container-images.md +++ b/docs/container-images.md @@ -66,7 +66,7 @@ Extend and modify how users are authenticated on your homeserver. | [matrix-synapse-ldap3](configuring-playbook-ldap-auth.md) (advanced) | (N/A) | ❌ | LDAP Auth password provider module | | [matrix-ldap-registration-proxy](configuring-playbook-matrix-ldap-registration-proxy.md) | [activism.international/matrix_ldap_registration_proxy](https://gitlab.com/activism.international/matrix_ldap_registration_proxy/container_registry) | ❌ | Proxy that handles Matrix registration requests and forwards them to LDAP | | [matrix-registration](configuring-playbook-matrix-registration.md) | [zeratax/matrix-registration](https://hub.docker.com/r/devture/zeratax-matrix-registration/) | ❌ | Simple python application to have a token based Matrix registration | -| [Matrix User Verification Service](configuring-playbook-user-verification-service.md) (UVS) | [matrixdotorg/matrix-user-verification-service](https://hub.docker.com/r/atrixdotorg/matrix-user-verification-service) | ❌ | Service to verify details of a user based on an Open ID token | +| [Matrix User Verification Service](configuring-playbook-user-verification-service.md) | [matrixdotorg/matrix-user-verification-service](https://hub.docker.com/r/atrixdotorg/matrix-user-verification-service) | ❌ | Service to verify details of a user based on an Open ID token | | [synapse-simple-antispam](configuring-playbook-synapse-simple-antispam.md) (advanced) | (N/A) | ❌ | Spam checker module | ## File Storage From 67b106c7c2213459a7cd05fa223a1e90d1d9d270 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 2 Mar 2025 14:20:45 +0900 Subject: [PATCH 612/841] Add mautrix-bluesky to a table on docs/container-images.md Signed-off-by: Suguru Hirahara --- docs/container-images.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/container-images.md b/docs/container-images.md index 4212d7674..844cce810 100644 --- a/docs/container-images.md +++ b/docs/container-images.md @@ -85,6 +85,7 @@ Bridges can be used to connect your Matrix installation with third-party communi | Service | Container image | Default? | Description | | ------- | --------------- | -------- | ----------- | +| [mautrix-bluesky](configuring-playbook-bridge-mautrix-bluesky.md) | [mautrix/bluesky](https://mau.dev/mautrix/bluesky/container_registry) | ❌ | Bridge to [Bluesky](https://bsky.social/about) | | [mautrix-discord](configuring-playbook-bridge-mautrix-discord.md) | [mautrix/discord](https://mau.dev/mautrix/discord/container_registry) | ❌ | Bridge to [Discord](https://discord.com/) | | [mautrix-slack](configuring-playbook-bridge-mautrix-slack.md) | [mautrix/slack](https://mau.dev/mautrix/slack/container_registry) | ❌ | Bridge to [Slack](https://slack.com/) | | [mautrix-telegram](configuring-playbook-bridge-mautrix-telegram.md) | [mautrix/telegram](https://mau.dev/mautrix/telegram/container_registry) | ❌ | Bridge to [Telegram](https://telegram.org/) | From 27c3be55b074992a27bf7f25bca17cc9166a202b Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 3 Mar 2025 00:17:08 +0900 Subject: [PATCH 613/841] Add license information to files for matrix-synapse-admin Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-synapse-admin.md | 12 ++++++++++++ roles/custom/matrix-synapse-admin/defaults/main.yml | 11 +++++++++++ roles/custom/matrix-synapse-admin/tasks/main.yml | 5 +++++ .../matrix-synapse-admin/tasks/setup_install.yml | 11 +++++++++++ .../matrix-synapse-admin/tasks/setup_uninstall.yml | 4 ++++ .../matrix-synapse-admin/tasks/validate_config.yml | 5 +++++ .../custom/matrix-synapse-admin/templates/labels.j2 | 7 +++++++ .../systemd/matrix-synapse-admin.service.j2.license | 4 ++++ 8 files changed, 59 insertions(+) create mode 100644 roles/custom/matrix-synapse-admin/templates/systemd/matrix-synapse-admin.service.j2.license diff --git a/docs/configuring-playbook-synapse-admin.md b/docs/configuring-playbook-synapse-admin.md index bd07a8bb9..4c992e09b 100644 --- a/docs/configuring-playbook-synapse-admin.md +++ b/docs/configuring-playbook-synapse-admin.md @@ -1,3 +1,15 @@ + + # Setting up Synapse Admin (optional) The playbook can install and configure [etkecc/synapse-admin](https://github.com/etkecc/synapse-admin) (a [feature-rich](https://github.com/etkecc/synapse-admin#fork-differences) fork of [Awesome-Technologies/synapse-admin](https://github.com/Awesome-Technologies/synapse-admin), community room: [#synapse-admin:etke.cc](https://matrix.to/#/#synapse-admin:etke.cc)) for you. diff --git a/roles/custom/matrix-synapse-admin/defaults/main.yml b/roles/custom/matrix-synapse-admin/defaults/main.yml index 09e13dd9e..4a3028839 100644 --- a/roles/custom/matrix-synapse-admin/defaults/main.yml +++ b/roles/custom/matrix-synapse-admin/defaults/main.yml @@ -1,3 +1,14 @@ +# SPDX-FileCopyrightText: 2020 - 2021 Aaron Raimist +# SPDX-FileCopyrightText: 2020 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2020 Dennis Ciba +# SPDX-FileCopyrightText: 2021 - 2025 MDAD project contributors +# SPDX-FileCopyrightText: 2021 Ahmad Haghighi +# SPDX-FileCopyrightText: 2022 - 2025 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # matrix-synapse-admin is a web UI for managing the Synapse Matrix server # Project source code URL: https://github.com/Awesome-Technologies/synapse-admin diff --git a/roles/custom/matrix-synapse-admin/tasks/main.yml b/roles/custom/matrix-synapse-admin/tasks/main.yml index da3f2b56d..c66e9998e 100644 --- a/roles/custom/matrix-synapse-admin/tasks/main.yml +++ b/roles/custom/matrix-synapse-admin/tasks/main.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-synapse-admin/tasks/setup_install.yml b/roles/custom/matrix-synapse-admin/tasks/setup_install.yml index 2dcdd0cfb..1c3fb8673 100644 --- a/roles/custom/matrix-synapse-admin/tasks/setup_install.yml +++ b/roles/custom/matrix-synapse-admin/tasks/setup_install.yml @@ -1,3 +1,14 @@ +# SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2020 Dennis Ciba +# SPDX-FileCopyrightText: 2021 Aaron Raimist +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2024 David Mehren +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure matrix-synapse-admin paths exists diff --git a/roles/custom/matrix-synapse-admin/tasks/setup_uninstall.yml b/roles/custom/matrix-synapse-admin/tasks/setup_uninstall.yml index 69820a005..5436bc82b 100644 --- a/roles/custom/matrix-synapse-admin/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-synapse-admin/tasks/setup_uninstall.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2022 - 2023 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-synapse-admin service diff --git a/roles/custom/matrix-synapse-admin/tasks/validate_config.yml b/roles/custom/matrix-synapse-admin/tasks/validate_config.yml index 1b9856d51..ceb7ddec2 100644 --- a/roles/custom/matrix-synapse-admin/tasks/validate_config.yml +++ b/roles/custom/matrix-synapse-admin/tasks/validate_config.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2020 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: (Deprecation) Catch and report renamed matrix-synapse-admin settings diff --git a/roles/custom/matrix-synapse-admin/templates/labels.j2 b/roles/custom/matrix-synapse-admin/templates/labels.j2 index eeb29756e..bab69cec3 100644 --- a/roles/custom/matrix-synapse-admin/templates/labels.j2 +++ b/roles/custom/matrix-synapse-admin/templates/labels.j2 @@ -1,3 +1,10 @@ +{# +SPDX-FileCopyrightText: 2023 - 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2025 MDAD project contributors + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + {% if matrix_synapse_admin_container_labels_traefik_enabled %} traefik.enable=true diff --git a/roles/custom/matrix-synapse-admin/templates/systemd/matrix-synapse-admin.service.j2.license b/roles/custom/matrix-synapse-admin/templates/systemd/matrix-synapse-admin.service.j2.license new file mode 100644 index 000000000..9b305e18b --- /dev/null +++ b/roles/custom/matrix-synapse-admin/templates/systemd/matrix-synapse-admin.service.j2.license @@ -0,0 +1,4 @@ +SPDX-FileCopyrightText: 2020 - 2025 Slavi Pantaleev +SPDX-FileCopyrightText: 2020 Dan Arnfield + +SPDX-License-Identifier: AGPL-3.0-or-later From a039174f968e68d083583743b069f8f410d28d4c Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 3 Mar 2025 00:17:47 +0900 Subject: [PATCH 614/841] Add license information to files for matrix-synapse-auto-compressor Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-synapse-auto-compressor.md | 8 ++++++++ .../matrix-synapse-auto-compressor/defaults/main.yml | 7 +++++++ .../matrix-synapse-auto-compressor/tasks/install.yml | 6 ++++++ .../custom/matrix-synapse-auto-compressor/tasks/main.yml | 5 +++++ .../matrix-synapse-auto-compressor/tasks/uninstall.yml | 4 ++++ .../tasks/validate_config.yml | 5 +++++ .../matrix-synapse-auto-compressor/templates/env.j2 | 7 +++++++ .../matrix-synapse-auto-compressor-fix.sh.j2.license | 3 +++ .../matrix-synapse-auto-compressor.service.j2.license | 4 ++++ .../templates/matrix-synapse-auto-compressor.timer.j2 | 7 +++++++ 10 files changed, 56 insertions(+) create mode 100644 roles/custom/matrix-synapse-auto-compressor/templates/matrix-synapse-auto-compressor-fix.sh.j2.license create mode 100644 roles/custom/matrix-synapse-auto-compressor/templates/matrix-synapse-auto-compressor.service.j2.license diff --git a/docs/configuring-playbook-synapse-auto-compressor.md b/docs/configuring-playbook-synapse-auto-compressor.md index 988be65c3..4934e65a0 100644 --- a/docs/configuring-playbook-synapse-auto-compressor.md +++ b/docs/configuring-playbook-synapse-auto-compressor.md @@ -1,3 +1,11 @@ + + # Setting up synapse-auto-compressor (optional) The playbook can install and configure [synapse_auto_compressor](https://github.com/matrix-org/rust-synapse-compress-state/#automated-tool-synapse_auto_compressor) for you. diff --git a/roles/custom/matrix-synapse-auto-compressor/defaults/main.yml b/roles/custom/matrix-synapse-auto-compressor/defaults/main.yml index f5d02cd17..78a07a9ed 100644 --- a/roles/custom/matrix-synapse-auto-compressor/defaults/main.yml +++ b/roles/custom/matrix-synapse-auto-compressor/defaults/main.yml @@ -1,3 +1,10 @@ +# SPDX-FileCopyrightText: 2023 - 2024 Nikita Chernyi +# SPDX-FileCopyrightText: 2023 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# SPDX-FileCopyrightText: 2025 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # synapse_auto_compressor tool diff --git a/roles/custom/matrix-synapse-auto-compressor/tasks/install.yml b/roles/custom/matrix-synapse-auto-compressor/tasks/install.yml index 2f51b5a0b..3e69d9f5d 100644 --- a/roles/custom/matrix-synapse-auto-compressor/tasks/install.yml +++ b/roles/custom/matrix-synapse-auto-compressor/tasks/install.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2023 - 2024 Nikita Chernyi +# SPDX-FileCopyrightText: 2023 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2024 David Mehren +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure synapse-auto-compressor paths exist diff --git a/roles/custom/matrix-synapse-auto-compressor/tasks/main.yml b/roles/custom/matrix-synapse-auto-compressor/tasks/main.yml index 5993e4f9b..746896ab3 100644 --- a/roles/custom/matrix-synapse-auto-compressor/tasks/main.yml +++ b/roles/custom/matrix-synapse-auto-compressor/tasks/main.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2023 Nikita Chernyi +# SPDX-FileCopyrightText: 2023 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-synapse-auto-compressor/tasks/uninstall.yml b/roles/custom/matrix-synapse-auto-compressor/tasks/uninstall.yml index 075f3c101..d29e40bc3 100644 --- a/roles/custom/matrix-synapse-auto-compressor/tasks/uninstall.yml +++ b/roles/custom/matrix-synapse-auto-compressor/tasks/uninstall.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2023 Nikita Chernyi +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-synapse-auto-compressor service ansible.builtin.stat: diff --git a/roles/custom/matrix-synapse-auto-compressor/tasks/validate_config.yml b/roles/custom/matrix-synapse-auto-compressor/tasks/validate_config.yml index 9441eea5f..411508c80 100644 --- a/roles/custom/matrix-synapse-auto-compressor/tasks/validate_config.yml +++ b/roles/custom/matrix-synapse-auto-compressor/tasks/validate_config.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2023 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: (Deprecation) Catch and report renamed matrix-synapse-auto-compressor settings ansible.builtin.fail: diff --git a/roles/custom/matrix-synapse-auto-compressor/templates/env.j2 b/roles/custom/matrix-synapse-auto-compressor/templates/env.j2 index 85f18066d..85b0d20cd 100644 --- a/roles/custom/matrix-synapse-auto-compressor/templates/env.j2 +++ b/roles/custom/matrix-synapse-auto-compressor/templates/env.j2 @@ -1,3 +1,10 @@ +{# +SPDX-FileCopyrightText: 2023 Slavi Pantaleev +SPDX-FileCopyrightText: 2024 Nikita Chernyi + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + POSTGRES_LOCATION={{ matrix_synapse_auto_compressor_environment_variable_postgres_location }} # PG-prefixed variables below are for the matrix-synapse-auto-compressor-fix.sh script diff --git a/roles/custom/matrix-synapse-auto-compressor/templates/matrix-synapse-auto-compressor-fix.sh.j2.license b/roles/custom/matrix-synapse-auto-compressor/templates/matrix-synapse-auto-compressor-fix.sh.j2.license new file mode 100644 index 000000000..b1840694f --- /dev/null +++ b/roles/custom/matrix-synapse-auto-compressor/templates/matrix-synapse-auto-compressor-fix.sh.j2.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2024 Nikita Chernyi + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-synapse-auto-compressor/templates/matrix-synapse-auto-compressor.service.j2.license b/roles/custom/matrix-synapse-auto-compressor/templates/matrix-synapse-auto-compressor.service.j2.license new file mode 100644 index 000000000..f86013a08 --- /dev/null +++ b/roles/custom/matrix-synapse-auto-compressor/templates/matrix-synapse-auto-compressor.service.j2.license @@ -0,0 +1,4 @@ +SPDX-FileCopyrightText: 2023 - 2025 Nikita Chernyi +SPDX-FileCopyrightText: 2023 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-synapse-auto-compressor/templates/matrix-synapse-auto-compressor.timer.j2 b/roles/custom/matrix-synapse-auto-compressor/templates/matrix-synapse-auto-compressor.timer.j2 index 82c235c80..1bced0d46 100644 --- a/roles/custom/matrix-synapse-auto-compressor/templates/matrix-synapse-auto-compressor.timer.j2 +++ b/roles/custom/matrix-synapse-auto-compressor/templates/matrix-synapse-auto-compressor.timer.j2 @@ -1,3 +1,10 @@ +{# +SPDX-FileCopyrightText: 2023 Nikita Chernyi +SPDX-FileCopyrightText: 2025 Suguru Hirahara + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + [Unit] Description=Synapse State Auto Compressor Timer From aae64ebde4f85f3dd42e047c1f685689e83ae06f Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 3 Mar 2025 00:18:04 +0900 Subject: [PATCH 615/841] Add license information to files for matrix-synapse-reverse-proxy-companion Signed-off-by: Suguru Hirahara --- .../defaults/main.yml | 10 ++++++++++ .../tasks/main.yml | 4 ++++ .../tasks/setup_install.yml | 5 +++++ .../tasks/setup_uninstall.yml | 4 ++++ .../tasks/validate_config.yml | 4 ++++ .../templates/labels.j2 | 6 ++++++ ...rix-synapse-reverse-proxy-companion.conf.j2.license | 5 +++++ .../templates/nginx/conf.d/nginx-http.conf.j2.license | 3 +++ .../templates/nginx/nginx.conf.j2.license | 4 ++++ ...-synapse-reverse-proxy-companion.service.j2.license | 4 ++++ 10 files changed, 49 insertions(+) create mode 100644 roles/custom/matrix-synapse-reverse-proxy-companion/templates/nginx/conf.d/matrix-synapse-reverse-proxy-companion.conf.j2.license create mode 100644 roles/custom/matrix-synapse-reverse-proxy-companion/templates/nginx/conf.d/nginx-http.conf.j2.license create mode 100644 roles/custom/matrix-synapse-reverse-proxy-companion/templates/nginx/nginx.conf.j2.license create mode 100644 roles/custom/matrix-synapse-reverse-proxy-companion/templates/systemd/matrix-synapse-reverse-proxy-companion.service.j2.license diff --git a/roles/custom/matrix-synapse-reverse-proxy-companion/defaults/main.yml b/roles/custom/matrix-synapse-reverse-proxy-companion/defaults/main.yml index 051684ef9..57b208d84 100644 --- a/roles/custom/matrix-synapse-reverse-proxy-companion/defaults/main.yml +++ b/roles/custom/matrix-synapse-reverse-proxy-companion/defaults/main.yml @@ -1,3 +1,13 @@ +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2023 - 2024 Nikita Chernyi +# SPDX-FileCopyrightText: 2023 Dan Arnfield +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# SPDX-FileCopyrightText: 2024 Charles Wright +# SPDX-FileCopyrightText: 2024 David Mehren +# SPDX-FileCopyrightText: 2024 Michael Hollister +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # matrix-synapse-reverse-proxy-companion is a role which brings up a containerized nginx webserver which helps with reverse-proxying to Synapse when workers are enabled. diff --git a/roles/custom/matrix-synapse-reverse-proxy-companion/tasks/main.yml b/roles/custom/matrix-synapse-reverse-proxy-companion/tasks/main.yml index e4149cbb3..bd8c3f680 100644 --- a/roles/custom/matrix-synapse-reverse-proxy-companion/tasks/main.yml +++ b/roles/custom/matrix-synapse-reverse-proxy-companion/tasks/main.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-synapse-reverse-proxy-companion/tasks/setup_install.yml b/roles/custom/matrix-synapse-reverse-proxy-companion/tasks/setup_install.yml index edfa7c212..34ab589d8 100644 --- a/roles/custom/matrix-synapse-reverse-proxy-companion/tasks/setup_install.yml +++ b/roles/custom/matrix-synapse-reverse-proxy-companion/tasks/setup_install.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2024 David Mehren +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure matrix-synapse-reverse-proxy-companion paths exist diff --git a/roles/custom/matrix-synapse-reverse-proxy-companion/tasks/setup_uninstall.yml b/roles/custom/matrix-synapse-reverse-proxy-companion/tasks/setup_uninstall.yml index 7b820b35b..ff0686345 100644 --- a/roles/custom/matrix-synapse-reverse-proxy-companion/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-synapse-reverse-proxy-companion/tasks/setup_uninstall.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2022 - 2023 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-synapse-reverse-proxy-companion service diff --git a/roles/custom/matrix-synapse-reverse-proxy-companion/tasks/validate_config.yml b/roles/custom/matrix-synapse-reverse-proxy-companion/tasks/validate_config.yml index 4da323182..7a8ef3e29 100644 --- a/roles/custom/matrix-synapse-reverse-proxy-companion/tasks/validate_config.yml +++ b/roles/custom/matrix-synapse-reverse-proxy-companion/tasks/validate_config.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required matrix-synapse-reverse-proxy-companion settings not defined diff --git a/roles/custom/matrix-synapse-reverse-proxy-companion/templates/labels.j2 b/roles/custom/matrix-synapse-reverse-proxy-companion/templates/labels.j2 index 5120b10e8..8b8945d2e 100644 --- a/roles/custom/matrix-synapse-reverse-proxy-companion/templates/labels.j2 +++ b/roles/custom/matrix-synapse-reverse-proxy-companion/templates/labels.j2 @@ -1,3 +1,9 @@ +{# +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + {% if matrix_synapse_reverse_proxy_companion_container_labels_traefik_enabled %} traefik.enable=true diff --git a/roles/custom/matrix-synapse-reverse-proxy-companion/templates/nginx/conf.d/matrix-synapse-reverse-proxy-companion.conf.j2.license b/roles/custom/matrix-synapse-reverse-proxy-companion/templates/nginx/conf.d/matrix-synapse-reverse-proxy-companion.conf.j2.license new file mode 100644 index 000000000..2124bb25d --- /dev/null +++ b/roles/custom/matrix-synapse-reverse-proxy-companion/templates/nginx/conf.d/matrix-synapse-reverse-proxy-companion.conf.j2.license @@ -0,0 +1,5 @@ +SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev +SPDX-FileCopyrightText: 2024 Charles Wright +SPDX-FileCopyrightText: 2024 Suguru Hirahara + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-synapse-reverse-proxy-companion/templates/nginx/conf.d/nginx-http.conf.j2.license b/roles/custom/matrix-synapse-reverse-proxy-companion/templates/nginx/conf.d/nginx-http.conf.j2.license new file mode 100644 index 000000000..7b1e56adc --- /dev/null +++ b/roles/custom/matrix-synapse-reverse-proxy-companion/templates/nginx/conf.d/nginx-http.conf.j2.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2022 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-synapse-reverse-proxy-companion/templates/nginx/nginx.conf.j2.license b/roles/custom/matrix-synapse-reverse-proxy-companion/templates/nginx/nginx.conf.j2.license new file mode 100644 index 000000000..7f7a5e8fa --- /dev/null +++ b/roles/custom/matrix-synapse-reverse-proxy-companion/templates/nginx/nginx.conf.j2.license @@ -0,0 +1,4 @@ +SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2022 MDAD project contributors + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-synapse-reverse-proxy-companion/templates/systemd/matrix-synapse-reverse-proxy-companion.service.j2.license b/roles/custom/matrix-synapse-reverse-proxy-companion/templates/systemd/matrix-synapse-reverse-proxy-companion.service.j2.license new file mode 100644 index 000000000..c3e289cc7 --- /dev/null +++ b/roles/custom/matrix-synapse-reverse-proxy-companion/templates/systemd/matrix-synapse-reverse-proxy-companion.service.j2.license @@ -0,0 +1,4 @@ +SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2024 Michael Hollister + +SPDX-License-Identifier: AGPL-3.0-or-later From 2f2e551798653476873edada9fc703adff6bde5d Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 3 Mar 2025 00:18:26 +0900 Subject: [PATCH 616/841] Add license information to files for matrix-synapse-usage-exporter Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-synapse-usage-exporter.md | 8 ++++++++ .../matrix-synapse-usage-exporter/defaults/main.yml | 6 ++++++ roles/custom/matrix-synapse-usage-exporter/tasks/main.yml | 5 +++++ .../matrix-synapse-usage-exporter/tasks/setup_install.yml | 5 +++++ .../tasks/setup_uninstall.yml | 4 ++++ .../tasks/validate_config.yml | 4 ++++ .../custom/matrix-synapse-usage-exporter/templates/env.j2 | 6 ++++++ .../templates/grafana/synapse-usage-exporter.json.license | 3 +++ .../matrix-synapse-usage-exporter/templates/labels.j2 | 6 ++++++ .../matrix-synapse-usage-exporter.service.j2.license | 4 ++++ 10 files changed, 51 insertions(+) create mode 100644 roles/custom/matrix-synapse-usage-exporter/templates/grafana/synapse-usage-exporter.json.license create mode 100644 roles/custom/matrix-synapse-usage-exporter/templates/systemd/matrix-synapse-usage-exporter.service.j2.license diff --git a/docs/configuring-playbook-synapse-usage-exporter.md b/docs/configuring-playbook-synapse-usage-exporter.md index 6c3e9629d..cb66cdffe 100644 --- a/docs/configuring-playbook-synapse-usage-exporter.md +++ b/docs/configuring-playbook-synapse-usage-exporter.md @@ -1,3 +1,11 @@ + + # Enabling synapse-usage-exporter for Synapse usage statistics (optional) The playbook can install and configure [synapse-usage-exporter](https://github.com/loelkes/synapse-usage-exporter) for you. diff --git a/roles/custom/matrix-synapse-usage-exporter/defaults/main.yml b/roles/custom/matrix-synapse-usage-exporter/defaults/main.yml index 25768f0e2..b4256d3bc 100644 --- a/roles/custom/matrix-synapse-usage-exporter/defaults/main.yml +++ b/roles/custom/matrix-synapse-usage-exporter/defaults/main.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2024 Michael Hollister +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # Synapse Usage Exporter diff --git a/roles/custom/matrix-synapse-usage-exporter/tasks/main.yml b/roles/custom/matrix-synapse-usage-exporter/tasks/main.yml index 22b9df8c4..892dfac01 100644 --- a/roles/custom/matrix-synapse-usage-exporter/tasks/main.yml +++ b/roles/custom/matrix-synapse-usage-exporter/tasks/main.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2024 Michael Hollister +# SPDX-FileCopyrightText: 2025 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-synapse-usage-exporter/tasks/setup_install.yml b/roles/custom/matrix-synapse-usage-exporter/tasks/setup_install.yml index 72cdbd37c..591e377e3 100644 --- a/roles/custom/matrix-synapse-usage-exporter/tasks/setup_install.yml +++ b/roles/custom/matrix-synapse-usage-exporter/tasks/setup_install.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2024 David Mehren +# SPDX-FileCopyrightText: 2024 Michael Hollister +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure synapse-usage-exporter paths exist diff --git a/roles/custom/matrix-synapse-usage-exporter/tasks/setup_uninstall.yml b/roles/custom/matrix-synapse-usage-exporter/tasks/setup_uninstall.yml index 1b1492bb4..bf085df0e 100644 --- a/roles/custom/matrix-synapse-usage-exporter/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-synapse-usage-exporter/tasks/setup_uninstall.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2024 Michael Hollister +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of synapse-usage-exporter service diff --git a/roles/custom/matrix-synapse-usage-exporter/tasks/validate_config.yml b/roles/custom/matrix-synapse-usage-exporter/tasks/validate_config.yml index 5609ad241..3274e595a 100644 --- a/roles/custom/matrix-synapse-usage-exporter/tasks/validate_config.yml +++ b/roles/custom/matrix-synapse-usage-exporter/tasks/validate_config.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2025 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: (Deprecation) Catch and report renamed matrix-synapse-usage-exporter settings diff --git a/roles/custom/matrix-synapse-usage-exporter/templates/env.j2 b/roles/custom/matrix-synapse-usage-exporter/templates/env.j2 index e3f1e814d..0420d358a 100644 --- a/roles/custom/matrix-synapse-usage-exporter/templates/env.j2 +++ b/roles/custom/matrix-synapse-usage-exporter/templates/env.j2 @@ -1,3 +1,9 @@ +{# +SPDX-FileCopyrightText: 2024 Michael Hollister + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + PROMETHEUS_MULTIPROC_DIR=/tmp/prometheus WERKZEUG_LOG_LEVEL=INFO APP_LOG_LEVEL=INFO diff --git a/roles/custom/matrix-synapse-usage-exporter/templates/grafana/synapse-usage-exporter.json.license b/roles/custom/matrix-synapse-usage-exporter/templates/grafana/synapse-usage-exporter.json.license new file mode 100644 index 000000000..2265e3041 --- /dev/null +++ b/roles/custom/matrix-synapse-usage-exporter/templates/grafana/synapse-usage-exporter.json.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2024 Michael Hollister + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-synapse-usage-exporter/templates/labels.j2 b/roles/custom/matrix-synapse-usage-exporter/templates/labels.j2 index 7811c3372..50c3ca82f 100755 --- a/roles/custom/matrix-synapse-usage-exporter/templates/labels.j2 +++ b/roles/custom/matrix-synapse-usage-exporter/templates/labels.j2 @@ -1,3 +1,9 @@ +{# +SPDX-FileCopyrightText: 2024 Michael Hollister + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + {% if matrix_synapse_usage_exporter_container_labels_traefik_enabled %} traefik.enable=true diff --git a/roles/custom/matrix-synapse-usage-exporter/templates/systemd/matrix-synapse-usage-exporter.service.j2.license b/roles/custom/matrix-synapse-usage-exporter/templates/systemd/matrix-synapse-usage-exporter.service.j2.license new file mode 100644 index 000000000..eceecc820 --- /dev/null +++ b/roles/custom/matrix-synapse-usage-exporter/templates/systemd/matrix-synapse-usage-exporter.service.j2.license @@ -0,0 +1,4 @@ +SPDX-FileCopyrightText: 2024 Michael Hollister +SPDX-FileCopyrightText: 2025 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later From 621a41cbf7348e63a8ec9050ace4cb32db08ea96 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 3 Mar 2025 00:47:55 +0900 Subject: [PATCH 617/841] Update docs/configuring-playbook-synapse-auto-accept-invite.md: add the copyright header Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-synapse-auto-accept-invite.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/configuring-playbook-synapse-auto-accept-invite.md b/docs/configuring-playbook-synapse-auto-accept-invite.md index 52c1c46ae..f6f80120a 100644 --- a/docs/configuring-playbook-synapse-auto-accept-invite.md +++ b/docs/configuring-playbook-synapse-auto-accept-invite.md @@ -1,3 +1,11 @@ + + # Setting up Synapse Auto Invite Accept (optional) The playbook can install and configure [synapse-auto-invite-accept](https://github.com/matrix-org/synapse-auto-accept-invite) for you. From 2c28a8c9bf1ddde9be4d89a5d875bea0990bc1cc Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 3 Mar 2025 00:48:07 +0900 Subject: [PATCH 618/841] Update docs/configuring-playbook-synapse-s3-storage-provider.md: add the copyright header Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-synapse-s3-storage-provider.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/configuring-playbook-synapse-s3-storage-provider.md b/docs/configuring-playbook-synapse-s3-storage-provider.md index efe3a5a82..eccd58c02 100644 --- a/docs/configuring-playbook-synapse-s3-storage-provider.md +++ b/docs/configuring-playbook-synapse-s3-storage-provider.md @@ -1,3 +1,12 @@ + + # Storing Synapse media files on Amazon S3 with synapse-s3-storage-provider (optional) If you'd like to store Synapse's content repository (`media_store`) files on Amazon S3 (or other S3-compatible service), you can use the [synapse-s3-storage-provider](https://github.com/matrix-org/synapse-s3-storage-provider) media provider module for Synapse. From e89a4708e7d1d898e1104cbe406951d7e93f98e1 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 3 Mar 2025 00:48:16 +0900 Subject: [PATCH 619/841] Update docs/configuring-playbook-synapse-simple-antispam.md: add the copyright header Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-synapse-simple-antispam.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/configuring-playbook-synapse-simple-antispam.md b/docs/configuring-playbook-synapse-simple-antispam.md index 069b26d2f..35b106a60 100644 --- a/docs/configuring-playbook-synapse-simple-antispam.md +++ b/docs/configuring-playbook-synapse-simple-antispam.md @@ -1,3 +1,10 @@ + + # Setting up Synapse Simple Antispam (optional, advanced) The playbook can install and configure [synapse-simple-antispam](https://github.com/t2bot/synapse-simple-antispam) for you. From 06cafa6908a79ddd5366b0a85e21a65dad67425d Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 3 Mar 2025 12:13:29 +0900 Subject: [PATCH 620/841] Add license information to files for matrix-prometheus-services-connect Signed-off-by: Suguru Hirahara --- .../matrix-prometheus-services-connect/defaults/main.yml | 5 +++++ .../tasks/install_synapse_rules.yml | 4 ++++ .../custom/matrix-prometheus-services-connect/tasks/main.yml | 4 ++++ 3 files changed, 13 insertions(+) diff --git a/roles/custom/matrix-prometheus-services-connect/defaults/main.yml b/roles/custom/matrix-prometheus-services-connect/defaults/main.yml index f9d12e7f4..ccbaefdb8 100644 --- a/roles/custom/matrix-prometheus-services-connect/defaults/main.yml +++ b/roles/custom/matrix-prometheus-services-connect/defaults/main.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2023 - 2024 Michael Hollister +# SPDX-FileCopyrightText: 2023 - 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # matrix-prometheus-services-connect is a role which helps integrate diff --git a/roles/custom/matrix-prometheus-services-connect/tasks/install_synapse_rules.yml b/roles/custom/matrix-prometheus-services-connect/tasks/install_synapse_rules.yml index 78b218aca..76b2d9453 100644 --- a/roles/custom/matrix-prometheus-services-connect/tasks/install_synapse_rules.yml +++ b/roles/custom/matrix-prometheus-services-connect/tasks/install_synapse_rules.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2023 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Download synapse-v2.rules diff --git a/roles/custom/matrix-prometheus-services-connect/tasks/main.yml b/roles/custom/matrix-prometheus-services-connect/tasks/main.yml index f2c22b7f4..ef698e41e 100644 --- a/roles/custom/matrix-prometheus-services-connect/tasks/main.yml +++ b/roles/custom/matrix-prometheus-services-connect/tasks/main.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2023 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: From 1af310864c9a1af660106e38d507587e0378429f Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 3 Mar 2025 12:14:03 +0900 Subject: [PATCH 621/841] Add license information to files in matrix_playbook_migration/ Signed-off-by: Suguru Hirahara --- roles/custom/matrix_playbook_migration/defaults/main.yml | 5 +++++ .../tasks/cleanup_matrix_static_files_well_known.yml | 4 ++++ .../tasks/cleanup_usr_local_bin.yml | 6 ++++++ .../tasks/debian_docker_signedby_migration.yml | 4 ++++ .../debian_docker_trusted_gpg_d_migration_migration.yml | 4 ++++ .../tasks/devture_traefik_to_matrix_traefik.yml | 4 ++++ roles/custom/matrix_playbook_migration/tasks/main.yml | 4 ++++ .../tasks/migrate_matrix_mailer.yml | 4 ++++ .../tasks/uninstall_matrix_nginx_proxy.yml | 4 ++++ .../tasks/uninstall_matrix_ssl.yml | 5 +++++ .../matrix_playbook_migration/tasks/validate_config.yml | 6 ++++++ 11 files changed, 50 insertions(+) diff --git a/roles/custom/matrix_playbook_migration/defaults/main.yml b/roles/custom/matrix_playbook_migration/defaults/main.yml index 43628f1fb..2cac16e45 100644 --- a/roles/custom/matrix_playbook_migration/defaults/main.yml +++ b/roles/custom/matrix_playbook_migration/defaults/main.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2023 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # Controls if (`matrix_prometheus_node_exporter` -> `prometheus_node_exporter`) validation will run. diff --git a/roles/custom/matrix_playbook_migration/tasks/cleanup_matrix_static_files_well_known.yml b/roles/custom/matrix_playbook_migration/tasks/cleanup_matrix_static_files_well_known.yml index 9e95826bd..7912d7eb4 100644 --- a/roles/custom/matrix_playbook_migration/tasks/cleanup_matrix_static_files_well_known.yml +++ b/roles/custom/matrix_playbook_migration/tasks/cleanup_matrix_static_files_well_known.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # Files used to be installed by the `matrix-base` role into `/matrix/static-files/.well-known/*`. diff --git a/roles/custom/matrix_playbook_migration/tasks/cleanup_usr_local_bin.yml b/roles/custom/matrix_playbook_migration/tasks/cleanup_usr_local_bin.yml index 54e6f4646..f6c561aef 100644 --- a/roles/custom/matrix_playbook_migration/tasks/cleanup_usr_local_bin.yml +++ b/roles/custom/matrix_playbook_migration/tasks/cleanup_usr_local_bin.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2022 Dan Arnfield +# SPDX-FileCopyrightText: 2022 Slavi Pantaleev +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Find leftover Matrix scripts in /usr/local/bin diff --git a/roles/custom/matrix_playbook_migration/tasks/debian_docker_signedby_migration.yml b/roles/custom/matrix_playbook_migration/tasks/debian_docker_signedby_migration.yml index ac1c5cd13..5948ff539 100644 --- a/roles/custom/matrix_playbook_migration/tasks/debian_docker_signedby_migration.yml +++ b/roles/custom/matrix_playbook_migration/tasks/debian_docker_signedby_migration.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2023 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Remove old Docker apt repository, potentially lacking signed-by option diff --git a/roles/custom/matrix_playbook_migration/tasks/debian_docker_trusted_gpg_d_migration_migration.yml b/roles/custom/matrix_playbook_migration/tasks/debian_docker_trusted_gpg_d_migration_migration.yml index 81f396603..fc15a4a85 100644 --- a/roles/custom/matrix_playbook_migration/tasks/debian_docker_trusted_gpg_d_migration_migration.yml +++ b/roles/custom/matrix_playbook_migration/tasks/debian_docker_trusted_gpg_d_migration_migration.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check if the Docker apt repository file exists diff --git a/roles/custom/matrix_playbook_migration/tasks/devture_traefik_to_matrix_traefik.yml b/roles/custom/matrix_playbook_migration/tasks/devture_traefik_to_matrix_traefik.yml index 0b299279f..61b815e61 100644 --- a/roles/custom/matrix_playbook_migration/tasks/devture_traefik_to_matrix_traefik.yml +++ b/roles/custom/matrix_playbook_migration/tasks/devture_traefik_to_matrix_traefik.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2023 - 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # This migrates Traefik from the old path (`/devture-traefik`) to the new path (`/matrix/traefik`, controlled by `traefik_base_path`), diff --git a/roles/custom/matrix_playbook_migration/tasks/main.yml b/roles/custom/matrix_playbook_migration/tasks/main.yml index f72e2b03c..c11dbcb5b 100644 --- a/roles/custom/matrix_playbook_migration/tasks/main.yml +++ b/roles/custom/matrix_playbook_migration/tasks/main.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix_playbook_migration/tasks/migrate_matrix_mailer.yml b/roles/custom/matrix_playbook_migration/tasks/migrate_matrix_mailer.yml index e1785774f..dae519322 100644 --- a/roles/custom/matrix_playbook_migration/tasks/migrate_matrix_mailer.yml +++ b/roles/custom/matrix_playbook_migration/tasks/migrate_matrix_mailer.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # This migrates the mailer from the old path (`/matrix/mailer`) to the new path (`/matrix/exim-relay`, controlled by `exim_relay_base_path`), diff --git a/roles/custom/matrix_playbook_migration/tasks/uninstall_matrix_nginx_proxy.yml b/roles/custom/matrix_playbook_migration/tasks/uninstall_matrix_nginx_proxy.yml index acfacddb0..76f7ac301 100644 --- a/roles/custom/matrix_playbook_migration/tasks/uninstall_matrix_nginx_proxy.yml +++ b/roles/custom/matrix_playbook_migration/tasks/uninstall_matrix_nginx_proxy.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-nginx-proxy service diff --git a/roles/custom/matrix_playbook_migration/tasks/uninstall_matrix_ssl.yml b/roles/custom/matrix_playbook_migration/tasks/uninstall_matrix_ssl.yml index ecfad1591..11b84bb47 100644 --- a/roles/custom/matrix_playbook_migration/tasks/uninstall_matrix_ssl.yml +++ b/roles/custom/matrix_playbook_migration/tasks/uninstall_matrix_ssl.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure Matrix SSL-related files are deleted diff --git a/roles/custom/matrix_playbook_migration/tasks/validate_config.yml b/roles/custom/matrix_playbook_migration/tasks/validate_config.yml index 0043e8dd5..ecb36f762 100644 --- a/roles/custom/matrix_playbook_migration/tasks/validate_config.yml +++ b/roles/custom/matrix_playbook_migration/tasks/validate_config.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2024 - 2025 MDAD project contributors +# SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: (Deprecation) Catch and report renamed Matrix playbook settings From 85c93f85331b185c0c561d591f073fc3d96a364d Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 3 Mar 2025 12:14:23 +0900 Subject: [PATCH 622/841] Add license information to files for matrix-user-verification-service Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-user-verification-service.md | 7 +++++++ .../matrix-user-verification-service/defaults/main.yml | 7 +++++++ .../custom/matrix-user-verification-service/tasks/main.yml | 5 +++++ .../tasks/setup_install.yml | 6 ++++++ .../tasks/setup_uninstall.yml | 5 +++++ .../tasks/validate_config.yml | 5 +++++ .../matrix-user-verification-service/templates/.env.j2 | 7 ++++++- .../matrix-user-verification-service.service.j2.license | 4 ++++ 8 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 roles/custom/matrix-user-verification-service/templates/systemd/matrix-user-verification-service.service.j2.license diff --git a/docs/configuring-playbook-user-verification-service.md b/docs/configuring-playbook-user-verification-service.md index 8e09d61ef..662f8408e 100644 --- a/docs/configuring-playbook-user-verification-service.md +++ b/docs/configuring-playbook-user-verification-service.md @@ -1,3 +1,10 @@ + + # Setting up Matrix User Verification Service (optional) The playbook can install and configure [Matrix User Verification Service](https://github.com/matrix-org/matrix-user-verification-service) (hereafter: UVS) for you. diff --git a/roles/custom/matrix-user-verification-service/defaults/main.yml b/roles/custom/matrix-user-verification-service/defaults/main.yml index abd1655c1..1bc8cf60f 100644 --- a/roles/custom/matrix-user-verification-service/defaults/main.yml +++ b/roles/custom/matrix-user-verification-service/defaults/main.yml @@ -1,3 +1,10 @@ +# SPDX-FileCopyrightText: 2023 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2023 MDAD project contributors +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # matrix-user-verification-service - Service to verify details of a user based on an Open ID token diff --git a/roles/custom/matrix-user-verification-service/tasks/main.yml b/roles/custom/matrix-user-verification-service/tasks/main.yml index 1b65f86a6..7f7f8616e 100644 --- a/roles/custom/matrix-user-verification-service/tasks/main.yml +++ b/roles/custom/matrix-user-verification-service/tasks/main.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2023 MDAD project contributors +# SPDX-FileCopyrightText: 2023 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-user-verification-service/tasks/setup_install.yml b/roles/custom/matrix-user-verification-service/tasks/setup_install.yml index 8fa4b670e..a539168b5 100644 --- a/roles/custom/matrix-user-verification-service/tasks/setup_install.yml +++ b/roles/custom/matrix-user-verification-service/tasks/setup_install.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2023 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2023 MDAD project contributors +# SPDX-FileCopyrightText: 2024 David Mehren +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: "Ensure Matrix User Verification Service paths exist" diff --git a/roles/custom/matrix-user-verification-service/tasks/setup_uninstall.yml b/roles/custom/matrix-user-verification-service/tasks/setup_uninstall.yml index b61f9cdd2..8ce0c0234 100644 --- a/roles/custom/matrix-user-verification-service/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-user-verification-service/tasks/setup_uninstall.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2023 MDAD project contributors +# SPDX-FileCopyrightText: 2023 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-user-verification-service service diff --git a/roles/custom/matrix-user-verification-service/tasks/validate_config.yml b/roles/custom/matrix-user-verification-service/tasks/validate_config.yml index 309557c84..871a8f0e2 100644 --- a/roles/custom/matrix-user-verification-service/tasks/validate_config.yml +++ b/roles/custom/matrix-user-verification-service/tasks/validate_config.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2023 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2023 MDAD project contributors +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Verify homeserver_url is not empty diff --git a/roles/custom/matrix-user-verification-service/templates/.env.j2 b/roles/custom/matrix-user-verification-service/templates/.env.j2 index 359eed2a1..e07870e02 100644 --- a/roles/custom/matrix-user-verification-service/templates/.env.j2 +++ b/roles/custom/matrix-user-verification-service/templates/.env.j2 @@ -1,3 +1,9 @@ +{# +SPDX-FileCopyrightText: 2023 MDAD project contributors + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + UVS_ACCESS_TOKEN={{ matrix_user_verification_service_uvs_access_token }} UVS_HOMESERVER_URL={{ matrix_user_verification_service_uvs_homeserver_url }} UVS_DISABLE_IP_BLACKLIST={{ matrix_user_verification_service_uvs_disable_ip_blacklist }} @@ -8,4 +14,3 @@ UVS_LOG_LEVEL={{ matrix_user_verification_service_uvs_log_level }} {% if matrix_user_verification_service_uvs_pin_openid_verify_server_name | bool %} UVS_OPENID_VERIFY_SERVER_NAME={{ matrix_user_verification_service_uvs_openid_verify_server_name }} {% endif %} - diff --git a/roles/custom/matrix-user-verification-service/templates/systemd/matrix-user-verification-service.service.j2.license b/roles/custom/matrix-user-verification-service/templates/systemd/matrix-user-verification-service.service.j2.license new file mode 100644 index 000000000..68dc46f44 --- /dev/null +++ b/roles/custom/matrix-user-verification-service/templates/systemd/matrix-user-verification-service.service.j2.license @@ -0,0 +1,4 @@ +SPDX-FileCopyrightText: 2023 - 2025 Slavi Pantaleev +SPDX-FileCopyrightText: 2023 MDAD project contributors + +SPDX-License-Identifier: AGPL-3.0-or-later From 92adfb50e7b1ed5d83c37493f895d1cef57ba469 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 3 Mar 2025 12:14:55 +0900 Subject: [PATCH 623/841] Add license information to some files on the top level directory Signed-off-by: Suguru Hirahara --- Makefile | 4 ++++ YEAR-IN-REVIEW.md | 7 +++++++ jitsi_jvb.yml | 7 +++++++ justfile | 6 ++++++ 4 files changed, 24 insertions(+) diff --git a/Makefile b/Makefile index 3379b8fff..9ac77bb07 100644 --- a/Makefile +++ b/Makefile @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2022 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + .PHONY: roles lint help: ## Show this help. diff --git a/YEAR-IN-REVIEW.md b/YEAR-IN-REVIEW.md index bac3d10ac..e66882873 100644 --- a/YEAR-IN-REVIEW.md +++ b/YEAR-IN-REVIEW.md @@ -1,3 +1,10 @@ + + # 2023 2023 was a year filled with many changes for matrix-docker-ansible-deploy. In this post, we're looking backward at some of the major changes that happened this year, as well as taking a glimpse of what's ahead in 2024. diff --git a/jitsi_jvb.yml b/jitsi_jvb.yml index 33786bebe..d57c15a97 100644 --- a/jitsi_jvb.yml +++ b/jitsi_jvb.yml @@ -1,3 +1,10 @@ +# SPDX-FileCopyrightText: 2022 Warren Bailey +# SPDX-FileCopyrightText: 2023 Antonis Christofides +# SPDX-FileCopyrightText: 2023 Slavi Pantaleev +# SPDX-FileCopyrightText: 2025 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: "Set up additional Jitsi Videobridge (JVB) servers" hosts: "jitsi_jvb_servers" diff --git a/justfile b/justfile index ca57d6143..a2bab08f2 100644 --- a/justfile +++ b/justfile @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2023 - 2024 Nikita Chernyi +# SPDX-FileCopyrightText: 2023 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + # Shows help default: @{{ just_executable() }} --list --justfile {{ justfile() }} From 245900e32f1dd4a673cc4530855fc95cc55ad075 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 3 Mar 2025 12:15:39 +0900 Subject: [PATCH 624/841] Update REUSE.toml Signed-off-by: Suguru Hirahara --- REUSE.toml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/REUSE.toml b/REUSE.toml index 574d76a82..0985a21af 100644 --- a/REUSE.toml +++ b/REUSE.toml @@ -12,11 +12,13 @@ path = [ "i18n/.gitignore", "i18n/requirements.txt", "i18n/PUBLISHED_LANGUAGES", + "roles/custom/**/*.repo", ".editorconfig", ".envrc", ".gitattributes", ".gitignore", ".yamllint", + "ansible.cfg", "flake.lock", "flake.nix", "requirements.yml" @@ -31,5 +33,5 @@ path = [ "i18n/**/*.pot" ] precedence = "aggregate" -SPDX-FileCopyrightText = "Slavi Pantaleev, MDAD community members" +SPDX-FileCopyrightText = "2024 - 2025 Slavi Pantaleev, MDAD project contributors" SPDX-License-Identifier = "AGPL-3.0-or-later" From 5ce83312822f77ded936e2a5b9d91c97b1eb318c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 3 Mar 2025 03:28:32 +0000 Subject: [PATCH 625/841] Update dependency Sphinx to v8.2.3 --- i18n/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/requirements.txt b/i18n/requirements.txt index 747c42ffa..894bbe199 100644 --- a/i18n/requirements.txt +++ b/i18n/requirements.txt @@ -19,7 +19,7 @@ PyYAML==6.0.2 requests==2.32.3 setuptools==75.8.2 snowballstemmer==2.2.0 -Sphinx==8.2.1 +Sphinx==8.2.3 sphinx-intl==2.3.1 sphinx-markdown-builder==0.6.8 sphinxcontrib-applehelp==2.0.0 From c6babc12024a419c2b3580d441358f7faf6917ed Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 3 Mar 2025 17:57:17 +0900 Subject: [PATCH 626/841] Add license information to files in matrix-base Signed-off-by: Suguru Hirahara --- roles/custom/matrix-base/defaults/main.yml | 29 +++++++++++++++++++ .../tasks/ensure_fuse_installed.yml | 4 +++ .../tasks/ensure_fuse_installed_archlinux.yml | 4 +++ .../tasks/ensure_fuse_installed_debian.yml | 4 +++ .../tasks/ensure_fuse_installed_redhat.yml | 4 +++ .../tasks/ensure_openssl_installed.yml | 4 +++ roles/custom/matrix-base/tasks/main.yml | 9 ++++++ .../matrix-base/tasks/setup_matrix_base.yml | 12 ++++++++ .../matrix-base/tasks/setup_matrix_user.yml | 5 ++++ .../matrix-base/tasks/validate_config.yml | 10 +++++++ .../templates/bin/remove-all.j2.license | 6 ++++ 11 files changed, 91 insertions(+) create mode 100644 roles/custom/matrix-base/templates/bin/remove-all.j2.license diff --git a/roles/custom/matrix-base/defaults/main.yml b/roles/custom/matrix-base/defaults/main.yml index 6a72154a4..31ccaad86 100644 --- a/roles/custom/matrix-base/defaults/main.yml +++ b/roles/custom/matrix-base/defaults/main.yml @@ -1,3 +1,32 @@ +# SPDX-FileCopyrightText: 2019 - 2021 Aaron Raimist +# SPDX-FileCopyrightText: 2019 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2019 Dan Arnfield +# SPDX-FileCopyrightText: 2019 Edgars Voroboks +# SPDX-FileCopyrightText: 2019 Lyubomir Popov +# SPDX-FileCopyrightText: 2019 Stuart Mumford +# SPDX-FileCopyrightText: 2020 - 2024 MDAD project contributors +# SPDX-FileCopyrightText: 2020 Alin Trăistaru +# SPDX-FileCopyrightText: 2020 Chris van Dijk +# SPDX-FileCopyrightText: 2020 Horvath Gergely +# SPDX-FileCopyrightText: 2020 Tobias Küchel +# SPDX-FileCopyrightText: 2021 Blaž Tomažič +# SPDX-FileCopyrightText: 2021 Krisztian Szegi +# SPDX-FileCopyrightText: 2021 Yannick Goossens +# SPDX-FileCopyrightText: 2021 boris runakov +# SPDX-FileCopyrightText: 2022 - 2025 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 Charles Wright +# SPDX-FileCopyrightText: 2022 Julian Foad +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2023 Benjamin Kampmann +# SPDX-FileCopyrightText: 2023 Jayesh Nirve +# SPDX-FileCopyrightText: 2023 Johan Swetzén +# SPDX-FileCopyrightText: 2023 Pierre 'McFly' Marty +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara +# SPDX-FileCopyrightText: 2024 László Várady +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # The bare domain name which represents your Matrix identity. diff --git a/roles/custom/matrix-base/tasks/ensure_fuse_installed.yml b/roles/custom/matrix-base/tasks/ensure_fuse_installed.yml index 8f768bd13..3a30837cf 100644 --- a/roles/custom/matrix-base/tasks/ensure_fuse_installed.yml +++ b/roles/custom/matrix-base/tasks/ensure_fuse_installed.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2022 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # This is for both RedHat 7 and 8 diff --git a/roles/custom/matrix-base/tasks/ensure_fuse_installed_archlinux.yml b/roles/custom/matrix-base/tasks/ensure_fuse_installed_archlinux.yml index 676543d83..6abff8bf9 100644 --- a/roles/custom/matrix-base/tasks/ensure_fuse_installed_archlinux.yml +++ b/roles/custom/matrix-base/tasks/ensure_fuse_installed_archlinux.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2022 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure fuse installed (Archlinux) diff --git a/roles/custom/matrix-base/tasks/ensure_fuse_installed_debian.yml b/roles/custom/matrix-base/tasks/ensure_fuse_installed_debian.yml index b9491eb49..8f3637dd4 100644 --- a/roles/custom/matrix-base/tasks/ensure_fuse_installed_debian.yml +++ b/roles/custom/matrix-base/tasks/ensure_fuse_installed_debian.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2022 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure fuse installed (Debian/Raspbian) diff --git a/roles/custom/matrix-base/tasks/ensure_fuse_installed_redhat.yml b/roles/custom/matrix-base/tasks/ensure_fuse_installed_redhat.yml index 878fb5682..be2888030 100644 --- a/roles/custom/matrix-base/tasks/ensure_fuse_installed_redhat.yml +++ b/roles/custom/matrix-base/tasks/ensure_fuse_installed_redhat.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2022 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure fuse installed (RedHat) diff --git a/roles/custom/matrix-base/tasks/ensure_openssl_installed.yml b/roles/custom/matrix-base/tasks/ensure_openssl_installed.yml index d0cd8edea..11a25fbc9 100644 --- a/roles/custom/matrix-base/tasks/ensure_openssl_installed.yml +++ b/roles/custom/matrix-base/tasks/ensure_openssl_installed.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2022 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure openssl installed diff --git a/roles/custom/matrix-base/tasks/main.yml b/roles/custom/matrix-base/tasks/main.yml index 7351d1b8a..d6d4d8f26 100644 --- a/roles/custom/matrix-base/tasks/main.yml +++ b/roles/custom/matrix-base/tasks/main.yml @@ -1,3 +1,12 @@ +# SPDX-FileCopyrightText: 2019 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2019 Dan Arnfield +# SPDX-FileCopyrightText: 2020 MDAD project contributors +# SPDX-FileCopyrightText: 2020 Marcel Partap +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Warren Bailey +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-base/tasks/setup_matrix_base.yml b/roles/custom/matrix-base/tasks/setup_matrix_base.yml index 448ac7693..337017a46 100644 --- a/roles/custom/matrix-base/tasks/setup_matrix_base.yml +++ b/roles/custom/matrix-base/tasks/setup_matrix_base.yml @@ -1,3 +1,15 @@ +# SPDX-FileCopyrightText: 2017 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2018 - 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2019 Stuart Mumford +# SPDX-FileCopyrightText: 2020 Béla Becker +# SPDX-FileCopyrightText: 2020 Chris van Dijk +# SPDX-FileCopyrightText: 2020 Horvath Gergely +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara +# SPDX-FileCopyrightText: 2024 László Várady +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure Matrix base paths exists diff --git a/roles/custom/matrix-base/tasks/setup_matrix_user.yml b/roles/custom/matrix-base/tasks/setup_matrix_user.yml index 0c9086e59..146452302 100644 --- a/roles/custom/matrix-base/tasks/setup_matrix_user.yml +++ b/roles/custom/matrix-base/tasks/setup_matrix_user.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2020 - 2022 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure Matrix group is created diff --git a/roles/custom/matrix-base/tasks/validate_config.yml b/roles/custom/matrix-base/tasks/validate_config.yml index 68020a2b3..f1a78f614 100644 --- a/roles/custom/matrix-base/tasks/validate_config.yml +++ b/roles/custom/matrix-base/tasks/validate_config.yml @@ -1,3 +1,13 @@ +# SPDX-FileCopyrightText: 2018 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2020 - 2021 Aaron Raimist +# SPDX-FileCopyrightText: 2020 Christian Wolf +# SPDX-FileCopyrightText: 2020 Horvath Gergely +# SPDX-FileCopyrightText: 2022 Charles Wright +# SPDX-FileCopyrightText: 2022 Warren Bailey +# SPDX-FileCopyrightText: 2023 Jayesh Nirve +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if invalid homeserver implementation diff --git a/roles/custom/matrix-base/templates/bin/remove-all.j2.license b/roles/custom/matrix-base/templates/bin/remove-all.j2.license new file mode 100644 index 000000000..34a0c1266 --- /dev/null +++ b/roles/custom/matrix-base/templates/bin/remove-all.j2.license @@ -0,0 +1,6 @@ +SPDX-FileCopyrightText: 2018 - 2023 MDAD project contributors +SPDX-FileCopyrightText: 2019 - 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2019 Hugues De Keyzer +SPDX-FileCopyrightText: 2024 Suguru Hirahara + +SPDX-License-Identifier: AGPL-3.0-or-later From 4915f14a580ccea8c89923cf42eade7f1d6efbc5 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 3 Mar 2025 17:58:12 +0900 Subject: [PATCH 627/841] Add license information to files for matrix-client-element Signed-off-by: Suguru Hirahara --- .../configuring-playbook-client-element-web.md | 10 ++++++++++ .../matrix-client-element/defaults/main.yml | 18 ++++++++++++++++++ .../matrix-client-element/tasks/main.yml | 5 +++++ .../tasks/prepare_themes.yml | 6 ++++++ .../matrix-client-element/tasks/self_check.yml | 5 +++++ .../tasks/setup_install.yml | 11 +++++++++++ .../tasks/setup_uninstall.yml | 7 +++++++ .../tasks/validate_config.yml | 6 ++++++ .../templates/config.json.j2.license | 6 ++++++ .../matrix-client-element/templates/labels.j2 | 6 ++++++ .../templates/map_style.json.j2.license | 3 +++ .../templates/nginx.conf.j2.license | 4 ++++ .../matrix-client-element.service.j2.license | 5 +++++ .../templates/welcome.html.j2.license | 9 +++++++++ .../custom/matrix-client-element/vars/main.yml | 4 ++++ 15 files changed, 105 insertions(+) create mode 100644 roles/custom/matrix-client-element/templates/config.json.j2.license create mode 100644 roles/custom/matrix-client-element/templates/map_style.json.j2.license create mode 100644 roles/custom/matrix-client-element/templates/nginx.conf.j2.license create mode 100644 roles/custom/matrix-client-element/templates/systemd/matrix-client-element.service.j2.license create mode 100644 roles/custom/matrix-client-element/templates/welcome.html.j2.license diff --git a/docs/configuring-playbook-client-element-web.md b/docs/configuring-playbook-client-element-web.md index 071be15ee..2f2420965 100644 --- a/docs/configuring-playbook-client-element-web.md +++ b/docs/configuring-playbook-client-element-web.md @@ -1,3 +1,13 @@ + + # Configuring Element Web (optional) By default, this playbook installs the [Element Web](https://github.com/element-hq/element-web) Matrix client for you. If that's okay, you can skip this document. diff --git a/roles/custom/matrix-client-element/defaults/main.yml b/roles/custom/matrix-client-element/defaults/main.yml index 93079df8f..237214cf1 100644 --- a/roles/custom/matrix-client-element/defaults/main.yml +++ b/roles/custom/matrix-client-element/defaults/main.yml @@ -1,3 +1,21 @@ +# SPDX-FileCopyrightText: 2020 - 2022 Aaron Raimist +# SPDX-FileCopyrightText: 2020 - 2024 MDAD project contributors +# SPDX-FileCopyrightText: 2020 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2020 Dan Arnfield +# SPDX-FileCopyrightText: 2021 Ahmad Haghighi +# SPDX-FileCopyrightText: 2021 Paul Tötterman +# SPDX-FileCopyrightText: 2022 - 2023 Julian-Samuel Gebühr +# SPDX-FileCopyrightText: 2022 - 2025 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 Christos Karamolegkos +# SPDX-FileCopyrightText: 2022 Joe Kappus +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2023 Igor Goldenberg +# SPDX-FileCopyrightText: 2023 Pierre 'McFly' Marty +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # Project source code URL: https://github.com/element-hq/element-web diff --git a/roles/custom/matrix-client-element/tasks/main.yml b/roles/custom/matrix-client-element/tasks/main.yml index 770200678..eddb03ad0 100644 --- a/roles/custom/matrix-client-element/tasks/main.yml +++ b/roles/custom/matrix-client-element/tasks/main.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2020 - 2023 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-client-element/tasks/prepare_themes.yml b/roles/custom/matrix-client-element/tasks/prepare_themes.yml index cb3bf2bd4..56ddb3403 100644 --- a/roles/custom/matrix-client-element/tasks/prepare_themes.yml +++ b/roles/custom/matrix-client-element/tasks/prepare_themes.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2020 - 2023 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # diff --git a/roles/custom/matrix-client-element/tasks/self_check.yml b/roles/custom/matrix-client-element/tasks/self_check.yml index 8a08d8d04..b2e70a5d1 100644 --- a/roles/custom/matrix-client-element/tasks/self_check.yml +++ b/roles/custom/matrix-client-element/tasks/self_check.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - ansible.builtin.set_fact: diff --git a/roles/custom/matrix-client-element/tasks/setup_install.yml b/roles/custom/matrix-client-element/tasks/setup_install.yml index e528faa8b..730e50282 100644 --- a/roles/custom/matrix-client-element/tasks/setup_install.yml +++ b/roles/custom/matrix-client-element/tasks/setup_install.yml @@ -1,3 +1,14 @@ +# SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2023 Pierre 'McFly' Marty +# SPDX-FileCopyrightText: 2024 David Mehren +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure Element Web paths exists diff --git a/roles/custom/matrix-client-element/tasks/setup_uninstall.yml b/roles/custom/matrix-client-element/tasks/setup_uninstall.yml index 279dd8166..a8823ed4a 100644 --- a/roles/custom/matrix-client-element/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-client-element/tasks/setup_uninstall.yml @@ -1,3 +1,10 @@ +# SPDX-FileCopyrightText: 2021 - 2023 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-client-element.service diff --git a/roles/custom/matrix-client-element/tasks/validate_config.yml b/roles/custom/matrix-client-element/tasks/validate_config.yml index fa76cdcd2..7e3623aeb 100644 --- a/roles/custom/matrix-client-element/tasks/validate_config.yml +++ b/roles/custom/matrix-client-element/tasks/validate_config.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2020 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required Element Web settings not defined diff --git a/roles/custom/matrix-client-element/templates/config.json.j2.license b/roles/custom/matrix-client-element/templates/config.json.j2.license new file mode 100644 index 000000000..d679203dd --- /dev/null +++ b/roles/custom/matrix-client-element/templates/config.json.j2.license @@ -0,0 +1,6 @@ +SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2020 Aaron Raimist +SPDX-FileCopyrightText: 2023 - 2024 MDAD project contributors +SPDX-FileCopyrightText: 2023 Igor Goldenberg + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-client-element/templates/labels.j2 b/roles/custom/matrix-client-element/templates/labels.j2 index 67ed2b95a..2d12275e5 100644 --- a/roles/custom/matrix-client-element/templates/labels.j2 +++ b/roles/custom/matrix-client-element/templates/labels.j2 @@ -1,3 +1,9 @@ +{# +SPDX-FileCopyrightText: 2023 - 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + {% if matrix_client_element_container_labels_traefik_enabled %} traefik.enable=true diff --git a/roles/custom/matrix-client-element/templates/map_style.json.j2.license b/roles/custom/matrix-client-element/templates/map_style.json.j2.license new file mode 100644 index 000000000..bf4d752e6 --- /dev/null +++ b/roles/custom/matrix-client-element/templates/map_style.json.j2.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2022 MDAD project contributors + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-client-element/templates/nginx.conf.j2.license b/roles/custom/matrix-client-element/templates/nginx.conf.j2.license new file mode 100644 index 000000000..f54d32e63 --- /dev/null +++ b/roles/custom/matrix-client-element/templates/nginx.conf.j2.license @@ -0,0 +1,4 @@ +SPDX-FileCopyrightText: 2019 - 2022 Slavi Pantaleev +SPDX-FileCopyrightText: 2019 Hugues De Keyzer + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-client-element/templates/systemd/matrix-client-element.service.j2.license b/roles/custom/matrix-client-element/templates/systemd/matrix-client-element.service.j2.license new file mode 100644 index 000000000..909ecff79 --- /dev/null +++ b/roles/custom/matrix-client-element/templates/systemd/matrix-client-element.service.j2.license @@ -0,0 +1,5 @@ +SPDX-FileCopyrightText: 2020 - 2025 Slavi Pantaleev +SPDX-FileCopyrightText: 2022 MDAD project contributors +SPDX-FileCopyrightText: 2024 Suguru Hirahara + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-client-element/templates/welcome.html.j2.license b/roles/custom/matrix-client-element/templates/welcome.html.j2.license new file mode 100644 index 000000000..8338f12af --- /dev/null +++ b/roles/custom/matrix-client-element/templates/welcome.html.j2.license @@ -0,0 +1,9 @@ +SPDX-FileCopyrightText: 2019 Daniel Hoffend +SPDX-FileCopyrightText: 2019 Hugues De Keyzer +SPDX-FileCopyrightText: 2020 - 2022 Slavi Pantaleev +SPDX-FileCopyrightText: 2020 Clement Renaud +SPDX-FileCopyrightText: 2020 Stefan Warnat +SPDX-FileCopyrightText: 2023 Pierre 'McFly' Marty +SPDX-FileCopyrightText: 2024 MDAD project contributors + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-client-element/vars/main.yml b/roles/custom/matrix-client-element/vars/main.yml index 8237b5110..f332b4312 100644 --- a/roles/custom/matrix-client-element/vars/main.yml +++ b/roles/custom/matrix-client-element/vars/main.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2020 - 2022 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- matrix_client_element_embedded_pages_home_url: "{{ ('' if matrix_client_element_embedded_pages_home_path is none else 'home.html') }}" From c84c39fbc4a496dc7c7961b1ed594bba3ca97e7c Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 3 Mar 2025 17:58:28 +0900 Subject: [PATCH 628/841] Add license information to files in matrix-common-after Signed-off-by: Suguru Hirahara --- roles/custom/matrix-common-after/tasks/main.yml | 9 +++++++++ .../matrix-common-after/tasks/run_docker_prune.yml | 5 +++++ 2 files changed, 14 insertions(+) diff --git a/roles/custom/matrix-common-after/tasks/main.yml b/roles/custom/matrix-common-after/tasks/main.yml index 5e4dc76b9..30e32027a 100644 --- a/roles/custom/matrix-common-after/tasks/main.yml +++ b/roles/custom/matrix-common-after/tasks/main.yml @@ -1,3 +1,12 @@ +# SPDX-FileCopyrightText: 2019 - 2023 Slavi Pantaleev +# SPDX-FileCopyrightText: 2019 Dan Arnfield +# SPDX-FileCopyrightText: 2019 Marcel Partap +# SPDX-FileCopyrightText: 2019 Stuart Mumford +# SPDX-FileCopyrightText: 2020 - 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-common-after/tasks/run_docker_prune.yml b/roles/custom/matrix-common-after/tasks/run_docker_prune.yml index 58f0e7933..0917d019d 100644 --- a/roles/custom/matrix-common-after/tasks/run_docker_prune.yml +++ b/roles/custom/matrix-common-after/tasks/run_docker_prune.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2020 MDAD project contributors +# SPDX-FileCopyrightText: 2022 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Run Docker System Prune From 68a78857b80c466bb7dbc9cd5e813e7340ff17c2 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 3 Mar 2025 17:58:55 +0900 Subject: [PATCH 629/841] Add license information to files for matrix-static-files Signed-off-by: Suguru Hirahara --- roles/custom/matrix-static-files/defaults/main.yml | 5 +++++ roles/custom/matrix-static-files/tasks/install.yml | 5 +++++ roles/custom/matrix-static-files/tasks/main.yml | 4 ++++ .../matrix-static-files/tasks/self_check_well_known.yml | 7 +++++++ .../tasks/self_check_well_known_file.yml | 9 +++++++++ roles/custom/matrix-static-files/tasks/uninstall.yml | 4 ++++ .../custom/matrix-static-files/tasks/validate_config.yml | 4 ++++ .../matrix-static-files/templates/config.toml.j2.license | 3 +++ roles/custom/matrix-static-files/templates/env.j2 | 6 ++++++ roles/custom/matrix-static-files/templates/labels.j2 | 7 +++++++ .../public/.well-known/matrix/client.j2.license | 3 +++ .../public/.well-known/matrix/server.j2.license | 3 +++ .../public/.well-known/matrix/support.j2.license | 3 +++ .../systemd/matrix-static-files.service.j2.license | 3 +++ 14 files changed, 66 insertions(+) create mode 100644 roles/custom/matrix-static-files/templates/config.toml.j2.license create mode 100644 roles/custom/matrix-static-files/templates/public/.well-known/matrix/client.j2.license create mode 100644 roles/custom/matrix-static-files/templates/public/.well-known/matrix/server.j2.license create mode 100644 roles/custom/matrix-static-files/templates/public/.well-known/matrix/support.j2.license create mode 100644 roles/custom/matrix-static-files/templates/systemd/matrix-static-files.service.j2.license diff --git a/roles/custom/matrix-static-files/defaults/main.yml b/roles/custom/matrix-static-files/defaults/main.yml index b7f393d0a..045d28b70 100644 --- a/roles/custom/matrix-static-files/defaults/main.yml +++ b/roles/custom/matrix-static-files/defaults/main.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # matrix-static-files is a role which generates and serves `/.well-known/matrix` files for the purposes of Matrix Delegation. diff --git a/roles/custom/matrix-static-files/tasks/install.yml b/roles/custom/matrix-static-files/tasks/install.yml index 3cbd9d4c6..f23592644 100644 --- a/roles/custom/matrix-static-files/tasks/install.yml +++ b/roles/custom/matrix-static-files/tasks/install.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2024 David Mehren +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure matrix-static-files paths exist diff --git a/roles/custom/matrix-static-files/tasks/main.yml b/roles/custom/matrix-static-files/tasks/main.yml index 7b5f25377..145a6952f 100644 --- a/roles/custom/matrix-static-files/tasks/main.yml +++ b/roles/custom/matrix-static-files/tasks/main.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-static-files/tasks/self_check_well_known.yml b/roles/custom/matrix-static-files/tasks/self_check_well_known.yml index b6b8f5494..807ffa55a 100644 --- a/roles/custom/matrix-static-files/tasks/self_check_well_known.yml +++ b/roles/custom/matrix-static-files/tasks/self_check_well_known.yml @@ -1,3 +1,10 @@ +# SPDX-FileCopyrightText: 2018 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2018 Aaron Raimist +# SPDX-FileCopyrightText: 2019 - 2020 Dan Arnfield +# SPDX-FileCopyrightText: 2020 Marcel Partap +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Determine well-known files to check (start with /.well-known/matrix/client) diff --git a/roles/custom/matrix-static-files/tasks/self_check_well_known_file.yml b/roles/custom/matrix-static-files/tasks/self_check_well_known_file.yml index 7dace4be2..03cd81823 100644 --- a/roles/custom/matrix-static-files/tasks/self_check_well_known_file.yml +++ b/roles/custom/matrix-static-files/tasks/self_check_well_known_file.yml @@ -1,3 +1,12 @@ +# SPDX-FileCopyrightText: 2019 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2020 Dan Arnfield +# SPDX-FileCopyrightText: 2020 MDAD project contributors +# SPDX-FileCopyrightText: 2021 Alexandros Afentoulis +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - ansible.builtin.set_fact: diff --git a/roles/custom/matrix-static-files/tasks/uninstall.yml b/roles/custom/matrix-static-files/tasks/uninstall.yml index 5e5208ef6..610a33585 100644 --- a/roles/custom/matrix-static-files/tasks/uninstall.yml +++ b/roles/custom/matrix-static-files/tasks/uninstall.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-static-files systemd service diff --git a/roles/custom/matrix-static-files/tasks/validate_config.yml b/roles/custom/matrix-static-files/tasks/validate_config.yml index 9a590ea06..2697fa654 100644 --- a/roles/custom/matrix-static-files/tasks/validate_config.yml +++ b/roles/custom/matrix-static-files/tasks/validate_config.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required matrix-static-files settings not defined diff --git a/roles/custom/matrix-static-files/templates/config.toml.j2.license b/roles/custom/matrix-static-files/templates/config.toml.j2.license new file mode 100644 index 000000000..e64bd56b9 --- /dev/null +++ b/roles/custom/matrix-static-files/templates/config.toml.j2.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-static-files/templates/env.j2 b/roles/custom/matrix-static-files/templates/env.j2 index 23c21aa86..0dd9b6f10 100644 --- a/roles/custom/matrix-static-files/templates/env.j2 +++ b/roles/custom/matrix-static-files/templates/env.j2 @@ -1,3 +1,9 @@ +{# +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + SERVER_PORT={{ matrix_static_files_environment_variable_server_port }} SERVER_LOG_LEVEL={{ matrix_static_files_environment_variable_server_log_level }} diff --git a/roles/custom/matrix-static-files/templates/labels.j2 b/roles/custom/matrix-static-files/templates/labels.j2 index b2fe0ccf0..2d5be3895 100644 --- a/roles/custom/matrix-static-files/templates/labels.j2 +++ b/roles/custom/matrix-static-files/templates/labels.j2 @@ -1,3 +1,10 @@ +{# +SPDX-FileCopyrightText: 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2024 Suguru Hirahara + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + {% if matrix_static_files_container_labels_traefik_enabled %} traefik.enable=true diff --git a/roles/custom/matrix-static-files/templates/public/.well-known/matrix/client.j2.license b/roles/custom/matrix-static-files/templates/public/.well-known/matrix/client.j2.license new file mode 100644 index 000000000..e64bd56b9 --- /dev/null +++ b/roles/custom/matrix-static-files/templates/public/.well-known/matrix/client.j2.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-static-files/templates/public/.well-known/matrix/server.j2.license b/roles/custom/matrix-static-files/templates/public/.well-known/matrix/server.j2.license new file mode 100644 index 000000000..e64bd56b9 --- /dev/null +++ b/roles/custom/matrix-static-files/templates/public/.well-known/matrix/server.j2.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-static-files/templates/public/.well-known/matrix/support.j2.license b/roles/custom/matrix-static-files/templates/public/.well-known/matrix/support.j2.license new file mode 100644 index 000000000..e64bd56b9 --- /dev/null +++ b/roles/custom/matrix-static-files/templates/public/.well-known/matrix/support.j2.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-static-files/templates/systemd/matrix-static-files.service.j2.license b/roles/custom/matrix-static-files/templates/systemd/matrix-static-files.service.j2.license new file mode 100644 index 000000000..e18b238ea --- /dev/null +++ b/roles/custom/matrix-static-files/templates/systemd/matrix-static-files.service.j2.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later From 0046d3a8d816b619a85004f7b511184dee96fecb Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 3 Mar 2025 18:00:04 +0900 Subject: [PATCH 630/841] Add license information to files for matrix-user-creator Signed-off-by: Suguru Hirahara --- roles/custom/matrix-user-creator/defaults/main.yml | 4 ++++ roles/custom/matrix-user-creator/tasks/main.yml | 5 +++++ roles/custom/matrix-user-creator/tasks/setup.yml | 4 ++++ .../tasks/util/ensure_user_registered_conduit.yml | 4 ++++ .../tasks/util/ensure_user_registered_conduwuit.yml | 5 +++++ .../tasks/util/ensure_user_registered_dendrite.yml | 4 ++++ .../ensure_user_registered_matrix_authentication_service.yml | 4 ++++ .../tasks/util/ensure_user_registered_synapse.yml | 4 ++++ .../custom/matrix-user-creator/tasks/util/validate_user.yml | 4 ++++ roles/custom/matrix-user-creator/vars/main.yml | 5 +++++ 10 files changed, 43 insertions(+) diff --git a/roles/custom/matrix-user-creator/defaults/main.yml b/roles/custom/matrix-user-creator/defaults/main.yml index 20aad3d10..00642521c 100644 --- a/roles/custom/matrix-user-creator/defaults/main.yml +++ b/roles/custom/matrix-user-creator/defaults/main.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2022 - 2023 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # matrix-user-creator is a role that aims to automate initial Matrix user account creation. diff --git a/roles/custom/matrix-user-creator/tasks/main.yml b/roles/custom/matrix-user-creator/tasks/main.yml index 2d9cc1c38..6a1a0b20c 100644 --- a/roles/custom/matrix-user-creator/tasks/main.yml +++ b/roles/custom/matrix-user-creator/tasks/main.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2022 - 2023 Slavi Pantaleev +# SPDX-FileCopyrightText: 2023 Nikita Chernyi +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-user-creator/tasks/setup.yml b/roles/custom/matrix-user-creator/tasks/setup.yml index 55e1dedef..efb9647dc 100644 --- a/roles/custom/matrix-user-creator/tasks/setup.yml +++ b/roles/custom/matrix-user-creator/tasks/setup.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Validate Matrix users to create diff --git a/roles/custom/matrix-user-creator/tasks/util/ensure_user_registered_conduit.yml b/roles/custom/matrix-user-creator/tasks/util/ensure_user_registered_conduit.yml index 8bbd147b5..fa961d08f 100644 --- a/roles/custom/matrix-user-creator/tasks/util/ensure_user_registered_conduit.yml +++ b/roles/custom/matrix-user-creator/tasks/util/ensure_user_registered_conduit.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2022 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure Conduit user registered - {{ user.username | quote }} diff --git a/roles/custom/matrix-user-creator/tasks/util/ensure_user_registered_conduwuit.yml b/roles/custom/matrix-user-creator/tasks/util/ensure_user_registered_conduwuit.yml index 8526fe996..a322db2f2 100644 --- a/roles/custom/matrix-user-creator/tasks/util/ensure_user_registered_conduwuit.yml +++ b/roles/custom/matrix-user-creator/tasks/util/ensure_user_registered_conduwuit.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2025 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure conduwuit user registered - {{ user.username | quote }} diff --git a/roles/custom/matrix-user-creator/tasks/util/ensure_user_registered_dendrite.yml b/roles/custom/matrix-user-creator/tasks/util/ensure_user_registered_dendrite.yml index 2fede49f8..2db976f3e 100644 --- a/roles/custom/matrix-user-creator/tasks/util/ensure_user_registered_dendrite.yml +++ b/roles/custom/matrix-user-creator/tasks/util/ensure_user_registered_dendrite.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2022 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure Dendrite user registered - {{ user.username | quote }} diff --git a/roles/custom/matrix-user-creator/tasks/util/ensure_user_registered_matrix_authentication_service.yml b/roles/custom/matrix-user-creator/tasks/util/ensure_user_registered_matrix_authentication_service.yml index ddf8eeff1..4fbeb03bf 100644 --- a/roles/custom/matrix-user-creator/tasks/util/ensure_user_registered_matrix_authentication_service.yml +++ b/roles/custom/matrix-user-creator/tasks/util/ensure_user_registered_matrix_authentication_service.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure Matrix Authentication Service user registered - {{ user.username | quote }} diff --git a/roles/custom/matrix-user-creator/tasks/util/ensure_user_registered_synapse.yml b/roles/custom/matrix-user-creator/tasks/util/ensure_user_registered_synapse.yml index 00189e5c5..1ae191e21 100644 --- a/roles/custom/matrix-user-creator/tasks/util/ensure_user_registered_synapse.yml +++ b/roles/custom/matrix-user-creator/tasks/util/ensure_user_registered_synapse.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure Synapse user registered - {{ user.username | quote }} diff --git a/roles/custom/matrix-user-creator/tasks/util/validate_user.yml b/roles/custom/matrix-user-creator/tasks/util/validate_user.yml index e35475d4e..d21ffd0e1 100644 --- a/roles/custom/matrix-user-creator/tasks/util/validate_user.yml +++ b/roles/custom/matrix-user-creator/tasks/util/validate_user.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2022 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if invalid username diff --git a/roles/custom/matrix-user-creator/vars/main.yml b/roles/custom/matrix-user-creator/vars/main.yml index 7bb3a1a66..e5ed50746 100644 --- a/roles/custom/matrix-user-creator/vars/main.yml +++ b/roles/custom/matrix-user-creator/vars/main.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2022 Slavi Pantaleev +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # matrix_user_creator_users holds a list of users that should be created on the Matrix homeserver. From 88413a08cbb8543c49458bf6841bf8bff6345912 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 3 Mar 2025 20:24:16 +0000 Subject: [PATCH 631/841] Update gnuxie/draupnir Docker tag to v2.2.0 --- .../custom/matrix-appservice-draupnir-for-all/defaults/main.yml | 2 +- roles/custom/matrix-bot-draupnir/defaults/main.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/custom/matrix-appservice-draupnir-for-all/defaults/main.yml b/roles/custom/matrix-appservice-draupnir-for-all/defaults/main.yml index e65ed32e8..a1eebf5af 100644 --- a/roles/custom/matrix-appservice-draupnir-for-all/defaults/main.yml +++ b/roles/custom/matrix-appservice-draupnir-for-all/defaults/main.yml @@ -11,7 +11,7 @@ matrix_appservice_draupnir_for_all_enabled: true # renovate: datasource=docker depName=gnuxie/draupnir -matrix_appservice_draupnir_for_all_version: "v2.1.0" +matrix_appservice_draupnir_for_all_version: "v2.2.0" matrix_appservice_draupnir_for_all_container_image_self_build: false matrix_appservice_draupnir_for_all_container_image_self_build_repo: "https://github.com/the-draupnir-project/Draupnir.git" diff --git a/roles/custom/matrix-bot-draupnir/defaults/main.yml b/roles/custom/matrix-bot-draupnir/defaults/main.yml index 42fce6812..3ce88a4a0 100644 --- a/roles/custom/matrix-bot-draupnir/defaults/main.yml +++ b/roles/custom/matrix-bot-draupnir/defaults/main.yml @@ -5,7 +5,7 @@ matrix_bot_draupnir_enabled: true # renovate: datasource=docker depName=gnuxie/draupnir -matrix_bot_draupnir_version: "v2.1.0" +matrix_bot_draupnir_version: "v2.2.0" matrix_bot_draupnir_container_image_self_build: false matrix_bot_draupnir_container_image_self_build_repo: "https://github.com/the-draupnir-project/Draupnir.git" From 2ef1a2e48d55e7a77c582a1b1c0231167f0df587 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Mon, 3 Mar 2025 22:33:07 +0200 Subject: [PATCH 632/841] Upgrade exim-relay (v4.98.1-r0-0-0 -> v4.98.1-r0-1-0) to allow usage over IPv6 --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index b042d8ef1..6677b8ec2 100644 --- a/requirements.yml +++ b/requirements.yml @@ -19,7 +19,7 @@ version: v2.2.7-4 name: etherpad - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay.git - version: v4.98.1-r0-0-0 + version: v4.98.1-r0-1-0 name: exim_relay - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-grafana.git version: v11.5.2-2 From f70ad4affb1756a36bf07449d8b8b9dd490ba978 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 4 Mar 2025 19:19:51 +0900 Subject: [PATCH 633/841] Add license information to files in matrix-synapse/defaults Signed-off-by: Suguru Hirahara --- .../matrix-synapse/defaults/main.yml.license | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 roles/custom/matrix-synapse/defaults/main.yml.license diff --git a/roles/custom/matrix-synapse/defaults/main.yml.license b/roles/custom/matrix-synapse/defaults/main.yml.license new file mode 100644 index 000000000..1bca653ea --- /dev/null +++ b/roles/custom/matrix-synapse/defaults/main.yml.license @@ -0,0 +1,39 @@ +SPDX-FileCopyrightText: 2019 - 2020 Dan Arnfield +SPDX-FileCopyrightText: 2019 - 2022 Aaron Raimist +SPDX-FileCopyrightText: 2019 - 2024 MDAD project contributors +SPDX-FileCopyrightText: 2019 - 2025 Slavi Pantaleev +SPDX-FileCopyrightText: 2019 Alexander Acevedo +SPDX-FileCopyrightText: 2019 Hugues Morisset +SPDX-FileCopyrightText: 2019 Lee Verberne +SPDX-FileCopyrightText: 2019 Lyubomir Popov +SPDX-FileCopyrightText: 2019 Oleg Fiksel +SPDX-FileCopyrightText: 2019 Sylvia van Os +SPDX-FileCopyrightText: 2020 Chris van Dijk +SPDX-FileCopyrightText: 2020 Horvath Gergely +SPDX-FileCopyrightText: 2020 Justin Croonenberghs +SPDX-FileCopyrightText: 2020 Marcel Partap +SPDX-FileCopyrightText: 2020 Max Klenk +SPDX-FileCopyrightText: 2020 Paul Tötterman +SPDX-FileCopyrightText: 2021 Ahmad Haghighi +SPDX-FileCopyrightText: 2021 Alejo Diaz +SPDX-FileCopyrightText: 2021 Davy Landman +SPDX-FileCopyrightText: 2021 Janar Juusu +SPDX-FileCopyrightText: 2021 Pablo Montepagano +SPDX-FileCopyrightText: 2021 Toni Spets +SPDX-FileCopyrightText: 2021 boris runakov +SPDX-FileCopyrightText: 2022 - 2023 Cody Wyatt Neiman +SPDX-FileCopyrightText: 2022 - 2024 Nikita Chernyi +SPDX-FileCopyrightText: 2022 Benjamin Castellan +SPDX-FileCopyrightText: 2022 Joe Kappus +SPDX-FileCopyrightText: 2022 Marko Weltzer +SPDX-FileCopyrightText: 2022 Quentin Young +SPDX-FileCopyrightText: 2022 Shaleen Jain +SPDX-FileCopyrightText: 2022 Yan Minagawa +SPDX-FileCopyrightText: 2023 - 2024 Michael Hollister +SPDX-FileCopyrightText: 2023 Aeris One +SPDX-FileCopyrightText: 2023 Luke D Iremadze +SPDX-FileCopyrightText: 2023 Samuel Meenzen +SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara +SPDX-FileCopyrightText: 2024 Charles Wright + +SPDX-License-Identifier: AGPL-3.0-or-later From a4532762c2ef5dabc3c7b835077b58a346d8459e Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 4 Mar 2025 19:19:59 +0900 Subject: [PATCH 634/841] Add license information to files in matrix-synapse/tasks/ext Signed-off-by: Suguru Hirahara --- .../tasks/ext/encryption-disabler/setup_install.yml | 5 +++++ .../tasks/ext/encryption-disabler/setup_uninstall.yml | 4 ++++ .../matrix-synapse/tasks/ext/ldap-auth/setup_install.yml | 7 +++++++ .../tasks/ext/mjolnir-antispam/setup_install.yml | 7 +++++++ .../tasks/ext/mjolnir-antispam/setup_uninstall.yml | 5 +++++ .../matrix-synapse/tasks/ext/rest-auth/setup_install.yml | 7 +++++++ .../tasks/ext/rest-auth/setup_uninstall.yml | 4 ++++ .../tasks/ext/s3-storage-provider/setup_install.yml | 4 ++++ .../tasks/ext/s3-storage-provider/setup_uninstall.yml | 4 ++++ .../tasks/ext/s3-storage-provider/validate_config.yml | 6 ++++++ roles/custom/matrix-synapse/tasks/ext/setup_install.yml | 6 ++++++ .../custom/matrix-synapse/tasks/ext/setup_uninstall.yml | 4 ++++ .../tasks/ext/shared-secret-auth/setup_install.yml | 7 +++++++ .../tasks/ext/shared-secret-auth/setup_uninstall.yml | 4 ++++ .../ext/synapse-auto-accept-invite/setup_install.yml | 4 ++++ .../tasks/ext/synapse-simple-antispam/setup_install.yml | 9 +++++++++ .../ext/synapse-simple-antispam/setup_uninstall.yml | 4 ++++ 17 files changed, 91 insertions(+) diff --git a/roles/custom/matrix-synapse/tasks/ext/encryption-disabler/setup_install.yml b/roles/custom/matrix-synapse/tasks/ext/encryption-disabler/setup_install.yml index b8046033b..97ee49673 100644 --- a/roles/custom/matrix-synapse/tasks/ext/encryption-disabler/setup_install.yml +++ b/roles/custom/matrix-synapse/tasks/ext/encryption-disabler/setup_install.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2022 - 2023 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Download matrix_encryption_disabler diff --git a/roles/custom/matrix-synapse/tasks/ext/encryption-disabler/setup_uninstall.yml b/roles/custom/matrix-synapse/tasks/ext/encryption-disabler/setup_uninstall.yml index c223f6e85..d169ad539 100644 --- a/roles/custom/matrix-synapse/tasks/ext/encryption-disabler/setup_uninstall.yml +++ b/roles/custom/matrix-synapse/tasks/ext/encryption-disabler/setup_uninstall.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2022 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure matrix_encryption_disabler doesn't exist diff --git a/roles/custom/matrix-synapse/tasks/ext/ldap-auth/setup_install.yml b/roles/custom/matrix-synapse/tasks/ext/ldap-auth/setup_install.yml index 6d4843771..baf0a285a 100644 --- a/roles/custom/matrix-synapse/tasks/ext/ldap-auth/setup_install.yml +++ b/roles/custom/matrix-synapse/tasks/ext/ldap-auth/setup_install.yml @@ -1,3 +1,10 @@ +# SPDX-FileCopyrightText: 2018 - 2023 Slavi Pantaleev +# SPDX-FileCopyrightText: 2018 Thomas vO +# SPDX-FileCopyrightText: 2019 Dan Arnfield +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - ansible.builtin.set_fact: diff --git a/roles/custom/matrix-synapse/tasks/ext/mjolnir-antispam/setup_install.yml b/roles/custom/matrix-synapse/tasks/ext/mjolnir-antispam/setup_install.yml index 0fc2a7506..ea43bb34a 100644 --- a/roles/custom/matrix-synapse/tasks/ext/mjolnir-antispam/setup_install.yml +++ b/roles/custom/matrix-synapse/tasks/ext/mjolnir-antispam/setup_install.yml @@ -1,3 +1,10 @@ +# SPDX-FileCopyrightText: 2021 MDAD project contributors +# SPDX-FileCopyrightText: 2022 - 2023 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure git installed diff --git a/roles/custom/matrix-synapse/tasks/ext/mjolnir-antispam/setup_uninstall.yml b/roles/custom/matrix-synapse/tasks/ext/mjolnir-antispam/setup_uninstall.yml index 8211d51ae..67fff39a5 100644 --- a/roles/custom/matrix-synapse/tasks/ext/mjolnir-antispam/setup_uninstall.yml +++ b/roles/custom/matrix-synapse/tasks/ext/mjolnir-antispam/setup_uninstall.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2021 - 2022 Slavi Pantaleev +# SPDX-FileCopyrightText: 2021 MDAD project contributors +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure mjolnir-antispam doesn't exist diff --git a/roles/custom/matrix-synapse/tasks/ext/rest-auth/setup_install.yml b/roles/custom/matrix-synapse/tasks/ext/rest-auth/setup_install.yml index 4c59a4b1f..d50a32cd9 100644 --- a/roles/custom/matrix-synapse/tasks/ext/rest-auth/setup_install.yml +++ b/roles/custom/matrix-synapse/tasks/ext/rest-auth/setup_install.yml @@ -1,3 +1,10 @@ +# SPDX-FileCopyrightText: 2018 - 2023 Slavi Pantaleev +# SPDX-FileCopyrightText: 2019 Michael Haak +# SPDX-FileCopyrightText: 2020 Chris van Dijk +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if REST Auth endpoint not configured diff --git a/roles/custom/matrix-synapse/tasks/ext/rest-auth/setup_uninstall.yml b/roles/custom/matrix-synapse/tasks/ext/rest-auth/setup_uninstall.yml index d95dd1c7c..7c094f847 100644 --- a/roles/custom/matrix-synapse/tasks/ext/rest-auth/setup_uninstall.yml +++ b/roles/custom/matrix-synapse/tasks/ext/rest-auth/setup_uninstall.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2019 - 2022 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure matrix-synapse-rest-auth doesn't exist diff --git a/roles/custom/matrix-synapse/tasks/ext/s3-storage-provider/setup_install.yml b/roles/custom/matrix-synapse/tasks/ext/s3-storage-provider/setup_install.yml index ede73ec9a..d3c7b8610 100644 --- a/roles/custom/matrix-synapse/tasks/ext/s3-storage-provider/setup_install.yml +++ b/roles/custom/matrix-synapse/tasks/ext/s3-storage-provider/setup_install.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # We install this into Synapse by making `matrix_synapse_ext_synapse_s3_storage_provider_enabled` influence other variables: diff --git a/roles/custom/matrix-synapse/tasks/ext/s3-storage-provider/setup_uninstall.yml b/roles/custom/matrix-synapse/tasks/ext/s3-storage-provider/setup_uninstall.yml index 83e8a0f7d..0301df667 100644 --- a/roles/custom/matrix-synapse/tasks/ext/s3-storage-provider/setup_uninstall.yml +++ b/roles/custom/matrix-synapse/tasks/ext/s3-storage-provider/setup_uninstall.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2022 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure matrix-synapse-s3-storage-provider-migrate.service and timer don't exist diff --git a/roles/custom/matrix-synapse/tasks/ext/s3-storage-provider/validate_config.yml b/roles/custom/matrix-synapse/tasks/ext/s3-storage-provider/validate_config.yml index 406f186dc..b9e84a3d2 100644 --- a/roles/custom/matrix-synapse/tasks/ext/s3-storage-provider/validate_config.yml +++ b/roles/custom/matrix-synapse/tasks/ext/s3-storage-provider/validate_config.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2022 Luke Moch +# SPDX-FileCopyrightText: 2022 Slavi Pantaleev +# SPDX-FileCopyrightText: 2023 MDAD project contributors +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required s3-storage-provider settings not defined ansible.builtin.fail: diff --git a/roles/custom/matrix-synapse/tasks/ext/setup_install.yml b/roles/custom/matrix-synapse/tasks/ext/setup_install.yml index f7be477aa..17bd5670b 100644 --- a/roles/custom/matrix-synapse/tasks/ext/setup_install.yml +++ b/roles/custom/matrix-synapse/tasks/ext/setup_install.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2019 - 2023 Slavi Pantaleev +# SPDX-FileCopyrightText: 2019 - 2024 MDAD project contributors +# SPDX-FileCopyrightText: 2019 Hugues Morisset +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # encryption-disabler diff --git a/roles/custom/matrix-synapse/tasks/ext/setup_uninstall.yml b/roles/custom/matrix-synapse/tasks/ext/setup_uninstall.yml index f584f584d..21aa141de 100644 --- a/roles/custom/matrix-synapse/tasks/ext/setup_uninstall.yml +++ b/roles/custom/matrix-synapse/tasks/ext/setup_uninstall.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2022 - 2023 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # encryption-disabler diff --git a/roles/custom/matrix-synapse/tasks/ext/shared-secret-auth/setup_install.yml b/roles/custom/matrix-synapse/tasks/ext/shared-secret-auth/setup_install.yml index ecec3e803..ac09fe46e 100644 --- a/roles/custom/matrix-synapse/tasks/ext/shared-secret-auth/setup_install.yml +++ b/roles/custom/matrix-synapse/tasks/ext/shared-secret-auth/setup_install.yml @@ -1,3 +1,10 @@ +# SPDX-FileCopyrightText: 2019 - 2023 Slavi Pantaleev +# SPDX-FileCopyrightText: 2019 Michael Haak +# SPDX-FileCopyrightText: 2020 Chris van Dijk +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if Shared Secret Auth secret not set diff --git a/roles/custom/matrix-synapse/tasks/ext/shared-secret-auth/setup_uninstall.yml b/roles/custom/matrix-synapse/tasks/ext/shared-secret-auth/setup_uninstall.yml index b2f909443..8bb39dc92 100644 --- a/roles/custom/matrix-synapse/tasks/ext/shared-secret-auth/setup_uninstall.yml +++ b/roles/custom/matrix-synapse/tasks/ext/shared-secret-auth/setup_uninstall.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2019 - 2022 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure matrix-synapse-shared-secret-auth doesn't exist diff --git a/roles/custom/matrix-synapse/tasks/ext/synapse-auto-accept-invite/setup_install.yml b/roles/custom/matrix-synapse/tasks/ext/synapse-auto-accept-invite/setup_install.yml index 182d42b03..9bbabdbaf 100644 --- a/roles/custom/matrix-synapse/tasks/ext/synapse-auto-accept-invite/setup_install.yml +++ b/roles/custom/matrix-synapse/tasks/ext/synapse-auto-accept-invite/setup_install.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2024 MDAD project contributors +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - ansible.builtin.set_fact: diff --git a/roles/custom/matrix-synapse/tasks/ext/synapse-simple-antispam/setup_install.yml b/roles/custom/matrix-synapse/tasks/ext/synapse-simple-antispam/setup_install.yml index e62c62dfe..8f2b4ac6e 100644 --- a/roles/custom/matrix-synapse/tasks/ext/synapse-simple-antispam/setup_install.yml +++ b/roles/custom/matrix-synapse/tasks/ext/synapse-simple-antispam/setup_install.yml @@ -1,3 +1,12 @@ +# SPDX-FileCopyrightText: 2019 - 2023 Slavi Pantaleev +# SPDX-FileCopyrightText: 2019 Michael Haak +# SPDX-FileCopyrightText: 2020 Christian Wolf +# SPDX-FileCopyrightText: 2022 Aaron Raimist +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if Synapse Simple Antispam blocked homeservers is not set diff --git a/roles/custom/matrix-synapse/tasks/ext/synapse-simple-antispam/setup_uninstall.yml b/roles/custom/matrix-synapse/tasks/ext/synapse-simple-antispam/setup_uninstall.yml index b1d558aa5..bcfb1d694 100644 --- a/roles/custom/matrix-synapse/tasks/ext/synapse-simple-antispam/setup_uninstall.yml +++ b/roles/custom/matrix-synapse/tasks/ext/synapse-simple-antispam/setup_uninstall.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2019 - 2022 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure synapse-simple-antispam doesn't exist From 03293205749f0cdddc8140c80e1df27611595ac5 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 4 Mar 2025 19:20:04 +0900 Subject: [PATCH 635/841] Add license information to files in matrix-synapse/tasks/goofys Signed-off-by: Suguru Hirahara --- .../matrix-synapse/tasks/goofys/setup_install.yml | 10 ++++++++++ .../matrix-synapse/tasks/goofys/setup_uninstall.yml | 7 +++++++ 2 files changed, 17 insertions(+) diff --git a/roles/custom/matrix-synapse/tasks/goofys/setup_install.yml b/roles/custom/matrix-synapse/tasks/goofys/setup_install.yml index dd6d3e922..f057bcc48 100644 --- a/roles/custom/matrix-synapse/tasks/goofys/setup_install.yml +++ b/roles/custom/matrix-synapse/tasks/goofys/setup_install.yml @@ -1,3 +1,13 @@ +# SPDX-FileCopyrightText: 2019 - 2023 Slavi Pantaleev +# SPDX-FileCopyrightText: 2019 Dan Arnfield +# SPDX-FileCopyrightText: 2020 Chris van Dijk +# SPDX-FileCopyrightText: 2020 MDAD project contributors +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - ansible.builtin.include_role: diff --git a/roles/custom/matrix-synapse/tasks/goofys/setup_uninstall.yml b/roles/custom/matrix-synapse/tasks/goofys/setup_uninstall.yml index 252877dee..3c784cfcc 100644 --- a/roles/custom/matrix-synapse/tasks/goofys/setup_uninstall.yml +++ b/roles/custom/matrix-synapse/tasks/goofys/setup_uninstall.yml @@ -1,3 +1,10 @@ +# SPDX-FileCopyrightText: 2019 - 2022 Slavi Pantaleev +# SPDX-FileCopyrightText: 2020 MDAD project contributors +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-goofys service From f0abe85c1821170294733d4dce80c4e2cba83894 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 4 Mar 2025 19:20:12 +0900 Subject: [PATCH 636/841] Add license information to files in matrix-synapse/tasks/rust-synapse-compress-state Signed-off-by: Suguru Hirahara --- .../tasks/rust-synapse-compress-state/compress_room.yml | 6 ++++++ .../tasks/rust-synapse-compress-state/main.yml | 8 ++++++++ 2 files changed, 14 insertions(+) diff --git a/roles/custom/matrix-synapse/tasks/rust-synapse-compress-state/compress_room.yml b/roles/custom/matrix-synapse/tasks/rust-synapse-compress-state/compress_room.yml index 300571059..c7235b0e9 100644 --- a/roles/custom/matrix-synapse/tasks/rust-synapse-compress-state/compress_room.yml +++ b/roles/custom/matrix-synapse/tasks/rust-synapse-compress-state/compress_room.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2021 Béla Becker +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - ansible.builtin.debug: diff --git a/roles/custom/matrix-synapse/tasks/rust-synapse-compress-state/main.yml b/roles/custom/matrix-synapse/tasks/rust-synapse-compress-state/main.yml index efebe6e92..f691a74ba 100644 --- a/roles/custom/matrix-synapse/tasks/rust-synapse-compress-state/main.yml +++ b/roles/custom/matrix-synapse/tasks/rust-synapse-compress-state/main.yml @@ -1,3 +1,11 @@ +# SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # Pre-checks From 54b7df44ec49a73f6940923a9667f03ffe3c3646 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 4 Mar 2025 19:20:20 +0900 Subject: [PATCH 637/841] Add license information to files in matrix-synapse/tasks/synapse Signed-off-by: Suguru Hirahara --- .../custom/matrix-synapse/tasks/synapse/setup.yml | 5 +++++ .../tasks/synapse/setup_install.yml | 15 +++++++++++++++ .../tasks/synapse/setup_uninstall.yml | 7 +++++++ .../matrix-synapse/tasks/synapse/workers/init.yml | 7 +++++++ .../tasks/synapse/workers/setup_install.yml | 5 +++++ .../tasks/synapse/workers/setup_uninstall.yml | 6 ++++++ .../tasks/synapse/workers/util/inject_worker.yml | 4 ++++ .../workers/util/setup_files_for_worker.yml | 6 ++++++ 8 files changed, 55 insertions(+) diff --git a/roles/custom/matrix-synapse/tasks/synapse/setup.yml b/roles/custom/matrix-synapse/tasks/synapse/setup.yml index 80f761e59..19fb2983c 100644 --- a/roles/custom/matrix-synapse/tasks/synapse/setup.yml +++ b/roles/custom/matrix-synapse/tasks/synapse/setup.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2019 - 2022 Slavi Pantaleev +# SPDX-FileCopyrightText: 2019 Dan Arnfield +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - ansible.builtin.import_tasks: "{{ role_path }}/tasks/synapse/setup_install.yml" diff --git a/roles/custom/matrix-synapse/tasks/synapse/setup_install.yml b/roles/custom/matrix-synapse/tasks/synapse/setup_install.yml index 1181fd7c8..dcc009050 100644 --- a/roles/custom/matrix-synapse/tasks/synapse/setup_install.yml +++ b/roles/custom/matrix-synapse/tasks/synapse/setup_install.yml @@ -1,3 +1,18 @@ +# SPDX-FileCopyrightText: 2018 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2019 Dan Arnfield +# SPDX-FileCopyrightText: 2019 Jan Christian Grünhage +# SPDX-FileCopyrightText: 2019 Lyubomir Popov +# SPDX-FileCopyrightText: 2020 - 2024 MDAD project contributors +# SPDX-FileCopyrightText: 2020 Chris van Dijk +# SPDX-FileCopyrightText: 2020 Horvath Gergely +# SPDX-FileCopyrightText: 2022 Jim Myhrberg +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2024 David Mehren +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # This will throw a Permission Denied error if already mounted using fuse diff --git a/roles/custom/matrix-synapse/tasks/synapse/setup_uninstall.yml b/roles/custom/matrix-synapse/tasks/synapse/setup_uninstall.yml index 6b8ae5a01..4798983c5 100644 --- a/roles/custom/matrix-synapse/tasks/synapse/setup_uninstall.yml +++ b/roles/custom/matrix-synapse/tasks/synapse/setup_uninstall.yml @@ -1,3 +1,10 @@ +# SPDX-FileCopyrightText: 2019 - 2022 Slavi Pantaleev +# SPDX-FileCopyrightText: 2020 MDAD project contributors +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-synapse service diff --git a/roles/custom/matrix-synapse/tasks/synapse/workers/init.yml b/roles/custom/matrix-synapse/tasks/synapse/workers/init.yml index 8bf8201a0..2f16215e8 100644 --- a/roles/custom/matrix-synapse/tasks/synapse/workers/init.yml +++ b/roles/custom/matrix-synapse/tasks/synapse/workers/init.yml @@ -1,3 +1,10 @@ +# SPDX-FileCopyrightText: 2021 - 2023 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Michael Hollister +# SPDX-FileCopyrightText: 2024 Charles Wright +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # Below is a huge hack for dynamically building a list of workers and finally assigning it to `matrix_synapse_workers_enabled_list`. # diff --git a/roles/custom/matrix-synapse/tasks/synapse/workers/setup_install.yml b/roles/custom/matrix-synapse/tasks/synapse/workers/setup_install.yml index b474be92a..e50df3259 100644 --- a/roles/custom/matrix-synapse/tasks/synapse/workers/setup_install.yml +++ b/roles/custom/matrix-synapse/tasks/synapse/workers/setup_install.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2020 - 2021 Marcel Partap +# SPDX-FileCopyrightText: 2021 - 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Determine current worker configs diff --git a/roles/custom/matrix-synapse/tasks/synapse/workers/setup_uninstall.yml b/roles/custom/matrix-synapse/tasks/synapse/workers/setup_uninstall.yml index 2b0d21df4..5677a5a89 100644 --- a/roles/custom/matrix-synapse/tasks/synapse/workers/setup_uninstall.yml +++ b/roles/custom/matrix-synapse/tasks/synapse/workers/setup_uninstall.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2020 Marcel Partap +# SPDX-FileCopyrightText: 2021 - 2022 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Populate service facts diff --git a/roles/custom/matrix-synapse/tasks/synapse/workers/util/inject_worker.yml b/roles/custom/matrix-synapse/tasks/synapse/workers/util/inject_worker.yml index c52777ebd..9338ce30b 100644 --- a/roles/custom/matrix-synapse/tasks/synapse/workers/util/inject_worker.yml +++ b/roles/custom/matrix-synapse/tasks/synapse/workers/util/inject_worker.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2022 - 2023 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # The tasks below run before `validate_config.yml`. # To avoid failing with a cryptic error message, we'll do validation here. diff --git a/roles/custom/matrix-synapse/tasks/synapse/workers/util/setup_files_for_worker.yml b/roles/custom/matrix-synapse/tasks/synapse/workers/util/setup_files_for_worker.yml index 480ffba02..c09291d4a 100644 --- a/roles/custom/matrix-synapse/tasks/synapse/workers/util/setup_files_for_worker.yml +++ b/roles/custom/matrix-synapse/tasks/synapse/workers/util/setup_files_for_worker.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2021 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2024 Michael Hollister +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - ansible.builtin.set_fact: From f7a030297468d40cae2931d386fda8a8d92381d4 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 4 Mar 2025 19:20:27 +0900 Subject: [PATCH 638/841] Add license information to files in matrix-synapse/tasks Signed-off-by: Suguru Hirahara --- .../matrix-synapse/tasks/import_media_store.yml | 9 +++++++++ .../matrix-synapse/tasks/import_synapse_sqlite_db.yml | 4 ++++ roles/custom/matrix-synapse/tasks/init.yml | 8 ++++++++ roles/custom/matrix-synapse/tasks/main.yml | 8 ++++++++ roles/custom/matrix-synapse/tasks/register_user.yml | 8 ++++++++ .../matrix-synapse/tasks/self_check_client_api.yml | 7 +++++++ .../tasks/self_check_federation_api.yml | 8 ++++++++ roles/custom/matrix-synapse/tasks/setup_install.yml | 11 +++++++++++ roles/custom/matrix-synapse/tasks/setup_uninstall.yml | 4 ++++ .../matrix-synapse/tasks/update_user_password.yml | 10 ++++++++++ roles/custom/matrix-synapse/tasks/validate_config.yml | 6 ++++++ 11 files changed, 83 insertions(+) diff --git a/roles/custom/matrix-synapse/tasks/import_media_store.yml b/roles/custom/matrix-synapse/tasks/import_media_store.yml index a6c085874..f9757df39 100644 --- a/roles/custom/matrix-synapse/tasks/import_media_store.yml +++ b/roles/custom/matrix-synapse/tasks/import_media_store.yml @@ -1,3 +1,12 @@ +# SPDX-FileCopyrightText: 2017 - 2023 Slavi Pantaleev +# SPDX-FileCopyrightText: 2019 Dan Arnfield +# SPDX-FileCopyrightText: 2019 Jan Christian Grünhage +# SPDX-FileCopyrightText: 2020 Chris van Dijk +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # Pre-checks diff --git a/roles/custom/matrix-synapse/tasks/import_synapse_sqlite_db.yml b/roles/custom/matrix-synapse/tasks/import_synapse_sqlite_db.yml index 92bd36b42..a8ba6f153 100644 --- a/roles/custom/matrix-synapse/tasks/import_synapse_sqlite_db.yml +++ b/roles/custom/matrix-synapse/tasks/import_synapse_sqlite_db.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2023 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if playbook called incorrectly diff --git a/roles/custom/matrix-synapse/tasks/init.yml b/roles/custom/matrix-synapse/tasks/init.yml index 341350a49..cbf204a2f 100644 --- a/roles/custom/matrix-synapse/tasks/init.yml +++ b/roles/custom/matrix-synapse/tasks/init.yml @@ -1,3 +1,11 @@ +# SPDX-FileCopyrightText: 2019 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2019 Dan Arnfield +# SPDX-FileCopyrightText: 2020 Horvath Gergely +# SPDX-FileCopyrightText: 2021 Aaron Raimist +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # This validation task is here, not in validate_config.yml, diff --git a/roles/custom/matrix-synapse/tasks/main.yml b/roles/custom/matrix-synapse/tasks/main.yml index 8bdf05e84..01d35eebf 100644 --- a/roles/custom/matrix-synapse/tasks/main.yml +++ b/roles/custom/matrix-synapse/tasks/main.yml @@ -1,3 +1,11 @@ +# SPDX-FileCopyrightText: 2019 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2019 Dan Arnfield +# SPDX-FileCopyrightText: 2019 Lyubomir Popov +# SPDX-FileCopyrightText: 2021 MDAD project contributors +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-synapse/tasks/register_user.yml b/roles/custom/matrix-synapse/tasks/register_user.yml index 215409593..55ece72ed 100644 --- a/roles/custom/matrix-synapse/tasks/register_user.yml +++ b/roles/custom/matrix-synapse/tasks/register_user.yml @@ -1,3 +1,11 @@ +# SPDX-FileCopyrightText: 2017 - 2022 Slavi Pantaleev +# SPDX-FileCopyrightText: 2019 Dan Arnfield +# SPDX-FileCopyrightText: 2019 Jan Christian Grünhage +# SPDX-FileCopyrightText: 2020 MDAD project contributors +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if playbook called incorrectly diff --git a/roles/custom/matrix-synapse/tasks/self_check_client_api.yml b/roles/custom/matrix-synapse/tasks/self_check_client_api.yml index 7ec3fb09b..dc0a27814 100644 --- a/roles/custom/matrix-synapse/tasks/self_check_client_api.yml +++ b/roles/custom/matrix-synapse/tasks/self_check_client_api.yml @@ -1,3 +1,10 @@ +# SPDX-FileCopyrightText: 2018 - 2022 Slavi Pantaleev +# SPDX-FileCopyrightText: 2019 - 2020 Dan Arnfield +# SPDX-FileCopyrightText: 2020 MDAD project contributors +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check Matrix Client API diff --git a/roles/custom/matrix-synapse/tasks/self_check_federation_api.yml b/roles/custom/matrix-synapse/tasks/self_check_federation_api.yml index fde73dae0..d50098eef 100644 --- a/roles/custom/matrix-synapse/tasks/self_check_federation_api.yml +++ b/roles/custom/matrix-synapse/tasks/self_check_federation_api.yml @@ -1,3 +1,11 @@ +# SPDX-FileCopyrightText: 2018 - 2022 Slavi Pantaleev +# SPDX-FileCopyrightText: 2019 - 2020 Dan Arnfield +# SPDX-FileCopyrightText: 2019 Lorrin Nelson +# SPDX-FileCopyrightText: 2020 MDAD project contributors +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check Matrix Federation API diff --git a/roles/custom/matrix-synapse/tasks/setup_install.yml b/roles/custom/matrix-synapse/tasks/setup_install.yml index a2185da57..d131bd118 100644 --- a/roles/custom/matrix-synapse/tasks/setup_install.yml +++ b/roles/custom/matrix-synapse/tasks/setup_install.yml @@ -1,3 +1,14 @@ +# SPDX-FileCopyrightText: 2018 - 2023 Slavi Pantaleev +# SPDX-FileCopyrightText: 2019 Dan Arnfield +# SPDX-FileCopyrightText: 2020 Chris van Dijk +# SPDX-FileCopyrightText: 2020 Horvath Gergely +# SPDX-FileCopyrightText: 2020 Marcel Partap +# SPDX-FileCopyrightText: 2020 Max Klenk +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Quentin Young +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Ensure Synapse paths exist diff --git a/roles/custom/matrix-synapse/tasks/setup_uninstall.yml b/roles/custom/matrix-synapse/tasks/setup_uninstall.yml index 66cda3e7d..c8e24493f 100644 --- a/roles/custom/matrix-synapse/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-synapse/tasks/setup_uninstall.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2022 - 2023 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-synapse/tasks/update_user_password.yml b/roles/custom/matrix-synapse/tasks/update_user_password.yml index 32d24a154..cd8c44fe0 100644 --- a/roles/custom/matrix-synapse/tasks/update_user_password.yml +++ b/roles/custom/matrix-synapse/tasks/update_user_password.yml @@ -1,3 +1,13 @@ +# SPDX-FileCopyrightText: 2019 Dan Arnfield +# SPDX-FileCopyrightText: 2019 Lyubomir Popov +# SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2020 Chris van Dijk +# SPDX-FileCopyrightText: 2020 Christian Wolf +# SPDX-FileCopyrightText: 2020 MDAD project contributors +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if playbook called incorrectly diff --git a/roles/custom/matrix-synapse/tasks/validate_config.yml b/roles/custom/matrix-synapse/tasks/validate_config.yml index 8f73ad005..a0df4c057 100644 --- a/roles/custom/matrix-synapse/tasks/validate_config.yml +++ b/roles/custom/matrix-synapse/tasks/validate_config.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2019 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2024 Charles Wright +# SPDX-FileCopyrightText: 2024 MDAD project contributors +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required Synapse settings not defined From 431d4c414b2272bdd8e9b60001b87eb884e1c444 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 4 Mar 2025 19:22:26 +0900 Subject: [PATCH 639/841] Add license information to files in matrix-synapse/templates/goofys Signed-off-by: Suguru Hirahara --- .../matrix-synapse/templates/goofys/env-goofys.j2.license | 5 +++++ .../goofys/systemd/matrix-goofys.service.j2.license | 7 +++++++ 2 files changed, 12 insertions(+) create mode 100644 roles/custom/matrix-synapse/templates/goofys/env-goofys.j2.license create mode 100644 roles/custom/matrix-synapse/templates/goofys/systemd/matrix-goofys.service.j2.license diff --git a/roles/custom/matrix-synapse/templates/goofys/env-goofys.j2.license b/roles/custom/matrix-synapse/templates/goofys/env-goofys.j2.license new file mode 100644 index 000000000..72b378d97 --- /dev/null +++ b/roles/custom/matrix-synapse/templates/goofys/env-goofys.j2.license @@ -0,0 +1,5 @@ +SPDX-FileCopyrightText: 2018 - 2022 Slavi Pantaleev +SPDX-FileCopyrightText: 2019 Alexander Acevedo +SPDX-FileCopyrightText: 2019 Hugues De Keyzer + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-synapse/templates/goofys/systemd/matrix-goofys.service.j2.license b/roles/custom/matrix-synapse/templates/goofys/systemd/matrix-goofys.service.j2.license new file mode 100644 index 000000000..cf2001184 --- /dev/null +++ b/roles/custom/matrix-synapse/templates/goofys/systemd/matrix-goofys.service.j2.license @@ -0,0 +1,7 @@ +SPDX-FileCopyrightText: 2018 - 2025 Slavi Pantaleev +SPDX-FileCopyrightText: 2019 Alexander Acevedo +SPDX-FileCopyrightText: 2019 Hugues De Keyzer +SPDX-FileCopyrightText: 2020 Chris van Dijk +SPDX-FileCopyrightText: 2024 Jim Myhrberg + +SPDX-License-Identifier: AGPL-3.0-or-later From 2eb952201c41c6a0fa5b4b81041da3aef7dbdcb4 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 4 Mar 2025 19:22:38 +0900 Subject: [PATCH 640/841] Add license information to files in matrix-synapse/templates/synapse Signed-off-by: Suguru Hirahara --- .../synapse/bin/register-user.j2.license | 6 ++++ .../customizations/Dockerfile.j2.license | 5 +++ .../bin/migrate.j2.license | 5 +++ .../s3-storage-provider/bin/shell.j2.license | 4 +++ .../ext/s3-storage-provider/database.yaml.j2 | 6 ++++ .../synapse/ext/s3-storage-provider/env.j2 | 8 +++++ .../media_storage_provider.yaml.j2 | 8 +++++ ...torage-provider-migrate.service.j2.license | 3 ++ ...-storage-provider-migrate.timer.j2.license | 3 ++ .../synapse/homeserver.yaml.j2.license | 33 +++++++++++++++++++ .../templates/synapse/labels.j2 | 6 ++++ .../external_prometheus.yml.example.j2 | 8 +++++ .../synapse/synapse.log.config.j2.license | 5 +++ .../matrix-synapse-worker.service.j2.license | 5 +++ .../systemd/matrix-synapse.service.j2.license | 13 ++++++++ .../templates/synapse/worker-labels.j2 | 6 ++++ .../templates/synapse/worker.yaml.j2.license | 8 +++++ 17 files changed, 132 insertions(+) create mode 100644 roles/custom/matrix-synapse/templates/synapse/bin/register-user.j2.license create mode 100644 roles/custom/matrix-synapse/templates/synapse/customizations/Dockerfile.j2.license create mode 100644 roles/custom/matrix-synapse/templates/synapse/ext/s3-storage-provider/bin/migrate.j2.license create mode 100644 roles/custom/matrix-synapse/templates/synapse/ext/s3-storage-provider/bin/shell.j2.license create mode 100644 roles/custom/matrix-synapse/templates/synapse/ext/s3-storage-provider/systemd/matrix-synapse-s3-storage-provider-migrate.service.j2.license create mode 100644 roles/custom/matrix-synapse/templates/synapse/ext/s3-storage-provider/systemd/matrix-synapse-s3-storage-provider-migrate.timer.j2.license create mode 100644 roles/custom/matrix-synapse/templates/synapse/homeserver.yaml.j2.license create mode 100644 roles/custom/matrix-synapse/templates/synapse/synapse.log.config.j2.license create mode 100644 roles/custom/matrix-synapse/templates/synapse/systemd/matrix-synapse-worker.service.j2.license create mode 100644 roles/custom/matrix-synapse/templates/synapse/systemd/matrix-synapse.service.j2.license create mode 100644 roles/custom/matrix-synapse/templates/synapse/worker.yaml.j2.license diff --git a/roles/custom/matrix-synapse/templates/synapse/bin/register-user.j2.license b/roles/custom/matrix-synapse/templates/synapse/bin/register-user.j2.license new file mode 100644 index 000000000..d75acb7c2 --- /dev/null +++ b/roles/custom/matrix-synapse/templates/synapse/bin/register-user.j2.license @@ -0,0 +1,6 @@ +SPDX-FileCopyrightText: 2017 - 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2019 Hugues De Keyzer +SPDX-FileCopyrightText: 2019 Julian Foad +SPDX-FileCopyrightText: 2021 boris runakov + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-synapse/templates/synapse/customizations/Dockerfile.j2.license b/roles/custom/matrix-synapse/templates/synapse/customizations/Dockerfile.j2.license new file mode 100644 index 000000000..183cfa51b --- /dev/null +++ b/roles/custom/matrix-synapse/templates/synapse/customizations/Dockerfile.j2.license @@ -0,0 +1,5 @@ +SPDX-FileCopyrightText: 2022 - 2023 Slavi Pantaleev +SPDX-FileCopyrightText: 2023 Cody Wyatt Neiman +SPDX-FileCopyrightText: 2024 MDAD project contributors + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-synapse/templates/synapse/ext/s3-storage-provider/bin/migrate.j2.license b/roles/custom/matrix-synapse/templates/synapse/ext/s3-storage-provider/bin/migrate.j2.license new file mode 100644 index 000000000..a4cf34b72 --- /dev/null +++ b/roles/custom/matrix-synapse/templates/synapse/ext/s3-storage-provider/bin/migrate.j2.license @@ -0,0 +1,5 @@ +SPDX-FileCopyrightText: 2022 - 2023 Slavi Pantaleev +SPDX-FileCopyrightText: 2022 Cody Wyatt Neiman +SPDX-FileCopyrightText: 2024 Tiago Carrondo + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-synapse/templates/synapse/ext/s3-storage-provider/bin/shell.j2.license b/roles/custom/matrix-synapse/templates/synapse/ext/s3-storage-provider/bin/shell.j2.license new file mode 100644 index 000000000..939a124be --- /dev/null +++ b/roles/custom/matrix-synapse/templates/synapse/ext/s3-storage-provider/bin/shell.j2.license @@ -0,0 +1,4 @@ +SPDX-FileCopyrightText: 2022 - 2023 Slavi Pantaleev +SPDX-FileCopyrightText: 2024 Tiago Carrondo + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-synapse/templates/synapse/ext/s3-storage-provider/database.yaml.j2 b/roles/custom/matrix-synapse/templates/synapse/ext/s3-storage-provider/database.yaml.j2 index ed11645eb..6b9cf159b 100644 --- a/roles/custom/matrix-synapse/templates/synapse/ext/s3-storage-provider/database.yaml.j2 +++ b/roles/custom/matrix-synapse/templates/synapse/ext/s3-storage-provider/database.yaml.j2 @@ -1,3 +1,9 @@ +{# +SPDX-FileCopyrightText: 2022 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + user: {{ matrix_synapse_database_user | to_json }} password: {{ matrix_synapse_database_password | to_json }} database: {{ matrix_synapse_database_database | to_json }} diff --git a/roles/custom/matrix-synapse/templates/synapse/ext/s3-storage-provider/env.j2 b/roles/custom/matrix-synapse/templates/synapse/ext/s3-storage-provider/env.j2 index e50bf7e54..f9d8cd8f4 100644 --- a/roles/custom/matrix-synapse/templates/synapse/ext/s3-storage-provider/env.j2 +++ b/roles/custom/matrix-synapse/templates/synapse/ext/s3-storage-provider/env.j2 @@ -1,3 +1,11 @@ +{# +SPDX-FileCopyrightText: 2022 - 2023 Cody Wyatt Neiman +SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2023 MDAD project contributors + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + {% if not matrix_synapse_ext_synapse_s3_storage_provider_config_ec2_instance_profile | bool %} AWS_ACCESS_KEY_ID={{ matrix_synapse_ext_synapse_s3_storage_provider_config_access_key_id }} AWS_SECRET_ACCESS_KEY={{ matrix_synapse_ext_synapse_s3_storage_provider_config_secret_access_key }} diff --git a/roles/custom/matrix-synapse/templates/synapse/ext/s3-storage-provider/media_storage_provider.yaml.j2 b/roles/custom/matrix-synapse/templates/synapse/ext/s3-storage-provider/media_storage_provider.yaml.j2 index 97387e55c..988ff9868 100644 --- a/roles/custom/matrix-synapse/templates/synapse/ext/s3-storage-provider/media_storage_provider.yaml.j2 +++ b/roles/custom/matrix-synapse/templates/synapse/ext/s3-storage-provider/media_storage_provider.yaml.j2 @@ -1,3 +1,11 @@ +{# +SPDX-FileCopyrightText: 2022 - 2023 Cody Wyatt Neiman +SPDX-FileCopyrightText: 2022 - 2023 Slavi Pantaleev +SPDX-FileCopyrightText: 2023 MDAD project contributors + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + module: s3_storage_provider.S3StorageProviderBackend store_local: {{ matrix_synapse_ext_synapse_s3_storage_provider_store_local | to_json }} store_remote: {{ matrix_synapse_ext_synapse_s3_storage_provider_store_remote | to_json }} diff --git a/roles/custom/matrix-synapse/templates/synapse/ext/s3-storage-provider/systemd/matrix-synapse-s3-storage-provider-migrate.service.j2.license b/roles/custom/matrix-synapse/templates/synapse/ext/s3-storage-provider/systemd/matrix-synapse-s3-storage-provider-migrate.service.j2.license new file mode 100644 index 000000000..7b1e56adc --- /dev/null +++ b/roles/custom/matrix-synapse/templates/synapse/ext/s3-storage-provider/systemd/matrix-synapse-s3-storage-provider-migrate.service.j2.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2022 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-synapse/templates/synapse/ext/s3-storage-provider/systemd/matrix-synapse-s3-storage-provider-migrate.timer.j2.license b/roles/custom/matrix-synapse/templates/synapse/ext/s3-storage-provider/systemd/matrix-synapse-s3-storage-provider-migrate.timer.j2.license new file mode 100644 index 000000000..63cfcee34 --- /dev/null +++ b/roles/custom/matrix-synapse/templates/synapse/ext/s3-storage-provider/systemd/matrix-synapse-s3-storage-provider-migrate.timer.j2.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2022 - 2023 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-synapse/templates/synapse/homeserver.yaml.j2.license b/roles/custom/matrix-synapse/templates/synapse/homeserver.yaml.j2.license new file mode 100644 index 000000000..6cb772fc7 --- /dev/null +++ b/roles/custom/matrix-synapse/templates/synapse/homeserver.yaml.j2.license @@ -0,0 +1,33 @@ +SPDX-FileCopyrightText: 2018 - 2024 MDAD project contributors +SPDX-FileCopyrightText: 2018 - 2025 Slavi Pantaleev +SPDX-FileCopyrightText: 2018 Hugues Morisset +SPDX-FileCopyrightText: 2018 Thomas vO +SPDX-FileCopyrightText: 2019 - 2021 Marcel Partap +SPDX-FileCopyrightText: 2019 - 2022 Aaron Raimist +SPDX-FileCopyrightText: 2019 Ciaran Ainsworth +SPDX-FileCopyrightText: 2019 Dan Arnfield +SPDX-FileCopyrightText: 2019 Hugues De Keyzer +SPDX-FileCopyrightText: 2019 Lee Verberne +SPDX-FileCopyrightText: 2019 Lyubomir Popov +SPDX-FileCopyrightText: 2019 Oleg Fiksel +SPDX-FileCopyrightText: 2019 Sylvia van Os +SPDX-FileCopyrightText: 2020 Chris van Dijk +SPDX-FileCopyrightText: 2020 Justin Croonenberghs +SPDX-FileCopyrightText: 2020 Max Klenk +SPDX-FileCopyrightText: 2021 Ahmad Haghighi +SPDX-FileCopyrightText: 2021 Alejo Diaz +SPDX-FileCopyrightText: 2021 Pablo Montepagano +SPDX-FileCopyrightText: 2021 Toni Spets +SPDX-FileCopyrightText: 2021 boris runakov +SPDX-FileCopyrightText: 2022 - 2024 Nikita Chernyi +SPDX-FileCopyrightText: 2022 Benjamin Castellan +SPDX-FileCopyrightText: 2022 Jim Myhrberg +SPDX-FileCopyrightText: 2022 Shaleen Jain +SPDX-FileCopyrightText: 2022 Yan Minagawa +SPDX-FileCopyrightText: 2023 - 2024 Michael Hollister +SPDX-FileCopyrightText: 2023 Aeris One +SPDX-FileCopyrightText: 2023 Alexis Yushin +SPDX-FileCopyrightText: 2023 Luke D Iremadze +SPDX-FileCopyrightText: 2024 Suguru Hirahara + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-synapse/templates/synapse/labels.j2 b/roles/custom/matrix-synapse/templates/synapse/labels.j2 index dd4d776c1..0d522c356 100644 --- a/roles/custom/matrix-synapse/templates/synapse/labels.j2 +++ b/roles/custom/matrix-synapse/templates/synapse/labels.j2 @@ -1,3 +1,9 @@ +{# +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + {% if matrix_synapse_container_labels_traefik_enabled %} traefik.enable=true diff --git a/roles/custom/matrix-synapse/templates/synapse/prometheus/external_prometheus.yml.example.j2 b/roles/custom/matrix-synapse/templates/synapse/prometheus/external_prometheus.yml.example.j2 index de39e36fa..897c19fce 100644 --- a/roles/custom/matrix-synapse/templates/synapse/prometheus/external_prometheus.yml.example.j2 +++ b/roles/custom/matrix-synapse/templates/synapse/prometheus/external_prometheus.yml.example.j2 @@ -1,3 +1,11 @@ +{# +SPDX-FileCopyrightText: 2021 MDAD project contributors +SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2022 Kim Brose + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + global: scrape_interval: 5s diff --git a/roles/custom/matrix-synapse/templates/synapse/synapse.log.config.j2.license b/roles/custom/matrix-synapse/templates/synapse/synapse.log.config.j2.license new file mode 100644 index 000000000..17b1ad961 --- /dev/null +++ b/roles/custom/matrix-synapse/templates/synapse/synapse.log.config.j2.license @@ -0,0 +1,5 @@ +SPDX-FileCopyrightText: 2018 - 2022 Slavi Pantaleev +SPDX-FileCopyrightText: 2018 Aaron Raimist +SPDX-FileCopyrightText: 2019 Hugues De Keyzer + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-synapse/templates/synapse/systemd/matrix-synapse-worker.service.j2.license b/roles/custom/matrix-synapse/templates/synapse/systemd/matrix-synapse-worker.service.j2.license new file mode 100644 index 000000000..18a2c5037 --- /dev/null +++ b/roles/custom/matrix-synapse/templates/synapse/systemd/matrix-synapse-worker.service.j2.license @@ -0,0 +1,5 @@ +SPDX-FileCopyrightText: 2021 - 2025 Slavi Pantaleev +SPDX-FileCopyrightText: 2022 Shaleen Jain +SPDX-FileCopyrightText: 2024 Michael Hollister + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-synapse/templates/synapse/systemd/matrix-synapse.service.j2.license b/roles/custom/matrix-synapse/templates/synapse/systemd/matrix-synapse.service.j2.license new file mode 100644 index 000000000..4ebda2856 --- /dev/null +++ b/roles/custom/matrix-synapse/templates/synapse/systemd/matrix-synapse.service.j2.license @@ -0,0 +1,13 @@ +SPDX-FileCopyrightText: 2017 - 2025 Slavi Pantaleev +SPDX-FileCopyrightText: 2019 - 2021 MDAD project contributors +SPDX-FileCopyrightText: 2019 Aaron Raimist +SPDX-FileCopyrightText: 2019 Hugues De Keyzer +SPDX-FileCopyrightText: 2019 Sylvia van Os +SPDX-FileCopyrightText: 2020 - 2021 Marcel Partap +SPDX-FileCopyrightText: 2020 Chris van Dijk +SPDX-FileCopyrightText: 2021 boris runakov +SPDX-FileCopyrightText: 2022 László Várady +SPDX-FileCopyrightText: 2022 Shaleen Jain +SPDX-FileCopyrightText: 2024 Michael Hollister + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-synapse/templates/synapse/worker-labels.j2 b/roles/custom/matrix-synapse/templates/synapse/worker-labels.j2 index 9cf4feaed..2fcbe4add 100644 --- a/roles/custom/matrix-synapse/templates/synapse/worker-labels.j2 +++ b/roles/custom/matrix-synapse/templates/synapse/worker-labels.j2 @@ -1,3 +1,9 @@ +{# +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + {% if matrix_synapse_worker_container_labels_traefik_enabled %} traefik.enable=true diff --git a/roles/custom/matrix-synapse/templates/synapse/worker.yaml.j2.license b/roles/custom/matrix-synapse/templates/synapse/worker.yaml.j2.license new file mode 100644 index 000000000..2ab771284 --- /dev/null +++ b/roles/custom/matrix-synapse/templates/synapse/worker.yaml.j2.license @@ -0,0 +1,8 @@ +SPDX-FileCopyrightText: 2020 Marcel Partap +SPDX-FileCopyrightText: 2020 Max Klenk +SPDX-FileCopyrightText: 2021 - 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2021 boris runakov +SPDX-FileCopyrightText: 2022 David Mehren +SPDX-FileCopyrightText: 2024 Charles Wright + +SPDX-License-Identifier: AGPL-3.0-or-later From d9d4c6f05fc27a6c84cbbece206ffe7858561668 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 4 Mar 2025 19:22:43 +0900 Subject: [PATCH 641/841] Add license information to roles/custom/matrix-synapse/vars/main.yml Signed-off-by: Suguru Hirahara --- roles/custom/matrix-synapse/vars/main.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/roles/custom/matrix-synapse/vars/main.yml b/roles/custom/matrix-synapse/vars/main.yml index f47a2e848..f4de30ac8 100644 --- a/roles/custom/matrix-synapse/vars/main.yml +++ b/roles/custom/matrix-synapse/vars/main.yml @@ -1,3 +1,11 @@ +# SPDX-FileCopyrightText: 2019 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2023 Alexis Yushin +# SPDX-FileCopyrightText: 2024 Charles Wright +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- matrix_synapse_client_api_url_endpoint_public: "{{ 'https' if matrix_playbook_ssl_enabled else 'http' }}://{{ matrix_server_fqn_matrix }}/_matrix/client/versions" From 3684842e86adc0b027e6960ff95f9500a3b8f32d Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 4 Mar 2025 19:22:48 +0900 Subject: [PATCH 642/841] Add license information to docs/configuring-playbook-synapse.md Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-synapse.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/docs/configuring-playbook-synapse.md b/docs/configuring-playbook-synapse.md index 72666042c..4a15ef701 100644 --- a/docs/configuring-playbook-synapse.md +++ b/docs/configuring-playbook-synapse.md @@ -1,3 +1,14 @@ + + # Configuring Synapse (optional) By default, this playbook configures the [Synapse](https://github.com/element-hq/synapse) Matrix server, so that it works for the general case. If that's okay, you can skip this document. From 7fca7ceea860d2cc24afd0640fd20b04ad47ac69 Mon Sep 17 00:00:00 2001 From: Aine Date: Tue, 4 Mar 2025 12:43:52 +0200 Subject: [PATCH 643/841] Borgmatic v1.9.13 --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 6677b8ec2..7c11007ca 100644 --- a/requirements.yml +++ b/requirements.yml @@ -4,7 +4,7 @@ version: v1.0.0-5 name: auxiliary - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg.git - version: v1.4.0-1.9.10-6 + version: v1.4.0-1.9.13-0 name: backup_borg - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-container-socket-proxy.git version: v0.3.0-4 From 76f9e7f34f5fdc55bcff423d81407e997091ee11 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 4 Mar 2025 10:44:30 +0000 Subject: [PATCH 644/841] Update ajbura/cinny Docker tag to v4.5.0 --- roles/custom/matrix-client-cinny/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-client-cinny/defaults/main.yml b/roles/custom/matrix-client-cinny/defaults/main.yml index 3f103becb..fa0597af6 100644 --- a/roles/custom/matrix-client-cinny/defaults/main.yml +++ b/roles/custom/matrix-client-cinny/defaults/main.yml @@ -17,7 +17,7 @@ matrix_client_cinny_container_image_self_build: false matrix_client_cinny_container_image_self_build_repo: "https://github.com/ajbura/cinny.git" # renovate: datasource=docker depName=ajbura/cinny -matrix_client_cinny_version: v4.4.0 +matrix_client_cinny_version: v4.5.0 matrix_client_cinny_docker_image: "{{ matrix_client_cinny_docker_image_registry_prefix }}ajbura/cinny:{{ matrix_client_cinny_version }}" matrix_client_cinny_docker_image_registry_prefix: "{{ 'localhost/' if matrix_client_cinny_container_image_self_build else matrix_client_cinny_docker_image_registry_prefix_upstream }}" matrix_client_cinny_docker_image_registry_prefix_upstream: "{{ matrix_client_cinny_docker_image_registry_prefix_upstream_default }}" From 424e5c66464ee1de70615000d244cfd82243a2f2 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 4 Mar 2025 20:49:21 +0900 Subject: [PATCH 645/841] Update docs/configuring-playbook-synapse-simple-antispam.md: add the section for installing Signed-off-by: Suguru Hirahara --- ...onfiguring-playbook-synapse-simple-antispam.md | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/docs/configuring-playbook-synapse-simple-antispam.md b/docs/configuring-playbook-synapse-simple-antispam.md index 35b106a60..b5d99844c 100644 --- a/docs/configuring-playbook-synapse-simple-antispam.md +++ b/docs/configuring-playbook-synapse-simple-antispam.md @@ -1,6 +1,6 @@ @@ -24,3 +24,16 @@ matrix_synapse_ext_spam_checker_synapse_simple_antispam_config_blocked_homeserve - example.com - example.net ``` + +## Installing + +After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below: + + +```sh +ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start +``` + +The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` + +`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. From 70b4fd0489d8c8e886d04206ae5b696f1de390f5 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 4 Mar 2025 20:57:57 +0900 Subject: [PATCH 646/841] Update docs/configuring-playbook-synapse-s3-storage-provider.md: adopt the common introduction and add the section for installing Signed-off-by: Suguru Hirahara --- ...ng-playbook-synapse-s3-storage-provider.md | 23 ++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/docs/configuring-playbook-synapse-s3-storage-provider.md b/docs/configuring-playbook-synapse-s3-storage-provider.md index eccd58c02..0d7c312ce 100644 --- a/docs/configuring-playbook-synapse-s3-storage-provider.md +++ b/docs/configuring-playbook-synapse-s3-storage-provider.md @@ -2,16 +2,20 @@ SPDX-FileCopyrightText: 2022 - 2023 Slavi Pantaleev SPDX-FileCopyrightText: 2023 Cody Wyatt Neiman SPDX-FileCopyrightText: 2023 MDAD project contributors -SPDX-FileCopyrightText: 2024 Suguru Hirahara +SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara SPDX-License-Identifier: AGPL-3.0-or-later --> # Storing Synapse media files on Amazon S3 with synapse-s3-storage-provider (optional) -If you'd like to store Synapse's content repository (`media_store`) files on Amazon S3 (or other S3-compatible service), you can use the [synapse-s3-storage-provider](https://github.com/matrix-org/synapse-s3-storage-provider) media provider module for Synapse. +The playbook can install and configure the [synapse-s3-storage-provider](https://github.com/matrix-org/synapse-s3-storage-provider) for you. -An alternative (which has worse performance) is to use [Goofys to mount the S3 store to the local filesystem](configuring-playbook-s3-goofys.md). +It is a media provider module for Synapse to store Synapse's content repository (`media_store`) files on Amazon S3 (or other S3-compatible service) object storage. + +See the project's [documentation](https://github.com/matrix-org/synapse-s3-storage-provider/blob/main/README.md) to learn what it does and why it might be useful to you. + +**Note**: alternatively you can use [Goofys to mount the S3 store to the local filesystem](configuring-playbook-s3-goofys.md) despite worse performance. ## How it works? @@ -62,6 +66,19 @@ Take a look at: - `roles/custom/matrix-synapse/defaults/main.yml` for some variables that you can customize via your `vars.yml` file +## Installing + +After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below: + + +```sh +ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start +``` + +The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` + +`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. + ## Usage If you have existing files in Synapse's media repository (`/matrix/synapse/storage/media-store/…`): From f059b72bb58572953c906d295efddb924c7f26c9 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 4 Mar 2025 21:20:57 +0900 Subject: [PATCH 647/841] Update docs/configuring-playbook-s3-goofys.md - Adopt the common instruction - Add a copyright header Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-s3-goofys.md | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/docs/configuring-playbook-s3-goofys.md b/docs/configuring-playbook-s3-goofys.md index 2efdac86e..2e3e76bea 100644 --- a/docs/configuring-playbook-s3-goofys.md +++ b/docs/configuring-playbook-s3-goofys.md @@ -1,12 +1,21 @@ + + # Storing Matrix media files on Amazon S3 with Goofys (optional) -If you'd like to store Synapse's content repository (`media_store`) files on Amazon S3 (or other S3-compatible service), you can let this playbook configure [Goofys](https://github.com/kahing/goofys) for you. +The playbook can install and configure [Goofys](https://github.com/kahing/goofys) for you. -Another (and better performing) way to use S3 storage with Synapse is [synapse-s3-storage-provider](configuring-playbook-synapse-s3-storage-provider.md). +Goofys makes it possible to store Synapse's content repository (`media_store`) files on Amazon S3 (or other S3-compatible service) object storage. -Using a Goofys-backed media store works, but performance may not be ideal. If possible, try to use a region which is close to your Matrix server. +See the project's [documentation](https://github.com/kahing/goofys/blob/master/README.md) to learn what it does and why it might be useful to you. -If you'd like to move your locally-stored media store data to Amazon S3 (or another S3-compatible object store), we also provide some migration instructions below. +**Note**: as performance of a Goofys-backed media store may not be ideal, you may wish to use [synapse-s3-storage-provider](configuring-playbook-synapse-s3-storage-provider.md) instead, another (and better performing) way to mount a S3 bucket for Synapse. + +If you'd like to move your locally-stored media store data to Amazon S3 (or another S3-compatible object store), you can refer our migration instructions below. ## Adjusting the playbook configuration From 0b9e4df5d336959549e1c28b5b76f61d58f703eb Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 4 Mar 2025 21:29:29 +0900 Subject: [PATCH 648/841] Update docs: add "Synapse" to the title of configuring-playbook-s3-goofys.md Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-s3-goofys.md | 2 +- docs/configuring-playbook.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/configuring-playbook-s3-goofys.md b/docs/configuring-playbook-s3-goofys.md index 2e3e76bea..8fcf145a0 100644 --- a/docs/configuring-playbook-s3-goofys.md +++ b/docs/configuring-playbook-s3-goofys.md @@ -5,7 +5,7 @@ SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara SPDX-License-Identifier: AGPL-3.0-or-later --> -# Storing Matrix media files on Amazon S3 with Goofys (optional) +# Storing Synapse media files on Amazon S3 with Goofys (optional) The playbook can install and configure [Goofys](https://github.com/kahing/goofys) for you. diff --git a/docs/configuring-playbook.md b/docs/configuring-playbook.md index 769ec21ab..1e8762ca4 100644 --- a/docs/configuring-playbook.md +++ b/docs/configuring-playbook.md @@ -120,7 +120,7 @@ Extend and modify how users are authenticated on your homeserver. Use alternative file storage to the default `media_store` folder. -- [Storing Matrix media files on Amazon S3 with Goofys](configuring-playbook-s3-goofys.md) +- [Storing Synapse media files on Amazon S3 with Goofys](configuring-playbook-s3-goofys.md) - [Storing Synapse media files on Amazon S3 or another compatible Object Storage](configuring-playbook-s3.md) From ed23f9b5dbf710d257af0c37bc8c68a564c3ba39 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 4 Mar 2025 21:32:11 +0900 Subject: [PATCH 649/841] Update docs/configuring-playbook.md: file storage section - Add a link to configuring-playbook-synapse-s3-storage-provider.md - Sort items Signed-off-by: Suguru Hirahara --- docs/configuring-playbook.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/configuring-playbook.md b/docs/configuring-playbook.md index 1e8762ca4..6a867b8d6 100644 --- a/docs/configuring-playbook.md +++ b/docs/configuring-playbook.md @@ -120,11 +120,13 @@ Extend and modify how users are authenticated on your homeserver. Use alternative file storage to the default `media_store` folder. -- [Storing Synapse media files on Amazon S3 with Goofys](configuring-playbook-s3-goofys.md) +- [Storing Matrix media files using matrix-media-repo](configuring-playbook-matrix-media-repo.md) - [Storing Synapse media files on Amazon S3 or another compatible Object Storage](configuring-playbook-s3.md) -- [Storing Matrix media files using matrix-media-repo](configuring-playbook-matrix-media-repo.md) +- [Storing Synapse media files on Amazon S3 with Goofys](configuring-playbook-s3-goofys.md) + +- [Storing Synapse media files on Amazon S3 with synapse-s3-storage-provider](configuring-playbook-synapse-s3-storage-provider.md) ### Bridging other networks From 015b0d7cb43e480c698fb483df3cc7c0e0aa7c0c Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Wed, 5 Mar 2025 00:25:49 +0900 Subject: [PATCH 650/841] Add license information to files in examples Signed-off-by: Suguru Hirahara --- examples/host.yml | 5 +++++ examples/hosts.license | 8 ++++++++ examples/vars.yml.license | 9 +++++++++ 3 files changed, 22 insertions(+) create mode 100644 examples/hosts.license create mode 100644 examples/vars.yml.license diff --git a/examples/host.yml b/examples/host.yml index 85d2f3170..cd43db4da 100644 --- a/examples/host.yml +++ b/examples/host.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # This is a host file for usage with the `../bin/ansible-all-hosts.sh` script, diff --git a/examples/hosts.license b/examples/hosts.license new file mode 100644 index 000000000..91ac0d395 --- /dev/null +++ b/examples/hosts.license @@ -0,0 +1,8 @@ +SPDX-FileCopyrightText: 2017 - 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2019 Dan Arnfield +SPDX-FileCopyrightText: 2019 MDAD project contributors +SPDX-FileCopyrightText: 2021 Aaron Raimist +SPDX-FileCopyrightText: 2023 David Holdeman +SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/examples/vars.yml.license b/examples/vars.yml.license new file mode 100644 index 000000000..a0845f66a --- /dev/null +++ b/examples/vars.yml.license @@ -0,0 +1,9 @@ +SPDX-FileCopyrightText: 2017 - 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2018 Hugues Morisset +SPDX-FileCopyrightText: 2018 MDAD project contributors +SPDX-FileCopyrightText: 2020 Olaf Schoenwald +SPDX-FileCopyrightText: 2021 Kim Brose +SPDX-FileCopyrightText: 2022 Marko Weltzer +SPDX-FileCopyrightText: 2024 Suguru Hirahara + +SPDX-License-Identifier: AGPL-3.0-or-later From 687449fcbaf2dba11481cff861112bd981554a2e Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Wed, 5 Mar 2025 00:25:58 +0900 Subject: [PATCH 651/841] Add license information for README.md Signed-off-by: Suguru Hirahara --- README.md.license | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 README.md.license diff --git a/README.md.license b/README.md.license new file mode 100644 index 000000000..430773b9b --- /dev/null +++ b/README.md.license @@ -0,0 +1,34 @@ +SPDX-FileCopyrightText: 2017 - 2025 MDAD project contributors +SPDX-FileCopyrightText: 2017 - 2025 Slavi Pantaleev +SPDX-FileCopyrightText: 2018 - 2021 Aaron Raimist +SPDX-FileCopyrightText: 2019 - 2020 Hugues Morisset +SPDX-FileCopyrightText: 2019 Edgars Voroboks +SPDX-FileCopyrightText: 2019 Eduardo Beltrame +SPDX-FileCopyrightText: 2020 Björn Marten +SPDX-FileCopyrightText: 2020 Lee Verberne +SPDX-FileCopyrightText: 2020 Marcel Partap +SPDX-FileCopyrightText: 2020 Matthew Croughan +SPDX-FileCopyrightText: 2020 Tulir Asokan +SPDX-FileCopyrightText: 2021 Alexandar Mechev +SPDX-FileCopyrightText: 2021 Béla Becker +SPDX-FileCopyrightText: 2021 Cody Neiman +SPDX-FileCopyrightText: 2021 Marcus Proest +SPDX-FileCopyrightText: 2021 Matthew Cengia +SPDX-FileCopyrightText: 2021 Prasiddh Pooskur +SPDX-FileCopyrightText: 2021 Toni Spets +SPDX-FileCopyrightText: 2021 Yannick Goossens +SPDX-FileCopyrightText: 2022 - 2023 Cody Wyatt Neiman +SPDX-FileCopyrightText: 2022 - 2025 Nikita Chernyi +SPDX-FileCopyrightText: 2022 Andrew Morgan +SPDX-FileCopyrightText: 2022 Christos Karamolegkos +SPDX-FileCopyrightText: 2022 Dennis Ciba +SPDX-FileCopyrightText: 2022 Julian Foad +SPDX-FileCopyrightText: 2022 Julian-Samuel Gebühr +SPDX-FileCopyrightText: 2022 Kim Brose +SPDX-FileCopyrightText: 2023 - 2024 Michael Hollister +SPDX-FileCopyrightText: 2023 Joe Kappus +SPDX-FileCopyrightText: 2023 Pierre 'McFly' Marty +SPDX-FileCopyrightText: 2023 Shreyas Ajjarapu +SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara + +SPDX-License-Identifier: AGPL-3.0-or-later From e1c03dc7ff3cee9abb89a5796eb8e531196ec633 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Wed, 5 Mar 2025 00:26:05 +0900 Subject: [PATCH 652/841] Add license information to a role Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-appservice-draupnir-for-all.md | 7 +++++++ docs/configuring-playbook-bot-draupnir.md | 9 +++++++++ roles/custom/matrix-bot-draupnir/defaults/main.yml | 6 ++++++ roles/custom/matrix-bot-draupnir/tasks/main.yml | 5 +++++ roles/custom/matrix-bot-draupnir/tasks/setup_install.yml | 7 +++++++ .../custom/matrix-bot-draupnir/tasks/setup_uninstall.yml | 4 ++++ .../custom/matrix-bot-draupnir/tasks/validate_config.yml | 5 +++++ roles/custom/matrix-bot-draupnir/templates/labels.j2 | 6 ++++++ .../matrix-bot-draupnir/templates/production.yaml.j2 | 8 ++++++++ .../systemd/matrix-bot-draupnir.service.j2.license | 4 ++++ 10 files changed, 61 insertions(+) create mode 100644 roles/custom/matrix-bot-draupnir/templates/systemd/matrix-bot-draupnir.service.j2.license diff --git a/docs/configuring-playbook-appservice-draupnir-for-all.md b/docs/configuring-playbook-appservice-draupnir-for-all.md index ee5c11700..69890b3af 100644 --- a/docs/configuring-playbook-appservice-draupnir-for-all.md +++ b/docs/configuring-playbook-appservice-draupnir-for-all.md @@ -1,3 +1,10 @@ + + # Setting up Draupnir for All/D4A (optional) The playbook can install and configure the [Draupnir](https://github.com/the-draupnir-project/Draupnir) moderation tool for you in appservice mode. diff --git a/docs/configuring-playbook-bot-draupnir.md b/docs/configuring-playbook-bot-draupnir.md index 965906b16..92f5c5969 100644 --- a/docs/configuring-playbook-bot-draupnir.md +++ b/docs/configuring-playbook-bot-draupnir.md @@ -1,3 +1,12 @@ + + # Setting up Draupnir (optional) The playbook can install and configure the [Draupnir](https://github.com/the-draupnir-project/Draupnir) moderation bot for you. diff --git a/roles/custom/matrix-bot-draupnir/defaults/main.yml b/roles/custom/matrix-bot-draupnir/defaults/main.yml index 3ce88a4a0..8bb6ae8b4 100644 --- a/roles/custom/matrix-bot-draupnir/defaults/main.yml +++ b/roles/custom/matrix-bot-draupnir/defaults/main.yml @@ -1,3 +1,9 @@ +# SPDX-FileCopyrightText: 2023 - 2024 MDAD project contributors +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # A moderation tool for Matrix # Project source code URL: https://github.com/the-draupnir-project/Draupnir diff --git a/roles/custom/matrix-bot-draupnir/tasks/main.yml b/roles/custom/matrix-bot-draupnir/tasks/main.yml index 66c7cd06e..e379c5e21 100644 --- a/roles/custom/matrix-bot-draupnir/tasks/main.yml +++ b/roles/custom/matrix-bot-draupnir/tasks/main.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2023 MDAD project contributors +# SPDX-FileCopyrightText: 2023 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - tags: diff --git a/roles/custom/matrix-bot-draupnir/tasks/setup_install.yml b/roles/custom/matrix-bot-draupnir/tasks/setup_install.yml index 0ddf994e7..140d6e7e6 100644 --- a/roles/custom/matrix-bot-draupnir/tasks/setup_install.yml +++ b/roles/custom/matrix-bot-draupnir/tasks/setup_install.yml @@ -1,3 +1,10 @@ +# SPDX-FileCopyrightText: 2023 - 2024 MDAD project contributors +# SPDX-FileCopyrightText: 2024 David Mehren +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - ansible.builtin.set_fact: diff --git a/roles/custom/matrix-bot-draupnir/tasks/setup_uninstall.yml b/roles/custom/matrix-bot-draupnir/tasks/setup_uninstall.yml index 10583a0bc..78f577a56 100644 --- a/roles/custom/matrix-bot-draupnir/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-bot-draupnir/tasks/setup_uninstall.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2023 MDAD project contributors +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Check existence of matrix-bot-draupnir service diff --git a/roles/custom/matrix-bot-draupnir/tasks/validate_config.yml b/roles/custom/matrix-bot-draupnir/tasks/validate_config.yml index b369a5c00..81b7ab00c 100644 --- a/roles/custom/matrix-bot-draupnir/tasks/validate_config.yml +++ b/roles/custom/matrix-bot-draupnir/tasks/validate_config.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2023 - 2025 MDAD project contributors +# SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- - name: Fail if required matrix-bot-draupnir variables are undefined diff --git a/roles/custom/matrix-bot-draupnir/templates/labels.j2 b/roles/custom/matrix-bot-draupnir/templates/labels.j2 index f24a77ddf..aeab96277 100644 --- a/roles/custom/matrix-bot-draupnir/templates/labels.j2 +++ b/roles/custom/matrix-bot-draupnir/templates/labels.j2 @@ -1,3 +1,9 @@ +{# +SPDX-FileCopyrightText: 2024 MDAD project contributors + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + {% if matrix_bot_draupnir_container_labels_traefik_enabled %} traefik.enable=true diff --git a/roles/custom/matrix-bot-draupnir/templates/production.yaml.j2 b/roles/custom/matrix-bot-draupnir/templates/production.yaml.j2 index 56b82e322..147472936 100644 --- a/roles/custom/matrix-bot-draupnir/templates/production.yaml.j2 +++ b/roles/custom/matrix-bot-draupnir/templates/production.yaml.j2 @@ -1,3 +1,11 @@ +{# +SPDX-FileCopyrightText: 2023 - 2024 MDAD project contributors +SPDX-FileCopyrightText: 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2024 Suguru Hirahara + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + # Endpoint URL that Draupnir uses to interact with the Matrix homeserver (client-server API), homeserverUrl: {{ matrix_bot_draupnir_homeserver_url | to_json }} diff --git a/roles/custom/matrix-bot-draupnir/templates/systemd/matrix-bot-draupnir.service.j2.license b/roles/custom/matrix-bot-draupnir/templates/systemd/matrix-bot-draupnir.service.j2.license new file mode 100644 index 000000000..ff638a924 --- /dev/null +++ b/roles/custom/matrix-bot-draupnir/templates/systemd/matrix-bot-draupnir.service.j2.license @@ -0,0 +1,4 @@ +SPDX-FileCopyrightText: 2023 - 2025 Slavi Pantaleev +SPDX-FileCopyrightText: 2024 MDAD project contributors + +SPDX-License-Identifier: AGPL-3.0-or-later From 8be34c1ef1a712dc0fe52aea9f564ad64b9a528b Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Wed, 5 Mar 2025 00:26:13 +0900 Subject: [PATCH 653/841] Add license information for setup.yml Signed-off-by: Suguru Hirahara --- setup.yml.license | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 setup.yml.license diff --git a/setup.yml.license b/setup.yml.license new file mode 100644 index 000000000..1668032ac --- /dev/null +++ b/setup.yml.license @@ -0,0 +1,36 @@ +SPDX-FileCopyrightText: 2017 - 2025 Slavi Pantaleev +SPDX-FileCopyrightText: 2019 - 2025 MDAD project contributors +SPDX-FileCopyrightText: 2019 Dan Arnfield +SPDX-FileCopyrightText: 2019 Edgars Voroboks +SPDX-FileCopyrightText: 2020 Björn Marten +SPDX-FileCopyrightText: 2020 Hugues Morisset +SPDX-FileCopyrightText: 2020 Marcel Partap +SPDX-FileCopyrightText: 2020 Max Klenk +SPDX-FileCopyrightText: 2020 Rodrigo Belem +SPDX-FileCopyrightText: 2020 Scott Crossen +SPDX-FileCopyrightText: 2020 Tulir Asokan +SPDX-FileCopyrightText: 2021 Aaron Raimist +SPDX-FileCopyrightText: 2021 Alexandar Mechev +SPDX-FileCopyrightText: 2021 Béla Becker +SPDX-FileCopyrightText: 2021 Cody Neiman +SPDX-FileCopyrightText: 2021 Marcus Proest +SPDX-FileCopyrightText: 2021 Matthew Cengia +SPDX-FileCopyrightText: 2021 Raymond Coetzee +SPDX-FileCopyrightText: 2021 Toni Spets +SPDX-FileCopyrightText: 2021 Yannick Goossens +SPDX-FileCopyrightText: 2022 - 2024 Nikita Chernyi +SPDX-FileCopyrightText: 2022 Charles Wright +SPDX-FileCopyrightText: 2022 Jip J. Dekker +SPDX-FileCopyrightText: 2022 Julian Foad +SPDX-FileCopyrightText: 2022 Julian-Samuel Gebühr +SPDX-FileCopyrightText: 2022 Vladimir Panteleev +SPDX-FileCopyrightText: 2022 Warren Bailey +SPDX-FileCopyrightText: 2023 - 2024 Michael Hollister +SPDX-FileCopyrightText: 2023 Antonis Christofides +SPDX-FileCopyrightText: 2023 Cody Wyatt Neiman +SPDX-FileCopyrightText: 2023 Johan Swetzén +SPDX-FileCopyrightText: 2023 Pierre 'McFly' Marty +SPDX-FileCopyrightText: 2023 Shreyas Ajjarapu +SPDX-FileCopyrightText: 2024 Suguru Hirahara + +SPDX-License-Identifier: AGPL-3.0-or-later From 975692c84d398225eea66e413d6788e82f1480f4 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Wed, 5 Mar 2025 00:26:22 +0900 Subject: [PATCH 654/841] Add SPDX-License-Identifier to extract-translation-templates.sh Signed-off-by: Suguru Hirahara --- i18n/bin/extract-translation-templates.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/i18n/bin/extract-translation-templates.sh b/i18n/bin/extract-translation-templates.sh index 3cbaeec8f..f023ea28c 100755 --- a/i18n/bin/extract-translation-templates.sh +++ b/i18n/bin/extract-translation-templates.sh @@ -1,6 +1,8 @@ #!/bin/bash # SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later # This script extracts translation templates (original English strings) into the `translation-templates/` directory. # These templates are later used to generate locale files for each language in the `locales/` directory. From d0ad3f22f8ddb7c60f3d6c0825e140f1f7e8f1cb Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Wed, 5 Mar 2025 00:26:29 +0900 Subject: [PATCH 655/841] Update docs/configuring-playbook-ntfy.md: add a copyright header Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-ntfy.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/docs/configuring-playbook-ntfy.md b/docs/configuring-playbook-ntfy.md index ac7c157e2..47c7d953a 100644 --- a/docs/configuring-playbook-ntfy.md +++ b/docs/configuring-playbook-ntfy.md @@ -1,3 +1,13 @@ + + # Setting up the ntfy push notifications server (optional) The playbook can install and configure the [ntfy](https://ntfy.sh/) push notifications server for you. From 4bc715da4be8996a81b402f778b5b1b3ac1e0f2c Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Wed, 5 Mar 2025 00:26:36 +0900 Subject: [PATCH 656/841] Update docs/configuring-playbook-external-postgres.md: add a copyright header Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-external-postgres.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/configuring-playbook-external-postgres.md b/docs/configuring-playbook-external-postgres.md index ca49d985c..f860f4413 100644 --- a/docs/configuring-playbook-external-postgres.md +++ b/docs/configuring-playbook-external-postgres.md @@ -1,3 +1,10 @@ + + # Using an external PostgreSQL server (optional) By default, this playbook would set up a PostgreSQL database server on your machine, running in a Docker container. If that's okay, you can skip this document. From 825cef5f04a4873a267fb174368f7a2c0cb865c4 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Wed, 5 Mar 2025 00:26:43 +0900 Subject: [PATCH 657/841] Update docs/configuring-playbook-prometheus-grafana.md: add a copyright header Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-prometheus-grafana.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/docs/configuring-playbook-prometheus-grafana.md b/docs/configuring-playbook-prometheus-grafana.md index e88e31b1e..6a32b5ab1 100644 --- a/docs/configuring-playbook-prometheus-grafana.md +++ b/docs/configuring-playbook-prometheus-grafana.md @@ -1,3 +1,16 @@ + + # Enabling metrics and graphs (Prometheus, Grafana) for your Matrix server (optional) The playbook can install [Prometheus](https://prometheus.io/) with [Grafana](https://grafana.com/) and configure performance metrics of your homeserver with graphs for you. From 0996b3098f454d5c46d2a2d0dd027859216b1934 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Wed, 5 Mar 2025 00:26:49 +0900 Subject: [PATCH 658/841] Update docs/configuring-playbook-riot-web.md: add a copyright header Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-riot-web.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/configuring-playbook-riot-web.md b/docs/configuring-playbook-riot-web.md index b967b6b6b..1652f5eb9 100644 --- a/docs/configuring-playbook-riot-web.md +++ b/docs/configuring-playbook-riot-web.md @@ -1,3 +1,11 @@ + + # Configuring Riot-web (optional) By default, this playbook **used to install** the [Riot-web](https://github.com/element-hq/riot-web) Matrix client web application. From c72b8f1726faa144a31521eb9edb4a00c2a032d6 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Wed, 5 Mar 2025 00:26:55 +0900 Subject: [PATCH 659/841] Update docs/configuring-playbook-traefik.md: add a copyright header Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-traefik.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/configuring-playbook-traefik.md b/docs/configuring-playbook-traefik.md index 489d2e8df..46b236580 100644 --- a/docs/configuring-playbook-traefik.md +++ b/docs/configuring-playbook-traefik.md @@ -1,3 +1,12 @@ + + # Configuring the Traefik reverse-proxy (optional, advanced) By default, this playbook installs and manages a [Traefik](https://doc.traefik.io/traefik/) reverse-proxy server, powered by the [ansible-role-traefik](https://github.com/mother-of-all-self-hosting/ansible-role-traefik) Ansible role for you. If that's okay, you can skip this document. From d467c5f54f82a64d76d47d351c17c26032f74e41 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Wed, 5 Mar 2025 00:27:00 +0900 Subject: [PATCH 660/841] Update docs/configuring-playbook-s3.md: add a copyright header Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-s3.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/configuring-playbook-s3.md b/docs/configuring-playbook-s3.md index 3679b6add..1aa190df5 100644 --- a/docs/configuring-playbook-s3.md +++ b/docs/configuring-playbook-s3.md @@ -1,3 +1,11 @@ + + # Storing Synapse media files on Amazon S3 or another compatible Object Storage (optional) By default, this playbook configures your server to store Synapse's content repository (`media_store`) files on the local filesystem. If that's okay, you can skip this document. From e3b17186ce25cf34070c57ef2d177194c716e567 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Wed, 5 Mar 2025 00:27:05 +0900 Subject: [PATCH 661/841] Update docs/faq.md: add a copyright header Signed-off-by: Suguru Hirahara --- docs/faq.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/faq.md b/docs/faq.md index 04bfde784..9f1ddc6e3 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -1,3 +1,15 @@ + + # Frequently Asked Questions This documentation page tries to answer various Frequently Asked Questions about all things [Matrix](https://matrix.org/), with a focus on this [Ansible](https://www.ansible.com/) playbook ([What is Ansible? How does it work?](#what-is-ansible-how-does-it-work)). From 13d54c350452ad658f2df687ea591c1602314611 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Wed, 5 Mar 2025 00:27:09 +0900 Subject: [PATCH 662/841] Update main.yml for matrix-client-cinny: fix a copyright year Signed-off-by: Suguru Hirahara --- roles/custom/matrix-client-cinny/tasks/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-client-cinny/tasks/main.yml b/roles/custom/matrix-client-cinny/tasks/main.yml index bed3c1803..925e15dcf 100644 --- a/roles/custom/matrix-client-cinny/tasks/main.yml +++ b/roles/custom/matrix-client-cinny/tasks/main.yml @@ -1,6 +1,6 @@ # SPDX-FileCopyrightText: 2022 MDAD project contributors # SPDX-FileCopyrightText: 2022 Marko Weltzer -# SPDX-FileCopyrightText: 2022 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 - 2023 Slavi Pantaleev # # SPDX-License-Identifier: AGPL-3.0-or-later From 818794bd837d287d82961c6854ff764a8fb3bf62 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Wed, 5 Mar 2025 00:27:13 +0900 Subject: [PATCH 663/841] Add license information for CHANGELOG.md Signed-off-by: Suguru Hirahara --- CHANGELOG.md.license | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 CHANGELOG.md.license diff --git a/CHANGELOG.md.license b/CHANGELOG.md.license new file mode 100644 index 000000000..75cfbe6c7 --- /dev/null +++ b/CHANGELOG.md.license @@ -0,0 +1,14 @@ +SPDX-FileCopyrightText: 2018 - 2024 MDAD project contributors +SPDX-FileCopyrightText: 2018 - 2025 Slavi Pantaleev +SPDX-FileCopyrightText: 2018 Aaron Raimist +SPDX-FileCopyrightText: 2019 Thomas Kuehne +SPDX-FileCopyrightText: 2020 John Goerzen +SPDX-FileCopyrightText: 2020 Julian Foad +SPDX-FileCopyrightText: 2021 Agustin Ferrario +SPDX-FileCopyrightText: 2021 Dan Arnfield +SPDX-FileCopyrightText: 2022 Jost Alemann +SPDX-FileCopyrightText: 2023 Felix Stupp +SPDX-FileCopyrightText: 2023 Julian-Samuel Gebühr +SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara + +SPDX-License-Identifier: AGPL-3.0-or-later From 318b3b7d408c85f26dfdcb364cad127d45a58ac1 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Wed, 5 Mar 2025 00:27:17 +0900 Subject: [PATCH 664/841] Add license information for obtain_admin_access_token_element_web.png Signed-off-by: Suguru Hirahara --- docs/assets/obtain_admin_access_token_element_web.png.license | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 docs/assets/obtain_admin_access_token_element_web.png.license diff --git a/docs/assets/obtain_admin_access_token_element_web.png.license b/docs/assets/obtain_admin_access_token_element_web.png.license new file mode 100644 index 000000000..e254eb619 --- /dev/null +++ b/docs/assets/obtain_admin_access_token_element_web.png.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2022 Julian-Samuel Gebühr + +SPDX-License-Identifier: AGPL-3.0-or-later From 0223289180199d09a88a429fadc6c07e447d256e Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Wed, 5 Mar 2025 00:27:21 +0900 Subject: [PATCH 665/841] Update REUSE.toml: sort an item Signed-off-by: Suguru Hirahara --- REUSE.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/REUSE.toml b/REUSE.toml index 0985a21af..076d318ff 100644 --- a/REUSE.toml +++ b/REUSE.toml @@ -10,8 +10,8 @@ path = [ ".github/renovate.json", "collections/requirements.yml", "i18n/.gitignore", - "i18n/requirements.txt", "i18n/PUBLISHED_LANGUAGES", + "i18n/requirements.txt", "roles/custom/**/*.repo", ".editorconfig", ".envrc", From 3f0082e56be3e823b415bb6218a2bd0fc559ea11 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Wed, 5 Mar 2025 12:15:48 +0900 Subject: [PATCH 666/841] Update docs/configuring-playbook.md: update the instruction to use git This is based on https://github.com/mother-of-all-self-hosting/mash-playbook/blob/5facc06a3c98cb07b23c137712db256753a4e6ad/docs/configuring-playbook.md Signed-off-by: Suguru Hirahara --- docs/configuring-playbook.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/configuring-playbook.md b/docs/configuring-playbook.md index 6a867b8d6..df5ca8c85 100644 --- a/docs/configuring-playbook.md +++ b/docs/configuring-playbook.md @@ -30,7 +30,7 @@ If you've configured your DNS records and retrieved the playbook's source code t 5. edit the inventory hosts file (`inventory/hosts`) to your liking -6. (optional, advanced) you may wish to keep your `inventory` directory under version control with [git](https://git-scm.com/) or any other version-control system. +6. (optional, advanced) you may wish to keep your `inventory` directory under version control with [git](https://git-scm.com/) or any other version-control system. The `inventory` directory path is ignored via `.gitignore`, so it won't be part of the playbook repository. You can safely create a new git repository inside that directory with `git init`, etc. 7. (optional, advanced) to run Ansible against multiple servers with different `sudo` credentials, you can copy the sample inventory hosts yaml file for each of your hosts: (`cp examples/host.yml inventory/my_host1.yml` …) and use the [`ansible-all-hosts.sh`](../bin/ansible-all-hosts.sh) script [in the installation step](installing.md). From 2997fd9eefdf3d21e4871444d1fe7ef6493ec183 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Wed, 5 Mar 2025 12:37:37 +0900 Subject: [PATCH 667/841] Add license information to files in group_vars Signed-off-by: Suguru Hirahara --- group_vars/jitsi_jvb_servers | 4 ++ group_vars/matrix_servers.license | 65 +++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 group_vars/matrix_servers.license diff --git a/group_vars/jitsi_jvb_servers b/group_vars/jitsi_jvb_servers index af927c9f1..91d33fead 100644 --- a/group_vars/jitsi_jvb_servers +++ b/group_vars/jitsi_jvb_servers @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2023 Antonis Christofides +# +# SPDX-License-Identifier: AGPL-3.0-or-later + jitsi_architecture: "{{ matrix_architecture }}" jitsi_hostname: "{{ matrix_server_fqn_jitsi }}" jitsi_uid: "{{ matrix_user_uid }}" diff --git a/group_vars/matrix_servers.license b/group_vars/matrix_servers.license new file mode 100644 index 000000000..1325849fc --- /dev/null +++ b/group_vars/matrix_servers.license @@ -0,0 +1,65 @@ +SPDX-FileCopyrightText: 2019 - 2021 Aaron Raimist +SPDX-FileCopyrightText: 2019 - 2021 Stuart Mumford +SPDX-FileCopyrightText: 2019 - 2025 MDAD project contributors +SPDX-FileCopyrightText: 2019 - 2025 Slavi Pantaleev +SPDX-FileCopyrightText: 2019 Dan Arnfield +SPDX-FileCopyrightText: 2019 Daniel Hoffend +SPDX-FileCopyrightText: 2019 Edgars Voroboks +SPDX-FileCopyrightText: 2019 Thomas Kuehne +SPDX-FileCopyrightText: 2020 - 2021 Sabine Laszakovits +SPDX-FileCopyrightText: 2020 Björn Marten +SPDX-FileCopyrightText: 2020 Chris van Dijk +SPDX-FileCopyrightText: 2020 David Gnedt +SPDX-FileCopyrightText: 2020 Horvath Gergely +SPDX-FileCopyrightText: 2020 Hugues Morisset +SPDX-FileCopyrightText: 2020 Marcel Partap +SPDX-FileCopyrightText: 2020 Max Klenk +SPDX-FileCopyrightText: 2020 Rodrigo Belem +SPDX-FileCopyrightText: 2020 Scott Crossen +SPDX-FileCopyrightText: 2020 Tulir Asokan +SPDX-FileCopyrightText: 2020 Zach Mertes +SPDX-FileCopyrightText: 2021 - 2022 Matthew Cengia +SPDX-FileCopyrightText: 2021 - 2023 Shreyas Ajjarapu +SPDX-FileCopyrightText: 2021 Ahmad Haghighi +SPDX-FileCopyrightText: 2021 Alexandar Mechev +SPDX-FileCopyrightText: 2021 Béla Becker +SPDX-FileCopyrightText: 2021 Christos Karamolegkos +SPDX-FileCopyrightText: 2021 Cody Neiman +SPDX-FileCopyrightText: 2021 Marc Leuser +SPDX-FileCopyrightText: 2021 Marcus Proest +SPDX-FileCopyrightText: 2021 Panagiotis Georgiadis +SPDX-FileCopyrightText: 2021 Raymond Coetzee +SPDX-FileCopyrightText: 2021 Stuart Thomson +SPDX-FileCopyrightText: 2021 Toni Spets +SPDX-FileCopyrightText: 2021 Yannick Goossens +SPDX-FileCopyrightText: 2021 boris runakov +SPDX-FileCopyrightText: 2022 - 2023 Julian-Samuel Gebühr +SPDX-FileCopyrightText: 2022 - 2023 Samuel Meenzen +SPDX-FileCopyrightText: 2022 - 2024 Charles Wright +SPDX-FileCopyrightText: 2022 - 2024 László Várady +SPDX-FileCopyrightText: 2022 - 2025 Nikita Chernyi +SPDX-FileCopyrightText: 2022 Arthur Brugière +SPDX-FileCopyrightText: 2022 Devin Dooley +SPDX-FileCopyrightText: 2022 Hefty Zauk +SPDX-FileCopyrightText: 2022 Jim Myhrberg +SPDX-FileCopyrightText: 2022 Jip J. Dekker +SPDX-FileCopyrightText: 2022 Julian Foad +SPDX-FileCopyrightText: 2022 Kim Brose +SPDX-FileCopyrightText: 2022 Marko Weltzer +SPDX-FileCopyrightText: 2022 Shaleen Jain +SPDX-FileCopyrightText: 2022 Vladimir Panteleev +SPDX-FileCopyrightText: 2023 - 2024 Michael Hollister +SPDX-FileCopyrightText: 2023 - 2024 Pierre 'McFly' Marty +SPDX-FileCopyrightText: 2023 Antonis Christofides +SPDX-FileCopyrightText: 2023 Benjamin Kampmann +SPDX-FileCopyrightText: 2023 Catalan Lover +SPDX-FileCopyrightText: 2023 Cody Wyatt Neiman +SPDX-FileCopyrightText: 2023 Johan Swetzén +SPDX-FileCopyrightText: 2023 Kabir Kwatra +SPDX-FileCopyrightText: 2023 Thomas Baer +SPDX-FileCopyrightText: 2024 Chasethechicken +SPDX-FileCopyrightText: 2024 Fabio Bonelli +SPDX-FileCopyrightText: 2024 Igor Goldenberg +SPDX-FileCopyrightText: 2024 Suguru Hirahara + +SPDX-License-Identifier: AGPL-3.0-or-later From c385bee7afcceb703911b1bbf8e01d639357aff2 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Wed, 5 Mar 2025 12:43:41 +0900 Subject: [PATCH 668/841] Re-run "reuse annotate" to sort statements Signed-off-by: Suguru Hirahara --- docs/ansible.md | 2 +- docs/configuring-captcha.md | 2 +- docs/configuring-dns.md | 4 ++-- docs/configuring-playbook-alertmanager-receiver.md | 2 +- docs/configuring-playbook-appservice-double-puppet.md | 2 +- docs/configuring-playbook-backup-borg.md | 4 ++-- docs/configuring-playbook-bot-baibot.md | 2 +- docs/configuring-playbook-bot-buscarron.md | 2 +- docs/configuring-playbook-bot-chatgpt.md | 2 +- docs/configuring-playbook-bot-go-neb.md | 2 +- docs/configuring-playbook-bridge-appservice-kakaotalk.md | 2 +- docs/configuring-playbook-bridge-appservice-webhooks.md | 2 +- docs/configuring-playbook-bridge-matrix-bridge-sms.md | 2 +- docs/configuring-playbook-bridge-mautrix-facebook.md | 6 +++--- docs/configuring-playbook-bridge-mautrix-hangouts.md | 2 +- docs/configuring-playbook-bridge-mautrix-instagram.md | 2 +- .../configuring-playbook-bridge-mautrix-meta-messenger.md | 2 +- docs/configuring-playbook-bridge-mx-puppet-discord.md | 2 +- docs/configuring-playbook-bridge-mx-puppet-skype.md | 2 +- docs/configuring-playbook-bridge-mx-puppet-slack.md | 2 +- docs/configuring-playbook-bridge-mx-puppet-steam.md | 2 +- docs/configuring-playbook-cactus-comments.md | 2 +- docs/configuring-playbook-client-cinny.md | 2 +- docs/configuring-playbook-conduit.md | 3 +-- docs/configuring-playbook-dendrite.md | 2 +- docs/configuring-playbook-dimension.md | 8 ++++---- docs/configuring-playbook-email2matrix.md | 2 +- docs/configuring-playbook-etherpad.md | 2 +- docs/configuring-playbook-jitsi.md | 4 ++-- docs/configuring-playbook-ma1sd.md | 4 ++-- ...configuring-playbook-matrix-ldap-registration-proxy.md | 2 +- docs/configuring-playbook-pantalaimon.md | 2 +- docs/configuring-playbook-postgres-backup.md | 2 +- docs/configuring-playbook-sliding-sync-proxy.md | 4 ++-- docs/configuring-playbook.md | 2 +- docs/installing.md | 6 +++--- docs/maintenance-and-troubleshooting.md | 2 +- docs/maintenance-postgres.md | 2 +- docs/maintenance-upgrading-services.md | 2 +- docs/obtaining-access-tokens.md | 2 +- docs/prerequisites.md | 4 ++-- docs/registering-users.md | 4 ++-- .../systemd/matrix-bot-baibot.service.j2.license | 2 +- roles/custom/matrix-bot-buscarron/tasks/main.yml | 2 +- .../custom/matrix-bot-buscarron/tasks/validate_config.yml | 2 +- roles/custom/matrix-bot-buscarron/templates/labels.j2 | 2 +- .../systemd/matrix-bot-buscarron.service.j2.license | 2 +- roles/custom/matrix-bot-chatgpt/defaults/main.yml | 2 +- roles/custom/matrix-bot-chatgpt/templates/env.j2 | 2 +- .../systemd/matrix-bot-chatgpt.service.j2.license | 2 +- roles/custom/matrix-bot-go-neb/defaults/main.yml | 2 +- roles/custom/matrix-bot-go-neb/tasks/install.yml | 6 +++--- roles/custom/matrix-bot-go-neb/tasks/main.yml | 2 +- roles/custom/matrix-bot-go-neb/tasks/uninstall.yml | 2 +- .../custom/matrix-bot-honoroit/tasks/setup_uninstall.yml | 2 +- .../tasks/setup_install.yml | 2 +- .../templates/config.yaml.j2.license | 2 +- .../matrix-bridge-appservice-webhooks/defaults/main.yml | 4 ++-- .../matrix-bridge-appservice-webhooks/tasks/main.yml | 2 +- .../tasks/setup_install.yml | 2 +- .../systemd/matrix-appservice-webhooks.service.j2.license | 2 +- .../matrix-bridge-go-skype-bridge/defaults/main.yml | 4 ++-- roles/custom/matrix-bridge-go-skype-bridge/tasks/main.yml | 2 +- .../matrix-bridge-go-skype-bridge/tasks/setup_install.yml | 2 +- .../tasks/setup_uninstall.yml | 2 +- .../tasks/validate_config.yml | 2 +- .../templates/config.yaml.j2.license | 4 ++-- .../systemd/matrix-go-skype-bridge.service.j2.license | 2 +- .../matrix-bridge-mautrix-facebook/defaults/main.yml | 8 ++++---- .../tasks/setup_install.yml | 4 ++-- .../templates/config.yaml.j2.license | 4 ++-- .../matrix-bridge-mautrix-instagram/defaults/main.yml | 6 +++--- .../custom/matrix-bridge-mautrix-instagram/tasks/main.yml | 2 +- .../tasks/setup_install.yml | 4 ++-- .../tasks/setup_uninstall.yml | 2 +- .../tasks/validate_config.yml | 2 +- .../templates/config.yaml.j2.license | 4 ++-- .../matrix-bridge-mx-puppet-discord/defaults/main.yml | 4 ++-- .../custom/matrix-bridge-mx-puppet-discord/tasks/main.yml | 2 +- .../tasks/setup_install.yml | 4 ++-- .../matrix-bridge-mx-puppet-groupme/defaults/main.yml | 6 +++--- .../custom/matrix-bridge-mx-puppet-groupme/tasks/main.yml | 2 +- .../tasks/setup_install.yml | 4 ++-- .../tasks/setup_uninstall.yml | 2 +- .../matrix-bridge-mx-puppet-instagram/tasks/main.yml | 2 +- .../tasks/setup_install.yml | 2 +- .../matrix-bridge-mx-puppet-slack/defaults/main.yml | 4 ++-- roles/custom/matrix-bridge-mx-puppet-slack/tasks/main.yml | 2 +- .../matrix-bridge-mx-puppet-slack/tasks/setup_install.yml | 2 +- .../matrix-bridge-mx-puppet-steam/defaults/main.yml | 4 ++-- roles/custom/matrix-bridge-mx-puppet-steam/tasks/main.yml | 2 +- .../matrix-bridge-mx-puppet-steam/tasks/setup_install.yml | 4 ++-- .../matrix-bridge-mx-puppet-twitter/defaults/main.yml | 4 ++-- .../custom/matrix-bridge-mx-puppet-twitter/tasks/main.yml | 2 +- .../tasks/setup_install.yml | 4 ++-- .../custom/matrix-bridge-wechat/tasks/validate_config.yml | 1 - .../matrix-bridge-wechat/templates/config.yaml.j2.license | 2 +- .../matrix-cactus-comments-client/tasks/install.yml | 2 +- roles/custom/matrix-cactus-comments/tasks/main.yml | 2 +- .../matrix-cactus-comments/tasks/setup_uninstall.yml | 2 +- .../matrix-cactus-comments/tasks/validate_config.yml | 2 +- .../matrix-cactus-comments/templates/env.j2.license | 2 +- .../systemd/matrix-cactus-comments.service.j2.license | 2 +- roles/custom/matrix-client-cinny/defaults/main.yml | 8 ++++---- roles/custom/matrix-client-cinny/tasks/main.yml | 2 +- roles/custom/matrix-client-cinny/tasks/self_check.yml | 2 +- roles/custom/matrix-client-cinny/tasks/setup_install.yml | 2 +- .../custom/matrix-client-cinny/tasks/setup_uninstall.yml | 2 +- .../custom/matrix-client-cinny/tasks/validate_config.yml | 2 +- .../matrix-client-cinny/templates/nginx.conf.j2.license | 2 +- .../systemd/matrix-client-cinny.service.j2.license | 2 +- roles/custom/matrix-client-hydrogen/defaults/main.yml | 4 ++-- roles/custom/matrix-client-hydrogen/tasks/main.yml | 2 +- roles/custom/matrix-client-hydrogen/tasks/self_check.yml | 2 +- .../custom/matrix-client-hydrogen/tasks/setup_install.yml | 2 +- .../templates/config.json.j2.license | 2 +- .../systemd/matrix-client-hydrogen.service.j2.license | 2 +- roles/custom/matrix-dimension/defaults/main.yml | 8 ++++---- roles/custom/matrix-dimension/tasks/main.yml | 2 +- roles/custom/matrix-dimension/tasks/setup_install.yml | 4 ++-- roles/custom/matrix-dimension/tasks/validate_config.yml | 4 ++-- .../templates/systemd/matrix-dimension.service.j2.license | 4 ++-- roles/custom/matrix-dimension/vars/main.yml | 2 +- roles/custom/matrix-ma1sd/defaults/main.yml | 6 +++--- roles/custom/matrix-ma1sd/tasks/main.yml | 2 +- roles/custom/matrix-ma1sd/tasks/self_check.yml | 4 ++-- roles/custom/matrix-ma1sd/tasks/setup_install.yml | 6 +++--- roles/custom/matrix-ma1sd/tasks/validate_config.yml | 2 +- .../templates/systemd/matrix-ma1sd.service.j2.license | 4 ++-- roles/custom/matrix-pantalaimon/tasks/install.yml | 2 +- roles/custom/matrix-rageshake/defaults/main.yml | 2 +- roles/custom/matrix-rageshake/tasks/install.yml | 2 +- roles/custom/matrix-rageshake/tasks/validate_config.yml | 2 +- .../templates/systemd/matrix-rageshake.service.j2.license | 2 +- roles/custom/matrix-registration/defaults/main.yml | 2 +- roles/custom/matrix-registration/tasks/setup_install.yml | 2 +- roles/custom/matrix-sliding-sync/defaults/main.yml | 4 ++-- 137 files changed, 191 insertions(+), 193 deletions(-) diff --git a/docs/ansible.md b/docs/ansible.md index a4a595002..ff0398374 100644 --- a/docs/ansible.md +++ b/docs/ansible.md @@ -1,7 +1,7 @@ diff --git a/docs/configuring-playbook-appservice-double-puppet.md b/docs/configuring-playbook-appservice-double-puppet.md index d2bac9d42..fe67d1768 100644 --- a/docs/configuring-playbook-appservice-double-puppet.md +++ b/docs/configuring-playbook-appservice-double-puppet.md @@ -1,6 +1,6 @@ diff --git a/docs/configuring-playbook-backup-borg.md b/docs/configuring-playbook-backup-borg.md index cef21d45a..dabb8911c 100644 --- a/docs/configuring-playbook-backup-borg.md +++ b/docs/configuring-playbook-backup-borg.md @@ -1,8 +1,8 @@ diff --git a/docs/configuring-playbook-bot-buscarron.md b/docs/configuring-playbook-bot-buscarron.md index 45266d338..969c1c93d 100644 --- a/docs/configuring-playbook-bot-buscarron.md +++ b/docs/configuring-playbook-bot-buscarron.md @@ -1,6 +1,6 @@ diff --git a/docs/configuring-playbook-bridge-mx-puppet-discord.md b/docs/configuring-playbook-bridge-mx-puppet-discord.md index f135d9b84..43b3d2522 100644 --- a/docs/configuring-playbook-bridge-mx-puppet-discord.md +++ b/docs/configuring-playbook-bridge-mx-puppet-discord.md @@ -1,6 +1,6 @@ diff --git a/docs/configuring-playbook-conduit.md b/docs/configuring-playbook-conduit.md index ef5e381fe..76a3c9666 100644 --- a/docs/configuring-playbook-conduit.md +++ b/docs/configuring-playbook-conduit.md @@ -1,6 +1,5 @@ diff --git a/docs/configuring-playbook-dimension.md b/docs/configuring-playbook-dimension.md index 4eaefb76d..a1d17b4c1 100644 --- a/docs/configuring-playbook-dimension.md +++ b/docs/configuring-playbook-dimension.md @@ -1,13 +1,13 @@ diff --git a/docs/configuring-playbook-etherpad.md b/docs/configuring-playbook-etherpad.md index 4a9287dd8..5c414cb00 100644 --- a/docs/configuring-playbook-etherpad.md +++ b/docs/configuring-playbook-etherpad.md @@ -1,6 +1,6 @@ diff --git a/docs/configuring-playbook-postgres-backup.md b/docs/configuring-playbook-postgres-backup.md index 08aa8ef71..10c65643a 100644 --- a/docs/configuring-playbook-postgres-backup.md +++ b/docs/configuring-playbook-postgres-backup.md @@ -1,6 +1,6 @@ diff --git a/docs/maintenance-and-troubleshooting.md b/docs/maintenance-and-troubleshooting.md index 21d1c07ae..bd3e4b84c 100644 --- a/docs/maintenance-and-troubleshooting.md +++ b/docs/maintenance-and-troubleshooting.md @@ -1,7 +1,7 @@ diff --git a/docs/maintenance-upgrading-services.md b/docs/maintenance-upgrading-services.md index c6ef5f62d..7f0f1bc17 100644 --- a/docs/maintenance-upgrading-services.md +++ b/docs/maintenance-upgrading-services.md @@ -1,9 +1,9 @@ diff --git a/docs/prerequisites.md b/docs/prerequisites.md index dc0b73e5d..e53246d98 100644 --- a/docs/prerequisites.md +++ b/docs/prerequisites.md @@ -2,9 +2,9 @@ SPDX-FileCopyrightText: 2018 - 2025 Slavi Pantaleev SPDX-FileCopyrightText: 2019 - 2022 Aaron Raimist SPDX-FileCopyrightText: 2019 - 2023 MDAD project contributors -SPDX-FileCopyrightText: 2024 Nikita Chernyi -SPDX-FileCopyrightText: 2024 Fabio Bonelli SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara +SPDX-FileCopyrightText: 2024 Fabio Bonelli +SPDX-FileCopyrightText: 2024 Nikita Chernyi SPDX-License-Identifier: AGPL-3.0-or-later --> diff --git a/docs/registering-users.md b/docs/registering-users.md index b4ef6710e..8de5bfeb3 100644 --- a/docs/registering-users.md +++ b/docs/registering-users.md @@ -1,9 +1,9 @@ diff --git a/roles/custom/matrix-bot-baibot/templates/systemd/matrix-bot-baibot.service.j2.license b/roles/custom/matrix-bot-baibot/templates/systemd/matrix-bot-baibot.service.j2.license index fadc9dc1e..c24b3ae88 100644 --- a/roles/custom/matrix-bot-baibot/templates/systemd/matrix-bot-baibot.service.j2.license +++ b/roles/custom/matrix-bot-baibot/templates/systemd/matrix-bot-baibot.service.j2.license @@ -1,4 +1,4 @@ -SPDX-FileCopyrightText: 2024 - 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2024 Slavi Pantaleev SPDX-FileCopyrightText: 2025 Suguru Hirahara SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bot-buscarron/tasks/main.yml b/roles/custom/matrix-bot-buscarron/tasks/main.yml index b90cfaa25..adfc56db8 100644 --- a/roles/custom/matrix-bot-buscarron/tasks/main.yml +++ b/roles/custom/matrix-bot-buscarron/tasks/main.yml @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: 2022 Nikita Chernyi # SPDX-FileCopyrightText: 2022 - 2023 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Nikita Chernyi # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bot-buscarron/tasks/validate_config.yml b/roles/custom/matrix-bot-buscarron/tasks/validate_config.yml index e07cbffef..4890655b6 100644 --- a/roles/custom/matrix-bot-buscarron/tasks/validate_config.yml +++ b/roles/custom/matrix-bot-buscarron/tasks/validate_config.yml @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: 2022 Nikita Chernyi # SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Nikita Chernyi # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bot-buscarron/templates/labels.j2 b/roles/custom/matrix-bot-buscarron/templates/labels.j2 index a302c5269..6376a5412 100644 --- a/roles/custom/matrix-bot-buscarron/templates/labels.j2 +++ b/roles/custom/matrix-bot-buscarron/templates/labels.j2 @@ -1,6 +1,6 @@ {# -SPDX-FileCopyrightText: 2023 Nikita Chernyi SPDX-FileCopyrightText: 2023 - 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2023 Nikita Chernyi SPDX-License-Identifier: AGPL-3.0-or-later #} diff --git a/roles/custom/matrix-bot-buscarron/templates/systemd/matrix-bot-buscarron.service.j2.license b/roles/custom/matrix-bot-buscarron/templates/systemd/matrix-bot-buscarron.service.j2.license index 70a8f1992..2195e952c 100644 --- a/roles/custom/matrix-bot-buscarron/templates/systemd/matrix-bot-buscarron.service.j2.license +++ b/roles/custom/matrix-bot-buscarron/templates/systemd/matrix-bot-buscarron.service.j2.license @@ -1,4 +1,4 @@ -SPDX-FileCopyrightText: 2022 Nikita Chernyi SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev +SPDX-FileCopyrightText: 2022 Nikita Chernyi SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bot-chatgpt/defaults/main.yml b/roles/custom/matrix-bot-chatgpt/defaults/main.yml index 3727962db..aa65a7ae4 100644 --- a/roles/custom/matrix-bot-chatgpt/defaults/main.yml +++ b/roles/custom/matrix-bot-chatgpt/defaults/main.yml @@ -1,6 +1,6 @@ -# SPDX-FileCopyrightText: 2023 MDAD project contributors # SPDX-FileCopyrightText: 2023 - 2024 Slavi Pantaleev # SPDX-FileCopyrightText: 2023 Joe Kappus +# SPDX-FileCopyrightText: 2023 MDAD project contributors # SPDX-FileCopyrightText: 2023 Nikita Chernyi # SPDX-FileCopyrightText: 2023 Samuel Meenzen # SPDX-FileCopyrightText: 2024 Suguru Hirahara diff --git a/roles/custom/matrix-bot-chatgpt/templates/env.j2 b/roles/custom/matrix-bot-chatgpt/templates/env.j2 index bbb6d01e3..2abf4327b 100644 --- a/roles/custom/matrix-bot-chatgpt/templates/env.j2 +++ b/roles/custom/matrix-bot-chatgpt/templates/env.j2 @@ -1,7 +1,7 @@ {# +SPDX-FileCopyrightText: 2023 Joe Kappus SPDX-FileCopyrightText: 2023 MDAD project contributors SPDX-FileCopyrightText: 2023 Slavi Pantaleev -SPDX-FileCopyrightText: 2023 Joe Kappus SPDX-FileCopyrightText: 2024 Suguru Hirahara SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bot-chatgpt/templates/systemd/matrix-bot-chatgpt.service.j2.license b/roles/custom/matrix-bot-chatgpt/templates/systemd/matrix-bot-chatgpt.service.j2.license index 5eda5a739..8970217f2 100644 --- a/roles/custom/matrix-bot-chatgpt/templates/systemd/matrix-bot-chatgpt.service.j2.license +++ b/roles/custom/matrix-bot-chatgpt/templates/systemd/matrix-bot-chatgpt.service.j2.license @@ -1,5 +1,5 @@ +SPDX-FileCopyrightText: 2023 - 2025 Slavi Pantaleev SPDX-FileCopyrightText: 2023 MDAD project contributors SPDX-FileCopyrightText: 2023 Vladimir Panteleev -SPDX-FileCopyrightText: 2023 - 2025 Slavi Pantaleev SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bot-go-neb/defaults/main.yml b/roles/custom/matrix-bot-go-neb/defaults/main.yml index cff674cff..5d5e8b97f 100644 --- a/roles/custom/matrix-bot-go-neb/defaults/main.yml +++ b/roles/custom/matrix-bot-go-neb/defaults/main.yml @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: 2021 Yannick Goossens # SPDX-FileCopyrightText: 2021 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2021 Yannick Goossens # SPDX-FileCopyrightText: 2022 Marko Weltzer # SPDX-FileCopyrightText: 2022 Nikita Chernyi # SPDX-FileCopyrightText: 2023 Samuel Meenzen diff --git a/roles/custom/matrix-bot-go-neb/tasks/install.yml b/roles/custom/matrix-bot-go-neb/tasks/install.yml index ee418fd0f..d590bc999 100644 --- a/roles/custom/matrix-bot-go-neb/tasks/install.yml +++ b/roles/custom/matrix-bot-go-neb/tasks/install.yml @@ -1,8 +1,8 @@ # SPDX-FileCopyrightText: 2021 Yannick Goossens -# SPDX-FileCopyrightText: 2022 Marko Weltzer -# SPDX-FileCopyrightText: 2022 Jim Myhrberg -# SPDX-FileCopyrightText: 2022 Nikita Chernyi # SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Jim Myhrberg +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Nikita Chernyi # SPDX-FileCopyrightText: 2022 Sebastian Gumprich # SPDX-FileCopyrightText: 2024 David Mehren # diff --git a/roles/custom/matrix-bot-go-neb/tasks/main.yml b/roles/custom/matrix-bot-go-neb/tasks/main.yml index 666296156..09cf4bb84 100644 --- a/roles/custom/matrix-bot-go-neb/tasks/main.yml +++ b/roles/custom/matrix-bot-go-neb/tasks/main.yml @@ -1,6 +1,6 @@ # SPDX-FileCopyrightText: 2021 Yannick Goossens -# SPDX-FileCopyrightText: 2022 Marko Weltzer # SPDX-FileCopyrightText: 2022 - 2023 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bot-go-neb/tasks/uninstall.yml b/roles/custom/matrix-bot-go-neb/tasks/uninstall.yml index 56cee88e1..ad862821d 100644 --- a/roles/custom/matrix-bot-go-neb/tasks/uninstall.yml +++ b/roles/custom/matrix-bot-go-neb/tasks/uninstall.yml @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: 2021 Yannick Goossens # SPDX-FileCopyrightText: 2021 - 2023 Slavi Pantaleev +# SPDX-FileCopyrightText: 2021 Yannick Goossens # SPDX-FileCopyrightText: 2022 Marko Weltzer # SPDX-FileCopyrightText: 2022 Sebastian Gumprich # diff --git a/roles/custom/matrix-bot-honoroit/tasks/setup_uninstall.yml b/roles/custom/matrix-bot-honoroit/tasks/setup_uninstall.yml index 1ab17b516..28456d53c 100644 --- a/roles/custom/matrix-bot-honoroit/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-bot-honoroit/tasks/setup_uninstall.yml @@ -1,7 +1,7 @@ +# SPDX-FileCopyrightText: 2022 MDAD project contributors # SPDX-FileCopyrightText: 2022 Marko Weltzer # SPDX-FileCopyrightText: 2022 Sebastian Gumprich # SPDX-FileCopyrightText: 2022 Slavi Pantaleev -# SPDX-FileCopyrightText: 2022 MDAD project contributors # SPDX-FileCopyrightText: 2024 Suguru Hirahara # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bot-matrix-reminder-bot/tasks/setup_install.yml b/roles/custom/matrix-bot-matrix-reminder-bot/tasks/setup_install.yml index e8442c0b9..ebe0815a2 100644 --- a/roles/custom/matrix-bot-matrix-reminder-bot/tasks/setup_install.yml +++ b/roles/custom/matrix-bot-matrix-reminder-bot/tasks/setup_install.yml @@ -1,8 +1,8 @@ # SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev # SPDX-FileCopyrightText: 2020 Stuart Mumford # SPDX-FileCopyrightText: 2021 - 2022 MDAD project contributors -# SPDX-FileCopyrightText: 2022 Marko Weltzer # SPDX-FileCopyrightText: 2022 Jim Myhrberg +# SPDX-FileCopyrightText: 2022 Marko Weltzer # SPDX-FileCopyrightText: 2022 Nikita Chernyi # SPDX-FileCopyrightText: 2022 Sebastian Gumprich # SPDX-FileCopyrightText: 2024 David Mehren diff --git a/roles/custom/matrix-bridge-appservice-kakaotalk/templates/config.yaml.j2.license b/roles/custom/matrix-bridge-appservice-kakaotalk/templates/config.yaml.j2.license index f9a202b63..8b6d0c244 100644 --- a/roles/custom/matrix-bridge-appservice-kakaotalk/templates/config.yaml.j2.license +++ b/roles/custom/matrix-bridge-appservice-kakaotalk/templates/config.yaml.j2.license @@ -1,5 +1,5 @@ -SPDX-FileCopyrightText: 2022 Slavi Pantaleev SPDX-FileCopyrightText: 2022 MDAD project contributors +SPDX-FileCopyrightText: 2022 Slavi Pantaleev SPDX-FileCopyrightText: 2023 Nikita Chernyi SPDX-FileCopyrightText: 2024 Suguru Hirahara diff --git a/roles/custom/matrix-bridge-appservice-webhooks/defaults/main.yml b/roles/custom/matrix-bridge-appservice-webhooks/defaults/main.yml index fa17baf34..b90735561 100644 --- a/roles/custom/matrix-bridge-appservice-webhooks/defaults/main.yml +++ b/roles/custom/matrix-bridge-appservice-webhooks/defaults/main.yml @@ -1,9 +1,9 @@ +# SPDX-FileCopyrightText: 2020 - 2025 Slavi Pantaleev # SPDX-FileCopyrightText: 2020 Björn Marten # SPDX-FileCopyrightText: 2020 David Gnedt -# SPDX-FileCopyrightText: 2020 - 2025 Slavi Pantaleev # SPDX-FileCopyrightText: 2021 - 2023 MDAD project contributors -# SPDX-FileCopyrightText: 2021 Béla Becker # SPDX-FileCopyrightText: 2021 Ahmad Haghighi +# SPDX-FileCopyrightText: 2021 Béla Becker # SPDX-FileCopyrightText: 2021 boris runakov # SPDX-FileCopyrightText: 2022 Marko Weltzer # SPDX-FileCopyrightText: 2022 Nikita Chernyi diff --git a/roles/custom/matrix-bridge-appservice-webhooks/tasks/main.yml b/roles/custom/matrix-bridge-appservice-webhooks/tasks/main.yml index cb4c68829..bc6a17105 100644 --- a/roles/custom/matrix-bridge-appservice-webhooks/tasks/main.yml +++ b/roles/custom/matrix-bridge-appservice-webhooks/tasks/main.yml @@ -1,6 +1,6 @@ # SPDX-FileCopyrightText: 2020 Björn Marten -# SPDX-FileCopyrightText: 2022 Marko Weltzer # SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-appservice-webhooks/tasks/setup_install.yml b/roles/custom/matrix-bridge-appservice-webhooks/tasks/setup_install.yml index 507918a5e..208399355 100644 --- a/roles/custom/matrix-bridge-appservice-webhooks/tasks/setup_install.yml +++ b/roles/custom/matrix-bridge-appservice-webhooks/tasks/setup_install.yml @@ -2,8 +2,8 @@ # SPDX-FileCopyrightText: 2020 Chris van Dijk # SPDX-FileCopyrightText: 2020 MDAD project contributors # SPDX-FileCopyrightText: 2021 - 2024 Slavi Pantaleev -# SPDX-FileCopyrightText: 2022 Marko Weltzer # SPDX-FileCopyrightText: 2022 Jim Myhrberg +# SPDX-FileCopyrightText: 2022 Marko Weltzer # SPDX-FileCopyrightText: 2022 Nikita Chernyi # SPDX-FileCopyrightText: 2022 Sebastian Gumprich # SPDX-FileCopyrightText: 2024 David Mehren diff --git a/roles/custom/matrix-bridge-appservice-webhooks/templates/systemd/matrix-appservice-webhooks.service.j2.license b/roles/custom/matrix-bridge-appservice-webhooks/templates/systemd/matrix-appservice-webhooks.service.j2.license index 63b731d1e..fe9fa1747 100644 --- a/roles/custom/matrix-bridge-appservice-webhooks/templates/systemd/matrix-appservice-webhooks.service.j2.license +++ b/roles/custom/matrix-bridge-appservice-webhooks/templates/systemd/matrix-appservice-webhooks.service.j2.license @@ -1,8 +1,8 @@ +SPDX-FileCopyrightText: 2020 - 2025 Slavi Pantaleev SPDX-FileCopyrightText: 2020 Björn Marten SPDX-FileCopyrightText: 2020 Chris van Dijk SPDX-FileCopyrightText: 2020 MDAD project contributors SPDX-FileCopyrightText: 2020 Scott Crossen SPDX-FileCopyrightText: 2020 Stefan Warnat -SPDX-FileCopyrightText: 2020 - 2025 Slavi Pantaleev SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-go-skype-bridge/defaults/main.yml b/roles/custom/matrix-bridge-go-skype-bridge/defaults/main.yml index a27f22905..0b8c9b3e0 100644 --- a/roles/custom/matrix-bridge-go-skype-bridge/defaults/main.yml +++ b/roles/custom/matrix-bridge-go-skype-bridge/defaults/main.yml @@ -1,8 +1,8 @@ -# SPDX-FileCopyrightText: 2022 Vladimir Panteleev -# SPDX-FileCopyrightText: 2022 - 2025 MDAD project contributors # SPDX-FileCopyrightText: 2022 - 2023 Nikita Chernyi # SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 - 2025 MDAD project contributors # SPDX-FileCopyrightText: 2022 Arthur Brugière +# SPDX-FileCopyrightText: 2022 Vladimir Panteleev # SPDX-FileCopyrightText: 2023 Samuel Meenzen # SPDX-FileCopyrightText: 2024 Suguru Hirahara # diff --git a/roles/custom/matrix-bridge-go-skype-bridge/tasks/main.yml b/roles/custom/matrix-bridge-go-skype-bridge/tasks/main.yml index 18b488a44..a92f08d98 100644 --- a/roles/custom/matrix-bridge-go-skype-bridge/tasks/main.yml +++ b/roles/custom/matrix-bridge-go-skype-bridge/tasks/main.yml @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: 2022 Vladimir Panteleev # SPDX-FileCopyrightText: 2019 - 2023 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Vladimir Panteleev # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-go-skype-bridge/tasks/setup_install.yml b/roles/custom/matrix-bridge-go-skype-bridge/tasks/setup_install.yml index 1f142759f..5d05a3540 100644 --- a/roles/custom/matrix-bridge-go-skype-bridge/tasks/setup_install.yml +++ b/roles/custom/matrix-bridge-go-skype-bridge/tasks/setup_install.yml @@ -1,6 +1,6 @@ -# SPDX-FileCopyrightText: 2022 Vladimir Panteleev # SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev # SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2022 Vladimir Panteleev # SPDX-FileCopyrightText: 2024 David Mehren # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-go-skype-bridge/tasks/setup_uninstall.yml b/roles/custom/matrix-bridge-go-skype-bridge/tasks/setup_uninstall.yml index 6215ac8b5..b7d3373c3 100644 --- a/roles/custom/matrix-bridge-go-skype-bridge/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-bridge-go-skype-bridge/tasks/setup_uninstall.yml @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: 2022 Vladimir Panteleev # SPDX-FileCopyrightText: 2022 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Vladimir Panteleev # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-go-skype-bridge/tasks/validate_config.yml b/roles/custom/matrix-bridge-go-skype-bridge/tasks/validate_config.yml index 12f4172af..49e3eafcb 100644 --- a/roles/custom/matrix-bridge-go-skype-bridge/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-go-skype-bridge/tasks/validate_config.yml @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: 2022 Vladimir Panteleev # SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Vladimir Panteleev # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-go-skype-bridge/templates/config.yaml.j2.license b/roles/custom/matrix-bridge-go-skype-bridge/templates/config.yaml.j2.license index 227ac864a..c9507bbdb 100644 --- a/roles/custom/matrix-bridge-go-skype-bridge/templates/config.yaml.j2.license +++ b/roles/custom/matrix-bridge-go-skype-bridge/templates/config.yaml.j2.license @@ -1,6 +1,6 @@ -SPDX-FileCopyrightText: 2022 Vladimir Panteleev -SPDX-FileCopyrightText: 2022 Nikita Chernyi SPDX-FileCopyrightText: 2022 MDAD project contributors +SPDX-FileCopyrightText: 2022 Nikita Chernyi +SPDX-FileCopyrightText: 2022 Vladimir Panteleev SPDX-FileCopyrightText: 2024 Suguru Hirahara SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-go-skype-bridge/templates/systemd/matrix-go-skype-bridge.service.j2.license b/roles/custom/matrix-bridge-go-skype-bridge/templates/systemd/matrix-go-skype-bridge.service.j2.license index 6ef6a26f8..9815cd215 100644 --- a/roles/custom/matrix-bridge-go-skype-bridge/templates/systemd/matrix-go-skype-bridge.service.j2.license +++ b/roles/custom/matrix-bridge-go-skype-bridge/templates/systemd/matrix-go-skype-bridge.service.j2.license @@ -1,4 +1,4 @@ -SPDX-FileCopyrightText: 2022 Vladimir Panteleev SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev +SPDX-FileCopyrightText: 2022 Vladimir Panteleev SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-mautrix-facebook/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-facebook/defaults/main.yml index c4a80ba70..0fe7f52f1 100644 --- a/roles/custom/matrix-bridge-mautrix-facebook/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-facebook/defaults/main.yml @@ -1,12 +1,12 @@ # SPDX-FileCopyrightText: 2019 - 2024 Slavi Pantaleev -# SPDX-FileCopyrightText: 2020 Marcel Partap # SPDX-FileCopyrightText: 2020 Horvath Gergely +# SPDX-FileCopyrightText: 2020 Marcel Partap # SPDX-FileCopyrightText: 2021 - 2024 MDAD project contributors -# SPDX-FileCopyrightText: 2021 Arthur Brugière # SPDX-FileCopyrightText: 2021 Aaron Raimist -# SPDX-FileCopyrightText: 2022 Marko Weltzer -# SPDX-FileCopyrightText: 2022 László Várady +# SPDX-FileCopyrightText: 2021 Arthur Brugière # SPDX-FileCopyrightText: 2022 - 2023 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 László Várady +# SPDX-FileCopyrightText: 2022 Marko Weltzer # SPDX-FileCopyrightText: 2023 Adrien le Maire # SPDX-FileCopyrightText: 2023 Samuel Meenzen # diff --git a/roles/custom/matrix-bridge-mautrix-facebook/tasks/setup_install.yml b/roles/custom/matrix-bridge-mautrix-facebook/tasks/setup_install.yml index 12907c16b..36fe8fabb 100644 --- a/roles/custom/matrix-bridge-mautrix-facebook/tasks/setup_install.yml +++ b/roles/custom/matrix-bridge-mautrix-facebook/tasks/setup_install.yml @@ -1,12 +1,12 @@ # SPDX-FileCopyrightText: 2019 - 2024 Slavi Pantaleev # SPDX-FileCopyrightText: 2019 Dan Arnfield +# SPDX-FileCopyrightText: 2020 Chris van Dijk # SPDX-FileCopyrightText: 2020 Horvath Gergely # SPDX-FileCopyrightText: 2020 MDAD project contributors -# SPDX-FileCopyrightText: 2020 Chris van Dijk # SPDX-FileCopyrightText: 2020 Stuart Mumford # SPDX-FileCopyrightText: 2021 Aaron Raimist -# SPDX-FileCopyrightText: 2022 Marko Weltzer # SPDX-FileCopyrightText: 2022 Jim Myhrberg +# SPDX-FileCopyrightText: 2022 Marko Weltzer # SPDX-FileCopyrightText: 2022 Nikita Chernyi # SPDX-FileCopyrightText: 2022 Sebastian Gumprich # SPDX-FileCopyrightText: 2024 David Mehren diff --git a/roles/custom/matrix-bridge-mautrix-facebook/templates/config.yaml.j2.license b/roles/custom/matrix-bridge-mautrix-facebook/templates/config.yaml.j2.license index 309dd31e7..aa26685bf 100644 --- a/roles/custom/matrix-bridge-mautrix-facebook/templates/config.yaml.j2.license +++ b/roles/custom/matrix-bridge-mautrix-facebook/templates/config.yaml.j2.license @@ -1,9 +1,9 @@ -SPDX-FileCopyrightText: 2019 Hugues Morisset SPDX-FileCopyrightText: 2019 - 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2019 Hugues Morisset SPDX-FileCopyrightText: 2020 - 2022 MDAD project contributors +SPDX-FileCopyrightText: 2022 - 2023 Nikita Chernyi SPDX-FileCopyrightText: 2022 László Várady SPDX-FileCopyrightText: 2022 Olivér Falvai -SPDX-FileCopyrightText: 2022 - 2023 Nikita Chernyi SPDX-FileCopyrightText: 2023 Adrien le Maire SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-mautrix-instagram/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-instagram/defaults/main.yml index b2acb3afc..1304d7586 100644 --- a/roles/custom/matrix-bridge-mautrix-instagram/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-instagram/defaults/main.yml @@ -1,10 +1,10 @@ -# SPDX-FileCopyrightText: 2021 Marcus Proest # SPDX-FileCopyrightText: 2021 - 2024 MDAD project contributors # SPDX-FileCopyrightText: 2021 - 2024 Slavi Pantaleev # SPDX-FileCopyrightText: 2021 Aaron Raimist -# SPDX-FileCopyrightText: 2022 Marko Weltzer -# SPDX-FileCopyrightText: 2022 László Várady +# SPDX-FileCopyrightText: 2021 Marcus Proest # SPDX-FileCopyrightText: 2022 - 2023 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 László Várady +# SPDX-FileCopyrightText: 2022 Marko Weltzer # SPDX-FileCopyrightText: 2023 Adrien le Maire # SPDX-FileCopyrightText: 2023 Samuel Meenzen # diff --git a/roles/custom/matrix-bridge-mautrix-instagram/tasks/main.yml b/roles/custom/matrix-bridge-mautrix-instagram/tasks/main.yml index b662b59d4..1dcc341fb 100644 --- a/roles/custom/matrix-bridge-mautrix-instagram/tasks/main.yml +++ b/roles/custom/matrix-bridge-mautrix-instagram/tasks/main.yml @@ -1,6 +1,6 @@ # SPDX-FileCopyrightText: 2021 Marcus Proest -# SPDX-FileCopyrightText: 2022 Marko Weltzer # SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer # SPDX-FileCopyrightText: 2023 Adrien le Maire # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-mautrix-instagram/tasks/setup_install.yml b/roles/custom/matrix-bridge-mautrix-instagram/tasks/setup_install.yml index f122dff98..21e4e5f44 100644 --- a/roles/custom/matrix-bridge-mautrix-instagram/tasks/setup_install.yml +++ b/roles/custom/matrix-bridge-mautrix-instagram/tasks/setup_install.yml @@ -1,7 +1,7 @@ -# SPDX-FileCopyrightText: 2021 Marcus Proest # SPDX-FileCopyrightText: 2021 - 2024 Slavi Pantaleev -# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2021 Marcus Proest # SPDX-FileCopyrightText: 2022 Jim Myhrberg +# SPDX-FileCopyrightText: 2022 Marko Weltzer # SPDX-FileCopyrightText: 2022 Nikita Chernyi # SPDX-FileCopyrightText: 2022 Sebastian Gumprich # SPDX-FileCopyrightText: 2024 David Mehren diff --git a/roles/custom/matrix-bridge-mautrix-instagram/tasks/setup_uninstall.yml b/roles/custom/matrix-bridge-mautrix-instagram/tasks/setup_uninstall.yml index da2d3f98e..de533aa7c 100644 --- a/roles/custom/matrix-bridge-mautrix-instagram/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-bridge-mautrix-instagram/tasks/setup_uninstall.yml @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: 2021 Marcus Proest # SPDX-FileCopyrightText: 2021 - 2022 Slavi Pantaleev +# SPDX-FileCopyrightText: 2021 Marcus Proest # SPDX-FileCopyrightText: 2022 Marko Weltzer # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-mautrix-instagram/tasks/validate_config.yml b/roles/custom/matrix-bridge-mautrix-instagram/tasks/validate_config.yml index ef430fcbd..2fa0a14fd 100644 --- a/roles/custom/matrix-bridge-mautrix-instagram/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mautrix-instagram/tasks/validate_config.yml @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: 2021 Marcus Proest # SPDX-FileCopyrightText: 2021 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2021 Marcus Proest # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-mautrix-instagram/templates/config.yaml.j2.license b/roles/custom/matrix-bridge-mautrix-instagram/templates/config.yaml.j2.license index 6e01bd18d..89b223f9b 100644 --- a/roles/custom/matrix-bridge-mautrix-instagram/templates/config.yaml.j2.license +++ b/roles/custom/matrix-bridge-mautrix-instagram/templates/config.yaml.j2.license @@ -1,8 +1,8 @@ -SPDX-FileCopyrightText: 2021 Marcus Proest SPDX-FileCopyrightText: 2021 - 2022 MDAD project contributors -SPDX-FileCopyrightText: 2022 László Várady +SPDX-FileCopyrightText: 2021 Marcus Proest SPDX-FileCopyrightText: 2022 - 2023 Nikita Chernyi SPDX-FileCopyrightText: 2022 - 2023 Slavi Pantaleev +SPDX-FileCopyrightText: 2022 László Várady SPDX-FileCopyrightText: 2023 Adrien le Maire SPDX-FileCopyrightText: 2023 Kevin Kengen SPDX-FileCopyrightText: 2024 Suguru Hirahara diff --git a/roles/custom/matrix-bridge-mx-puppet-discord/defaults/main.yml b/roles/custom/matrix-bridge-mx-puppet-discord/defaults/main.yml index 966524ab4..5cda2b0f4 100644 --- a/roles/custom/matrix-bridge-mx-puppet-discord/defaults/main.yml +++ b/roles/custom/matrix-bridge-mx-puppet-discord/defaults/main.yml @@ -1,6 +1,6 @@ -# SPDX-FileCopyrightText: 2020 Hugues Morisset -# SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev # SPDX-FileCopyrightText: 2020 - 2024 MDAD project contributors +# SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2020 Hugues Morisset # SPDX-FileCopyrightText: 2021 Ahmad Haghighi # SPDX-FileCopyrightText: 2022 Daniel Sonck # SPDX-FileCopyrightText: 2022 Marko Weltzer diff --git a/roles/custom/matrix-bridge-mx-puppet-discord/tasks/main.yml b/roles/custom/matrix-bridge-mx-puppet-discord/tasks/main.yml index 273640969..67e4948e4 100644 --- a/roles/custom/matrix-bridge-mx-puppet-discord/tasks/main.yml +++ b/roles/custom/matrix-bridge-mx-puppet-discord/tasks/main.yml @@ -1,6 +1,6 @@ # SPDX-FileCopyrightText: 2020 Hugues Morisset -# SPDX-FileCopyrightText: 2022 Marko Weltzer # SPDX-FileCopyrightText: 2022 - 2023 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-mx-puppet-discord/tasks/setup_install.yml b/roles/custom/matrix-bridge-mx-puppet-discord/tasks/setup_install.yml index 268cf0364..af1717a0f 100644 --- a/roles/custom/matrix-bridge-mx-puppet-discord/tasks/setup_install.yml +++ b/roles/custom/matrix-bridge-mx-puppet-discord/tasks/setup_install.yml @@ -1,8 +1,8 @@ -# SPDX-FileCopyrightText: 2020 Hugues Morisset # SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2020 Hugues Morisset # SPDX-FileCopyrightText: 2020 Stuart Mumford -# SPDX-FileCopyrightText: 2022 Marko Weltzer # SPDX-FileCopyrightText: 2022 Jim Myhrberg +# SPDX-FileCopyrightText: 2022 Marko Weltzer # SPDX-FileCopyrightText: 2022 Nikita Chernyi # SPDX-FileCopyrightText: 2022 Sebastian Gumprich # SPDX-FileCopyrightText: 2024 David Mehren diff --git a/roles/custom/matrix-bridge-mx-puppet-groupme/defaults/main.yml b/roles/custom/matrix-bridge-mx-puppet-groupme/defaults/main.yml index 2487ab7d7..a4d7570ef 100644 --- a/roles/custom/matrix-bridge-mx-puppet-groupme/defaults/main.yml +++ b/roles/custom/matrix-bridge-mx-puppet-groupme/defaults/main.yml @@ -1,10 +1,10 @@ -# SPDX-FileCopyrightText: 2021 Cody Neiman -# SPDX-FileCopyrightText: 2021 MDAD project contributors # SPDX-FileCopyrightText: 2021 - 2025 Slavi Pantaleev # SPDX-FileCopyrightText: 2021 Ahmad Haghighi +# SPDX-FileCopyrightText: 2021 Cody Neiman +# SPDX-FileCopyrightText: 2021 MDAD project contributors +# SPDX-FileCopyrightText: 2022 Cody Wyatt Neiman # SPDX-FileCopyrightText: 2022 Marko Weltzer # SPDX-FileCopyrightText: 2022 Nikita Chernyi -# SPDX-FileCopyrightText: 2022 Cody Wyatt Neiman # SPDX-FileCopyrightText: 2024 Suguru Hirahara # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-mx-puppet-groupme/tasks/main.yml b/roles/custom/matrix-bridge-mx-puppet-groupme/tasks/main.yml index 2deab4a92..8b6e0be39 100644 --- a/roles/custom/matrix-bridge-mx-puppet-groupme/tasks/main.yml +++ b/roles/custom/matrix-bridge-mx-puppet-groupme/tasks/main.yml @@ -1,6 +1,6 @@ # SPDX-FileCopyrightText: 2021 Cody Neiman -# SPDX-FileCopyrightText: 2022 Marko Weltzer # SPDX-FileCopyrightText: 2022 - 2023 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-mx-puppet-groupme/tasks/setup_install.yml b/roles/custom/matrix-bridge-mx-puppet-groupme/tasks/setup_install.yml index 28f5700b5..5e09ca887 100644 --- a/roles/custom/matrix-bridge-mx-puppet-groupme/tasks/setup_install.yml +++ b/roles/custom/matrix-bridge-mx-puppet-groupme/tasks/setup_install.yml @@ -1,7 +1,7 @@ -# SPDX-FileCopyrightText: 2021 Cody Neiman # SPDX-FileCopyrightText: 2021 - 2024 Slavi Pantaleev -# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2021 Cody Neiman # SPDX-FileCopyrightText: 2022 Jim Myhrberg +# SPDX-FileCopyrightText: 2022 Marko Weltzer # SPDX-FileCopyrightText: 2022 Nikita Chernyi # SPDX-FileCopyrightText: 2022 Sebastian Gumprich # SPDX-FileCopyrightText: 2024 David Mehren diff --git a/roles/custom/matrix-bridge-mx-puppet-groupme/tasks/setup_uninstall.yml b/roles/custom/matrix-bridge-mx-puppet-groupme/tasks/setup_uninstall.yml index 04a7eed54..6f698ca62 100644 --- a/roles/custom/matrix-bridge-mx-puppet-groupme/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-bridge-mx-puppet-groupme/tasks/setup_uninstall.yml @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: 2021 Cody Neiman # SPDX-FileCopyrightText: 2021 - 2022 Slavi Pantaleev +# SPDX-FileCopyrightText: 2021 Cody Neiman # SPDX-FileCopyrightText: 2022 Marko Weltzer # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-mx-puppet-instagram/tasks/main.yml b/roles/custom/matrix-bridge-mx-puppet-instagram/tasks/main.yml index 81a6441d2..c2944596f 100644 --- a/roles/custom/matrix-bridge-mx-puppet-instagram/tasks/main.yml +++ b/roles/custom/matrix-bridge-mx-puppet-instagram/tasks/main.yml @@ -1,6 +1,6 @@ # SPDX-FileCopyrightText: 2020 - 2021 MDAD project contributors -# SPDX-FileCopyrightText: 2022 Marko Weltzer # SPDX-FileCopyrightText: 2022 - 2023 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-mx-puppet-instagram/tasks/setup_install.yml b/roles/custom/matrix-bridge-mx-puppet-instagram/tasks/setup_install.yml index c57f86fac..1846ede1f 100644 --- a/roles/custom/matrix-bridge-mx-puppet-instagram/tasks/setup_install.yml +++ b/roles/custom/matrix-bridge-mx-puppet-instagram/tasks/setup_install.yml @@ -1,8 +1,8 @@ # SPDX-FileCopyrightText: 2020 - 2021 MDAD project contributors # SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev # SPDX-FileCopyrightText: 2020 Stuart Mumford -# SPDX-FileCopyrightText: 2022 Marko Weltzer # SPDX-FileCopyrightText: 2022 Jim Myhrberg +# SPDX-FileCopyrightText: 2022 Marko Weltzer # SPDX-FileCopyrightText: 2022 Nikita Chernyi # SPDX-FileCopyrightText: 2022 Sebastian Gumprich # SPDX-FileCopyrightText: 2024 David Mehren diff --git a/roles/custom/matrix-bridge-mx-puppet-slack/defaults/main.yml b/roles/custom/matrix-bridge-mx-puppet-slack/defaults/main.yml index 4b4eb76eb..338eb3691 100644 --- a/roles/custom/matrix-bridge-mx-puppet-slack/defaults/main.yml +++ b/roles/custom/matrix-bridge-mx-puppet-slack/defaults/main.yml @@ -1,13 +1,13 @@ -# SPDX-FileCopyrightText: 2020 Rodrigo Belem # SPDX-FileCopyrightText: 2020 - 2021 MDAD project contributors # SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev # SPDX-FileCopyrightText: 2020 Hugues Morisset +# SPDX-FileCopyrightText: 2020 Rodrigo Belem # SPDX-FileCopyrightText: 2021 Ahmad Haghighi # SPDX-FileCopyrightText: 2021 Marcel Ackermann +# SPDX-FileCopyrightText: 2022 Daniel Sonck # SPDX-FileCopyrightText: 2022 Jim Myhrberg # SPDX-FileCopyrightText: 2022 Marko Weltzer # SPDX-FileCopyrightText: 2022 Nikita Chernyi -# SPDX-FileCopyrightText: 2022 Daniel Sonck # SPDX-FileCopyrightText: 2023 Samuel Meenzen # SPDX-FileCopyrightText: 2024 Suguru Hirahara # diff --git a/roles/custom/matrix-bridge-mx-puppet-slack/tasks/main.yml b/roles/custom/matrix-bridge-mx-puppet-slack/tasks/main.yml index 69ac4bfb7..3e66fd822 100644 --- a/roles/custom/matrix-bridge-mx-puppet-slack/tasks/main.yml +++ b/roles/custom/matrix-bridge-mx-puppet-slack/tasks/main.yml @@ -1,6 +1,6 @@ # SPDX-FileCopyrightText: 2020 Rodrigo Belem -# SPDX-FileCopyrightText: 2022 Marko Weltzer # SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-mx-puppet-slack/tasks/setup_install.yml b/roles/custom/matrix-bridge-mx-puppet-slack/tasks/setup_install.yml index f194959d3..55e0cdecf 100644 --- a/roles/custom/matrix-bridge-mx-puppet-slack/tasks/setup_install.yml +++ b/roles/custom/matrix-bridge-mx-puppet-slack/tasks/setup_install.yml @@ -1,6 +1,6 @@ # SPDX-FileCopyrightText: 2020 Rodrigo Belem -# SPDX-FileCopyrightText: 2022 Marko Weltzer # SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-mx-puppet-steam/defaults/main.yml b/roles/custom/matrix-bridge-mx-puppet-steam/defaults/main.yml index b42e37f7f..65161cf54 100644 --- a/roles/custom/matrix-bridge-mx-puppet-steam/defaults/main.yml +++ b/roles/custom/matrix-bridge-mx-puppet-steam/defaults/main.yml @@ -1,6 +1,6 @@ -# SPDX-FileCopyrightText: 2020 Hugues Morisset -# SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev # SPDX-FileCopyrightText: 2020 - 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2020 Hugues Morisset # SPDX-FileCopyrightText: 2021 Ahmad Haghighi # SPDX-FileCopyrightText: 2022 Marko Weltzer # SPDX-FileCopyrightText: 2022 Nikita Chernyi diff --git a/roles/custom/matrix-bridge-mx-puppet-steam/tasks/main.yml b/roles/custom/matrix-bridge-mx-puppet-steam/tasks/main.yml index bae270632..a7619e431 100644 --- a/roles/custom/matrix-bridge-mx-puppet-steam/tasks/main.yml +++ b/roles/custom/matrix-bridge-mx-puppet-steam/tasks/main.yml @@ -1,6 +1,6 @@ # SPDX-FileCopyrightText: 2020 Hugues Morisset -# SPDX-FileCopyrightText: 2022 Marko Weltzer # SPDX-FileCopyrightText: 2022 - 2023 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-mx-puppet-steam/tasks/setup_install.yml b/roles/custom/matrix-bridge-mx-puppet-steam/tasks/setup_install.yml index ef7c7ee13..298913aec 100644 --- a/roles/custom/matrix-bridge-mx-puppet-steam/tasks/setup_install.yml +++ b/roles/custom/matrix-bridge-mx-puppet-steam/tasks/setup_install.yml @@ -1,9 +1,9 @@ +# SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev # SPDX-FileCopyrightText: 2020 Hugues Morisset # SPDX-FileCopyrightText: 2020 Panagiotis Vasilopoulos -# SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev # SPDX-FileCopyrightText: 2020 Stuart Mumford -# SPDX-FileCopyrightText: 2022 Marko Weltzer # SPDX-FileCopyrightText: 2022 Jim Myhrberg +# SPDX-FileCopyrightText: 2022 Marko Weltzer # SPDX-FileCopyrightText: 2022 Nikita Chernyi # SPDX-FileCopyrightText: 2022 Sebastian Gumprich # SPDX-FileCopyrightText: 2024 David Mehren diff --git a/roles/custom/matrix-bridge-mx-puppet-twitter/defaults/main.yml b/roles/custom/matrix-bridge-mx-puppet-twitter/defaults/main.yml index 2b8f40c97..c556cda4a 100644 --- a/roles/custom/matrix-bridge-mx-puppet-twitter/defaults/main.yml +++ b/roles/custom/matrix-bridge-mx-puppet-twitter/defaults/main.yml @@ -1,6 +1,6 @@ -# SPDX-FileCopyrightText: 2020 Tulir Asokan -# SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev # SPDX-FileCopyrightText: 2020 - 2021 MDAD project contributors +# SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2020 Tulir Asokan # SPDX-FileCopyrightText: 2021 Ahmad Haghighi # SPDX-FileCopyrightText: 2022 Marko Weltzer # SPDX-FileCopyrightText: 2022 Nikita Chernyi diff --git a/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/main.yml b/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/main.yml index fb8d79a78..b534f22c0 100644 --- a/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/main.yml +++ b/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/main.yml @@ -1,6 +1,6 @@ # SPDX-FileCopyrightText: 2020 Tulir Asokan -# SPDX-FileCopyrightText: 2022 Marko Weltzer # SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/setup_install.yml b/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/setup_install.yml index f128a990f..2f6a7807e 100644 --- a/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/setup_install.yml +++ b/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/setup_install.yml @@ -1,8 +1,8 @@ -# SPDX-FileCopyrightText: 2020 Tulir Asokan # SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev # SPDX-FileCopyrightText: 2020 Stuart Mumford -# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2020 Tulir Asokan # SPDX-FileCopyrightText: 2022 Jim Myhrberg +# SPDX-FileCopyrightText: 2022 Marko Weltzer # SPDX-FileCopyrightText: 2022 Nikita Chernyi # SPDX-FileCopyrightText: 2022 Sebastian Gumprich # SPDX-FileCopyrightText: 2024 David Mehren diff --git a/roles/custom/matrix-bridge-wechat/tasks/validate_config.yml b/roles/custom/matrix-bridge-wechat/tasks/validate_config.yml index 6400ccfd3..c0eb73927 100644 --- a/roles/custom/matrix-bridge-wechat/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-wechat/tasks/validate_config.yml @@ -2,7 +2,6 @@ # # SPDX-License-Identifier: AGPL-3.0-or-later - --- - name: Fail if required WeChat settings not defined diff --git a/roles/custom/matrix-bridge-wechat/templates/config.yaml.j2.license b/roles/custom/matrix-bridge-wechat/templates/config.yaml.j2.license index b94e0d95e..9470a96a3 100644 --- a/roles/custom/matrix-bridge-wechat/templates/config.yaml.j2.license +++ b/roles/custom/matrix-bridge-wechat/templates/config.yaml.j2.license @@ -1,4 +1,4 @@ -SPDX-FileCopyrightText: 2024 Slavi Pantaleev SPDX-FileCopyrightText: 2024 Nikita Chernyi +SPDX-FileCopyrightText: 2024 Slavi Pantaleev SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-cactus-comments-client/tasks/install.yml b/roles/custom/matrix-cactus-comments-client/tasks/install.yml index 466a9900e..6a86df4ce 100644 --- a/roles/custom/matrix-cactus-comments-client/tasks/install.yml +++ b/roles/custom/matrix-cactus-comments-client/tasks/install.yml @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: 2024 Slavi Pantaleev # SPDX-FileCopyrightText: 2024 David Mehren +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-cactus-comments/tasks/main.yml b/roles/custom/matrix-cactus-comments/tasks/main.yml index 00f3c4b1f..6d2a418ff 100644 --- a/roles/custom/matrix-cactus-comments/tasks/main.yml +++ b/roles/custom/matrix-cactus-comments/tasks/main.yml @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: 2022 Julian-Samuel Gebühr # SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Julian-Samuel Gebühr # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-cactus-comments/tasks/setup_uninstall.yml b/roles/custom/matrix-cactus-comments/tasks/setup_uninstall.yml index 451a2db0b..4eebcacaf 100644 --- a/roles/custom/matrix-cactus-comments/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-cactus-comments/tasks/setup_uninstall.yml @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: 2022 Julian-Samuel Gebühr # SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Julian-Samuel Gebühr # SPDX-FileCopyrightText: 2022 Sebastian Gumprich # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-cactus-comments/tasks/validate_config.yml b/roles/custom/matrix-cactus-comments/tasks/validate_config.yml index 1fccefc47..c26b0b8f1 100644 --- a/roles/custom/matrix-cactus-comments/tasks/validate_config.yml +++ b/roles/custom/matrix-cactus-comments/tasks/validate_config.yml @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: 2022 Julian-Samuel Gebühr # SPDX-FileCopyrightText: 2019 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Julian-Samuel Gebühr # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-cactus-comments/templates/env.j2.license b/roles/custom/matrix-cactus-comments/templates/env.j2.license index 28d697fbe..da108d1da 100644 --- a/roles/custom/matrix-cactus-comments/templates/env.j2.license +++ b/roles/custom/matrix-cactus-comments/templates/env.j2.license @@ -1,4 +1,4 @@ -SPDX-FileCopyrightText: 2022 Julian-Samuel Gebühr +SPDX-FileCopyrightText: 2022 Julian-Samuel Gebühr SPDX-FileCopyrightText: 2022 Slavi Pantaleev SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-cactus-comments/templates/systemd/matrix-cactus-comments.service.j2.license b/roles/custom/matrix-cactus-comments/templates/systemd/matrix-cactus-comments.service.j2.license index c3b55344f..1c63cc4e4 100644 --- a/roles/custom/matrix-cactus-comments/templates/systemd/matrix-cactus-comments.service.j2.license +++ b/roles/custom/matrix-cactus-comments/templates/systemd/matrix-cactus-comments.service.j2.license @@ -1,4 +1,4 @@ -SPDX-FileCopyrightText: 2022 Julian-Samuel Gebühr SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev +SPDX-FileCopyrightText: 2022 Julian-Samuel Gebühr SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-client-cinny/defaults/main.yml b/roles/custom/matrix-client-cinny/defaults/main.yml index fa0597af6..405ecc82f 100644 --- a/roles/custom/matrix-client-cinny/defaults/main.yml +++ b/roles/custom/matrix-client-cinny/defaults/main.yml @@ -1,8 +1,8 @@ -# SPDX-FileCopyrightText: 2022 MDAD project contributors -# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev -# SPDX-FileCopyrightText: 2022 Marko Weltzer -# SPDX-FileCopyrightText: 2022 László Várady # SPDX-FileCopyrightText: 2022 - 2024 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 László Várady +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2022 Marko Weltzer # SPDX-FileCopyrightText: 2023 Samuel Meenzen # SPDX-FileCopyrightText: 2024 Suguru Hirahara # diff --git a/roles/custom/matrix-client-cinny/tasks/main.yml b/roles/custom/matrix-client-cinny/tasks/main.yml index 925e15dcf..935b4ee03 100644 --- a/roles/custom/matrix-client-cinny/tasks/main.yml +++ b/roles/custom/matrix-client-cinny/tasks/main.yml @@ -1,6 +1,6 @@ +# SPDX-FileCopyrightText: 2022 - 2023 Slavi Pantaleev # SPDX-FileCopyrightText: 2022 MDAD project contributors # SPDX-FileCopyrightText: 2022 Marko Weltzer -# SPDX-FileCopyrightText: 2022 - 2023 Slavi Pantaleev # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-client-cinny/tasks/self_check.yml b/roles/custom/matrix-client-cinny/tasks/self_check.yml index 6bf0d2187..054fdf87e 100644 --- a/roles/custom/matrix-client-cinny/tasks/self_check.yml +++ b/roles/custom/matrix-client-cinny/tasks/self_check.yml @@ -1,6 +1,6 @@ +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev # SPDX-FileCopyrightText: 2022 MDAD project contributors # SPDX-FileCopyrightText: 2022 Marko Weltzer -# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-client-cinny/tasks/setup_install.yml b/roles/custom/matrix-client-cinny/tasks/setup_install.yml index 2c19d421d..228aa0614 100644 --- a/roles/custom/matrix-client-cinny/tasks/setup_install.yml +++ b/roles/custom/matrix-client-cinny/tasks/setup_install.yml @@ -1,7 +1,7 @@ +# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev # SPDX-FileCopyrightText: 2022 MDAD project contributors # SPDX-FileCopyrightText: 2022 Marko Weltzer # SPDX-FileCopyrightText: 2022 Nikita Chernyi -# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev # SPDX-FileCopyrightText: 2022 Sebastian Gumprich # SPDX-FileCopyrightText: 2024 David Mehren # diff --git a/roles/custom/matrix-client-cinny/tasks/setup_uninstall.yml b/roles/custom/matrix-client-cinny/tasks/setup_uninstall.yml index 0474902ba..7a8b5f1bc 100644 --- a/roles/custom/matrix-client-cinny/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-client-cinny/tasks/setup_uninstall.yml @@ -1,7 +1,7 @@ # SPDX-FileCopyrightText: 2022 MDAD project contributors # SPDX-FileCopyrightText: 2022 Marko Weltzer -# SPDX-FileCopyrightText: 2022 Slavi Pantaleev # SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2022 Slavi Pantaleev # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-client-cinny/tasks/validate_config.yml b/roles/custom/matrix-client-cinny/tasks/validate_config.yml index e267b93fe..b3e324a38 100644 --- a/roles/custom/matrix-client-cinny/tasks/validate_config.yml +++ b/roles/custom/matrix-client-cinny/tasks/validate_config.yml @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: 2022 MDAD project contributors # SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 MDAD project contributors # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-client-cinny/templates/nginx.conf.j2.license b/roles/custom/matrix-client-cinny/templates/nginx.conf.j2.license index ea80b31e7..ec432fa3c 100644 --- a/roles/custom/matrix-client-cinny/templates/nginx.conf.j2.license +++ b/roles/custom/matrix-client-cinny/templates/nginx.conf.j2.license @@ -1,5 +1,5 @@ -SPDX-FileCopyrightText: 2022 MDAD project contributors SPDX-FileCopyrightText: 2019 - 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2022 MDAD project contributors SPDX-FileCopyrightText: 2024 James Reilly SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-client-cinny/templates/systemd/matrix-client-cinny.service.j2.license b/roles/custom/matrix-client-cinny/templates/systemd/matrix-client-cinny.service.j2.license index 69c513d50..c751d3d6f 100644 --- a/roles/custom/matrix-client-cinny/templates/systemd/matrix-client-cinny.service.j2.license +++ b/roles/custom/matrix-client-cinny/templates/systemd/matrix-client-cinny.service.j2.license @@ -1,4 +1,4 @@ -SPDX-FileCopyrightText: 2022 MDAD project contributors SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev +SPDX-FileCopyrightText: 2022 MDAD project contributors SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-client-hydrogen/defaults/main.yml b/roles/custom/matrix-client-hydrogen/defaults/main.yml index c31fc3002..eae7aed87 100644 --- a/roles/custom/matrix-client-hydrogen/defaults/main.yml +++ b/roles/custom/matrix-client-hydrogen/defaults/main.yml @@ -1,11 +1,11 @@ # SPDX-FileCopyrightText: 2021 - 2022 Aaron Raimist # SPDX-FileCopyrightText: 2021 - 2022 MDAD project contributors # SPDX-FileCopyrightText: 2021 - 2025 Slavi Pantaleev -# SPDX-FileCopyrightText: 2022 Marko Weltzer # SPDX-FileCopyrightText: 2022 - 2023 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 Marko Weltzer # SPDX-FileCopyrightText: 2022 Matthew Cengia -# SPDX-FileCopyrightText: 2023 Samuel Meenzen # SPDX-FileCopyrightText: 2023 Pierre 'McFly' Marty +# SPDX-FileCopyrightText: 2023 Samuel Meenzen # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-client-hydrogen/tasks/main.yml b/roles/custom/matrix-client-hydrogen/tasks/main.yml index f5073ce9c..838b82a47 100644 --- a/roles/custom/matrix-client-hydrogen/tasks/main.yml +++ b/roles/custom/matrix-client-hydrogen/tasks/main.yml @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: 2021 Aaron Raimist # SPDX-FileCopyrightText: 2021 - 2023 Slavi Pantaleev +# SPDX-FileCopyrightText: 2021 Aaron Raimist # SPDX-FileCopyrightText: 2022 Marko Weltzer # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-client-hydrogen/tasks/self_check.yml b/roles/custom/matrix-client-hydrogen/tasks/self_check.yml index 2a894593c..b89cddc61 100644 --- a/roles/custom/matrix-client-hydrogen/tasks/self_check.yml +++ b/roles/custom/matrix-client-hydrogen/tasks/self_check.yml @@ -1,6 +1,6 @@ # SPDX-FileCopyrightText: 2021 - 2022 Aaron Raimist -# SPDX-FileCopyrightText: 2022 Marko Weltzer # SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-client-hydrogen/tasks/setup_install.yml b/roles/custom/matrix-client-hydrogen/tasks/setup_install.yml index 18c06f3c8..f720fe5f5 100644 --- a/roles/custom/matrix-client-hydrogen/tasks/setup_install.yml +++ b/roles/custom/matrix-client-hydrogen/tasks/setup_install.yml @@ -1,9 +1,9 @@ # SPDX-FileCopyrightText: 2021 - 2022 Aaron Raimist # SPDX-FileCopyrightText: 2021 - 2024 Slavi Pantaleev # SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 Matthew Cengia # SPDX-FileCopyrightText: 2022 Nikita Chernyi # SPDX-FileCopyrightText: 2022 Sebastian Gumprich -# SPDX-FileCopyrightText: 2022 Matthew Cengia # SPDX-FileCopyrightText: 2023 Julian Foad # SPDX-FileCopyrightText: 2024 David Mehren # diff --git a/roles/custom/matrix-client-hydrogen/templates/config.json.j2.license b/roles/custom/matrix-client-hydrogen/templates/config.json.j2.license index 86cf6f8f1..a4ca23eb3 100644 --- a/roles/custom/matrix-client-hydrogen/templates/config.json.j2.license +++ b/roles/custom/matrix-client-hydrogen/templates/config.json.j2.license @@ -1,7 +1,7 @@ SPDX-FileCopyrightText: 2021 - 2022 Aaron Raimist -SPDX-FileCopyrightText: 2022 Nikita Chernyi SPDX-FileCopyrightText: 2022 - 2023 Slavi Pantaleev SPDX-FileCopyrightText: 2022 Matthew Cengia +SPDX-FileCopyrightText: 2022 Nikita Chernyi SPDX-FileCopyrightText: 2023 Sergio Durigan Junior SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-client-hydrogen/templates/systemd/matrix-client-hydrogen.service.j2.license b/roles/custom/matrix-client-hydrogen/templates/systemd/matrix-client-hydrogen.service.j2.license index f23ca62d3..0379e85ae 100644 --- a/roles/custom/matrix-client-hydrogen/templates/systemd/matrix-client-hydrogen.service.j2.license +++ b/roles/custom/matrix-client-hydrogen/templates/systemd/matrix-client-hydrogen.service.j2.license @@ -1,5 +1,5 @@ -SPDX-FileCopyrightText: 2021 Aaron Raimist SPDX-FileCopyrightText: 2021 - 2025 Slavi Pantaleev +SPDX-FileCopyrightText: 2021 Aaron Raimist SPDX-FileCopyrightText: 2022 Matthew Cengia SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-dimension/defaults/main.yml b/roles/custom/matrix-dimension/defaults/main.yml index ba36b8c07..8d4a11c7e 100644 --- a/roles/custom/matrix-dimension/defaults/main.yml +++ b/roles/custom/matrix-dimension/defaults/main.yml @@ -1,11 +1,11 @@ -# SPDX-FileCopyrightText: 2019 Edgars Voroboks -# SPDX-FileCopyrightText: 2019 - 2025 Slavi Pantaleev # SPDX-FileCopyrightText: 2019 - 2021 MDAD project contributors -# SPDX-FileCopyrightText: 2019 Sylvia van Os +# SPDX-FileCopyrightText: 2019 - 2025 Slavi Pantaleev # SPDX-FileCopyrightText: 2019 Dan Arnfield +# SPDX-FileCopyrightText: 2019 Edgars Voroboks +# SPDX-FileCopyrightText: 2019 Sylvia van Os # SPDX-FileCopyrightText: 2020 Chris van Dijk -# SPDX-FileCopyrightText: 2021 Ahmad Haghighi # SPDX-FileCopyrightText: 2021 Aaron Raimist +# SPDX-FileCopyrightText: 2021 Ahmad Haghighi # SPDX-FileCopyrightText: 2022 Marko Weltzer # SPDX-FileCopyrightText: 2022 Nikita Chernyi # SPDX-FileCopyrightText: 2023 Samuel Meenzen diff --git a/roles/custom/matrix-dimension/tasks/main.yml b/roles/custom/matrix-dimension/tasks/main.yml index 0018acf10..19385f106 100644 --- a/roles/custom/matrix-dimension/tasks/main.yml +++ b/roles/custom/matrix-dimension/tasks/main.yml @@ -1,6 +1,6 @@ -# SPDX-FileCopyrightText: 2019 Edgars Voroboks # SPDX-FileCopyrightText: 2019 - 2023 Slavi Pantaleev # SPDX-FileCopyrightText: 2019 Dan Arnfield +# SPDX-FileCopyrightText: 2019 Edgars Voroboks # SPDX-FileCopyrightText: 2022 Marko Weltzer # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-dimension/tasks/setup_install.yml b/roles/custom/matrix-dimension/tasks/setup_install.yml index 03fee6a99..5aaeb6d1e 100644 --- a/roles/custom/matrix-dimension/tasks/setup_install.yml +++ b/roles/custom/matrix-dimension/tasks/setup_install.yml @@ -1,9 +1,9 @@ # SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev # SPDX-FileCopyrightText: 2020 Stuart Mumford -# SPDX-FileCopyrightText: 2021 Yannick Goossens # SPDX-FileCopyrightText: 2021 MDAD project contributors -# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2021 Yannick Goossens # SPDX-FileCopyrightText: 2022 Jim Myhrberg +# SPDX-FileCopyrightText: 2022 Marko Weltzer # SPDX-FileCopyrightText: 2022 Nikita Chernyi # SPDX-FileCopyrightText: 2022 Sebastian Gumprich # SPDX-FileCopyrightText: 2024 David Mehren diff --git a/roles/custom/matrix-dimension/tasks/validate_config.yml b/roles/custom/matrix-dimension/tasks/validate_config.yml index f7b32e389..6fa3a8d21 100644 --- a/roles/custom/matrix-dimension/tasks/validate_config.yml +++ b/roles/custom/matrix-dimension/tasks/validate_config.yml @@ -1,6 +1,6 @@ -# SPDX-FileCopyrightText: 2019 Edgars Voroboks -# SPDX-FileCopyrightText: 2019 Dan Arnfield # SPDX-FileCopyrightText: 2019 - 2023 Slavi Pantaleev +# SPDX-FileCopyrightText: 2019 Dan Arnfield +# SPDX-FileCopyrightText: 2019 Edgars Voroboks # SPDX-FileCopyrightText: 2020 Chris van Dijk # SPDX-FileCopyrightText: 2022 Marko Weltzer # diff --git a/roles/custom/matrix-dimension/templates/systemd/matrix-dimension.service.j2.license b/roles/custom/matrix-dimension/templates/systemd/matrix-dimension.service.j2.license index 0db4becf9..22f65f580 100644 --- a/roles/custom/matrix-dimension/templates/systemd/matrix-dimension.service.j2.license +++ b/roles/custom/matrix-dimension/templates/systemd/matrix-dimension.service.j2.license @@ -1,7 +1,7 @@ -SPDX-FileCopyrightText: 2019 Edgars Voroboks SPDX-FileCopyrightText: 2019 - 2025 Slavi Pantaleev -SPDX-FileCopyrightText: 2019 Sylvia van Os +SPDX-FileCopyrightText: 2019 Edgars Voroboks SPDX-FileCopyrightText: 2019 Hugues De Keyzer +SPDX-FileCopyrightText: 2019 Sylvia van Os SPDX-FileCopyrightText: 2020 Chris van Dijk SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-dimension/vars/main.yml b/roles/custom/matrix-dimension/vars/main.yml index f3ce6a300..4a931a6aa 100644 --- a/roles/custom/matrix-dimension/vars/main.yml +++ b/roles/custom/matrix-dimension/vars/main.yml @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: 2019 Edgars Voroboks # SPDX-FileCopyrightText: 2019 - 2022 Slavi Pantaleev +# SPDX-FileCopyrightText: 2019 Edgars Voroboks # SPDX-FileCopyrightText: 2022 Marko Weltzer # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-ma1sd/defaults/main.yml b/roles/custom/matrix-ma1sd/defaults/main.yml index e235c924e..05be4717e 100644 --- a/roles/custom/matrix-ma1sd/defaults/main.yml +++ b/roles/custom/matrix-ma1sd/defaults/main.yml @@ -1,10 +1,10 @@ -# SPDX-FileCopyrightText: 2020 Marcel Partap -# SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev # SPDX-FileCopyrightText: 2020 - 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2020 Marcel Partap # SPDX-FileCopyrightText: 2020 Matt Cengia +# SPDX-FileCopyrightText: 2021 Aaron Raimist # SPDX-FileCopyrightText: 2021 Ahmad Haghighi # SPDX-FileCopyrightText: 2021 boris runakov -# SPDX-FileCopyrightText: 2021 Aaron Raimist # SPDX-FileCopyrightText: 2022 Marko Weltzer # SPDX-FileCopyrightText: 2022 Nikita Chernyi # SPDX-FileCopyrightText: 2023 Samuel Meenzen diff --git a/roles/custom/matrix-ma1sd/tasks/main.yml b/roles/custom/matrix-ma1sd/tasks/main.yml index ee4613b65..5376e5ace 100644 --- a/roles/custom/matrix-ma1sd/tasks/main.yml +++ b/roles/custom/matrix-ma1sd/tasks/main.yml @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: 2020 Marcel Partap # SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2020 Marcel Partap # SPDX-FileCopyrightText: 2022 Marko Weltzer # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-ma1sd/tasks/self_check.yml b/roles/custom/matrix-ma1sd/tasks/self_check.yml index a90ae7a9c..d1a1714a6 100644 --- a/roles/custom/matrix-ma1sd/tasks/self_check.yml +++ b/roles/custom/matrix-ma1sd/tasks/self_check.yml @@ -1,7 +1,7 @@ -# SPDX-FileCopyrightText: 2020 Marcel Partap # SPDX-FileCopyrightText: 2020 MDAD project contributors -# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2020 Marcel Partap # SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 Marko Weltzer # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-ma1sd/tasks/setup_install.yml b/roles/custom/matrix-ma1sd/tasks/setup_install.yml index a6bb87c76..93aa2f14e 100644 --- a/roles/custom/matrix-ma1sd/tasks/setup_install.yml +++ b/roles/custom/matrix-ma1sd/tasks/setup_install.yml @@ -1,11 +1,11 @@ -# SPDX-FileCopyrightText: 2020 Marcel Partap # SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev # SPDX-FileCopyrightText: 2020 Chris van Dijk +# SPDX-FileCopyrightText: 2020 Marcel Partap # SPDX-FileCopyrightText: 2020 Matt Cengia # SPDX-FileCopyrightText: 2020 Stuart Mumford -# SPDX-FileCopyrightText: 2022 Marko Weltzer -# SPDX-FileCopyrightText: 2022 MDAD project contributors # SPDX-FileCopyrightText: 2022 Jim Myhrberg +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2022 Marko Weltzer # SPDX-FileCopyrightText: 2022 Nikita Chernyi # SPDX-FileCopyrightText: 2022 Sebastian Gumprich # SPDX-FileCopyrightText: 2024 David Mehren diff --git a/roles/custom/matrix-ma1sd/tasks/validate_config.yml b/roles/custom/matrix-ma1sd/tasks/validate_config.yml index ca7009df4..9e645002c 100644 --- a/roles/custom/matrix-ma1sd/tasks/validate_config.yml +++ b/roles/custom/matrix-ma1sd/tasks/validate_config.yml @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: 2020 Marcel Partap # SPDX-FileCopyrightText: 2020 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2020 Marcel Partap # SPDX-FileCopyrightText: 2021 boris runakov # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-ma1sd/templates/systemd/matrix-ma1sd.service.j2.license b/roles/custom/matrix-ma1sd/templates/systemd/matrix-ma1sd.service.j2.license index c893e025f..713174173 100644 --- a/roles/custom/matrix-ma1sd/templates/systemd/matrix-ma1sd.service.j2.license +++ b/roles/custom/matrix-ma1sd/templates/systemd/matrix-ma1sd.service.j2.license @@ -1,6 +1,6 @@ -SPDX-FileCopyrightText: 2020 Marcel Partap -SPDX-FileCopyrightText: 2020 Chris van Dijk SPDX-FileCopyrightText: 2020 - 2025 Slavi Pantaleev +SPDX-FileCopyrightText: 2020 Chris van Dijk +SPDX-FileCopyrightText: 2020 Marcel Partap SPDX-FileCopyrightText: 2021 - 2022 MDAD project contributors SPDX-FileCopyrightText: 2021 boris runakov diff --git a/roles/custom/matrix-pantalaimon/tasks/install.yml b/roles/custom/matrix-pantalaimon/tasks/install.yml index 4bd4283f7..256aa2f83 100644 --- a/roles/custom/matrix-pantalaimon/tasks/install.yml +++ b/roles/custom/matrix-pantalaimon/tasks/install.yml @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: 2024 David Mehren # SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2024 David Mehren # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-rageshake/defaults/main.yml b/roles/custom/matrix-rageshake/defaults/main.yml index 14092cde2..38a9cf17a 100644 --- a/roles/custom/matrix-rageshake/defaults/main.yml +++ b/roles/custom/matrix-rageshake/defaults/main.yml @@ -1,6 +1,6 @@ +# SPDX-FileCopyrightText: 2023 - 2025 Slavi Pantaleev # SPDX-FileCopyrightText: 2023 Benjamin Kampmann # SPDX-FileCopyrightText: 2023 Samuel Meenzen -# SPDX-FileCopyrightText: 2023 - 2025 Slavi Pantaleev # SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-rageshake/tasks/install.yml b/roles/custom/matrix-rageshake/tasks/install.yml index bcba5ee4f..796adf852 100644 --- a/roles/custom/matrix-rageshake/tasks/install.yml +++ b/roles/custom/matrix-rageshake/tasks/install.yml @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: 2023 Benjamin Kampmann # SPDX-FileCopyrightText: 2023 - 2024 lavi Pantaleev +# SPDX-FileCopyrightText: 2023 Benjamin Kampmann # SPDX-FileCopyrightText: 2024 David Mehren # SPDX-FileCopyrightText: 2025 Suguru Hirahara # diff --git a/roles/custom/matrix-rageshake/tasks/validate_config.yml b/roles/custom/matrix-rageshake/tasks/validate_config.yml index e8b40c459..80db54151 100644 --- a/roles/custom/matrix-rageshake/tasks/validate_config.yml +++ b/roles/custom/matrix-rageshake/tasks/validate_config.yml @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: 2023 Benjamin Kampmann # SPDX-FileCopyrightText: 2023 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2023 Benjamin Kampmann # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-rageshake/templates/systemd/matrix-rageshake.service.j2.license b/roles/custom/matrix-rageshake/templates/systemd/matrix-rageshake.service.j2.license index 0c2880506..2d5160f8f 100644 --- a/roles/custom/matrix-rageshake/templates/systemd/matrix-rageshake.service.j2.license +++ b/roles/custom/matrix-rageshake/templates/systemd/matrix-rageshake.service.j2.license @@ -1,5 +1,5 @@ -SPDX-FileCopyrightText: 2023 Benjamin Kampmann SPDX-FileCopyrightText: 2023 - 2025 Slavi Pantaleev +SPDX-FileCopyrightText: 2023 Benjamin Kampmann SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-registration/defaults/main.yml b/roles/custom/matrix-registration/defaults/main.yml index 0f2298904..40b840f84 100644 --- a/roles/custom/matrix-registration/defaults/main.yml +++ b/roles/custom/matrix-registration/defaults/main.yml @@ -1,6 +1,6 @@ # SPDX-FileCopyrightText: 2020 - 2025 Slavi Pantaleev -# SPDX-FileCopyrightText: 2021 Ahmad Haghighi # SPDX-FileCopyrightText: 2021 Aaron Raimist +# SPDX-FileCopyrightText: 2021 Ahmad Haghighi # SPDX-FileCopyrightText: 2022 Marko Weltzer # SPDX-FileCopyrightText: 2022 Nikita Chernyi # SPDX-FileCopyrightText: 2023 Samuel Meenzen diff --git a/roles/custom/matrix-registration/tasks/setup_install.yml b/roles/custom/matrix-registration/tasks/setup_install.yml index 06ebc9e41..9a97c1704 100644 --- a/roles/custom/matrix-registration/tasks/setup_install.yml +++ b/roles/custom/matrix-registration/tasks/setup_install.yml @@ -1,7 +1,7 @@ # SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev # SPDX-FileCopyrightText: 2020 Stuart Mumford -# SPDX-FileCopyrightText: 2022 Marko Weltzer # SPDX-FileCopyrightText: 2022 Jim Myhrberg +# SPDX-FileCopyrightText: 2022 Marko Weltzer # SPDX-FileCopyrightText: 2022 Nikita Chernyi # SPDX-FileCopyrightText: 2022 Sebastian Gumprich # SPDX-FileCopyrightText: 2024 David Mehren diff --git a/roles/custom/matrix-sliding-sync/defaults/main.yml b/roles/custom/matrix-sliding-sync/defaults/main.yml index 036b8023d..6e1e2c10f 100644 --- a/roles/custom/matrix-sliding-sync/defaults/main.yml +++ b/roles/custom/matrix-sliding-sync/defaults/main.yml @@ -1,11 +1,11 @@ # SPDX-FileCopyrightText: 2023 - 2024 Slavi Pantaleev -# SPDX-FileCopyrightText: 2023 Kabir Kwatra # SPDX-FileCopyrightText: 2023 David Mehren +# SPDX-FileCopyrightText: 2023 Kabir Kwatra # SPDX-FileCopyrightText: 2023 Nikita Chernyi # SPDX-FileCopyrightText: 2023 Samuel Meenzen +# SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara # SPDX-FileCopyrightText: 2024 HarHarLinks # SPDX-FileCopyrightText: 2024 MDAD project contributors -# SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara # # SPDX-License-Identifier: AGPL-3.0-or-later From f5492e37273937dc4d765ae1302ce28fc81ca53f Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Wed, 5 Mar 2025 12:43:52 +0900 Subject: [PATCH 669/841] Fix license year on matrix-bot-baibot.service.j2.license Signed-off-by: Suguru Hirahara --- .../templates/systemd/matrix-bot-baibot.service.j2.license | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-bot-baibot/templates/systemd/matrix-bot-baibot.service.j2.license b/roles/custom/matrix-bot-baibot/templates/systemd/matrix-bot-baibot.service.j2.license index c24b3ae88..53f94a9fa 100644 --- a/roles/custom/matrix-bot-baibot/templates/systemd/matrix-bot-baibot.service.j2.license +++ b/roles/custom/matrix-bot-baibot/templates/systemd/matrix-bot-baibot.service.j2.license @@ -1,4 +1,4 @@ -SPDX-FileCopyrightText: 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev SPDX-FileCopyrightText: 2025 Suguru Hirahara SPDX-License-Identifier: AGPL-3.0-or-later From 416d560ffe61bb67e46ea27d9bf9ca50921d3aa3 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Wed, 5 Mar 2025 13:01:11 +0900 Subject: [PATCH 670/841] Add GitHub Action "REUSE Compliance Check" Signed-off-by: Suguru Hirahara --- .github/workflows/reuse.yml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 .github/workflows/reuse.yml diff --git a/.github/workflows/reuse.yml b/.github/workflows/reuse.yml new file mode 100644 index 000000000..34b7a09bf --- /dev/null +++ b/.github/workflows/reuse.yml @@ -0,0 +1,20 @@ +# SPDX-FileCopyrightText: 2022 Free Software Foundation Europe e.V. +# +# SPDX-License-Identifier: CC0-1.0 +--- +name: REUSE Compliance Check + +on: [push, pull_request] # yamllint disable-line rule:truthy + +permissions: + contents: read + +jobs: + reuse-compliance-check: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: REUSE Compliance Check + uses: fsfe/reuse-action@v5 From cbc192771114c6a0434b6b9b6896685bc9d66caf Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Wed, 5 Mar 2025 13:19:25 +0900 Subject: [PATCH 671/841] Update validate_config.yml for migration: add a hint to update Ansible roles This commit adds the hint to fetch Ansible roles which have been replaced, as it is pretty easy to overlook necessity of doing so, especially if you had not enabled (and disabled thereafter) roles, whose variable names has been changed. Signed-off-by: Suguru Hirahara --- .../tasks/validate_config.yml | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/roles/custom/matrix_playbook_migration/tasks/validate_config.yml b/roles/custom/matrix_playbook_migration/tasks/validate_config.yml index ecb36f762..5476ed382 100644 --- a/roles/custom/matrix_playbook_migration/tasks/validate_config.yml +++ b/roles/custom/matrix_playbook_migration/tasks/validate_config.yml @@ -84,6 +84,8 @@ Please change your configuration (vars.yml) to rename all `matrix_postgres`-prefixed variables (`matrix_postgres_*` -> `postgres_*`). + After changing it, please do not forget to fetch the Ansible role. + The following variables in your configuration need to be renamed: {{ vars | dict2items | selectattr('key', 'match', 'matrix_postgres_.*') | map(attribute='key') | join(', ') }} when: "vars | dict2items | selectattr('key', 'match', 'matrix_postgres_.*') | list | items2dict" @@ -95,6 +97,8 @@ Please change your configuration (vars.yml) to rename all `matrix_mailer`-prefixed variables (`matrix_mailer_*` -> `exim_relay_*`). + After changing it, please do not forget to fetch the Ansible role. + The following variables in your configuration need to be renamed: {{ vars | dict2items | selectattr('key', 'match', 'matrix_mailer_.*') | map(attribute='key') | join(', ') }} when: "vars | dict2items | selectattr('key', 'match', 'matrix_mailer_.*') | list | items2dict" @@ -110,6 +114,7 @@ The matrix-prometheus-node-exporter role that used to be part of this playbook has been replaced by https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-node-exporter. The new role is compatible with the old one, but uses different names for its variables. Please change your configuration (vars.yml) to rename all variables (`matrix_prometheus_node_exporter_` -> `prometheus_node_exporter_`). + After changing it, please do not forget to fetch the Ansible role. We found usage of the following variables: {{ matrix_playbook_migration_matrix_prometheus_node_exporter_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_matrix_prometheus_node_exporter_migration_vars | length > 0" @@ -125,6 +130,7 @@ The matrix-prometheus-postgres-exporter role that used to be part of this playbook has been replaced by https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-postgres-exporter. The new role is compatible with the old one, but uses different names for its variables. Please change your configuration (vars.yml) to rename all variables (`matrix_prometheus_postgres_exporter_` -> `prometheus_postgres_exporter_`). + After changing it, please do not forget to fetch the Ansible role. We found usage of the following variables: {{ matrix_playbook_migration_matrix_prometheus_postgres_exporter_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_matrix_prometheus_postgres_exporter_migration_vars | length > 0" @@ -140,6 +146,7 @@ The matrix-backup-borg role that used to be part of this playbook has been replaced by https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg. The new role is compatible with the old one, but uses different names for its variables. Please change your configuration (vars.yml) to rename all variables (`matrix_backup_borg_` -> `backup_borg_`). + After changing it, please do not forget to fetch the Ansible role. We found usage of the following variables: {{ matrix_playbook_migration_backup_borg_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_backup_borg_migration_vars | length > 0" @@ -155,6 +162,7 @@ The matrix-grafana role that used to be part of this playbook has been replaced by https://github.com/mother-of-all-self-hosting/ansible-role-grafana. The new role is compatible with the old one, but uses different names for its variables. Please change your configuration (vars.yml) to rename all variables (`matrix_grafana_` -> `grafana_`). + After changing it, please do not forget to fetch the Ansible role. We found usage of the following variables: {{ matrix_playbook_migration_grafana_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_grafana_migration_vars | length > 0" @@ -170,6 +178,7 @@ The matrix-ntfy role that used to be part of this playbook has been replaced by https://github.com/mother-of-all-self-hosting/ansible-role-ntfy. The new role is compatible with the old one, but uses different names for its variables. Please change your configuration (vars.yml) to rename all variables (`matrix_ntfy_` -> `ntfy_`). + After changing it, please do not forget to fetch the Ansible role. We found usage of the following variables: {{ matrix_playbook_migration_ntfy_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_ntfy_migration_vars | length > 0" @@ -185,6 +194,7 @@ The matrix-redis role that used to be part of this playbook has been replaced by https://github.com/mother-of-all-self-hosting/ansible-role-redis. The new role is compatible with the old one, but uses different names for its variables. Please change your configuration (vars.yml) to rename all variables (`matrix_redis_` -> `redis_`). + After changing it, please do not forget to fetch the Ansible role. We found usage of the following variables: {{ matrix_playbook_migration_redis_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_redis_migration_vars | length > 0" @@ -199,6 +209,7 @@ msg: >- The Redis role that used to be part of this playbook has been superseded by https://github.com/mother-of-all-self-hosting/ansible-role-valkey. Please change your configuration (vars.yml) to rename all variables (`redis_` -> `valkey_`). + After changing it, please do not forget to fetch the Ansible role. We found usage of the following variables: {{ matrix_playbook_migration_redis_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_redis_migration_vars | length > 0" @@ -213,6 +224,7 @@ msg: >- The KeyDB role that used to be part of this playbook has been superseded by https://github.com/mother-of-all-self-hosting/ansible-role-valkey. Please change your configuration (vars.yml) to rename all variables (`keydb_` -> `valkey_`). + After changing it, please do not forget to fetch the Ansible role. We found usage of the following variables: {{ matrix_playbook_migration_keydb_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_keydb_migration_vars | length > 0" @@ -228,6 +240,7 @@ The matrix-etherpad role that used to be part of this playbook has been replaced by https://github.com/mother-of-all-self-hosting/ansible-role-etherpad. The new role is compatible with the old one, but uses different names for its variables. Please change your configuration (vars.yml) to rename all variables (`matrix_etherpad_` -> `etherpad_`). + After changing it, please do not forget to fetch the Ansible role. We found usage of the following variables: {{ matrix_playbook_migration_etherpad_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_etherpad_migration_vars | length > 0" @@ -243,6 +256,7 @@ The matrix-aux role that used to be part of this playbook has been replaced by https://github.com/mother-of-all-self-hosting/ansible-role-aux. The new role is compatible with the old one, but uses different names for its variables. Please change your configuration (vars.yml) to rename all variables (`matrix_aux_` -> `aux_`). + After changing it, please do not forget to fetch the Ansible role. We found usage of the following variables: {{ matrix_playbook_migration_aux_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_aux_migration_vars | length > 0" @@ -258,6 +272,7 @@ The matrix-jitsi role that used to be part of this playbook has been replaced by https://github.com/mother-of-all-self-hosting/ansible-role-jitsi. The new role is compatible with the old one, but uses different names for its variables. Please change your configuration (vars.yml) to rename all variables (`matrix_jitsi_` -> `jitsi_`). + After changing it, please do not forget to fetch the Ansible role. We found usage of the following variables: {{ matrix_playbook_migration_jitsi_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_jitsi_migration_vars | length > 0" @@ -423,6 +438,8 @@ Please change your configuration (vars.yml) to rename all `devture_postgres_backup_`-prefixed variables (`devture_postgres_backup_*` -> `postgres_backup_*`). + After changing it, please do not forget to fetch the Ansible role. + The following variables in your configuration need to be renamed: {{ vars | dict2items | selectattr('key', 'match', 'devture_postgres_backup_.*') | map(attribute='key') | join(', ') }} when: "vars | dict2items | selectattr('key', 'match', 'devture_postgres_backup_.*') | list | items2dict" @@ -434,6 +451,8 @@ Please change your configuration (vars.yml) to rename all `devture_postgres_`-prefixed variables (`devture_postgres_*` -> `postgres_*`). + After changing it, please do not forget to fetch the Ansible role. + The following variables in your configuration need to be renamed: {{ vars | dict2items | selectattr('key', 'match', 'devture_postgres_.*') | map(attribute='key') | join(', ') }} when: "vars | dict2items | selectattr('key', 'match', 'devture_postgres_.*') | list | items2dict" @@ -445,6 +464,8 @@ Please change your configuration (vars.yml) to rename all `devture_traefik_certs_dumper_`-prefixed variables (`devture_traefik_certs_dumper_*` -> `traefik_certs_dumper_*`). + After changing it, please do not forget to fetch the Ansible role. + The following variables in your configuration need to be renamed: {{ vars | dict2items | selectattr('key', 'match', 'devture_traefik_certs_dumper_.*') | map(attribute='key') | join(', ') }} when: "vars | dict2items | selectattr('key', 'match', 'devture_traefik_certs_dumper_.*') | list | items2dict" @@ -456,6 +477,8 @@ Please change your configuration (vars.yml) to rename all `devture_traefik_`-prefixed variables (`devture_traefik_*` -> `traefik_*`). + After changing it, please do not forget to fetch the Ansible role. + The following variables in your configuration need to be renamed: {{ vars | dict2items | selectattr('key', 'match', 'devture_traefik_.*') | map(attribute='key') | join(', ') }} when: "vars | dict2items | selectattr('key', 'match', 'devture_traefik_.*') | list | items2dict" @@ -467,6 +490,8 @@ Please change your configuration (vars.yml) to rename all `devture_container_socket_proxy_`-prefixed variables (`devture_container_socket_proxy_*` -> `container_socket_proxy_*`). + After changing it, please do not forget to fetch the Ansible role. + The following variables in your configuration need to be renamed: {{ vars | dict2items | selectattr('key', 'match', 'devture_container_socket_proxy_.*') | map(attribute='key') | join(', ') }} when: "vars | dict2items | selectattr('key', 'match', 'devture_container_socket_proxy_.*') | list | items2dict" From 28d6862b7dfdd725424232cc46b7c6680439c672 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Wed, 5 Mar 2025 13:21:06 +0900 Subject: [PATCH 672/841] Update validate_config.yml for migration: use a common instruction for renaming variables Signed-off-by: Suguru Hirahara --- .../tasks/validate_config.yml | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/roles/custom/matrix_playbook_migration/tasks/validate_config.yml b/roles/custom/matrix_playbook_migration/tasks/validate_config.yml index 5476ed382..58312a7e0 100644 --- a/roles/custom/matrix_playbook_migration/tasks/validate_config.yml +++ b/roles/custom/matrix_playbook_migration/tasks/validate_config.yml @@ -115,7 +115,7 @@ The new role is compatible with the old one, but uses different names for its variables. Please change your configuration (vars.yml) to rename all variables (`matrix_prometheus_node_exporter_` -> `prometheus_node_exporter_`). After changing it, please do not forget to fetch the Ansible role. - We found usage of the following variables: {{ matrix_playbook_migration_matrix_prometheus_node_exporter_migration_vars.keys() | join(', ') }} + The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_matrix_prometheus_node_exporter_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_matrix_prometheus_node_exporter_migration_vars | length > 0" - when: matrix_playbook_migration_matrix_prometheus_postgres_exporter_migration_validation_enabled | bool @@ -131,7 +131,7 @@ The new role is compatible with the old one, but uses different names for its variables. Please change your configuration (vars.yml) to rename all variables (`matrix_prometheus_postgres_exporter_` -> `prometheus_postgres_exporter_`). After changing it, please do not forget to fetch the Ansible role. - We found usage of the following variables: {{ matrix_playbook_migration_matrix_prometheus_postgres_exporter_migration_vars.keys() | join(', ') }} + The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_matrix_prometheus_postgres_exporter_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_matrix_prometheus_postgres_exporter_migration_vars | length > 0" - when: matrix_playbook_migration_matrix_backup_borg_migration_validation_enabled | bool @@ -147,7 +147,7 @@ The new role is compatible with the old one, but uses different names for its variables. Please change your configuration (vars.yml) to rename all variables (`matrix_backup_borg_` -> `backup_borg_`). After changing it, please do not forget to fetch the Ansible role. - We found usage of the following variables: {{ matrix_playbook_migration_backup_borg_migration_vars.keys() | join(', ') }} + The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_backup_borg_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_backup_borg_migration_vars | length > 0" - when: matrix_playbook_migration_matrix_grafana_migration_validation_enabled | bool @@ -163,7 +163,7 @@ The new role is compatible with the old one, but uses different names for its variables. Please change your configuration (vars.yml) to rename all variables (`matrix_grafana_` -> `grafana_`). After changing it, please do not forget to fetch the Ansible role. - We found usage of the following variables: {{ matrix_playbook_migration_grafana_migration_vars.keys() | join(', ') }} + The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_grafana_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_grafana_migration_vars | length > 0" - when: matrix_playbook_migration_matrix_ntfy_migration_validation_enabled | bool @@ -179,7 +179,7 @@ The new role is compatible with the old one, but uses different names for its variables. Please change your configuration (vars.yml) to rename all variables (`matrix_ntfy_` -> `ntfy_`). After changing it, please do not forget to fetch the Ansible role. - We found usage of the following variables: {{ matrix_playbook_migration_ntfy_migration_vars.keys() | join(', ') }} + The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_ntfy_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_ntfy_migration_vars | length > 0" - when: matrix_playbook_migration_matrix_redis_migration_validation_enabled | bool @@ -195,7 +195,7 @@ The new role is compatible with the old one, but uses different names for its variables. Please change your configuration (vars.yml) to rename all variables (`matrix_redis_` -> `redis_`). After changing it, please do not forget to fetch the Ansible role. - We found usage of the following variables: {{ matrix_playbook_migration_redis_migration_vars.keys() | join(', ') }} + The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_redis_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_redis_migration_vars | length > 0" - when: matrix_playbook_migration_redis_valkey_migration_validation_enabled | bool @@ -210,7 +210,7 @@ The Redis role that used to be part of this playbook has been superseded by https://github.com/mother-of-all-self-hosting/ansible-role-valkey. Please change your configuration (vars.yml) to rename all variables (`redis_` -> `valkey_`). After changing it, please do not forget to fetch the Ansible role. - We found usage of the following variables: {{ matrix_playbook_migration_redis_migration_vars.keys() | join(', ') }} + The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_redis_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_redis_migration_vars | length > 0" - when: matrix_playbook_migration_keydb_valkey_migration_validation_enabled | bool @@ -225,7 +225,7 @@ The KeyDB role that used to be part of this playbook has been superseded by https://github.com/mother-of-all-self-hosting/ansible-role-valkey. Please change your configuration (vars.yml) to rename all variables (`keydb_` -> `valkey_`). After changing it, please do not forget to fetch the Ansible role. - We found usage of the following variables: {{ matrix_playbook_migration_keydb_migration_vars.keys() | join(', ') }} + The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_keydb_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_keydb_migration_vars | length > 0" - when: matrix_playbook_migration_matrix_etherpad_migration_validation_enabled | bool @@ -241,7 +241,7 @@ The new role is compatible with the old one, but uses different names for its variables. Please change your configuration (vars.yml) to rename all variables (`matrix_etherpad_` -> `etherpad_`). After changing it, please do not forget to fetch the Ansible role. - We found usage of the following variables: {{ matrix_playbook_migration_etherpad_migration_vars.keys() | join(', ') }} + The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_etherpad_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_etherpad_migration_vars | length > 0" - when: matrix_playbook_migration_matrix_aux_migration_validation_enabled | bool @@ -257,7 +257,7 @@ The new role is compatible with the old one, but uses different names for its variables. Please change your configuration (vars.yml) to rename all variables (`matrix_aux_` -> `aux_`). After changing it, please do not forget to fetch the Ansible role. - We found usage of the following variables: {{ matrix_playbook_migration_aux_migration_vars.keys() | join(', ') }} + The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_aux_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_aux_migration_vars | length > 0" - when: matrix_playbook_migration_matrix_jitsi_migration_validation_enabled | bool @@ -273,7 +273,7 @@ The new role is compatible with the old one, but uses different names for its variables. Please change your configuration (vars.yml) to rename all variables (`matrix_jitsi_` -> `jitsi_`). After changing it, please do not forget to fetch the Ansible role. - We found usage of the following variables: {{ matrix_playbook_migration_jitsi_migration_vars.keys() | join(', ') }} + The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_jitsi_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_jitsi_migration_vars | length > 0" - when: matrix_playbook_migration_matrix_postmoogle_migration_validation_enabled | bool @@ -287,7 +287,7 @@ msg: >- Your configuration contains a variable, which now has a different name. Please change your configuration (vars.yml) to rename all variables (`matrix_bot_postmoogle_` -> `matrix_postmoogle_`). - We found usage of the following variables: {{ matrix_playbook_migration_postmoogle_migration_vars.keys() | join(', ') }} + The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_postmoogle_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_postmoogle_migration_vars | length > 0" - when: matrix_playbook_migration_matrix_nginx_proxy_elimination_variable_transition_checks_enabled | bool From 2ae6b5d82b40ada52c6a986718002186eaf63675 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Wed, 5 Mar 2025 13:21:33 +0900 Subject: [PATCH 673/841] Update validate_config.yml for migration: replace instructions for renaming variables Signed-off-by: Suguru Hirahara --- .../tasks/validate_config.yml | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/roles/custom/matrix_playbook_migration/tasks/validate_config.yml b/roles/custom/matrix_playbook_migration/tasks/validate_config.yml index 58312a7e0..c54c09dcc 100644 --- a/roles/custom/matrix_playbook_migration/tasks/validate_config.yml +++ b/roles/custom/matrix_playbook_migration/tasks/validate_config.yml @@ -113,7 +113,7 @@ msg: >- The matrix-prometheus-node-exporter role that used to be part of this playbook has been replaced by https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-node-exporter. The new role is compatible with the old one, but uses different names for its variables. - Please change your configuration (vars.yml) to rename all variables (`matrix_prometheus_node_exporter_` -> `prometheus_node_exporter_`). + Please rename all variables (`matrix_prometheus_node_exporter_` -> `prometheus_node_exporter_`) on your configuration file (vars.yml). After changing it, please do not forget to fetch the Ansible role. The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_matrix_prometheus_node_exporter_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_matrix_prometheus_node_exporter_migration_vars | length > 0" @@ -129,7 +129,7 @@ msg: >- The matrix-prometheus-postgres-exporter role that used to be part of this playbook has been replaced by https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-postgres-exporter. The new role is compatible with the old one, but uses different names for its variables. - Please change your configuration (vars.yml) to rename all variables (`matrix_prometheus_postgres_exporter_` -> `prometheus_postgres_exporter_`). + Please rename all variables (`matrix_prometheus_postgres_exporter_` -> `prometheus_postgres_exporter_`) on your configuration file (vars.yml). After changing it, please do not forget to fetch the Ansible role. The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_matrix_prometheus_postgres_exporter_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_matrix_prometheus_postgres_exporter_migration_vars | length > 0" @@ -145,7 +145,7 @@ msg: >- The matrix-backup-borg role that used to be part of this playbook has been replaced by https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg. The new role is compatible with the old one, but uses different names for its variables. - Please change your configuration (vars.yml) to rename all variables (`matrix_backup_borg_` -> `backup_borg_`). + Please rename all variables (`matrix_backup_borg_` -> `backup_borg_`) on your configuration file (vars.yml). After changing it, please do not forget to fetch the Ansible role. The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_backup_borg_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_backup_borg_migration_vars | length > 0" @@ -161,7 +161,7 @@ msg: >- The matrix-grafana role that used to be part of this playbook has been replaced by https://github.com/mother-of-all-self-hosting/ansible-role-grafana. The new role is compatible with the old one, but uses different names for its variables. - Please change your configuration (vars.yml) to rename all variables (`matrix_grafana_` -> `grafana_`). + Please rename all variables (`matrix_grafana_` -> `grafana_`) on your configuration file (vars.yml). After changing it, please do not forget to fetch the Ansible role. The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_grafana_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_grafana_migration_vars | length > 0" @@ -177,7 +177,7 @@ msg: >- The matrix-ntfy role that used to be part of this playbook has been replaced by https://github.com/mother-of-all-self-hosting/ansible-role-ntfy. The new role is compatible with the old one, but uses different names for its variables. - Please change your configuration (vars.yml) to rename all variables (`matrix_ntfy_` -> `ntfy_`). + Please rename all variables (`matrix_ntfy_` -> `ntfy_`) on your configuration file (vars.yml). After changing it, please do not forget to fetch the Ansible role. The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_ntfy_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_ntfy_migration_vars | length > 0" @@ -193,7 +193,7 @@ msg: >- The matrix-redis role that used to be part of this playbook has been replaced by https://github.com/mother-of-all-self-hosting/ansible-role-redis. The new role is compatible with the old one, but uses different names for its variables. - Please change your configuration (vars.yml) to rename all variables (`matrix_redis_` -> `redis_`). + Please rename all variables (`matrix_redis_` -> `redis_`) on your configuration file (vars.yml). After changing it, please do not forget to fetch the Ansible role. The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_redis_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_redis_migration_vars | length > 0" @@ -208,7 +208,7 @@ ansible.builtin.fail: msg: >- The Redis role that used to be part of this playbook has been superseded by https://github.com/mother-of-all-self-hosting/ansible-role-valkey. - Please change your configuration (vars.yml) to rename all variables (`redis_` -> `valkey_`). + Please rename all variables (`redis_` -> `valkey_`) on your configuration file (vars.yml). After changing it, please do not forget to fetch the Ansible role. The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_redis_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_redis_migration_vars | length > 0" @@ -223,7 +223,7 @@ ansible.builtin.fail: msg: >- The KeyDB role that used to be part of this playbook has been superseded by https://github.com/mother-of-all-self-hosting/ansible-role-valkey. - Please change your configuration (vars.yml) to rename all variables (`keydb_` -> `valkey_`). + Please rename all variables (`keydb_` -> `valkey_`) on your configuration file (vars.yml). After changing it, please do not forget to fetch the Ansible role. The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_keydb_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_keydb_migration_vars | length > 0" @@ -239,7 +239,7 @@ msg: >- The matrix-etherpad role that used to be part of this playbook has been replaced by https://github.com/mother-of-all-self-hosting/ansible-role-etherpad. The new role is compatible with the old one, but uses different names for its variables. - Please change your configuration (vars.yml) to rename all variables (`matrix_etherpad_` -> `etherpad_`). + Please rename all variables (`matrix_etherpad_` -> `etherpad_`) on your configuration file (vars.yml). After changing it, please do not forget to fetch the Ansible role. The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_etherpad_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_etherpad_migration_vars | length > 0" @@ -255,7 +255,7 @@ msg: >- The matrix-aux role that used to be part of this playbook has been replaced by https://github.com/mother-of-all-self-hosting/ansible-role-aux. The new role is compatible with the old one, but uses different names for its variables. - Please change your configuration (vars.yml) to rename all variables (`matrix_aux_` -> `aux_`). + Please rename all variables (`matrix_aux_` -> `aux_`) on your configuration file (vars.yml). After changing it, please do not forget to fetch the Ansible role. The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_aux_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_aux_migration_vars | length > 0" @@ -271,7 +271,7 @@ msg: >- The matrix-jitsi role that used to be part of this playbook has been replaced by https://github.com/mother-of-all-self-hosting/ansible-role-jitsi. The new role is compatible with the old one, but uses different names for its variables. - Please change your configuration (vars.yml) to rename all variables (`matrix_jitsi_` -> `jitsi_`). + Please rename all variables (`matrix_jitsi_` -> `jitsi_`) on your configuration file (vars.yml). After changing it, please do not forget to fetch the Ansible role. The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_jitsi_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_jitsi_migration_vars | length > 0" @@ -286,7 +286,7 @@ ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. - Please change your configuration (vars.yml) to rename all variables (`matrix_bot_postmoogle_` -> `matrix_postmoogle_`). + Please rename all variables (`matrix_bot_postmoogle_` -> `matrix_postmoogle_`) on your vars.yml. The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_postmoogle_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_postmoogle_migration_vars | length > 0" From e4d98811cf42b58b591b141b719b07751fd6662f Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Wed, 5 Mar 2025 13:23:01 +0900 Subject: [PATCH 674/841] Update validate_config.yml for migration: replace instructions for renaming prefixed variables Signed-off-by: Suguru Hirahara --- .../tasks/validate_config.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/roles/custom/matrix_playbook_migration/tasks/validate_config.yml b/roles/custom/matrix_playbook_migration/tasks/validate_config.yml index c54c09dcc..5443fa8be 100644 --- a/roles/custom/matrix_playbook_migration/tasks/validate_config.yml +++ b/roles/custom/matrix_playbook_migration/tasks/validate_config.yml @@ -82,7 +82,7 @@ The matrix-postgres-backup role in the playbook has been replaced with the ansible-role-postgres-backup role (https://github.com/mother-of-all-self-hosting/ansible-role-postgres-backup). The new role is pretty much the same, but uses differently named variables. - Please change your configuration (vars.yml) to rename all `matrix_postgres`-prefixed variables (`matrix_postgres_*` -> `postgres_*`). + Please rename all `matrix_postgres`-prefixed variables (`matrix_postgres_*` -> `postgres_*`) on your configuration file (vars.yml). After changing it, please do not forget to fetch the Ansible role. @@ -95,7 +95,7 @@ The matrix-mailer role in the playbook has been replaced with the exim-relay role (https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay). The new role is pretty much the same, but uses differently named variables. - Please change your configuration (vars.yml) to rename all `matrix_mailer`-prefixed variables (`matrix_mailer_*` -> `exim_relay_*`). + Please rename all `matrix_mailer`-prefixed variables (`matrix_mailer_*` -> `exim_relay_*`) on your configuration file (vars.yml). After changing it, please do not forget to fetch the Ansible role. @@ -436,7 +436,7 @@ The postgres-backup role in the playbook now lives under the MASH organization (https://github.com/mother-of-all-self-hosting/ansible-role-postgres-backup). The new role is pretty much the same, but uses differently named variables. - Please change your configuration (vars.yml) to rename all `devture_postgres_backup_`-prefixed variables (`devture_postgres_backup_*` -> `postgres_backup_*`). + Please rename all `devture_postgres_backup_`-prefixed variables (`devture_postgres_backup_*` -> `postgres_backup_*`) on your configuration file (vars.yml). After changing it, please do not forget to fetch the Ansible role. @@ -449,7 +449,7 @@ The Postgres role in the playbook now lives under the MASH organization (https://github.com/mother-of-all-self-hosting/ansible-role-postgres). The new role is pretty much the same, but uses differently named variables. - Please change your configuration (vars.yml) to rename all `devture_postgres_`-prefixed variables (`devture_postgres_*` -> `postgres_*`). + Please rename all `devture_postgres_`-prefixed variables (`devture_postgres_*` -> `postgres_*`) on your configuration file (vars.yml). After changing it, please do not forget to fetch the Ansible role. @@ -462,7 +462,7 @@ The traefik-certs-dumper role in the playbook now lives under the MASH organization (https://github.com/mother-of-all-self-hosting/ansible-role-traefik-certs-dumper). The new role is pretty much the same, but uses differently named variables. - Please change your configuration (vars.yml) to rename all `devture_traefik_certs_dumper_`-prefixed variables (`devture_traefik_certs_dumper_*` -> `traefik_certs_dumper_*`). + Please rename all `devture_traefik_certs_dumper_`-prefixed variables (`devture_traefik_certs_dumper_*` -> `traefik_certs_dumper_*`) on your configuration file (vars.yml). After changing it, please do not forget to fetch the Ansible role. @@ -475,7 +475,7 @@ The traefik role in the playbook now lives under the MASH organization (https://github.com/mother-of-all-self-hosting/ansible-role-traefik). The new role is pretty much the same, but uses differently named variables. - Please change your configuration (vars.yml) to rename all `devture_traefik_`-prefixed variables (`devture_traefik_*` -> `traefik_*`). + Please rename all `devture_traefik_`-prefixed variables (`devture_traefik_*` -> `traefik_*`) on your configuration file (vars.yml). After changing it, please do not forget to fetch the Ansible role. @@ -488,7 +488,7 @@ The container-socket-proxy role in the playbook now lives under the MASH organization (https://github.com/mother-of-all-self-hosting/ansible-role-container-socket-proxy). The new role is pretty much the same, but uses differently named variables. - Please change your configuration (vars.yml) to rename all `devture_container_socket_proxy_`-prefixed variables (`devture_container_socket_proxy_*` -> `container_socket_proxy_*`). + Please rename all `devture_container_socket_proxy_`-prefixed variables (`devture_container_socket_proxy_*` -> `container_socket_proxy_*`) on your configuration file (vars.yml). After changing it, please do not forget to fetch the Ansible role. From 5e07de1d8560d70069565b28290b7717b790f848 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Wed, 5 Mar 2025 13:27:13 +0900 Subject: [PATCH 675/841] Update validate_config.yml for migration: edit the instructions to update Ansible roles Signed-off-by: Suguru Hirahara --- .../tasks/validate_config.yml | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/roles/custom/matrix_playbook_migration/tasks/validate_config.yml b/roles/custom/matrix_playbook_migration/tasks/validate_config.yml index 5443fa8be..5558a6117 100644 --- a/roles/custom/matrix_playbook_migration/tasks/validate_config.yml +++ b/roles/custom/matrix_playbook_migration/tasks/validate_config.yml @@ -84,7 +84,7 @@ Please rename all `matrix_postgres`-prefixed variables (`matrix_postgres_*` -> `postgres_*`) on your configuration file (vars.yml). - After changing it, please do not forget to fetch the Ansible role. + After renaming them, please do not forget to fetch the Ansible role. The following variables in your configuration need to be renamed: {{ vars | dict2items | selectattr('key', 'match', 'matrix_postgres_.*') | map(attribute='key') | join(', ') }} when: "vars | dict2items | selectattr('key', 'match', 'matrix_postgres_.*') | list | items2dict" @@ -97,7 +97,7 @@ Please rename all `matrix_mailer`-prefixed variables (`matrix_mailer_*` -> `exim_relay_*`) on your configuration file (vars.yml). - After changing it, please do not forget to fetch the Ansible role. + After renaming them, please do not forget to fetch the Ansible role. The following variables in your configuration need to be renamed: {{ vars | dict2items | selectattr('key', 'match', 'matrix_mailer_.*') | map(attribute='key') | join(', ') }} when: "vars | dict2items | selectattr('key', 'match', 'matrix_mailer_.*') | list | items2dict" @@ -114,7 +114,7 @@ The matrix-prometheus-node-exporter role that used to be part of this playbook has been replaced by https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-node-exporter. The new role is compatible with the old one, but uses different names for its variables. Please rename all variables (`matrix_prometheus_node_exporter_` -> `prometheus_node_exporter_`) on your configuration file (vars.yml). - After changing it, please do not forget to fetch the Ansible role. + After renaming them, please do not forget to fetch the Ansible role. The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_matrix_prometheus_node_exporter_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_matrix_prometheus_node_exporter_migration_vars | length > 0" @@ -130,7 +130,7 @@ The matrix-prometheus-postgres-exporter role that used to be part of this playbook has been replaced by https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-postgres-exporter. The new role is compatible with the old one, but uses different names for its variables. Please rename all variables (`matrix_prometheus_postgres_exporter_` -> `prometheus_postgres_exporter_`) on your configuration file (vars.yml). - After changing it, please do not forget to fetch the Ansible role. + After renaming them, please do not forget to fetch the Ansible role. The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_matrix_prometheus_postgres_exporter_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_matrix_prometheus_postgres_exporter_migration_vars | length > 0" @@ -146,7 +146,7 @@ The matrix-backup-borg role that used to be part of this playbook has been replaced by https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg. The new role is compatible with the old one, but uses different names for its variables. Please rename all variables (`matrix_backup_borg_` -> `backup_borg_`) on your configuration file (vars.yml). - After changing it, please do not forget to fetch the Ansible role. + After renaming them, please do not forget to fetch the Ansible role. The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_backup_borg_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_backup_borg_migration_vars | length > 0" @@ -162,7 +162,7 @@ The matrix-grafana role that used to be part of this playbook has been replaced by https://github.com/mother-of-all-self-hosting/ansible-role-grafana. The new role is compatible with the old one, but uses different names for its variables. Please rename all variables (`matrix_grafana_` -> `grafana_`) on your configuration file (vars.yml). - After changing it, please do not forget to fetch the Ansible role. + After renaming them, please do not forget to fetch the Ansible role. The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_grafana_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_grafana_migration_vars | length > 0" @@ -178,7 +178,7 @@ The matrix-ntfy role that used to be part of this playbook has been replaced by https://github.com/mother-of-all-self-hosting/ansible-role-ntfy. The new role is compatible with the old one, but uses different names for its variables. Please rename all variables (`matrix_ntfy_` -> `ntfy_`) on your configuration file (vars.yml). - After changing it, please do not forget to fetch the Ansible role. + After renaming them, please do not forget to fetch the Ansible role. The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_ntfy_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_ntfy_migration_vars | length > 0" @@ -194,7 +194,7 @@ The matrix-redis role that used to be part of this playbook has been replaced by https://github.com/mother-of-all-self-hosting/ansible-role-redis. The new role is compatible with the old one, but uses different names for its variables. Please rename all variables (`matrix_redis_` -> `redis_`) on your configuration file (vars.yml). - After changing it, please do not forget to fetch the Ansible role. + After renaming them, please do not forget to fetch the Ansible role. The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_redis_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_redis_migration_vars | length > 0" @@ -209,7 +209,7 @@ msg: >- The Redis role that used to be part of this playbook has been superseded by https://github.com/mother-of-all-self-hosting/ansible-role-valkey. Please rename all variables (`redis_` -> `valkey_`) on your configuration file (vars.yml). - After changing it, please do not forget to fetch the Ansible role. + After renaming them, please do not forget to fetch the Ansible role. The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_redis_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_redis_migration_vars | length > 0" @@ -224,7 +224,7 @@ msg: >- The KeyDB role that used to be part of this playbook has been superseded by https://github.com/mother-of-all-self-hosting/ansible-role-valkey. Please rename all variables (`keydb_` -> `valkey_`) on your configuration file (vars.yml). - After changing it, please do not forget to fetch the Ansible role. + After renaming them, please do not forget to fetch the Ansible role. The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_keydb_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_keydb_migration_vars | length > 0" @@ -240,7 +240,7 @@ The matrix-etherpad role that used to be part of this playbook has been replaced by https://github.com/mother-of-all-self-hosting/ansible-role-etherpad. The new role is compatible with the old one, but uses different names for its variables. Please rename all variables (`matrix_etherpad_` -> `etherpad_`) on your configuration file (vars.yml). - After changing it, please do not forget to fetch the Ansible role. + After renaming them, please do not forget to fetch the Ansible role. The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_etherpad_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_etherpad_migration_vars | length > 0" @@ -256,7 +256,7 @@ The matrix-aux role that used to be part of this playbook has been replaced by https://github.com/mother-of-all-self-hosting/ansible-role-aux. The new role is compatible with the old one, but uses different names for its variables. Please rename all variables (`matrix_aux_` -> `aux_`) on your configuration file (vars.yml). - After changing it, please do not forget to fetch the Ansible role. + After renaming them, please do not forget to fetch the Ansible role. The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_aux_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_aux_migration_vars | length > 0" @@ -272,7 +272,7 @@ The matrix-jitsi role that used to be part of this playbook has been replaced by https://github.com/mother-of-all-self-hosting/ansible-role-jitsi. The new role is compatible with the old one, but uses different names for its variables. Please rename all variables (`matrix_jitsi_` -> `jitsi_`) on your configuration file (vars.yml). - After changing it, please do not forget to fetch the Ansible role. + After renaming them, please do not forget to fetch the Ansible role. The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_jitsi_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_jitsi_migration_vars | length > 0" @@ -438,7 +438,7 @@ Please rename all `devture_postgres_backup_`-prefixed variables (`devture_postgres_backup_*` -> `postgres_backup_*`) on your configuration file (vars.yml). - After changing it, please do not forget to fetch the Ansible role. + After renaming them, please do not forget to fetch the Ansible role. The following variables in your configuration need to be renamed: {{ vars | dict2items | selectattr('key', 'match', 'devture_postgres_backup_.*') | map(attribute='key') | join(', ') }} when: "vars | dict2items | selectattr('key', 'match', 'devture_postgres_backup_.*') | list | items2dict" @@ -451,7 +451,7 @@ Please rename all `devture_postgres_`-prefixed variables (`devture_postgres_*` -> `postgres_*`) on your configuration file (vars.yml). - After changing it, please do not forget to fetch the Ansible role. + After renaming them, please do not forget to fetch the Ansible role. The following variables in your configuration need to be renamed: {{ vars | dict2items | selectattr('key', 'match', 'devture_postgres_.*') | map(attribute='key') | join(', ') }} when: "vars | dict2items | selectattr('key', 'match', 'devture_postgres_.*') | list | items2dict" @@ -464,7 +464,7 @@ Please rename all `devture_traefik_certs_dumper_`-prefixed variables (`devture_traefik_certs_dumper_*` -> `traefik_certs_dumper_*`) on your configuration file (vars.yml). - After changing it, please do not forget to fetch the Ansible role. + After renaming them, please do not forget to fetch the Ansible role. The following variables in your configuration need to be renamed: {{ vars | dict2items | selectattr('key', 'match', 'devture_traefik_certs_dumper_.*') | map(attribute='key') | join(', ') }} when: "vars | dict2items | selectattr('key', 'match', 'devture_traefik_certs_dumper_.*') | list | items2dict" @@ -477,7 +477,7 @@ Please rename all `devture_traefik_`-prefixed variables (`devture_traefik_*` -> `traefik_*`) on your configuration file (vars.yml). - After changing it, please do not forget to fetch the Ansible role. + After renaming them, please do not forget to fetch the Ansible role. The following variables in your configuration need to be renamed: {{ vars | dict2items | selectattr('key', 'match', 'devture_traefik_.*') | map(attribute='key') | join(', ') }} when: "vars | dict2items | selectattr('key', 'match', 'devture_traefik_.*') | list | items2dict" @@ -490,7 +490,7 @@ Please rename all `devture_container_socket_proxy_`-prefixed variables (`devture_container_socket_proxy_*` -> `container_socket_proxy_*`) on your configuration file (vars.yml). - After changing it, please do not forget to fetch the Ansible role. + After renaming them, please do not forget to fetch the Ansible role. The following variables in your configuration need to be renamed: {{ vars | dict2items | selectattr('key', 'match', 'devture_container_socket_proxy_.*') | map(attribute='key') | join(', ') }} when: "vars | dict2items | selectattr('key', 'match', 'devture_container_socket_proxy_.*') | list | items2dict" From 2da6e4bac2a57c2c3a3928583ee73b758bb68f06 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Wed, 5 Mar 2025 13:27:30 +0900 Subject: [PATCH 676/841] Update validate_config.yml for migration: add instruction to check docs/maintenance-upgrading-services.md Signed-off-by: Suguru Hirahara --- .../tasks/validate_config.yml | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/roles/custom/matrix_playbook_migration/tasks/validate_config.yml b/roles/custom/matrix_playbook_migration/tasks/validate_config.yml index 5558a6117..514925f93 100644 --- a/roles/custom/matrix_playbook_migration/tasks/validate_config.yml +++ b/roles/custom/matrix_playbook_migration/tasks/validate_config.yml @@ -84,7 +84,7 @@ Please rename all `matrix_postgres`-prefixed variables (`matrix_postgres_*` -> `postgres_*`) on your configuration file (vars.yml). - After renaming them, please do not forget to fetch the Ansible role. + After renaming them, please do not forget to fetch the Ansible role. See docs/maintenance-upgrading-services.md for details about how to do so. The following variables in your configuration need to be renamed: {{ vars | dict2items | selectattr('key', 'match', 'matrix_postgres_.*') | map(attribute='key') | join(', ') }} when: "vars | dict2items | selectattr('key', 'match', 'matrix_postgres_.*') | list | items2dict" @@ -97,7 +97,7 @@ Please rename all `matrix_mailer`-prefixed variables (`matrix_mailer_*` -> `exim_relay_*`) on your configuration file (vars.yml). - After renaming them, please do not forget to fetch the Ansible role. + After renaming them, please do not forget to fetch the Ansible role. See docs/maintenance-upgrading-services.md for details about how to do so. The following variables in your configuration need to be renamed: {{ vars | dict2items | selectattr('key', 'match', 'matrix_mailer_.*') | map(attribute='key') | join(', ') }} when: "vars | dict2items | selectattr('key', 'match', 'matrix_mailer_.*') | list | items2dict" @@ -114,7 +114,7 @@ The matrix-prometheus-node-exporter role that used to be part of this playbook has been replaced by https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-node-exporter. The new role is compatible with the old one, but uses different names for its variables. Please rename all variables (`matrix_prometheus_node_exporter_` -> `prometheus_node_exporter_`) on your configuration file (vars.yml). - After renaming them, please do not forget to fetch the Ansible role. + After renaming them, please do not forget to fetch the Ansible role. See docs/maintenance-upgrading-services.md for details about how to do so. The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_matrix_prometheus_node_exporter_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_matrix_prometheus_node_exporter_migration_vars | length > 0" @@ -130,7 +130,7 @@ The matrix-prometheus-postgres-exporter role that used to be part of this playbook has been replaced by https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-postgres-exporter. The new role is compatible with the old one, but uses different names for its variables. Please rename all variables (`matrix_prometheus_postgres_exporter_` -> `prometheus_postgres_exporter_`) on your configuration file (vars.yml). - After renaming them, please do not forget to fetch the Ansible role. + After renaming them, please do not forget to fetch the Ansible role. See docs/maintenance-upgrading-services.md for details about how to do so. The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_matrix_prometheus_postgres_exporter_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_matrix_prometheus_postgres_exporter_migration_vars | length > 0" @@ -146,7 +146,7 @@ The matrix-backup-borg role that used to be part of this playbook has been replaced by https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg. The new role is compatible with the old one, but uses different names for its variables. Please rename all variables (`matrix_backup_borg_` -> `backup_borg_`) on your configuration file (vars.yml). - After renaming them, please do not forget to fetch the Ansible role. + After renaming them, please do not forget to fetch the Ansible role. See docs/maintenance-upgrading-services.md for details about how to do so. The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_backup_borg_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_backup_borg_migration_vars | length > 0" @@ -162,7 +162,7 @@ The matrix-grafana role that used to be part of this playbook has been replaced by https://github.com/mother-of-all-self-hosting/ansible-role-grafana. The new role is compatible with the old one, but uses different names for its variables. Please rename all variables (`matrix_grafana_` -> `grafana_`) on your configuration file (vars.yml). - After renaming them, please do not forget to fetch the Ansible role. + After renaming them, please do not forget to fetch the Ansible role. See docs/maintenance-upgrading-services.md for details about how to do so. The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_grafana_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_grafana_migration_vars | length > 0" @@ -178,7 +178,7 @@ The matrix-ntfy role that used to be part of this playbook has been replaced by https://github.com/mother-of-all-self-hosting/ansible-role-ntfy. The new role is compatible with the old one, but uses different names for its variables. Please rename all variables (`matrix_ntfy_` -> `ntfy_`) on your configuration file (vars.yml). - After renaming them, please do not forget to fetch the Ansible role. + After renaming them, please do not forget to fetch the Ansible role. See docs/maintenance-upgrading-services.md for details about how to do so. The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_ntfy_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_ntfy_migration_vars | length > 0" @@ -194,7 +194,7 @@ The matrix-redis role that used to be part of this playbook has been replaced by https://github.com/mother-of-all-self-hosting/ansible-role-redis. The new role is compatible with the old one, but uses different names for its variables. Please rename all variables (`matrix_redis_` -> `redis_`) on your configuration file (vars.yml). - After renaming them, please do not forget to fetch the Ansible role. + After renaming them, please do not forget to fetch the Ansible role. See docs/maintenance-upgrading-services.md for details about how to do so. The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_redis_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_redis_migration_vars | length > 0" @@ -209,7 +209,7 @@ msg: >- The Redis role that used to be part of this playbook has been superseded by https://github.com/mother-of-all-self-hosting/ansible-role-valkey. Please rename all variables (`redis_` -> `valkey_`) on your configuration file (vars.yml). - After renaming them, please do not forget to fetch the Ansible role. + After renaming them, please do not forget to fetch the Ansible role. See docs/maintenance-upgrading-services.md for details about how to do so. The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_redis_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_redis_migration_vars | length > 0" @@ -224,7 +224,7 @@ msg: >- The KeyDB role that used to be part of this playbook has been superseded by https://github.com/mother-of-all-self-hosting/ansible-role-valkey. Please rename all variables (`keydb_` -> `valkey_`) on your configuration file (vars.yml). - After renaming them, please do not forget to fetch the Ansible role. + After renaming them, please do not forget to fetch the Ansible role. See docs/maintenance-upgrading-services.md for details about how to do so. The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_keydb_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_keydb_migration_vars | length > 0" @@ -240,7 +240,7 @@ The matrix-etherpad role that used to be part of this playbook has been replaced by https://github.com/mother-of-all-self-hosting/ansible-role-etherpad. The new role is compatible with the old one, but uses different names for its variables. Please rename all variables (`matrix_etherpad_` -> `etherpad_`) on your configuration file (vars.yml). - After renaming them, please do not forget to fetch the Ansible role. + After renaming them, please do not forget to fetch the Ansible role. See docs/maintenance-upgrading-services.md for details about how to do so. The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_etherpad_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_etherpad_migration_vars | length > 0" @@ -256,7 +256,7 @@ The matrix-aux role that used to be part of this playbook has been replaced by https://github.com/mother-of-all-self-hosting/ansible-role-aux. The new role is compatible with the old one, but uses different names for its variables. Please rename all variables (`matrix_aux_` -> `aux_`) on your configuration file (vars.yml). - After renaming them, please do not forget to fetch the Ansible role. + After renaming them, please do not forget to fetch the Ansible role. See docs/maintenance-upgrading-services.md for details about how to do so. The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_aux_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_aux_migration_vars | length > 0" @@ -272,7 +272,7 @@ The matrix-jitsi role that used to be part of this playbook has been replaced by https://github.com/mother-of-all-self-hosting/ansible-role-jitsi. The new role is compatible with the old one, but uses different names for its variables. Please rename all variables (`matrix_jitsi_` -> `jitsi_`) on your configuration file (vars.yml). - After renaming them, please do not forget to fetch the Ansible role. + After renaming them, please do not forget to fetch the Ansible role. See docs/maintenance-upgrading-services.md for details about how to do so. The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_jitsi_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_jitsi_migration_vars | length > 0" @@ -438,7 +438,7 @@ Please rename all `devture_postgres_backup_`-prefixed variables (`devture_postgres_backup_*` -> `postgres_backup_*`) on your configuration file (vars.yml). - After renaming them, please do not forget to fetch the Ansible role. + After renaming them, please do not forget to fetch the Ansible role. See docs/maintenance-upgrading-services.md for details about how to do so. The following variables in your configuration need to be renamed: {{ vars | dict2items | selectattr('key', 'match', 'devture_postgres_backup_.*') | map(attribute='key') | join(', ') }} when: "vars | dict2items | selectattr('key', 'match', 'devture_postgres_backup_.*') | list | items2dict" @@ -451,7 +451,7 @@ Please rename all `devture_postgres_`-prefixed variables (`devture_postgres_*` -> `postgres_*`) on your configuration file (vars.yml). - After renaming them, please do not forget to fetch the Ansible role. + After renaming them, please do not forget to fetch the Ansible role. See docs/maintenance-upgrading-services.md for details about how to do so. The following variables in your configuration need to be renamed: {{ vars | dict2items | selectattr('key', 'match', 'devture_postgres_.*') | map(attribute='key') | join(', ') }} when: "vars | dict2items | selectattr('key', 'match', 'devture_postgres_.*') | list | items2dict" @@ -464,7 +464,7 @@ Please rename all `devture_traefik_certs_dumper_`-prefixed variables (`devture_traefik_certs_dumper_*` -> `traefik_certs_dumper_*`) on your configuration file (vars.yml). - After renaming them, please do not forget to fetch the Ansible role. + After renaming them, please do not forget to fetch the Ansible role. See docs/maintenance-upgrading-services.md for details about how to do so. The following variables in your configuration need to be renamed: {{ vars | dict2items | selectattr('key', 'match', 'devture_traefik_certs_dumper_.*') | map(attribute='key') | join(', ') }} when: "vars | dict2items | selectattr('key', 'match', 'devture_traefik_certs_dumper_.*') | list | items2dict" @@ -477,7 +477,7 @@ Please rename all `devture_traefik_`-prefixed variables (`devture_traefik_*` -> `traefik_*`) on your configuration file (vars.yml). - After renaming them, please do not forget to fetch the Ansible role. + After renaming them, please do not forget to fetch the Ansible role. See docs/maintenance-upgrading-services.md for details about how to do so. The following variables in your configuration need to be renamed: {{ vars | dict2items | selectattr('key', 'match', 'devture_traefik_.*') | map(attribute='key') | join(', ') }} when: "vars | dict2items | selectattr('key', 'match', 'devture_traefik_.*') | list | items2dict" @@ -490,7 +490,7 @@ Please rename all `devture_container_socket_proxy_`-prefixed variables (`devture_container_socket_proxy_*` -> `container_socket_proxy_*`) on your configuration file (vars.yml). - After renaming them, please do not forget to fetch the Ansible role. + After renaming them, please do not forget to fetch the Ansible role. See docs/maintenance-upgrading-services.md for details about how to do so. The following variables in your configuration need to be renamed: {{ vars | dict2items | selectattr('key', 'match', 'devture_container_socket_proxy_.*') | map(attribute='key') | join(', ') }} when: "vars | dict2items | selectattr('key', 'match', 'devture_container_socket_proxy_.*') | list | items2dict" From d2fe3bc5b6cc2caaf0febfdf54da404d36ad8aef Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Wed, 5 Mar 2025 13:27:45 +0900 Subject: [PATCH 677/841] Update validate_config.yml for migration: add blank lines between messages where expected Signed-off-by: Suguru Hirahara --- .../tasks/validate_config.yml | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/roles/custom/matrix_playbook_migration/tasks/validate_config.yml b/roles/custom/matrix_playbook_migration/tasks/validate_config.yml index 514925f93..4b051082b 100644 --- a/roles/custom/matrix_playbook_migration/tasks/validate_config.yml +++ b/roles/custom/matrix_playbook_migration/tasks/validate_config.yml @@ -113,8 +113,11 @@ msg: >- The matrix-prometheus-node-exporter role that used to be part of this playbook has been replaced by https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-node-exporter. The new role is compatible with the old one, but uses different names for its variables. + Please rename all variables (`matrix_prometheus_node_exporter_` -> `prometheus_node_exporter_`) on your configuration file (vars.yml). + After renaming them, please do not forget to fetch the Ansible role. See docs/maintenance-upgrading-services.md for details about how to do so. + The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_matrix_prometheus_node_exporter_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_matrix_prometheus_node_exporter_migration_vars | length > 0" @@ -129,8 +132,11 @@ msg: >- The matrix-prometheus-postgres-exporter role that used to be part of this playbook has been replaced by https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-postgres-exporter. The new role is compatible with the old one, but uses different names for its variables. + Please rename all variables (`matrix_prometheus_postgres_exporter_` -> `prometheus_postgres_exporter_`) on your configuration file (vars.yml). + After renaming them, please do not forget to fetch the Ansible role. See docs/maintenance-upgrading-services.md for details about how to do so. + The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_matrix_prometheus_postgres_exporter_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_matrix_prometheus_postgres_exporter_migration_vars | length > 0" @@ -145,8 +151,11 @@ msg: >- The matrix-backup-borg role that used to be part of this playbook has been replaced by https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg. The new role is compatible with the old one, but uses different names for its variables. + Please rename all variables (`matrix_backup_borg_` -> `backup_borg_`) on your configuration file (vars.yml). + After renaming them, please do not forget to fetch the Ansible role. See docs/maintenance-upgrading-services.md for details about how to do so. + The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_backup_borg_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_backup_borg_migration_vars | length > 0" @@ -161,8 +170,11 @@ msg: >- The matrix-grafana role that used to be part of this playbook has been replaced by https://github.com/mother-of-all-self-hosting/ansible-role-grafana. The new role is compatible with the old one, but uses different names for its variables. + Please rename all variables (`matrix_grafana_` -> `grafana_`) on your configuration file (vars.yml). + After renaming them, please do not forget to fetch the Ansible role. See docs/maintenance-upgrading-services.md for details about how to do so. + The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_grafana_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_grafana_migration_vars | length > 0" @@ -177,8 +189,11 @@ msg: >- The matrix-ntfy role that used to be part of this playbook has been replaced by https://github.com/mother-of-all-self-hosting/ansible-role-ntfy. The new role is compatible with the old one, but uses different names for its variables. + Please rename all variables (`matrix_ntfy_` -> `ntfy_`) on your configuration file (vars.yml). + After renaming them, please do not forget to fetch the Ansible role. See docs/maintenance-upgrading-services.md for details about how to do so. + The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_ntfy_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_ntfy_migration_vars | length > 0" @@ -193,8 +208,11 @@ msg: >- The matrix-redis role that used to be part of this playbook has been replaced by https://github.com/mother-of-all-self-hosting/ansible-role-redis. The new role is compatible with the old one, but uses different names for its variables. + Please rename all variables (`matrix_redis_` -> `redis_`) on your configuration file (vars.yml). + After renaming them, please do not forget to fetch the Ansible role. See docs/maintenance-upgrading-services.md for details about how to do so. + The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_redis_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_redis_migration_vars | length > 0" @@ -208,8 +226,11 @@ ansible.builtin.fail: msg: >- The Redis role that used to be part of this playbook has been superseded by https://github.com/mother-of-all-self-hosting/ansible-role-valkey. + Please rename all variables (`redis_` -> `valkey_`) on your configuration file (vars.yml). + After renaming them, please do not forget to fetch the Ansible role. See docs/maintenance-upgrading-services.md for details about how to do so. + The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_redis_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_redis_migration_vars | length > 0" @@ -223,8 +244,11 @@ ansible.builtin.fail: msg: >- The KeyDB role that used to be part of this playbook has been superseded by https://github.com/mother-of-all-self-hosting/ansible-role-valkey. + Please rename all variables (`keydb_` -> `valkey_`) on your configuration file (vars.yml). + After renaming them, please do not forget to fetch the Ansible role. See docs/maintenance-upgrading-services.md for details about how to do so. + The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_keydb_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_keydb_migration_vars | length > 0" @@ -239,8 +263,11 @@ msg: >- The matrix-etherpad role that used to be part of this playbook has been replaced by https://github.com/mother-of-all-self-hosting/ansible-role-etherpad. The new role is compatible with the old one, but uses different names for its variables. + Please rename all variables (`matrix_etherpad_` -> `etherpad_`) on your configuration file (vars.yml). + After renaming them, please do not forget to fetch the Ansible role. See docs/maintenance-upgrading-services.md for details about how to do so. + The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_etherpad_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_etherpad_migration_vars | length > 0" @@ -255,8 +282,11 @@ msg: >- The matrix-aux role that used to be part of this playbook has been replaced by https://github.com/mother-of-all-self-hosting/ansible-role-aux. The new role is compatible with the old one, but uses different names for its variables. + Please rename all variables (`matrix_aux_` -> `aux_`) on your configuration file (vars.yml). + After renaming them, please do not forget to fetch the Ansible role. See docs/maintenance-upgrading-services.md for details about how to do so. + The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_aux_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_aux_migration_vars | length > 0" @@ -271,8 +301,11 @@ msg: >- The matrix-jitsi role that used to be part of this playbook has been replaced by https://github.com/mother-of-all-self-hosting/ansible-role-jitsi. The new role is compatible with the old one, but uses different names for its variables. + Please rename all variables (`matrix_jitsi_` -> `jitsi_`) on your configuration file (vars.yml). + After renaming them, please do not forget to fetch the Ansible role. See docs/maintenance-upgrading-services.md for details about how to do so. + The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_jitsi_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_jitsi_migration_vars | length > 0" @@ -286,7 +319,9 @@ ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. + Please rename all variables (`matrix_bot_postmoogle_` -> `matrix_postmoogle_`) on your vars.yml. + The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_postmoogle_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_postmoogle_migration_vars | length > 0" From 06ffbb3681213ce5b39a5e7883c7d777ef56f1b3 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Wed, 5 Mar 2025 13:28:12 +0900 Subject: [PATCH 678/841] Update validate_config.yml for migration: adopt a simpler description Signed-off-by: Suguru Hirahara --- .../matrix_playbook_migration/tasks/validate_config.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/roles/custom/matrix_playbook_migration/tasks/validate_config.yml b/roles/custom/matrix_playbook_migration/tasks/validate_config.yml index 4b051082b..0333a6642 100644 --- a/roles/custom/matrix_playbook_migration/tasks/validate_config.yml +++ b/roles/custom/matrix_playbook_migration/tasks/validate_config.yml @@ -10,7 +10,7 @@ ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "item.old in vars" with_items: - {'old': 'matrix_vars_yml_snapshotting_enabled', 'new': 'devture_playbook_state_preserver_vars_preservation_enabled'} @@ -331,7 +331,7 @@ ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "item.old in vars" with_items: - {'old': 'matrix_nginx_proxy_proxy_matrix_metrics_enabled', 'new': 'matrix_metrics_exposure_enabled'} @@ -536,7 +536,7 @@ The Google Hangouts service was discontinued on 1st of November 2022. The mautrix-hangouts bridge has been deprecated in the playbook since December 2024 and was completely removed from the playbook in February 2025. - Please change your configuration (`vars.yml`) to remove all `matrix_mautrix_hangouts_*` variables. + Please remove all `matrix_mautrix_hangouts_*` variables from your configuration file (vars.yml). You may also wish to uninstall the bridge manually. See `docs/configuring-playbook-bridge-mautrix-hangouts.md` for more information. @@ -548,7 +548,7 @@ msg: |- The Email2Matrix service has been superseded by the Postmoogle bridge for a long time now and was completely removed from the playbook in February 2025. - Please change your configuration (`vars.yml`) to remove all `matrix_email2matrix_*` variables. + Please remove all `matrix_email2matrix_*` variables from your configuration file (vars.yml). You may also wish to uninstall the bridge manually. See `docs/configuring-playbook-email2matrix.md` for more information. From 219cd7702d3db40de048479d2469d1b9c4dbb78d Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Wed, 5 Mar 2025 13:28:24 +0900 Subject: [PATCH 679/841] Update validate_config.yml for migration: adopt a common instruction Signed-off-by: Suguru Hirahara --- .../custom/matrix_playbook_migration/tasks/validate_config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix_playbook_migration/tasks/validate_config.yml b/roles/custom/matrix_playbook_migration/tasks/validate_config.yml index 0333a6642..a72e88578 100644 --- a/roles/custom/matrix_playbook_migration/tasks/validate_config.yml +++ b/roles/custom/matrix_playbook_migration/tasks/validate_config.yml @@ -320,7 +320,7 @@ msg: >- Your configuration contains a variable, which now has a different name. - Please rename all variables (`matrix_bot_postmoogle_` -> `matrix_postmoogle_`) on your vars.yml. + Please rename all variables (`matrix_bot_postmoogle_` -> `matrix_postmoogle_`) on your configuration file (vars.yml). The following variables in your configuration need to be renamed: {{ matrix_playbook_migration_postmoogle_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_postmoogle_migration_vars | length > 0" From cdc12e0ecb870ff5b755477186405d17ab2ebaaa Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Wed, 5 Mar 2025 13:29:36 +0900 Subject: [PATCH 680/841] Update validate_config.yml for migration: adopt a common instruction to variables which should be removed Signed-off-by: Suguru Hirahara --- .../tasks/validate_config.yml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/roles/custom/matrix_playbook_migration/tasks/validate_config.yml b/roles/custom/matrix_playbook_migration/tasks/validate_config.yml index a72e88578..437d1fc69 100644 --- a/roles/custom/matrix_playbook_migration/tasks/validate_config.yml +++ b/roles/custom/matrix_playbook_migration/tasks/validate_config.yml @@ -425,8 +425,10 @@ ansible.builtin.fail: msg: >- The matrix-nginx-proxy role that used to be part of this playbook has been removed. - You should remove all its variables (`matrix_nginx_proxy_*`) from your vars.yml file. - We found usage of the following variables: {{ matrix_playbook_migration_nginx_proxy_migration_vars.keys() | join(', ') }} + + You should remove all its variables (`matrix_nginx_proxy_*`) from your configuration file (vars.yml). + + The following variables in your configuration should be renamed: {{ matrix_playbook_migration_nginx_proxy_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_nginx_proxy_migration_vars | length > 0" - when: matrix_playbook_migration_matrix_ssl_leftover_variable_checks_enabled | bool @@ -439,8 +441,10 @@ ansible.builtin.fail: msg: >- The matrix-nginx-proxy role that used to be part of this playbook has been removed. - You should remove all its variables (`matrix_ssl_*`) from your vars.yml file. - We found usage of the following variables: {{ matrix_playbook_migration_ssl_migration_vars.keys() | join(', ') }} + + You should remove all its variables (`matrix_ssl_*`) from your configuration file (vars.yml). + + The following variables in your configuration should be renamed: {{ matrix_playbook_migration_ssl_migration_vars.keys() | join(', ') }} when: "matrix_playbook_migration_ssl_migration_vars | length > 0" - block: From c18fc93a225a3321959ab5eb3d8131763eda9ca8 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Wed, 5 Mar 2025 13:30:50 +0900 Subject: [PATCH 681/841] Update validate_config.yml files: edit the banner message for variables name Signed-off-by: Suguru Hirahara --- .../tasks/validate_config.yml | 3 ++- .../matrix-authentication-service/tasks/validate_config.yml | 3 ++- roles/custom/matrix-base/tasks/validate_config.yml | 2 +- roles/custom/matrix-bot-baibot/tasks/validate_config.yml | 3 ++- roles/custom/matrix-bot-buscarron/tasks/validate_config.yml | 3 ++- roles/custom/matrix-bot-chatgpt/tasks/validate_config.yml | 3 ++- roles/custom/matrix-bot-draupnir/tasks/validate_config.yml | 2 +- roles/custom/matrix-bot-honoroit/tasks/validate_config.yml | 4 ++-- .../tasks/validate_config.yml | 3 ++- .../matrix-bot-matrix-reminder-bot/tasks/validate_config.yml | 3 ++- roles/custom/matrix-bot-maubot/tasks/validate_config.yml | 3 ++- roles/custom/matrix-bot-mjolnir/tasks/validate_config.yml | 3 ++- .../tasks/validate_config.yml | 3 ++- .../matrix-bridge-appservice-irc/tasks/validate_config.yml | 3 ++- .../tasks/validate_config.yml | 3 ++- .../matrix-bridge-appservice-slack/tasks/validate_config.yml | 3 ++- .../tasks/validate_config.yml | 3 ++- .../matrix-bridge-beeper-linkedin/tasks/validate_config.yml | 3 ++- .../matrix-bridge-go-skype-bridge/tasks/validate_config.yml | 3 ++- roles/custom/matrix-bridge-hookshot/tasks/validate_config.yml | 4 ++-- .../matrix-bridge-mautrix-bluesky/tasks/validate_config.yml | 3 ++- .../matrix-bridge-mautrix-discord/tasks/validate_config.yml | 3 ++- .../matrix-bridge-mautrix-facebook/tasks/validate_config.yml | 4 ++-- .../matrix-bridge-mautrix-gmessages/tasks/validate_config.yml | 3 ++- .../tasks/validate_config.yml | 3 ++- .../matrix-bridge-mautrix-instagram/tasks/validate_config.yml | 3 ++- .../tasks/validate_config.yml | 3 ++- .../tasks/validate_config.yml | 3 ++- .../matrix-bridge-mautrix-signal/tasks/validate_config.yml | 3 ++- .../matrix-bridge-mautrix-slack/tasks/validate_config.yml | 3 ++- .../matrix-bridge-mautrix-telegram/tasks/validate_config.yml | 3 ++- .../matrix-bridge-mautrix-twitter/tasks/validate_config.yml | 3 ++- .../matrix-bridge-mautrix-whatsapp/tasks/validate_config.yml | 3 ++- .../matrix-bridge-mx-puppet-slack/tasks/validate_config.yml | 3 ++- .../matrix-bridge-mx-puppet-twitter/tasks/validate_config.yml | 3 ++- roles/custom/matrix-cactus-comments/tasks/validate_config.yml | 3 ++- roles/custom/matrix-client-element/tasks/validate_config.yml | 2 +- .../matrix-client-schildichat/tasks/validate_config.yml | 4 ++-- roles/custom/matrix-corporal/tasks/validate_config.yml | 3 ++- roles/custom/matrix-coturn/tasks/validate_config.yml | 4 ++-- roles/custom/matrix-dendrite/tasks/validate_config.yml | 3 ++- roles/custom/matrix-dimension/tasks/validate_config.yml | 3 ++- .../matrix-ldap-registration-proxy/tasks/validate_config.yml | 3 ++- roles/custom/matrix-ma1sd/tasks/validate_config.yml | 3 ++- roles/custom/matrix-media-repo/tasks/validate_config.yml | 3 ++- .../tasks/validate_config.yml | 3 ++- roles/custom/matrix-registration/tasks/validate_config.yml | 3 ++- roles/custom/matrix-synapse-admin/tasks/validate_config.yml | 3 ++- .../matrix-synapse-auto-compressor/tasks/validate_config.yml | 4 ++-- .../matrix-synapse-usage-exporter/tasks/validate_config.yml | 3 ++- roles/custom/matrix-synapse/tasks/validate_config.yml | 4 ++-- .../tasks/validate_config.yml | 2 +- 52 files changed, 100 insertions(+), 59 deletions(-) diff --git a/roles/custom/matrix-appservice-draupnir-for-all/tasks/validate_config.yml b/roles/custom/matrix-appservice-draupnir-for-all/tasks/validate_config.yml index a25fb991d..8d8d1168c 100644 --- a/roles/custom/matrix-appservice-draupnir-for-all/tasks/validate_config.yml +++ b/roles/custom/matrix-appservice-draupnir-for-all/tasks/validate_config.yml @@ -1,5 +1,6 @@ # SPDX-FileCopyrightText: 2024 MDAD project contributors # SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2025 Suguru Hirahara # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -17,7 +18,7 @@ ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "item.old in vars" with_items: - {'old': 'matrix_appservice_draupnir_for_all_docker_image_name_prefix', 'new': 'matrix_appservice_draupnir_for_all_docker_image_registry_prefix'} diff --git a/roles/custom/matrix-authentication-service/tasks/validate_config.yml b/roles/custom/matrix-authentication-service/tasks/validate_config.yml index 59b59957b..d2adbe56c 100644 --- a/roles/custom/matrix-authentication-service/tasks/validate_config.yml +++ b/roles/custom/matrix-authentication-service/tasks/validate_config.yml @@ -1,4 +1,5 @@ # SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2025 Suguru Hirahara # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -38,7 +39,7 @@ ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "item.old in vars" with_items: - {'old': 'matrix_authentication_service_container_image_name_prefix', 'new': 'matrix_authentication_service_container_image_registry_prefix'} diff --git a/roles/custom/matrix-base/tasks/validate_config.yml b/roles/custom/matrix-base/tasks/validate_config.yml index f1a78f614..730b0d1d8 100644 --- a/roles/custom/matrix-base/tasks/validate_config.yml +++ b/roles/custom/matrix-base/tasks/validate_config.yml @@ -19,7 +19,7 @@ ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "item.old in vars" with_items: - {'old': 'host_specific_hostname_identity', 'new': 'matrix_domain'} diff --git a/roles/custom/matrix-bot-baibot/tasks/validate_config.yml b/roles/custom/matrix-bot-baibot/tasks/validate_config.yml index 6129e3806..ee4eae03c 100644 --- a/roles/custom/matrix-bot-baibot/tasks/validate_config.yml +++ b/roles/custom/matrix-bot-baibot/tasks/validate_config.yml @@ -1,4 +1,5 @@ # SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2025 Suguru Hirahara # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -35,7 +36,7 @@ ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "item.old in vars" with_items: - {'old': 'matrix_bot_baibot_container_image_name_prefix', 'new': 'matrix_bot_baibot_container_image_registry_prefix'} diff --git a/roles/custom/matrix-bot-buscarron/tasks/validate_config.yml b/roles/custom/matrix-bot-buscarron/tasks/validate_config.yml index e07cbffef..58bdc3371 100644 --- a/roles/custom/matrix-bot-buscarron/tasks/validate_config.yml +++ b/roles/custom/matrix-bot-buscarron/tasks/validate_config.yml @@ -1,5 +1,6 @@ # SPDX-FileCopyrightText: 2022 Nikita Chernyi # SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2025 Suguru Hirahara # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -8,7 +9,7 @@ ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "item.old in vars" with_items: - {'old': 'matrix_bot_buscarron_noencryption', 'new': ''} diff --git a/roles/custom/matrix-bot-chatgpt/tasks/validate_config.yml b/roles/custom/matrix-bot-chatgpt/tasks/validate_config.yml index 3d1fff512..d9c266dad 100644 --- a/roles/custom/matrix-bot-chatgpt/tasks/validate_config.yml +++ b/roles/custom/matrix-bot-chatgpt/tasks/validate_config.yml @@ -1,5 +1,6 @@ # SPDX-FileCopyrightText: 2023 MDAD project contributors # SPDX-FileCopyrightText: 2023 Slavi Pantaleev +# SPDX-FileCopyrightText: 2025 Suguru Hirahara # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -31,7 +32,7 @@ ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "item.old in vars" with_items: - {'old': 'matrix_bot_chatgpt_docker_image', 'new': 'matrix_bot_chatgpt_container_image'} diff --git a/roles/custom/matrix-bot-draupnir/tasks/validate_config.yml b/roles/custom/matrix-bot-draupnir/tasks/validate_config.yml index b369a5c00..476c4482d 100644 --- a/roles/custom/matrix-bot-draupnir/tasks/validate_config.yml +++ b/roles/custom/matrix-bot-draupnir/tasks/validate_config.yml @@ -40,7 +40,7 @@ ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "item.old in vars" with_items: - {'old': 'matrix_bot_draupnir_container_image_name_prefix', 'new': 'matrix_bot_draupnir_container_image_registry_prefix'} diff --git a/roles/custom/matrix-bot-honoroit/tasks/validate_config.yml b/roles/custom/matrix-bot-honoroit/tasks/validate_config.yml index a8e2e87af..fcaa04b68 100644 --- a/roles/custom/matrix-bot-honoroit/tasks/validate_config.yml +++ b/roles/custom/matrix-bot-honoroit/tasks/validate_config.yml @@ -1,6 +1,6 @@ # SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev # SPDX-FileCopyrightText: 2022 MDAD project contributors -# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -21,7 +21,7 @@ ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "item.old in vars" with_items: - {'old': 'matrix_bot_honoroit_container_image_name_prefix', 'new': 'matrix_bot_honoroit_container_image_registry_prefix'} diff --git a/roles/custom/matrix-bot-matrix-registration-bot/tasks/validate_config.yml b/roles/custom/matrix-bot-matrix-registration-bot/tasks/validate_config.yml index dfa5c7115..8fc291061 100644 --- a/roles/custom/matrix-bot-matrix-registration-bot/tasks/validate_config.yml +++ b/roles/custom/matrix-bot-matrix-registration-bot/tasks/validate_config.yml @@ -1,5 +1,6 @@ # SPDX-FileCopyrightText: 2022 - 2023 Julian-Samuel Gebühr # SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2025 Suguru Hirahara # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -18,7 +19,7 @@ ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "item.old in vars" with_items: - {'old': 'matrix_bot_matrix_registration_bot_bot_access_token', 'new': ''} diff --git a/roles/custom/matrix-bot-matrix-reminder-bot/tasks/validate_config.yml b/roles/custom/matrix-bot-matrix-reminder-bot/tasks/validate_config.yml index 68925dc4f..06781bd19 100644 --- a/roles/custom/matrix-bot-matrix-reminder-bot/tasks/validate_config.yml +++ b/roles/custom/matrix-bot-matrix-reminder-bot/tasks/validate_config.yml @@ -1,5 +1,6 @@ # SPDX-FileCopyrightText: 2020 - 2025 Slavi Pantaleev # SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2025 Suguru Hirahara # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -21,7 +22,7 @@ ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "item.old in vars" with_items: - {'old': 'matrix_bot_matrix_reminder_bot_container_self_build', 'new': 'matrix_bot_matrix_reminder_bot_container_image_self_build'} diff --git a/roles/custom/matrix-bot-maubot/tasks/validate_config.yml b/roles/custom/matrix-bot-maubot/tasks/validate_config.yml index 6b8be3cce..11c53f8ca 100644 --- a/roles/custom/matrix-bot-maubot/tasks/validate_config.yml +++ b/roles/custom/matrix-bot-maubot/tasks/validate_config.yml @@ -1,6 +1,7 @@ # SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev # SPDX-FileCopyrightText: 2022 Julian-Samuel Gebühr # SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2025 Suguru Hirahara # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -10,7 +11,7 @@ ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "item.old in vars" with_items: - {'old': 'matrix_bot_maubot_management_interface_port', 'new': 'matrix_bot_maubot_server_port'} diff --git a/roles/custom/matrix-bot-mjolnir/tasks/validate_config.yml b/roles/custom/matrix-bot-mjolnir/tasks/validate_config.yml index a5de35ead..6b9ae0030 100644 --- a/roles/custom/matrix-bot-mjolnir/tasks/validate_config.yml +++ b/roles/custom/matrix-bot-mjolnir/tasks/validate_config.yml @@ -1,6 +1,7 @@ # SPDX-FileCopyrightText: 2021 Aaron Raimist # SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev # SPDX-FileCopyrightText: 2024 MDAD project contributors +# SPDX-FileCopyrightText: 2025 Suguru Hirahara # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -30,7 +31,7 @@ ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "item.old in vars" with_items: - {'old': 'matrix_bot_mjolnir_container_image_name_prefix', 'new': 'matrix_bot_mjolnir_container_image_registry_prefix'} diff --git a/roles/custom/matrix-bridge-appservice-discord/tasks/validate_config.yml b/roles/custom/matrix-bridge-appservice-discord/tasks/validate_config.yml index 3d5fec6fe..e2be8da0a 100644 --- a/roles/custom/matrix-bridge-appservice-discord/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-appservice-discord/tasks/validate_config.yml @@ -1,4 +1,5 @@ # SPDX-FileCopyrightText: 2019 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2025 Suguru Hirahara # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -22,7 +23,7 @@ ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "item.old in vars" with_items: - {'old': 'matrix_appservice_discord_container_expose_client_server_api_port', 'new': ''} diff --git a/roles/custom/matrix-bridge-appservice-irc/tasks/validate_config.yml b/roles/custom/matrix-bridge-appservice-irc/tasks/validate_config.yml index e923180ed..fb7d77281 100644 --- a/roles/custom/matrix-bridge-appservice-irc/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-appservice-irc/tasks/validate_config.yml @@ -1,5 +1,6 @@ # SPDX-FileCopyrightText: 2019 - 2025 Slavi Pantaleev # SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2025 Suguru Hirahara # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -37,7 +38,7 @@ ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "item.old in vars" with_items: - {'old': 'matrix_appservice_irc_container_expose_client_server_api_port', 'new': ''} diff --git a/roles/custom/matrix-bridge-appservice-kakaotalk/tasks/validate_config.yml b/roles/custom/matrix-bridge-appservice-kakaotalk/tasks/validate_config.yml index 8ba158fe8..ebabe36aa 100644 --- a/roles/custom/matrix-bridge-appservice-kakaotalk/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-appservice-kakaotalk/tasks/validate_config.yml @@ -1,4 +1,5 @@ # SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2025 Suguru Hirahara # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -20,7 +21,7 @@ ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "item.old in vars" with_items: - {'old': 'matrix_appservice_kakaotalk_node_docker_image_name_prefix', 'new': 'matrix_appservice_kakaotalk_node_docker_image_registry_prefix'} diff --git a/roles/custom/matrix-bridge-appservice-slack/tasks/validate_config.yml b/roles/custom/matrix-bridge-appservice-slack/tasks/validate_config.yml index 66eddaf11..b35e2cdb6 100644 --- a/roles/custom/matrix-bridge-appservice-slack/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-appservice-slack/tasks/validate_config.yml @@ -1,6 +1,7 @@ # SPDX-FileCopyrightText: 2019 - 2022 MDAD project contributors # SPDX-FileCopyrightText: 2019 - 2024 Slavi Pantaleev # SPDX-FileCopyrightText: 2021 boris runakov +# SPDX-FileCopyrightText: 2025 Suguru Hirahara # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -26,7 +27,7 @@ ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "item.old in vars" with_items: - {'old': 'matrix_appservice_slack_container_self_build', 'new': 'matrix_appservice_slack_container_image_self_build'} diff --git a/roles/custom/matrix-bridge-appservice-webhooks/tasks/validate_config.yml b/roles/custom/matrix-bridge-appservice-webhooks/tasks/validate_config.yml index a5f930a36..7f0d8bfec 100644 --- a/roles/custom/matrix-bridge-appservice-webhooks/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-appservice-webhooks/tasks/validate_config.yml @@ -1,6 +1,7 @@ # SPDX-FileCopyrightText: 2020 Björn Marten # SPDX-FileCopyrightText: 2021 boris runakov # SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2025 Suguru Hirahara # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -25,7 +26,7 @@ ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "item.old in vars" with_items: - {'old': 'matrix_appservice_webhooks_docker_image_name_prefix', 'new': 'matrix_appservice_webhooks_docker_image_registry_prefix'} diff --git a/roles/custom/matrix-bridge-beeper-linkedin/tasks/validate_config.yml b/roles/custom/matrix-bridge-beeper-linkedin/tasks/validate_config.yml index 059eeebc8..1bc9de53a 100644 --- a/roles/custom/matrix-bridge-beeper-linkedin/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-beeper-linkedin/tasks/validate_config.yml @@ -1,6 +1,7 @@ # SPDX-FileCopyrightText: 2021 Alexandar Mechev # SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev # SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2025 Suguru Hirahara # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -22,7 +23,7 @@ ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "item.old in vars" with_items: - {'old': 'matrix_beeper_linkedin_login_shared_secret', 'new': ''} diff --git a/roles/custom/matrix-bridge-go-skype-bridge/tasks/validate_config.yml b/roles/custom/matrix-bridge-go-skype-bridge/tasks/validate_config.yml index 12f4172af..6f82a28b4 100644 --- a/roles/custom/matrix-bridge-go-skype-bridge/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-go-skype-bridge/tasks/validate_config.yml @@ -1,5 +1,6 @@ # SPDX-FileCopyrightText: 2022 Vladimir Panteleev # SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2025 Suguru Hirahara # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -21,7 +22,7 @@ ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "item.old in vars" with_items: - {'old': 'matrix_go_skype_bridge_docker_image_name_prefix', 'new': 'matrix_go_skype_bridge_docker_image_registry_prefix'} diff --git a/roles/custom/matrix-bridge-hookshot/tasks/validate_config.yml b/roles/custom/matrix-bridge-hookshot/tasks/validate_config.yml index a0848da91..1c35abe88 100644 --- a/roles/custom/matrix-bridge-hookshot/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-hookshot/tasks/validate_config.yml @@ -1,6 +1,6 @@ # SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev # SPDX-FileCopyrightText: 2022 MDAD project contributors -# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -10,7 +10,7 @@ ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "item.old in vars" with_items: - {'old': 'matrix_hookshot_feeds_interval', 'new': 'matrix_hookshot_feeds_pollIntervalSeconds'} diff --git a/roles/custom/matrix-bridge-mautrix-bluesky/tasks/validate_config.yml b/roles/custom/matrix-bridge-mautrix-bluesky/tasks/validate_config.yml index 5e7b03753..e14168283 100644 --- a/roles/custom/matrix-bridge-mautrix-bluesky/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mautrix-bluesky/tasks/validate_config.yml @@ -1,5 +1,6 @@ # SPDX-FileCopyrightText: 2025 MDAD project contributors # SPDX-FileCopyrightText: 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2025 Suguru Hirahara # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -23,7 +24,7 @@ ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "item.old in vars" with_items: - {'old': 'matrix_mautrix_bluesky_docker_image_name_prefix', 'new': 'matrix_mautrix_bluesky_docker_image_registry_prefix'} diff --git a/roles/custom/matrix-bridge-mautrix-discord/tasks/validate_config.yml b/roles/custom/matrix-bridge-mautrix-discord/tasks/validate_config.yml index 63552ebb7..a354dbcd6 100644 --- a/roles/custom/matrix-bridge-mautrix-discord/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mautrix-discord/tasks/validate_config.yml @@ -1,5 +1,6 @@ # SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev # SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2025 Suguru Hirahara # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -24,7 +25,7 @@ ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "item.old in vars" with_items: - {'old': 'matrix_mautrix_discord_login_shared_secret', 'new': ''} diff --git a/roles/custom/matrix-bridge-mautrix-facebook/tasks/validate_config.yml b/roles/custom/matrix-bridge-mautrix-facebook/tasks/validate_config.yml index 45c751627..aaab4839f 100644 --- a/roles/custom/matrix-bridge-mautrix-facebook/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mautrix-facebook/tasks/validate_config.yml @@ -1,7 +1,7 @@ # SPDX-FileCopyrightText: 2019 - 2024 Slavi Pantaleev # SPDX-FileCopyrightText: 2019 Jason Locklin # SPDX-FileCopyrightText: 2022 László Várady -# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -11,7 +11,7 @@ ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "item.old in vars" with_items: - {'old': 'matrix_mautrix_facebook_public_endpoint', 'new': 'matrix_mautrix_facebook_appservice_public_prefix'} diff --git a/roles/custom/matrix-bridge-mautrix-gmessages/tasks/validate_config.yml b/roles/custom/matrix-bridge-mautrix-gmessages/tasks/validate_config.yml index ccf220349..6b1b76e1d 100644 --- a/roles/custom/matrix-bridge-mautrix-gmessages/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mautrix-gmessages/tasks/validate_config.yml @@ -1,5 +1,6 @@ # SPDX-FileCopyrightText: 2023 Shreyas Ajjarapu # SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2025 Suguru Hirahara # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -23,7 +24,7 @@ ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "item.old in vars" with_items: - {'old': 'matrix_mautrix_gmessages_log_level', 'new': 'matrix_mautrix_gmessages_logging_level'} diff --git a/roles/custom/matrix-bridge-mautrix-googlechat/tasks/validate_config.yml b/roles/custom/matrix-bridge-mautrix-googlechat/tasks/validate_config.yml index 19c89c46c..9e2b20132 100644 --- a/roles/custom/matrix-bridge-mautrix-googlechat/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mautrix-googlechat/tasks/validate_config.yml @@ -1,6 +1,7 @@ # SPDX-FileCopyrightText: 2021 MDAD project contributors # SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev # SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2025 Suguru Hirahara # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -27,7 +28,7 @@ ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "item.old in vars" with_items: - {'old': 'matrix_mautrix_googlechat_docker_image_name_prefix', 'new': 'matrix_mautrix_googlechat_docker_image_registry_prefix'} diff --git a/roles/custom/matrix-bridge-mautrix-instagram/tasks/validate_config.yml b/roles/custom/matrix-bridge-mautrix-instagram/tasks/validate_config.yml index ef430fcbd..b793c80b2 100644 --- a/roles/custom/matrix-bridge-mautrix-instagram/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mautrix-instagram/tasks/validate_config.yml @@ -1,5 +1,6 @@ # SPDX-FileCopyrightText: 2021 Marcus Proest # SPDX-FileCopyrightText: 2021 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2025 Suguru Hirahara # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -22,7 +23,7 @@ ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "item.old in vars" with_items: - {'old': 'matrix_mautrix_instagram_docker_image_name_prefix', 'new': 'matrix_mautrix_instagram_docker_image_registry_prefix'} diff --git a/roles/custom/matrix-bridge-mautrix-meta-instagram/tasks/validate_config.yml b/roles/custom/matrix-bridge-mautrix-meta-instagram/tasks/validate_config.yml index 833106582..4abd0f5ba 100644 --- a/roles/custom/matrix-bridge-mautrix-meta-instagram/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mautrix-meta-instagram/tasks/validate_config.yml @@ -1,4 +1,5 @@ # SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2025 Suguru Hirahara # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -23,7 +24,7 @@ ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "item.old in vars" with_items: - {'old': 'matrix_mautrix_meta_instagram_bridge_login_shared_secret', 'new': ''} diff --git a/roles/custom/matrix-bridge-mautrix-meta-messenger/tasks/validate_config.yml b/roles/custom/matrix-bridge-mautrix-meta-messenger/tasks/validate_config.yml index 3300a54a0..db8bb4fb1 100644 --- a/roles/custom/matrix-bridge-mautrix-meta-messenger/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mautrix-meta-messenger/tasks/validate_config.yml @@ -1,4 +1,5 @@ # SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2025 Suguru Hirahara # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -23,7 +24,7 @@ ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "item.old in vars" with_items: - {'old': 'matrix_mautrix_meta_messenger_bridge_login_shared_secret', 'new': ''} diff --git a/roles/custom/matrix-bridge-mautrix-signal/tasks/validate_config.yml b/roles/custom/matrix-bridge-mautrix-signal/tasks/validate_config.yml index eeb6d5ea2..1f08f1feb 100644 --- a/roles/custom/matrix-bridge-mautrix-signal/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mautrix-signal/tasks/validate_config.yml @@ -2,6 +2,7 @@ # SPDX-FileCopyrightText: 2020 - 2022 MDAD project contributors # SPDX-FileCopyrightText: 2021 - 2025 Slavi Pantaleev # SPDX-FileCopyrightText: 2023 Pierre 'McFly' Marty +# SPDX-FileCopyrightText: 2025 Suguru Hirahara # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -25,7 +26,7 @@ ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "item.old in vars" with_items: - {'old': 'matrix_mautrix_signal_log_level', 'new': 'matrix_mautrix_signal_logging_level'} diff --git a/roles/custom/matrix-bridge-mautrix-slack/tasks/validate_config.yml b/roles/custom/matrix-bridge-mautrix-slack/tasks/validate_config.yml index 0f085735f..8265ee865 100644 --- a/roles/custom/matrix-bridge-mautrix-slack/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mautrix-slack/tasks/validate_config.yml @@ -1,5 +1,6 @@ # SPDX-FileCopyrightText: 2023 Cody Wyatt Neiman # SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2025 Suguru Hirahara # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -30,7 +31,7 @@ ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "item.old in vars" with_items: - {'old': 'matrix_mautrix_slack_login_shared_secret', 'new': ''} diff --git a/roles/custom/matrix-bridge-mautrix-telegram/tasks/validate_config.yml b/roles/custom/matrix-bridge-mautrix-telegram/tasks/validate_config.yml index 08ce0d3dc..20bad5816 100644 --- a/roles/custom/matrix-bridge-mautrix-telegram/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mautrix-telegram/tasks/validate_config.yml @@ -1,5 +1,6 @@ # SPDX-FileCopyrightText: 2019 - 2024 Slavi Pantaleev # SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2025 Suguru Hirahara # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -28,7 +29,7 @@ ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "item.old in vars" with_items: - {'old': 'matrix_mautrix_telegram_container_exposed_port_number', 'new': ''} diff --git a/roles/custom/matrix-bridge-mautrix-twitter/tasks/validate_config.yml b/roles/custom/matrix-bridge-mautrix-twitter/tasks/validate_config.yml index e97779600..0a30cd1d7 100644 --- a/roles/custom/matrix-bridge-mautrix-twitter/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mautrix-twitter/tasks/validate_config.yml @@ -1,6 +1,7 @@ # SPDX-FileCopyrightText: 2021 Matthew Cengia # SPDX-FileCopyrightText: 2021 Shreyas Ajjarapu # SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2025 Suguru Hirahara # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -24,7 +25,7 @@ ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "item.old in vars" with_items: - {'old': 'matrix_mautrix_twitter_login_shared_secret', 'new': ''} diff --git a/roles/custom/matrix-bridge-mautrix-whatsapp/tasks/validate_config.yml b/roles/custom/matrix-bridge-mautrix-whatsapp/tasks/validate_config.yml index e321aa414..a1f7605f3 100644 --- a/roles/custom/matrix-bridge-mautrix-whatsapp/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mautrix-whatsapp/tasks/validate_config.yml @@ -2,6 +2,7 @@ # SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev # SPDX-FileCopyrightText: 2022 MDAD project contributors # SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2025 Suguru Hirahara # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -22,7 +23,7 @@ ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "item.old in vars" with_items: - {'old': 'matrix_mautrix_whatsapp_log_level', 'new': 'matrix_mautrix_whatsapp_logging_level'} diff --git a/roles/custom/matrix-bridge-mx-puppet-slack/tasks/validate_config.yml b/roles/custom/matrix-bridge-mx-puppet-slack/tasks/validate_config.yml index fd67a1c80..8ede9eed3 100644 --- a/roles/custom/matrix-bridge-mx-puppet-slack/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mx-puppet-slack/tasks/validate_config.yml @@ -1,5 +1,6 @@ # SPDX-FileCopyrightText: 2020 Rodrigo Belem # SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2025 Suguru Hirahara # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -23,7 +24,7 @@ ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "item.old in vars" with_items: - {'old': 'matrix_mx_puppet_slack_redirect_path', 'new': 'matrix_mx_puppet_slack_oauth_redirect_path, but setting matrix_mx_puppet_slack_path_prefix is better'} diff --git a/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/validate_config.yml b/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/validate_config.yml index 132984974..84e2c1c76 100644 --- a/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/validate_config.yml @@ -1,5 +1,6 @@ # SPDX-FileCopyrightText: 2020 Tulir Asokan # SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2025 Suguru Hirahara # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -23,7 +24,7 @@ ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "item.old in vars" with_items: - {'old': 'matrix_mx_puppet_twitter_webhook_path', 'new': '- Your configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "item.old in vars" with_items: - {'old': 'matrix_bot_cactus_comments_systemd_required_services_list', 'new': 'matrix_cactus_comments_systemd_required_services_list'} diff --git a/roles/custom/matrix-client-element/tasks/validate_config.yml b/roles/custom/matrix-client-element/tasks/validate_config.yml index 7e3623aeb..136c26e5f 100644 --- a/roles/custom/matrix-client-element/tasks/validate_config.yml +++ b/roles/custom/matrix-client-element/tasks/validate_config.yml @@ -39,7 +39,7 @@ ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "item.old in vars" with_items: - {'old': 'matrix_client_element_showLabsSettings', 'new': 'matrix_client_element_show_lab_settings'} diff --git a/roles/custom/matrix-client-schildichat/tasks/validate_config.yml b/roles/custom/matrix-client-schildichat/tasks/validate_config.yml index 97f556092..09ef97434 100644 --- a/roles/custom/matrix-client-schildichat/tasks/validate_config.yml +++ b/roles/custom/matrix-client-schildichat/tasks/validate_config.yml @@ -1,6 +1,6 @@ # SPDX-FileCopyrightText: 2023 Nikita Chernyi # SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev -# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -10,7 +10,7 @@ ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "item.old in vars" with_items: - {'old': 'matrix_client_schildichat_welcome_user_id', 'new': ''} diff --git a/roles/custom/matrix-corporal/tasks/validate_config.yml b/roles/custom/matrix-corporal/tasks/validate_config.yml index 57938ac91..366527fcb 100644 --- a/roles/custom/matrix-corporal/tasks/validate_config.yml +++ b/roles/custom/matrix-corporal/tasks/validate_config.yml @@ -1,5 +1,6 @@ # SPDX-FileCopyrightText: 2019 - 2024 Slavi Pantaleev # SPDX-FileCopyrightText: 2019 Dan Arnfield +# SPDX-FileCopyrightText: 2025 Suguru Hirahara # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -26,7 +27,7 @@ ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "item.old in vars" with_items: - {'old': 'matrix_corporal_container_expose_ports', 'new': ''} diff --git a/roles/custom/matrix-coturn/tasks/validate_config.yml b/roles/custom/matrix-coturn/tasks/validate_config.yml index ff0ac914b..4d7568cee 100644 --- a/roles/custom/matrix-coturn/tasks/validate_config.yml +++ b/roles/custom/matrix-coturn/tasks/validate_config.yml @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: 2019 - 2025 Slavi Pantaleev -# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -9,7 +9,7 @@ ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "item.old in vars" with_items: - {'old': 'matrix_coturn_docker_network', 'new': 'matrix_coturn_container_network'} diff --git a/roles/custom/matrix-dendrite/tasks/validate_config.yml b/roles/custom/matrix-dendrite/tasks/validate_config.yml index 243015588..2f91bfa74 100644 --- a/roles/custom/matrix-dendrite/tasks/validate_config.yml +++ b/roles/custom/matrix-dendrite/tasks/validate_config.yml @@ -1,6 +1,7 @@ # SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev # SPDX-FileCopyrightText: 2022 Jip J. Dekker # SPDX-FileCopyrightText: 2023 MDAD project contributors +# SPDX-FileCopyrightText: 2025 Suguru Hirahara # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -10,7 +11,7 @@ ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "item.old in vars" with_items: - {'old': 'matrix_dendrite_enable_registration_captcha', 'new': 'matrix_dendrite_client_api_enable_registration_captcha'} diff --git a/roles/custom/matrix-dimension/tasks/validate_config.yml b/roles/custom/matrix-dimension/tasks/validate_config.yml index f7b32e389..8b8e69b8d 100644 --- a/roles/custom/matrix-dimension/tasks/validate_config.yml +++ b/roles/custom/matrix-dimension/tasks/validate_config.yml @@ -3,6 +3,7 @@ # SPDX-FileCopyrightText: 2019 - 2023 Slavi Pantaleev # SPDX-FileCopyrightText: 2020 Chris van Dijk # SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2025 Suguru Hirahara # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -26,7 +27,7 @@ ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "item.old in vars" with_items: - {'old': 'matrix_dimension_container_expose_port', 'new': ''} diff --git a/roles/custom/matrix-ldap-registration-proxy/tasks/validate_config.yml b/roles/custom/matrix-ldap-registration-proxy/tasks/validate_config.yml index 97d94fe7f..fc2d870b5 100644 --- a/roles/custom/matrix-ldap-registration-proxy/tasks/validate_config.yml +++ b/roles/custom/matrix-ldap-registration-proxy/tasks/validate_config.yml @@ -1,6 +1,7 @@ # SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev # SPDX-FileCopyrightText: 2022 Julian-Samuel Gebühr # SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2025 Suguru Hirahara # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -23,7 +24,7 @@ ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "item.old in vars" with_items: - {'old': 'matrix_ldap_registration_proxy_registration_addr_with_container', 'new': ''} diff --git a/roles/custom/matrix-ma1sd/tasks/validate_config.yml b/roles/custom/matrix-ma1sd/tasks/validate_config.yml index ca7009df4..d6d308d32 100644 --- a/roles/custom/matrix-ma1sd/tasks/validate_config.yml +++ b/roles/custom/matrix-ma1sd/tasks/validate_config.yml @@ -1,6 +1,7 @@ # SPDX-FileCopyrightText: 2020 Marcel Partap # SPDX-FileCopyrightText: 2020 - 2025 Slavi Pantaleev # SPDX-FileCopyrightText: 2021 boris runakov +# SPDX-FileCopyrightText: 2025 Suguru Hirahara # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -66,7 +67,7 @@ ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "item.old in vars" with_items: - {'old': 'matrix_ma1sd_container_expose_port', 'new': ''} diff --git a/roles/custom/matrix-media-repo/tasks/validate_config.yml b/roles/custom/matrix-media-repo/tasks/validate_config.yml index e9b4d64f9..4d10a44ed 100644 --- a/roles/custom/matrix-media-repo/tasks/validate_config.yml +++ b/roles/custom/matrix-media-repo/tasks/validate_config.yml @@ -1,5 +1,6 @@ # SPDX-FileCopyrightText: 2023 Michael Hollister # SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2025 Suguru Hirahara # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -19,7 +20,7 @@ ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "item.old in vars" with_items: - {'old': 'matrix_media_repo_access_tokens', 'new': ''} diff --git a/roles/custom/matrix-prometheus-nginxlog-exporter/tasks/validate_config.yml b/roles/custom/matrix-prometheus-nginxlog-exporter/tasks/validate_config.yml index 9e20017f9..67668dc7e 100644 --- a/roles/custom/matrix-prometheus-nginxlog-exporter/tasks/validate_config.yml +++ b/roles/custom/matrix-prometheus-nginxlog-exporter/tasks/validate_config.yml @@ -1,5 +1,6 @@ # SPDX-FileCopyrightText: 2022 MDAD project contributors # SPDX-FileCopyrightText: 2023 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2025 Suguru Hirahara # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -9,7 +10,7 @@ ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "item.old in vars" with_items: - {'old': 'matrix_prometheus_nginxlog_exporter_container_hostname', 'new': 'matrix_prometheus_nginxlog_exporter_identifier'} diff --git a/roles/custom/matrix-registration/tasks/validate_config.yml b/roles/custom/matrix-registration/tasks/validate_config.yml index 9e76a19c7..dba8f7497 100644 --- a/roles/custom/matrix-registration/tasks/validate_config.yml +++ b/roles/custom/matrix-registration/tasks/validate_config.yml @@ -1,4 +1,5 @@ # SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2025 Suguru Hirahara # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -22,7 +23,7 @@ ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "item.old in vars" with_items: - {'old': 'matrix_registration_docker_repo', 'new': 'matrix_registration_container_image_self_build_repo'} diff --git a/roles/custom/matrix-synapse-admin/tasks/validate_config.yml b/roles/custom/matrix-synapse-admin/tasks/validate_config.yml index ceb7ddec2..d0e953d24 100644 --- a/roles/custom/matrix-synapse-admin/tasks/validate_config.yml +++ b/roles/custom/matrix-synapse-admin/tasks/validate_config.yml @@ -1,5 +1,6 @@ # SPDX-FileCopyrightText: 2020 - 2025 Slavi Pantaleev # SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2025 Suguru Hirahara # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -9,7 +10,7 @@ ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "item.old in vars" with_items: - {'old': 'matrix_synapse_admin_docker_repo', 'new': 'matrix_synapse_admin_container_self_build_repo'} diff --git a/roles/custom/matrix-synapse-auto-compressor/tasks/validate_config.yml b/roles/custom/matrix-synapse-auto-compressor/tasks/validate_config.yml index 411508c80..ccaf4b42a 100644 --- a/roles/custom/matrix-synapse-auto-compressor/tasks/validate_config.yml +++ b/roles/custom/matrix-synapse-auto-compressor/tasks/validate_config.yml @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: 2023 - 2025 Slavi Pantaleev -# SPDX-FileCopyrightText: 2024 Suguru Hirahara +# SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -8,7 +8,7 @@ ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "item.old in vars" with_items: - "old": "matrix_synapse_auto_compressor_calendar" diff --git a/roles/custom/matrix-synapse-usage-exporter/tasks/validate_config.yml b/roles/custom/matrix-synapse-usage-exporter/tasks/validate_config.yml index 3274e595a..c6fa07e23 100644 --- a/roles/custom/matrix-synapse-usage-exporter/tasks/validate_config.yml +++ b/roles/custom/matrix-synapse-usage-exporter/tasks/validate_config.yml @@ -1,4 +1,5 @@ # SPDX-FileCopyrightText: 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2025 Suguru Hirahara # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -8,7 +9,7 @@ ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "item.old in vars" with_items: - {'old': 'matrix_synapse_usage_exporter_docker_image_name_prefix', 'new': 'matrix_synapse_usage_exporter_container_image_registry_prefix'} diff --git a/roles/custom/matrix-synapse/tasks/validate_config.yml b/roles/custom/matrix-synapse/tasks/validate_config.yml index a0df4c057..40c843794 100644 --- a/roles/custom/matrix-synapse/tasks/validate_config.yml +++ b/roles/custom/matrix-synapse/tasks/validate_config.yml @@ -72,7 +72,7 @@ ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "item.old in vars" with_items: - {'old': 'matrix_synapse_email_riot_base_url', 'new': ''} @@ -115,7 +115,7 @@ ansible.builtin.fail: msg: >- Your matrix_synapse_configuration_extension_yaml configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "item.old in matrix_synapse_configuration_extension" with_items: - {'old': 'federation_ip_range_blacklist', 'new': 'ip_range_blacklist'} diff --git a/roles/custom/matrix-user-verification-service/tasks/validate_config.yml b/roles/custom/matrix-user-verification-service/tasks/validate_config.yml index 871a8f0e2..449cad532 100644 --- a/roles/custom/matrix-user-verification-service/tasks/validate_config.yml +++ b/roles/custom/matrix-user-verification-service/tasks/validate_config.yml @@ -42,7 +42,7 @@ ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "item.old in vars" with_items: - {'old': 'matrix_user_verification_service_docker_image_name_prefix', 'new': 'matrix_user_verification_service_docker_image_registry_prefix'} From b4ce0274c9dfd294a3219e0667d1801eefb8328a Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Wed, 5 Mar 2025 13:36:57 +0900 Subject: [PATCH 682/841] Update validate_configs.yml for riot-web and ma1sd: adopt the common instruction Signed-off-by: Suguru Hirahara --- roles/custom/matrix-client-element/tasks/validate_config.yml | 2 +- roles/custom/matrix-ma1sd/tasks/validate_config.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/custom/matrix-client-element/tasks/validate_config.yml b/roles/custom/matrix-client-element/tasks/validate_config.yml index 136c26e5f..7ff71cc2f 100644 --- a/roles/custom/matrix-client-element/tasks/validate_config.yml +++ b/roles/custom/matrix-client-element/tasks/validate_config.yml @@ -29,7 +29,7 @@ msg: >- Riot has been renamed to Element (https://element.io/blog/welcome-to-element/). The playbook will migrate your existing configuration and data automatically, but you need to adjust variable names. - Please change your configuration (vars.yml) to rename all riot-web variables (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). Also note that DNS configuration changes may be necessary. when: "vars | dict2items | selectattr('key', 'match', item.old) | list | items2dict" with_items: diff --git a/roles/custom/matrix-ma1sd/tasks/validate_config.yml b/roles/custom/matrix-ma1sd/tasks/validate_config.yml index d6d308d32..451205e92 100644 --- a/roles/custom/matrix-ma1sd/tasks/validate_config.yml +++ b/roles/custom/matrix-ma1sd/tasks/validate_config.yml @@ -82,7 +82,7 @@ msg: >- mxisd is deprecated and has been replaced with ma1sd (https://github.com/ma1uta/ma1sd), a compatible fork. The playbook will migrate your existing mxisd configuration and data automatically, but you need to adjust variable names. - Please change your configuration (vars.yml) to rename all mxisd variables (`{{ item.old }}` -> `{{ item.new }}`). + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). when: "vars | dict2items | selectattr('key', 'match', item.old) | list | items2dict" with_items: - {'old': 'matrix_mxisd_.*', 'new': 'matrix_ma1sd_.*'} From 91130c8a1c4b6c4fb80a734a90f078e8bf49ec70 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 5 Mar 2025 06:27:58 +0000 Subject: [PATCH 683/841] Update ajbura/cinny Docker tag to v4.5.1 --- roles/custom/matrix-client-cinny/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-client-cinny/defaults/main.yml b/roles/custom/matrix-client-cinny/defaults/main.yml index fa0597af6..56ead3e5d 100644 --- a/roles/custom/matrix-client-cinny/defaults/main.yml +++ b/roles/custom/matrix-client-cinny/defaults/main.yml @@ -17,7 +17,7 @@ matrix_client_cinny_container_image_self_build: false matrix_client_cinny_container_image_self_build_repo: "https://github.com/ajbura/cinny.git" # renovate: datasource=docker depName=ajbura/cinny -matrix_client_cinny_version: v4.5.0 +matrix_client_cinny_version: v4.5.1 matrix_client_cinny_docker_image: "{{ matrix_client_cinny_docker_image_registry_prefix }}ajbura/cinny:{{ matrix_client_cinny_version }}" matrix_client_cinny_docker_image_registry_prefix: "{{ 'localhost/' if matrix_client_cinny_container_image_self_build else matrix_client_cinny_docker_image_registry_prefix_upstream }}" matrix_client_cinny_docker_image_registry_prefix_upstream: "{{ matrix_client_cinny_docker_image_registry_prefix_upstream_default }}" From ae661b991e02384812e563671f4bbf8e5454e1d1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 5 Mar 2025 06:28:02 +0000 Subject: [PATCH 684/841] Update docker.io/metio/matrix-alertmanager-receiver Docker tag to v2025.3.5 --- roles/custom/matrix-alertmanager-receiver/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-alertmanager-receiver/defaults/main.yml b/roles/custom/matrix-alertmanager-receiver/defaults/main.yml index 1b7763a37..3bd6107f4 100644 --- a/roles/custom/matrix-alertmanager-receiver/defaults/main.yml +++ b/roles/custom/matrix-alertmanager-receiver/defaults/main.yml @@ -11,7 +11,7 @@ matrix_alertmanager_receiver_enabled: true # renovate: datasource=docker depName=docker.io/metio/matrix-alertmanager-receiver -matrix_alertmanager_receiver_version: 2025.2.26 +matrix_alertmanager_receiver_version: 2025.3.5 matrix_alertmanager_receiver_scheme: https From d4c007dffdfb5dabd2713e88ae1e8b481e5a0460 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Wed, 5 Mar 2025 16:03:16 +0900 Subject: [PATCH 685/841] Re-run reuse annotate for roles/ Signed-off-by: Suguru Hirahara --- roles/custom/matrix-bot-buscarron/tasks/validate_config.yml | 3 ++- .../matrix-bridge-go-skype-bridge/tasks/validate_config.yml | 3 ++- .../matrix-bridge-mautrix-instagram/tasks/validate_config.yml | 3 ++- roles/custom/matrix-cactus-comments/tasks/validate_config.yml | 3 ++- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/roles/custom/matrix-bot-buscarron/tasks/validate_config.yml b/roles/custom/matrix-bot-buscarron/tasks/validate_config.yml index 9dc56f60d..45e6690e2 100644 --- a/roles/custom/matrix-bot-buscarron/tasks/validate_config.yml +++ b/roles/custom/matrix-bot-buscarron/tasks/validate_config.yml @@ -1,6 +1,7 @@ # SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev -# SPDX-FileCopyrightText: 2025 Suguru Hirahara # SPDX-FileCopyrightText: 2022 Nikita Chernyi +# SPDX-FileCopyrightText: 2025 Suguru Hirahara +# # SPDX-License-Identifier: AGPL-3.0-or-later --- diff --git a/roles/custom/matrix-bridge-go-skype-bridge/tasks/validate_config.yml b/roles/custom/matrix-bridge-go-skype-bridge/tasks/validate_config.yml index 62cb9676d..d7d20b94d 100644 --- a/roles/custom/matrix-bridge-go-skype-bridge/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-go-skype-bridge/tasks/validate_config.yml @@ -1,6 +1,7 @@ # SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev -# SPDX-FileCopyrightText: 2025 Suguru Hirahara # SPDX-FileCopyrightText: 2022 Vladimir Panteleev +# SPDX-FileCopyrightText: 2025 Suguru Hirahara +# # SPDX-License-Identifier: AGPL-3.0-or-later --- diff --git a/roles/custom/matrix-bridge-mautrix-instagram/tasks/validate_config.yml b/roles/custom/matrix-bridge-mautrix-instagram/tasks/validate_config.yml index 3e6e4ab27..f86e3e243 100644 --- a/roles/custom/matrix-bridge-mautrix-instagram/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mautrix-instagram/tasks/validate_config.yml @@ -1,6 +1,7 @@ # SPDX-FileCopyrightText: 2021 - 2024 Slavi Pantaleev -# SPDX-FileCopyrightText: 2025 Suguru Hirahara # SPDX-FileCopyrightText: 2021 Marcus Proest +# SPDX-FileCopyrightText: 2025 Suguru Hirahara +# # SPDX-License-Identifier: AGPL-3.0-or-later --- diff --git a/roles/custom/matrix-cactus-comments/tasks/validate_config.yml b/roles/custom/matrix-cactus-comments/tasks/validate_config.yml index 9c1be1d6f..125b4b858 100644 --- a/roles/custom/matrix-cactus-comments/tasks/validate_config.yml +++ b/roles/custom/matrix-cactus-comments/tasks/validate_config.yml @@ -1,6 +1,7 @@ # SPDX-FileCopyrightText: 2019 - 2024 Slavi Pantaleev -# SPDX-FileCopyrightText: 2025 Suguru Hirahara # SPDX-FileCopyrightText: 2022 Julian-Samuel Gebühr +# SPDX-FileCopyrightText: 2025 Suguru Hirahara +# # SPDX-License-Identifier: AGPL-3.0-or-later --- From 0bad96ac909911d678c70a522a15bc5bacce0cb9 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Wed, 5 Mar 2025 16:03:27 +0900 Subject: [PATCH 686/841] Add REUSE compliant badge on README.md Signed-off-by: Suguru Hirahara --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ca51c76ac..72ca57855 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[![Support room on Matrix](https://img.shields.io/matrix/matrix-docker-ansible-deploy:devture.com.svg?label=%23matrix-docker-ansible-deploy%3Adevture.com&logo=matrix&style=for-the-badge&server_fqdn=matrix.devture.com)](https://matrix.to/#/#matrix-docker-ansible-deploy:devture.com) [![donate](https://liberapay.com/assets/widgets/donate.svg)](https://liberapay.com/s.pantaleev/donate) +[![Support room on Matrix](https://img.shields.io/matrix/matrix-docker-ansible-deploy:devture.com.svg?label=%23matrix-docker-ansible-deploy%3Adevture.com&logo=matrix&style=for-the-badge&server_fqdn=matrix.devture.com)](https://matrix.to/#/#matrix-docker-ansible-deploy:devture.com) [![donate](https://liberapay.com/assets/widgets/donate.svg)](https://liberapay.com/s.pantaleev/donate) [![REUSE status](https://api.reuse.software/badge/github.com/spantaleev/matrix-docker-ansible-deploy)](https://api.reuse.software/info/github.com/spantaleev/matrix-docker-ansible-deploy) # Matrix (An open network for secure, decentralized communication) server setup using Ansible and Docker From 60bc545d0e737e1ce01b199647b09ae32697f009 Mon Sep 17 00:00:00 2001 From: Aine Date: Wed, 5 Mar 2025 15:24:00 +0200 Subject: [PATCH 687/841] Synapse Admin v0.10.3-etke38 --- roles/custom/matrix-synapse-admin/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-synapse-admin/defaults/main.yml b/roles/custom/matrix-synapse-admin/defaults/main.yml index 4a3028839..350b3b5cd 100644 --- a/roles/custom/matrix-synapse-admin/defaults/main.yml +++ b/roles/custom/matrix-synapse-admin/defaults/main.yml @@ -25,7 +25,7 @@ matrix_synapse_admin_container_image_self_build: false matrix_synapse_admin_container_image_self_build_repo: "https://github.com/etkecc/synapse-admin.git" # renovate: datasource=docker depName=ghcr.io/etkecc/synapse-admin -matrix_synapse_admin_version: v0.10.3-etke37 +matrix_synapse_admin_version: v0.10.3-etke38 matrix_synapse_admin_docker_image: "{{ matrix_synapse_admin_docker_image_registry_prefix }}etkecc/synapse-admin:{{ matrix_synapse_admin_version }}" matrix_synapse_admin_docker_image_registry_prefix: "{{ 'localhost/' if matrix_synapse_admin_container_image_self_build else matrix_synapse_admin_docker_image_registry_prefix_upstream }}" matrix_synapse_admin_docker_image_registry_prefix_upstream: "{{ matrix_synapse_admin_docker_image_registry_prefix_upstream_default }}" From 36f00c82e7d1b1a9526c25974f8e10895bc89702 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 6 Mar 2025 00:50:26 +0900 Subject: [PATCH 688/841] Update docs/configuring-playbook-s3.md: add links to Storj and edit the section for other S3-compatible storage providers Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-s3.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/configuring-playbook-s3.md b/docs/configuring-playbook-s3.md index 1aa190df5..bb7a51e7f 100644 --- a/docs/configuring-playbook-s3.md +++ b/docs/configuring-playbook-s3.md @@ -26,7 +26,7 @@ You can create [Amazon S3](https://aws.amazon.com/s3/) or another S3-compatible Amazon S3, Backblaze B2, and Storj are pay-as-you with no minimum charges for storing too little data. -All these providers have different prices, with Storj appearing to be the cheapest (as of 2024-10, storage fee is $0.004 per GB/month, and egress fee is $0.007 per GB). Backblaze egress is free, but for only certain users for up to 3x the amount of data stored. Beyond that you will pay $0.01/GB of egress. +All these providers have different prices, with Storj appearing to be the cheapest (as of 2024-10, storage fee is $0.004 per GB/month, and egress fee is $0.007 per GB; check actual pricing [here](https://storj.dev/dcs/pricing)). Backblaze egress is free, but for only certain users for up to 3x the amount of data stored. Beyond that you will pay $0.01/GB of egress. Wasabi has a minimum charge of 1TB if you're storing less than 1TB, which becomes expensive if you need to store less data than that. Likewise, Digital Ocean Spaces has also a minimum charge of 250GB ($5/month as of 2022-10). @@ -97,9 +97,9 @@ For configuring [Goofys](configuring-playbook-s3-goofys.md) or [s3-synapse-stora ## Other providers -For other S3-compatible providers, you may not need to configure security policies, etc. (just like for [Backblaze B2](#backblaze-b2)). +For other S3-compatible providers, you most likely just need to create an S3 bucket and get some credentials (access key and secret key) for accessing the bucket in a read/write manner. You may not need to configure security policies, etc. -You most likely just need to create an S3 bucket and get some credentials (access key and secret key) for accessing the bucket in a read/write manner. +For details about setting up a bucket at Storj, please see the instruction [here](https://storj.dev/dcs/getting-started) to get started. ## Setting up From 1c68fd0d9b44aae71abd47a75f89deaaaea84778 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Wed, 5 Mar 2025 21:24:43 +0200 Subject: [PATCH 689/841] Make matrix-synapse-reverse-proxy-companion not report "502 Bad Gateway" when Synapse workers restart Since nginx 1.27.3, we can make use of the `resolve` parameter for an `upstream`'s `server`, to allow DNS resolution to happen continuously at runtime, not just once during startup. Previously, this was not possible to do in an `upstream` block without an nginx-plus subscription. Outside of an `upstream` block, we've used and still use `set $backend ..` workarounds to get DNS resolution at runtime, but now we can do it in `upstream` as well. --- .../matrix-synapse-reverse-proxy-companion.conf.j2 | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/roles/custom/matrix-synapse-reverse-proxy-companion/templates/nginx/conf.d/matrix-synapse-reverse-proxy-companion.conf.j2 b/roles/custom/matrix-synapse-reverse-proxy-companion/templates/nginx/conf.d/matrix-synapse-reverse-proxy-companion.conf.j2 index 57dee1d9b..46dbb010e 100644 --- a/roles/custom/matrix-synapse-reverse-proxy-companion/templates/nginx/conf.d/matrix-synapse-reverse-proxy-companion.conf.j2 +++ b/roles/custom/matrix-synapse-reverse-proxy-companion/templates/nginx/conf.d/matrix-synapse-reverse-proxy-companion.conf.j2 @@ -16,10 +16,18 @@ {% macro render_worker_upstream(name, workers, load_balance) %} {% if workers | length > 0 %} upstream {{ name }} { + {# + We need to use a zone so that the upstream is stored in shared memory, + otherwise we can't use `resolve` below, as reported by nginx: + > resolving names at run time requires upstream ".." in ... to be in shared memory + #} + zone {{ name }} 64k; + {{ load_balance }} keepalive {{ ((workers | length) * 2) | string }}; + resolver {{ matrix_synapse_reverse_proxy_companion_http_level_resolver }} valid=5s; {% for worker in workers %} - server "{{ worker.name }}:{{ worker.port }}"; + server "{{ worker.name }}:{{ worker.port }}" resolve; {% endfor %} } {% endif %} From a72d017e47c15b4cf91f40189e75ce1896a52055 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 5 Mar 2025 22:34:23 +0000 Subject: [PATCH 690/841] Update dependency Jinja2 to v3.1.6 --- i18n/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/requirements.txt b/i18n/requirements.txt index 894bbe199..c82e718f9 100644 --- a/i18n/requirements.txt +++ b/i18n/requirements.txt @@ -6,7 +6,7 @@ click==8.1.8 docutils==0.21.2 idna==3.10 imagesize==1.4.1 -Jinja2==3.1.5 +Jinja2==3.1.6 linkify-it-py==2.0.3 markdown-it-py==3.0.0 MarkupSafe==3.0.2 From 820acce224a413911e13d256826b4a7f173a0199 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 6 Mar 2025 04:46:44 +0000 Subject: [PATCH 691/841] Bump jinja2 from 3.1.5 to 3.1.6 in /i18n Bumps [jinja2](https://github.com/pallets/jinja) from 3.1.5 to 3.1.6. - [Release notes](https://github.com/pallets/jinja/releases) - [Changelog](https://github.com/pallets/jinja/blob/main/CHANGES.rst) - [Commits](https://github.com/pallets/jinja/compare/3.1.5...3.1.6) --- updated-dependencies: - dependency-name: jinja2 dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- i18n/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/requirements.txt b/i18n/requirements.txt index 894bbe199..c82e718f9 100644 --- a/i18n/requirements.txt +++ b/i18n/requirements.txt @@ -6,7 +6,7 @@ click==8.1.8 docutils==0.21.2 idna==3.10 imagesize==1.4.1 -Jinja2==3.1.5 +Jinja2==3.1.6 linkify-it-py==2.0.3 markdown-it-py==3.0.0 MarkupSafe==3.0.2 From 55e47d69dbe6a206573eadc25469cd38df9901ac Mon Sep 17 00:00:00 2001 From: Iruwen <11341130+Iruwen@users.noreply.github.com> Date: Thu, 6 Mar 2025 14:48:23 +0100 Subject: [PATCH 692/841] Enable room summary API (MSC3266) support for Synapse to support Element X clients --- roles/custom/matrix-synapse/defaults/main.yml | 9 +++++++++ .../matrix-synapse/templates/synapse/homeserver.yaml.j2 | 3 +++ 2 files changed, 12 insertions(+) diff --git a/roles/custom/matrix-synapse/defaults/main.yml b/roles/custom/matrix-synapse/defaults/main.yml index cd9cfa7ea..7742f4764 100644 --- a/roles/custom/matrix-synapse/defaults/main.yml +++ b/roles/custom/matrix-synapse/defaults/main.yml @@ -1252,6 +1252,15 @@ matrix_synapse_experimental_features_msc4108_enabled: false ################################################################################ +# Controls whether to enable the "room summary API" experimental feature. +# See https://github.com/matrix-org/matrix-spec-proposals/pull/3266 +# Despite being experimental, this feature is mandatory for the next-generation Element X clients, which is why it is enabled by default: +# https://github.com/element-hq/element-x-ios/issues/3713#issuecomment-2620958291 +# If you're worried about the privacy implications of this unauthenticated API, see: +# https://github.com/deepbluev7/matrix-doc/blob/room-summaries/proposals/3266-room-summary.md#client-server-api +# Set this to false if you still want to disable to API for some reason. Note that doing so breaks Element X compatibility though. +matrix_synapse_experimental_features_msc3266_enabled: true + # Enable this to activate the REST auth password provider module. # See: https://github.com/ma1uta/matrix-synapse-rest-password-provider matrix_synapse_ext_password_provider_rest_auth_enabled: false diff --git a/roles/custom/matrix-synapse/templates/synapse/homeserver.yaml.j2 b/roles/custom/matrix-synapse/templates/synapse/homeserver.yaml.j2 index aecaf0301..dbfbdffaf 100644 --- a/roles/custom/matrix-synapse/templates/synapse/homeserver.yaml.j2 +++ b/roles/custom/matrix-synapse/templates/synapse/homeserver.yaml.j2 @@ -2984,5 +2984,8 @@ experimental_features: {% if matrix_synapse_experimental_features_msc4108_enabled %} msc4108_enabled: true {% endif %} + {% if matrix_synapse_experimental_features_msc3266_enabled %} + msc3266_enabled: true + {% endif %} # vim:ft=yaml From c90e40b24d31e7ae763eb2d95138f5cd526fafed Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sat, 8 Mar 2025 07:36:55 +0200 Subject: [PATCH 693/841] Upgrade exim-relay (v4.98.1-r0-1-0 -> v4.98.1-r0-2-0) --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 7c11007ca..46fc6f727 100644 --- a/requirements.yml +++ b/requirements.yml @@ -19,7 +19,7 @@ version: v2.2.7-4 name: etherpad - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay.git - version: v4.98.1-r0-1-0 + version: v4.98.1-r0-2-0 name: exim_relay - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-grafana.git version: v11.5.2-2 From 40446e341bac7b0994dbe1e8e49754c9df8936af Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 8 Mar 2025 21:36:14 +0900 Subject: [PATCH 694/841] Update docs/configuring-playbook-email.md: copy from the ansible-role-exim-relay role's document and edit Based on https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay/blob/eac4201a0253e098983cdfee47c112790b3b198c/docs/configuring-exim-relay.md - Add instruction to enable DKIM - Replace the recommendation to use another SMTP server as relay, as DKIM has become available on exim-relay and configuring it greatly improves deliverability Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-email.md | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/docs/configuring-playbook-email.md b/docs/configuring-playbook-email.md index a1d7dff76..658f66394 100644 --- a/docs/configuring-playbook-email.md +++ b/docs/configuring-playbook-email.md @@ -25,16 +25,22 @@ Docker automatically opens these ports in the server's firewall, so you likely d ## Adjusting the playbook configuration -### Relaying email through another SMTP server (optional) +### Enable DKIM authentication to improve deliverability (optional) -By default, exim-relay attempts to deliver emails directly. This may or may not work, depending on your domain configuration (SPF settings, etc.) +By default, exim-relay attempts to deliver emails directly. This may or may not work, depending on your domain configuration. + +To improve email deliverability, you can configure authentication methods such as DKIM (DomainKeys Identified Mail), SPF, and DMARC for your domain. Without setting any of these authentication methods, your outgoing email is most likely to be quarantined as spam at recipient's mail servers. + +For details about configuring DKIM, refer [this section](https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay/blob/main/docs/configuring-exim-relay.md#enable-dkim-support-optional) on the role's document. + +💡 If you cannot enable DKIM, SPF, or DMARC on your domain for some reason, we recommend relaying email through another SMTP server. + +### Relaying email through another SMTP server (optional) **On some cloud providers such as Google Cloud, [port 25 is always blocked](https://cloud.google.com/compute/docs/tutorials/sending-mail/), so sending email directly from your server is not possible.** In this case, you will need to relay email through another SMTP server. For details about configuration, refer [this section](https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay/blob/main/docs/configuring-exim-relay.md#relaying-email-through-another-smtp-server) on the role's document. -💡 To improve deliverability, we recommend relaying email through another SMTP server anyway. - ### Disable mail service (optional) For a low-power server you might probably want to disable exim-relay. To do so, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: From ffa1ff67eb45b8844d2d75eebf4790940afc60ee Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sat, 8 Mar 2025 15:22:13 +0200 Subject: [PATCH 695/841] Recommend IPv6 enablement by default to all users Follow-up to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3218 --- CHANGELOG.md | 18 +++ docs/configuring-dns.md | 7 +- docs/configuring-playbook-ipv6.md | 191 ++++++++++++++++++++++++++++++ docs/configuring-playbook.md | 2 + docs/quick-start.md | 7 +- examples/vars.yml | 23 +++- 6 files changed, 242 insertions(+), 6 deletions(-) create mode 100644 docs/configuring-playbook-ipv6.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 070d18e17..4ccba7cf7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,21 @@ +# 2025-03-08 + +## 6️⃣ IPv6 support enablement recommended by default + +Our [default example configuration](./examples/vars.yml) and [Configuring DNS](./docs/configuring-dns.md) guides now recommend enabling [IPv6](https://en.wikipedia.org/wiki/IPv6) support. We recommend that everyone enables IPv6 support for their Matrix server, even if they don't have IPv6 connectivity yet. + +Our new [Configuring IPv6](./docs/configuring-playbook-ipv6.md) documentation page has more details about the playbook's IPv6 support. + +**Existing playbook users** will **need to do some manual work** to enable IPv6 support. This consists of: + +- enabling IPv6 support for the Docker container networks: + - add `devture_systemd_docker_base_ipv6_enabled: true` to their `vars.yml` configuration file + - stop all services (`just stop-all`) + - delete all container networks on the server: `docker network rm $(docker network ls -q)` + - re-run the playbook fully: `just install-all` + +- [configuring IPv6 (`AAAA`) DNS records](./docs/configuring-playbook-ipv6.md#configuring-dns-records-for-ipv6) + # 2025-02-26 ## 🪦 Bye-bye, Email2Matrix diff --git a/docs/configuring-dns.md b/docs/configuring-dns.md index a5c0918ab..62d4b7a55 100644 --- a/docs/configuring-dns.md +++ b/docs/configuring-dns.md @@ -27,10 +27,13 @@ To serve the base domain (`example.com`) and [Element Web](configuring-playbook- | Type | Host | Priority | Weight | Port | Target | | ----- | --------- | -------- | ------ | ---- | ---------------------| -| A | `matrix` | - | - | - | `matrix-server-IP` | +| A | `matrix` | - | - | - | `matrix-server-IPv4` | +| AAAA | `matrix` | - | - | - | `matrix-server-IPv6` | | CNAME | `element` | - | - | - | `matrix.example.com` | -As the table illustrates, you need to create 2 subdomains (`matrix.example.com` and `element.example.com`) and point both of them to your server's IP address (DNS `A` record or `CNAME` record is fine). +As the table illustrates, you need to create 2 subdomains (`matrix.example.com` and `element.example.com`) and point both of them to your server's IPv4/IPv6 address. + +If you don't have IPv6 connectivity yet, you can skip the `AAAA` record. For more details about IPv6, see the [Configuring IPv6](./configuring-playbook-ipv6.md) documentation page. The `element.example.com` subdomain is necessary, because this playbook installs the [Element Web](https://github.com/element-hq/element-web) client for you by default. If you'd rather instruct the playbook not to install Element Web (`matrix_client_element_enabled: false` when [Configuring the playbook](configuring-playbook.md) later), feel free to skip the `element.example.com` DNS record. diff --git a/docs/configuring-playbook-ipv6.md b/docs/configuring-playbook-ipv6.md new file mode 100644 index 000000000..68fd29d2d --- /dev/null +++ b/docs/configuring-playbook-ipv6.md @@ -0,0 +1,191 @@ + +# Configuring IPv6 + +Since 2025-03-08, the [default example configuration](../examples/vars.yml) for the playbook recommends enabling [IPv6](https://en.wikipedia.org/wiki/IPv6) support for Docker's container networks. + +**If you have IPv6 support on your server/network** (see [How do I check if my server has IPv6 connectivity?](#how-do-i-check-if-my-server-has-ipv6-connectivity)), then [enabling IPv6 support for the playbook](#enabling-ipv6-support-for-the-playbook) would give you: + +- 📥 incoming IPv6 connectivity to the server via the server's IPv6 address/addresses (containers won't have their own individual publicly accessible IPs) +- 📤 outgoing IPv6 connectivity from the server via the server's IPv6 address/addresses (containers won't exit via their own individual IPv6 address) +- 🔄 IPv6 connectivity for cross-container communication + +**If you still don't have IPv6 support on your server/network**, then enabling IPv6 support for the playbook will only enable IPv6 connectivity for cross-container communication and shouldn't affect your server's incoming/outgoing communication. You may also be interested in reading if [there's a performance penalty to enabling IPv6 if the server/network doesn't support IPv6 connectivity?](#is-there-a-performance-penalty-to-enabling-ipv6-if-the-server-network-doesn-t-support-ipv6-connectivity) + +As such, **we recommend that you follow the default example configuration and leave IPv6 support for Docker enabled in all cases**. + +Enabling IPv6 consists of 2 steps: + +- [Enabling IPv6 support for the playbook](#enabling-ipv6-support-for-the-playbook) +- [Configuring DNS records for IPv6](#configuring-dns-records-for-ipv6) + +💡 If you've followed a recent version of our documentation, you would have already done these steps, so there's nothing else to do. + +## Enabling IPv6 support for the playbook + +You can enable IPv6 support for all components' Docker container networks by using the following `vars.yml` configuration: + +```yml +# Controls whether container networks will be created with IPv6 support. +# +# If you also have IPv6 support on your server/network and AAAA DNS records pointing to the server, +# enabling this will effectively give you full public IPv6 connectivity (powered by NAT66). +# +# We recommend leaving this enabled even if you don't currently have IPv6 connectivity on your server/network. +# This way, once you eventually get IPv6 connectivity, you won't have to change anything (besides DNS records). +# +# Flipping this setting later on requires manual work (stopping services, deleting and recreating all container networks). +# +# In the future, this setting will likely default to `true`, so if you really want IPv6 disabled, explicitly set this to `false`. +# +# People managing Docker themselves and running an older Docker version will need additional configuration. +# +# Learn more in `docs/configuring-playbook-ipv6.md`. +devture_systemd_docker_base_ipv6_enabled: true +``` + +Doing this: + +- all container networks will be IPv6-enabled + +- NAT66 will be used, so that: + - containers will get [Unique Local Addresses (ULA)](https://en.wikipedia.org/wiki/Unique_local_address) + - the outgoing IPv6 address for containers will be the same as the one on the server + - traffic destined for the IPv6 address of the server will be forwarded to the containers that handle (and publish) that specific port + +> [!WARNING] +> Without enabling this and assuming you have IPv6 `AAAA` DNS records pointing to the server (see [Configuring DNS records for IPv6](#configuring-dns-records-for-ipv6)), IPv6 traffic will still be handled, but NAT64 will be used instead of NAT66. +> As such, containers will only have an IPv4 address and all IPv6 traffic that reaches them will seem to originate from a local IP. + +To confirm connectivity, see the following other resources: + +- [How do I check if my server has IPv6 connectivity?](#how-do-i-check-if-my-server-has-ipv6-connectivity) +- [How do I check outgoing IPv6 connectivity for containers?](#how-do-i-check-outgoing-ipv6-connectivity-for-containers) +- [How do I check incoming IPv6 connectivity for containers?](#how-do-i-check-incoming-ipv6-connectivity-for-containers) +- [How do I confirm if my container networks are IPv6-enabled?](#how-do-i-confirm-if-my-container-networks-are-ipv6-enabled) +- Ensure that the [Federation Tester](https://federationtester.matrix.org/) reports that your server is reachable over IPv6. + +## Configuring DNS records for IPv6 + +[Enabling IPv6 support for the playbook](#enabling-ipv6-support-for-the-playbook) tells you how to prepare for IPv6 on the container (Docker) side. + +For full public IPv6 connectivity (and not just IPv6 connectivity for containers inside the container networks) you also need to **ensure that your domain names** (e.g. `matrix.example.com` and others) have IPv6 (`AAAA`) DNS records pointing to the server's IPv6 address. + +Also see the [Configuring DNS settings](configuring-dns.md) documentation page for more details. + +### A note about old Docker + +With our [default example configuration](../examples/vars.yml), the playbook manages Docker for you and installs a modern-enough version. + +Docker versions newer than 27.0.1 enable IPv6 integration at the Docker daemon level out of the box. This still requires that networks are created with IPv6 support as described in the [Enabling IPv6 support for the playbook](#enabling-ipv6-support-for-the-playbook) section above. + +**If you're on an old Docker version** (Docker 27.0.0 or older) for some reason, it's likely that your Docker installation is not enabled for IPv6 at all. In such a case: + +- if Docker is managed by the playbook, you can tell it to force-enable IPv6 via `devture_systemd_docker_base_ipv6_daemon_options_changing_enabled: true` + +- if Docker is managed by you manually, you can add `{"experimental": true, "ip6tables": true}` to the Docker daemon options and restart the Docker service (`docker.service`). + +### Frequently Asked Questions + +#### How do I check if my server has IPv6 connectivity? + +##### With curl + +You can run `curl https://icanhazip.com` and see if it returns an [IPv6 address](https://en.wikipedia.org/wiki/IPv6_address) (an address with `:` characters in it, like `2001:db8:1234:5678::1`). If it does, then your server has IPv6 connectivity and prefers it over using IPv4. This is common. + +If you see an IPv4 address instead (e.g. `1.2.3.4`), it may be that your server prefers IPv4 over IPv6 or that your network does not support IPv6. You can try forcing `curl` to use IPv6 by running `curl -6 https://icanhazip.com` and see if it returns an IPv6 address. + +##### With other network utilities + +You can run `ip -6 addr` to see if you have any IPv6 addresses assigned to your server, besides the link-local (`fe80::*`) addresses that everyone has (unless they have force-disabled IPv6 support on their system). + +If you do have an IPv6 address, it's still worth [using curl](#with-curl) to confirm that your server can successfully make outgoing requests over IPv6. + +#### What does the `devture_systemd_docker_base_ipv6_enabled` setting actually do? + +The `devture_systemd_docker_base_ipv6_enabled` setting controls whether container networks will be created with IPv6 support. + +Changing this setting subsequently requires manual work (deleting all container networks). +See [I've changed the `devture_systemd_docker_base_ipv6_enabled` setting, but it doesn't seem to have any effect](#i-ve-changed-the-devture_systemd_docker_base_ipv6_enabled-setting-but-it-doesn-t-seem-to-have-any-effect). + +#### I've changed the `devture_systemd_docker_base_ipv6_enabled` setting, but it doesn't seem to have any effect. + +If you're using an older Docker version (Docker 27.0.0 or older), see [A note about old Docker](#a-note-about-old-docker). + +If you've previously installed with one `devture_systemd_docker_base_ipv6_enabled` value and then changed it to another, you need to: + +- stop all services (`just stop-all`) +- delete all container networks on the server: `docker network rm $(docker network ls -q)` +- re-run the playbook fully: `just install-all` + +#### How do I confirm if my container networks are IPv6-enabled? + +You can list container networks by running `docker network ls` on the server. + +For each container network (e.g. `matrix-homeserver`), you can check if it has IPv6 connectivity by running a command like this: `docker network inspect matrix-homeserver`. + +Ensure that there's an IPv6 subnet/gateway in the `IPAM.Config` section. If yes, you may wish to proceed with [How do I check outgoing IPv6 connectivity for containers?](#how-do-i-check-outgoing-ipv6-connectivity-for-containers) + +If there's no IPv6 subnet/gateway in the `IPAM.Config` section, this container network was not created with IPv6 support. +See [I've changed the `devture_systemd_docker_base_ipv6_enabled` setting, but it doesn't seem to have any effect](#i-ve-changed-the-devture_systemd_docker_base_ipv6_enabled-setting-but-it-doesn-t-seem-to-have-any-effect). + +#### How do I check outgoing IPv6 connectivity for containers? + +```sh +docker run --rm --network=matrix-homeserver quay.io/curl/curl:latest curl -6 https://icanhazip.com +``` + +💡 This one-off container is connected to the `matrix-homeserver` container network, not to the default Docker bridge network. The default Docker `bridge` network does not have IPv6 connectivity by default (yet) and is not influenced by the `devture_systemd_docker_base_ipv6_enabled` setting, so using that network (by omitting `--network=..` from the command above) will not show an IPv6 address + +✅ If this command returns an IPv6 address, you're all good. + +❌ If this command doesn't return an IPv6 address, it may be that: + +- your container network does not have IPv6 connectivity. See [How do I confirm if my container networks are IPv6-enabled?](#how-do-i-confirm-if-my-container-networks-are-ipv6-enabled) for more details. + +- your server does not have IPv6 connectivity. See [How do I check if my server has IPv6 connectivity?](#how-do-i-check-if-my-server-has-ipv6-connectivity) for more details. If you do have IPv6 connectivity, then the issue is with Docker's IPv6 configuration. Otherwise, you need to check your server's network configuration/firewall/routing and get back to configuring the playbook later on. + +#### How do I check incoming IPv6 connectivity for containers? + +Only containers that publish ports will be exposed (reachable) publicly on the server's own IPv6 address. Containers will not get their own individual public IPv6 address. + +For this playbook, a commonly exposed container is the Traefik reverse-proxy container (unless [you're using your own webserver](./configuring-playbook-own-webserver.md)). + +You can either do something like `curl -6 https://matrix.example.com` from an IPv6-enabled host (including the server itself) and see if it works. + +An alternative is to use the [IPv6 Port Checker](https://port.tools/port-checker-ipv6/) with a hostname of `matrix.example.com` and a port of `443`. + +💡 Trying to connect to `matrix.example.com` via IPv6 requires that you have already [configured the DNS records for IPv6](#configuring-dns-records-for-ipv6) as described above. If you wish to eliminate DNS as a potential issue, you can also try connecting to the server's own IPv6 address directly: `curl -6 -H 'Host: matrix.example.com' https://[2001:db8:1234:5678::1]` (we pass a `Host` header to tell Traefik which host we'd like it to serve). + +#### Why enable IPv6 if my network doesn't support it yet? + +Because when your network does get support for IPv6 later on (even if that's 5 years away), you won't have to change anything besides [configuring the DNS records for IPv6](#configuring-dns-records-for-ipv6). + +#### Can I use a custom subnet for IPv6? + +Not easily. + +The playbook and the various roles only support passing an `enable_ipv6` flag (`true` or `false` value depending on the `devture_systemd_docker_base_ipv6_enabled` Ansible variable) when creating the Docker container networks. + +There's no support for passing a custom subnet for IPv4 and IPv6. We let Docker auto-generate the subnets for us. + +You can either create a Pull Request that adds support for this to the various playbook roles, or you can manually recreate the networks from the command-line (e.g. `docker network rm matrix-homeserver && docker network create --ipv6 --subnet=2001:db8:1234:5678::/64 matrix-homeserver`). + +#### Can I use Global Unicast Addresses (GUA) for IPv6? + +No. You cannot have GUA addresses where each container is individually addressable over the public internet. + +The playbook only supports NAT66, which should be good enough for most use cases. + +Having containers get IPv6 addresses from your own GUA subnet requires complex configuration (ndp-proxy, etc.) and is not supported. + +You may find [this Reddit post](https://www.reddit.com/r/ipv6/comments/1alpzmb/comment/kphpw11/) interesting. + +#### Is there a performance penalty to enabling IPv6 if the server/network doesn't support IPv6 connectivity? + +Probably a tiny one, as services may try to make (unsuccessful) outgoing requests over IPv6. + +In practice, it's probably negligible. diff --git a/docs/configuring-playbook.md b/docs/configuring-playbook.md index da19662de..474a4c509 100644 --- a/docs/configuring-playbook.md +++ b/docs/configuring-playbook.md @@ -77,6 +77,8 @@ For a more custom setup, see the [Other configuration options](#other-configurat - [Controlling Matrix federation](configuring-playbook-federation.md) + - [Configuring IPv6](./configuring-playbook-ipv6.md) + ### Clients Web clients for Matrix that you can host on your own domains. diff --git a/docs/quick-start.md b/docs/quick-start.md index c9513c964..d4141580f 100644 --- a/docs/quick-start.md +++ b/docs/quick-start.md @@ -51,10 +51,13 @@ To configure Matrix services in the default settings, go to your DNS service pro | Type | Host | Priority | Weight | Port | Target | | ----- | ----------| -------- | ------ | ---- | ---------------------| -| A | `matrix` | - | - | - | `matrix-server-IP` | +| A | `matrix` | - | - | - | `matrix-server-IPv4` | +| AAAA | `matrix` | - | - | - | `matrix-server-IPv6` | | CNAME | `element` | - | - | - | `matrix.example.com` | -As the table illustrates, you need to create 2 subdomains (`matrix.example.com` and `element.example.com`) and point both of them to your server's IP address (DNS `A` record or `CNAME` record is fine). +As the table illustrates, you need to create 2 subdomains (`matrix.example.com` and `element.example.com`) and point both of them to your server's IPv4/IPv6 address. + +If you don't have IPv6 connectivity yet, you can skip the `AAAA` record. For more details about IPv6, see the [Configuring IPv6](./configuring-playbook-ipv6.md) documentation page. It might take some time for the DNS records to propagate after creation. diff --git a/examples/vars.yml b/examples/vars.yml index cc6aa8333..c3d1faa85 100644 --- a/examples/vars.yml +++ b/examples/vars.yml @@ -28,10 +28,29 @@ matrix_homeserver_generic_secret_key: '' # For alternatives, see `docs/configuring-playbook-own-webserver.md`. matrix_playbook_reverse_proxy_type: playbook-managed-traefik +# Controls whether container networks will be created with IPv6 support. +# +# If you also have IPv6 support on your server/network and AAAA DNS records pointing to the server, +# enabling this will effectively give you full public IPv6 connectivity (powered by NAT66). +# +# We recommend leaving this enabled even if you don't currently have IPv6 connectivity on your server/network. +# This way, once you eventually get IPv6 connectivity, you won't have to change anything (besides DNS records). +# +# Flipping this setting later on requires manual work (stopping services, deleting and recreating all container networks). +# +# In the future, this setting will likely default to `true`, so if you really want IPv6 disabled, explicitly set this to `false`. +# +# People managing Docker themselves and running an older Docker version will need additional configuration. +# +# Learn more in `docs/configuring-playbook-ipv6.md`. +devture_systemd_docker_base_ipv6_enabled: true + # A Postgres password to use for the superuser Postgres user (called `matrix` by default). # -# The playbook creates additional Postgres users and databases (one for each enabled service) -# using this superuser account. +# The playbook creates additional Postgres users and databases (one for each enabled service) using this superuser account. +# +# Changing this value subsequently requires manual work. +# The value used here must be shorter than 100 characters. postgres_connection_password: '' # By default, we configure coturn's external IP address using the value specified for `ansible_host` in your `inventory/hosts` file. From ce90df519eec013a4eed1e14842a38f0c8afc080 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sat, 8 Mar 2025 15:41:45 +0200 Subject: [PATCH 696/841] docs/configuring-playbook-ipv6.md -> docs/configuring-ipv6.md --- CHANGELOG.md | 4 ++-- docs/configuring-dns.md | 2 +- docs/{configuring-playbook-ipv6.md => configuring-ipv6.md} | 2 +- docs/configuring-playbook.md | 2 +- docs/quick-start.md | 2 +- examples/vars.yml | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) rename docs/{configuring-playbook-ipv6.md => configuring-ipv6.md} (99%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4ccba7cf7..b223f3875 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ Our [default example configuration](./examples/vars.yml) and [Configuring DNS](./docs/configuring-dns.md) guides now recommend enabling [IPv6](https://en.wikipedia.org/wiki/IPv6) support. We recommend that everyone enables IPv6 support for their Matrix server, even if they don't have IPv6 connectivity yet. -Our new [Configuring IPv6](./docs/configuring-playbook-ipv6.md) documentation page has more details about the playbook's IPv6 support. +Our new [Configuring IPv6](./docs/configuring-ipv6.md) documentation page has more details about the playbook's IPv6 support. **Existing playbook users** will **need to do some manual work** to enable IPv6 support. This consists of: @@ -14,7 +14,7 @@ Our new [Configuring IPv6](./docs/configuring-playbook-ipv6.md) documentation pa - delete all container networks on the server: `docker network rm $(docker network ls -q)` - re-run the playbook fully: `just install-all` -- [configuring IPv6 (`AAAA`) DNS records](./docs/configuring-playbook-ipv6.md#configuring-dns-records-for-ipv6) +- [configuring IPv6 (`AAAA`) DNS records](./docs/configuring-ipv6.md#configuring-dns-records-for-ipv6) # 2025-02-26 diff --git a/docs/configuring-dns.md b/docs/configuring-dns.md index 62d4b7a55..398f5999b 100644 --- a/docs/configuring-dns.md +++ b/docs/configuring-dns.md @@ -33,7 +33,7 @@ To serve the base domain (`example.com`) and [Element Web](configuring-playbook- As the table illustrates, you need to create 2 subdomains (`matrix.example.com` and `element.example.com`) and point both of them to your server's IPv4/IPv6 address. -If you don't have IPv6 connectivity yet, you can skip the `AAAA` record. For more details about IPv6, see the [Configuring IPv6](./configuring-playbook-ipv6.md) documentation page. +If you don't have IPv6 connectivity yet, you can skip the `AAAA` record. For more details about IPv6, see the [Configuring IPv6](./configuring-ipv6.md) documentation page. The `element.example.com` subdomain is necessary, because this playbook installs the [Element Web](https://github.com/element-hq/element-web) client for you by default. If you'd rather instruct the playbook not to install Element Web (`matrix_client_element_enabled: false` when [Configuring the playbook](configuring-playbook.md) later), feel free to skip the `element.example.com` DNS record. diff --git a/docs/configuring-playbook-ipv6.md b/docs/configuring-ipv6.md similarity index 99% rename from docs/configuring-playbook-ipv6.md rename to docs/configuring-ipv6.md index 68fd29d2d..de6820a44 100644 --- a/docs/configuring-playbook-ipv6.md +++ b/docs/configuring-ipv6.md @@ -43,7 +43,7 @@ You can enable IPv6 support for all components' Docker container networks by usi # # People managing Docker themselves and running an older Docker version will need additional configuration. # -# Learn more in `docs/configuring-playbook-ipv6.md`. +# Learn more in `docs/configuring-ipv6.md`. devture_systemd_docker_base_ipv6_enabled: true ``` diff --git a/docs/configuring-playbook.md b/docs/configuring-playbook.md index 474a4c509..fe1184ebd 100644 --- a/docs/configuring-playbook.md +++ b/docs/configuring-playbook.md @@ -77,7 +77,7 @@ For a more custom setup, see the [Other configuration options](#other-configurat - [Controlling Matrix federation](configuring-playbook-federation.md) - - [Configuring IPv6](./configuring-playbook-ipv6.md) + - [Configuring IPv6](./configuring-ipv6.md) ### Clients diff --git a/docs/quick-start.md b/docs/quick-start.md index d4141580f..ae9328f0a 100644 --- a/docs/quick-start.md +++ b/docs/quick-start.md @@ -57,7 +57,7 @@ To configure Matrix services in the default settings, go to your DNS service pro As the table illustrates, you need to create 2 subdomains (`matrix.example.com` and `element.example.com`) and point both of them to your server's IPv4/IPv6 address. -If you don't have IPv6 connectivity yet, you can skip the `AAAA` record. For more details about IPv6, see the [Configuring IPv6](./configuring-playbook-ipv6.md) documentation page. +If you don't have IPv6 connectivity yet, you can skip the `AAAA` record. For more details about IPv6, see the [Configuring IPv6](./configuring-ipv6.md) documentation page. It might take some time for the DNS records to propagate after creation. diff --git a/examples/vars.yml b/examples/vars.yml index c3d1faa85..b5e0b0a35 100644 --- a/examples/vars.yml +++ b/examples/vars.yml @@ -42,7 +42,7 @@ matrix_playbook_reverse_proxy_type: playbook-managed-traefik # # People managing Docker themselves and running an older Docker version will need additional configuration. # -# Learn more in `docs/configuring-playbook-ipv6.md`. +# Learn more in `docs/configuring-ipv6.md`. devture_systemd_docker_base_ipv6_enabled: true # A Postgres password to use for the superuser Postgres user (called `matrix` by default). From 52c75604c1f72068732f989bfa3afc8fee3b345b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 9 Mar 2025 01:37:42 +0000 Subject: [PATCH 697/841] Update dependency setuptools to v75.9.0 --- i18n/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/requirements.txt b/i18n/requirements.txt index c82e718f9..5489ef425 100644 --- a/i18n/requirements.txt +++ b/i18n/requirements.txt @@ -17,7 +17,7 @@ packaging==24.2 Pygments==2.19.1 PyYAML==6.0.2 requests==2.32.3 -setuptools==75.8.2 +setuptools==75.9.0 snowballstemmer==2.2.0 Sphinx==8.2.3 sphinx-intl==2.3.1 From 90d83bb5bceeafa629a8673b9f4e36e7059d6423 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 9 Mar 2025 12:59:31 +0900 Subject: [PATCH 698/841] Update docs/configuring-playbook-email.md: minor edit Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-email.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/configuring-playbook-email.md b/docs/configuring-playbook-email.md index 658f66394..2ab5fcdb9 100644 --- a/docs/configuring-playbook-email.md +++ b/docs/configuring-playbook-email.md @@ -31,7 +31,7 @@ By default, exim-relay attempts to deliver emails directly. This may or may not To improve email deliverability, you can configure authentication methods such as DKIM (DomainKeys Identified Mail), SPF, and DMARC for your domain. Without setting any of these authentication methods, your outgoing email is most likely to be quarantined as spam at recipient's mail servers. -For details about configuring DKIM, refer [this section](https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay/blob/main/docs/configuring-exim-relay.md#enable-dkim-support-optional) on the role's document. +For details about configuring DKIM, refer [this section](https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay/blob/main/docs/configuring-exim-relay.md#enable-dkim-support-optional) on the role's documentation. 💡 If you cannot enable DKIM, SPF, or DMARC on your domain for some reason, we recommend relaying email through another SMTP server. From 74b85d5b8773a75732ff0cca0bf4a326ea015920 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 9 Mar 2025 05:19:13 +0000 Subject: [PATCH 699/841] Update dependency setuptools to v75.9.1 --- i18n/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/requirements.txt b/i18n/requirements.txt index 5489ef425..3031fc5d7 100644 --- a/i18n/requirements.txt +++ b/i18n/requirements.txt @@ -17,7 +17,7 @@ packaging==24.2 Pygments==2.19.1 PyYAML==6.0.2 requests==2.32.3 -setuptools==75.9.0 +setuptools==75.9.1 snowballstemmer==2.2.0 Sphinx==8.2.3 sphinx-intl==2.3.1 From bd073bca742d98cd0254d2a5cf76b92a2bc60621 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sun, 9 Mar 2025 16:03:15 +0200 Subject: [PATCH 700/841] Remove `/etc/docker/daemon.json` when no Docker options are set anymore --- group_vars/matrix_servers | 2 ++ .../docker_daemon_options_file_cleanup.yml | 20 +++++++++++++++++++ .../matrix_playbook_migration/tasks/main.yml | 9 +++++++++ 3 files changed, 31 insertions(+) create mode 100644 roles/custom/matrix_playbook_migration/tasks/docker_daemon_options_file_cleanup.yml diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index 7031927ee..45b5625b3 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -21,6 +21,8 @@ matrix_playbook_docker_installation_enabled: true matrix_playbook_docker_installation_daemon_options: "{{ matrix_playbook_docker_installation_daemon_options_auto | combine(matrix_playbook_docker_installation_daemon_options_custom, recursive=True) }}" +matrix_playbook_docker_installation_daemon_options_file_path: /etc/docker/daemon.json + # Since Docker 27.0.1, Docker daemon options do not need to be changed to enable IPv6 support on the daemon side. # See: https://docs.docker.com/engine/release-notes/27/#ipv6 # We only enable `ip6tables` and `experimental` for people who explicitly request it (perhaps due to running an old Docker version). diff --git a/roles/custom/matrix_playbook_migration/tasks/docker_daemon_options_file_cleanup.yml b/roles/custom/matrix_playbook_migration/tasks/docker_daemon_options_file_cleanup.yml new file mode 100644 index 000000000..9018d4a29 --- /dev/null +++ b/roles/custom/matrix_playbook_migration/tasks/docker_daemon_options_file_cleanup.yml @@ -0,0 +1,20 @@ +--- + +# ansible-role-docker creates the Docker daemon options file (`/etc/docker/daemon.json`) when options are set +# via `matrix_playbook_docker_installation_daemon_options` (which influences the `docker_daemon_options` variable of the role). +# See: https://github.com/geerlingguy/ansible-role-docker/blob/acade8d01f11bcd5efecba6d8211138d7567ce4b/tasks/main.yml#L53-L66 +# +# However, it doesn't delete the file when the options list is empty. +# +# This means that people who previously force-disabled IPv6 (and injected `{'ipv6': false}` options, etc) +# or had some other custom options had that file created for them. +# Later, when they stopped setting these options, they were stuck with the configuration file that still retained them. +# +# Here, we make the file go away of no options are set. +# Idealy, this task would be part of the `ansible-role-docker` role, but it's not (yet). +- name: Ensure the Docker daemon options file is deleted when no longer needed + when: matrix_playbook_docker_installation_daemon_options.keys() | length == 0 + ansible.builtin.file: + path: "{{ matrix_playbook_docker_installation_daemon_options_file_path }}" + state: absent + notify: restart docker diff --git a/roles/custom/matrix_playbook_migration/tasks/main.yml b/roles/custom/matrix_playbook_migration/tasks/main.yml index c11dbcb5b..a4ccb8e3c 100644 --- a/roles/custom/matrix_playbook_migration/tasks/main.yml +++ b/roles/custom/matrix_playbook_migration/tasks/main.yml @@ -28,6 +28,15 @@ block: - ansible.builtin.include_tasks: "{{ role_path }}/tasks/debian_docker_trusted_gpg_d_migration_migration.yml" +- when: matrix_playbook_docker_installation_enabled | bool + tags: + - setup-all + - install-all + - setup-docker + - install-docker + block: + - ansible.builtin.include_tasks: "{{ role_path }}/tasks/docker_daemon_options_file_cleanup.yml" + - tags: - setup-all - install-all From e33ed912cbda8b75f79bbc209aea140fbab9f8f1 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sun, 9 Mar 2025 16:04:18 +0200 Subject: [PATCH 701/841] Reorder `matrix_playbook_docker_installation_daemon_options*` variables a bit --- group_vars/matrix_servers | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index 45b5625b3..cc7a09de6 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -21,8 +21,6 @@ matrix_playbook_docker_installation_enabled: true matrix_playbook_docker_installation_daemon_options: "{{ matrix_playbook_docker_installation_daemon_options_auto | combine(matrix_playbook_docker_installation_daemon_options_custom, recursive=True) }}" -matrix_playbook_docker_installation_daemon_options_file_path: /etc/docker/daemon.json - # Since Docker 27.0.1, Docker daemon options do not need to be changed to enable IPv6 support on the daemon side. # See: https://docs.docker.com/engine/release-notes/27/#ipv6 # We only enable `ip6tables` and `experimental` for people who explicitly request it (perhaps due to running an old Docker version). @@ -38,6 +36,8 @@ matrix_playbook_docker_installation_daemon_options_auto: | matrix_playbook_docker_installation_daemon_options_custom: {} +matrix_playbook_docker_installation_daemon_options_file_path: /etc/docker/daemon.json + # Controls whether to attach Traefik labels to services. # This is separate from `traefik_enabled`, because you may wish to disable Traefik installation by the playbook, # yet still use Traefik installed in another way. From 6d6fd4bf85ca8108d7d3c6e8af6e040e0e77bc57 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sun, 9 Mar 2025 16:07:01 +0200 Subject: [PATCH 702/841] Add license information to `roles/custom/matrix_playbook_migration/tasks/docker_daemon_options_file_cleanup.yml` --- .../tasks/docker_daemon_options_file_cleanup.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/roles/custom/matrix_playbook_migration/tasks/docker_daemon_options_file_cleanup.yml b/roles/custom/matrix_playbook_migration/tasks/docker_daemon_options_file_cleanup.yml index 9018d4a29..a721412c2 100644 --- a/roles/custom/matrix_playbook_migration/tasks/docker_daemon_options_file_cleanup.yml +++ b/roles/custom/matrix_playbook_migration/tasks/docker_daemon_options_file_cleanup.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2025 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + --- # ansible-role-docker creates the Docker daemon options file (`/etc/docker/daemon.json`) when options are set From 35dd8e46cd66921c21e9c1c921fe29403b1cc611 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sun, 9 Mar 2025 16:22:46 +0200 Subject: [PATCH 703/841] Adjust `/etc/docker/daemon.json` cleanup comment with link to ansible-role-docker PR --- .../tasks/docker_daemon_options_file_cleanup.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/roles/custom/matrix_playbook_migration/tasks/docker_daemon_options_file_cleanup.yml b/roles/custom/matrix_playbook_migration/tasks/docker_daemon_options_file_cleanup.yml index a721412c2..e7636161e 100644 --- a/roles/custom/matrix_playbook_migration/tasks/docker_daemon_options_file_cleanup.yml +++ b/roles/custom/matrix_playbook_migration/tasks/docker_daemon_options_file_cleanup.yml @@ -16,6 +16,7 @@ # # Here, we make the file go away of no options are set. # Idealy, this task would be part of the `ansible-role-docker` role, but it's not (yet). +# See: https://github.com/geerlingguy/ansible-role-docker/pull/498 - name: Ensure the Docker daemon options file is deleted when no longer needed when: matrix_playbook_docker_installation_daemon_options.keys() | length == 0 ansible.builtin.file: From 87bdaf5bfebd1ef5a6ad60afa5404e31ea653697 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 9 Mar 2025 14:24:52 +0000 Subject: [PATCH 704/841] Update dependency setuptools to v76 --- i18n/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/requirements.txt b/i18n/requirements.txt index 3031fc5d7..35addfe1e 100644 --- a/i18n/requirements.txt +++ b/i18n/requirements.txt @@ -17,7 +17,7 @@ packaging==24.2 Pygments==2.19.1 PyYAML==6.0.2 requests==2.32.3 -setuptools==75.9.1 +setuptools==76.0.0 snowballstemmer==2.2.0 Sphinx==8.2.3 sphinx-intl==2.3.1 From c291d53d3ea1fbd12096b907fc64334f2c1c9f38 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 9 Mar 2025 16:27:49 +0000 Subject: [PATCH 705/841] Update docs/configuring-playbook-prometheus-grafana.md: warning message (#4159) --- docs/configuring-playbook-prometheus-grafana.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/configuring-playbook-prometheus-grafana.md b/docs/configuring-playbook-prometheus-grafana.md index 6a32b5ab1..c426af8ff 100644 --- a/docs/configuring-playbook-prometheus-grafana.md +++ b/docs/configuring-playbook-prometheus-grafana.md @@ -6,7 +6,7 @@ SPDX-FileCopyrightText: 2021 Kim Brose SPDX-FileCopyrightText: 2021 Luca Di Carlo SPDX-FileCopyrightText: 2022 Olivér Falvai SPDX-FileCopyrightText: 2023 Michael Hollister -SPDX-FileCopyrightText: 2024 Suguru Hirahara +SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara SPDX-License-Identifier: AGPL-3.0-or-later --> @@ -16,9 +16,9 @@ SPDX-License-Identifier: AGPL-3.0-or-later The playbook can install [Prometheus](https://prometheus.io/) with [Grafana](https://grafana.com/) and configure performance metrics of your homeserver with graphs for you. > [!WARNING] -> Metrics and resulting graphs can contain a lot of information. This includes system specs but also usage patterns. This applies especially to small personal/family scale homeservers. Someone might be able to figure out when you wake up and go to sleep by looking at the graphs over time. Think about this before enabling (anonymous) access. And you should really not forget to change your Grafana password. +> Metrics and graphs contain a lot of information, and anyone who has access to them can make an educated guess about your server usage patterns. This especially applies to small personal/family scale homeservers, where the number of samples is fairly limited. Analyzing the metrics over time, one might be able to figure out your life cycle, such as when you wake up, go to bed, etc. Before enabling (anonymous) access, you should carefully evaluate the risk, and if you do enable it, it is highly recommended to change your Grafana password from the default one. > -> Most of our docker containers run with limited system access, but the `prometheus-node-exporter` has access to the host network stack and (readonly) root filesystem. This is required to report on them. If you don't like that, you can set `prometheus_node_exporter_enabled: false` (which is actually the default). You will still get Synapse metrics with this container disabled. Both of the dashboards will always be enabled, so you can still look at historical data after disabling either source. +> Most of our Docker containers run with limited system access, but the `prometheus-node-exporter` can access the host network stack and (readonly) root filesystem. If it is fine, you can enable it and have it capture metrics about them (see [below](#enable-metrics-and-graphs-for-generic-system-information-optional) for the instruction). Even if `prometheus-node-exporter` is not enabled, you will still get Synapse homeserver metrics. Note that both of these dashboards are always be enabled, so you can still see historical data even after disabling either source. ## Adjusting DNS records From 82c5afd214fc7429b5a707e63b25eaef1ba95a60 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Mon, 10 Mar 2025 07:08:49 +0200 Subject: [PATCH 706/841] Upgrade ntfy (v2.11.0-3 -> v2.11.0-4) --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 46fc6f727..55bf8c9a5 100644 --- a/requirements.yml +++ b/requirements.yml @@ -28,7 +28,7 @@ version: v10078-1-0 name: jitsi - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-ntfy.git - version: v2.11.0-3 + version: v2.11.0-4 name: ntfy - src: git+https://github.com/devture/com.devture.ansible.role.playbook_help.git version: 201c939eed363de269a83ba29784fc3244846048 From 7e24667fc7817e56e9219984786e42d6341c897c Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Mon, 10 Mar 2025 07:14:50 +0200 Subject: [PATCH 707/841] Upgrade traefik-certs-dumper (v2.8.3-7 -> v2.10.0-0) --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 55bf8c9a5..556634277 100644 --- a/requirements.yml +++ b/requirements.yml @@ -67,7 +67,7 @@ version: v3.3.4-0 name: traefik - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-traefik-certs-dumper.git - version: v2.8.3-7 + version: v2.10.0-0 name: traefik_certs_dumper - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-valkey.git version: v8.0.1-3 From fe71555dbcd62727ad9a969c608620009e5db984 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 10 Mar 2025 08:36:17 +0000 Subject: [PATCH 708/841] Update docs: configuring-playbook-ntfy.md and others (#4160) * Update docs/configuring-playbook-ntfy.md: adopt the same description format as documentation for Jitsi and Etherpad Signed-off-by: Suguru Hirahara * Update docs/configuring-playbook-ntfy.md: introduction and other edits Signed-off-by: Suguru Hirahara * Update docs/configuring-playbook-ntfy.md: fix the link to the ansible-role-ntfy's documentation Signed-off-by: Suguru Hirahara * Update docs/configuring-playbook-ntfy.md: edit the list item Signed-off-by: Suguru Hirahara * Update docs/configuring-playbook-ntfy.md: the section for the web app Signed-off-by: Suguru Hirahara * Update docs/configuring-playbook-ntfy.md: re-add the note about subscribing to a notification topic Signed-off-by: Suguru Hirahara * Update docs: links to MASH project and its components Signed-off-by: Suguru Hirahara * Update docs/configuring-playbook-ntfy.md Co-authored-by: Slavi Pantaleev * Update docs/configuring-playbook-ntfy.md: create a section for the web app - Remove the reasoning on why the web app is disabled by default as it is uncommon among the playbook's documentation - Add the link to the official documentation about using the web app Signed-off-by: Suguru Hirahara --------- Signed-off-by: Suguru Hirahara Co-authored-by: Suguru Hirahara Co-authored-by: Slavi Pantaleev --- docs/configuring-playbook-backup-borg.md | 2 +- docs/configuring-playbook-email.md | 2 +- docs/configuring-playbook-etherpad.md | 3 +- docs/configuring-playbook-jitsi.md | 2 +- docs/configuring-playbook-ntfy.md | 92 ++++++++++---------- docs/configuring-playbook-postgres-backup.md | 2 +- 6 files changed, 52 insertions(+), 51 deletions(-) diff --git a/docs/configuring-playbook-backup-borg.md b/docs/configuring-playbook-backup-borg.md index dabb8911c..b21c66ad1 100644 --- a/docs/configuring-playbook-backup-borg.md +++ b/docs/configuring-playbook-backup-borg.md @@ -14,6 +14,6 @@ The playbook can install and configure [BorgBackup](https://www.borgbackup.org/) BorgBackup is a deduplicating backup program with optional compression and encryption. That means your daily incremental backups can be stored in a fraction of the space and is safe whether you store it at home or on a cloud service. -The Ansible role for BorgBackup is developed and maintained by [the MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg). For details about configuring BorgBackup, you can check them via: +The [Ansible role for BorgBackup](https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg) is developed and maintained by [the MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting). For details about configuring BorgBackup, you can check them via: - 🌐 [the role's documentation at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg/blob/main/docs/configuring-backup-borg.md) online - 📁 `roles/galaxy/backup_borg/docs/configuring-backup-borg.md` locally, if you have [fetched the Ansible roles](installing.md#update-ansible-roles) diff --git a/docs/configuring-playbook-email.md b/docs/configuring-playbook-email.md index 2ab5fcdb9..5fcc4d820 100644 --- a/docs/configuring-playbook-email.md +++ b/docs/configuring-playbook-email.md @@ -13,7 +13,7 @@ By default, this playbook sets up an [Exim](https://www.exim.org/) relay SMTP ma **With the default setting, exim-relay attempts to deliver emails directly with the address `matrix@matrix.example.com`**, as specified by the `exim_relay_sender_address` playbook variable. See below if you want to configure the playbook to relay email through another SMTP server. -The Ansible role for exim-relay is developed and maintained by [the MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay). For details about configuring exim-relay, you can check them via: +The [Ansible role for exim-relay](https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay) is developed and maintained by [the MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting). For details about configuring exim-relay, you can check them via: - 🌐 [the role's documentation at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay/blob/main/docs/configuring-exim-relay.md) online - 📁 `roles/galaxy/exim_relay/docs/configuring-exim-relay.md` locally, if you have [fetched the Ansible roles](installing.md#update-ansible-roles) diff --git a/docs/configuring-playbook-etherpad.md b/docs/configuring-playbook-etherpad.md index 5c414cb00..30b204004 100644 --- a/docs/configuring-playbook-etherpad.md +++ b/docs/configuring-playbook-etherpad.md @@ -18,7 +18,8 @@ Etherpad is an open source collaborative text editor. It can not only be integra When enabled together with the Jitsi video-conferencing platform (see [our docs on Jitsi](configuring-playbook-jitsi.md)), it will be made available as an option during the conferences. -The Ansible role for Etherpad is developed and maintained by the [MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting/ansible-role-etherpad). For details about configuring Etherpad, you can check them via: +The [Ansible role for Etherpad](https://github.com/mother-of-all-self-hosting/ansible-role-etherpad) is developed and maintained by [the MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting). For details about configuring Etherpad, you can check them via: + - 🌐 [the role's documentation at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-etherpad/blob/main/docs/configuring-etherpad.md) online - 📁 `roles/galaxy/etherpad/docs/configuring-etherpad.md` locally, if you have [fetched the Ansible roles](installing.md#update-ansible-roles) diff --git a/docs/configuring-playbook-jitsi.md b/docs/configuring-playbook-jitsi.md index 5141cf3bb..59fd6b6c4 100644 --- a/docs/configuring-playbook-jitsi.md +++ b/docs/configuring-playbook-jitsi.md @@ -20,7 +20,7 @@ The playbook can install and configure the [Jitsi](https://jitsi.org/) video-con Jitsi is an open source video-conferencing platform. It can not only be integrated with Element clients ([Element Web](configuring-playbook-client-element-web.md)/Desktop, Android and iOS) as a widget, but also be used as standalone web app. -The Ansible role for Jitsi is developed and maintained by [the MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi). For details about configuring Jitsi, you can check them via: +The [Ansible role for Jitsi](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi) is developed and maintained by [the MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting). For details about configuring Jitsi, you can check them via: - 🌐 [the role's documentation at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md) online - 📁 `roles/galaxy/jitsi/docs/configuring-jitsi.md` locally, if you have [fetched the Ansible roles](installing.md#update-ansible-roles) diff --git a/docs/configuring-playbook-ntfy.md b/docs/configuring-playbook-ntfy.md index 47c7d953a..b70e1212e 100644 --- a/docs/configuring-playbook-ntfy.md +++ b/docs/configuring-playbook-ntfy.md @@ -14,9 +14,15 @@ The playbook can install and configure the [ntfy](https://ntfy.sh/) push notific Using the [UnifiedPush](https://unifiedpush.org) standard, ntfy enables self-hosted (Google-free) push notifications from Matrix (and other) servers to UnifiedPush-compatible Matrix compatible client apps running on Android and other devices. -This role is intended to support UnifiedPush notifications for use with the Matrix and Matrix-related services that this playbook installs. This role is not intended to support all of ntfy's other features. +See the project's [documentation](https://docs.ntfy.sh/) to learn what it does and why it might be useful to you. -**Note**: In contrast to push notifications using Google's FCM or Apple's APNs, the use of UnifiedPush allows each end-user to choose the push notification server that they prefer. As a consequence, deploying this ntfy server does not by itself ensure any particular user or device or client app will use it. +**Notes**: +- To make use of your ntfy installation, you need to install [the `ntfy` app](https://docs.ntfy.sh/subscribe/phone/) on your device and configuring your UnifiedPush-compatible Matrix client. **Otherwise your device will not receive push notifications from the ntfy server.** Refer [this section](#usage) for details. +- This playbook focuses on setting up a ntfy server for getting it send UnifiedPush notifications to Matrix-related services that this playbook installs, while the installed server will be available for other non-Matrix apps as well like [Tusky](https://tusky.app/) and [DAVx⁵](https://www.davx5.com/). This playbook does not intend to support all of ntfy's features. + +The [Ansible role for ntfy](https://github.com/mother-of-all-self-hosting/ansible-role-ntfy) is developed and maintained by [the MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting). For details about configuring ntfy, you can check them via: +- 🌐 [the role's documentation at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-ntfy/blob/main/docs/configuring-ntfy.md) online +- 📁 `roles/galaxy/ntfy/docs/configuring-ntfy.md` locally, if you have [fetched the Ansible roles](installing.md#update-ansible-roles) ## Adjusting DNS records @@ -29,13 +35,25 @@ When setting, replace `example.com` with your own. To enable ntfy, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: ```yaml -# Enabling it is the only required setting +######################################################################## +# # +# ntfy # +# # +######################################################################## + ntfy_enabled: true -# Uncomment to enable the ntfy web app (disabled by default) -# ntfy_web_root: app # defaults to "disable" +######################################################################## +# # +# /ntfy # +# # +######################################################################## ``` +As the most of the necessary settings for the role have been taken care of by the playbook, you can enable ntfy on your Matrix server with this minimum configuration. + +See the role's documentation for details about configuring ntfy per your preference (such as [setting access control with authentication](https://github.com/mother-of-all-self-hosting/ansible-role-ntfy/blob/main/docs/configuring-ntfy.md#enable-access-control-with-authentication-optional)). + ### Adjusting the ntfy URL (optional) By tweaking the `ntfy_hostname` variable, you can easily make the service available at a **different hostname** than the default one. @@ -49,15 +67,17 @@ ntfy_hostname: push.example.com After changing the domain, **you may need to adjust your DNS** records to point the ntfy domain to the Matrix server. -### Extending the configuration +### Enable web app (optional) -There are some additional things you may wish to configure about the component. +ntfy also has a web app to subscribe to and push to topics from the browser. This may be helpful to troubleshoot notification issues or to use ntfy for other purposes than getting ntfy send UnifiedPush notifications to your Matrix-related services. -Take a look at: +To enable the web app, add the following configuration to your `vars.yml` file: -- [ntfy role](https://github.com/mother-of-all-self-hosting/ansible-role-ntfy)'s [`defaults/main.yml`](https://github.com/mother-of-all-self-hosting/ansible-role-ntfy/blob/main/defaults/main.yml) for some variables that you can customize via your `vars.yml` file. You can override settings (even those that don't have dedicated playbook variables) using the `ntfy_configuration_extension_yaml` variable +```yaml +ntfy_web_root: app +``` -For a complete list of ntfy config options that you could put in `ntfy_configuration_extension_yaml`, see the [ntfy config documentation](https://ntfy.sh/docs/config/#config-options). +See [the official documentation](https://docs.ntfy.sh/subscribe/web/) for details about how to use it. ## Installing @@ -74,29 +94,24 @@ The shortcut commands with the [`just` program](just.md) are also available: `ju ## Usage -To make use of your ntfy installation, on Android for example, you need two things: +Unlike push notifications using Google's FCM or Apple's APNs, each end-user can choose the UnifiedPush-enabled push notification server that one prefer. This means that deploying a ntfy server does not ensure any particular user, device or Matrix client will use it. -* the `ntfy` app -* a UnifiedPush-compatible Matrix app +To receive push notifications from your ntfy server, you need to set up these two applications on your device: -You need to install the `ntfy` app on each device on which you want to receive push notifications through your ntfy server. The `ntfy` app will provide UnifiedPush notifications to any number of UnifiedPush-compatible messaging apps installed on the same device. +* [the `ntfy` app](https://docs.ntfy.sh/subscribe/phone/) +* a UnifiedPush-compatible Matrix client -### Setting up the `ntfy` Android app +For details about installing and configuring the `ntfy` app, take a look at [this section](https://github.com/mother-of-all-self-hosting/ansible-role-ntfy/blob/main/docs/configuring-ntfy.md#setting-up-the-ntfy-android-app) on the role's documentation. -1. Install the [ntfy Android app](https://ntfy.sh/docs/subscribe/phone/) from F-droid or Google Play. -2. In its Settings -> `General: Default server`, enter your ntfy server URL, such as `https://ntfy.example.com`. -3. In its Settings -> `Advanced: Connection protocol`, choose `WebSockets`. +**Note**: on the app you do not need to subscribe to a notification topic by yourself, as UnifiedPush will do that automatically. -That is all you need to do in the ntfy app. It has many other features, but for our purposes you can ignore them. In particular you do not need to follow any instructions about subscribing to a notification topic as UnifiedPush will do that automatically. +### Setting up a UnifiedPush-compatible Matrix client -### Setting up a UnifiedPush-compatible Matrix app +After installing the `ntfy` app, install any UnifiedPush-enabled Matrix client on that same device. The Matrix client will learn from the `ntfy` app that you have configured UnifiedPush on this device, and then it will tell your Matrix server to use it. -Install any UnifiedPush-enabled Matrix app on that same device. The Matrix app will learn from the `ntfy` app that you have configured UnifiedPush on this device, and then it will tell your Matrix server to use it. +Steps needed for specific Matrix clients: -Steps needed for specific Matrix apps: - -* FluffyChat-android: - - Should auto-detect and use it. No manual settings. +* FluffyChat-android: this should auto-detect and use the app. No manual settings required. * SchildiChat-android: 1. enable `Settings` -> `Notifications` -> `UnifiedPush: Force custom push gateway`. @@ -107,23 +122,17 @@ Steps needed for specific Matrix apps: 1. choose `Settings` -> `Notifications` -> `Notification method` -> `ntfy` 2. verify `Settings` -> `Troubleshoot` -> `Troubleshoot notification settings` -If the Matrix app asks, "Choose a distributor: FCM Fallback or ntfy", then choose "ntfy". +If the Matrix client asks, "Choose a distributor: FCM Fallback or ntfy", then choose "ntfy". -If the Matrix app doesn't seem to pick it up, try restarting it and try the Troubleshooting section below. - -### Web App - -ntfy also has a web app to subscribe to and push to topics from the browser. This may be helpful to further troubleshoot UnifiedPush problems or to use ntfy for other purposes. The web app only runs in the browser locally (after downloading the JavaScript). - -The web app is disabled in this playbook by default as the expectation is that most users won't use it. You can either use the [official hosted one](https://ntfy.sh/app) (it supports using other public reachable ntfy instances) or host it yourself by setting `ntfy_web_root: "app"` and re-running Ansible. +If the Matrix client doesn't seem to pick it up, try restarting it and try the Troubleshooting section below. ## Troubleshooting -### Check a client application +### Check the Matrix client -First check that the Matrix client app you are using supports UnifiedPush. There may well be different variants of the app. +First, make sure that the Matrix client you are using supports UnifiedPush. There may well be different variants of the app. -To check if UnifiedPush is correctly configured on the client device, look at "Settings -> Notifications -> Notification Targets" in Element Android or SchildiChat Android, or "Settings -> Notifications -> Devices" in FluffyChat. There should be one entry for each Matrix client app that has enabled push notifications, and when that client is using UnifiedPush you should see a URL that begins with your ntfy server's URL. +To check if UnifiedPush is correctly configured on the client device, look at "Settings -> Notifications -> Notification Targets" in Element Android or SchildiChat Android, or "Settings -> Notifications -> Devices" in FluffyChat. There should be one entry for each Matrix client that has enabled push notifications, and when that client is using UnifiedPush you should see a URL that begins with your ntfy server's URL. In the "Notification Targets" screen in Element Android or SchildiChat Android, two relevant URLs are shown, "push\_key" and "Url", and both should begin with your ntfy server's URL. If "push\_key" shows your server but "Url" shows an external server such as `up.schildi.chat` then push notifications will still work but are being routed through that external server before they reach your ntfy server. To rectify that, in SchildiChat (at least around version 1.4.20.sc55) you must enable the `Force custom push gateway` setting as described in the "Usage" section above. @@ -133,13 +142,4 @@ The simple [UnifiedPush troubleshooting](https://unifiedpush.org/users/troublesh ### Check the service's logs -As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-ntfy`. - -#### Increase logging verbosity - -If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook: - -```yaml -ntfy_configuration_extension_yaml: | - log_level: DEBUG -``` +See [this section](https://github.com/mother-of-all-self-hosting/ansible-role-etherpad/blob/main/docs/configuring-etherpad.md#check-the-service-s-logs) on the role's documentation for details. diff --git a/docs/configuring-playbook-postgres-backup.md b/docs/configuring-playbook-postgres-backup.md index 10c65643a..d5bd0fc87 100644 --- a/docs/configuring-playbook-postgres-backup.md +++ b/docs/configuring-playbook-postgres-backup.md @@ -10,7 +10,7 @@ SPDX-License-Identifier: AGPL-3.0-or-later The playbook can install and configure [docker-postgres-backup-local](https://github.com/prodrigestivill/docker-postgres-backup-local) for you. -The Ansible role for docker-postgres-backup-local is developed and maintained by [the MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting/ansible-role-postgres-backup). For details about configuring docker-postgres-backup-local, you can check them via: +The [Ansible role for docker-postgres-backup-local](https://github.com/mother-of-all-self-hosting/ansible-role-postgres-backup) is developed and maintained by [the MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting). For details about configuring docker-postgres-backup-local, you can check them via: - 🌐 [the role's documentation at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-postgres-backup/blob/main/docs/configuring-postgres-backup.md) online - 📁 `roles/galaxy/postgres_backup/docs/configuring-postgres-backup.md` locally, if you have [fetched the Ansible roles](installing.md#update-ansible-roles) From 96adaf9916714606ce6c58b50802e7d72962d91d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 10 Mar 2025 08:36:54 +0000 Subject: [PATCH 709/841] Update ghcr.io/matrix-org/rageshake Docker tag to v1.15.0 --- roles/custom/matrix-rageshake/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-rageshake/defaults/main.yml b/roles/custom/matrix-rageshake/defaults/main.yml index 38a9cf17a..a643619ae 100644 --- a/roles/custom/matrix-rageshake/defaults/main.yml +++ b/roles/custom/matrix-rageshake/defaults/main.yml @@ -24,7 +24,7 @@ matrix_rageshake_path_prefix: / # There are no stable container image tags yet. # See: https://github.com/matrix-org/rageshake/issues/69 # renovate: datasource=docker depName=ghcr.io/matrix-org/rageshake -matrix_rageshake_version: 1.14.0 +matrix_rageshake_version: 1.15.0 matrix_rageshake_base_path: "{{ matrix_base_data_path }}/rageshake" matrix_rageshake_config_path: "{{ matrix_rageshake_base_path }}/config" From ccab72aa2e883ed4728fa8c3cfc499ed6faacecb Mon Sep 17 00:00:00 2001 From: Aine Date: Mon, 10 Mar 2025 17:59:07 +0200 Subject: [PATCH 710/841] Postmoogle v0.9.25 --- roles/custom/matrix-bridge-postmoogle/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-bridge-postmoogle/defaults/main.yml b/roles/custom/matrix-bridge-postmoogle/defaults/main.yml index 930225bd2..40013eb8d 100644 --- a/roles/custom/matrix-bridge-postmoogle/defaults/main.yml +++ b/roles/custom/matrix-bridge-postmoogle/defaults/main.yml @@ -18,7 +18,7 @@ matrix_postmoogle_docker_repo_version: "{{ 'main' if matrix_postmoogle_version = matrix_postmoogle_docker_src_files_path: "{{ matrix_base_data_path }}/postmoogle/docker-src" # renovate: datasource=docker depName=ghcr.io/etkecc/postmoogle -matrix_postmoogle_version: v0.9.24 +matrix_postmoogle_version: v0.9.25 matrix_postmoogle_docker_image: "{{ matrix_postmoogle_docker_image_registry_prefix }}etkecc/postmoogle:{{ matrix_postmoogle_version }}" matrix_postmoogle_docker_image_registry_prefix: "{{ 'localhost/' if matrix_postmoogle_container_image_self_build else matrix_postmoogle_docker_image_registry_prefix_upstream }}" matrix_postmoogle_docker_image_registry_prefix_upstream: "{{ matrix_postmoogle_docker_image_registry_prefix_upstream_default }}" From 1313f1e4149218b4d20ff01e795daedfd32c7a39 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Tue, 11 Mar 2025 19:05:18 +0200 Subject: [PATCH 711/841] Make base domain root path redirect also handle URLs with query strings (passing them along) Previously `https://example.com` and `https://example.com/` would be redirected to `https://matrix.example.com`. However, `https://example.com/?something` was not handled and was tried to be served as a file by matrix-static-files for this base domain. From now on, paths containing query strings will be handled as well and the query string will be passed along. Example: `https://example.com/?something` -> `https://matrix.example.com/?something` --- group_vars/matrix_servers | 2 +- roles/custom/matrix-static-files/defaults/main.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index cc7a09de6..f3eca1dc7 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -6094,7 +6094,7 @@ matrix_static_files_container_labels_base_domain_traefik_hostname: "{{ matrix_do # If we're not serving a static webpage, serve a redirect instead of a 404. matrix_static_files_container_labels_base_domain_root_path_redirection_enabled: "{{ not matrix_static_files_file_index_html_enabled }}" -matrix_static_files_container_labels_base_domain_root_path_redirection_url: "{{ ('https://' if matrix_playbook_ssl_enabled else 'http://') + matrix_server_fqn_matrix }}" +matrix_static_files_container_labels_base_domain_root_path_redirection_url: "{{ ('https://' if matrix_playbook_ssl_enabled else 'http://') + matrix_server_fqn_matrix }}/${1}" matrix_static_files_file_matrix_client_property_io_element_jitsi_preferred_domain: "{{ matrix_server_fqn_jitsi if jitsi_enabled else '' }}" diff --git a/roles/custom/matrix-static-files/defaults/main.yml b/roles/custom/matrix-static-files/defaults/main.yml index 045d28b70..38d014157 100644 --- a/roles/custom/matrix-static-files/defaults/main.yml +++ b/roles/custom/matrix-static-files/defaults/main.yml @@ -91,7 +91,7 @@ matrix_static_files_container_labels_base_domain_traefik_tls: "{{ matrix_static_ matrix_static_files_container_labels_base_domain_traefik_tls_certResolver: "{{ matrix_static_files_container_labels_traefik_tls_certResolver }}" # noqa var-naming # Controls whether the root path (/) at the base domain would respond with a redirect to some URL. matrix_static_files_container_labels_base_domain_root_path_redirection_enabled: false -matrix_static_files_container_labels_base_domain_root_path_redirection_regex: "^{{ matrix_static_files_scheme }}://{{ matrix_static_files_container_labels_base_domain_traefik_hostname }}{{ matrix_static_files_container_labels_base_domain_traefik_path_prefix }}$" +matrix_static_files_container_labels_base_domain_root_path_redirection_regex: "^{{ matrix_static_files_scheme }}://{{ matrix_static_files_container_labels_base_domain_traefik_hostname }}{{ matrix_static_files_container_labels_base_domain_traefik_path_prefix }}(\\?.*)?$" matrix_static_files_container_labels_base_domain_root_path_redirection_url: "" # matrix_static_files_container_labels_additional_labels contains a multiline string with additional labels to add to the container label file. From 178f7a9fffc3264553d1c17c83df05d33a263817 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Tue, 11 Mar 2025 19:14:08 +0200 Subject: [PATCH 712/841] Upgrade Element Web (v1.11.94 -> v1.11.95) --- roles/custom/matrix-client-element/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-client-element/defaults/main.yml b/roles/custom/matrix-client-element/defaults/main.yml index 237214cf1..ccd9c3c3f 100644 --- a/roles/custom/matrix-client-element/defaults/main.yml +++ b/roles/custom/matrix-client-element/defaults/main.yml @@ -29,7 +29,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 }}" # renovate: datasource=docker depName=ghcr.io/element-hq/element-web -matrix_client_element_version: v1.11.94 +matrix_client_element_version: v1.11.95 matrix_client_element_docker_image: "{{ matrix_client_element_docker_image_registry_prefix }}element-hq/element-web:{{ matrix_client_element_version }}" matrix_client_element_docker_image_registry_prefix: "{{ 'localhost/' if matrix_client_element_container_image_self_build else matrix_client_element_docker_image_registry_prefix_upstream }}" From bda63024ee9e879abcd5e439dd7d2dfee4d17e33 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Tue, 11 Mar 2025 19:14:37 +0200 Subject: [PATCH 713/841] Upgrade Synapse (v1.125.0 -> v1.126.0) --- roles/custom/matrix-synapse/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-synapse/defaults/main.yml b/roles/custom/matrix-synapse/defaults/main.yml index 7742f4764..9a99d5cd1 100644 --- a/roles/custom/matrix-synapse/defaults/main.yml +++ b/roles/custom/matrix-synapse/defaults/main.yml @@ -16,7 +16,7 @@ matrix_synapse_enabled: true matrix_synapse_github_org_and_repo: element-hq/synapse # renovate: datasource=docker depName=ghcr.io/element-hq/synapse -matrix_synapse_version: v1.125.0 +matrix_synapse_version: v1.126.0 matrix_synapse_username: '' matrix_synapse_uid: '' From 16f9e7dd46c899963d8fc6cedcfac82b383aac55 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Tue, 11 Mar 2025 19:25:31 +0200 Subject: [PATCH 714/841] Revert "Upgrade Element Web (v1.11.94 -> v1.11.95)" This reverts commit 178f7a9fffc3264553d1c17c83df05d33a263817. Element v1.11.95 doesn't seem to work. The container starts and is unhealthy. Until this is investigated and fixed, reverting. --- roles/custom/matrix-client-element/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-client-element/defaults/main.yml b/roles/custom/matrix-client-element/defaults/main.yml index ccd9c3c3f..237214cf1 100644 --- a/roles/custom/matrix-client-element/defaults/main.yml +++ b/roles/custom/matrix-client-element/defaults/main.yml @@ -29,7 +29,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 }}" # renovate: datasource=docker depName=ghcr.io/element-hq/element-web -matrix_client_element_version: v1.11.95 +matrix_client_element_version: v1.11.94 matrix_client_element_docker_image: "{{ matrix_client_element_docker_image_registry_prefix }}element-hq/element-web:{{ matrix_client_element_version }}" matrix_client_element_docker_image_registry_prefix: "{{ 'localhost/' if matrix_client_element_container_image_self_build else matrix_client_element_docker_image_registry_prefix_upstream }}" From e65d198841b4bcd84224fae9c739bdd71c8537eb Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Tue, 11 Mar 2025 22:21:47 +0200 Subject: [PATCH 715/841] Run Element Web in tightened/read-only mode without a custom nginx config Newer Element Web versions allow for the nginx port to be overriden, etc., and provide instructions for running in read-only mode. This makes our custom `nginx.conf` patches unnecessary. Passing the correct `ELEMENT_WEB_PORT` environment variable also helps with future changes. Another benefit of this (besides keeping closer to upstream recommendations and the improved simplicity) is that: - the container can run its entrypoint env-substitutions code now, without reporting errors - IPv6 for nginx works, so `matrix-client-element:8080` is accessible via IPv6 on the container network now (this affects only for Traefik's communicaton with Element Web internally; public connectivity was handled by Traefik and IPv6 was available there even before) Ref: - https://github.com/element-hq/element-web/blob/2052080d7d8a213064910cac491ec5cf9057610e/docs/install.md#docker - https://github.com/element-hq/element-web/pull/28849 - https://github.com/element-hq/element-web/pull/28840 --- .../matrix-client-element/defaults/main.yml | 7 ++ .../tasks/setup_install.yml | 7 +- .../matrix-client-element/templates/env.j2 | 1 + .../templates/nginx.conf.j2 | 66 ------------------- .../templates/nginx.conf.j2.license | 4 -- .../systemd/matrix-client-element.service.j2 | 8 ++- 6 files changed, 20 insertions(+), 73 deletions(-) create mode 100644 roles/custom/matrix-client-element/templates/env.j2 delete mode 100644 roles/custom/matrix-client-element/templates/nginx.conf.j2 delete mode 100644 roles/custom/matrix-client-element/templates/nginx.conf.j2.license diff --git a/roles/custom/matrix-client-element/defaults/main.yml b/roles/custom/matrix-client-element/defaults/main.yml index 237214cf1..28309355e 100644 --- a/roles/custom/matrix-client-element/defaults/main.yml +++ b/roles/custom/matrix-client-element/defaults/main.yml @@ -48,9 +48,16 @@ matrix_client_element_container_network: '' # Use this to expose this container to a reverse proxy, which runs in a different container network. matrix_client_element_container_additional_networks: [] +# Controls the in-container port that Element will use. +# +# Also see: `matrix_client_element_container_http_host_bind_port` +matrix_client_element_container_port: 8080 + # Controls whether the matrix-client-element container exposes its HTTP port (tcp/8080 in the container). # # Takes an ":" or "" value (e.g. "127.0.0.1:8765"), or empty string to not expose. +# +# Also see: `matrix_client_element_container_port` matrix_client_element_container_http_host_bind_port: '' # matrix_client_element_container_labels_traefik_enabled controls whether labels to assist a Traefik reverse-proxy will be attached to the container. diff --git a/roles/custom/matrix-client-element/tasks/setup_install.yml b/roles/custom/matrix-client-element/tasks/setup_install.yml index 730e50282..10a8b61ae 100644 --- a/roles/custom/matrix-client-element/tasks/setup_install.yml +++ b/roles/custom/matrix-client-element/tasks/setup_install.yml @@ -95,12 +95,17 @@ owner: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}" with_items: - - {src: "{{ role_path }}/templates/nginx.conf.j2", name: "nginx.conf"} - {src: "{{ role_path }}/templates/labels.j2", name: "labels"} + - {src: "{{ role_path }}/templates/env.j2", name: "env"} - {src: "{{ matrix_client_element_page_template_welcome_path }}", name: "welcome.html"} - {src: "{{ matrix_client_element_embedded_pages_home_path }}", name: "home.html"} when: "item.src is not none" +- name: Ensure Element Web nginx.conf file is removed + ansible.builtin.file: + path: "{{ matrix_client_element_data_path }}/nginx.conf" + state: absent + - name: Ensure Element Web config files removed ansible.builtin.file: path: "{{ matrix_client_element_data_path }}/{{ item.name }}" diff --git a/roles/custom/matrix-client-element/templates/env.j2 b/roles/custom/matrix-client-element/templates/env.j2 new file mode 100644 index 000000000..a142b6205 --- /dev/null +++ b/roles/custom/matrix-client-element/templates/env.j2 @@ -0,0 +1 @@ +ELEMENT_WEB_PORT={{ matrix_client_element_container_port }} diff --git a/roles/custom/matrix-client-element/templates/nginx.conf.j2 b/roles/custom/matrix-client-element/templates/nginx.conf.j2 deleted file mode 100644 index fba16bbdc..000000000 --- a/roles/custom/matrix-client-element/templates/nginx.conf.j2 +++ /dev/null @@ -1,66 +0,0 @@ -#jinja2: lstrip_blocks: "True" -# This is a custom nginx configuration file that we use in the container (instead of the default one), -# because it allows us to run nginx with a non-root user. -# -# For this to work, the default vhost file (`/etc/nginx/conf.d/default.conf`) also needs to be removed. -# (mounting `/dev/null` over `/etc/nginx/conf.d/default.conf` works well) -# -# The following changes have been done compared to a default nginx configuration file: -# - default server port is changed (80 -> 8080), so that a non-root user can bind it -# - various temp paths are changed to `/tmp`, so that a non-root user can write to them -# - the `user` directive was removed, as we don't want nginx to switch users - -worker_processes 1; - -error_log /var/log/nginx/error.log warn; -pid /tmp/nginx.pid; - - -events { - worker_connections 1024; -} - - -http { - proxy_temp_path /tmp/proxy_temp; - client_body_temp_path /tmp/client_temp; - fastcgi_temp_path /tmp/fastcgi_temp; - uwsgi_temp_path /tmp/uwsgi_temp; - scgi_temp_path /tmp/scgi_temp; - - include /etc/nginx/mime.types; - default_type application/octet-stream; - - log_format main '$remote_addr - $remote_user [$time_local] "$request" ' - '$status $body_bytes_sent "$http_referer" ' - '"$http_user_agent" "$http_x_forwarded_for"'; - - access_log /var/log/nginx/access.log main; - - sendfile on; - #tcp_nopush on; - - keepalive_timeout 65; - - #gzip on; - - server { - listen 8080; - server_name localhost; - - root /usr/share/nginx/html; - - location / { - index index.html index.htm; - } - - location ~* ^/(config(.+)?\.json$|(.+)\.html$|i18n) { - expires -1; - } - - error_page 500 502 503 504 /50x.html; - location = /50x.html { - root /usr/share/nginx/html; - } - } -} diff --git a/roles/custom/matrix-client-element/templates/nginx.conf.j2.license b/roles/custom/matrix-client-element/templates/nginx.conf.j2.license deleted file mode 100644 index f54d32e63..000000000 --- a/roles/custom/matrix-client-element/templates/nginx.conf.j2.license +++ /dev/null @@ -1,4 +0,0 @@ -SPDX-FileCopyrightText: 2019 - 2022 Slavi Pantaleev -SPDX-FileCopyrightText: 2019 Hugues De Keyzer - -SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-client-element/templates/systemd/matrix-client-element.service.j2 b/roles/custom/matrix-client-element/templates/systemd/matrix-client-element.service.j2 index 834e5cb87..1b1903b49 100644 --- a/roles/custom/matrix-client-element/templates/systemd/matrix-client-element.service.j2 +++ b/roles/custom/matrix-client-element/templates/systemd/matrix-client-element.service.j2 @@ -22,11 +22,15 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ --read-only \ --network={{ matrix_client_element_container_network }} \ {% if matrix_client_element_container_http_host_bind_port %} - -p {{ matrix_client_element_container_http_host_bind_port }}:8080 \ + -p {{ matrix_client_element_container_http_host_bind_port }}:{{ matrix_client_element_container_port }} \ {% endif %} --label-file={{ matrix_client_element_data_path }}/labels \ + --env-file={{ matrix_client_element_data_path }}/env \ --tmpfs=/tmp:rw,noexec,nosuid,size=10m \ - --mount type=bind,src={{ matrix_client_element_data_path }}/nginx.conf,dst=/etc/nginx/nginx.conf,ro \ + --tmpfs=/var/cache/nginx:rw,mode=777 \ + --tmpfs=/var/run:rw,mode=777 \ + --tmpfs=/tmp/element-web-config:rw,mode=777 \ + --tmpfs=/etc/nginx/conf.d:rw,mode=777 \ --mount type=bind,src={{ matrix_client_element_data_path }}/config.json,dst=/app/config.json,ro \ --mount type=bind,src={{ matrix_client_element_data_path }}/config.json,dst=/app/config.{{ matrix_server_fqn_element }}.json,ro \ {% if matrix_client_element_location_sharing_enabled %} From a5d850d800d63ac9a758d400a24d44852204a47a Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Tue, 11 Mar 2025 22:28:16 +0200 Subject: [PATCH 716/841] Add `matrix_client_element_environment_variable_element_web_port` and `matrix_client_element_environment_variables_extension` variables --- roles/custom/matrix-client-element/defaults/main.yml | 12 ++++++++++++ roles/custom/matrix-client-element/templates/env.j2 | 4 +++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/roles/custom/matrix-client-element/defaults/main.yml b/roles/custom/matrix-client-element/defaults/main.yml index 28309355e..c38ae8649 100644 --- a/roles/custom/matrix-client-element/defaults/main.yml +++ b/roles/custom/matrix-client-element/defaults/main.yml @@ -349,3 +349,15 @@ matrix_client_element_location_sharing_map_style_content_sources_localsource_att # Optional URL to redirect the user to after they have logged out. # See https://github.com/element-hq/element-web/blob/develop/docs/config.md#sso-setup matrix_client_element_logout_redirect_url: '' + +# Controls the `ELEMENT_WEB_PORT` environment variable. +matrix_client_element_environment_variable_element_web_port: "{{ matrix_client_element_container_port }}" + +# Additional environment variables to pass to the container. +# +# Environment variables take priority over settings in the configuration file. +# +# Example: +# matrix_client_element_environment_variables_extension: | +# ELEMENT_WEB_PORT=8080 +matrix_client_element_environment_variables_extension: '' \ No newline at end of file diff --git a/roles/custom/matrix-client-element/templates/env.j2 b/roles/custom/matrix-client-element/templates/env.j2 index a142b6205..152f7cc30 100644 --- a/roles/custom/matrix-client-element/templates/env.j2 +++ b/roles/custom/matrix-client-element/templates/env.j2 @@ -1 +1,3 @@ -ELEMENT_WEB_PORT={{ matrix_client_element_container_port }} +ELEMENT_WEB_PORT={{ matrix_client_element_environment_variable_element_web_port }} + +{{ matrix_client_element_environment_variables_extension }} From 40732e359440276580b4f2b5e16b2e8b2621468c Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Tue, 11 Mar 2025 22:28:55 +0200 Subject: [PATCH 717/841] Upgrade Element Web (v1.11.94 -> v1.11.95) and patch healthcheck Related to: - https://github.com/element-hq/element-web/pull/29471 - 16f9e7dd46c899963d8fc6cedcfac82b383aac55 --- roles/custom/matrix-client-element/defaults/main.yml | 12 ++++++++++-- .../systemd/matrix-client-element.service.j2 | 7 +++++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/roles/custom/matrix-client-element/defaults/main.yml b/roles/custom/matrix-client-element/defaults/main.yml index c38ae8649..763ba1c97 100644 --- a/roles/custom/matrix-client-element/defaults/main.yml +++ b/roles/custom/matrix-client-element/defaults/main.yml @@ -29,7 +29,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 }}" # renovate: datasource=docker depName=ghcr.io/element-hq/element-web -matrix_client_element_version: v1.11.94 +matrix_client_element_version: v1.11.95 matrix_client_element_docker_image: "{{ matrix_client_element_docker_image_registry_prefix }}element-hq/element-web:{{ matrix_client_element_version }}" matrix_client_element_docker_image_registry_prefix: "{{ 'localhost/' if matrix_client_element_container_image_self_build else matrix_client_element_docker_image_registry_prefix_upstream }}" @@ -110,6 +110,14 @@ matrix_client_element_container_extra_arguments: [] # List of systemd services that matrix-client-element.service depends on matrix_client_element_systemd_required_services_list: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}" +# Controls the healthcheck command for the container. +# +# Leave empty to use the default (upstream) command. +# +# The default command is a patch until https://github.com/element-hq/element-web/pull/29471 +# lands in a release. +matrix_client_element_container_healthcheck_cmd: "wget -q --spider http://localhost:$ELEMENT_WEB_PORT/config.json" + # Specifies the value of the `X-XSS-Protection` header # Stops pages from loading when they detect reflected cross-site scripting (XSS) attacks. # @@ -360,4 +368,4 @@ matrix_client_element_environment_variable_element_web_port: "{{ matrix_client_e # Example: # matrix_client_element_environment_variables_extension: | # ELEMENT_WEB_PORT=8080 -matrix_client_element_environment_variables_extension: '' \ No newline at end of file +matrix_client_element_environment_variables_extension: '' diff --git a/roles/custom/matrix-client-element/templates/systemd/matrix-client-element.service.j2 b/roles/custom/matrix-client-element/templates/systemd/matrix-client-element.service.j2 index 1b1903b49..9a1475b49 100644 --- a/roles/custom/matrix-client-element/templates/systemd/matrix-client-element.service.j2 +++ b/roles/custom/matrix-client-element/templates/systemd/matrix-client-element.service.j2 @@ -13,6 +13,10 @@ Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-client-element 2>/dev/null || true' ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-client-element 2>/dev/null || true' +{# + The custom healthcheck command is a patch until https://github.com/element-hq/element-web/pull/29471 + lands in a release. +#} ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ --rm \ --name=matrix-client-element \ @@ -40,6 +44,9 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ --mount type=bind,src={{ matrix_client_element_data_path }}/home.html,dst=/app/home.html,ro \ {% endif %} --mount type=bind,src={{ matrix_client_element_data_path }}/welcome.html,dst=/app/welcome.html,ro \ + {% if matrix_client_element_container_healthcheck_cmd %} + --health-cmd="{{ matrix_client_element_container_healthcheck_cmd }}" \ + {% endif %} {% for arg in matrix_client_element_container_extra_arguments %} {{ arg }} \ {% endfor %} From 72f28474c255e1ee4f63fa92926007e07e896266 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Wed, 12 Mar 2025 12:26:11 +0900 Subject: [PATCH 718/841] Update roles/custom/matrix-client-element/templates/env.j2: add the copyright header Signed-off-by: Suguru Hirahara --- roles/custom/matrix-client-element/templates/env.j2 | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/roles/custom/matrix-client-element/templates/env.j2 b/roles/custom/matrix-client-element/templates/env.j2 index 152f7cc30..83d1cdca0 100644 --- a/roles/custom/matrix-client-element/templates/env.j2 +++ b/roles/custom/matrix-client-element/templates/env.j2 @@ -1,3 +1,9 @@ +{# +SPDX-FileCopyrightText: 2025 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + ELEMENT_WEB_PORT={{ matrix_client_element_environment_variable_element_web_port }} {{ matrix_client_element_environment_variables_extension }} From 104bc63741252b9584fa4bbc40b90f74d22f85f7 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 10 Mar 2025 17:56:09 +0900 Subject: [PATCH 719/841] Fix docs/configuring-playbook-ntfy.md: link to the role's documentation Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-ntfy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/configuring-playbook-ntfy.md b/docs/configuring-playbook-ntfy.md index b70e1212e..b30aa2153 100644 --- a/docs/configuring-playbook-ntfy.md +++ b/docs/configuring-playbook-ntfy.md @@ -142,4 +142,4 @@ The simple [UnifiedPush troubleshooting](https://unifiedpush.org/users/troublesh ### Check the service's logs -See [this section](https://github.com/mother-of-all-self-hosting/ansible-role-etherpad/blob/main/docs/configuring-etherpad.md#check-the-service-s-logs) on the role's documentation for details. +See [this section](https://github.com/mother-of-all-self-hosting/ansible-role-ntfy/blob/main/docs/configuring-ntfy.md#check-the-services-logs) on the role's documentation for details. From 5ece1fea5a1a7084e8a937e774487b418bdf9c42 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 11 Mar 2025 17:58:05 +0900 Subject: [PATCH 720/841] Update docs/configuring-playbook-ntfy.md: reflect the role's documentation Based on https://github.com/mother-of-all-self-hosting/ansible-role-ntfy/blob/4e27dafc5cd48e1ce0804613f5a2afb94f9d8256/docs/configuring-ntfy.md Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-ntfy.md | 64 +++++++++++++++++++------------ 1 file changed, 40 insertions(+), 24 deletions(-) diff --git a/docs/configuring-playbook-ntfy.md b/docs/configuring-playbook-ntfy.md index b30aa2153..8d5a63997 100644 --- a/docs/configuring-playbook-ntfy.md +++ b/docs/configuring-playbook-ntfy.md @@ -1,5 +1,6 @@ " >> $instagram_role_path/README.md +echo "" >> $instagram_role_path/README.md +echo "# matrix-mautrix-meta-instagram" >> $instagram_role_path/README.md echo "" >> $instagram_role_path/README.md echo "This bridge role is derived from the matrix-mautrix-meta-messenger Ansible role via automatic changes (see \`just rebuild-mautrix-meta-instagram\` or \`bin/rebuild-mautrix-meta-instagram.sh\`)." >> $instagram_role_path/README.md echo "" >> $instagram_role_path/README.md diff --git a/roles/custom/matrix-bridge-mautrix-meta-instagram/README.md b/roles/custom/matrix-bridge-mautrix-meta-instagram/README.md index ef06fdc36..a8755d41a 100644 --- a/roles/custom/matrix-bridge-mautrix-meta-instagram/README.md +++ b/roles/custom/matrix-bridge-mautrix-meta-instagram/README.md @@ -1,5 +1,5 @@ diff --git a/roles/custom/matrix-bridge-mautrix-meta-instagram/tasks/validate_config.yml b/roles/custom/matrix-bridge-mautrix-meta-instagram/tasks/validate_config.yml index 4abd0f5ba..62ea8d204 100644 --- a/roles/custom/matrix-bridge-mautrix-meta-instagram/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mautrix-meta-instagram/tasks/validate_config.yml @@ -20,7 +20,7 @@ - {'name': 'matrix_mautrix_meta_instagram_database_hostname', when: "{{ matrix_mautrix_meta_instagram_database_engine == 'postgres' }}"} - {'name': 'matrix_mautrix_meta_instagram_database_password', when: "{{ matrix_mautrix_meta_instagram_database_engine == 'postgres' }}"} -- name: (Deprecation) Catch and report renamed mautrix-meta-instagram settings +- name: (Deprecation) Catch and report renamed mautrix-meta-instagram variables ansible.builtin.fail: msg: >- Your configuration contains a variable, which now has a different name. diff --git a/roles/custom/matrix-bridge-mautrix-meta-messenger/templates/systemd/matrix-mautrix-meta.service.j2.license b/roles/custom/matrix-bridge-mautrix-meta-messenger/templates/systemd/matrix-mautrix-meta.service.j2.license index e64bd56b9..e18b238ea 100644 --- a/roles/custom/matrix-bridge-mautrix-meta-messenger/templates/systemd/matrix-mautrix-meta.service.j2.license +++ b/roles/custom/matrix-bridge-mautrix-meta-messenger/templates/systemd/matrix-mautrix-meta.service.j2.license @@ -1,3 +1,3 @@ -SPDX-FileCopyrightText: 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev SPDX-License-Identifier: AGPL-3.0-or-later From 60bc3a9a7b8219209dc8a32993c63c24f4db8657 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Wed, 12 Mar 2025 18:35:09 +0200 Subject: [PATCH 735/841] Ensure container labels file is empty if nothing is exposed for mautrix-meta bridges Without this, we get a warning message from Traefik: > INF Could not create a router for the container: too many services providerName=docker Possibly due to the multiple services defined there without a single explicitly-defined router. --- .../matrix-bridge-mautrix-meta-instagram/templates/labels.j2 | 2 +- .../matrix-bridge-mautrix-meta-messenger/templates/labels.j2 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/custom/matrix-bridge-mautrix-meta-instagram/templates/labels.j2 b/roles/custom/matrix-bridge-mautrix-meta-instagram/templates/labels.j2 index de8156bfe..42ba3e6a7 100644 --- a/roles/custom/matrix-bridge-mautrix-meta-instagram/templates/labels.j2 +++ b/roles/custom/matrix-bridge-mautrix-meta-instagram/templates/labels.j2 @@ -4,7 +4,7 @@ SPDX-FileCopyrightText: 2024 Slavi Pantaleev SPDX-License-Identifier: AGPL-3.0-or-later #} -{% if matrix_mautrix_meta_instagram_container_labels_traefik_enabled %} +{% if matrix_mautrix_meta_instagram_container_labels_traefik_enabled and matrix_mautrix_meta_instagram_container_labels_metrics_enabled %} traefik.enable=true {% if matrix_mautrix_meta_instagram_container_labels_traefik_docker_network %} diff --git a/roles/custom/matrix-bridge-mautrix-meta-messenger/templates/labels.j2 b/roles/custom/matrix-bridge-mautrix-meta-messenger/templates/labels.j2 index 1c5b0a6e0..21946df81 100644 --- a/roles/custom/matrix-bridge-mautrix-meta-messenger/templates/labels.j2 +++ b/roles/custom/matrix-bridge-mautrix-meta-messenger/templates/labels.j2 @@ -4,7 +4,7 @@ SPDX-FileCopyrightText: 2024 Slavi Pantaleev SPDX-License-Identifier: AGPL-3.0-or-later #} -{% if matrix_mautrix_meta_messenger_container_labels_traefik_enabled %} +{% if matrix_mautrix_meta_messenger_container_labels_traefik_enabled and matrix_mautrix_meta_messenger_container_labels_metrics_enabled %} traefik.enable=true {% if matrix_mautrix_meta_messenger_container_labels_traefik_docker_network %} From 2f30886b192dceb760b2f818a1dedc5685676fd7 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Wed, 12 Mar 2025 18:40:23 +0200 Subject: [PATCH 736/841] Rework license information adding for `$instagram_role_path/README.md` to fix `reuse lint` --- bin/rebuild-mautrix-meta-instagram.sh | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/bin/rebuild-mautrix-meta-instagram.sh b/bin/rebuild-mautrix-meta-instagram.sh index 92acf2658..406f92463 100644 --- a/bin/rebuild-mautrix-meta-instagram.sh +++ b/bin/rebuild-mautrix-meta-instagram.sh @@ -37,11 +37,15 @@ done sed --in-place 's/matrix_mautrix_meta_instagram_meta_mode: \(.*\)/matrix_mautrix_meta_instagram_meta_mode: instagram/g' $instagram_role_path/defaults/main.yml sed --in-place 's/matrix_mautrix_meta_instagram_identifier: \(.*\)/matrix_mautrix_meta_instagram_identifier: matrix-mautrix-meta-instagram/g' $instagram_role_path/defaults/main.yml -echo "" >> $instagram_role_path/README.md +# Create the README.md file with the license header +cat > $instagram_role_path/README.md << 'EOF' + +EOF + echo "" >> $instagram_role_path/README.md echo "# matrix-mautrix-meta-instagram" >> $instagram_role_path/README.md echo "" >> $instagram_role_path/README.md From 5bb8a36f341ebfc85051ab86ea078333621e260f Mon Sep 17 00:00:00 2001 From: Catalan Lover Date: Wed, 12 Mar 2025 21:51:21 +0100 Subject: [PATCH 737/841] Update Mjolnir Anti Spam module to latest and add Renovate --- roles/custom/matrix-synapse/defaults/main.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/roles/custom/matrix-synapse/defaults/main.yml b/roles/custom/matrix-synapse/defaults/main.yml index 29338cf31..9147e127d 100644 --- a/roles/custom/matrix-synapse/defaults/main.yml +++ b/roles/custom/matrix-synapse/defaults/main.yml @@ -1331,7 +1331,8 @@ matrix_synapse_ext_spam_checker_synapse_simple_antispam_config_blocked_homeserve # See: https://github.com/matrix-org/mjolnir#synapse-module matrix_synapse_ext_spam_checker_mjolnir_antispam_enabled: false matrix_synapse_ext_spam_checker_mjolnir_antispam_git_repository_url: "https://github.com/matrix-org/mjolnir" -matrix_synapse_ext_spam_checker_mjolnir_antispam_git_version: "v1.6.4" +# renovate: datasource=docker depName=matrixdotorg/mjolnir +matrix_synapse_ext_spam_checker_mjolnir_antispam_git_version: "v1.9.2" matrix_synapse_ext_spam_checker_mjolnir_antispam_config_block_invites: true # Flag messages sent by servers/users in the ban lists as spam. Currently # this means that spammy messages will appear as empty to users. Default From dc581d0b7aaae11cf6cdd9bbf2a9c73bc0d3b22f Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Thu, 13 Mar 2025 05:04:56 +0000 Subject: [PATCH 738/841] Add ensure-users-created to the list of available tags on playbook-tags.md (#4169) --- docs/playbook-tags.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/playbook-tags.md b/docs/playbook-tags.md index 42d2354d6..48e61f73c 100644 --- a/docs/playbook-tags.md +++ b/docs/playbook-tags.md @@ -27,7 +27,7 @@ Here are some playbook tags that you should be familiar with: - `stop` — stops all systemd services -- `ensure-matrix-users-created` — a special tag which ensures that all special users needed by the playbook (for bots, etc.) are created +- `ensure-matrix-users-created` or its alias `ensure-users-created` — a special tag which ensures that all special users needed by the playbook (for bots, etc.) are created **Notes**: - `setup-*` tags and `install-*` tags **do not start services** automatically, because you may wish to do things before starting services, such as importing a database dump, restoring data from another server, etc. From 0086ae7f58b39ab8f39af5b2df3b6ee83cf08a92 Mon Sep 17 00:00:00 2001 From: Catalan Lover <48515417+FSG-Cat@users.noreply.github.com> Date: Thu, 13 Mar 2025 19:20:09 +0100 Subject: [PATCH 739/841] Update D4A Configuration (#4166) * Update D4A Configuration D4A had some breaking config changes so this commit fixes them and gets us back into compliance with upstream. And since we run in a docker container we can use the /data/storage default. * Update D4A Configuration to harmonise with bot mode Change the default config for D4A to align with bot mode default in mdad. This should also avert a bit of a mess of a potential bug. * Change D4A Room State Backing Store variable name and fix SPDX Headers * Align D4A config with new schema * Fix D4A Config Lint Error * Update D4A SPDX Entries * Do not use double quotes around `to_json` values --------- Co-authored-by: Slavi Pantaleev --- .../defaults/main.yml | 13 +++++++------ .../tasks/main.yml | 1 + .../tasks/setup_install.yml | 1 + .../tasks/setup_uninstall.yml | 1 + .../tasks/validate_config.yml | 3 +++ .../templates/production-appservice.yaml.j2 | 9 ++++++++- .../templates/production-bots.yaml.j2 | 18 ++++++++++++++++++ ...service-draupnir-for-all.service.j2.license | 1 + 8 files changed, 40 insertions(+), 7 deletions(-) diff --git a/roles/custom/matrix-appservice-draupnir-for-all/defaults/main.yml b/roles/custom/matrix-appservice-draupnir-for-all/defaults/main.yml index a1eebf5af..17e415f6c 100644 --- a/roles/custom/matrix-appservice-draupnir-for-all/defaults/main.yml +++ b/roles/custom/matrix-appservice-draupnir-for-all/defaults/main.yml @@ -1,4 +1,5 @@ -# SPDX-FileCopyrightText: 2024 - 2025 MDAD project contributors +# SPDX-FileCopyrightText: 2024 MDAD project contributors +# SPDX-FileCopyrightText: 2024 - 2025 Catalan Lover # SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev # SPDX-FileCopyrightText: 2024 Suguru Hirahara # @@ -51,12 +52,12 @@ matrix_appservice_draupnir_for_all_systemd_wanted_services_list: [] # Note: Draupnir is fairly verbose - expect a lot of messages from it. # This room is diffrent for Appservice Mode compared to normal mode. # In Appservice mode it provides functions like user management. -matrix_appservice_draupnir_for_all_master_control_room_alias: "" +matrix_appservice_draupnir_for_all_config_adminRoom: "" # noqa var-naming -# Placeholder Remenant of the fact that Cat belived Master Control Room to be separated from Access Control Policy List. -# The alias of the Policy list used to control who can provision a bot for them selfs. -# This should be a room alias - not a matrix.to URL. -# matrix_appservice_draupnir_for_all_management_policy_list_alias: "" +# Controls if the room state backing store is activated. +# Room state backing store makes restarts of the bot lightning fast as the bot does not suffer from amnesia. +# This config option has diminished improvements for bots on extremely fast homeservers or very very small bots on fast homeservers. +matrix_appservice_draupnir_for_all_config_roomStateBackingStore_enabled: false # noqa var-naming matrix_appservice_draupnir_for_all_database_username: matrix_appservice_draupnir_for_all matrix_appservice_draupnir_for_all_database_password: 'some-passsword' diff --git a/roles/custom/matrix-appservice-draupnir-for-all/tasks/main.yml b/roles/custom/matrix-appservice-draupnir-for-all/tasks/main.yml index 5e4af332b..51f5fe4f2 100644 --- a/roles/custom/matrix-appservice-draupnir-for-all/tasks/main.yml +++ b/roles/custom/matrix-appservice-draupnir-for-all/tasks/main.yml @@ -1,4 +1,5 @@ # SPDX-FileCopyrightText: 2024 MDAD project contributors +# SPDX-FileCopyrightText: 2024 Catalan Lover # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-appservice-draupnir-for-all/tasks/setup_install.yml b/roles/custom/matrix-appservice-draupnir-for-all/tasks/setup_install.yml index e4d51b7f7..12781f5dc 100644 --- a/roles/custom/matrix-appservice-draupnir-for-all/tasks/setup_install.yml +++ b/roles/custom/matrix-appservice-draupnir-for-all/tasks/setup_install.yml @@ -1,5 +1,6 @@ # SPDX-FileCopyrightText: 2024 David Mehren # SPDX-FileCopyrightText: 2024 MDAD project contributors +# SPDX-FileCopyrightText: 2024 Catalan Lover # SPDX-FileCopyrightText: 2024 Slavi Pantaleev # SPDX-FileCopyrightText: 2024 Suguru Hirahara # diff --git a/roles/custom/matrix-appservice-draupnir-for-all/tasks/setup_uninstall.yml b/roles/custom/matrix-appservice-draupnir-for-all/tasks/setup_uninstall.yml index da78634d6..4ad172539 100644 --- a/roles/custom/matrix-appservice-draupnir-for-all/tasks/setup_uninstall.yml +++ b/roles/custom/matrix-appservice-draupnir-for-all/tasks/setup_uninstall.yml @@ -1,4 +1,5 @@ # SPDX-FileCopyrightText: 2023 - 2024 MDAD project contributors +# SPDX-FileCopyrightText: 2024 Catalan Lover # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-appservice-draupnir-for-all/tasks/validate_config.yml b/roles/custom/matrix-appservice-draupnir-for-all/tasks/validate_config.yml index 8d8d1168c..72f86a7ef 100644 --- a/roles/custom/matrix-appservice-draupnir-for-all/tasks/validate_config.yml +++ b/roles/custom/matrix-appservice-draupnir-for-all/tasks/validate_config.yml @@ -1,4 +1,5 @@ # SPDX-FileCopyrightText: 2024 MDAD project contributors +# SPDX-FileCopyrightText: 2024 Catalan Lover # SPDX-FileCopyrightText: 2024 Slavi Pantaleev # SPDX-FileCopyrightText: 2025 Suguru Hirahara # @@ -22,3 +23,5 @@ when: "item.old in vars" with_items: - {'old': 'matrix_appservice_draupnir_for_all_docker_image_name_prefix', 'new': 'matrix_appservice_draupnir_for_all_docker_image_registry_prefix'} + - {'old': 'matrix_appservice_draupnir_for_all_enable_room_state_backing_store', 'new': 'matrix_appservice_draupnir_for_all_config_roomStateBackingStore_enabled'} + - {'old': 'matrix_appservice_draupnir_for_all_master_control_room_alias', 'new': 'matrix_appservice_draupnir_for_all_config_adminRoom'} diff --git a/roles/custom/matrix-appservice-draupnir-for-all/templates/production-appservice.yaml.j2 b/roles/custom/matrix-appservice-draupnir-for-all/templates/production-appservice.yaml.j2 index 346b57e96..ea168dac9 100644 --- a/roles/custom/matrix-appservice-draupnir-for-all/templates/production-appservice.yaml.j2 +++ b/roles/custom/matrix-appservice-draupnir-for-all/templates/production-appservice.yaml.j2 @@ -1,5 +1,6 @@ {# SPDX-FileCopyrightText: 2024 MDAD project contributors +SPDX-FileCopyrightText: 2024 - 2025 Catalan Lover SPDX-FileCopyrightText: 2024 Suguru Hirahara SPDX-License-Identifier: AGPL-3.0-or-later @@ -18,8 +19,14 @@ db: # A room you have created that scopes who can access the appservice. # See docs/access_control.md -adminRoom: "{{ matrix_appservice_draupnir_for_all_master_control_room_alias }}" +adminRoom: {{ matrix_appservice_draupnir_for_all_config_adminRoom | to_json }} # This is a web api that the widget connects to in order to interact with the appservice. webAPI: port: 9000 + +# The directory the bot should store various bits of information in +dataPath: "/data" + +roomStateBackingStore: + enabled: {{ matrix_appservice_draupnir_for_all_config_roomStateBackingStore_enabled | to_json }} diff --git a/roles/custom/matrix-appservice-draupnir-for-all/templates/production-bots.yaml.j2 b/roles/custom/matrix-appservice-draupnir-for-all/templates/production-bots.yaml.j2 index de581ed8e..63eb20b22 100644 --- a/roles/custom/matrix-appservice-draupnir-for-all/templates/production-bots.yaml.j2 +++ b/roles/custom/matrix-appservice-draupnir-for-all/templates/production-bots.yaml.j2 @@ -1,5 +1,6 @@ {# SPDX-FileCopyrightText: 2024 MDAD project contributors +SPDX-FileCopyrightText: 2024 - 2025 Catalan Lover SPDX-License-Identifier: AGPL-3.0-or-later #} @@ -73,3 +74,20 @@ commands: - "brigading" - "harassment" - "disagreement" + +# Safe mode provides recovery options for some failure modes when Draupnir +# fails to start. For example, if the bot fails to resolve a room alias in +# a watched list, or if the server has parted from a protected room and can't +# find a way back in. Safe mode will provide different options to recover from +# these. Such as unprotecting the room or unwatching the policy list. +# By default Draupnir will boot into safe mode only when the failure mode +# is recoverable. +# It may be desirable to prevent the bot from starting into safe mode if you have +# a pager system when Draupnir is down, as Draupnir could prevent your monitoring +# system from identifying a failure to start. +#safeMode: +# # The option for entering safe mode when Draupnir fails to start up. +# # - "RecoveryOnly" will only start the bot in safe mode when there are recovery options available. This is the default. +# # - "Never" will never start the bot in safe mode when Draupnir fails to start normally. +# # - "Always" will always start the bot in safe mode when Draupnir fails to start normally. +# bootOption: RecoveryOnly diff --git a/roles/custom/matrix-appservice-draupnir-for-all/templates/systemd/matrix-appservice-draupnir-for-all.service.j2.license b/roles/custom/matrix-appservice-draupnir-for-all/templates/systemd/matrix-appservice-draupnir-for-all.service.j2.license index c66c5baed..b39d4ce53 100644 --- a/roles/custom/matrix-appservice-draupnir-for-all/templates/systemd/matrix-appservice-draupnir-for-all.service.j2.license +++ b/roles/custom/matrix-appservice-draupnir-for-all/templates/systemd/matrix-appservice-draupnir-for-all.service.j2.license @@ -1,4 +1,5 @@ SPDX-FileCopyrightText: 2024 MDAD project contributors +SPDX-FileCopyrightText: 2024 Catalan Lover SPDX-FileCopyrightText: 2024 Slavi Pantaleev SPDX-License-Identifier: AGPL-3.0-or-later From 166f4127837ce1debfb7d60268255e08539b4a98 Mon Sep 17 00:00:00 2001 From: Catalan Lover <48515417+FSG-Cat@users.noreply.github.com> Date: Thu, 13 Mar 2025 19:25:30 +0100 Subject: [PATCH 740/841] Modernise Draupnir Configuration Variable Names (#4170) * Modernise Draupnir Configuration Variable Names * Move Draupnir deprecation-check task before undefined-variables-check * Fix trailing spaces in Draupnir's `validate_config.yml` --------- Co-authored-by: Slavi Pantaleev --- docs/configuring-playbook-bot-draupnir.md | 10 ++--- group_vars/matrix_servers | 6 +-- group_vars/matrix_servers.license | 2 +- .../matrix-bot-draupnir/defaults/main.yml | 25 ++++++----- .../custom/matrix-bot-draupnir/tasks/main.yml | 1 + .../tasks/setup_install.yml | 1 + .../tasks/setup_uninstall.yml | 1 + .../tasks/validate_config.yml | 43 ++++++++++++------- .../templates/production.yaml.j2 | 21 ++++----- .../matrix-bot-draupnir.service.j2.license | 1 + 10 files changed, 65 insertions(+), 46 deletions(-) diff --git a/docs/configuring-playbook-bot-draupnir.md b/docs/configuring-playbook-bot-draupnir.md index 92f5c5969..8465dcbd8 100644 --- a/docs/configuring-playbook-bot-draupnir.md +++ b/docs/configuring-playbook-bot-draupnir.md @@ -58,7 +58,7 @@ matrix_bot_draupnir_enable_experimental_rust_crypto: true # Access token which the bot will use for logging in. # Comment out `matrix_bot_draupnir_login_native` when using this option. -matrix_bot_draupnir_access_token: "CLEAN_ACCESS_TOKEN_HERE" +matrix_bot_draupnir_config_accessToken: "CLEAN_ACCESS_TOKEN_HERE" ``` ## Adjusting the playbook configuration @@ -73,13 +73,13 @@ matrix_bot_draupnir_enabled: true # matrix_bot_draupnir_login: bot.draupnir # Generate a strong password for the bot. You can create one with a command like `pwgen -s 64 1`. -# If creating the user on your own and using `matrix_bot_draupnir_access_token` to login you can comment out this line. +# If creating the user on your own and using `matrix_bot_draupnir_config_accessToken` to login you can comment out this line. matrix_bot_draupnir_password: PASSWORD_FOR_THE_BOT -# Comment out if using `matrix_bot_draupnir_enable_experimental_rust_crypto: true` or `matrix_bot_draupnir_access_token` to login. +# Comment out if using `matrix_bot_draupnir_enable_experimental_rust_crypto: true` or `matrix_bot_draupnir_config_accessToken` to login. matrix_bot_draupnir_login_native: true -matrix_bot_draupnir_management_room: "MANAGEMENT_ROOM_ID_HERE" +matrix_bot_draupnir_config_managementRoom: "MANAGEMENT_ROOM_ID_HERE" ``` ### Create and invite the bot to the management room @@ -142,7 +142,7 @@ Draupnir can receive reports in the management room. The bot can intercept the report API endpoint of the client-server API, which requires integration with the reverse proxy in front of the homeserver. If you are using Traefik, this playbook can set this up for you: ```yaml -matrix_bot_draupnir_abuse_reporting_enabled: true +matrix_bot_draupnir_config_web_abuseReporting: true ``` + +# Setting up Element Call (optional) + +The playbook can install and configure [Element Call](https://github.com/element-hq/element-call) for you. + +Element Call is a native Matrix video conferencing application developed by [Element](https://element.io), designed for secure, scalable, privacy-respecting, and decentralized video and voice calls over the Matrix protocol. Built on MatrixRTC ([MSC4143](https://github.com/matrix-org/matrix-spec-proposals/pull/4143)), it utilizes [MSC4195](https://github.com/hughns/matrix-spec-proposals/blob/hughns/matrixrtc-livekit/proposals/4195-matrixrtc-livekit.md) with [LiveKit Server](configuring-playbook-livekit-server.md) as its backend. + +See the project's [documentation](https://github.com/element-hq/element-call) to learn more. + +## Prerequisites + +- A [Synapse](configuring-playbook-synapse.md) homeserver (see the warning below) +- [Federation](configuring-playbook-federation.md) being enabled for your Matrix homeserver (federation is enabled by default, unless you've explicitly disabled it), because [LiveKit JWT Service](configuring-playbook-livekit-jwt-service.md) currently [requires it](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3562#issuecomment-2725250554) ([relevant source code](https://github.com/element-hq/lk-jwt-service/blob/f5f5374c4bdcc00a4fb13d27c0b28e20e4c62334/main.go#L135-L146)) +- Various experimental features for the Synapse homeserver which Element Call [requires](https://github.com/element-hq/element-call/blob/93ae2aed9841e0b066d515c56bd4c122d2b591b2/docs/self-hosting.md#a-matrix-homeserver) (automatically done when Element Call is enabled) +- A [LiveKit Server](configuring-playbook-livekit-server.md) (automatically installed when Element Call is enabled) +- The [LiveKit JWT Service](configuring-playbook-livekit-jwt-service.md) (automatically installed when Element Call is enabled) +- A client compatible with Element Call. As of 2025-03-15, that's just [Element Web](configuring-playbook-client-element-web.md) and the Element X mobile clients (iOS and Android). + +> [!WARNING] +> Because Element Call [requires](https://github.com/element-hq/element-call/blob/93ae2aed9841e0b066d515c56bd4c122d2b591b2/docs/self-hosting.md#a-matrix-homeserver) a few experimental features in the Matrix protocol, it's **very likely that it only works with the Synapse homeserver**. + +## Decide on a domain and path + +By default, Element Call is configured to be served on the `call.element.example.com` domain. + +If you'd like to run Element Call on another hostname, see the [Adjusting the Element Call URL](#adjusting-the-element-call-url-optional) section below. + +## Adjusting DNS records + +By default, this playbook installs Element Call on the `call.element.` subdomain (`call.element.example.com`) and requires you to create a `CNAME` record for `call.element`, which targets `matrix.example.com`. + +When setting these values, replace `example.com` with your own. + +All dependency services for Element Call ([LiveKit Server](configuring-playbook-livekit-server.md) and [Livekit JWT Service](configuring-playbook-livekit-jwt-service.md)) are installed and configured automatically by the playbook. By default, these services are installed on subpaths on the `matrix.` domain (e.g. `/livekit-server`, `/livekit-jwt-service`), so no DNS record adjustments are required for them. + +## Adjusting firewall rules + +In addition to the HTTP/HTTPS ports (which you've already exposed as per the [prerequisites](prerequisites.md) document), you'll also need to open ports required by [LiveKit Server](configuring-playbook-livekit-server.md) as described in its own [Adjusting firewall rules](configuring-playbook-livekit-server.md#adjusting-firewall-rules) section. + +## Adjusting the playbook configuration + +Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: + +```yaml +matrix_element_call_enabled: true +``` + +### Adjusting the Element Call URL (optional) + +By tweaking the `matrix_element_call_hostname` variable, you can easily make the service available at a **different hostname** than the default one. + +Example additional configuration for your `vars.yml` file: + +```yaml +matrix_element_call_hostname: element-call.example.com +``` + +> [!WARNING] +> A `matrix_element_call_path_prefix` variable is also available and mean to let you configure a path prefix for the Element Call service, but [Element Call does not support running under a sub-path yet](https://github.com/element-hq/element-call/issues/3084). + +## Installing + +After configuring the playbook and potentially [adjusting your DNS records](#adjusting-dns-records) and [adjusting firewall rules](#adjusting-firewall-rules), run the playbook with [playbook tags](playbook-tags.md) as below: + + +```sh +ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start +``` + +The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` + +`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. + +## Usage + +Once installed, Element Call integrates seamlessly with Matrix clients like [Element Web](configuring-playbook-client-element-web.md) and Element X on mobile (iOS and Android). diff --git a/docs/configuring-playbook-jitsi.md b/docs/configuring-playbook-jitsi.md index 59fd6b6c4..3a494d083 100644 --- a/docs/configuring-playbook-jitsi.md +++ b/docs/configuring-playbook-jitsi.md @@ -20,6 +20,8 @@ The playbook can install and configure the [Jitsi](https://jitsi.org/) video-con Jitsi is an open source video-conferencing platform. It can not only be integrated with Element clients ([Element Web](configuring-playbook-client-element-web.md)/Desktop, Android and iOS) as a widget, but also be used as standalone web app. +💡 If you're into experimental technology, you may also be interested in trying out [Element Call](configuring-playbook-element-call.md) - a native Matrix video conferencing application. + The [Ansible role for Jitsi](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi) is developed and maintained by [the MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting). For details about configuring Jitsi, you can check them via: - 🌐 [the role's documentation at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md) online - 📁 `roles/galaxy/jitsi/docs/configuring-jitsi.md` locally, if you have [fetched the Ansible roles](installing.md#update-ansible-roles) diff --git a/docs/configuring-playbook-jwt-service.md b/docs/configuring-playbook-jwt-service.md new file mode 100644 index 000000000..22fe30e8f --- /dev/null +++ b/docs/configuring-playbook-jwt-service.md @@ -0,0 +1,47 @@ + + +# Setting up JWT Service (optional) + +The playbook can install and configure [LiveKit JWT Service](https://github.com/element-hq/lk-jwt-service) for you. + +LK-JWT-Service is currently used for a single reason: generate JWT tokens with a given identity for a given room, so that users can use them to authenticate against LiveKit SFU. + +See the project's [documentation](https://github.com/element-hq/lk-jwt-service/) to learn more. + +## Decide on a domain and path + +By default, JWT Service is configured to be served: + +- on the Matrix domain (`matrix.example.com`), configurable via `matrix_livekit_jwt_service_hostname` +- under a `/livekit-jwt-service` path prefix, configurable via `matrix_livekit_jwt_service_path_prefix` + +This makes it easy to set it up, **without** having to adjust your DNS records manually. + +## Adjusting DNS records + +If you've changed the default hostname, **you may need to adjust your DNS** records accordingly to point to the correct server. + +## Adjusting the playbook configuration + +Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: + +```yaml +matrix_livekit_jwt_service_enabled: true +``` + +## Installing + +After configuring the playbook and potentially [adjusting your DNS records](#adjusting-dns-records), run the [installation](installing.md) command: `just install-all` or `just setup-all` + +## Usage + +Once installed, a new `org.matrix.msc4143.rtc_foci` section is added to the Element Web client to point to your JWT service URL (e.g., `https://matrix.example.com/livekit-jwt-service`). + +## Additional Information + +Refer to the LiveKit JWT-Service documentation for more details on configuring and using JWT Service. diff --git a/docs/configuring-playbook-livekit-jwt-service.md b/docs/configuring-playbook-livekit-jwt-service.md new file mode 100644 index 000000000..55bf3682f --- /dev/null +++ b/docs/configuring-playbook-livekit-jwt-service.md @@ -0,0 +1,18 @@ + + +# Setting up LiveKit JWT Service (optional) + +The playbook can install and configure [LiveKit JWT Service](https://github.com/element-hq/lk-jwt-service/) for you. + +This is a helper component that allows [Element Call](configuring-playbook-element-call.md) to integrate with [LiveKit Server](configuring-playbook-livekit-server.md). + +💡 LiveKit JWT Service is automatically installed and configured when [Element Call](configuring-playbook-element-call.md) is enabled, so you don't need to do anything extra. + +Take a look at: + +- `roles/custom/matrix-livekit-jwt-service/defaults/main.yml` for some variables that you can customize via your `vars.yml` file +- `roles/custom/matrix-livekit-jwt-service/templates/env.j2` for the component's default configuration. \ No newline at end of file diff --git a/docs/configuring-playbook-livekit-server.md b/docs/configuring-playbook-livekit-server.md new file mode 100644 index 000000000..95f86f3ad --- /dev/null +++ b/docs/configuring-playbook-livekit-server.md @@ -0,0 +1,28 @@ + + +# Setting up LiveKit Server (optional) + +The playbook can install and configure [LiveKit Server](https://github.com/livekit/livekit) for you. + +LiveKit Server is an open source project that provides scalable, multi-user conferencing based on WebRTC. It's designed to provide everything you need to build real-time video audio data capabilities in your applications. + +💡 LiveKit Server is automatically installed and configured when [Element Call](configuring-playbook-element-call.md) is enabled, so you don't need to do anything extra. + +The [Ansible role for LiveKit Server](https://github.com/mother-of-all-self-hosting/ansible-role-livekit-server) is developed and maintained by [the MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting). For details about configuring LiveKit Server, you can check them via: +- 🌐 [the role's documentation at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-livekit-server/blob/main/docs/configuring-livekit-server.md) online +- 📁 `roles/galaxy/livekit-server/docs/configuring-livekit-server.md` locally, if you have [fetched the Ansible roles](installing.md#update-ansible-roles) + +## Adjusting firewall rules + +To ensure LiveKit Server functions correctly, the following firewall rules and port forwarding settings are required: + +- `7881/tcp`: ICE/TCP + +- `7882/udp`: ICE/UDP Mux + +💡 The suggestions above are inspired by the upstream [Ports and Firewall](https://docs.livekit.io/home/self-hosting/ports-firewall/) documentation based on how LiveKit is configured in the playbook. If you've using custom configuration for the LiveKit Server role, you may need to adjust the firewall rules accordingly. diff --git a/docs/configuring-playbook.md b/docs/configuring-playbook.md index fe1184ebd..3a105cb0c 100644 --- a/docs/configuring-playbook.md +++ b/docs/configuring-playbook.md @@ -237,6 +237,12 @@ Services that help you in administrating and monitoring your Matrix installation Various services that don't fit any other categories. +- [Setting up Element Call](configuring-playbook-element-call.md) — a native Matrix video conferencing application (optional) + +- [Setting up LiveKit JWT Service](configuring-playbook-livekit-jwt-service.md) (optional) + +- [Setting up LiveKit Server](configuring-playbook-livekit-server.md) (optional) + - [Setting up Synapse Auto Invite Accept](configuring-playbook-synapse-auto-accept-invite.md) - [Setting up synapse-auto-compressor](configuring-playbook-synapse-auto-compressor.md) for compressing the database on Synapse homeservers diff --git a/docs/container-images.md b/docs/container-images.md index 844cce810..b445cc001 100644 --- a/docs/container-images.md +++ b/docs/container-images.md @@ -54,6 +54,8 @@ Services that run on the server to make the various parts of your installation w | [Exim](configuring-playbook-email.md) | [devture/exim-relay](https://hub.docker.com/r/devture/exim-relay/) | ✅ | Mail server, through which all Matrix services send outgoing email (can be configured to relay through another SMTP server) | | [ma1sd](configuring-playbook-ma1sd.md) | [ma1uta/ma1sd](https://hub.docker.com/r/ma1uta/ma1sd/) | ❌ | Matrix Identity Server | | [ddclient](configuring-playbook-dynamic-dns.md) | [linuxserver/ddclient](https://hub.docker.com/r/linuxserver/ddclient) | ❌ | Update dynamic DNS entries for accounts on Dynamic DNS Network Service Provider | +| [LiveKit Server](configuring-playbook-livekit-server.md) | [livekit/livekit-server](https://hub.docker.com/r/livekit/livekit-server/) | ❌ | WebRTC server for audio/video calls | +| [Livekit JWT Service](configuring-playbook-livekit-jwt-service.md) | [element-hq/lk-jwt-service](https://ghcr.io/element-hq/lk-jwt-service) | ❌ | JWT service for integrating [Element Call](./configuring-playbook-element-call.md) with [LiveKit Server](./configuring-playbook-livekit-server.md) | ## Authentication @@ -167,6 +169,7 @@ Various services that don't fit any other categories. | [Pantalaimon](configuring-playbook-pantalaimon.md) | [matrixdotorg/pantalaimon](https://hub.docker.com/r/matrixdotorg/pantalaimon) | ❌ | E2EE aware proxy daemon | | [Sygnal](configuring-playbook-sygnal.md) | [matrixdotorg/sygnal](https://hub.docker.com/r/matrixdotorg/sygnal/) | ❌ | Reference Push Gateway for Matrix | | [ntfy](configuring-playbook-ntfy.md) | [binwiederhier/ntfy](https://hub.docker.com/r/binwiederhier/ntfy/) | ❌ | Self-hosted, UnifiedPush-compatible push notifications server | +| [Element Call](configuring-playbook-element-call.md) | [element-hq/element-call](https://ghcr.io/element-hq/element-call) | ❌ | A native Matrix video conferencing application | ## Container images of deprecated / unmaintained services diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index f7c8c9537..59fa442b2 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -447,6 +447,12 @@ devture_systemd_service_manager_services_list_auto: | + ([{'name': 'matrix-pantalaimon.service', 'priority': 4000, 'groups': ['matrix', 'pantalaimon']}] if matrix_pantalaimon_enabled else []) + + ([{'name': 'matrix-element-call.service', 'priority': 4000, 'groups': ['matrix', 'element-call']}] if matrix_element_call_enabled else []) + + + ([{'name': 'matrix-livekit-jwt-service.service', 'priority': 3500, 'groups': ['matrix', 'livekit-jwt-service']}] if matrix_livekit_jwt_service_enabled else []) + + + ([{'name': (livekit_server_identifier + '.service'), 'priority': 3000, 'groups': ['matrix', 'livekit-server']}] if livekit_server_enabled else []) + + ([{'name': 'matrix-registration.service', 'priority': 4000, 'groups': ['matrix', 'registration', 'matrix-registration']}] if matrix_registration_enabled else []) + ([{'name': 'matrix-sliding-sync.service', 'priority': 1500, 'groups': ['matrix', 'sliding-sync']}] if matrix_sliding_sync_enabled else []) @@ -4533,7 +4539,7 @@ ntfy_visitor_request_limit_exempt_hosts_hostnames_auto: | # ###################################################################### -valkey_enabled: "{{ matrix_synapse_workers_enabled or (matrix_hookshot_enabled and matrix_hookshot_encryption_enabled) }}" +valkey_enabled: "{{ matrix_synapse_workers_enabled or (matrix_hookshot_enabled and matrix_hookshot_encryption_enabled) or matrix_element_call_enabled }}" valkey_identifier: matrix-valkey @@ -4605,6 +4611,14 @@ matrix_client_element_enable_presence_by_hs_url: |- matrix_client_element_jitsi_preferred_domain: "{{ matrix_server_fqn_jitsi if jitsi_enabled else '' }}" +matrix_client_element_features_feature_video_rooms: "{{ matrix_element_call_enabled }}" +matrix_client_element_features_feature_group_calls: "{{ matrix_element_call_enabled }}" +matrix_client_element_features_feature_element_call_video_rooms: "{{ matrix_element_call_enabled }}" +matrix_client_element_features_feature_oidc_native_flow: "{{ matrix_authentication_service_enabled }}" + +matrix_client_element_element_call_enabled: "{{ matrix_element_call_enabled }}" +matrix_client_element_element_call_url: "{{ matrix_element_call_public_url if matrix_element_call_enabled else '' }}" + ###################################################################### # # /matrix-client-element @@ -4920,6 +4934,8 @@ matrix_synapse_ext_media_repo_enabled: "{{ matrix_media_repo_enabled }}" matrix_synapse_report_stats: "{{ matrix_synapse_usage_exporter_enabled }}" matrix_synapse_report_stats_endpoint: "{{ (('http://' + matrix_synapse_usage_exporter_identifier + ':' + matrix_synapse_usage_exporter_container_port | string + '/report-usage-stats/push') if matrix_synapse_usage_exporter_enabled else '') }}" +matrix_synapse_experimental_features_msc3266_enabled: "{{ matrix_element_call_enabled }}" + matrix_synapse_experimental_features_msc3861_enabled: "{{ matrix_authentication_service_enabled and not matrix_authentication_service_migration_in_progress }}" matrix_synapse_experimental_features_msc3861_issuer: "{{ matrix_authentication_service_http_base_container_url if matrix_authentication_service_enabled else '' }}" matrix_synapse_experimental_features_msc3861_client_secret: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'syn.ngauth.cs', rounds=655555) | to_uuid }}" @@ -4928,6 +4944,10 @@ matrix_synapse_experimental_features_msc3861_account_management_url: "{{ matrix_ matrix_synapse_experimental_features_msc4108_enabled: "{{ matrix_authentication_service_enabled and not matrix_authentication_service_migration_in_progress }}" +matrix_synapse_experimental_features_msc4140_enabled: "{{ matrix_element_call_enabled }}" + +matrix_synapse_experimental_features_msc4222_enabled: "{{ matrix_element_call_enabled }}" + # Disable password authentication when delegating authentication to Matrix Authentication Service. # Unless this is done, Synapse fails on startup with: # > Error in configuration at 'password_config.enabled': @@ -6117,8 +6137,18 @@ matrix_static_files_file_matrix_client_property_m_tile_server_map_style_url: "{{ # See: https://github.com/etkecc/synapse-admin/pull/126 matrix_static_files_file_matrix_client_property_cc_etke_synapse_admin_auto: "{{ matrix_synapse_admin_configuration if matrix_homeserver_implementation == 'synapse' else {} }}" +matrix_static_files_file_matrix_client_property_org_matrix_msc4143_rtc_foci_enabled: "{{ matrix_element_call_enabled }}" +matrix_static_files_file_matrix_client_property_org_matrix_msc4143_rtc_foci_auto: |- + {{ + ( + [{'type': 'livekit', 'livekit_service_url': matrix_livekit_jwt_service_public_url}] if matrix_livekit_jwt_service_enabled else [] + ) + }} + matrix_static_files_file_matrix_server_property_m_server: "{{ matrix_server_fqn_matrix_federation }}:{{ matrix_federation_public_port }}" +matrix_static_files_file_element_element_json_property_call_widget_url: "{{ matrix_element_call_public_url if matrix_element_call_enabled else '' }}" + matrix_static_files_scheme: "{{ 'https' if matrix_playbook_ssl_enabled else 'http' }}" matrix_static_files_self_check_hostname_matrix: "{{ matrix_server_fqn_matrix }}" @@ -6231,3 +6261,124 @@ traefik_certs_dumper_container_image_registry_prefix_upstream: "{{ matrix_contai # /traefik_certs_dumper # # # ######################################################################## + + +######################################################################## +# # +# matrix-element-call # +# # +######################################################################## + +matrix_element_call_enabled: false + +matrix_element_call_scheme: "{{ 'https' if matrix_playbook_ssl_enabled else 'http' }}" + +matrix_element_call_container_network: "{{ matrix_addons_container_network }}" + +matrix_element_call_container_additional_networks_auto: "{{ [matrix_playbook_reverse_proxyable_services_additional_network] if (matrix_element_call_container_labels_traefik_enabled and matrix_playbook_reverse_proxyable_services_additional_network) else [] }}" + +matrix_element_call_container_labels_traefik_enabled: "{{ matrix_playbook_reverse_proxy_type in ['playbook-managed-traefik', 'other-traefik-container'] }}" +matrix_element_call_container_labels_traefik_docker_network: "{{ matrix_playbook_reverse_proxyable_services_additional_network }}" +matrix_element_call_container_labels_traefik_entrypoints: "{{ traefik_entrypoint_primary }}" +matrix_element_call_container_labels_traefik_tls_certResolver: "{{ traefik_certResolver_primary }}" + +matrix_element_call_config_livekit_livekit_service_url: "{{ matrix_livekit_jwt_service_public_url if matrix_livekit_jwt_service_enabled else '' }}" + +######################################################################## +# # +# /matrix-element-call # +# # +######################################################################## + +######################################################################## +# # +# livekit-server # +# # +######################################################################## + +livekit_server_enabled: "{{ matrix_element_call_enabled }}" + +livekit_server_identifier: matrix-livekit-server + +livekit_server_uid: "{{ matrix_user_uid }}" +livekit_server_gid: "{{ matrix_user_gid }}" + +livekit_server_base_path: "{{ matrix_base_data_path }}/livekit-server" + +livekit_server_hostname: "{{ matrix_server_fqn_matrix }}" +livekit_server_path_prefix: "/livekit-server" + +livekit_server_container_image_self_build: "{{ matrix_architecture not in ['arm64', 'amd64'] }}" + +livekit_server_container_network: "{{ matrix_addons_container_network }}" +livekit_server_container_additional_networks_auto: "{{ [matrix_playbook_reverse_proxyable_services_additional_network] if (livekit_server_container_labels_traefik_enabled and matrix_playbook_reverse_proxyable_services_additional_network) else [] }}" + +livekit_server_container_labels_traefik_enabled: "{{ matrix_playbook_reverse_proxy_type in ['playbook-managed-traefik', 'other-traefik-container'] }}" +livekit_server_container_labels_traefik_docker_network: "{{ matrix_playbook_reverse_proxyable_services_additional_network }}" +livekit_server_container_labels_traefik_entrypoints: "{{ traefik_entrypoint_primary }}" +livekit_server_container_labels_traefik_tls_certResolver: "{{ traefik_certResolver_primary }}" + +livekit_server_config_keys_auto: |- + {{ + {} + | combine( + {matrix_livekit_jwt_service_environment_variable_livekit_key: matrix_livekit_jwt_service_environment_variable_livekit_secret} + if matrix_livekit_jwt_service_enabled else {} + ) + }} + +# The playbook intentionally uses a non-standard port than the default used by the role (5349), +# because Coturn is already using that port. +# Note that TURN is not enabled by default. See `livekit_server_config_turn_enabled`. +livekit_server_config_turn_tls_port: 5350 + +# The playbook intentionally uses a non-standard port than the default used by the role (3478), +# because Coturn is already using that port. +# Note that TURN is not enabled by default. See `livekit_server_config_turn_enabled`. +livekit_server_config_turn_udp_port: 3479 + +######################################################################## +# # +# /livekit-server # +# # +######################################################################## + + +######################################################################## +# # +# matrix-livekit-jwt-service # +# # +######################################################################## + +matrix_livekit_jwt_service_enabled: "{{ matrix_element_call_enabled and livekit_server_enabled }}" + +matrix_livekit_jwt_service_scheme: "{{ 'https' if matrix_playbook_ssl_enabled else 'http' }}" + +matrix_livekit_jwt_service_hostname: "{{ matrix_server_fqn_matrix }}" +matrix_livekit_jwt_service_path_prefix: "/livekit-jwt-service" + +matrix_livekit_jwt_service_container_image_self_build: "{{ matrix_architecture not in ['amd64', 'arm64'] }}" + +matrix_livekit_jwt_service_container_network: "{{ matrix_addons_container_network }}" + +matrix_livekit_jwt_service_container_additional_networks_auto: | + {{ + ([matrix_playbook_reverse_proxyable_services_additional_network] if (matrix_livekit_jwt_service_container_labels_traefik_enabled and matrix_playbook_reverse_proxyable_services_additional_network) else []) + }} + +matrix_livekit_jwt_service_container_labels_traefik_enabled: "{{ matrix_playbook_reverse_proxy_type in ['playbook-managed-traefik', 'other-traefik-container'] }}" +matrix_livekit_jwt_service_container_labels_traefik_docker_network: "{{ matrix_playbook_reverse_proxyable_services_additional_network }}" +matrix_livekit_jwt_service_container_labels_traefik_entrypoints: "{{ traefik_entrypoint_primary }}" +matrix_livekit_jwt_service_container_labels_traefik_tls_certResolver: "{{ traefik_certResolver_primary }}" + +matrix_livekit_jwt_service_environment_variable_livekit_url: "{{ livekit_server_websocket_public_url }}" + +matrix_livekit_jwt_service_environment_variable_livekit_key: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'lk.key', rounds=655555) | to_uuid }}" + +matrix_livekit_jwt_service_environment_variable_livekit_secret: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'lk.secret', rounds=655555) | to_uuid }}" + +######################################################################## +# # +# /matrix-livekit-jwt-service # +# # +######################################################################## diff --git a/requirements.yml b/requirements.yml index 556634277..76efb2363 100644 --- a/requirements.yml +++ b/requirements.yml @@ -27,6 +27,9 @@ - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-jitsi.git version: v10078-1-0 name: jitsi +- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-livekit-server.git + version: v1.8.4-2 + name: livekit_server - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-ntfy.git version: v2.11.0-4 name: ntfy diff --git a/roles/custom/matrix-client-element/defaults/main.yml b/roles/custom/matrix-client-element/defaults/main.yml index 763ba1c97..5360ea1bf 100644 --- a/roles/custom/matrix-client-element/defaults/main.yml +++ b/roles/custom/matrix-client-element/defaults/main.yml @@ -215,6 +215,67 @@ matrix_client_element_branding_auth_header_logo_url: "{{ matrix_client_element_w # URL to Wallpaper, shown in background of welcome page matrix_client_element_branding_welcome_background_url: ~ # noqa var-naming +# Controls the `features` section of the Element Web configuration. +matrix_client_element_features: "{{ matrix_client_element_features_default | combine(matrix_client_element_features_auto, recursive=True) | combine(matrix_client_element_features_custom, recursive=True) }}" +matrix_client_element_features_default: |- + {{ + {} + + | combine( + {'feature_video_rooms': true} if matrix_client_element_features_feature_video_rooms else {} + ) + | combine( + {'feature_group_calls': true} if matrix_client_element_features_feature_group_calls else {} + ) + | combine( + {'feature_element_call_video_rooms': true} if matrix_client_element_features_feature_element_call_video_rooms else {} + ) + | combine( + {'feature_oidc_native_flow': true} if matrix_client_element_features_feature_oidc_native_flow else {} + ) + }} + +matrix_client_element_features_auto: {} +matrix_client_element_features_custom: {} + +matrix_client_element_features_feature_video_rooms: false +matrix_client_element_features_feature_group_calls: false +matrix_client_element_features_feature_element_call_video_rooms: false +matrix_client_element_features_feature_oidc_native_flow: false + +matrix_client_element_element_call_enabled: false +matrix_client_element_element_call: "{{ matrix_client_element_element_call_default | combine(matrix_client_element_element_call_auto, recursive=True) | combine(matrix_client_element_element_call_custom, recursive=True) }}" +matrix_client_element_element_call_default: |- + {{ + {} + | combine( + {'url': matrix_client_element_element_call_url} if matrix_client_element_element_call_url else {} + ) + | combine( + {'participant_limit': matrix_client_element_element_call_participant_limit} if matrix_client_element_element_call_participant_limit else {} + ) + | combine( + {'brand': matrix_client_element_element_call_brand} if matrix_client_element_element_call_brand else {} + ) + | combine( + {'use_exclusively': matrix_client_element_element_call_use_exclusively} if matrix_client_element_element_call_use_exclusively else {} + ) + }} +matrix_client_element_element_call_auto: {} +matrix_client_element_element_call_custom: {} + +# Controls the `element_call.url` setting in the Element Web configuration. +matrix_client_element_element_call_url: '' + +# Controls the `element_call.participant_limit` setting in the Element Web configuration. +matrix_client_element_element_call_participant_limit: 8 + +# Controls the `element_call.brand` setting in the Element Web configuration. +matrix_client_element_element_call_brand: "Element Call" + +# Controls the `element_call.use_exclusively` setting in the Element Web configuration. +matrix_client_element_element_call_use_exclusively: true + matrix_client_element_page_template_welcome_path: "{{ role_path }}/templates/welcome.html.j2" # By default, there's no Element Web homepage (when logged in). If you wish to have one, diff --git a/roles/custom/matrix-client-element/templates/config.json.j2 b/roles/custom/matrix-client-element/templates/config.json.j2 index 9d354a3c2..7516abe48 100644 --- a/roles/custom/matrix-client-element/templates/config.json.j2 +++ b/roles/custom/matrix-client-element/templates/config.json.j2 @@ -45,5 +45,7 @@ "auth_footer_links": {{ matrix_client_element_branding_auth_footer_links | to_json }}, "auth_header_logo_url": {{ matrix_client_element_branding_auth_header_logo_url | to_json }}, "welcome_background_url": {{ matrix_client_element_branding_welcome_background_url | to_json }} - } + }, + "features": {{ matrix_client_element_features | to_json }}, + "element_call": {{ (matrix_client_element_element_call if matrix_client_element_element_call_enabled else {}) | to_json }} } diff --git a/roles/custom/matrix-element-call/defaults/main.yml b/roles/custom/matrix-element-call/defaults/main.yml new file mode 100644 index 000000000..c69c0a682 --- /dev/null +++ b/roles/custom/matrix-element-call/defaults/main.yml @@ -0,0 +1,145 @@ +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2024 wjbeckett +# SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + +--- + +# Element Call is a native Matrix video conferencing application developed by Element. +# Project source code URL: https://github.com/element-hq/element-call + +matrix_element_call_enabled: false + +matrix_element_call_version: v0.7.2 + +matrix_element_call_scheme: https + +matrix_element_call_hostname: "call.{{ matrix_server_fqn_element }}" +matrix_element_call_path_prefix: / + +matrix_element_call_base_path: "{{ matrix_base_data_path }}/element-call" + +# The architecture for Element Call container images. +# Recognized values by us are 'amd64', 'arm32' and 'arm64'. +matrix_element_call_architecture: "{{ matrix_architecture }}" + +matrix_element_call_container_image: "{{ matrix_element_call_container_image_registry_prefix }}element-hq/element-call:{{ matrix_element_call_container_image_tag }}" +matrix_element_call_container_image_registry_prefix: "{{ matrix_element_call_container_image_registry_prefix_upstream }}" +matrix_element_call_container_image_registry_prefix_upstream: "{{ matrix_element_call_container_image_registry_prefix_upstream_default }}" +matrix_element_call_container_image_registry_prefix_upstream_default: ghcr.io/ +matrix_element_call_container_image_tag: "{{ matrix_element_call_version }}" +matrix_element_call_container_image_force_pull: "{{ matrix_element_call_container_image.endswith(':latest') }}" + +matrix_element_call_container_network: matrix-element-call + +matrix_element_call_container_http_host_bind_port: '' + +matrix_element_call_container_additional_networks: "{{ matrix_element_call_container_additional_networks_auto + matrix_element_call_container_additional_networks_custom }}" +matrix_element_call_container_additional_networks_auto: [] +matrix_element_call_container_additional_networks_custom: [] + +# Traefik Configuration for Element Call +matrix_element_call_container_labels_traefik_enabled: true +matrix_element_call_container_labels_traefik_docker_network: "{{ matrix_element_call_container_network }}" +matrix_element_call_container_labels_traefik_hostname: "{{ matrix_element_call_hostname }}" +# The path prefix must either be `/` or not end with a slash (e.g. `/element`). +matrix_element_call_container_labels_traefik_path_prefix: "{{ matrix_element_call_path_prefix }}" +matrix_element_call_container_labels_traefik_rule: "Host(`{{ matrix_element_call_container_labels_traefik_hostname }}`){% if matrix_element_call_container_labels_traefik_path_prefix != '/' %} && PathPrefix(`{{ matrix_element_call_container_labels_traefik_path_prefix }}`){% endif %}" +matrix_element_call_container_labels_traefik_priority: 0 +matrix_element_call_container_labels_traefik_entrypoints: web-secure +matrix_element_call_container_labels_traefik_tls: "{{ matrix_element_call_container_labels_traefik_entrypoints != 'web' }}" +matrix_element_call_container_labels_traefik_tls_certResolver: default # noqa var-naming + +# Controls which additional headers to attach to all HTTP responses. +# To add your own headers, use `matrix_element_call_container_labels_traefik_additional_response_headers_custom` +matrix_element_call_container_labels_traefik_additional_response_headers: "{{ matrix_element_call_container_labels_traefik_additional_response_headers_auto | combine(matrix_element_call_container_labels_traefik_additional_response_headers_custom) }}" +matrix_element_call_container_labels_traefik_additional_response_headers_auto: | + {{ + {} + | combine ({'X-XSS-Protection': matrix_element_call_http_header_xss_protection} if matrix_element_call_http_header_xss_protection else {}) + | combine ({'X-Frame-Options': matrix_element_call_http_header_frame_options} if matrix_element_call_http_header_frame_options else {}) + | combine ({'X-Content-Type-Options': matrix_element_call_http_header_content_type_options} if matrix_element_call_http_header_content_type_options else {}) + | combine ({'Content-Security-Policy': matrix_element_call_http_header_content_security_policy} if matrix_element_call_http_header_content_security_policy else {}) + | combine ({'Permission-Policy': matrix_element_call_http_header_content_permission_policy} if matrix_element_call_http_header_content_permission_policy else {}) + | combine ({'Strict-Transport-Security': matrix_element_call_http_header_strict_transport_security} if matrix_element_call_http_header_strict_transport_security and matrix_element_call_container_labels_traefik_tls else {}) + }} +matrix_element_call_container_labels_traefik_additional_response_headers_custom: {} + +# matrix_element_call_container_labels_additional_labels contains a multiline string with additional labels to add to the container label file. +# See `../templates/labels.j2` for details. +# +# Example: +# matrix_element_call_container_labels_additional_labels: | +# my.label=1 +# another.label="here" +matrix_element_call_container_labels_additional_labels: '' + +# A list of extra arguments to pass to the container +matrix_element_call_container_extra_arguments: [] + +# List of systemd services that matrix-element-call.service depends on +matrix_element_call_systemd_required_services_list: "{{ matrix_element_call_systemd_required_services_list_default + matrix_element_call_systemd_required_services_list_auto + matrix_element_call_systemd_required_services_list_custom }}" +matrix_element_call_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}" +matrix_element_call_systemd_required_services_list_auto: [] +matrix_element_call_systemd_required_services_list_custom: [] + +# Specifies the value of the `X-XSS-Protection` header +# Stops pages from loading when they detect reflected cross-site scripting (XSS) attacks. +# +# Learn more about it is here: +# - https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection +# - https://portswigger.net/web-security/cross-site-scripting/reflected +matrix_element_call_http_header_xss_protection: "1; mode=block" + +# Specifies the value of the `X-Frame-Options` header which controls whether framing can happen. +# See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options +matrix_element_call_http_header_frame_options: '' + +# Specifies the value of the `X-Content-Type-Options` header. +# See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options +matrix_element_call_http_header_content_type_options: nosniff + +# Specifies the value of the `Content-Security-Policy` header. +# See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy +matrix_element_call_http_header_content_security_policy: frame-ancestors * + +# Specifies the value of the `Permission-Policy` header. +# See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Permission-Policy +matrix_element_call_http_header_content_permission_policy: "{{ 'interest-cohort=()' if matrix_element_call_floc_optout_enabled else '' }}" + +# Specifies the value of the `Strict-Transport-Security` header. +# See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security +matrix_element_call_http_header_strict_transport_security: "max-age=31536000; includeSubDomains{{ '; preload' if matrix_element_call_hsts_preload_enabled else '' }}" + +# Controls whether to send a "Permissions-Policy interest-cohort=();" header along with all responses +# +# Learn more about what it is here: +# - https://www.eff.org/deeplinks/2021/03/googles-floc-terrible-idea +# - https://paramdeo.com/blog/opting-your-website-out-of-googles-floc-network +# - https://amifloced.org/ +# +# Of course, a better solution is to just stop using browsers (like Chrome), which participate in such tracking practices. +# See: `matrix_element_call_content_permission_policy` +matrix_element_call_floc_optout_enabled: true + +# Controls if HSTS preloading is enabled +# +# In its strongest and recommended form, the [HSTS policy](https://www.chromium.org/hsts) includes all subdomains, and +# indicates a willingness to be "preloaded" into browsers: +# `Strict-Transport-Security: max-age=31536000; includeSubDomains; preload` +# For more information visit: +# - https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security +# - https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security +# - https://hstspreload.org/#opt-in +# See: `matrix_element_call_http_header_strict_transport_security` +matrix_element_call_hsts_preload_enabled: false + +# Controls the default_server_config/m.homeserver/base_url property in the config.json file. +matrix_element_call_config_default_server_config_m_homeserver_base_url: "{{ matrix_homeserver_url }}" + +# Controls the default_server_config/m.homeserver/server_name property in the config.json file. +matrix_element_call_config_default_server_config_m_homeserver_server_name: "{{ matrix_domain }}" + +# Controls the livekit/livekit_service_url property in the config.json file. +matrix_element_call_config_livekit_livekit_service_url: "" diff --git a/roles/custom/matrix-element-call/tasks/install.yml b/roles/custom/matrix-element-call/tasks/install.yml new file mode 100644 index 000000000..49c3078f8 --- /dev/null +++ b/roles/custom/matrix-element-call/tasks/install.yml @@ -0,0 +1,56 @@ +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2024 wjbeckett +# SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + +--- + +- name: Ensure Element Call paths exist + ansible.builtin.file: + path: "{{ item.path }}" + state: directory + mode: 0750 + owner: "{{ matrix_user_username }}" + group: "{{ matrix_user_groupname }}" + with_items: + - path: "{{ matrix_element_call_base_path }}" + +- name: Ensure Element Call config.json is in place + ansible.builtin.template: + src: "{{ role_path }}/templates/config.json.j2" + dest: "{{ matrix_element_call_base_path }}/config.json" + mode: 0640 + owner: "{{ matrix_user_username }}" + group: "{{ matrix_user_groupname }}" + +- name: Ensure Element Call container labels file is in place + ansible.builtin.template: + src: "{{ role_path }}/templates/labels.j2" + dest: "{{ matrix_element_call_base_path }}/labels" + mode: 0640 + owner: "{{ matrix_user_username }}" + group: "{{ matrix_user_groupname }}" + +- name: Ensure Element Call container image is pulled + community.docker.docker_image: + name: "{{ matrix_element_call_container_image }}" + source: pull + force_source: "{{ matrix_element_call_container_image_force_pull }}" + register: element_call_image_result + retries: "{{ devture_playbook_help_container_retries_count }}" + delay: "{{ devture_playbook_help_container_retries_delay }}" + until: element_call_image_result is not failed + +- name: Ensure Element Call container network is created + community.general.docker_network: + enable_ipv6: "{{ devture_systemd_docker_base_ipv6_enabled }}" + name: "{{ matrix_element_call_container_network }}" + driver: bridge + driver_options: "{{ devture_systemd_docker_base_container_networks_driver_options }}" + +- name: Ensure Element Call systemd service is installed + ansible.builtin.template: + src: "{{ role_path }}/templates/systemd/matrix-element-call.service.j2" + dest: "{{ devture_systemd_docker_base_systemd_path }}/matrix-element-call.service" + mode: 0644 diff --git a/roles/custom/matrix-element-call/tasks/main.yml b/roles/custom/matrix-element-call/tasks/main.yml new file mode 100644 index 000000000..c0b771877 --- /dev/null +++ b/roles/custom/matrix-element-call/tasks/main.yml @@ -0,0 +1,26 @@ +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2024 wjbeckett +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + +--- + +- tags: + - setup-all + - setup-element-call + - install-all + - install-element-call + block: + - when: matrix_element_call_enabled | bool + ansible.builtin.include_tasks: "{{ role_path }}/tasks/validate_config.yml" + + - when: matrix_element_call_enabled | bool + ansible.builtin.include_tasks: "{{ role_path }}/tasks/install.yml" + +- tags: + - setup-all + - setup-element-call + block: + - when: not matrix_element_call_enabled | bool + ansible.builtin.include_tasks: "{{ role_path }}/tasks/uninstall.yml" diff --git a/roles/custom/matrix-element-call/tasks/uninstall.yml b/roles/custom/matrix-element-call/tasks/uninstall.yml new file mode 100644 index 000000000..26ae5303d --- /dev/null +++ b/roles/custom/matrix-element-call/tasks/uninstall.yml @@ -0,0 +1,31 @@ +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2024 wjbeckett +# SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + +--- + +- name: Check existence of matrix-element-call service + ansible.builtin.stat: + path: "{{ devture_systemd_docker_base_systemd_path }}/matrix-element-call.service" + register: matrix_element_call_service_stat + +- when: matrix_element_call_service_stat.stat.exists | bool + block: + - name: Ensure matrix-element-call is stopped + ansible.builtin.service: + name: matrix-element-call + state: stopped + enabled: false + daemon_reload: true + + - name: Ensure matrix-element-call.service doesn't exist + ansible.builtin.file: + path: "{{ devture_systemd_docker_base_systemd_path }}/matrix-element-call.service" + state: absent + + - name: Ensure Element Call paths don't exist + ansible.builtin.file: + path: "{{ matrix_element_call_base_path }}" + state: absent diff --git a/roles/custom/matrix-element-call/tasks/validate_config.yml b/roles/custom/matrix-element-call/tasks/validate_config.yml new file mode 100644 index 000000000..738b2de3c --- /dev/null +++ b/roles/custom/matrix-element-call/tasks/validate_config.yml @@ -0,0 +1,34 @@ +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2024 wjbeckett +# SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + +--- + +- name: Fail if Element Call architecture is not supported + ansible.builtin.fail: + msg: > + Element Call is only supported on amd64 and arm64 architectures. + Your architecture is configured as '{{ matrix_element_call_architecture }}'. + when: "matrix_element_call_architecture not in ['amd64', 'arm64']" + +- name: Fail if required Element Call settings are not defined + ansible.builtin.fail: + msg: > + You need to define a required configuration setting (`{{ item.name }}`). + when: "item.when | bool and vars[item.name] | length == 0" + with_items: + - {'name': 'matrix_element_call_container_network', when: true} + - {'name': 'matrix_element_call_hostname', when: true} + - {'name': 'matrix_element_call_config_livekit_livekit_service_url', when: true} + +# Element Call appears to hardcode all paths to `/` (e.g. `/config.json`, `/assets/...`). +# While we can properly serve the homepage and handle stripping the path prefix on our side, +# the hardcoded URLs in the Element Call are pointing people to the wrong place, which is a problem. +- name: Fail if Element Call path prefix is different than / + ansible.builtin.fail: + msg: > + Element Call with a path prefix other than '/' is not supported yet. + You have configured matrix_element_call_path_prefix to '{{ matrix_element_call_path_prefix }}'. + when: "matrix_element_call_path_prefix != '/'" diff --git a/roles/custom/matrix-element-call/templates/config.json.j2 b/roles/custom/matrix-element-call/templates/config.json.j2 new file mode 100644 index 000000000..1ef5adb9f --- /dev/null +++ b/roles/custom/matrix-element-call/templates/config.json.j2 @@ -0,0 +1,11 @@ +{ + "default_server_config": { + "m.homeserver": { + "base_url": {{ matrix_element_call_config_default_server_config_m_homeserver_base_url | to_json }}, + "server_name": {{ matrix_element_call_config_default_server_config_m_homeserver_server_name | to_json}} + } + }, + "livekit": { + "livekit_service_url": {{ matrix_element_call_config_livekit_livekit_service_url | to_json }} + } +} diff --git a/roles/custom/matrix-element-call/templates/config.json.j2.license b/roles/custom/matrix-element-call/templates/config.json.j2.license new file mode 100644 index 000000000..085b430a3 --- /dev/null +++ b/roles/custom/matrix-element-call/templates/config.json.j2.license @@ -0,0 +1,5 @@ +SPDX-FileCopyrightText: 2022 MDAD project contributors +SPDX-FileCopyrightText: 2024 wjbeckett +SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-element-call/templates/labels.j2 b/roles/custom/matrix-element-call/templates/labels.j2 new file mode 100644 index 000000000..436c13882 --- /dev/null +++ b/roles/custom/matrix-element-call/templates/labels.j2 @@ -0,0 +1,51 @@ +{# +SPDX-FileCopyrightText: 2022 MDAD project contributors +SPDX-FileCopyrightText: 2024 wjbeckett + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + +{% if matrix_element_call_container_labels_traefik_enabled %} +traefik.enable=true + +{% if matrix_element_call_container_labels_traefik_docker_network %} +traefik.docker.network={{ matrix_element_call_container_labels_traefik_docker_network }} +{% endif %} + +traefik.http.services.matrix-element-call.loadbalancer.server.port=8080 + +{% set middlewares = [] %} + +{% if matrix_element_call_container_labels_traefik_path_prefix != '/' %} +traefik.http.middlewares.matrix-element-call-slashless-redirect.redirectregex.regex=({{ matrix_element_call_container_labels_traefik_path_prefix | quote }})$ +traefik.http.middlewares.matrix-element-call-slashless-redirect.redirectregex.replacement=${1}/ +{% set middlewares = middlewares + ['matrix-element-call-slashless-redirect'] %} + +traefik.http.middlewares.matrix-element-call-strip-prefix.stripprefix.prefixes={{ matrix_element_call_container_labels_traefik_path_prefix }} +{% set middlewares = middlewares + ['matrix-element-call-strip-prefix'] %} +{% endif %} + +{% if matrix_element_call_container_labels_traefik_additional_response_headers.keys() | length > 0 %} +{% for name, value in matrix_element_call_container_labels_traefik_additional_response_headers.items() %} +traefik.http.middlewares.matrix-element-call-add-headers.headers.customresponseheaders.{{ name }}={{ value }} +{% endfor %} +{% set middlewares = middlewares + ['matrix-element-call-add-headers'] %} +{% endif %} + +traefik.http.routers.matrix-element-call.rule={{ matrix_element_call_container_labels_traefik_rule }} +{% if matrix_element_call_container_labels_traefik_priority | int > 0 %} +traefik.http.routers.matrix-element-call.priority={{ matrix_element_call_container_labels_traefik_priority }} +{% endif %} +traefik.http.routers.matrix-element-call.service=matrix-element-call +{% if middlewares | length > 0 %} +traefik.http.routers.matrix-element-call.middlewares={{ middlewares | join(',') }} +{% endif %} +traefik.http.routers.matrix-element-call.entrypoints={{ matrix_element_call_container_labels_traefik_entrypoints }} +traefik.http.routers.matrix-element-call.tls={{ matrix_element_call_container_labels_traefik_tls | to_json }} +{% if matrix_element_call_container_labels_traefik_tls %} +traefik.http.routers.matrix-element-call.tls.certResolver={{ matrix_element_call_container_labels_traefik_tls_certResolver }} +{% endif %} + +{% endif %} + +{{ matrix_element_call_container_labels_additional_labels }} \ No newline at end of file diff --git a/roles/custom/matrix-element-call/templates/systemd/matrix-element-call.service.j2 b/roles/custom/matrix-element-call/templates/systemd/matrix-element-call.service.j2 new file mode 100644 index 000000000..f9cc7cd2b --- /dev/null +++ b/roles/custom/matrix-element-call/templates/systemd/matrix-element-call.service.j2 @@ -0,0 +1,46 @@ +#jinja2: lstrip_blocks: "True" +[Unit] +Description=Element Call +{% for service in matrix_element_call_systemd_required_services_list %} +Requires={{ service }} +After={{ service }} +{% endfor %} +DefaultDependencies=no + +[Service] +Type=simple +Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-element-call 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-element-call 2>/dev/null || true' + +ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ + --rm \ + --name=matrix-element-call \ + --log-driver=none \ + --user={{ matrix_user_uid }}:{{ matrix_user_gid }} \ + --cap-drop=ALL \ + --network={{ matrix_element_call_container_network }} \ + --mount type=bind,src={{ matrix_element_call_base_path }}/config.json,dst=/app/config.json,ro \ + {% if matrix_element_call_container_http_host_bind_port %} + -p {{ matrix_element_call_container_http_host_bind_port }}:8080 \ + {% endif %} + --label-file={{ matrix_element_call_base_path }}/labels \ + {% for arg in matrix_element_call_container_extra_arguments %} + {{ arg }} \ + {% endfor %} + {{ matrix_element_call_container_image }} + +{% for network in matrix_element_call_container_additional_networks %} +ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network connect {{ network }} matrix-element-call +{% endfor %} + +ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-element-call + +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-element-call 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-element-call 2>/dev/null || true' +Restart=always +RestartSec=30 +SyslogIdentifier=matrix-element-call + +[Install] +WantedBy=multi-user.target diff --git a/roles/custom/matrix-element-call/templates/systemd/matrix-element-call.service.j2.license b/roles/custom/matrix-element-call/templates/systemd/matrix-element-call.service.j2.license new file mode 100644 index 000000000..085b430a3 --- /dev/null +++ b/roles/custom/matrix-element-call/templates/systemd/matrix-element-call.service.j2.license @@ -0,0 +1,5 @@ +SPDX-FileCopyrightText: 2022 MDAD project contributors +SPDX-FileCopyrightText: 2024 wjbeckett +SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-element-call/vars/main.yml b/roles/custom/matrix-element-call/vars/main.yml new file mode 100644 index 000000000..b07bb4c89 --- /dev/null +++ b/roles/custom/matrix-element-call/vars/main.yml @@ -0,0 +1,8 @@ +# SPDX-FileCopyrightText: 2024 wjbeckett +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + +--- + +matrix_element_call_public_url: "{{ matrix_element_call_scheme }}://{{ matrix_element_call_hostname }}" diff --git a/roles/custom/matrix-livekit-jwt-service/defaults/main.yml b/roles/custom/matrix-livekit-jwt-service/defaults/main.yml new file mode 100644 index 000000000..cdba27bf1 --- /dev/null +++ b/roles/custom/matrix-livekit-jwt-service/defaults/main.yml @@ -0,0 +1,96 @@ +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2024 wjbeckett +# SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + +--- + +# Project source code URL: https://github.com/element-hq/lk-jwt-service + +matrix_livekit_jwt_service_enabled: false + +matrix_livekit_jwt_service_scheme: https +matrix_livekit_jwt_service_hostname: "" +matrix_livekit_jwt_service_path_prefix: "/livekit-jwt-service" + +matrix_livekit_jwt_service_base_path: "{{ matrix_base_data_path }}/livekit-jwt-service" + +matrix_livekit_jwt_service_container_network: '' + +matrix_livekit_jwt_service_container_http_host_bind_port: '' + +matrix_livekit_jwt_service_container_additional_networks: "{{ (matrix_livekit_jwt_service_container_additional_networks_auto + matrix_livekit_jwt_service_container_additional_networks_custom) | unique }}" +matrix_livekit_jwt_service_container_additional_networks_auto: [] +matrix_livekit_jwt_service_container_additional_networks_custom: [] + +# renovate: datasource=docker depName=ghcr.io/element-hq/lk-jwt-service +matrix_livekit_jwt_service_version: 0.2.0 + +matrix_livekit_jwt_service_container_image_self_build: false +matrix_livekit_jwt_service_container_repo: "https://github.com/element-hq/lk-jwt-service.git" +matrix_livekit_jwt_service_container_repo_version: "{{ 'main' if matrix_livekit_jwt_service_version == 'latest' else ('v' + livekit_server_version) }}" +matrix_livekit_jwt_service_container_src_files_path: "{{ matrix_livekit_jwt_service_base_path }}/container-src" + +matrix_livekit_jwt_service_container_image: "{{ matrix_livekit_jwt_service_container_image_registry_prefix }}element-hq/lk-jwt-service:{{ matrix_livekit_jwt_service_container_image_tag }}" +matrix_livekit_jwt_service_container_image_registry_prefix: "{{ 'localhost/' if matrix_livekit_jwt_service_container_image_self_build else matrix_livekit_jwt_service_container_image_registry_prefix_upstream }}" +matrix_livekit_jwt_service_container_image_registry_prefix_upstream: "{{ matrix_livekit_jwt_service_container_image_registry_prefix_upstream_default }}" +matrix_livekit_jwt_service_container_image_registry_prefix_upstream_default: ghcr.io/ +matrix_livekit_jwt_service_container_image_tag: "{{ matrix_livekit_jwt_service_version }}" +matrix_livekit_jwt_service_container_image_force_pull: "{{ matrix_livekit_jwt_service_container_image.endswith(':latest') }}" + +matrix_livekit_jwt_service_container_labels_traefik_enabled: true +matrix_livekit_jwt_service_container_labels_traefik_docker_network: "{{ matrix_livekit_jwt_service_container_network }}" +matrix_livekit_jwt_service_container_labels_traefik_hostname: "{{ matrix_livekit_jwt_service_hostname }}" +# The path prefix must either be `/` or not end with a slash (e.g. `/livekit-jwt-service`). +matrix_livekit_jwt_service_container_labels_traefik_path_prefix: "{{ matrix_livekit_jwt_service_path_prefix }}" +matrix_livekit_jwt_service_container_labels_traefik_rule: "Host(`{{ matrix_livekit_jwt_service_container_labels_traefik_hostname }}`){% if matrix_livekit_jwt_service_container_labels_traefik_path_prefix != '/' %} && PathPrefix(`{{ matrix_livekit_jwt_service_container_labels_traefik_path_prefix }}`){% endif %}" +matrix_livekit_jwt_service_container_labels_traefik_priority: 0 +matrix_livekit_jwt_service_container_labels_traefik_entrypoints: web-secure +matrix_livekit_jwt_service_container_labels_traefik_tls: "{{ matrix_livekit_jwt_service_container_labels_traefik_entrypoints != 'web' }}" +matrix_livekit_jwt_service_container_labels_traefik_tls_certResolver: default # noqa var-naming + +# Controls which additional headers to attach to all HTTP responses. +# To add your own headers, use `matrix_livekit_jwt_service_container_labels_traefik_additional_response_headers_custom` +matrix_livekit_jwt_service_container_labels_traefik_additional_response_headers: "{{ matrix_livekit_jwt_service_container_labels_traefik_additional_response_headers_auto | combine(matrix_livekit_jwt_service_container_labels_traefik_additional_response_headers_custom) }}" +matrix_livekit_jwt_service_container_labels_traefik_additional_response_headers_auto: {} +matrix_livekit_jwt_service_container_labels_traefik_additional_response_headers_custom: {} + +# matrix_livekit_jwt_service_container_labels_additional_labels contains a multiline string with additional labels to add to the container label file. +# See `../templates/labels.j2` for details. +# +# Example: +# matrix_livekit_jwt_service_container_labels_additional_labels: | +# my.label=1 +# another.label="here" +matrix_livekit_jwt_service_container_labels_additional_labels: '' + +# A list of extra arguments to pass to the container +matrix_livekit_jwt_service_container_extra_arguments: [] + +# Controls the LK_JWT_PORT environment variable +matrix_livekit_jwt_service_environment_variable_livekit_jwt_port: 8080 + +# Controls the LIVEKIT_KEY environment variable +matrix_livekit_jwt_service_environment_variable_livekit_key: "" + +# Controls the LIVEKIT_URL environment variable +matrix_livekit_jwt_service_environment_variable_livekit_url: "" + +# Controls the LIVEKIT_SECRET environment variable +matrix_livekit_jwt_service_environment_variable_livekit_secret: "" + +# Additional environment variables to pass to the container. +# +# Environment variables take priority over settings in the configuration file. +# +# Example: +# matrix_livekit_jwt_service_environment_variables_extension: | +# KEY=value +matrix_livekit_jwt_service_environment_variables_extension: '' + +# List of systemd services that LiveKit JWT Service service depends on +matrix_livekit_jwt_service_systemd_required_services_list: "{{ matrix_livekit_jwt_service_systemd_required_services_list_default + matrix_livekit_jwt_service_systemd_required_services_list_auto + matrix_livekit_jwt_service_systemd_required_services_list_custom }}" +matrix_livekit_jwt_service_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}" +matrix_livekit_jwt_service_systemd_required_services_list_auto: [] +matrix_livekit_jwt_service_systemd_required_services_list_custom: [] diff --git a/roles/custom/matrix-livekit-jwt-service/tasks/install.yml b/roles/custom/matrix-livekit-jwt-service/tasks/install.yml new file mode 100644 index 000000000..9193d6679 --- /dev/null +++ b/roles/custom/matrix-livekit-jwt-service/tasks/install.yml @@ -0,0 +1,76 @@ +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2024 wjbeckett +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + +--- + +- name: Ensure LiveKit JWT Service paths exist + ansible.builtin.file: + path: "{{ item.path }}" + state: directory + mode: 0750 + owner: "{{ matrix_user_username }}" + group: "{{ matrix_user_groupname }}" + with_items: + - path: "{{ matrix_livekit_jwt_service_base_path }}" + +- name: Ensure LiveKit JWT Service support files installed + ansible.builtin.template: + src: "{{ role_path }}/templates/{{ item }}.j2" + dest: "{{ matrix_livekit_jwt_service_base_path }}/{{ item }}" + mode: 0640 + owner: "{{ matrix_user_username }}" + group: "{{ matrix_user_groupname }}" + with_items: + - env + - labels + +- name: Ensure LiveKit JWT Service container image is pulled + community.docker.docker_image: + name: "{{ matrix_livekit_jwt_service_container_image }}" + source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}" + force_source: "{{ matrix_livekit_jwt_service_container_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" + force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_livekit_jwt_service_container_image_force_pull }}" + when: "not matrix_livekit_jwt_service_container_image_self_build | bool" + register: result + retries: "{{ devture_playbook_help_container_retries_count }}" + delay: "{{ devture_playbook_help_container_retries_delay }}" + until: result is not failed + +- when: "matrix_livekit_jwt_service_container_image_self_build | bool" + block: + - name: Ensure LiveKit JWT Service repository is present on self-build + ansible.builtin.git: + repo: "{{ matrix_livekit_jwt_service_container_repo }}" + version: "{{ matrix_livekit_jwt_service_container_repo_version }}" + dest: "{{ matrix_livekit_jwt_service_container_src_files_path }}" + force: "yes" + become: true + become_user: "{{ matrix_user_username }}" + register: matrix_livekit_jwt_service_git_pull_results + + - name: Ensure LiveKit JWT Service container image is built + community.docker.docker_image: + name: "{{ matrix_livekit_jwt_service_container_image }}" + source: build + force_source: "{{ matrix_livekit_jwt_service_git_pull_results.changed if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" + force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_livekit_jwt_service_git_pull_results.changed }}" + build: + dockerfile: Dockerfile + path: "{{ matrix_livekit_jwt_service_container_src_files_path }}" + pull: true + +- name: Ensure LiveKit JWT Service container network is created + community.general.docker_network: + enable_ipv6: "{{ devture_systemd_docker_base_ipv6_enabled }}" + name: "{{ matrix_livekit_jwt_service_container_network }}" + driver: bridge + driver_options: "{{ devture_systemd_docker_base_container_networks_driver_options }}" + +- name: Ensure LiveKit JWT Service systemd service is installed + ansible.builtin.template: + src: "{{ role_path }}/templates/systemd/matrix-livekit-jwt-service.service.j2" + dest: "{{ devture_systemd_docker_base_systemd_path }}/matrix-livekit-jwt-service.service" + mode: 0644 diff --git a/roles/custom/matrix-livekit-jwt-service/tasks/main.yml b/roles/custom/matrix-livekit-jwt-service/tasks/main.yml new file mode 100644 index 000000000..29b49dde6 --- /dev/null +++ b/roles/custom/matrix-livekit-jwt-service/tasks/main.yml @@ -0,0 +1,26 @@ +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2024 wjbeckett +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + +--- + +- tags: + - setup-all + - setup-jwt-service + - install-all + - install-livekit-jwt-service + block: + - when: matrix_livekit_jwt_service_enabled | bool + ansible.builtin.include_tasks: "{{ role_path }}/tasks/validate_config.yml" + + - when: matrix_livekit_jwt_service_enabled | bool + ansible.builtin.include_tasks: "{{ role_path }}/tasks/install.yml" + +- tags: + - setup-all + - setup-livekit-jwt-service + block: + - when: not matrix_livekit_jwt_service_enabled | bool + ansible.builtin.include_tasks: "{{ role_path }}/tasks/uninstall.yml" diff --git a/roles/custom/matrix-livekit-jwt-service/tasks/uninstall.yml b/roles/custom/matrix-livekit-jwt-service/tasks/uninstall.yml new file mode 100644 index 000000000..d33c35760 --- /dev/null +++ b/roles/custom/matrix-livekit-jwt-service/tasks/uninstall.yml @@ -0,0 +1,31 @@ +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2024 wjbeckett +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + +--- + +- name: Check existence of LiveKit JWT Service systemd service + ansible.builtin.stat: + path: "{{ devture_systemd_docker_base_systemd_path }}/matrix-livekit-jwt-service.service" + register: matrix_livekit_jwt_service_service_stat + +- when: matrix_livekit_jwt_service_service_stat.stat.exists | bool + block: + - name: Ensure LiveKit JWT Service systemd service is stopped + ansible.builtin.service: + name: matrix-livekit-jwt-service + state: stopped + enabled: false + daemon_reload: true + + - name: Ensure LiveKit JWT Service systemd service doesn't exist + ansible.builtin.file: + path: "{{ devture_systemd_docker_base_systemd_path }}/matrix-livekit-jwt-service.service" + state: absent + + - name: Ensure LiveKit JWT Service paths don't exist + ansible.builtin.file: + path: "{{ matrix_livekit_jwt_service_base_path }}" + state: absent diff --git a/roles/custom/matrix-livekit-jwt-service/tasks/validate_config.yml b/roles/custom/matrix-livekit-jwt-service/tasks/validate_config.yml new file mode 100644 index 000000000..f731898f2 --- /dev/null +++ b/roles/custom/matrix-livekit-jwt-service/tasks/validate_config.yml @@ -0,0 +1,19 @@ +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2024 wjbeckett +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + +--- + +- name: Fail if required LiveKit JWT Service settings are not defined + ansible.builtin.fail: + msg: > + You need to define a required configuration setting (`{{ item.name }}`). + when: "item.when | bool and vars[item.name] | length == 0" + with_items: + - {'name': 'matrix_livekit_jwt_service_hostname', when: true} + - {'name': 'matrix_livekit_jwt_service_container_network', when: true} + - {'name': 'matrix_livekit_jwt_service_environment_variable_livekit_key', when: true} + - {'name': 'matrix_livekit_jwt_service_environment_variable_livekit_url', when: true} + - {'name': 'matrix_livekit_jwt_service_environment_variable_livekit_secret', when: true} diff --git a/roles/custom/matrix-livekit-jwt-service/templates/env.j2 b/roles/custom/matrix-livekit-jwt-service/templates/env.j2 new file mode 100644 index 000000000..c32da08ef --- /dev/null +++ b/roles/custom/matrix-livekit-jwt-service/templates/env.j2 @@ -0,0 +1,14 @@ +{# +SPDX-FileCopyrightText: 2024 wjbeckett +SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + +LIVEKIT_JWT_PORT={{ matrix_livekit_jwt_service_environment_variable_livekit_jwt_port | int | to_json }} + +LIVEKIT_KEY={{ matrix_livekit_jwt_service_environment_variable_livekit_key }} +LIVEKIT_URL={{ matrix_livekit_jwt_service_environment_variable_livekit_url }} +LIVEKIT_SECRET={{ matrix_livekit_jwt_service_environment_variable_livekit_secret }} + +{{ matrix_livekit_jwt_service_environment_variables_extension }} diff --git a/roles/custom/matrix-livekit-jwt-service/templates/labels.j2 b/roles/custom/matrix-livekit-jwt-service/templates/labels.j2 new file mode 100644 index 000000000..c372cbb78 --- /dev/null +++ b/roles/custom/matrix-livekit-jwt-service/templates/labels.j2 @@ -0,0 +1,55 @@ +{# +SPDX-FileCopyrightText: 2024 wjbeckett +SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + +{% if matrix_livekit_jwt_service_container_labels_traefik_enabled %} +traefik.enable=true + +traefik.docker.network={{ matrix_livekit_jwt_service_container_labels_traefik_docker_network }} + +traefik.http.services.matrix-livekit-jwt-service.loadbalancer.server.port={{ matrix_livekit_jwt_service_environment_variable_livekit_jwt_port }} + +{% set middlewares = [] %} + +{% if matrix_livekit_jwt_service_container_labels_traefik_path_prefix != '/' %} +traefik.http.middlewares.matrix-livekit-jwt-service-slashless-redirect.redirectregex.regex=({{ matrix_livekit_jwt_service_container_labels_traefik_path_prefix | quote }})$ +traefik.http.middlewares.matrix-livekit-jwt-service-slashless-redirect.redirectregex.replacement=${1}/ +{% set middlewares = middlewares + ['matrix-livekit-jwt-service-slashless-redirect'] %} + +traefik.http.middlewares.matrix-livekit-jwt-service-strip-prefix.stripprefix.prefixes={{ matrix_livekit_jwt_service_container_labels_traefik_path_prefix }} +{% set middlewares = middlewares + ['matrix-livekit-jwt-service-strip-prefix'] %} +{% endif %} + +{% if matrix_livekit_jwt_service_container_labels_traefik_additional_response_headers.keys() | length > 0 %} +{% for name, value in matrix_livekit_jwt_service_container_labels_traefik_additional_response_headers.items() %} +traefik.http.middlewares.matrix-livekit-jwt-service-add-headers.headers.customresponseheaders.{{ name }}={{ value }} +{% endfor %} +{% set middlewares = middlewares + ['matrix-livekit-jwt-service-add-headers'] %} +{% endif %} + +traefik.http.routers.matrix-livekit-jwt-service.rule={{ matrix_livekit_jwt_service_container_labels_traefik_rule }} + +{% if matrix_livekit_jwt_service_container_labels_traefik_priority | int > 0 %} +traefik.http.routers.matrix-livekit-jwt-service.priority={{ matrix_livekit_jwt_service_container_labels_traefik_priority }} +{% endif %} + +traefik.http.routers.matrix-livekit-jwt-service.service=matrix-livekit-jwt-service + +{% if middlewares | length > 0 %} +traefik.http.routers.matrix-livekit-jwt-service.middlewares={{ middlewares | join(',') }} +{% endif %} + +traefik.http.routers.matrix-livekit-jwt-service.entrypoints={{ matrix_livekit_jwt_service_container_labels_traefik_entrypoints }} + +traefik.http.routers.matrix-livekit-jwt-service.tls={{ matrix_livekit_jwt_service_container_labels_traefik_tls | to_json }} + +{% if matrix_livekit_jwt_service_container_labels_traefik_tls %} +traefik.http.routers.matrix-livekit-jwt-service.tls.certResolver={{ matrix_livekit_jwt_service_container_labels_traefik_tls_certResolver }} +{% endif %} + +{% endif %} + +{{ matrix_livekit_jwt_service_container_labels_additional_labels }} diff --git a/roles/custom/matrix-livekit-jwt-service/templates/systemd/matrix-livekit-jwt-service.service.j2 b/roles/custom/matrix-livekit-jwt-service/templates/systemd/matrix-livekit-jwt-service.service.j2 new file mode 100644 index 000000000..073d27e36 --- /dev/null +++ b/roles/custom/matrix-livekit-jwt-service/templates/systemd/matrix-livekit-jwt-service.service.j2 @@ -0,0 +1,42 @@ +#jinja2: lstrip_blocks: "True" +[Unit] +Description=Matrix LiveKit JWT Service +{% for service in matrix_livekit_jwt_service_systemd_required_services_list %} +After={{ service }} +Requires={{ service }} +{% endfor %} + +[Service] +Type=simple +Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-livekit-jwt-service 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-livekit-jwt-service 2>/dev/null || true' + +ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ + --rm \ + --name=matrix-livekit-jwt-service \ + --log-driver=none \ + --user={{ matrix_user_uid }}:{{ matrix_user_gid }} \ + --cap-drop=ALL \ + --network={{ matrix_livekit_jwt_service_container_network }} \ + {% if matrix_livekit_jwt_service_container_http_host_bind_port %} + -p {{ matrix_livekit_jwt_service_container_http_host_bind_port }}:{{ matrix_livekit_jwt_service_environment_variable_livekit_jwt_port }} \ + {% endif %} + --env-file={{ matrix_livekit_jwt_service_base_path }}/env \ + --label-file={{ matrix_livekit_jwt_service_base_path }}/labels \ + {{ matrix_livekit_jwt_service_container_image }} + +{% for network in matrix_livekit_jwt_service_container_additional_networks %} +ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network connect {{ network }} matrix-livekit-jwt-service +{% endfor %} + +ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-livekit-jwt-service + +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-livekit-jwt-service 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-jwt-service 2>/dev/null || true' +Restart=always +RestartSec=30 +SyslogIdentifier=matrix-livekit-jwt-service + +[Install] +WantedBy=multi-user.target diff --git a/roles/custom/matrix-livekit-jwt-service/templates/systemd/matrix-livekit-jwt-service.service.j2.license b/roles/custom/matrix-livekit-jwt-service/templates/systemd/matrix-livekit-jwt-service.service.j2.license new file mode 100644 index 000000000..085b430a3 --- /dev/null +++ b/roles/custom/matrix-livekit-jwt-service/templates/systemd/matrix-livekit-jwt-service.service.j2.license @@ -0,0 +1,5 @@ +SPDX-FileCopyrightText: 2022 MDAD project contributors +SPDX-FileCopyrightText: 2024 wjbeckett +SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-livekit-jwt-service/vars/main.yml b/roles/custom/matrix-livekit-jwt-service/vars/main.yml new file mode 100644 index 000000000..a6070f646 --- /dev/null +++ b/roles/custom/matrix-livekit-jwt-service/vars/main.yml @@ -0,0 +1,7 @@ +# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + +--- + +matrix_livekit_jwt_service_public_url: "{{ matrix_livekit_jwt_service_scheme }}://{{ matrix_livekit_jwt_service_hostname }}{{ matrix_livekit_jwt_service_path_prefix }}" diff --git a/roles/custom/matrix-static-files/defaults/main.yml b/roles/custom/matrix-static-files/defaults/main.yml index 2f51588a6..77340c7b9 100644 --- a/roles/custom/matrix-static-files/defaults/main.yml +++ b/roles/custom/matrix-static-files/defaults/main.yml @@ -20,6 +20,7 @@ matrix_static_files_config_path: "{{ matrix_static_files_base_path }}/config" matrix_static_files_public_path: "{{ matrix_static_files_base_path }}/public" matrix_static_files_public_well_known_path: "{{ matrix_static_files_public_path }}/.well-known" matrix_static_files_public_well_known_matrix_path: "{{ matrix_static_files_public_well_known_path }}/matrix" +matrix_static_files_public_well_known_element_path: "{{ matrix_static_files_public_well_known_path }}/element" # List of systemd services that matrix-static-files.service depends on matrix_static_files_systemd_required_services_list: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}" @@ -211,6 +212,16 @@ matrix_static_files_file_matrix_client_property_cc_etke_synapse_admin: "{{ matri matrix_static_files_file_matrix_client_property_cc_etke_synapse_admin_auto: {} matrix_static_files_file_matrix_client_property_cc_etke_synapse_admin_custom: {} +# Controls whether `org.matrix.msc4143.rtc_foci`-related entries should be added to the client well-known. +# By default, if there are entries in `matrix_static_files_file_matrix_client_property_org_matrix_msc4143_rtc_foci`, we show them (by enabling this). +matrix_static_files_file_matrix_client_property_org_matrix_msc4143_rtc_foci_enabled: "{{ matrix_static_files_file_matrix_client_property_org_matrix_msc4143_rtc_foci | default({}) | dict2items | length > 0 }}" + +# Controls the org.matrix.msc4143.rtc_foci property in the /.well-known/matrix/client file. +# See `matrix_static_files_file_matrix_client_property_org_matrix_msc4143_rtc_foci_enabled` +matrix_static_files_file_matrix_client_property_org_matrix_msc4143_rtc_foci: "{{ matrix_static_files_file_matrix_client_property_org_matrix_msc4143_rtc_foci_auto | combine(matrix_static_files_file_matrix_client_property_org_matrix_msc4143_rtc_foci_custom, recursive=True) }}" +matrix_static_files_file_matrix_client_property_org_matrix_msc4143_rtc_foci_auto: {} +matrix_static_files_file_matrix_client_property_org_matrix_msc4143_rtc_foci_custom: {} + # Default /.well-known/matrix/client configuration template which covers the generic use case. # You can customize it by controlling the various variables inside it. # @@ -358,6 +369,56 @@ matrix_static_files_file_matrix_support_configuration: "{{ matrix_static_files_f ######################################################################## +######################################################################## +# # +# Related to /.well-known/element/element.json # +# # +######################################################################## + +# Controls whether a `/.well-known/element/element.json` file is generated and used at all. +matrix_static_files_file_element_element_json_enabled: true + +# Controls the call.widget_url property in the /.well-known/element/element.json file +matrix_static_files_file_element_element_json_property_call_widget_url: '' + +# Default /.well-known/element/element.json configuration template which covers the generic use case. +# You can customize it by controlling the various variables inside it. +# +# For a more advanced customization, you can extend the default (see `matrix_static_files_file_matrix_support_configuration_extension_json`) +# or completely replace this variable with your own template. +matrix_static_files_file_element_element_json_configuration_json: "{{ lookup('template', 'templates/public/.well-known/element/element.json.j2') }}" + +# Your custom JSON configuration for /.well-known/element/element.json should go to `matrix_static_files_file_element_element_json_configuration_extension_json`. +# This configuration extends the default starting configuration (`matrix_static_files_file_matrix_support_configuration_extension_json`). +# +# You can override individual variables from the default configuration, or introduce new ones. +# +# If you need something more special, you can take full control by +# completely redefining `matrix_static_files_file_matrix_support_configuration_json`. +# +# Example configuration extension follows: +# +# matrix_static_files_file_element_element_json_configuration_extension_json: | +# { +# "call": { +# "url": "value" +# } +# } +matrix_static_files_file_element_element_json_configuration_extension_json: '{}' + +matrix_static_files_file_element_element_json_configuration_extension: "{{ matrix_static_files_file_element_element_json_configuration_extension_json | from_json if matrix_static_files_file_element_element_json_configuration_extension_json | from_json is mapping else {} }}" + +# Holds the final /.well-known/matrix/support configuration (a combination of the default and its extension). +# You most likely don't need to touch this variable. Instead, see `matrix_static_files_file_element_element_json_configuration_json` or `matrix_static_files_file_element_element_json_configuration_extension_json`. +matrix_static_files_file_element_element_json_configuration: "{{ matrix_static_files_file_element_element_json_configuration_json | combine(matrix_static_files_file_element_element_json_configuration_extension, recursive=True) }}" + +######################################################################## +# # +# /Related to /.well-known/element/element.json # +# # +######################################################################## + + ######################################################################## # # # Related to index.html # diff --git a/roles/custom/matrix-static-files/tasks/install.yml b/roles/custom/matrix-static-files/tasks/install.yml index f23592644..5b8609011 100644 --- a/roles/custom/matrix-static-files/tasks/install.yml +++ b/roles/custom/matrix-static-files/tasks/install.yml @@ -7,17 +7,19 @@ - name: Ensure matrix-static-files paths exist ansible.builtin.file: - path: "{{ item }}" + path: "{{ item.path }}" state: directory mode: 0750 owner: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}" with_items: - - "{{ matrix_static_files_base_path }}" - - "{{ matrix_static_files_config_path }}" - - "{{ matrix_static_files_public_path }}" - - "{{ matrix_static_files_public_well_known_path }}" - - "{{ matrix_static_files_public_well_known_matrix_path }}" + - {path: "{{ matrix_static_files_base_path }}", when: true} + - {path: "{{ matrix_static_files_config_path }}", when: true} + - {path: "{{ matrix_static_files_public_path }}", when: true} + - {path: "{{ matrix_static_files_public_well_known_path }}", when: true} + - {path: "{{ matrix_static_files_public_well_known_matrix_path }}", when: true} + - {path: "{{ matrix_static_files_public_well_known_element_path }}", when: true} + when: "item.when | bool" - name: Ensure matrix-static-files is configured ansible.builtin.template: @@ -57,6 +59,10 @@ dest: "{{ matrix_static_files_public_well_known_matrix_path }}/support" when: "{{ matrix_static_files_file_matrix_support_enabled }}" + - content: "{{ matrix_static_files_file_element_element_json_configuration | to_nice_json }}" + dest: "{{ matrix_static_files_public_well_known_element_path }}/element.json" + when: "{{ matrix_static_files_file_element_element_json_enabled }}" + # This one will not be deleted if `matrix_static_files_file_index_html_enabled` flips to `false`. # See the comment for `matrix_static_files_file_index_html_enabled` to learn why. - content: "{{ matrix_static_files_file_index_html_template }}" @@ -75,6 +81,12 @@ state: absent when: "not matrix_static_files_file_matrix_support_enabled | bool" +- name: Ensure /.well-known/element/element.json file deleted if not enabled + ansible.builtin.file: + path: "{{ matrix_static_files_public_well_known_element_path }}/element.json" + state: absent + when: "not matrix_static_files_file_element_element_json_enabled | bool" + - name: Ensure matrix-static-files container image is pulled community.docker.docker_image: name: "{{ matrix_static_files_container_image }}" diff --git a/roles/custom/matrix-static-files/templates/public/.well-known/element/element.json.j2 b/roles/custom/matrix-static-files/templates/public/.well-known/element/element.json.j2 new file mode 100644 index 000000000..68d13f098 --- /dev/null +++ b/roles/custom/matrix-static-files/templates/public/.well-known/element/element.json.j2 @@ -0,0 +1,7 @@ +{ + {% if matrix_static_files_file_element_element_json_property_call_widget_url %} + "call": { + "widget_url": {{ matrix_static_files_file_element_element_json_property_call_widget_url | to_json }} + } + {% endif %} +} diff --git a/roles/custom/matrix-static-files/templates/public/.well-known/element/element.json.j2.license b/roles/custom/matrix-static-files/templates/public/.well-known/element/element.json.j2.license new file mode 100644 index 000000000..3d67f3cc5 --- /dev/null +++ b/roles/custom/matrix-static-files/templates/public/.well-known/element/element.json.j2.license @@ -0,0 +1,4 @@ +SPDX-FileCopyrightText: 2024 wjbeckett +SPDX-FileCopyrightText: 2024 Slavi Pantaleev + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-static-files/templates/public/.well-known/matrix/client.j2 b/roles/custom/matrix-static-files/templates/public/.well-known/matrix/client.j2 index 86882893a..600e8f4c7 100644 --- a/roles/custom/matrix-static-files/templates/public/.well-known/matrix/client.j2 +++ b/roles/custom/matrix-static-files/templates/public/.well-known/matrix/client.j2 @@ -57,4 +57,7 @@ {% if matrix_static_files_file_matrix_client_property_cc_etke_synapse_admin_enabled %}, "cc.etke.synapse-admin": {{ matrix_static_files_file_matrix_client_property_cc_etke_synapse_admin | to_json }} {% endif %} + {% if matrix_static_files_file_matrix_client_property_org_matrix_msc4143_rtc_foci_enabled %}, + "org.matrix.msc4143.rtc_foci": {{ matrix_static_files_file_matrix_client_property_org_matrix_msc4143_rtc_foci | to_json }} + {% endif %} } diff --git a/setup.yml b/setup.yml index 7149b3cdf..b5aa83412 100644 --- a/setup.yml +++ b/setup.yml @@ -133,6 +133,10 @@ - custom/matrix-media-repo - custom/matrix-pantalaimon + - custom/matrix-element-call + - galaxy/livekit_server + - custom/matrix-livekit-jwt-service + - role: galaxy/postgres_backup - role: galaxy/backup_borg From b2e6ce5a7f9771d8aefebde108a7afdb79e30b4f Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 15 Mar 2025 15:06:50 +0900 Subject: [PATCH 756/841] Update docs for some mautrix bridges: minor rewording Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-bridge-mautrix-bluesky.md | 3 ++- docs/configuring-playbook-bridge-mautrix-googlechat.md | 2 +- docs/configuring-playbook-bridge-mautrix-twitter.md | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/configuring-playbook-bridge-mautrix-bluesky.md b/docs/configuring-playbook-bridge-mautrix-bluesky.md index fac227c78..3a9c07303 100644 --- a/docs/configuring-playbook-bridge-mautrix-bluesky.md +++ b/docs/configuring-playbook-bridge-mautrix-bluesky.md @@ -1,6 +1,7 @@ @@ -57,7 +58,7 @@ To use the bridge, you need to start a chat with `@blueskybot:example.com` (wher You can then follow instructions on the bridge's [official documentation on Authentication](https://docs.mau.fi/bridges/go/bluesky/authentication.html). -After logging in, the bridge will create portal rooms for some recent chats. Portal rooms for other chats will be created as you receive messages. +After logging in, the bridge will create portal rooms for recent chats. Portal rooms for other chats will be created as you receive messages. ## Troubleshooting diff --git a/docs/configuring-playbook-bridge-mautrix-googlechat.md b/docs/configuring-playbook-bridge-mautrix-googlechat.md index 5fd1ef99b..3cc9eed9a 100644 --- a/docs/configuring-playbook-bridge-mautrix-googlechat.md +++ b/docs/configuring-playbook-bridge-mautrix-googlechat.md @@ -63,7 +63,7 @@ To use the bridge, you need to start a chat with `@googlechatbot:example.com` (w You can then follow instructions on the bridge's [official documentation on Authentication](https://docs.mau.fi/bridges/python/googlechat/authentication.html). -After logging in, the bridge will create portal rooms for some recent chats. Portal rooms for other chats will be created as you receive messages. +After logging in, the bridge will create portal rooms for recent chats. Portal rooms for other chats will be created as you receive messages. ## Troubleshooting diff --git a/docs/configuring-playbook-bridge-mautrix-twitter.md b/docs/configuring-playbook-bridge-mautrix-twitter.md index ff8eb8f1f..3d12f8f10 100644 --- a/docs/configuring-playbook-bridge-mautrix-twitter.md +++ b/docs/configuring-playbook-bridge-mautrix-twitter.md @@ -63,7 +63,7 @@ To use the bridge, you need to start a chat with `@twitterbot:example.com` (wher You can then follow instructions on the bridge's [official documentation on Authentication](https://docs.mau.fi/bridges/go/twitter/authentication.html). -After logging in, the bridge will create portal rooms for some recent chats. Portal rooms for other chats will be created as you receive messages. +After logging in, the bridge will create portal rooms for recent chats. Portal rooms for other chats will be created as you receive messages. ## Troubleshooting From cd60cf119919028e643a701976097576b43bdaac Mon Sep 17 00:00:00 2001 From: Catalan Lover <48515417+FSG-Cat@users.noreply.github.com> Date: Sat, 15 Mar 2025 08:14:55 +0100 Subject: [PATCH 757/841] Internal Admin API and Draupnir Hjack Command Config (#3389) * Enable Internal Admin API Access separately from Public access. * Add Config variable for Draupnir Hijack command And also make the internal admin API be automatically activated when this capability is used. * Apply suggestions from code review Co-authored-by: Slavi Pantaleev * Further Refine Internal Admin API * Add Non Worker Labels for Internal Admin API * Variable Rename * Add validation rules for Internal Synapse admin API * Add Draupnir Admin API required config validation. * Override `matrix_synapse_reverse_proxy_companion_container_labels_internal_client_synapse_admin_api_traefik_entrypoints` via group vars * Wire `matrix_bot_draupnir_admin_api_enabled` to `matrix_bot_draupnir_config_admin_enableMakeRoomAdminCommand` in Draupnir's `defaults/main.yml` * Remove unnecessary `matrix_bot_draupnir_admin_api_enabled` override from `group_vars/matrix_servers` The same value is now (more appropriately) defined in Draupnir's `defaults/main.yml` file anyway. * Add additional condition (`matrix_bot_draupnir_enabled`) for enabling `matrix_synapse_container_labels_internal_client_synapse_admin_api_enabled` * Use a separate task for validating `matrix_bot_draupnir_admin_api_enabled` when `matrix_bot_draupnir_config_admin_enableMakeRoomAdminCommand` The other task deals with checking for null and not-blank and can't handle booleans properly. --------- Co-authored-by: Slavi Pantaleev --- group_vars/matrix_servers | 5 ++++ .../matrix-bot-draupnir/defaults/main.yml | 7 ++++++ .../tasks/validate_config.yml | 5 ++++ .../templates/production.yaml.j2 | 17 ++++++------- .../defaults/main.yml | 9 +++++++ .../tasks/validate_config.yml | 2 ++ .../templates/labels.j2 | 24 +++++++++++++++++++ roles/custom/matrix-synapse/defaults/main.yml | 10 ++++++++ .../matrix-synapse/defaults/main.yml.license | 1 + .../matrix-synapse/tasks/validate_config.yml | 1 + .../templates/synapse/labels.j2 | 24 +++++++++++++++++++ 11 files changed, 95 insertions(+), 10 deletions(-) diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index 59fa442b2..6b9abdab2 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -4855,6 +4855,8 @@ matrix_synapse_container_labels_public_client_root_redirection_enabled: "{{ matr matrix_synapse_container_labels_public_client_root_redirection_url: "{{ (('https://' if matrix_playbook_ssl_enabled else 'http://') + matrix_server_fqn_element) if matrix_client_element_enabled else '' }}" matrix_synapse_container_labels_public_client_synapse_admin_api_enabled: "{{ matrix_synapse_admin_enabled }}" +matrix_synapse_container_labels_internal_client_synapse_admin_api_enabled: "{{ (matrix_bot_draupnir_enabled and matrix_bot_draupnir_admin_api_enabled) }}" +matrix_synapse_container_labels_internal_client_synapse_admin_api_traefik_entrypoints: "{{ matrix_playbook_internal_matrix_client_api_traefik_entrypoint_name }}" matrix_synapse_container_labels_public_federation_api_traefik_hostname: "{{ matrix_server_fqn_matrix_federation }}" matrix_synapse_container_labels_public_federation_api_traefik_entrypoints: "{{ matrix_federation_traefik_entrypoint_name }}" @@ -5041,6 +5043,9 @@ matrix_synapse_reverse_proxy_companion_container_labels_traefik_compression_midd matrix_synapse_reverse_proxy_companion_container_labels_public_client_synapse_client_api_enabled: "{{ matrix_synapse_container_labels_public_client_synapse_client_api_enabled }}" matrix_synapse_reverse_proxy_companion_container_labels_public_client_synapse_admin_api_enabled: "{{ matrix_synapse_container_labels_public_client_synapse_admin_api_enabled }}" +matrix_synapse_reverse_proxy_companion_container_labels_internal_client_synapse_admin_api_enabled: "{{ matrix_synapse_container_labels_internal_client_synapse_admin_api_enabled }}" +matrix_synapse_reverse_proxy_companion_container_labels_internal_client_synapse_admin_api_traefik_entrypoints: "{{ matrix_playbook_internal_matrix_client_api_traefik_entrypoint_name }}" + matrix_synapse_reverse_proxy_companion_container_labels_public_federation_api_traefik_entrypoints: "{{ matrix_synapse_container_labels_public_federation_api_traefik_entrypoints }}" matrix_synapse_reverse_proxy_companion_container_labels_public_federation_api_traefik_tls: "{{ matrix_synapse_container_labels_public_federation_api_traefik_tls }}" diff --git a/roles/custom/matrix-bot-draupnir/defaults/main.yml b/roles/custom/matrix-bot-draupnir/defaults/main.yml index f3197e898..0b2eb28d0 100644 --- a/roles/custom/matrix-bot-draupnir/defaults/main.yml +++ b/roles/custom/matrix-bot-draupnir/defaults/main.yml @@ -117,6 +117,13 @@ matrix_bot_draupnir_config_rawHomeserverUrl: "" # noqa var-naming # It is exposed here because it is common enough to be valid to expose. matrix_bot_draupnir_config_disableServerACL: false # noqa var-naming +# Control if Draupnir wants for the Synapse Admin API to be exposed internally to containers, therefore giving Draupnir Access. +matrix_bot_draupnir_admin_api_enabled: "{{ matrix_bot_draupnir_config_admin_enableMakeRoomAdminCommand }}" + +# Controls if the Draupnir room hijack command is activated or not. +# Also see `matrix_bot_draupnir_admin_api_enabled`. +matrix_bot_draupnir_config_admin_enableMakeRoomAdminCommand: false # noqa var-naming + # Controls if the room state backing store is activated. # Room state backing store makes restarts of the bot lightning fast as the bot does not suffer from amnesia. # This config option has diminished improvements for bots on extremely fast homeservers or very very small bots on fast homeservers. diff --git a/roles/custom/matrix-bot-draupnir/tasks/validate_config.yml b/roles/custom/matrix-bot-draupnir/tasks/validate_config.yml index e40178cef..a876c9e4f 100644 --- a/roles/custom/matrix-bot-draupnir/tasks/validate_config.yml +++ b/roles/custom/matrix-bot-draupnir/tasks/validate_config.yml @@ -39,6 +39,11 @@ - {'name': 'matrix_bot_draupnir_pantalaimon_password', when: "{{ matrix_bot_draupnir_pantalaimon_use }}"} when: "item.when | bool and (vars[item.name] == '' or vars[item.name] is none)" +- name: Fail if Draupnir room hijacking enabled without enabling the Synapse Admin API + ansible.builtin.fail: + msg: "When matrix_bot_draupnir_config_admin_enableMakeRoomAdminCommand is enabled, matrix_bot_draupnir_admin_api_enabled must also be enabled" + when: "matrix_bot_draupnir_config_admin_enableMakeRoomAdminCommand | bool and not matrix_bot_draupnir_admin_api_enabled | bool" + - name: Fail if inappropriate variables are defined ansible.builtin.fail: msg: "The `{{ item.name }}` variable must be undefined or have a null value." diff --git a/roles/custom/matrix-bot-draupnir/templates/production.yaml.j2 b/roles/custom/matrix-bot-draupnir/templates/production.yaml.j2 index 637738b6e..341aa0668 100644 --- a/roles/custom/matrix-bot-draupnir/templates/production.yaml.j2 +++ b/roles/custom/matrix-bot-draupnir/templates/production.yaml.j2 @@ -131,18 +131,15 @@ protectAllJoinedRooms: false # of the homeserver may be more impacted. backgroundDelayMS: 500 -# FIXME: This configuration option is currently broken in the playbook as admin APIs cannot -# be accessed from containers. See https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3389 -# and https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3308 # Server administration commands, these commands will only work if Draupnir is # a global server administrator, and the bot's server is a Synapse instance. -#admin: -# # Whether or not Draupnir can temporarily take control of any eligible account from the local homeserver who's in the room -# # (with enough permissions) to "make" a user an admin. -# # -# # This only works if a local user with enough admin permissions is present in the room. -# enableMakeRoomAdminCommand: false -# +admin: + # Whether or not Draupnir can temporarily take control of any eligible account from the local homeserver who's in the room + # (with enough permissions) to "make" a user an admin. + # + # This only works if a local user with enough admin permissions is present in the room. + enableMakeRoomAdminCommand: {{ matrix_bot_draupnir_config_enableMakeRoomAdminCommand | to_json }} + # Misc options for command handling and commands commands: # Whether or not the `!draupnir` prefix is necessary to submit commands. diff --git a/roles/custom/matrix-synapse-reverse-proxy-companion/defaults/main.yml b/roles/custom/matrix-synapse-reverse-proxy-companion/defaults/main.yml index 57b208d84..4caa634be 100644 --- a/roles/custom/matrix-synapse-reverse-proxy-companion/defaults/main.yml +++ b/roles/custom/matrix-synapse-reverse-proxy-companion/defaults/main.yml @@ -5,6 +5,7 @@ # SPDX-FileCopyrightText: 2024 Charles Wright # SPDX-FileCopyrightText: 2024 David Mehren # SPDX-FileCopyrightText: 2024 Michael Hollister +# SPDX-FileCopyrightText: 2024 - 2025 Catalan Lover # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -119,6 +120,14 @@ matrix_synapse_reverse_proxy_companion_container_labels_public_client_synapse_ad matrix_synapse_reverse_proxy_companion_container_labels_public_client_synapse_admin_api_traefik_tls: "{{ matrix_synapse_reverse_proxy_companion_container_labels_public_client_synapse_admin_api_traefik_entrypoints != 'web' }}" matrix_synapse_reverse_proxy_companion_container_labels_public_client_synapse_admin_api_traefik_tls_certResolver: "{{ matrix_synapse_reverse_proxy_companion_container_labels_traefik_tls_certResolver }}" # noqa var-naming +# Controls whether labels will be added that expose the /_synapse/admin paths on the internal Traefik entrypoint. +# This is similar to `matrix_synapse_container_labels_public_client_api_enabled`, but the entrypoint and intent is different. +matrix_synapse_reverse_proxy_companion_container_labels_internal_client_synapse_admin_api_enabled: false +matrix_synapse_reverse_proxy_companion_container_labels_internal_client_synapse_admin_api_traefik_path_prefix: "{{ matrix_synapse_container_labels_internal_client_synapse_admin_api_traefik_path_prefix }}" +matrix_synapse_reverse_proxy_companion_container_labels_internal_client_synapse_admin_api_traefik_rule: "PathPrefix(`{{ matrix_synapse_reverse_proxy_companion_container_labels_internal_client_synapse_admin_api_traefik_path_prefix }}`)" +matrix_synapse_reverse_proxy_companion_container_labels_internal_client_synapse_admin_api_traefik_priority: 0 +matrix_synapse_reverse_proxy_companion_container_labels_internal_client_synapse_admin_api_traefik_entrypoints: "" + # Controls whether labels will be added that expose the Server-Server API (Federation API). matrix_synapse_reverse_proxy_companion_container_labels_public_federation_api_enabled: "{{ matrix_synapse_reverse_proxy_companion_federation_api_enabled }}" matrix_synapse_reverse_proxy_companion_container_labels_public_federation_api_traefik_hostname: "{{ matrix_synapse_reverse_proxy_companion_container_labels_traefik_hostname }}" diff --git a/roles/custom/matrix-synapse-reverse-proxy-companion/tasks/validate_config.yml b/roles/custom/matrix-synapse-reverse-proxy-companion/tasks/validate_config.yml index 7a8ef3e29..429c12ed2 100644 --- a/roles/custom/matrix-synapse-reverse-proxy-companion/tasks/validate_config.yml +++ b/roles/custom/matrix-synapse-reverse-proxy-companion/tasks/validate_config.yml @@ -21,5 +21,7 @@ - {'name': 'matrix_synapse_reverse_proxy_companion_container_labels_public_federation_api_traefik_entrypoints', when: "{{ matrix_synapse_reverse_proxy_companion_container_labels_public_federation_api_enabled }}"} - {'name': 'matrix_synapse_reverse_proxy_companion_container_labels_internal_client_api_traefik_entrypoints', when: "{{ matrix_synapse_reverse_proxy_companion_container_labels_internal_client_api_enabled }}"} + - {'name': 'matrix_synapse_reverse_proxy_companion_container_labels_internal_client_synapse_admin_api_traefik_entrypoints', when: "{{ matrix_synapse_container_labels_internal_client_synapse_admin_api_enabled }}"} + - {'name': 'matrix_synapse_reverse_proxy_companion_container_labels_traefik_compression_middleware_name', when: "{{ matrix_synapse_reverse_proxy_companion_container_labels_traefik_compression_middleware_enabled }}"} diff --git a/roles/custom/matrix-synapse-reverse-proxy-companion/templates/labels.j2 b/roles/custom/matrix-synapse-reverse-proxy-companion/templates/labels.j2 index 8b8945d2e..e772de54b 100644 --- a/roles/custom/matrix-synapse-reverse-proxy-companion/templates/labels.j2 +++ b/roles/custom/matrix-synapse-reverse-proxy-companion/templates/labels.j2 @@ -1,5 +1,6 @@ {# SPDX-FileCopyrightText: 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2024 - 2025 Catalan Lover SPDX-License-Identifier: AGPL-3.0-or-later #} @@ -155,6 +156,29 @@ traefik.http.routers.matrix-synapse-reverse-proxy-companion-public-client-synaps ############################################################ {% endif %} +{% if matrix_synapse_reverse_proxy_companion_container_labels_internal_client_synapse_admin_api_enabled %} +############################################################ +# # +# Internal Synapse Admin API (/_synapse/admin) # +# # +############################################################ + +traefik.http.routers.matrix-synapse-reverse-proxy-companion-internal-client-synapse-admin-api.rule={{ matrix_synapse_reverse_proxy_companion_container_labels_internal_admin_api_traefik_rule }} + +{% if matrix_synapse_reverse_proxy_companion_container_labels_internal_client_synapse_admin_api_traefik_priority | int > 0 %} +traefik.http.routers.matrix-synapse-reverse-proxy-companion-public-client-synapse-admin-api.priority={{ matrix_synapse_reverse_proxy_companion_container_labels_internal_client_synapse_admin_api_traefik_priority }} +{% endif %} + + +traefik.http.routers.matrix-synapse-reverse-proxy-companion-internal-client-synapse-admin-api.service=matrix-synapse-reverse-proxy-companion-client-api +traefik.http.routers.matrix-synapse-reverse-proxy-companion-internal-client-synapse-admin-api.entrypoints={{ matrix_synapse_reverse_proxy_companion_container_labels_internal_client_synapse_admin_api_traefik_entrypoints }} + +############################################################ +# # +# /Internal Synapse Admin API (/_synapse/admin) # +# # +############################################################ +{% endif %} {% if matrix_synapse_reverse_proxy_companion_container_labels_public_federation_api_enabled %} ############################################################ diff --git a/roles/custom/matrix-synapse/defaults/main.yml b/roles/custom/matrix-synapse/defaults/main.yml index c2f509854..ac3e59a3d 100644 --- a/roles/custom/matrix-synapse/defaults/main.yml +++ b/roles/custom/matrix-synapse/defaults/main.yml @@ -268,6 +268,16 @@ matrix_synapse_container_labels_public_client_synapse_admin_api_traefik_entrypoi matrix_synapse_container_labels_public_client_synapse_admin_api_traefik_tls: "{{ matrix_synapse_container_labels_public_client_synapse_admin_api_traefik_entrypoints != 'web' }}" matrix_synapse_container_labels_public_client_synapse_admin_api_traefik_tls_certResolver: "{{ matrix_synapse_container_labels_traefik_tls_certResolver }}" # noqa var-naming +# Controls whether labels will be added that expose the /_synapse/admin paths on the internal Traefik entrypoint. +# Following these recommendations (https://github.com/element-hq/synapse/blob/master/docs/reverse_proxy.md), by default, we don't. +# Regardless of whether this is enabled, it may or may not take effect due to the value of other variables. + +matrix_synapse_container_labels_internal_client_synapse_admin_api_enabled: false +matrix_synapse_container_labels_internal_client_synapse_admin_api_traefik_path_prefix: /_synapse/admin +matrix_synapse_container_labels_internal_client_synapse_admin_api_traefik_rule: "PathPrefix(`{{ matrix_synapse_container_labels_internal_client_synapse_admin_api_traefik_path_prefix }}`)" +matrix_synapse_container_labels_internal_client_synapse_admin_api_traefik_priority: 0 +matrix_synapse_container_labels_internal_client_synapse_admin_api_traefik_entrypoints: "" + # Controls whether labels will be added that expose the Server-Server API (Federation API). # Regardless of whether this is enabled, it may or may not take effect due to the value of other variables. # See `matrix_synapse_container_labels_traefik_enabled` or `matrix_synapse_container_labels_matrix_related_labels_enabled` diff --git a/roles/custom/matrix-synapse/defaults/main.yml.license b/roles/custom/matrix-synapse/defaults/main.yml.license index 1bca653ea..f44030cd8 100644 --- a/roles/custom/matrix-synapse/defaults/main.yml.license +++ b/roles/custom/matrix-synapse/defaults/main.yml.license @@ -35,5 +35,6 @@ SPDX-FileCopyrightText: 2023 Luke D Iremadze SPDX-FileCopyrightText: 2023 Samuel Meenzen SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara SPDX-FileCopyrightText: 2024 Charles Wright +SPDX-FileCopyrightText: 2025 Catalan Lover SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-synapse/tasks/validate_config.yml b/roles/custom/matrix-synapse/tasks/validate_config.yml index c760a6d0a..66f6e0296 100644 --- a/roles/custom/matrix-synapse/tasks/validate_config.yml +++ b/roles/custom/matrix-synapse/tasks/validate_config.yml @@ -28,6 +28,7 @@ - {'name': 'matrix_synapse_container_labels_public_client_api_traefik_hostname', when: "{{ matrix_synapse_container_labels_public_client_api_enabled }}"} - {'name': 'matrix_synapse_container_labels_internal_client_api_traefik_entrypoints', when: "{{ matrix_synapse_container_labels_internal_client_api_enabled }}"} + - {'name': 'matrix_synapse_container_labels_internal_client_synapse_admin_api_traefik_entrypoints', when: "{{ matrix_synapse_container_labels_internal_client_synapse_admin_api_enabled }}"} - {'name': 'matrix_synapse_container_labels_public_client_synapse_client_api_traefik_hostname', when: "{{ matrix_synapse_container_labels_public_client_synapse_client_api_enabled }}"} - {'name': 'matrix_synapse_container_labels_public_client_synapse_admin_api_traefik_hostname', when: "{{ matrix_synapse_container_labels_public_client_synapse_admin_api_enabled }}"} diff --git a/roles/custom/matrix-synapse/templates/synapse/labels.j2 b/roles/custom/matrix-synapse/templates/synapse/labels.j2 index 0d522c356..708f5916f 100644 --- a/roles/custom/matrix-synapse/templates/synapse/labels.j2 +++ b/roles/custom/matrix-synapse/templates/synapse/labels.j2 @@ -211,6 +211,30 @@ traefik.http.routers.matrix-synapse-public-client-synapse-admin-api.tls.certReso {% endif %} +{% if matrix_synapse_container_labels_internal_client_synapse_admin_api_enabled %} +############################################################ +# # +# Internal Synapse Admin API (/_synapse/admin) # +# # +############################################################ +traefik.http.routers.matrix-synapse-internal-client-synapse-admin-api.rule={{ matrix_synapse_container_labels_internal_client_synapse_admin_api_traefik_rule }} + +{% if matrix_synapse_container_labels_internal_client_synapse_admin_api_traefik_priority | int > 0 %} +traefik.http.routers.matrix-synapse-internal-client-synapse-admin-api.priority={{ matrix_synapse_container_labels_internal_client_synapse_admin_api_traefik_priority }} +{% endif %} + + +traefik.http.routers.matrix-synapse-internal-client-synapse-admin-api.service=matrix-synapse-client-api +traefik.http.routers.matrix-synapse-internal-client-synapse-admin-api.entrypoints={{ matrix_synapse_container_labels_internal_client_synapse_admin_api_traefik_entrypoints }} + +############################################################ +# # +# /Internal Synapse Admin API (/_synapse/admin) # +# # +############################################################ +{% endif %} + + {% if matrix_synapse_container_labels_public_federation_api_enabled %} ############################################################ # # From a0573e5855eb01adb76107abf1c355b99c6c63ac Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sat, 15 Mar 2025 09:29:16 +0200 Subject: [PATCH 758/841] Fix undefined variable usage in Draupnir config (`matrix_bot_draupnir_config_enableMakeRoomAdminCommand` -> `matrix_bot_draupnir_config_admin_enableMakeRoomAdminCommand`) Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3389 --- roles/custom/matrix-bot-draupnir/templates/production.yaml.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-bot-draupnir/templates/production.yaml.j2 b/roles/custom/matrix-bot-draupnir/templates/production.yaml.j2 index 341aa0668..d3184c273 100644 --- a/roles/custom/matrix-bot-draupnir/templates/production.yaml.j2 +++ b/roles/custom/matrix-bot-draupnir/templates/production.yaml.j2 @@ -138,7 +138,7 @@ admin: # (with enough permissions) to "make" a user an admin. # # This only works if a local user with enough admin permissions is present in the room. - enableMakeRoomAdminCommand: {{ matrix_bot_draupnir_config_enableMakeRoomAdminCommand | to_json }} + enableMakeRoomAdminCommand: {{ matrix_bot_draupnir_config_admin_enableMakeRoomAdminCommand | to_json }} # Misc options for command handling and commands commands: From 43514542bdabefd5bfdc52c8cfb23227b3145c5d Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 15 Mar 2025 16:43:14 +0900 Subject: [PATCH 759/841] Add comments to ensure-matrix-users-created This change intends to explain how ensure-matrix-users-created and ensure-users-created are expected to work by default. Signed-off-by: Suguru Hirahara --- docs/playbook-tags.md | 2 +- roles/custom/matrix-user-creator/tasks/main.yml | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/playbook-tags.md b/docs/playbook-tags.md index 48e61f73c..e7b9682c0 100644 --- a/docs/playbook-tags.md +++ b/docs/playbook-tags.md @@ -27,7 +27,7 @@ Here are some playbook tags that you should be familiar with: - `stop` — stops all systemd services -- `ensure-matrix-users-created` or its alias `ensure-users-created` — a special tag which ensures that all special users needed by the playbook (for bots, etc.) are created +- `ensure-matrix-users-created` or its alias `ensure-users-created` — a special tag which ensures that all special users needed by the playbook (for bots, etc.) are created. See the variable `matrix_user_creator_users_auto` on [`group_vars/matrix_servers`](../group_vars/matrix_servers) for actual values of users which running this tag can create by default. **Notes**: - `setup-*` tags and `install-*` tags **do not start services** automatically, because you may wish to do things before starting services, such as importing a database dump, restoring data from another server, etc. diff --git a/roles/custom/matrix-user-creator/tasks/main.yml b/roles/custom/matrix-user-creator/tasks/main.yml index 6a1a0b20c..8f166bb1c 100644 --- a/roles/custom/matrix-user-creator/tasks/main.yml +++ b/roles/custom/matrix-user-creator/tasks/main.yml @@ -9,6 +9,8 @@ # This role intentionally doesn't do work on a `setup-all` tag. # If it did, the initial installation (`--tags=setup-all`) would also potentially polute the database with data, # which would make importing a database dump problematic. + # + # See the variable "matrix_user_creator_users_auto" on group_vars/matrix_servers for actual values of users which running these tags can create with this role by default. - ensure-matrix-users-created - ensure-users-created block: From 0710298030b74016e5d91ec8215e77a9e3ed9a67 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sat, 15 Mar 2025 16:43:24 +0900 Subject: [PATCH 760/841] Update docs: remove descriptions about the ensure-matrix-users-created Apparently ensure-matrix-users-created is relevant only for components registered to "matrix_user_creator_users_auto" on group_vars/matrix_servers. Signed-off-by: Suguru Hirahara --- docs/configuring-playbook-alertmanager-receiver.md | 10 +++------- .../configuring-playbook-appservice-double-puppet.md | 10 +++------- docs/configuring-playbook-bot-draupnir.md | 10 ++++++++-- docs/configuring-playbook-bot-go-neb.md | 10 +++------- docs/configuring-playbook-bot-mjolnir.md | 4 +--- ...configuring-playbook-bridge-appservice-discord.md | 9 +++------ docs/configuring-playbook-bridge-appservice-irc.md | 10 +++------- ...nfiguring-playbook-bridge-appservice-kakaotalk.md | 10 +++------- docs/configuring-playbook-bridge-appservice-slack.md | 10 +++------- ...onfiguring-playbook-bridge-appservice-webhooks.md | 10 +++------- docs/configuring-playbook-bridge-beeper-linkedin.md | 12 ++++-------- docs/configuring-playbook-bridge-go-skype-bridge.md | 12 ++++-------- docs/configuring-playbook-bridge-heisenbridge.md | 10 +++------- .../configuring-playbook-bridge-matrix-bridge-sms.md | 10 +++------- docs/configuring-playbook-bridge-mautrix-bridges.md | 10 +++------- docs/configuring-playbook-bridge-mautrix-discord.md | 10 +++------- docs/configuring-playbook-bridge-mautrix-facebook.md | 10 +++------- .../configuring-playbook-bridge-mautrix-gmessages.md | 10 +++------- ...configuring-playbook-bridge-mautrix-googlechat.md | 10 +++------- .../configuring-playbook-bridge-mautrix-instagram.md | 10 +++------- ...iguring-playbook-bridge-mautrix-meta-instagram.md | 10 +++------- ...iguring-playbook-bridge-mautrix-meta-messenger.md | 10 +++------- docs/configuring-playbook-bridge-mautrix-signal.md | 10 +++------- docs/configuring-playbook-bridge-mautrix-slack.md | 10 +++------- docs/configuring-playbook-bridge-mautrix-telegram.md | 10 +++------- docs/configuring-playbook-bridge-mautrix-twitter.md | 10 +++------- docs/configuring-playbook-bridge-mautrix-whatsapp.md | 12 ++++-------- docs/configuring-playbook-bridge-mautrix-wsproxy.md | 10 +++------- .../configuring-playbook-bridge-mx-puppet-discord.md | 12 ++++-------- .../configuring-playbook-bridge-mx-puppet-groupme.md | 12 ++++-------- ...onfiguring-playbook-bridge-mx-puppet-instagram.md | 12 ++++-------- docs/configuring-playbook-bridge-mx-puppet-slack.md | 12 ++++-------- docs/configuring-playbook-bridge-mx-puppet-steam.md | 12 ++++-------- .../configuring-playbook-bridge-mx-puppet-twitter.md | 12 ++++-------- docs/configuring-playbook-cactus-comments.md | 12 ++++-------- docs/configuring-playbook-etherpad.md | 10 +++------- 36 files changed, 121 insertions(+), 252 deletions(-) diff --git a/docs/configuring-playbook-alertmanager-receiver.md b/docs/configuring-playbook-alertmanager-receiver.md index c23ddf1aa..d9be937ff 100644 --- a/docs/configuring-playbook-alertmanager-receiver.md +++ b/docs/configuring-playbook-alertmanager-receiver.md @@ -105,16 +105,12 @@ After configuring the playbook and potentially [adjusting your DNS records](#adj ```sh -ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start +ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start ``` -**Notes**: +The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` -- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. - -- The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` - - `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. +`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. ## Usage diff --git a/docs/configuring-playbook-appservice-double-puppet.md b/docs/configuring-playbook-appservice-double-puppet.md index fe67d1768..1c873296a 100644 --- a/docs/configuring-playbook-appservice-double-puppet.md +++ b/docs/configuring-playbook-appservice-double-puppet.md @@ -35,16 +35,12 @@ After configuring the playbook, run it with [playbook tags](playbook-tags.md) as ```sh -ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start +ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start ``` -**Notes**: +The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` -- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. - -- The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` - - `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. +`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. ## Usage diff --git a/docs/configuring-playbook-bot-draupnir.md b/docs/configuring-playbook-bot-draupnir.md index dcf965beb..623cabe98 100644 --- a/docs/configuring-playbook-bot-draupnir.md +++ b/docs/configuring-playbook-bot-draupnir.md @@ -190,9 +190,15 @@ After configuring the playbook, run it with [playbook tags](playbook-tags.md) as ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start ``` -The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` +**Notes**: -`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. +- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. + +- The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` + + `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. + +- If you change the bot password (`matrix_bot_draupnir_password` in your `vars.yml` file) subsequently, the bot user's credentials on the homeserver won't be updated automatically. If you'd like to change the bot user's password, use a tool like [synapse-admin](configuring-playbook-synapse-admin.md) to change it, and then update `matrix_bot_draupnir_password` to let the bot know its new password. ## Usage diff --git a/docs/configuring-playbook-bot-go-neb.md b/docs/configuring-playbook-bot-go-neb.md index 220b4bfff..9762176c6 100644 --- a/docs/configuring-playbook-bot-go-neb.md +++ b/docs/configuring-playbook-bot-go-neb.md @@ -245,16 +245,12 @@ After configuring the playbook and potentially [adjusting your DNS records](#adj ```sh -ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start +ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start ``` -**Notes**: +The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` -- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. - -- The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` - - `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. +`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. ## Usage diff --git a/docs/configuring-playbook-bot-mjolnir.md b/docs/configuring-playbook-bot-mjolnir.md index 9f4a96dfa..5455ffe47 100644 --- a/docs/configuring-playbook-bot-mjolnir.md +++ b/docs/configuring-playbook-bot-mjolnir.md @@ -189,13 +189,11 @@ After configuring the playbook, run it with [playbook tags](playbook-tags.md) as ```sh -ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start +ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start ``` **Notes**: -- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. - - The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. diff --git a/docs/configuring-playbook-bridge-appservice-discord.md b/docs/configuring-playbook-bridge-appservice-discord.md index d4a97a445..8aeb188b4 100644 --- a/docs/configuring-playbook-bridge-appservice-discord.md +++ b/docs/configuring-playbook-bridge-appservice-discord.md @@ -52,16 +52,13 @@ After configuring the playbook, run it with [playbook tags](playbook-tags.md) as ```sh -ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start +ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start ``` -**Notes**: +The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` -- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. +`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. -- The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` - - `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. ## Self-Service Bridging (Manual) diff --git a/docs/configuring-playbook-bridge-appservice-irc.md b/docs/configuring-playbook-bridge-appservice-irc.md index 79cf0aee3..f4eb9eb47 100644 --- a/docs/configuring-playbook-bridge-appservice-irc.md +++ b/docs/configuring-playbook-bridge-appservice-irc.md @@ -84,16 +84,12 @@ After configuring the playbook, run it with [playbook tags](playbook-tags.md) as ```sh -ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start +ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start ``` -**Notes**: +The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` -- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. - -- The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` - - `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. +`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. ## Usage diff --git a/docs/configuring-playbook-bridge-appservice-kakaotalk.md b/docs/configuring-playbook-bridge-appservice-kakaotalk.md index db2a6557a..99ebc1ef0 100644 --- a/docs/configuring-playbook-bridge-appservice-kakaotalk.md +++ b/docs/configuring-playbook-bridge-appservice-kakaotalk.md @@ -49,16 +49,12 @@ After configuring the playbook, run it with [playbook tags](playbook-tags.md) as ```sh -ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start +ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start ``` -**Notes**: +The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` -- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. - -- The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` - - `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. +`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. ## Usage diff --git a/docs/configuring-playbook-bridge-appservice-slack.md b/docs/configuring-playbook-bridge-appservice-slack.md index 5de62f97c..2ffb0527e 100644 --- a/docs/configuring-playbook-bridge-appservice-slack.md +++ b/docs/configuring-playbook-bridge-appservice-slack.md @@ -94,16 +94,12 @@ After configuring the playbook, run it with [playbook tags](playbook-tags.md) as ```sh -ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start +ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start ``` -**Notes**: +The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` -- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. - -- The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` - - `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. +`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. ## Usage diff --git a/docs/configuring-playbook-bridge-appservice-webhooks.md b/docs/configuring-playbook-bridge-appservice-webhooks.md index e2b5928a2..9c43811f7 100644 --- a/docs/configuring-playbook-bridge-appservice-webhooks.md +++ b/docs/configuring-playbook-bridge-appservice-webhooks.md @@ -47,16 +47,12 @@ After configuring the playbook, run it with [playbook tags](playbook-tags.md) as ```sh -ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start +ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start ``` -**Notes**: +The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` -- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. - -- The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` - - `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. +`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. ## Usage diff --git a/docs/configuring-playbook-bridge-beeper-linkedin.md b/docs/configuring-playbook-bridge-beeper-linkedin.md index e2628661b..4016b0b37 100644 --- a/docs/configuring-playbook-bridge-beeper-linkedin.md +++ b/docs/configuring-playbook-bridge-beeper-linkedin.md @@ -3,7 +3,7 @@ SPDX-FileCopyrightText: 2021 - 2024 Slavi Pantaleev SPDX-FileCopyrightText: 2021 Alexandar Mechev SPDX-FileCopyrightText: 2022 Cody Wyatt Neiman SPDX-FileCopyrightText: 2023 Kuba Orlik -SPDX-FileCopyrightText: 2024 Suguru Hirahara +SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara SPDX-License-Identifier: AGPL-3.0-or-later --> @@ -46,16 +46,12 @@ After configuring the playbook, run it with [playbook tags](playbook-tags.md) as ```sh -ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start +ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start ``` -**Notes**: +The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` -- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. - -- The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` - - `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. +`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. ## Usage diff --git a/docs/configuring-playbook-bridge-go-skype-bridge.md b/docs/configuring-playbook-bridge-go-skype-bridge.md index c90d120cc..9ec4e1fe4 100644 --- a/docs/configuring-playbook-bridge-go-skype-bridge.md +++ b/docs/configuring-playbook-bridge-go-skype-bridge.md @@ -1,6 +1,6 @@ @@ -43,16 +43,12 @@ After configuring the playbook, run it with [playbook tags](playbook-tags.md) as ```sh -ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start +ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start ``` -**Notes**: +The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` -- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. - -- The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` - - `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. +`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. ## Usage diff --git a/docs/configuring-playbook-bridge-heisenbridge.md b/docs/configuring-playbook-bridge-heisenbridge.md index c49b7b21a..552a90635 100644 --- a/docs/configuring-playbook-bridge-heisenbridge.md +++ b/docs/configuring-playbook-bridge-heisenbridge.md @@ -65,16 +65,12 @@ After configuring the playbook and potentially [adjusting your DNS records](#adj ```sh -ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start +ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start ``` -**Notes**: +The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` -- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. - -- The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` - - `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. +`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. ## Usage diff --git a/docs/configuring-playbook-bridge-matrix-bridge-sms.md b/docs/configuring-playbook-bridge-matrix-bridge-sms.md index d0a1e99fa..f6c5482dc 100644 --- a/docs/configuring-playbook-bridge-matrix-bridge-sms.md +++ b/docs/configuring-playbook-bridge-matrix-bridge-sms.md @@ -54,16 +54,12 @@ After configuring the playbook, run it with [playbook tags](playbook-tags.md) as ```sh -ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start +ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start ``` -**Notes**: +The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` -- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. - -- The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` - - `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. +`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. ## Usage diff --git a/docs/configuring-playbook-bridge-mautrix-bridges.md b/docs/configuring-playbook-bridge-mautrix-bridges.md index 557e1a9a4..7c2e15e80 100644 --- a/docs/configuring-playbook-bridge-mautrix-bridges.md +++ b/docs/configuring-playbook-bridge-mautrix-bridges.md @@ -153,16 +153,12 @@ After configuring the playbook, run it with [playbook tags](playbook-tags.md) as ```sh -ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start +ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start ``` -**Notes**: +The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` -- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. - -- The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` - - `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. +`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. ## Usage diff --git a/docs/configuring-playbook-bridge-mautrix-discord.md b/docs/configuring-playbook-bridge-mautrix-discord.md index 12d9f243d..884b17afa 100644 --- a/docs/configuring-playbook-bridge-mautrix-discord.md +++ b/docs/configuring-playbook-bridge-mautrix-discord.md @@ -57,16 +57,12 @@ After configuring the playbook, run it with [playbook tags](playbook-tags.md) as ```sh -ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start +ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start ``` -**Notes**: +The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` -- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. - -- The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` - - `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. +`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. ## Usage diff --git a/docs/configuring-playbook-bridge-mautrix-facebook.md b/docs/configuring-playbook-bridge-mautrix-facebook.md index b741edbf6..d79977a7c 100644 --- a/docs/configuring-playbook-bridge-mautrix-facebook.md +++ b/docs/configuring-playbook-bridge-mautrix-facebook.md @@ -50,16 +50,12 @@ After configuring the playbook, run it with [playbook tags](playbook-tags.md) as ```sh -ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start +ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start ``` -**Notes**: +The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` -- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. - -- The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` - - `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. +`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. ## Usage diff --git a/docs/configuring-playbook-bridge-mautrix-gmessages.md b/docs/configuring-playbook-bridge-mautrix-gmessages.md index d9289ec56..98cf5a53c 100644 --- a/docs/configuring-playbook-bridge-mautrix-gmessages.md +++ b/docs/configuring-playbook-bridge-mautrix-gmessages.md @@ -43,16 +43,12 @@ After configuring the playbook, run it with [playbook tags](playbook-tags.md) as ```sh -ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start +ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start ``` -**Notes**: +The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` -- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. - -- The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` - - `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. +`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. ## Usage diff --git a/docs/configuring-playbook-bridge-mautrix-googlechat.md b/docs/configuring-playbook-bridge-mautrix-googlechat.md index 3cc9eed9a..cc0f58e22 100644 --- a/docs/configuring-playbook-bridge-mautrix-googlechat.md +++ b/docs/configuring-playbook-bridge-mautrix-googlechat.md @@ -46,16 +46,12 @@ After configuring the playbook, run it with [playbook tags](playbook-tags.md) as ```sh -ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start +ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start ``` -**Notes**: +The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` -- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. - -- The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` - - `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. +`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. ## Usage diff --git a/docs/configuring-playbook-bridge-mautrix-instagram.md b/docs/configuring-playbook-bridge-mautrix-instagram.md index 0af621b6a..c5fdd50fe 100644 --- a/docs/configuring-playbook-bridge-mautrix-instagram.md +++ b/docs/configuring-playbook-bridge-mautrix-instagram.md @@ -37,16 +37,12 @@ After configuring the playbook, run it with [playbook tags](playbook-tags.md) as ```sh -ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start +ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start ``` -**Notes**: +The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` -- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. - -- The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` - - `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. +`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. ## Usage diff --git a/docs/configuring-playbook-bridge-mautrix-meta-instagram.md b/docs/configuring-playbook-bridge-mautrix-meta-instagram.md index c53a22aba..a9a77fa44 100644 --- a/docs/configuring-playbook-bridge-mautrix-meta-instagram.md +++ b/docs/configuring-playbook-bridge-mautrix-meta-instagram.md @@ -58,16 +58,12 @@ After configuring the playbook, run it with [playbook tags](playbook-tags.md) as ```sh -ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start +ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start ``` -**Notes**: +The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` -- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. - -- The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` - - `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. +`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. ## Usage diff --git a/docs/configuring-playbook-bridge-mautrix-meta-messenger.md b/docs/configuring-playbook-bridge-mautrix-meta-messenger.md index b1bffc7d0..9c0064cd1 100644 --- a/docs/configuring-playbook-bridge-mautrix-meta-messenger.md +++ b/docs/configuring-playbook-bridge-mautrix-meta-messenger.md @@ -72,16 +72,12 @@ After configuring the playbook, run it with [playbook tags](playbook-tags.md) as ```sh -ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start +ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start ``` -**Notes**: +The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` -- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. - -- The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` - - `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. +`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. ## Usage diff --git a/docs/configuring-playbook-bridge-mautrix-signal.md b/docs/configuring-playbook-bridge-mautrix-signal.md index ce94e6a00..1fb0e2c6d 100644 --- a/docs/configuring-playbook-bridge-mautrix-signal.md +++ b/docs/configuring-playbook-bridge-mautrix-signal.md @@ -56,16 +56,12 @@ After configuring the playbook, run it with [playbook tags](playbook-tags.md) as ```sh -ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start +ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start ``` -**Notes**: +The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` -- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. - -- The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` - - `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. +`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. ## Usage diff --git a/docs/configuring-playbook-bridge-mautrix-slack.md b/docs/configuring-playbook-bridge-mautrix-slack.md index 27aa5e12f..6969510e7 100644 --- a/docs/configuring-playbook-bridge-mautrix-slack.md +++ b/docs/configuring-playbook-bridge-mautrix-slack.md @@ -54,16 +54,12 @@ After configuring the playbook, run it with [playbook tags](playbook-tags.md) as ```sh -ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start +ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start ``` -**Notes**: +The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` -- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. - -- The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` - - `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. +`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. ## Usage diff --git a/docs/configuring-playbook-bridge-mautrix-telegram.md b/docs/configuring-playbook-bridge-mautrix-telegram.md index e15fa2d38..5f089d3a4 100644 --- a/docs/configuring-playbook-bridge-mautrix-telegram.md +++ b/docs/configuring-playbook-bridge-mautrix-telegram.md @@ -88,16 +88,12 @@ After configuring the playbook, run it with [playbook tags](playbook-tags.md) as ```sh -ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start +ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start ``` -**Notes**: +The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` -- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. - -- The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` - - `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. +`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. ## Usage diff --git a/docs/configuring-playbook-bridge-mautrix-twitter.md b/docs/configuring-playbook-bridge-mautrix-twitter.md index 3d12f8f10..0698135df 100644 --- a/docs/configuring-playbook-bridge-mautrix-twitter.md +++ b/docs/configuring-playbook-bridge-mautrix-twitter.md @@ -46,16 +46,12 @@ After configuring the playbook, run it with [playbook tags](playbook-tags.md) as ```sh -ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start +ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start ``` -**Notes**: +The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` -- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. - -- The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` - - `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. +`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. ## Usage diff --git a/docs/configuring-playbook-bridge-mautrix-whatsapp.md b/docs/configuring-playbook-bridge-mautrix-whatsapp.md index a00f41155..6e42c1d96 100644 --- a/docs/configuring-playbook-bridge-mautrix-whatsapp.md +++ b/docs/configuring-playbook-bridge-mautrix-whatsapp.md @@ -6,7 +6,7 @@ SPDX-FileCopyrightText: 2022 Dennis Ciba SPDX-FileCopyrightText: 2022 Marko Weltzer SPDX-FileCopyrightText: 2023 James Collier SPDX-FileCopyrightText: 2023 Kuba Orlik -SPDX-FileCopyrightText: 2024 Suguru Hirahara +SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara SPDX-License-Identifier: AGPL-3.0-or-later --> @@ -49,16 +49,12 @@ After configuring the playbook, run it with [playbook tags](playbook-tags.md) as ```sh -ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start +ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start ``` -**Notes**: +The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` -- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. - -- The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` - - `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. +`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. ## Usage diff --git a/docs/configuring-playbook-bridge-mautrix-wsproxy.md b/docs/configuring-playbook-bridge-mautrix-wsproxy.md index 25fbb18dd..a9159f2d2 100644 --- a/docs/configuring-playbook-bridge-mautrix-wsproxy.md +++ b/docs/configuring-playbook-bridge-mautrix-wsproxy.md @@ -61,16 +61,12 @@ After configuring the playbook and potentially [adjusting your DNS records](#adj ```sh -ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start +ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start ``` -**Notes**: +The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` -- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. - -- The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` - - `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. +`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. ## Usage diff --git a/docs/configuring-playbook-bridge-mx-puppet-discord.md b/docs/configuring-playbook-bridge-mx-puppet-discord.md index 43b3d2522..0e0957aed 100644 --- a/docs/configuring-playbook-bridge-mx-puppet-discord.md +++ b/docs/configuring-playbook-bridge-mx-puppet-discord.md @@ -2,7 +2,7 @@ SPDX-FileCopyrightText: 2020 - 2022 Slavi Pantaleev SPDX-FileCopyrightText: 2020 Hugues Morisset SPDX-FileCopyrightText: 2022 MDAD project contributors -SPDX-FileCopyrightText: 2024 Suguru Hirahara +SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara SPDX-License-Identifier: AGPL-3.0-or-later --> @@ -31,16 +31,12 @@ After configuring the playbook, run it with [playbook tags](playbook-tags.md) as ```sh -ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start +ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start ``` -**Notes**: +The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` -- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. - -- The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` - - `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. +`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. ## Usage diff --git a/docs/configuring-playbook-bridge-mx-puppet-groupme.md b/docs/configuring-playbook-bridge-mx-puppet-groupme.md index cf3653870..50b0f4437 100644 --- a/docs/configuring-playbook-bridge-mx-puppet-groupme.md +++ b/docs/configuring-playbook-bridge-mx-puppet-groupme.md @@ -2,7 +2,7 @@ SPDX-FileCopyrightText: 2021 Cody Neiman SPDX-FileCopyrightText: 2021 Slavi Pantaleev SPDX-FileCopyrightText: 2022 Cody Wyatt Neiman -SPDX-FileCopyrightText: 2024 Suguru Hirahara +SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara SPDX-License-Identifier: AGPL-3.0-or-later --> @@ -27,16 +27,12 @@ After configuring the playbook, run it with [playbook tags](playbook-tags.md) as ```sh -ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start +ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start ``` -**Notes**: +The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` -- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. - -- The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` - - `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. +`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. ## Usage diff --git a/docs/configuring-playbook-bridge-mx-puppet-instagram.md b/docs/configuring-playbook-bridge-mx-puppet-instagram.md index 507b61f8f..ede7e4600 100644 --- a/docs/configuring-playbook-bridge-mx-puppet-instagram.md +++ b/docs/configuring-playbook-bridge-mx-puppet-instagram.md @@ -1,6 +1,6 @@ @@ -25,16 +25,12 @@ After configuring the playbook, run it with [playbook tags](playbook-tags.md) as ```sh -ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start +ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start ``` -**Notes**: +The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` -- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. - -- The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` - - `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. +`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. ## Usage diff --git a/docs/configuring-playbook-bridge-mx-puppet-slack.md b/docs/configuring-playbook-bridge-mx-puppet-slack.md index f51c142da..60a7d3467 100644 --- a/docs/configuring-playbook-bridge-mx-puppet-slack.md +++ b/docs/configuring-playbook-bridge-mx-puppet-slack.md @@ -4,7 +4,7 @@ SPDX-FileCopyrightText: 2020 Rodrigo Belem SPDX-FileCopyrightText: 2021 Marcel Ackermann SPDX-FileCopyrightText: 2022 Jim Myhrberg SPDX-FileCopyrightText: 2022 Nikita Chernyi -SPDX-FileCopyrightText: 2024 Suguru Hirahara +SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara SPDX-License-Identifier: AGPL-3.0-or-later --> @@ -38,16 +38,12 @@ After configuring the playbook, run it with [playbook tags](playbook-tags.md) as ```sh -ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start +ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start ``` -**Notes**: +The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` -- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. - -- The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` - - `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. +`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. ## Usage diff --git a/docs/configuring-playbook-bridge-mx-puppet-steam.md b/docs/configuring-playbook-bridge-mx-puppet-steam.md index 7094b17d2..442bf56c7 100644 --- a/docs/configuring-playbook-bridge-mx-puppet-steam.md +++ b/docs/configuring-playbook-bridge-mx-puppet-steam.md @@ -2,7 +2,7 @@ SPDX-FileCopyrightText: 2020 - 2021 Slavi Pantaleev SPDX-FileCopyrightText: 2020 Hugues Morisset SPDX-FileCopyrightText: 2020 Panagiotis Vasilopoulos -SPDX-FileCopyrightText: 2024 Suguru Hirahara +SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara SPDX-License-Identifier: AGPL-3.0-or-later --> @@ -27,16 +27,12 @@ After configuring the playbook, run it with [playbook tags](playbook-tags.md) as ```sh -ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start +ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start ``` -**Notes**: +The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` -- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. - -- The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` - - `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. +`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. ## Usage diff --git a/docs/configuring-playbook-bridge-mx-puppet-twitter.md b/docs/configuring-playbook-bridge-mx-puppet-twitter.md index 2311b6dfd..b2ecb54c8 100644 --- a/docs/configuring-playbook-bridge-mx-puppet-twitter.md +++ b/docs/configuring-playbook-bridge-mx-puppet-twitter.md @@ -1,7 +1,7 @@ @@ -37,16 +37,12 @@ After configuring the playbook, run it with [playbook tags](playbook-tags.md) as ```sh -ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start +ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start ``` -**Notes**: +The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` -- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. - -- The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` - - `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. +`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. ## Usage diff --git a/docs/configuring-playbook-cactus-comments.md b/docs/configuring-playbook-cactus-comments.md index a7f7680a7..8df93633c 100644 --- a/docs/configuring-playbook-cactus-comments.md +++ b/docs/configuring-playbook-cactus-comments.md @@ -2,7 +2,7 @@ SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev SPDX-FileCopyrightText: 2022 Julian-Samuel Gebühr SPDX-FileCopyrightText: 2023 MDAD project contributors -SPDX-FileCopyrightText: 2024 Suguru Hirahara +SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara SPDX-License-Identifier: AGPL-3.0-or-later --> @@ -86,16 +86,12 @@ After configuring the playbook and potentially [adjusting your DNS records](#adj ```sh -ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start +ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start ``` -**Notes**: +The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` -- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. - -- The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` - - `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. +`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. ## Usage diff --git a/docs/configuring-playbook-etherpad.md b/docs/configuring-playbook-etherpad.md index 30b204004..bc6783b81 100644 --- a/docs/configuring-playbook-etherpad.md +++ b/docs/configuring-playbook-etherpad.md @@ -86,16 +86,12 @@ After configuring the playbook and potentially [adjusting your DNS records](#adj ```sh -ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start +ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start ``` -**Notes**: +The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` -- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the Etherpad admin user (`etherpad_admin_username`). - -- The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` - - `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. +`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. ## Usage From bf058d772b3f52d67d230d218e5f21b0dd9810db Mon Sep 17 00:00:00 2001 From: Catalan Lover Date: Sat, 15 Mar 2025 10:05:31 +0100 Subject: [PATCH 761/841] Fix rogue missing `_client_synapse` in internal admin api --- .../matrix-synapse-reverse-proxy-companion/templates/labels.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-synapse-reverse-proxy-companion/templates/labels.j2 b/roles/custom/matrix-synapse-reverse-proxy-companion/templates/labels.j2 index e772de54b..642e9e9f8 100644 --- a/roles/custom/matrix-synapse-reverse-proxy-companion/templates/labels.j2 +++ b/roles/custom/matrix-synapse-reverse-proxy-companion/templates/labels.j2 @@ -163,7 +163,7 @@ traefik.http.routers.matrix-synapse-reverse-proxy-companion-public-client-synaps # # ############################################################ -traefik.http.routers.matrix-synapse-reverse-proxy-companion-internal-client-synapse-admin-api.rule={{ matrix_synapse_reverse_proxy_companion_container_labels_internal_admin_api_traefik_rule }} +traefik.http.routers.matrix-synapse-reverse-proxy-companion-internal-client-synapse-admin-api.rule={{ matrix_synapse_reverse_proxy_companion_container_labels_internal_client_synapse_admin_api_traefik_rule }} {% if matrix_synapse_reverse_proxy_companion_container_labels_internal_client_synapse_admin_api_traefik_priority | int > 0 %} traefik.http.routers.matrix-synapse-reverse-proxy-companion-public-client-synapse-admin-api.priority={{ matrix_synapse_reverse_proxy_companion_container_labels_internal_client_synapse_admin_api_traefik_priority }} From 388aa8a5aa9f6d42bf2a27ff1d71f43819a075d2 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 16 Mar 2025 18:06:52 +0000 Subject: [PATCH 762/841] Update dock.mau.dev/mautrix/bluesky Docker tag to v0.1.1 --- roles/custom/matrix-bridge-mautrix-bluesky/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-bridge-mautrix-bluesky/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-bluesky/defaults/main.yml index e43d3bea2..db743b0eb 100644 --- a/roles/custom/matrix-bridge-mautrix-bluesky/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-bluesky/defaults/main.yml @@ -14,7 +14,7 @@ matrix_mautrix_bluesky_container_image_self_build_repo: "https://github.com/maut matrix_mautrix_bluesky_container_image_self_build_repo_version: "{{ 'master' if matrix_mautrix_bluesky_version == 'latest' else matrix_mautrix_bluesky_version }}" # renovate: datasource=docker depName=dock.mau.dev/mautrix/bluesky -matrix_mautrix_bluesky_version: v0.1.0 +matrix_mautrix_bluesky_version: v0.1.1 # See: https://mau.dev/tulir/mautrix-bluesky/container_registry matrix_mautrix_bluesky_docker_image: "{{ matrix_mautrix_bluesky_docker_image_registry_prefix }}mautrix/bluesky:{{ matrix_mautrix_bluesky_version }}" matrix_mautrix_bluesky_docker_image_registry_prefix: "{{ 'localhost/' if matrix_mautrix_bluesky_container_image_self_build else matrix_mautrix_bluesky_docker_image_registry_prefix_upstream }}" From fb004dfc75cb49a816a7a857780f26544f02a47e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 16 Mar 2025 18:06:55 +0000 Subject: [PATCH 763/841] Update dock.mau.dev/mautrix/gmessages Docker tag to v0.6.1 --- roles/custom/matrix-bridge-mautrix-gmessages/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-bridge-mautrix-gmessages/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-gmessages/defaults/main.yml index 92099b6b1..1809f6177 100644 --- a/roles/custom/matrix-bridge-mautrix-gmessages/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-gmessages/defaults/main.yml @@ -18,7 +18,7 @@ matrix_mautrix_gmessages_container_image_self_build_repo: "https://github.com/ma matrix_mautrix_gmessages_container_image_self_build_branch: "{{ 'main' if matrix_mautrix_gmessages_version == 'latest' else matrix_mautrix_gmessages_version }}" # renovate: datasource=docker depName=dock.mau.dev/mautrix/gmessages -matrix_mautrix_gmessages_version: v0.6.0 +matrix_mautrix_gmessages_version: v0.6.1 # See: https://mau.dev/mautrix/gmessages/container_registry matrix_mautrix_gmessages_docker_image: "{{ matrix_mautrix_gmessages_docker_image_registry_prefix }}mautrix/gmessages:{{ matrix_mautrix_gmessages_version }}" From e98a236e8c979c34f2fa3be65ee944267245e4e1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 16 Mar 2025 22:16:59 +0000 Subject: [PATCH 764/841] Update dock.mau.dev/mautrix/meta Docker tag to v0.4.5 --- .../matrix-bridge-mautrix-meta-instagram/defaults/main.yml | 2 +- .../matrix-bridge-mautrix-meta-messenger/defaults/main.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/custom/matrix-bridge-mautrix-meta-instagram/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-meta-instagram/defaults/main.yml index 65e1b7268..85b1cce2a 100644 --- a/roles/custom/matrix-bridge-mautrix-meta-instagram/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-meta-instagram/defaults/main.yml @@ -20,7 +20,7 @@ matrix_mautrix_meta_instagram_enabled: true matrix_mautrix_meta_instagram_identifier: matrix-mautrix-meta-instagram # renovate: datasource=docker depName=dock.mau.dev/mautrix/meta -matrix_mautrix_meta_instagram_version: v0.4.4 +matrix_mautrix_meta_instagram_version: v0.4.5 matrix_mautrix_meta_instagram_base_path: "{{ matrix_base_data_path }}/mautrix-meta-instagram" matrix_mautrix_meta_instagram_config_path: "{{ matrix_mautrix_meta_instagram_base_path }}/config" diff --git a/roles/custom/matrix-bridge-mautrix-meta-messenger/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-meta-messenger/defaults/main.yml index ae26f7c1f..f644aec5a 100644 --- a/roles/custom/matrix-bridge-mautrix-meta-messenger/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-meta-messenger/defaults/main.yml @@ -20,7 +20,7 @@ matrix_mautrix_meta_messenger_enabled: true matrix_mautrix_meta_messenger_identifier: matrix-mautrix-meta-messenger # renovate: datasource=docker depName=dock.mau.dev/mautrix/meta -matrix_mautrix_meta_messenger_version: v0.4.4 +matrix_mautrix_meta_messenger_version: v0.4.5 matrix_mautrix_meta_messenger_base_path: "{{ matrix_base_data_path }}/mautrix-meta-messenger" matrix_mautrix_meta_messenger_config_path: "{{ matrix_mautrix_meta_messenger_base_path }}/config" From 6eae4fbc64d8209855bf1f3ebf09f2b6f87d8020 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 16 Mar 2025 22:17:03 +0000 Subject: [PATCH 765/841] Update dock.mau.dev/mautrix/signal Docker tag to v0.8.1 --- roles/custom/matrix-bridge-mautrix-signal/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-bridge-mautrix-signal/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-signal/defaults/main.yml index 3ac88352b..790f03b16 100644 --- a/roles/custom/matrix-bridge-mautrix-signal/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-signal/defaults/main.yml @@ -25,7 +25,7 @@ matrix_mautrix_signal_container_image_self_build_repo: "https://mau.dev/mautrix/ matrix_mautrix_signal_container_image_self_build_branch: "{{ 'main' if matrix_mautrix_signal_version == 'latest' else matrix_mautrix_signal_version }}" # renovate: datasource=docker depName=dock.mau.dev/mautrix/signal -matrix_mautrix_signal_version: v0.8.0 +matrix_mautrix_signal_version: v0.8.1 # See: https://mau.dev/mautrix/signal/container_registry matrix_mautrix_signal_docker_image: "{{ matrix_mautrix_signal_docker_image_registry_prefix }}mautrix/signal:{{ matrix_mautrix_signal_docker_image_tag }}" From 87d4d8b1c51c86d89f16a371bec89fe62f8fe18d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 17 Mar 2025 01:34:49 +0000 Subject: [PATCH 766/841] Update dock.mau.dev/mautrix/whatsapp Docker tag to v0.11.4 --- roles/custom/matrix-bridge-mautrix-whatsapp/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-bridge-mautrix-whatsapp/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-whatsapp/defaults/main.yml index a183d2526..b461573b6 100644 --- a/roles/custom/matrix-bridge-mautrix-whatsapp/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-whatsapp/defaults/main.yml @@ -28,7 +28,7 @@ matrix_mautrix_whatsapp_container_image_self_build_repo: "https://mau.dev/mautri matrix_mautrix_whatsapp_container_image_self_build_branch: "{{ 'master' if matrix_mautrix_whatsapp_version == 'latest' else matrix_mautrix_whatsapp_version }}" # renovate: datasource=docker depName=dock.mau.dev/mautrix/whatsapp -matrix_mautrix_whatsapp_version: v0.11.3 +matrix_mautrix_whatsapp_version: v0.11.4 # See: https://mau.dev/mautrix/whatsapp/container_registry matrix_mautrix_whatsapp_docker_image: "{{ matrix_mautrix_whatsapp_docker_image_registry_prefix }}mautrix/whatsapp:{{ matrix_mautrix_whatsapp_version }}" From 96282f75874caf85cc1228ab560a95cc4202573b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 17 Mar 2025 01:34:52 +0000 Subject: [PATCH 767/841] Update dock.mau.dev/mautrix/slack Docker tag to v0.2.0 --- roles/custom/matrix-bridge-mautrix-slack/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-bridge-mautrix-slack/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-slack/defaults/main.yml index da778c2e2..b0d2406fc 100644 --- a/roles/custom/matrix-bridge-mautrix-slack/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-slack/defaults/main.yml @@ -17,7 +17,7 @@ matrix_mautrix_slack_container_image_self_build_repo: "https://mau.dev/mautrix/s matrix_mautrix_slack_container_image_self_build_branch: "{{ 'main' if matrix_mautrix_slack_version == 'latest' else matrix_mautrix_slack_version }}" # renovate: datasource=docker depName=dock.mau.dev/mautrix/slack -matrix_mautrix_slack_version: v0.1.4 +matrix_mautrix_slack_version: v0.2.0 # See: https://mau.dev/mautrix/slack/container_registry matrix_mautrix_slack_docker_image: "{{ matrix_mautrix_slack_docker_image_registry_prefix }}mautrix/slack:{{ matrix_mautrix_slack_version }}" matrix_mautrix_slack_docker_image_registry_prefix: "{{ 'localhost/' if matrix_mautrix_slack_container_image_self_build else matrix_mautrix_slack_docker_image_registry_prefix_upstream }}" From 723f86dc9cd6f42123e25f2b6cc38a4a6396ba27 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 17 Mar 2025 05:02:33 +0000 Subject: [PATCH 768/841] Update dock.mau.dev/mautrix/twitter Docker tag to v0.3.0 --- roles/custom/matrix-bridge-mautrix-twitter/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-bridge-mautrix-twitter/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-twitter/defaults/main.yml index c6e6d5e72..84613f754 100644 --- a/roles/custom/matrix-bridge-mautrix-twitter/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-twitter/defaults/main.yml @@ -22,7 +22,7 @@ matrix_mautrix_twitter_container_image_self_build_repo: "https://github.com/maut matrix_mautrix_twitter_container_image_self_build_repo_version: "{{ 'master' if matrix_mautrix_twitter_version == 'latest' else matrix_mautrix_twitter_version }}" # renovate: datasource=docker depName=dock.mau.dev/mautrix/twitter -matrix_mautrix_twitter_version: v0.2.1 +matrix_mautrix_twitter_version: v0.3.0 # See: https://mau.dev/tulir/mautrix-twitter/container_registry matrix_mautrix_twitter_docker_image: "{{ matrix_mautrix_twitter_docker_image_registry_prefix }}mautrix/twitter:{{ matrix_mautrix_twitter_version }}" matrix_mautrix_twitter_docker_image_registry_prefix: "{{ 'localhost/' if matrix_mautrix_twitter_container_image_self_build else matrix_mautrix_twitter_docker_image_registry_prefix_upstream }}" From c9951194fec8712931c83449e5227a5011faae40 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Mon, 17 Mar 2025 07:38:36 +0200 Subject: [PATCH 769/841] Fix merging of `_auto` and `_custom` into `matrix_static_files_file_matrix_client_property_org_matrix_msc4143_rtc_foci` so that a list is produced `group_vars/matrix_servers` was correctly populating `matrix_static_files_file_matrix_client_property_org_matrix_msc4143_rtc_foci_auto` with a list, but: - the defaults for these variables were hinting that hashmaps are necessary - merging of `_auto` and `_custom` was done as if for hashmaps, not lists As a result, `/.well-known/matrix/client` looked like this: ```json { "org.matrix.msc4143.rtc_foci": { "livekit_service_url": "https://matrix.example.com/livekit-jwt-service", "type": "livekit" } } ``` .. instead of what's expected as per MSC4143 (https://github.com/matrix-org/matrix-spec-proposals/pull/4143): ```json { "org.matrix.msc4143.rtc_foci": [ { "livekit_service_url": "https://matrix.example.com/livekit-jwt-service", "type": "livekit" } ] } ``` Regardless of our incorrectly formatted `org.matrix.msc4143.rtc_foci` configuration in `/.well-known/matrix/client`, Element Web still seemed to be able to discover LiveKit JWT Service (and by extension, LiveKit Server) correctly, even without this fix. --- roles/custom/matrix-static-files/defaults/main.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/roles/custom/matrix-static-files/defaults/main.yml b/roles/custom/matrix-static-files/defaults/main.yml index 77340c7b9..53c461dcc 100644 --- a/roles/custom/matrix-static-files/defaults/main.yml +++ b/roles/custom/matrix-static-files/defaults/main.yml @@ -218,9 +218,9 @@ matrix_static_files_file_matrix_client_property_org_matrix_msc4143_rtc_foci_enab # Controls the org.matrix.msc4143.rtc_foci property in the /.well-known/matrix/client file. # See `matrix_static_files_file_matrix_client_property_org_matrix_msc4143_rtc_foci_enabled` -matrix_static_files_file_matrix_client_property_org_matrix_msc4143_rtc_foci: "{{ matrix_static_files_file_matrix_client_property_org_matrix_msc4143_rtc_foci_auto | combine(matrix_static_files_file_matrix_client_property_org_matrix_msc4143_rtc_foci_custom, recursive=True) }}" -matrix_static_files_file_matrix_client_property_org_matrix_msc4143_rtc_foci_auto: {} -matrix_static_files_file_matrix_client_property_org_matrix_msc4143_rtc_foci_custom: {} +matrix_static_files_file_matrix_client_property_org_matrix_msc4143_rtc_foci: "{{ matrix_static_files_file_matrix_client_property_org_matrix_msc4143_rtc_foci_auto+ matrix_static_files_file_matrix_client_property_org_matrix_msc4143_rtc_foci_custom }}" +matrix_static_files_file_matrix_client_property_org_matrix_msc4143_rtc_foci_auto: [] +matrix_static_files_file_matrix_client_property_org_matrix_msc4143_rtc_foci_custom: [] # Default /.well-known/matrix/client configuration template which covers the generic use case. # You can customize it by controlling the various variables inside it. From 248463b58be809b38eef3cd45a2f2a83d54d0426 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Mon, 17 Mar 2025 07:51:04 +0200 Subject: [PATCH 770/841] Add Traefik labels to expose `/.well-known/element` on the `matrix.` domain Some Element Call setup resources say that `/.well-known/element/element.json` should be served on the base domain and should contain content like this: ```json { "call": { "widget_url": "https://call.element.example.com" } } ``` We were already generating the file via `matrix-static-files`, but weren't serving it yet. This patch makes sure it's served on the `matrix.` domain, which allows people to set up serving on the base domain via a redirect or reverse-proxying. Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3562 --- group_vars/matrix_servers | 1 + .../matrix-static-files/defaults/main.yml | 17 +++++- .../tasks/validate_config.yml | 3 + .../matrix-static-files/templates/labels.j2 | 61 ++++++++++++++++--- 4 files changed, 71 insertions(+), 11 deletions(-) diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index 6b9abdab2..34bbc0da2 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -6118,6 +6118,7 @@ matrix_static_files_container_labels_traefik_entrypoints: "{{ traefik_entrypoint matrix_static_files_container_labels_traefik_tls_certResolver: "{{ traefik_certResolver_primary }}" matrix_static_files_container_labels_well_known_matrix_endpoint_traefik_hostname: "{{ matrix_server_fqn_matrix }}" +matrix_static_files_container_labels_well_known_element_endpoint_traefik_hostname: "{{ matrix_server_fqn_matrix }}" # Base domain serving is not enabled by default (see `matrix_static_files_container_labels_base_domain_enabled`), # but we pass the hostname, so that enabling it is easy. diff --git a/roles/custom/matrix-static-files/defaults/main.yml b/roles/custom/matrix-static-files/defaults/main.yml index 53c461dcc..cbd8ab79d 100644 --- a/roles/custom/matrix-static-files/defaults/main.yml +++ b/roles/custom/matrix-static-files/defaults/main.yml @@ -57,7 +57,7 @@ matrix_static_files_container_labels_traefik_docker_network: "{{ matrix_static_f matrix_static_files_container_labels_traefik_entrypoints: web-secure matrix_static_files_container_labels_traefik_tls_certResolver: default # noqa var-naming -# Controls whether labels will be added that expose the well-known public endpoint on the Matrix domain. +# Controls whether labels will be added that expose the `/.well-known/matrix` endpoint on the Matrix domain. matrix_static_files_container_labels_well_known_matrix_endpoint_enabled: true matrix_static_files_container_labels_well_known_matrix_endpoint_traefik_hostname: '' matrix_static_files_container_labels_well_known_matrix_endpoint_traefik_path_prefix: /.well-known/matrix @@ -72,6 +72,21 @@ matrix_static_files_container_labels_well_known_matrix_endpoint_traefik_tls_cert matrix_static_files_container_labels_well_known_matrix_endpoint_middleware_compress_enabled: true matrix_static_files_container_labels_well_known_matrix_endpoint_middleware_compress_minResponseBodyBytes: 100 # noqa var-naming +# Controls whether labels will be added that expose the `/.well-known/element` endpoint on the Matrix domain. +matrix_static_files_container_labels_well_known_element_endpoint_enabled: true +matrix_static_files_container_labels_well_known_element_endpoint_traefik_hostname: '' +matrix_static_files_container_labels_well_known_element_endpoint_traefik_path_prefix: /.well-known/element +matrix_static_files_container_labels_well_known_element_endpoint_traefik_rule: "Host(`{{ matrix_static_files_container_labels_well_known_element_endpoint_traefik_hostname }}`) && PathPrefix(`{{ matrix_static_files_container_labels_well_known_element_endpoint_traefik_path_prefix }}`)" +matrix_static_files_container_labels_well_known_element_endpoint_traefik_priority: 0 +matrix_static_files_container_labels_well_known_element_endpoint_traefik_entrypoints: "{{ matrix_static_files_container_labels_traefik_entrypoints }}" +matrix_static_files_container_labels_well_known_element_endpoint_traefik_tls: "{{ matrix_static_files_container_labels_well_known_element_endpoint_traefik_entrypoints != 'web' }}" +matrix_static_files_container_labels_well_known_element_endpoint_traefik_tls_certResolver: "{{ matrix_static_files_container_labels_traefik_tls_certResolver }}" # noqa var-naming +# Controls whether the compress middleware (https://doc.traefik.io/traefik/middlewares/http/compress/) will be enabled for this router. +# The web-server only compresses known file types and our /.well-known/matrix/* files have no file extension. +# As such, they are not being compressed there and we compress them at the Traefik level. +matrix_static_files_container_labels_well_known_element_endpoint_middleware_compress_enabled: true +matrix_static_files_container_labels_well_known_element_endpoint_middleware_compress_minResponseBodyBytes: 100 # noqa var-naming + # Controls whether labels will be added that serve the base domain. # # This is similar to `matrix_static_files_container_labels_well_known_matrix_endpoint_*`, but does more. diff --git a/roles/custom/matrix-static-files/tasks/validate_config.yml b/roles/custom/matrix-static-files/tasks/validate_config.yml index 2697fa654..b76b8201e 100644 --- a/roles/custom/matrix-static-files/tasks/validate_config.yml +++ b/roles/custom/matrix-static-files/tasks/validate_config.yml @@ -13,6 +13,9 @@ - {'name': 'matrix_static_files_container_labels_well_known_matrix_endpoint_traefik_hostname', when: "{{ matrix_static_files_container_labels_well_known_matrix_endpoint_enabled }}"} - {'name': 'matrix_static_files_container_labels_well_known_matrix_endpoint_traefik_path_prefix', when: "{{ matrix_static_files_container_labels_well_known_matrix_endpoint_enabled }}"} + - {'name': 'matrix_static_files_container_labels_well_known_element_endpoint_traefik_hostname', when: "{{ matrix_static_files_container_labels_well_known_element_endpoint_enabled }}"} + - {'name': 'matrix_static_files_container_labels_well_known_element_endpoint_traefik_path_prefix', when: "{{ matrix_static_files_container_labels_well_known_element_endpoint_enabled }}"} + - {'name': 'matrix_static_files_container_labels_base_domain_traefik_hostname', when: "{{ matrix_static_files_container_labels_base_domain_enabled }}"} - {'name': 'matrix_static_files_container_labels_base_domain_traefik_path_prefix', when: "{{ matrix_static_files_container_labels_base_domain_enabled }}"} diff --git a/roles/custom/matrix-static-files/templates/labels.j2 b/roles/custom/matrix-static-files/templates/labels.j2 index 2d5be3895..26bd34036 100644 --- a/roles/custom/matrix-static-files/templates/labels.j2 +++ b/roles/custom/matrix-static-files/templates/labels.j2 @@ -25,27 +25,27 @@ traefik.http.services.{{ matrix_static_files_identifier }}.loadbalancer.server.p {% set well_known_matrix_endpoint_middlewares = [] %} {% if matrix_static_files_container_labels_well_known_matrix_endpoint_middleware_compress_enabled %} -traefik.http.middlewares.{{ matrix_static_files_identifier }}-well-known-compress.compress=true -traefik.http.middlewares.{{ matrix_static_files_identifier }}-well-known-compress.compress.minResponseBodyBytes={{ matrix_static_files_container_labels_well_known_matrix_endpoint_middleware_compress_minResponseBodyBytes }} -{% set well_known_matrix_endpoint_middlewares = well_known_matrix_endpoint_middlewares + [matrix_static_files_identifier + '-well-known-compress'] %} +traefik.http.middlewares.{{ matrix_static_files_identifier }}-well-known-matrix-compress.compress=true +traefik.http.middlewares.{{ matrix_static_files_identifier }}-well-known-matrix-compress.compress.minResponseBodyBytes={{ matrix_static_files_container_labels_well_known_matrix_endpoint_middleware_compress_minResponseBodyBytes }} +{% set well_known_matrix_endpoint_middlewares = well_known_matrix_endpoint_middlewares + [matrix_static_files_identifier + '-well-known-matrix-compress'] %} {% endif %} -traefik.http.routers.{{ matrix_static_files_identifier }}-well-known.rule={{ matrix_static_files_container_labels_well_known_matrix_endpoint_traefik_rule }} +traefik.http.routers.{{ matrix_static_files_identifier }}-well-known-matrix.rule={{ matrix_static_files_container_labels_well_known_matrix_endpoint_traefik_rule }} {% if well_known_matrix_endpoint_middlewares | length > 0 %} -traefik.http.routers.{{ matrix_static_files_identifier }}-well-known.middlewares={{ well_known_matrix_endpoint_middlewares | join(',') }} +traefik.http.routers.{{ matrix_static_files_identifier }}-well-known-matrix.middlewares={{ well_known_matrix_endpoint_middlewares | join(',') }} {% endif %} {% if matrix_static_files_container_labels_well_known_matrix_endpoint_traefik_priority | int > 0 %} -traefik.http.routers.{{ matrix_static_files_identifier }}-well-known.priority={{ matrix_static_files_container_labels_well_known_matrix_endpoint_traefik_priority }} +traefik.http.routers.{{ matrix_static_files_identifier }}-well-known-matrix.priority={{ matrix_static_files_container_labels_well_known_matrix_endpoint_traefik_priority }} {% endif %} -traefik.http.routers.{{ matrix_static_files_identifier }}-well-known.service={{ matrix_static_files_identifier }} -traefik.http.routers.{{ matrix_static_files_identifier }}-well-known.entrypoints={{ matrix_static_files_container_labels_well_known_matrix_endpoint_traefik_entrypoints }} -traefik.http.routers.{{ matrix_static_files_identifier }}-well-known.tls={{ matrix_static_files_container_labels_well_known_matrix_endpoint_traefik_tls | to_json }} +traefik.http.routers.{{ matrix_static_files_identifier }}-well-known-matrix.service={{ matrix_static_files_identifier }} +traefik.http.routers.{{ matrix_static_files_identifier }}-well-known-matrix.entrypoints={{ matrix_static_files_container_labels_well_known_matrix_endpoint_traefik_entrypoints }} +traefik.http.routers.{{ matrix_static_files_identifier }}-well-known-matrix.tls={{ matrix_static_files_container_labels_well_known_matrix_endpoint_traefik_tls | to_json }} {% if matrix_static_files_container_labels_well_known_matrix_endpoint_traefik_tls %} -traefik.http.routers.{{ matrix_static_files_identifier }}-well-known.tls.certResolver={{ matrix_static_files_container_labels_well_known_matrix_endpoint_traefik_tls_certResolver }} +traefik.http.routers.{{ matrix_static_files_identifier }}-well-known-matrix.tls.certResolver={{ matrix_static_files_container_labels_well_known_matrix_endpoint_traefik_tls_certResolver }} {% endif %} ############################################################ @@ -56,6 +56,47 @@ traefik.http.routers.{{ matrix_static_files_identifier }}-well-known.tls.certRes {% endif %} +{% if matrix_static_files_container_labels_well_known_element_endpoint_enabled %} +############################################################ +# # +# Related to /.well-known/element on the Matrix domain # +# # +############################################################ + +{% set well_known_element_endpoint_middlewares = [] %} + +{% if matrix_static_files_container_labels_well_known_element_endpoint_middleware_compress_enabled %} +traefik.http.middlewares.{{ matrix_static_files_identifier }}-well-known-element-compress.compress=true +traefik.http.middlewares.{{ matrix_static_files_identifier }}-well-known-element-compress.compress.minResponseBodyBytes={{ matrix_static_files_container_labels_well_known_element_endpoint_middleware_compress_minResponseBodyBytes }} +{% set well_known_element_endpoint_middlewares = well_known_element_endpoint_middlewares + [matrix_static_files_identifier + '-well-known-element-compress'] %} +{% endif %} + +traefik.http.routers.{{ matrix_static_files_identifier }}-well-known-element.rule={{ matrix_static_files_container_labels_well_known_element_endpoint_traefik_rule }} + +{% if well_known_element_endpoint_middlewares | length > 0 %} +traefik.http.routers.{{ matrix_static_files_identifier }}-well-known-element.middlewares={{ well_known_element_endpoint_middlewares | join(',') }} +{% endif %} + +{% if matrix_static_files_container_labels_well_known_element_endpoint_traefik_priority | int > 0 %} +traefik.http.routers.{{ matrix_static_files_identifier }}-well-known-element.priority={{ matrix_static_files_container_labels_well_known_element_endpoint_traefik_priority }} +{% endif %} + +traefik.http.routers.{{ matrix_static_files_identifier }}-well-known-element.service={{ matrix_static_files_identifier }} +traefik.http.routers.{{ matrix_static_files_identifier }}-well-known-element.entrypoints={{ matrix_static_files_container_labels_well_known_element_endpoint_traefik_entrypoints }} +traefik.http.routers.{{ matrix_static_files_identifier }}-well-known-element.tls={{ matrix_static_files_container_labels_well_known_element_endpoint_traefik_tls | to_json }} + +{% if matrix_static_files_container_labels_well_known_element_endpoint_traefik_tls %} +traefik.http.routers.{{ matrix_static_files_identifier }}-well-known-element.tls.certResolver={{ matrix_static_files_container_labels_well_known_element_endpoint_traefik_tls_certResolver }} +{% endif %} + +############################################################ +# # +# /Related to /.well-known/element on the Matrix domain # +# # +############################################################ +{% endif %} + + {% if matrix_static_files_container_labels_base_domain_enabled %} ############################################################ # # From e3b412827833f417525621ee985a76e53b4bd27e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 17 Mar 2025 12:57:28 +0000 Subject: [PATCH 771/841] Update ghcr.io/matrix-org/rageshake Docker tag to v1.16.0 --- roles/custom/matrix-rageshake/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-rageshake/defaults/main.yml b/roles/custom/matrix-rageshake/defaults/main.yml index a643619ae..b593b6291 100644 --- a/roles/custom/matrix-rageshake/defaults/main.yml +++ b/roles/custom/matrix-rageshake/defaults/main.yml @@ -24,7 +24,7 @@ matrix_rageshake_path_prefix: / # There are no stable container image tags yet. # See: https://github.com/matrix-org/rageshake/issues/69 # renovate: datasource=docker depName=ghcr.io/matrix-org/rageshake -matrix_rageshake_version: 1.15.0 +matrix_rageshake_version: 1.16.0 matrix_rageshake_base_path: "{{ matrix_base_data_path }}/rageshake" matrix_rageshake_config_path: "{{ matrix_rageshake_base_path }}/config" From a32eec757b54c4029a025bdbf2a596c5fa7f71a3 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Mon, 17 Mar 2025 17:09:56 +0200 Subject: [PATCH 772/841] Don't host `/.well-known/element/element.json` file when Element Call is enabled Various old guides mention this, but it seems like neither Element Web, nor Element Desktop make use of it. Element Web & Element Desktop use their own `config.json` configuration to figure out where Element Call is. --- group_vars/matrix_servers | 3 - .../matrix-static-files/defaults/main.yml | 65 ------------------- .../matrix-static-files/tasks/install.yml | 17 ++--- .../tasks/validate_config.yml | 3 - .../matrix-static-files/templates/labels.j2 | 41 ------------ .../.well-known/element/element.json.j2 | 7 -- .../element/element.json.j2.license | 4 -- 7 files changed, 6 insertions(+), 134 deletions(-) delete mode 100644 roles/custom/matrix-static-files/templates/public/.well-known/element/element.json.j2 delete mode 100644 roles/custom/matrix-static-files/templates/public/.well-known/element/element.json.j2.license diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index 34bbc0da2..d1a51123b 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -6118,7 +6118,6 @@ matrix_static_files_container_labels_traefik_entrypoints: "{{ traefik_entrypoint matrix_static_files_container_labels_traefik_tls_certResolver: "{{ traefik_certResolver_primary }}" matrix_static_files_container_labels_well_known_matrix_endpoint_traefik_hostname: "{{ matrix_server_fqn_matrix }}" -matrix_static_files_container_labels_well_known_element_endpoint_traefik_hostname: "{{ matrix_server_fqn_matrix }}" # Base domain serving is not enabled by default (see `matrix_static_files_container_labels_base_domain_enabled`), # but we pass the hostname, so that enabling it is easy. @@ -6153,8 +6152,6 @@ matrix_static_files_file_matrix_client_property_org_matrix_msc4143_rtc_foci_auto matrix_static_files_file_matrix_server_property_m_server: "{{ matrix_server_fqn_matrix_federation }}:{{ matrix_federation_public_port }}" -matrix_static_files_file_element_element_json_property_call_widget_url: "{{ matrix_element_call_public_url if matrix_element_call_enabled else '' }}" - matrix_static_files_scheme: "{{ 'https' if matrix_playbook_ssl_enabled else 'http' }}" matrix_static_files_self_check_hostname_matrix: "{{ matrix_server_fqn_matrix }}" diff --git a/roles/custom/matrix-static-files/defaults/main.yml b/roles/custom/matrix-static-files/defaults/main.yml index cbd8ab79d..de0a568c2 100644 --- a/roles/custom/matrix-static-files/defaults/main.yml +++ b/roles/custom/matrix-static-files/defaults/main.yml @@ -72,21 +72,6 @@ matrix_static_files_container_labels_well_known_matrix_endpoint_traefik_tls_cert matrix_static_files_container_labels_well_known_matrix_endpoint_middleware_compress_enabled: true matrix_static_files_container_labels_well_known_matrix_endpoint_middleware_compress_minResponseBodyBytes: 100 # noqa var-naming -# Controls whether labels will be added that expose the `/.well-known/element` endpoint on the Matrix domain. -matrix_static_files_container_labels_well_known_element_endpoint_enabled: true -matrix_static_files_container_labels_well_known_element_endpoint_traefik_hostname: '' -matrix_static_files_container_labels_well_known_element_endpoint_traefik_path_prefix: /.well-known/element -matrix_static_files_container_labels_well_known_element_endpoint_traefik_rule: "Host(`{{ matrix_static_files_container_labels_well_known_element_endpoint_traefik_hostname }}`) && PathPrefix(`{{ matrix_static_files_container_labels_well_known_element_endpoint_traefik_path_prefix }}`)" -matrix_static_files_container_labels_well_known_element_endpoint_traefik_priority: 0 -matrix_static_files_container_labels_well_known_element_endpoint_traefik_entrypoints: "{{ matrix_static_files_container_labels_traefik_entrypoints }}" -matrix_static_files_container_labels_well_known_element_endpoint_traefik_tls: "{{ matrix_static_files_container_labels_well_known_element_endpoint_traefik_entrypoints != 'web' }}" -matrix_static_files_container_labels_well_known_element_endpoint_traefik_tls_certResolver: "{{ matrix_static_files_container_labels_traefik_tls_certResolver }}" # noqa var-naming -# Controls whether the compress middleware (https://doc.traefik.io/traefik/middlewares/http/compress/) will be enabled for this router. -# The web-server only compresses known file types and our /.well-known/matrix/* files have no file extension. -# As such, they are not being compressed there and we compress them at the Traefik level. -matrix_static_files_container_labels_well_known_element_endpoint_middleware_compress_enabled: true -matrix_static_files_container_labels_well_known_element_endpoint_middleware_compress_minResponseBodyBytes: 100 # noqa var-naming - # Controls whether labels will be added that serve the base domain. # # This is similar to `matrix_static_files_container_labels_well_known_matrix_endpoint_*`, but does more. @@ -384,56 +369,6 @@ matrix_static_files_file_matrix_support_configuration: "{{ matrix_static_files_f ######################################################################## -######################################################################## -# # -# Related to /.well-known/element/element.json # -# # -######################################################################## - -# Controls whether a `/.well-known/element/element.json` file is generated and used at all. -matrix_static_files_file_element_element_json_enabled: true - -# Controls the call.widget_url property in the /.well-known/element/element.json file -matrix_static_files_file_element_element_json_property_call_widget_url: '' - -# Default /.well-known/element/element.json configuration template which covers the generic use case. -# You can customize it by controlling the various variables inside it. -# -# For a more advanced customization, you can extend the default (see `matrix_static_files_file_matrix_support_configuration_extension_json`) -# or completely replace this variable with your own template. -matrix_static_files_file_element_element_json_configuration_json: "{{ lookup('template', 'templates/public/.well-known/element/element.json.j2') }}" - -# Your custom JSON configuration for /.well-known/element/element.json should go to `matrix_static_files_file_element_element_json_configuration_extension_json`. -# This configuration extends the default starting configuration (`matrix_static_files_file_matrix_support_configuration_extension_json`). -# -# You can override individual variables from the default configuration, or introduce new ones. -# -# If you need something more special, you can take full control by -# completely redefining `matrix_static_files_file_matrix_support_configuration_json`. -# -# Example configuration extension follows: -# -# matrix_static_files_file_element_element_json_configuration_extension_json: | -# { -# "call": { -# "url": "value" -# } -# } -matrix_static_files_file_element_element_json_configuration_extension_json: '{}' - -matrix_static_files_file_element_element_json_configuration_extension: "{{ matrix_static_files_file_element_element_json_configuration_extension_json | from_json if matrix_static_files_file_element_element_json_configuration_extension_json | from_json is mapping else {} }}" - -# Holds the final /.well-known/matrix/support configuration (a combination of the default and its extension). -# You most likely don't need to touch this variable. Instead, see `matrix_static_files_file_element_element_json_configuration_json` or `matrix_static_files_file_element_element_json_configuration_extension_json`. -matrix_static_files_file_element_element_json_configuration: "{{ matrix_static_files_file_element_element_json_configuration_json | combine(matrix_static_files_file_element_element_json_configuration_extension, recursive=True) }}" - -######################################################################## -# # -# /Related to /.well-known/element/element.json # -# # -######################################################################## - - ######################################################################## # # # Related to index.html # diff --git a/roles/custom/matrix-static-files/tasks/install.yml b/roles/custom/matrix-static-files/tasks/install.yml index 5b8609011..dd467a38d 100644 --- a/roles/custom/matrix-static-files/tasks/install.yml +++ b/roles/custom/matrix-static-files/tasks/install.yml @@ -18,9 +18,14 @@ - {path: "{{ matrix_static_files_public_path }}", when: true} - {path: "{{ matrix_static_files_public_well_known_path }}", when: true} - {path: "{{ matrix_static_files_public_well_known_matrix_path }}", when: true} - - {path: "{{ matrix_static_files_public_well_known_element_path }}", when: true} when: "item.when | bool" +# This is not necessary anymore, so we're cleaning it up. +- name: Ensure matrix-static-files element path doesn't exist + ansible.builtin.file: + path: "{{ matrix_static_files_public_well_known_element_path }}" + state: absent + - name: Ensure matrix-static-files is configured ansible.builtin.template: src: "{{ item.src }}" @@ -59,10 +64,6 @@ dest: "{{ matrix_static_files_public_well_known_matrix_path }}/support" when: "{{ matrix_static_files_file_matrix_support_enabled }}" - - content: "{{ matrix_static_files_file_element_element_json_configuration | to_nice_json }}" - dest: "{{ matrix_static_files_public_well_known_element_path }}/element.json" - when: "{{ matrix_static_files_file_element_element_json_enabled }}" - # This one will not be deleted if `matrix_static_files_file_index_html_enabled` flips to `false`. # See the comment for `matrix_static_files_file_index_html_enabled` to learn why. - content: "{{ matrix_static_files_file_index_html_template }}" @@ -81,12 +82,6 @@ state: absent when: "not matrix_static_files_file_matrix_support_enabled | bool" -- name: Ensure /.well-known/element/element.json file deleted if not enabled - ansible.builtin.file: - path: "{{ matrix_static_files_public_well_known_element_path }}/element.json" - state: absent - when: "not matrix_static_files_file_element_element_json_enabled | bool" - - name: Ensure matrix-static-files container image is pulled community.docker.docker_image: name: "{{ matrix_static_files_container_image }}" diff --git a/roles/custom/matrix-static-files/tasks/validate_config.yml b/roles/custom/matrix-static-files/tasks/validate_config.yml index b76b8201e..2697fa654 100644 --- a/roles/custom/matrix-static-files/tasks/validate_config.yml +++ b/roles/custom/matrix-static-files/tasks/validate_config.yml @@ -13,9 +13,6 @@ - {'name': 'matrix_static_files_container_labels_well_known_matrix_endpoint_traefik_hostname', when: "{{ matrix_static_files_container_labels_well_known_matrix_endpoint_enabled }}"} - {'name': 'matrix_static_files_container_labels_well_known_matrix_endpoint_traefik_path_prefix', when: "{{ matrix_static_files_container_labels_well_known_matrix_endpoint_enabled }}"} - - {'name': 'matrix_static_files_container_labels_well_known_element_endpoint_traefik_hostname', when: "{{ matrix_static_files_container_labels_well_known_element_endpoint_enabled }}"} - - {'name': 'matrix_static_files_container_labels_well_known_element_endpoint_traefik_path_prefix', when: "{{ matrix_static_files_container_labels_well_known_element_endpoint_enabled }}"} - - {'name': 'matrix_static_files_container_labels_base_domain_traefik_hostname', when: "{{ matrix_static_files_container_labels_base_domain_enabled }}"} - {'name': 'matrix_static_files_container_labels_base_domain_traefik_path_prefix', when: "{{ matrix_static_files_container_labels_base_domain_enabled }}"} diff --git a/roles/custom/matrix-static-files/templates/labels.j2 b/roles/custom/matrix-static-files/templates/labels.j2 index 26bd34036..9c502c694 100644 --- a/roles/custom/matrix-static-files/templates/labels.j2 +++ b/roles/custom/matrix-static-files/templates/labels.j2 @@ -56,47 +56,6 @@ traefik.http.routers.{{ matrix_static_files_identifier }}-well-known-matrix.tls. {% endif %} -{% if matrix_static_files_container_labels_well_known_element_endpoint_enabled %} -############################################################ -# # -# Related to /.well-known/element on the Matrix domain # -# # -############################################################ - -{% set well_known_element_endpoint_middlewares = [] %} - -{% if matrix_static_files_container_labels_well_known_element_endpoint_middleware_compress_enabled %} -traefik.http.middlewares.{{ matrix_static_files_identifier }}-well-known-element-compress.compress=true -traefik.http.middlewares.{{ matrix_static_files_identifier }}-well-known-element-compress.compress.minResponseBodyBytes={{ matrix_static_files_container_labels_well_known_element_endpoint_middleware_compress_minResponseBodyBytes }} -{% set well_known_element_endpoint_middlewares = well_known_element_endpoint_middlewares + [matrix_static_files_identifier + '-well-known-element-compress'] %} -{% endif %} - -traefik.http.routers.{{ matrix_static_files_identifier }}-well-known-element.rule={{ matrix_static_files_container_labels_well_known_element_endpoint_traefik_rule }} - -{% if well_known_element_endpoint_middlewares | length > 0 %} -traefik.http.routers.{{ matrix_static_files_identifier }}-well-known-element.middlewares={{ well_known_element_endpoint_middlewares | join(',') }} -{% endif %} - -{% if matrix_static_files_container_labels_well_known_element_endpoint_traefik_priority | int > 0 %} -traefik.http.routers.{{ matrix_static_files_identifier }}-well-known-element.priority={{ matrix_static_files_container_labels_well_known_element_endpoint_traefik_priority }} -{% endif %} - -traefik.http.routers.{{ matrix_static_files_identifier }}-well-known-element.service={{ matrix_static_files_identifier }} -traefik.http.routers.{{ matrix_static_files_identifier }}-well-known-element.entrypoints={{ matrix_static_files_container_labels_well_known_element_endpoint_traefik_entrypoints }} -traefik.http.routers.{{ matrix_static_files_identifier }}-well-known-element.tls={{ matrix_static_files_container_labels_well_known_element_endpoint_traefik_tls | to_json }} - -{% if matrix_static_files_container_labels_well_known_element_endpoint_traefik_tls %} -traefik.http.routers.{{ matrix_static_files_identifier }}-well-known-element.tls.certResolver={{ matrix_static_files_container_labels_well_known_element_endpoint_traefik_tls_certResolver }} -{% endif %} - -############################################################ -# # -# /Related to /.well-known/element on the Matrix domain # -# # -############################################################ -{% endif %} - - {% if matrix_static_files_container_labels_base_domain_enabled %} ############################################################ # # diff --git a/roles/custom/matrix-static-files/templates/public/.well-known/element/element.json.j2 b/roles/custom/matrix-static-files/templates/public/.well-known/element/element.json.j2 deleted file mode 100644 index 68d13f098..000000000 --- a/roles/custom/matrix-static-files/templates/public/.well-known/element/element.json.j2 +++ /dev/null @@ -1,7 +0,0 @@ -{ - {% if matrix_static_files_file_element_element_json_property_call_widget_url %} - "call": { - "widget_url": {{ matrix_static_files_file_element_element_json_property_call_widget_url | to_json }} - } - {% endif %} -} diff --git a/roles/custom/matrix-static-files/templates/public/.well-known/element/element.json.j2.license b/roles/custom/matrix-static-files/templates/public/.well-known/element/element.json.j2.license deleted file mode 100644 index 3d67f3cc5..000000000 --- a/roles/custom/matrix-static-files/templates/public/.well-known/element/element.json.j2.license +++ /dev/null @@ -1,4 +0,0 @@ -SPDX-FileCopyrightText: 2024 wjbeckett -SPDX-FileCopyrightText: 2024 Slavi Pantaleev - -SPDX-License-Identifier: AGPL-3.0-or-later From bdd184242cbeb7070a2bb1ec89fd787e3a3ee119 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Mon, 17 Mar 2025 19:09:40 +0200 Subject: [PATCH 773/841] Use boolean values for `matrix_user_verification_service_uvs_disable_ip_blacklist` --- group_vars/matrix_servers | 2 +- .../matrix-user-verification-service/templates/.env.j2 | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index d1a51123b..8bf0e13de 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -6089,7 +6089,7 @@ matrix_user_verification_service_container_url: "http://{{ matrix_user_verifica matrix_user_verification_service_uvs_homeserver_url: "{{ matrix_addons_homeserver_client_api_url }}" # We connect via the container network (private IPs), so we need to disable IP checks -matrix_user_verification_service_uvs_disable_ip_blacklist: "{{'true' if matrix_synapse_enabled else 'false'}}" +matrix_user_verification_service_uvs_disable_ip_blacklist: "{{ matrix_synapse_enabled }}" matrix_user_verification_service_uvs_auth_token: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'uvs.auth.token', rounds=655555) | to_uuid }}" diff --git a/roles/custom/matrix-user-verification-service/templates/.env.j2 b/roles/custom/matrix-user-verification-service/templates/.env.j2 index e07870e02..6871f2614 100644 --- a/roles/custom/matrix-user-verification-service/templates/.env.j2 +++ b/roles/custom/matrix-user-verification-service/templates/.env.j2 @@ -6,11 +6,11 @@ SPDX-License-Identifier: AGPL-3.0-or-later UVS_ACCESS_TOKEN={{ matrix_user_verification_service_uvs_access_token }} UVS_HOMESERVER_URL={{ matrix_user_verification_service_uvs_homeserver_url }} -UVS_DISABLE_IP_BLACKLIST={{ matrix_user_verification_service_uvs_disable_ip_blacklist }} +UVS_DISABLE_IP_BLACKLIST={{ matrix_user_verification_service_uvs_disable_ip_blacklist | to_json }} UVS_LOG_LEVEL={{ matrix_user_verification_service_uvs_log_level }} {% if matrix_user_verification_service_uvs_require_auth | bool %} - UVS_AUTH_TOKEN={{ matrix_user_verification_service_uvs_auth_token }} +UVS_AUTH_TOKEN={{ matrix_user_verification_service_uvs_auth_token }} {% endif %} {% if matrix_user_verification_service_uvs_pin_openid_verify_server_name | bool %} - UVS_OPENID_VERIFY_SERVER_NAME={{ matrix_user_verification_service_uvs_openid_verify_server_name }} +UVS_OPENID_VERIFY_SERVER_NAME={{ matrix_user_verification_service_uvs_openid_verify_server_name }} {% endif %} From bf2e2dab5adb0d2c2ce1b430bde88c2fb4acdccb Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 18 Mar 2025 01:40:35 +0000 Subject: [PATCH 774/841] Update ghcr.io/matrix-org/rageshake Docker tag to v1.16.1 --- roles/custom/matrix-rageshake/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-rageshake/defaults/main.yml b/roles/custom/matrix-rageshake/defaults/main.yml index b593b6291..4278798a3 100644 --- a/roles/custom/matrix-rageshake/defaults/main.yml +++ b/roles/custom/matrix-rageshake/defaults/main.yml @@ -24,7 +24,7 @@ matrix_rageshake_path_prefix: / # There are no stable container image tags yet. # See: https://github.com/matrix-org/rageshake/issues/69 # renovate: datasource=docker depName=ghcr.io/matrix-org/rageshake -matrix_rageshake_version: 1.16.0 +matrix_rageshake_version: 1.16.1 matrix_rageshake_base_path: "{{ matrix_base_data_path }}/rageshake" matrix_rageshake_config_path: "{{ matrix_rageshake_base_path }}/config" From feb343337a27a1f9b8c06ee396db617f6b76fbdc Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 18 Mar 2025 05:47:07 +0000 Subject: [PATCH 775/841] Update dependency setuptools to v76.1.0 --- i18n/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/requirements.txt b/i18n/requirements.txt index 35addfe1e..0dfe04d27 100644 --- a/i18n/requirements.txt +++ b/i18n/requirements.txt @@ -17,7 +17,7 @@ packaging==24.2 Pygments==2.19.1 PyYAML==6.0.2 requests==2.32.3 -setuptools==76.0.0 +setuptools==76.1.0 snowballstemmer==2.2.0 Sphinx==8.2.3 sphinx-intl==2.3.1 From 60aa88992aae944911fa66ad7a424f4df3ef2595 Mon Sep 17 00:00:00 2001 From: Aine Date: Tue, 18 Mar 2025 11:49:08 +0200 Subject: [PATCH 776/841] add a note about postgres upgrade --- docs/maintenance-postgres.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/maintenance-postgres.md b/docs/maintenance-postgres.md index af630af5d..ae91232b7 100644 --- a/docs/maintenance-postgres.md +++ b/docs/maintenance-postgres.md @@ -98,7 +98,7 @@ As part of the upgrade, the database is dumped to `/tmp`, an upgraded and empty To save disk space in `/tmp`, the dump file is gzipped on the fly at the expense of CPU usage. If you have plenty of space in `/tmp` and would rather avoid gzipping, you can explicitly pass a dump filename which doesn't end in `.gz`. Example: `--extra-vars="postgres_dump_name=matrix-postgres-dump.sql"` -**All databases, roles, etc. on the Postgres server are migrated**. +**All databases, roles, etc. on the Postgres server are migrated**. However, other components that depend on specific Postgres versions (like the [Postgres Backup](configuring-playbook-postgres-backup.md) service) may need to be updated after the upgrade by using `just install-all` ## Tuning PostgreSQL From 052d494919be543fdf45b24c00bf2c2ceb77aa0c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 18 Mar 2025 15:54:28 +0000 Subject: [PATCH 777/841] Update hif1/heisenbridge Docker tag to v1.15.2 --- roles/custom/matrix-bridge-heisenbridge/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-bridge-heisenbridge/defaults/main.yml b/roles/custom/matrix-bridge-heisenbridge/defaults/main.yml index 0bf20fc21..7dd57bc3b 100644 --- a/roles/custom/matrix-bridge-heisenbridge/defaults/main.yml +++ b/roles/custom/matrix-bridge-heisenbridge/defaults/main.yml @@ -19,7 +19,7 @@ matrix_heisenbridge_hostname: "{{ matrix_server_fqn_matrix }}" matrix_heisenbridge_path_prefix: "/heisenbridge" # renovate: datasource=docker depName=hif1/heisenbridge -matrix_heisenbridge_version: 1.15.0 +matrix_heisenbridge_version: 1.15.2 matrix_heisenbridge_docker_image: "{{ matrix_heisenbridge_docker_image_registry_prefix }}hif1/heisenbridge:{{ matrix_heisenbridge_version }}" matrix_heisenbridge_docker_image_registry_prefix: "{{ matrix_heisenbridge_docker_image_registry_prefix_upstream }}" matrix_heisenbridge_docker_image_registry_prefix_upstream: "{{ matrix_heisenbridge_docker_image_registry_prefix_upstream_default }}" From 3e3fe21184b0791748933263f2c2786c9893f21d Mon Sep 17 00:00:00 2001 From: pl804 <101955060+pl804@users.noreply.github.com> Date: Tue, 18 Mar 2025 09:08:21 -0700 Subject: [PATCH 778/841] Clarify required ansible prefix in comments if adding become_password to hosts file. --- examples/hosts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/hosts b/examples/hosts index 10195e607..5a29fbfc5 100644 --- a/examples/hosts +++ b/examples/hosts @@ -3,7 +3,7 @@ # # To connect using a non-root user (and elevate to root with sudo later), # replace `ansible_ssh_user=root` with something like this: `ansible_ssh_user=username ansible_become=true ansible_become_user=root`. -# If sudo requires a password, either add `become_password=PASSWORD_HERE` to the host line +# If sudo requires a password, either add `ansible_become_password=PASSWORD_HERE` to the host line # or tell Ansible to ask you for the password interactively by adding a `--ask-become-pass` (`-K`) flag to all `ansible-playbook` (or `just`) commands. # # For improved Ansible performance, SSH pipelining is enabled by default in `ansible.cfg`. From 1e44fd8046143e2605c3c071518cd9e4735e2375 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Wed, 19 Mar 2025 06:43:09 +0200 Subject: [PATCH 779/841] Upgrade ansible-role-docker (7.4.5 -> 7.4.6) --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 76efb2363..b26183587 100644 --- a/requirements.yml +++ b/requirements.yml @@ -10,7 +10,7 @@ version: v0.3.0-4 name: container_socket_proxy - src: git+https://github.com/geerlingguy/ansible-role-docker - version: 7.4.5 + version: 7.4.6 name: docker - src: git+https://github.com/devture/com.devture.ansible.role.docker_sdk_for_python.git version: 129c8590e106b83e6f4c259649a613c6279e937a From 2aefcf66391e242c7db50ff6a2658c0d7f878b5a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 19 Mar 2025 10:35:57 +0000 Subject: [PATCH 780/841] Update docker.io/metio/matrix-alertmanager-receiver Docker tag to v2025.3.19 --- roles/custom/matrix-alertmanager-receiver/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-alertmanager-receiver/defaults/main.yml b/roles/custom/matrix-alertmanager-receiver/defaults/main.yml index ec8ae38fd..a6134499d 100644 --- a/roles/custom/matrix-alertmanager-receiver/defaults/main.yml +++ b/roles/custom/matrix-alertmanager-receiver/defaults/main.yml @@ -11,7 +11,7 @@ matrix_alertmanager_receiver_enabled: true # renovate: datasource=docker depName=docker.io/metio/matrix-alertmanager-receiver -matrix_alertmanager_receiver_version: 2025.3.12 +matrix_alertmanager_receiver_version: 2025.3.19 matrix_alertmanager_receiver_scheme: https From d635f664b56a4b4f55c947c53d85871f6c3fe008 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 19 Mar 2025 17:04:09 +0000 Subject: [PATCH 781/841] Update ghcr.io/matrix-org/rageshake Docker tag to v1.16.2 --- roles/custom/matrix-rageshake/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-rageshake/defaults/main.yml b/roles/custom/matrix-rageshake/defaults/main.yml index 4278798a3..d28636793 100644 --- a/roles/custom/matrix-rageshake/defaults/main.yml +++ b/roles/custom/matrix-rageshake/defaults/main.yml @@ -24,7 +24,7 @@ matrix_rageshake_path_prefix: / # There are no stable container image tags yet. # See: https://github.com/matrix-org/rageshake/issues/69 # renovate: datasource=docker depName=ghcr.io/matrix-org/rageshake -matrix_rageshake_version: 1.16.1 +matrix_rageshake_version: 1.16.2 matrix_rageshake_base_path: "{{ matrix_base_data_path }}/rageshake" matrix_rageshake_config_path: "{{ matrix_rageshake_base_path }}/config" From 0b448faf9d2e0c32958a27c2d3ee5de7fca75ea4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 19 Mar 2025 23:32:48 +0000 Subject: [PATCH 782/841] Update dependency setuptools to v77 --- i18n/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/requirements.txt b/i18n/requirements.txt index 0dfe04d27..851b176be 100644 --- a/i18n/requirements.txt +++ b/i18n/requirements.txt @@ -17,7 +17,7 @@ packaging==24.2 Pygments==2.19.1 PyYAML==6.0.2 requests==2.32.3 -setuptools==76.1.0 +setuptools==77.0.1 snowballstemmer==2.2.0 Sphinx==8.2.3 sphinx-intl==2.3.1 From d96ce10d57d04702e1f9253cc1ced7e647b179ee Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Thu, 20 Mar 2025 08:57:33 +0200 Subject: [PATCH 783/841] Upgrade Traefik (v3.3.4-0 -> v3.3.4-1) --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index b26183587..8a8f9686c 100644 --- a/requirements.yml +++ b/requirements.yml @@ -67,7 +67,7 @@ version: v1.0.0-0 name: timesync - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-traefik.git - version: v3.3.4-0 + version: v3.3.4-1 name: traefik - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-traefik-certs-dumper.git version: v2.10.0-0 From 29d24e6e88233b8bdc108eeb8ce8bad909c2ca24 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Thu, 20 Mar 2025 08:58:31 +0200 Subject: [PATCH 784/841] Adapt docs to new Traefik environment variables variable name Related to: - d96ce10d57d04702e1f9253cc1ced7e647b179ee - https://github.com/mother-of-all-self-hosting/ansible-role-traefik/pull/6 - https://github.com/mother-of-all-self-hosting/ansible-role-traefik/issues/5 --- docs/configuring-playbook-ssl-certificates.md | 2 +- docs/howto-srv-server-delegation.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/configuring-playbook-ssl-certificates.md b/docs/configuring-playbook-ssl-certificates.md index 078cf3103..f6889f803 100644 --- a/docs/configuring-playbook-ssl-certificates.md +++ b/docs/configuring-playbook-ssl-certificates.md @@ -117,7 +117,7 @@ traefik_config_certificatesResolvers_acme_dnsChallenge_provider: "cloudflare" traefik_config_certificatesResolvers_acme_dnsChallenge_delayBeforeCheck: 60 traefik_config_certificatesResolvers_acme_dnsChallenge_resolvers: - "1.1.1.1:53" -traefik_environment_variables_additional_variables: | +traefik_environment_variables: | CF_API_EMAIL=redacted CF_ZONE_API_TOKEN=redacted CF_DNS_API_TOKEN=redacted diff --git a/docs/howto-srv-server-delegation.md b/docs/howto-srv-server-delegation.md index 7a13ddab4..d1013f598 100644 --- a/docs/howto-srv-server-delegation.md +++ b/docs/howto-srv-server-delegation.md @@ -80,7 +80,7 @@ traefik_configuration_extension_yaml: | storage: {{ traefik_config_certificatesResolvers_acme_storage | to_json }} # 2. Configure the environment variables needed by Rraefik to automate the ACME DNS Challenge (example for Cloudflare) -traefik_environment_variables_additional_variables: | +traefik_environment_variables: | CF_API_EMAIL=redacted CF_ZONE_API_TOKEN=redacted CF_DNS_API_TOKEN=redacted @@ -158,7 +158,7 @@ traefik_configuration_extension_yaml: | traefik_certResolver_primary: "dns" # Configure the environment variables needed by Traefik to automate the ACME DNS Challenge (example for Cloudflare) -traefik_environment_variables_additional_variables: | +traefik_environment_variables: | CF_API_EMAIL=redacted CF_ZONE_API_TOKEN=redacted CF_DNS_API_TOKEN=redacted From c0db11e2622e96a08e5039373e302e955e4fd1bd Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 20 Mar 2025 10:30:31 +0000 Subject: [PATCH 785/841] Update dependency jitsi to v10133 --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 8a8f9686c..a8fad937e 100644 --- a/requirements.yml +++ b/requirements.yml @@ -25,7 +25,7 @@ version: v11.5.2-2 name: grafana - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-jitsi.git - version: v10078-1-0 + version: v10133-0 name: jitsi - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-livekit-server.git version: v1.8.4-2 From 8fa6f26852ddc2172fef0f6b1e45cdf09edc8c95 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 20 Mar 2025 15:29:59 +0000 Subject: [PATCH 786/841] Update dependency setuptools to v77.0.3 --- i18n/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/requirements.txt b/i18n/requirements.txt index 851b176be..82e5b0203 100644 --- a/i18n/requirements.txt +++ b/i18n/requirements.txt @@ -17,7 +17,7 @@ packaging==24.2 Pygments==2.19.1 PyYAML==6.0.2 requests==2.32.3 -setuptools==77.0.1 +setuptools==77.0.3 snowballstemmer==2.2.0 Sphinx==8.2.3 sphinx-intl==2.3.1 From 53fdf71d430ba379c6d63109e5b80b5908b32f63 Mon Sep 17 00:00:00 2001 From: luneth <48867138+luneth@users.noreply.github.com> Date: Thu, 20 Mar 2025 20:20:18 +0100 Subject: [PATCH 787/841] Fix missing argument Fix missing "reverse_proxy" argument line 35 --- examples/reverse-proxies/caddy2-in-container/Caddyfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/reverse-proxies/caddy2-in-container/Caddyfile b/examples/reverse-proxies/caddy2-in-container/Caddyfile index d5611c06d..958205477 100644 --- a/examples/reverse-proxies/caddy2-in-container/Caddyfile +++ b/examples/reverse-proxies/caddy2-in-container/Caddyfile @@ -10,7 +10,7 @@ matrix.example.com { encode zstd gzip # Use the docker service name instead of localhost or 127.0.0.1 here - matrix-traefik:8080 { + reverse_proxy matrix-traefik:8080 { header_up X-Forwarded-Port {http.request.port} header_up X-Forwarded-TlsProto {tls_protocol} header_up X-Forwarded-TlsCipher {tls_cipher} From 76703fe9162778f49cb7c42ce84f84b895e8a82e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 21 Mar 2025 12:15:59 +0000 Subject: [PATCH 788/841] Update ghcr.io/element-hq/lk-jwt-service Docker tag to v0.2.1 --- roles/custom/matrix-livekit-jwt-service/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-livekit-jwt-service/defaults/main.yml b/roles/custom/matrix-livekit-jwt-service/defaults/main.yml index cdba27bf1..c73c926c4 100644 --- a/roles/custom/matrix-livekit-jwt-service/defaults/main.yml +++ b/roles/custom/matrix-livekit-jwt-service/defaults/main.yml @@ -25,7 +25,7 @@ matrix_livekit_jwt_service_container_additional_networks_auto: [] matrix_livekit_jwt_service_container_additional_networks_custom: [] # renovate: datasource=docker depName=ghcr.io/element-hq/lk-jwt-service -matrix_livekit_jwt_service_version: 0.2.0 +matrix_livekit_jwt_service_version: 0.2.1 matrix_livekit_jwt_service_container_image_self_build: false matrix_livekit_jwt_service_container_repo: "https://github.com/element-hq/lk-jwt-service.git" From 0ef97f4d85f6fad252d53f5d17cbf43e69a2af88 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 24 Mar 2025 02:58:43 +0000 Subject: [PATCH 789/841] Update dependency docker to v7.4.7 --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index a8fad937e..04bb40e93 100644 --- a/requirements.yml +++ b/requirements.yml @@ -10,7 +10,7 @@ version: v0.3.0-4 name: container_socket_proxy - src: git+https://github.com/geerlingguy/ansible-role-docker - version: 7.4.6 + version: 7.4.7 name: docker - src: git+https://github.com/devture/com.devture.ansible.role.docker_sdk_for_python.git version: 129c8590e106b83e6f4c259649a613c6279e937a From fae7efce6e7aae043c94388f3acf61617b86205d Mon Sep 17 00:00:00 2001 From: adam-kress Date: Mon, 24 Mar 2025 07:35:12 -0400 Subject: [PATCH 790/841] Upgrade Jitsi (v10133-0 -> v10133-1) (#4208) --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 04bb40e93..2ec9fad68 100644 --- a/requirements.yml +++ b/requirements.yml @@ -25,7 +25,7 @@ version: v11.5.2-2 name: grafana - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-jitsi.git - version: v10133-0 + version: v10133-1-0 name: jitsi - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-livekit-server.git version: v1.8.4-2 From 0db3460fff2c674c4ac328e05fc035edb5898972 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 24 Mar 2025 15:57:31 +0000 Subject: [PATCH 791/841] Update dependency setuptools to v78 --- i18n/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/requirements.txt b/i18n/requirements.txt index 82e5b0203..64e74f694 100644 --- a/i18n/requirements.txt +++ b/i18n/requirements.txt @@ -17,7 +17,7 @@ packaging==24.2 Pygments==2.19.1 PyYAML==6.0.2 requests==2.32.3 -setuptools==77.0.3 +setuptools==78.0.1 snowballstemmer==2.2.0 Sphinx==8.2.3 sphinx-intl==2.3.1 From dc933fcc51f2a931ca9053196d2ac0eb10cb6507 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 24 Mar 2025 20:25:04 +0000 Subject: [PATCH 792/841] Update dependency setuptools to v78.0.2 --- i18n/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/requirements.txt b/i18n/requirements.txt index 64e74f694..2b470ab00 100644 --- a/i18n/requirements.txt +++ b/i18n/requirements.txt @@ -17,7 +17,7 @@ packaging==24.2 Pygments==2.19.1 PyYAML==6.0.2 requests==2.32.3 -setuptools==78.0.1 +setuptools==78.0.2 snowballstemmer==2.2.0 Sphinx==8.2.3 sphinx-intl==2.3.1 From df8043ec2046aaeaa7f3e7c44e2aad34cdd20f47 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Tue, 25 Mar 2025 15:58:28 +0200 Subject: [PATCH 793/841] Upgrade Synapse (v1.126.0 -> v1.127.0) --- roles/custom/matrix-synapse/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-synapse/defaults/main.yml b/roles/custom/matrix-synapse/defaults/main.yml index ac3e59a3d..2a0feefc6 100644 --- a/roles/custom/matrix-synapse/defaults/main.yml +++ b/roles/custom/matrix-synapse/defaults/main.yml @@ -16,7 +16,7 @@ matrix_synapse_enabled: true matrix_synapse_github_org_and_repo: element-hq/synapse # renovate: datasource=docker depName=ghcr.io/element-hq/synapse -matrix_synapse_version: v1.126.0 +matrix_synapse_version: v1.127.0 matrix_synapse_username: '' matrix_synapse_uid: '' From 1f87f382abfcab11b8c05bab458522a831b72940 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 25 Mar 2025 16:04:55 +0000 Subject: [PATCH 794/841] Update ghcr.io/element-hq/element-web Docker tag to v1.11.96 --- roles/custom/matrix-client-element/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-client-element/defaults/main.yml b/roles/custom/matrix-client-element/defaults/main.yml index 5360ea1bf..f7221d514 100644 --- a/roles/custom/matrix-client-element/defaults/main.yml +++ b/roles/custom/matrix-client-element/defaults/main.yml @@ -29,7 +29,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 }}" # renovate: datasource=docker depName=ghcr.io/element-hq/element-web -matrix_client_element_version: v1.11.95 +matrix_client_element_version: v1.11.96 matrix_client_element_docker_image: "{{ matrix_client_element_docker_image_registry_prefix }}element-hq/element-web:{{ matrix_client_element_version }}" matrix_client_element_docker_image_registry_prefix: "{{ 'localhost/' if matrix_client_element_container_image_self_build else matrix_client_element_docker_image_registry_prefix_upstream }}" From b0c82e93025b3c00276f8c3fb88840f44e992ba6 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 26 Mar 2025 01:34:01 +0000 Subject: [PATCH 795/841] Update dependency setuptools to v78.1.0 --- i18n/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/requirements.txt b/i18n/requirements.txt index 2b470ab00..61e5903e9 100644 --- a/i18n/requirements.txt +++ b/i18n/requirements.txt @@ -17,7 +17,7 @@ packaging==24.2 Pygments==2.19.1 PyYAML==6.0.2 requests==2.32.3 -setuptools==78.0.2 +setuptools==78.1.0 snowballstemmer==2.2.0 Sphinx==8.2.3 sphinx-intl==2.3.1 From eb3ee1e7a27fc869866794696e19135d3d0ea7d7 Mon Sep 17 00:00:00 2001 From: Benjamin Blacher Date: Wed, 26 Mar 2025 09:05:46 +0100 Subject: [PATCH 796/841] Update element call to v0.8.0 --- roles/custom/matrix-element-call/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-element-call/defaults/main.yml b/roles/custom/matrix-element-call/defaults/main.yml index c69c0a682..1e4288b9a 100644 --- a/roles/custom/matrix-element-call/defaults/main.yml +++ b/roles/custom/matrix-element-call/defaults/main.yml @@ -11,7 +11,7 @@ matrix_element_call_enabled: false -matrix_element_call_version: v0.7.2 +matrix_element_call_version: v0.8.0 matrix_element_call_scheme: https From 01760a3ef722440b0fc2ceb87ed88eff72c737ce Mon Sep 17 00:00:00 2001 From: Benjamin Blacher Date: Wed, 26 Mar 2025 09:30:38 +0100 Subject: [PATCH 797/841] Add renovate to element-call --- roles/custom/matrix-element-call/defaults/main.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/roles/custom/matrix-element-call/defaults/main.yml b/roles/custom/matrix-element-call/defaults/main.yml index 1e4288b9a..70a42a543 100644 --- a/roles/custom/matrix-element-call/defaults/main.yml +++ b/roles/custom/matrix-element-call/defaults/main.yml @@ -11,6 +11,7 @@ matrix_element_call_enabled: false +# renovate: datasource=docker depName=ghcr.io/element-hq/element-call matrix_element_call_version: v0.8.0 matrix_element_call_scheme: https From 9acab1add33b174fabdcd34466d94ad501e780c1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 26 Mar 2025 08:57:15 +0000 Subject: [PATCH 798/841] Update docker.io/metio/matrix-alertmanager-receiver Docker tag to v2025.3.26 --- roles/custom/matrix-alertmanager-receiver/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-alertmanager-receiver/defaults/main.yml b/roles/custom/matrix-alertmanager-receiver/defaults/main.yml index a6134499d..4869d823f 100644 --- a/roles/custom/matrix-alertmanager-receiver/defaults/main.yml +++ b/roles/custom/matrix-alertmanager-receiver/defaults/main.yml @@ -11,7 +11,7 @@ matrix_alertmanager_receiver_enabled: true # renovate: datasource=docker depName=docker.io/metio/matrix-alertmanager-receiver -matrix_alertmanager_receiver_version: 2025.3.19 +matrix_alertmanager_receiver_version: 2025.3.26 matrix_alertmanager_receiver_scheme: https From 922fe13f30f8cec4eb8bf442a1c8f9b9ca30711b Mon Sep 17 00:00:00 2001 From: Catalan Lover <48515417+FSG-Cat@users.noreply.github.com> Date: Wed, 26 Mar 2025 22:43:30 +0100 Subject: [PATCH 799/841] Update Synapse from v1.127.0 to v1.127.1 This is a security patch for Synapse that fixes an actively exploited bug. --- roles/custom/matrix-synapse/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-synapse/defaults/main.yml b/roles/custom/matrix-synapse/defaults/main.yml index 2a0feefc6..335f1d0d2 100644 --- a/roles/custom/matrix-synapse/defaults/main.yml +++ b/roles/custom/matrix-synapse/defaults/main.yml @@ -16,7 +16,7 @@ matrix_synapse_enabled: true matrix_synapse_github_org_and_repo: element-hq/synapse # renovate: datasource=docker depName=ghcr.io/element-hq/synapse -matrix_synapse_version: v1.127.0 +matrix_synapse_version: v1.127.1 matrix_synapse_username: '' matrix_synapse_uid: '' From a66858771ffe7c22afe0dcb02d0acc73bd52b1a9 Mon Sep 17 00:00:00 2001 From: Ser5 Date: Thu, 27 Mar 2025 12:06:23 +0500 Subject: [PATCH 800/841] Typo in configuring-playbook-own-webserver.md "briges" -> "bridges" --- docs/configuring-playbook-own-webserver.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/configuring-playbook-own-webserver.md b/docs/configuring-playbook-own-webserver.md index 0cac72b64..56a1b8e90 100644 --- a/docs/configuring-playbook-own-webserver.md +++ b/docs/configuring-playbook-own-webserver.md @@ -26,7 +26,7 @@ By default, this playbook installs its own [Traefik](https://traefik.io/) revers - serving public traffic and providing SSL-termination with certificates obtained from [Let's Encrypt](https://letsencrypt.org/). See [Adjusting SSL certificate retrieval](./configuring-playbook-ssl-certificates.md). -- assists internal communication between addon services (briges, bots, etc.) and the homeserver via an internal entrypoint (`matrix-internal-matrix-client-api`). +- assists internal communication between addon services (bridges, bots, etc.) and the homeserver via an internal entrypoint (`matrix-internal-matrix-client-api`). There are 2 ways to use Traefik with this playbook, as described below. From 64b3aeb1e0e1c754b6aad1968cad9a287a13b603 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 28 Mar 2025 19:35:43 +0000 Subject: [PATCH 801/841] Update ghcr.io/element-hq/element-call Docker tag to v0.9.0 --- roles/custom/matrix-element-call/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-element-call/defaults/main.yml b/roles/custom/matrix-element-call/defaults/main.yml index 70a42a543..66d3cf24a 100644 --- a/roles/custom/matrix-element-call/defaults/main.yml +++ b/roles/custom/matrix-element-call/defaults/main.yml @@ -12,7 +12,7 @@ matrix_element_call_enabled: false # renovate: datasource=docker depName=ghcr.io/element-hq/element-call -matrix_element_call_version: v0.8.0 +matrix_element_call_version: v0.9.0 matrix_element_call_scheme: https From e5574a405e43a51ab152e0e4cf760a3cc021adbe Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sat, 29 Mar 2025 06:42:28 +0200 Subject: [PATCH 802/841] Install `libldap-2.5` explicitly when installing `synapse-s3-storage-provider` to satisfy its `psycopg2` dependency --- roles/custom/matrix-synapse/defaults/main.yml | 20 +++++++++++++++++++ .../synapse/customizations/Dockerfile.j2 | 3 +++ 2 files changed, 23 insertions(+) diff --git a/roles/custom/matrix-synapse/defaults/main.yml b/roles/custom/matrix-synapse/defaults/main.yml index 335f1d0d2..4edb31d4e 100644 --- a/roles/custom/matrix-synapse/defaults/main.yml +++ b/roles/custom/matrix-synapse/defaults/main.yml @@ -52,6 +52,26 @@ matrix_synapse_container_image_customizations_s3_storage_provider_installation_e # https://github.com/aws/aws-cli/issues/9214 matrix_synapse_container_image_customizations_s3_storage_provider_installation_old_boto_workaround_enabled: true +# Controls whether to install libldapXX explicitly when installing s3-storage-provider. +# This is to work around it potentially not being there (after `autoremove` invoked by other scripts cleans it up, etc.) +# +# Some scripts in the custom Dockerfile may install and then autoremove git/ssh/openssh-client. +# This has the side-effect of removing the libldap library that s3-storage-provider depends upon indirectly (via psycopg2). +# +# If this should happen, s3-storage-provider (the `s3_media_upload` script) will fail to start with an error like this: +# > Traceback (most recent call last): +# > File "/usr/local/bin/s3_media_upload", line 10, in +# > import psycopg2 +# > File "/usr/local/lib/python3.12/site-packages/psycopg2/__init__.py", line 51, in +# > from psycopg2._psycopg import ( # noqa +# > ImportError: libldap-2.5.so.0: cannot open shared object file: No such file or directory +# +# The library (e.g. `/usr/lib/x86_64-linux-gnu/libldap-2.5.so.0`) appears to be available by default in the upstream Synapse image for some reason, +# but it doesn't seem to be installed through a Debian package. Autoremoval would remove it, causing s3-storage-provider to fail. +# Given that this is a dependency for s3-storage-provider (psycopg2), we prefer to install it explicitly. +matrix_synapse_container_image_customizations_s3_storage_provider_installation_explicit_libldap_installation_enabled: true +matrix_synapse_container_image_customizations_s3_storage_provider_installation_explicit_libldap_installation_package_name: libldap-2.5 + # Controls whether custom build steps will be added to the Dockerfile for installing auto-accept-invite module. # The version that will be installed is specified in `matrix_synapse_ext_synapse_auto_accept_invite_version`. matrix_synapse_container_image_customizations_auto_accept_invite_installation_enabled: "{{ matrix_synapse_ext_synapse_auto_accept_invite_enabled }}" diff --git a/roles/custom/matrix-synapse/templates/synapse/customizations/Dockerfile.j2 b/roles/custom/matrix-synapse/templates/synapse/customizations/Dockerfile.j2 index d01268a4a..d937b8a02 100644 --- a/roles/custom/matrix-synapse/templates/synapse/customizations/Dockerfile.j2 +++ b/roles/custom/matrix-synapse/templates/synapse/customizations/Dockerfile.j2 @@ -11,6 +11,9 @@ RUN pip install 'boto3<1.36.0' 'botocore<1.36.0' synapse-s3-storage-provider=={{ {% else %} RUN pip install synapse-s3-storage-provider=={{ matrix_synapse_ext_synapse_s3_storage_provider_version }} {% endif %} +{% if matrix_synapse_container_image_customizations_s3_storage_provider_installation_explicit_libldap_installation_enabled %} +RUN apt-get update && apt-get install --no-install-recommends -y {{ matrix_synapse_container_image_customizations_s3_storage_provider_installation_explicit_libldap_installation_package_name }} +{% endif %} {% endif %} {% if matrix_synapse_container_image_customizations_templates_enabled %} From e1a2d427c63f185fcb5de27f32c69f5f129813f9 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sat, 29 Mar 2025 08:01:27 +0200 Subject: [PATCH 803/841] Use multi-stage Dockerfile for building customized Synape This also reverts e5574a405e43a51ab152e0e4cf760a3cc021adbe because: - it was causing issues on some servers (not clear why) - such workarounds are no longer necessary when doing multi-stage building. --- roles/custom/matrix-synapse/defaults/main.yml | 20 ----- .../synapse/customizations/Dockerfile.j2 | 83 +++++++++---------- 2 files changed, 40 insertions(+), 63 deletions(-) diff --git a/roles/custom/matrix-synapse/defaults/main.yml b/roles/custom/matrix-synapse/defaults/main.yml index 4edb31d4e..335f1d0d2 100644 --- a/roles/custom/matrix-synapse/defaults/main.yml +++ b/roles/custom/matrix-synapse/defaults/main.yml @@ -52,26 +52,6 @@ matrix_synapse_container_image_customizations_s3_storage_provider_installation_e # https://github.com/aws/aws-cli/issues/9214 matrix_synapse_container_image_customizations_s3_storage_provider_installation_old_boto_workaround_enabled: true -# Controls whether to install libldapXX explicitly when installing s3-storage-provider. -# This is to work around it potentially not being there (after `autoremove` invoked by other scripts cleans it up, etc.) -# -# Some scripts in the custom Dockerfile may install and then autoremove git/ssh/openssh-client. -# This has the side-effect of removing the libldap library that s3-storage-provider depends upon indirectly (via psycopg2). -# -# If this should happen, s3-storage-provider (the `s3_media_upload` script) will fail to start with an error like this: -# > Traceback (most recent call last): -# > File "/usr/local/bin/s3_media_upload", line 10, in -# > import psycopg2 -# > File "/usr/local/lib/python3.12/site-packages/psycopg2/__init__.py", line 51, in -# > from psycopg2._psycopg import ( # noqa -# > ImportError: libldap-2.5.so.0: cannot open shared object file: No such file or directory -# -# The library (e.g. `/usr/lib/x86_64-linux-gnu/libldap-2.5.so.0`) appears to be available by default in the upstream Synapse image for some reason, -# but it doesn't seem to be installed through a Debian package. Autoremoval would remove it, causing s3-storage-provider to fail. -# Given that this is a dependency for s3-storage-provider (psycopg2), we prefer to install it explicitly. -matrix_synapse_container_image_customizations_s3_storage_provider_installation_explicit_libldap_installation_enabled: true -matrix_synapse_container_image_customizations_s3_storage_provider_installation_explicit_libldap_installation_package_name: libldap-2.5 - # Controls whether custom build steps will be added to the Dockerfile for installing auto-accept-invite module. # The version that will be installed is specified in `matrix_synapse_ext_synapse_auto_accept_invite_version`. matrix_synapse_container_image_customizations_auto_accept_invite_installation_enabled: "{{ matrix_synapse_ext_synapse_auto_accept_invite_enabled }}" diff --git a/roles/custom/matrix-synapse/templates/synapse/customizations/Dockerfile.j2 b/roles/custom/matrix-synapse/templates/synapse/customizations/Dockerfile.j2 index d937b8a02..094a63cac 100644 --- a/roles/custom/matrix-synapse/templates/synapse/customizations/Dockerfile.j2 +++ b/roles/custom/matrix-synapse/templates/synapse/customizations/Dockerfile.j2 @@ -1,4 +1,43 @@ #jinja2: lstrip_blocks: "True" +{% if matrix_synapse_container_image_customizations_templates_enabled %} +FROM {{ matrix_synapse_docker_image }} AS templates-builder + +{# +This ugly script below does quite a lot: + - installs git and other dependencies temporarily, just so we could do a shallow-clone + - prepare the SSH config: keyscanning (if enabled), private key (if enabled) + - performs a git shallow clone with just the branch we need + - makes sure the files are owned by the user that will actually run the container later +#} +{% set dependencies = ['git', 'ssh', 'openssh-client'] %} +{% if matrix_synapse_container_image_customizations_templates_git_repository_ssh_private_key %} +RUN echo '{{ matrix_synapse_container_image_customizations_templates_git_repository_ssh_private_key | b64encode }}' | base64 -d > /custom-templates-private-key +RUN chmod 400 /custom-templates-private-key +{% endif %} + +RUN apt-get update && apt-get install --no-install-recommends -y {{ dependencies | join(' ') }} + +{% if matrix_synapse_container_image_customizations_templates_git_repository_keyscan_enabled %} +RUN mkdir ~/.ssh +RUN chmod 700 ~/.ssh +RUN ssh-keyscan -t rsa {{ matrix_synapse_container_image_customizations_templates_git_repository_keyscan_hostname }} >> ~/.ssh/known_hosts +{% endif %} + +RUN {% if matrix_synapse_container_image_customizations_templates_git_repository_ssh_private_key %}GIT_SSH_COMMAND='ssh -i /custom-templates-private-key'{% endif %} git \ + clone \ + --branch={{ matrix_synapse_container_image_customizations_templates_git_repository_branch }} \ + --depth=1 \ + --single-branch \ + --no-tags \ + {{ matrix_synapse_container_image_customizations_templates_git_repository_url }} \ + {{ matrix_synapse_container_image_customizations_templates_in_container_base_path }} + +RUN /bin/sh -c 'cd {{ matrix_synapse_container_image_customizations_templates_in_container_base_path }} && git rev-parse HEAD > git-revision.txt' +RUN rm -rf {{ matrix_synapse_container_image_customizations_templates_in_container_base_path }}/.git + +RUN chown -R {{ matrix_synapse_uid }}:{{ matrix_synapse_gid }} {{ matrix_synapse_container_image_customizations_templates_in_container_base_path }} +{% endif %} + FROM {{ matrix_synapse_docker_image }} {% if matrix_synapse_container_image_customizations_auto_accept_invite_installation_enabled %} @@ -11,52 +50,10 @@ RUN pip install 'boto3<1.36.0' 'botocore<1.36.0' synapse-s3-storage-provider=={{ {% else %} RUN pip install synapse-s3-storage-provider=={{ matrix_synapse_ext_synapse_s3_storage_provider_version }} {% endif %} -{% if matrix_synapse_container_image_customizations_s3_storage_provider_installation_explicit_libldap_installation_enabled %} -RUN apt-get update && apt-get install --no-install-recommends -y {{ matrix_synapse_container_image_customizations_s3_storage_provider_installation_explicit_libldap_installation_package_name }} -{% endif %} {% endif %} {% if matrix_synapse_container_image_customizations_templates_enabled %} -{# -This ugly script below does quite a lot: - - installs git and other dependencies temporarily, just so we could do a shallow-clone - - prepare the SSH config: keyscanning (if enabled), private key (if enabled) - - performs a git shallow clone with just the branch we need - - makes sure the files are owned by the user that will actually run the container later - - removes the `.git` directory to save space, but keeps git revision in `git-revision.txt`, should we need it for debugging - - finally, verifies that the templates path can indeed be found within the base path (sanity check) -#} -{% set dependencies = ['git', 'ssh', 'openssh-client'] %} -RUN \ - {% if matrix_synapse_container_image_customizations_templates_git_repository_ssh_private_key %} - echo '{{ matrix_synapse_container_image_customizations_templates_git_repository_ssh_private_key | b64encode }}' | base64 -d > /custom-templates-private-key && \ - chmod 400 /custom-templates-private-key && \ - {% endif %} - apt-get update && \ - apt-get install --no-install-recommends -y {{ dependencies | join(' ') }} && \ - {% if matrix_synapse_container_image_customizations_templates_git_repository_keyscan_enabled %} - mkdir ~/.ssh && \ - chmod 700 ~/.ssh && \ - ssh-keyscan -t rsa {{ matrix_synapse_container_image_customizations_templates_git_repository_keyscan_hostname }} >> ~/.ssh/known_hosts && \ - {% endif %} - {% if matrix_synapse_container_image_customizations_templates_git_repository_ssh_private_key %}GIT_SSH_COMMAND='ssh -i /custom-templates-private-key'{% endif %} git \ - clone \ - --branch={{ matrix_synapse_container_image_customizations_templates_git_repository_branch }} \ - --depth=1 \ - --single-branch \ - --no-tags \ - {{ matrix_synapse_container_image_customizations_templates_git_repository_url }} \ - {{ matrix_synapse_container_image_customizations_templates_in_container_base_path }} && \ - /bin/sh -c 'cd {{ matrix_synapse_container_image_customizations_templates_in_container_base_path }} && git rev-parse HEAD > git-revision.txt' && \ - rm -rf {{ matrix_synapse_container_image_customizations_templates_in_container_base_path }}/.git && \ - chown -R {{ matrix_synapse_uid }}:{{ matrix_synapse_gid }} {{ matrix_synapse_container_image_customizations_templates_in_container_base_path }} && \ - apt-get autoremove -y {{ dependencies | join(' ') }} && \ - {% if matrix_synapse_container_image_customizations_templates_git_repository_ssh_private_key %} - rm /custom-templates-private-key && \ - {% endif %} - true - -RUN /bin/sh -c 'stat {{ matrix_synapse_container_image_customizations_templates_in_container_base_path }}/{{ matrix_synapse_container_image_customizations_templates_in_container_template_files_relative_path }} || exit 1' +COPY --from=templates-builder {{ matrix_synapse_container_image_customizations_templates_in_container_base_path }} {{ matrix_synapse_container_image_customizations_templates_in_container_base_path }} {% endif %} {{ matrix_synapse_container_image_customizations_dockerfile_body_custom }} From e8c9a0e410fa77972ae7d7e848629a8d35538133 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sat, 29 Mar 2025 10:34:37 +0200 Subject: [PATCH 804/841] Randomize `matrix-synapse-auto-compressor.timer` start with a `RandomizedDelaySec` (defaults to 6h) --- docs/configuring-playbook-synapse-auto-compressor.md | 5 ++++- .../matrix-synapse-auto-compressor/defaults/main.yml | 7 ++++++- .../templates/matrix-synapse-auto-compressor.timer.j2 | 1 + 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/docs/configuring-playbook-synapse-auto-compressor.md b/docs/configuring-playbook-synapse-auto-compressor.md index 4934e65a0..88ea56604 100644 --- a/docs/configuring-playbook-synapse-auto-compressor.md +++ b/docs/configuring-playbook-synapse-auto-compressor.md @@ -24,12 +24,15 @@ matrix_synapse_auto_compressor_enabled: true ### Edit the schedule (optional) -By default the task will run 0 a.m. every day based on the `matrix_synapse_auto_compressor_schedule` variable. It is defined in the format of systemd timer calendar. +By default the task will around 0 a.m. every day based on the `matrix_synapse_auto_compressor_schedule` variable with a randomized delay of 6 hours (controlled by the `matrix_synapse_auto_compressor_schedule_randomized_delay_sec` variable). It is defined in the format of systemd timer calendar. To edit the schedule, add the following configuration to your `vars.yml` file (adapt to your needs): ```yaml matrix_synapse_auto_compressor_schedule: "*-*-* 00:00:00" + +# Consider adjusting the randomized delay or setting it to 0 to disable randomized delays. +# matrix_synapse_auto_compressor_schedule_randomized_delay_sec: 6h ``` ### Extending the configuration diff --git a/roles/custom/matrix-synapse-auto-compressor/defaults/main.yml b/roles/custom/matrix-synapse-auto-compressor/defaults/main.yml index 78a07a9ed..c627288f1 100644 --- a/roles/custom/matrix-synapse-auto-compressor/defaults/main.yml +++ b/roles/custom/matrix-synapse-auto-compressor/defaults/main.yml @@ -64,9 +64,14 @@ matrix_synapse_auto_compressor_database_name: 'synapse' # connection string to synapse database (postgres only) matrix_synapse_auto_compressor_synapse_database: 'postgres://{{ matrix_synapse_auto_compressor_database_username | urlencode() }}:{{ matrix_synapse_auto_compressor_database_password | urlencode() }}@{{ matrix_synapse_auto_compressor_database_hostname }}:{{ matrix_synapse_auto_compressor_database_port }}/{{ matrix_synapse_auto_compressor_database_name }}' -# systemd calendar configuration for the compressor job +# Controls the `OnCalendar` configuration for the compressor job. +# Also see: `matrix_synapse_auto_compressor_schedule_randomized_delay_sec` matrix_synapse_auto_compressor_schedule: "*-*-* 00:00:00" +# The `RandomizedDelaySec` delay (in seconds or as a systemd time string) to randomize the `OnCalendar` start time (`matrix_synapse_auto_compressor_schedule`) of the compressor job. +# This can be set to 0 to disable randomized delays. +matrix_synapse_auto_compressor_schedule_randomized_delay_sec: 6h + # The number of state groups to work on at once. # All of the entries from state_groups_state are requested from the database for state groups that are worked on. # Therefore small chunk sizes may be needed on machines with low memory. diff --git a/roles/custom/matrix-synapse-auto-compressor/templates/matrix-synapse-auto-compressor.timer.j2 b/roles/custom/matrix-synapse-auto-compressor/templates/matrix-synapse-auto-compressor.timer.j2 index 1bced0d46..9425b2841 100644 --- a/roles/custom/matrix-synapse-auto-compressor/templates/matrix-synapse-auto-compressor.timer.j2 +++ b/roles/custom/matrix-synapse-auto-compressor/templates/matrix-synapse-auto-compressor.timer.j2 @@ -11,6 +11,7 @@ Description=Synapse State Auto Compressor Timer [Timer] Unit=matrix-synapse-auto-compressor.service OnCalendar={{ matrix_synapse_auto_compressor_schedule }} +RandomizedDelaySec={{ matrix_synapse_auto_compressor_schedule_randomized_delay_sec }} [Install] WantedBy=timers.target From 2842276f543cc85c4eb11c8b0092064417a5dc96 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sun, 30 Mar 2025 10:58:58 +0300 Subject: [PATCH 805/841] Upgrade backup-borg (v1.4.0-1.9.13-0 -> v1.4.0-1.9.13-1) --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 2ec9fad68..c75a6b3cf 100644 --- a/requirements.yml +++ b/requirements.yml @@ -4,7 +4,7 @@ version: v1.0.0-5 name: auxiliary - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg.git - version: v1.4.0-1.9.13-0 + version: v1.4.0-1.9.13-1 name: backup_borg - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-container-socket-proxy.git version: v0.3.0-4 From 55e04609e3a22944a3391cfe35ff172799000754 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Mon, 31 Mar 2025 13:34:26 +0300 Subject: [PATCH 806/841] Use default upstream healthcheck command for Element Web Now that https://github.com/element-hq/element-web/pull/29471 is part of v1.11.96, we don't need to carry around this custom workaround. --- roles/custom/matrix-client-element/defaults/main.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/roles/custom/matrix-client-element/defaults/main.yml b/roles/custom/matrix-client-element/defaults/main.yml index f7221d514..d407dd64f 100644 --- a/roles/custom/matrix-client-element/defaults/main.yml +++ b/roles/custom/matrix-client-element/defaults/main.yml @@ -113,10 +113,7 @@ matrix_client_element_systemd_required_services_list: "{{ [devture_systemd_docke # Controls the healthcheck command for the container. # # Leave empty to use the default (upstream) command. -# -# The default command is a patch until https://github.com/element-hq/element-web/pull/29471 -# lands in a release. -matrix_client_element_container_healthcheck_cmd: "wget -q --spider http://localhost:$ELEMENT_WEB_PORT/config.json" +matrix_client_element_container_healthcheck_cmd: "" # Specifies the value of the `X-XSS-Protection` header # Stops pages from loading when they detect reflected cross-site scripting (XSS) attacks. From 39c4ad4697c00c11b38b03cbea5792faea920d11 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Mon, 31 Mar 2025 15:10:08 +0300 Subject: [PATCH 807/841] Upgrade baibot (v1.5.0 -> v1.5.1) --- roles/custom/matrix-bot-baibot/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-bot-baibot/defaults/main.yml b/roles/custom/matrix-bot-baibot/defaults/main.yml index 2ce998d0d..b7265fd6e 100644 --- a/roles/custom/matrix-bot-baibot/defaults/main.yml +++ b/roles/custom/matrix-bot-baibot/defaults/main.yml @@ -17,7 +17,7 @@ matrix_bot_baibot_container_repo_version: "{{ 'main' if matrix_bot_baibot_versio matrix_bot_baibot_container_src_files_path: "{{ matrix_base_data_path }}/baibot/container-src" # renovate: datasource=docker depName=ghcr.io/etkecc/baibot -matrix_bot_baibot_version: v1.5.0 +matrix_bot_baibot_version: v1.5.1 matrix_bot_baibot_container_image: "{{ matrix_bot_baibot_container_image_registry_prefix }}etkecc/baibot:{{ matrix_bot_baibot_version }}" matrix_bot_baibot_container_image_registry_prefix: "{{ 'localhost/' if matrix_bot_baibot_container_image_self_build else matrix_bot_baibot_container_image_registry_prefix_upstream }}" matrix_bot_baibot_container_image_registry_prefix_upstream: "{{ matrix_bot_baibot_container_image_registry_prefix_upstream_default }}" From 86dabd5521e210d66493124662aae5fbf0281070 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 31 Mar 2025 15:26:59 +0000 Subject: [PATCH 808/841] Update ajbura/cinny Docker tag to v4.6.0 --- roles/custom/matrix-client-cinny/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-client-cinny/defaults/main.yml b/roles/custom/matrix-client-cinny/defaults/main.yml index 5059ca644..0974ffa92 100644 --- a/roles/custom/matrix-client-cinny/defaults/main.yml +++ b/roles/custom/matrix-client-cinny/defaults/main.yml @@ -17,7 +17,7 @@ matrix_client_cinny_container_image_self_build: false matrix_client_cinny_container_image_self_build_repo: "https://github.com/ajbura/cinny.git" # renovate: datasource=docker depName=ajbura/cinny -matrix_client_cinny_version: v4.5.1 +matrix_client_cinny_version: v4.6.0 matrix_client_cinny_docker_image: "{{ matrix_client_cinny_docker_image_registry_prefix }}ajbura/cinny:{{ matrix_client_cinny_version }}" matrix_client_cinny_docker_image_registry_prefix: "{{ 'localhost/' if matrix_client_cinny_container_image_self_build else matrix_client_cinny_docker_image_registry_prefix_upstream }}" matrix_client_cinny_docker_image_registry_prefix_upstream: "{{ matrix_client_cinny_docker_image_registry_prefix_upstream_default }}" From 4270a84ae1864a176763fd365dc84b756fb33202 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Tue, 1 Apr 2025 11:01:20 +0300 Subject: [PATCH 809/841] Upgrade Grafana (v11.5.2-2 -> v11.6.0-0) --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index c75a6b3cf..fb69504d7 100644 --- a/requirements.yml +++ b/requirements.yml @@ -22,7 +22,7 @@ version: v4.98.1-r0-2-0 name: exim_relay - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-grafana.git - version: v11.5.2-2 + version: v11.6.0-0 name: grafana - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-jitsi.git version: v10133-1-0 From 4158fda09e57915ecde54c9a27c8d23b8aab3114 Mon Sep 17 00:00:00 2001 From: Aine Date: Tue, 1 Apr 2025 12:07:04 +0300 Subject: [PATCH 810/841] fix grafana var in group vars --- group_vars/matrix_servers | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index 8bf0e13de..17a8791a2 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -5599,7 +5599,7 @@ grafana_container_labels_traefik_tls_certResolver: "{{ traefik_certResolver_prim grafana_container_http_host_bind_port: "{{ (matrix_playbook_service_host_bind_interface_prefix ~ '3000') if matrix_playbook_service_host_bind_interface_prefix else '' }}" -grafana_provisioning_datasources: | +grafana_provisioning_datasources_datasources: | {{ ([{ 'name': (matrix_server_fqn_matrix + ' - Prometheus'), From 6036c4840bb0f3d6952e194cc3ae17b36670cfd2 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 1 Apr 2025 14:09:35 +0000 Subject: [PATCH 811/841] Update dependency traefik to v3.3.5-0 --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index fb69504d7..8530eee0e 100644 --- a/requirements.yml +++ b/requirements.yml @@ -67,7 +67,7 @@ version: v1.0.0-0 name: timesync - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-traefik.git - version: v3.3.4-1 + version: v3.3.5-0 name: traefik - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-traefik-certs-dumper.git version: v2.10.0-0 From 8a251a98e700602d4c1d53a25646cb042caf7197 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 2 Apr 2025 02:26:29 +0000 Subject: [PATCH 812/841] Update joseluisq/static-web-server Docker tag to v2.36.1 --- roles/custom/matrix-cactus-comments-client/defaults/main.yml | 2 +- roles/custom/matrix-static-files/defaults/main.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/custom/matrix-cactus-comments-client/defaults/main.yml b/roles/custom/matrix-cactus-comments-client/defaults/main.yml index 4e7a8c751..b753a6c24 100644 --- a/roles/custom/matrix-cactus-comments-client/defaults/main.yml +++ b/roles/custom/matrix-cactus-comments-client/defaults/main.yml @@ -18,7 +18,7 @@ matrix_cactus_comments_client_public_path: "{{ matrix_cactus_comments_client_bas matrix_cactus_comments_client_public_path_file_permissions: "0644" # renovate: datasource=docker depName=joseluisq/static-web-server -matrix_cactus_comments_client_version: 2.36.0 +matrix_cactus_comments_client_version: 2.36.1 matrix_cactus_comments_client_container_image: "{{ matrix_cactus_comments_client_container_image_registry_prefix }}joseluisq/static-web-server:{{ matrix_cactus_comments_client_container_image_tag }}" matrix_cactus_comments_client_container_image_registry_prefix: "{{ matrix_cactus_comments_client_container_image_registry_prefix_upstream }}" diff --git a/roles/custom/matrix-static-files/defaults/main.yml b/roles/custom/matrix-static-files/defaults/main.yml index de0a568c2..768442001 100644 --- a/roles/custom/matrix-static-files/defaults/main.yml +++ b/roles/custom/matrix-static-files/defaults/main.yml @@ -13,7 +13,7 @@ matrix_static_files_enabled: true matrix_static_files_identifier: matrix-static-files # renovate: datasource=docker depName=joseluisq/static-web-server -matrix_static_files_version: 2.36.0 +matrix_static_files_version: 2.36.1 matrix_static_files_base_path: "{{ matrix_base_data_path }}/{{ 'static-files' if matrix_static_files_identifier == 'matrix-static-files' else matrix_static_files_identifier }}" matrix_static_files_config_path: "{{ matrix_static_files_base_path }}/config" From 24c09745ee34602c53412cf236b2a07c13b365d5 Mon Sep 17 00:00:00 2001 From: Aine Date: Wed, 2 Apr 2025 11:47:06 +0300 Subject: [PATCH 813/841] updated prometheus_node_exporter (v1.8.2-5 -> v1.9.1-0); --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 8530eee0e..f27dc87d9 100644 --- a/requirements.yml +++ b/requirements.yml @@ -52,7 +52,7 @@ version: v2.55.1-3 name: prometheus - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-node-exporter.git - version: v1.8.2-5 + version: v1.9.1-0 name: prometheus_node_exporter - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-postgres-exporter.git version: v0.14.0-9 From 057bd168f4fdbd2a15589122764b37ae023fbdce Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 2 Apr 2025 18:25:53 +0000 Subject: [PATCH 814/841] Update ghcr.io/element-hq/lk-jwt-service Docker tag to v0.2.2 --- roles/custom/matrix-livekit-jwt-service/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-livekit-jwt-service/defaults/main.yml b/roles/custom/matrix-livekit-jwt-service/defaults/main.yml index c73c926c4..699a1d507 100644 --- a/roles/custom/matrix-livekit-jwt-service/defaults/main.yml +++ b/roles/custom/matrix-livekit-jwt-service/defaults/main.yml @@ -25,7 +25,7 @@ matrix_livekit_jwt_service_container_additional_networks_auto: [] matrix_livekit_jwt_service_container_additional_networks_custom: [] # renovate: datasource=docker depName=ghcr.io/element-hq/lk-jwt-service -matrix_livekit_jwt_service_version: 0.2.1 +matrix_livekit_jwt_service_version: 0.2.2 matrix_livekit_jwt_service_container_image_self_build: false matrix_livekit_jwt_service_container_repo: "https://github.com/element-hq/lk-jwt-service.git" From f2f9472c4a4e5670f920925c3175f6f51972c6e9 Mon Sep 17 00:00:00 2001 From: Townsend Date: Wed, 2 Apr 2025 21:48:10 -0400 Subject: [PATCH 815/841] Improved dynamic DNS --- .../matrix-dynamic-dns/defaults/main.yml | 18 +++-- .../tasks/validate_config.yml | 4 +- .../templates/ddclient.conf.j2 | 67 ++++++++++++++----- 3 files changed, 65 insertions(+), 24 deletions(-) diff --git a/roles/custom/matrix-dynamic-dns/defaults/main.yml b/roles/custom/matrix-dynamic-dns/defaults/main.yml index 6ecdcd404..8ef58b095 100644 --- a/roles/custom/matrix-dynamic-dns/defaults/main.yml +++ b/roles/custom/matrix-dynamic-dns/defaults/main.yml @@ -55,6 +55,18 @@ matrix_dynamic_dns_base_path: "{{ matrix_base_data_path }}/dynamic-dns" matrix_dynamic_dns_config_path: "{{ matrix_dynamic_dns_base_path }}/config" matrix_dynamic_dns_docker_src_files_path: "{{ matrix_dynamic_dns_base_path }}/docker-src" +# Config options +matrix_dynamic_dns_use: "web" + +# The endpoint to use to determine your external IP +matrix_dynamic_dns_web: "https://cloudflare.com/cdn-cgi/trace" + +# The field to extract the IP from +# If your endpoint defined in `matrix_dynamic_dns_web` doesn't need this, just set it to "" +matrix_dynamic_dns_web_skip: "ip=" + +matrix_dynamic_dns_additional_configuration_blocks: [] + # Holds the configurations (the domains to update DNS for, the providers they use, etc.) # # Example: @@ -64,8 +76,4 @@ matrix_dynamic_dns_docker_src_files_path: "{{ matrix_dynamic_dns_base_path }}/do # username: XXXXXXXXXXXXXXXX # password: XXXXXXXXXXXXXXXX # domain: "{{ matrix_domain }}" -matrix_dynamic_dns_domain_configurations: [] - -# Config options -matrix_dynamic_dns_additional_configuration_blocks: [] -matrix_dynamic_dns_use: "web" +matrix_dynamic_dns_domain_configurations: [] \ No newline at end of file diff --git a/roles/custom/matrix-dynamic-dns/tasks/validate_config.yml b/roles/custom/matrix-dynamic-dns/tasks/validate_config.yml index 3b567415a..e86ae2317 100644 --- a/roles/custom/matrix-dynamic-dns/tasks/validate_config.yml +++ b/roles/custom/matrix-dynamic-dns/tasks/validate_config.yml @@ -14,8 +14,8 @@ - name: Fail if required matrix-dynamic-dns settings not defined in configuration blocks ansible.builtin.fail: msg: >- - One of the configurations in matrix_dynamic_dns_domain_configurations is missing a required key (domain, provider, protocol). - when: "'domain' not in configuration or 'provider' not in configuration or 'protocol' not in configuration" + One of the configurations in matrix_dynamic_dns_domain_configurations is missing a required key (domain, protocol). + when: "'domain' not in configuration or 'protocol' not in configuration" with_items: "{{ matrix_dynamic_dns_domain_configurations }}" loop_control: loop_var: configuration diff --git a/roles/custom/matrix-dynamic-dns/templates/ddclient.conf.j2 b/roles/custom/matrix-dynamic-dns/templates/ddclient.conf.j2 index 158f9f66e..9a7801dbc 100644 --- a/roles/custom/matrix-dynamic-dns/templates/ddclient.conf.j2 +++ b/roles/custom/matrix-dynamic-dns/templates/ddclient.conf.j2 @@ -10,24 +10,57 @@ syslog=no pid=/var/run/ddclient/ddclient.pid ssl=yes use={{ matrix_dynamic_dns_use }} - -{% for dynamic_dns_domain_configuration in matrix_dynamic_dns_domain_configurations %} -protocol={{ dynamic_dns_domain_configuration.protocol }} -server={{ dynamic_dns_domain_configuration.provider }} {% if 'username' in dynamic_dns_domain_configuration %} -login='{{ dynamic_dns_domain_configuration.username }}' {% endif %} {% if 'password' in dynamic_dns_domain_configuration %} -password='{{ dynamic_dns_domain_configuration.password }}' {% endif %} {% if 'static' in dynamic_dns_domain_configuration %} -static=yes {% endif %} {% if 'custom' in dynamic_dns_domain_configuration %} -custom=yes {% endif %} {% if 'zone' in dynamic_dns_domain_configuration %} -zone={{ dynamic_dns_domain_configuration.zone }} {% endif %} {% if 'ttl' in dynamic_dns_domain_configuration %} -ttl={{ dynamic_dns_domain_configuration.ttl }} {% endif %} {% if 'mx' in dynamic_dns_domain_configuration %} -mx={{ dynamic_dns_domain_configuration.mx }} {% endif %} {% if 'wildcard' in dynamic_dns_domain_configuration %} -wildcard=yes {% endif %} -{{ dynamic_dns_domain_configuration.domain }} - -{% endfor %} - +web='{{ matrix_dynamic_dns_web }}' +{% if matrix_dynamic_dns_web_skip %} +web-skip='{{ matrix_dynamic_dns_web_skip }}' +{% endif %} {% for matrix_dynamic_dns_additional_configuration in matrix_dynamic_dns_additional_configuration_blocks %} {{ matrix_dynamic_dns_additional_configuration }} - {% endfor %} + +{% for dynamic_dns_domain_configuration in matrix_dynamic_dns_domain_configurations %} +protocol={{ dynamic_dns_domain_configuration.protocol }} + +{% if 'provider' in dynamic_dns_domain_configuration %} +server={{ dynamic_dns_domain_configuration.provider }} +{% endif %} + +{% if 'username' in dynamic_dns_domain_configuration %} +login='{{ dynamic_dns_domain_configuration.username }}' +{% endif %} + +{% if 'password' in dynamic_dns_domain_configuration %} +password='{{ dynamic_dns_domain_configuration.password }}' +{% endif %} + +{% if 'static' in dynamic_dns_domain_configuration %} +static=yes +{% endif %} + +{% if 'custom' in dynamic_dns_domain_configuration %} +custom=yes +{% endif %} + +{% if 'zone' in dynamic_dns_domain_configuration %} +zone={{ dynamic_dns_domain_configuration.zone }} +{% endif %} + +{% if 'ttl' in dynamic_dns_domain_configuration %} +ttl={{ dynamic_dns_domain_configuration.ttl }} +{% endif %} + +{% if 'mx' in dynamic_dns_domain_configuration %} +mx={{ dynamic_dns_domain_configuration.mx }} +{% endif %} + +{% if 'wildcard' in dynamic_dns_domain_configuration %} +wildcard=yes +{% endif %} + +{% if 'script' in dynamic_dns_domain_configuration %} +script={{ dynamic_dns_domain_configuration.script }} +{% endif %} + +{{ dynamic_dns_domain_configuration.domain }} +{% endfor %} \ No newline at end of file From 9ac8f1f531e11f832bc687cb191c064e859b1590 Mon Sep 17 00:00:00 2001 From: Townsend Date: Thu, 3 Apr 2025 23:48:54 -0400 Subject: [PATCH 816/841] Fixed ddclient dst path --- docs/configuring-playbook-dynamic-dns.md | 7 +++++-- roles/custom/matrix-dynamic-dns/defaults/main.yml | 2 +- roles/custom/matrix-dynamic-dns/templates/ddclient.conf.j2 | 2 +- .../templates/systemd/matrix-dynamic-dns.service.j2 | 2 +- 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/docs/configuring-playbook-dynamic-dns.md b/docs/configuring-playbook-dynamic-dns.md index 0a254a76d..967f2c916 100644 --- a/docs/configuring-playbook-dynamic-dns.md +++ b/docs/configuring-playbook-dynamic-dns.md @@ -14,7 +14,7 @@ Most cloud providers / ISPs will charge you extra for a static IP address. If yo ## Prerequisite -You'll need to get a username and password from your DNS provider. Please consult with the provider about how to retrieve them. +You'll need to authenticate with your DNS provider somehow, in most cases this is simply a username and password but can differ from provider to provider. Please consult with your providers documentation and the upstream [ddclient documentation](https://github.com/ddclient/ddclient/blob/main/ddclient.conf.in) to determine what you'll need to provide to authenticate. ## Adjusting the playbook configuration @@ -31,6 +31,8 @@ matrix_dynamic_dns_domain_configurations: domain: "{{ matrix_domain }}" ``` +Keep in mind that certain providers may require a different configuration of the `matrix_dynamic_dns_domain_configurations` variable, for provider specific examples see the [upstream documentation](https://github.com/ddclient/ddclient/blob/main/ddclient.conf.in). + ### Extending the configuration There are some additional things you may wish to configure about the component. @@ -57,7 +59,8 @@ The shortcut commands with the [`just` program](just.md) are also available: `ju Additional resources: - https://matrix.org/docs/guides/free-small-matrix-server +- https://github.com/linuxserver/docker-ddclient ## Troubleshooting -As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-dynamic-dns`. +As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-dynamic-dns`. However, due to an [upstream issue](https://github.com/linuxserver/docker-ddclient/issues/54#issuecomment-1153143132) the logging output is not always complete. For advanced debugging purposes running the `ddclient` tool outside of the container is useful via the following: `ddclient -file ./ddclient.conf -daemon=0 -debug -verbose -noquiet`. diff --git a/roles/custom/matrix-dynamic-dns/defaults/main.yml b/roles/custom/matrix-dynamic-dns/defaults/main.yml index 8ef58b095..2c5214edd 100644 --- a/roles/custom/matrix-dynamic-dns/defaults/main.yml +++ b/roles/custom/matrix-dynamic-dns/defaults/main.yml @@ -76,4 +76,4 @@ matrix_dynamic_dns_additional_configuration_blocks: [] # username: XXXXXXXXXXXXXXXX # password: XXXXXXXXXXXXXXXX # domain: "{{ matrix_domain }}" -matrix_dynamic_dns_domain_configurations: [] \ No newline at end of file +matrix_dynamic_dns_domain_configurations: [] diff --git a/roles/custom/matrix-dynamic-dns/templates/ddclient.conf.j2 b/roles/custom/matrix-dynamic-dns/templates/ddclient.conf.j2 index 9a7801dbc..4b7672c84 100644 --- a/roles/custom/matrix-dynamic-dns/templates/ddclient.conf.j2 +++ b/roles/custom/matrix-dynamic-dns/templates/ddclient.conf.j2 @@ -63,4 +63,4 @@ script={{ dynamic_dns_domain_configuration.script }} {% endif %} {{ dynamic_dns_domain_configuration.domain }} -{% endfor %} \ No newline at end of file +{% endfor %} diff --git a/roles/custom/matrix-dynamic-dns/templates/systemd/matrix-dynamic-dns.service.j2 b/roles/custom/matrix-dynamic-dns/templates/systemd/matrix-dynamic-dns.service.j2 index 97c0b5989..f5338f165 100644 --- a/roles/custom/matrix-dynamic-dns/templates/systemd/matrix-dynamic-dns.service.j2 +++ b/roles/custom/matrix-dynamic-dns/templates/systemd/matrix-dynamic-dns.service.j2 @@ -23,7 +23,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ --network={{ matrix_dynamic_dns_container_network }} \ -e PUID={{ matrix_user_uid }} \ -e PGID={{ matrix_user_gid }} \ - --mount type=bind,src={{ matrix_dynamic_dns_config_path }},dst=/config/ddclient \ + --mount type=bind,src={{ matrix_dynamic_dns_config_path }},dst=/config \ {% for arg in matrix_dynamic_dns_container_extra_arguments %} {{ arg }} \ {% endfor %} From 6f609944c711ab8b9da27e7796afa4c54fc591eb Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Fri, 4 Apr 2025 13:16:00 +0300 Subject: [PATCH 817/841] Add missing stop/rm ExecStartPre tasks for `matrix-mautrix-googlechat.service.j2` --- .../templates/systemd/matrix-mautrix-googlechat.service.j2 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/roles/custom/matrix-bridge-mautrix-googlechat/templates/systemd/matrix-mautrix-googlechat.service.j2 b/roles/custom/matrix-bridge-mautrix-googlechat/templates/systemd/matrix-mautrix-googlechat.service.j2 index 00025295c..5b38523fe 100644 --- a/roles/custom/matrix-bridge-mautrix-googlechat/templates/systemd/matrix-mautrix-googlechat.service.j2 +++ b/roles/custom/matrix-bridge-mautrix-googlechat/templates/systemd/matrix-mautrix-googlechat.service.j2 @@ -13,6 +13,8 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mautrix-googlechat 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mautrix-googlechat 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ --rm \ From fac2d9c8aba04f6e737ed7a890a5fa3b19dac7ff Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 4 Apr 2025 19:08:57 +0000 Subject: [PATCH 818/841] Update ghcr.io/element-hq/lk-jwt-service Docker tag to v0.2.3 --- roles/custom/matrix-livekit-jwt-service/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-livekit-jwt-service/defaults/main.yml b/roles/custom/matrix-livekit-jwt-service/defaults/main.yml index 699a1d507..f35ff576c 100644 --- a/roles/custom/matrix-livekit-jwt-service/defaults/main.yml +++ b/roles/custom/matrix-livekit-jwt-service/defaults/main.yml @@ -25,7 +25,7 @@ matrix_livekit_jwt_service_container_additional_networks_auto: [] matrix_livekit_jwt_service_container_additional_networks_custom: [] # renovate: datasource=docker depName=ghcr.io/element-hq/lk-jwt-service -matrix_livekit_jwt_service_version: 0.2.2 +matrix_livekit_jwt_service_version: 0.2.3 matrix_livekit_jwt_service_container_image_self_build: false matrix_livekit_jwt_service_container_repo: "https://github.com/element-hq/lk-jwt-service.git" From 0aeb9a6b14b420731a5e1d510fd9bb6eab798b00 Mon Sep 17 00:00:00 2001 From: spatterlight <81454789+spatterIight@users.noreply.github.com> Date: Sat, 5 Apr 2025 01:20:10 -0400 Subject: [PATCH 819/841] Fixed some documentation links --- docs/prerequisites.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/prerequisites.md b/docs/prerequisites.md index e53246d98..6ee8239e5 100644 --- a/docs/prerequisites.md +++ b/docs/prerequisites.md @@ -59,10 +59,10 @@ We will be using `example.com` as the domain in the following instruction. Pleas - `80/tcp`: HTTP webserver - `443/tcp` and `443/udp`: HTTPS webserver - - `3478/tcp`: STUN/TURN over TCP (used by [coturn](./docs/configuring-playbook-turn.md)) - - `3478/udp`: STUN/TURN over TCP (used by [coturn](./docs/configuring-playbook-turn.md)) - - `5349/tcp`: TURN over TCP (used by [coturn](./docs/configuring-playbook-turn.md)) - - `5349/udp`: TURN over UDP (used by [coturn](./docs/configuring-playbook-turn.md)) + - `3478/tcp`: STUN/TURN over TCP (used by [coturn](./configuring-playbook-turn.md)) + - `3478/udp`: STUN/TURN over TCP (used by [coturn](./configuring-playbook-turn.md)) + - `5349/tcp`: TURN over TCP (used by [coturn](./configuring-playbook-turn.md)) + - `5349/udp`: TURN over UDP (used by [coturn](./configuring-playbook-turn.md)) - `8448/tcp` and `8448/udp`: Matrix Federation API HTTPS webserver. Some components like [Matrix User Verification Service](configuring-playbook-user-verification-service.md#open-matrix-federation-port) require this port to be opened **even with federation disabled**. - the range `49152-49172/udp`: TURN over UDP - potentially some other ports, depending on the additional (non-default) services that you enable in the **configuring the playbook** step (later on). Consult each service's documentation page in `docs/` for that. From 7fe25ef0fcbf309c2a7d467c3a057957ea15a78f Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sun, 6 Apr 2025 15:36:51 +0300 Subject: [PATCH 820/841] Split `matrix_coturn_systemd_required_services_list` into `_default`, `_auto` and `_custom` --- group_vars/matrix_servers | 4 +--- roles/custom/matrix-coturn/defaults/main.yml | 5 ++++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index 17a8791a2..dc0979388 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -3568,10 +3568,8 @@ matrix_coturn_container_additional_volumes: | ) }} -matrix_coturn_systemd_required_services_list: | +matrix_coturn_systemd_required_services_list_auto: | {{ - [devture_systemd_docker_base_docker_service_name] - + ([traefik_certs_dumper_identifier + '-wait-for-domain@' + matrix_server_fqn_matrix + '.service'] if matrix_playbook_reverse_proxy_type in ['playbook-managed-traefik', 'other-traefik-container'] and traefik_certs_dumper_enabled and matrix_coturn_tls_enabled else []) }} diff --git a/roles/custom/matrix-coturn/defaults/main.yml b/roles/custom/matrix-coturn/defaults/main.yml index 9c82097c4..84e1d42c2 100644 --- a/roles/custom/matrix-coturn/defaults/main.yml +++ b/roles/custom/matrix-coturn/defaults/main.yml @@ -56,7 +56,10 @@ matrix_coturn_docker_src_files_path: "{{ matrix_coturn_base_path }}/docker-src" matrix_coturn_config_path: "{{ matrix_coturn_base_path }}/turnserver.conf" # List of systemd services that matrix-coturn.service depends on -matrix_coturn_systemd_required_services_list: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}" +matrix_coturn_systemd_required_services_list: "{{ matrix_coturn_systemd_required_services_list_default + matrix_coturn_systemd_required_services_list_auto + matrix_coturn_systemd_required_services_list_custom }}" +matrix_coturn_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}" +matrix_coturn_systemd_required_services_list_auto: [] +matrix_coturn_systemd_required_services_list_custom: [] # A list of additional "volumes" to mount in the container. # This list gets populated dynamically at runtime. You can provide a different default value, From b14b932af30f39792fe225031b8d6c9791f471b4 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sun, 6 Apr 2025 16:09:51 +0300 Subject: [PATCH 821/841] Upgrade LiveKit Server (v1.8.4-2 -> v1.8.4-3) --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index f27dc87d9..c26d2baf6 100644 --- a/requirements.yml +++ b/requirements.yml @@ -28,7 +28,7 @@ version: v10133-1-0 name: jitsi - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-livekit-server.git - version: v1.8.4-2 + version: v1.8.4-3 name: livekit_server - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-ntfy.git version: v2.11.0-4 From 5972f4c81a7061481131e1a978cbbcc125260f78 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sun, 6 Apr 2025 16:11:23 +0300 Subject: [PATCH 822/841] Auto-enable TURN support for LiveKit Server --- docs/configuring-playbook-livekit-server.md | 4 ++ group_vars/matrix_servers | 45 +++++++++++++++++++++ 2 files changed, 49 insertions(+) diff --git a/docs/configuring-playbook-livekit-server.md b/docs/configuring-playbook-livekit-server.md index 95f86f3ad..d5d47cb88 100644 --- a/docs/configuring-playbook-livekit-server.md +++ b/docs/configuring-playbook-livekit-server.md @@ -25,4 +25,8 @@ To ensure LiveKit Server functions correctly, the following firewall rules and p - `7882/udp`: ICE/UDP Mux +- `3479/udp`: TURN/UDP + +- `5350/tcp`: TURN/TCP + 💡 The suggestions above are inspired by the upstream [Ports and Firewall](https://docs.livekit.io/home/self-hosting/ports-firewall/) documentation based on how LiveKit is configured in the playbook. If you've using custom configuration for the LiveKit Server role, you may need to adjust the firewall rules accordingly. diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index dc0979388..baa1cc463 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -6314,6 +6314,24 @@ livekit_server_container_image_self_build: "{{ matrix_architecture not in ['arm6 livekit_server_container_network: "{{ matrix_addons_container_network }}" livekit_server_container_additional_networks_auto: "{{ [matrix_playbook_reverse_proxyable_services_additional_network] if (livekit_server_container_labels_traefik_enabled and matrix_playbook_reverse_proxyable_services_additional_network) else [] }}" +livekit_server_container_additional_volumes_auto: | + {{ + ( + [ + { + 'src': (traefik_certs_dumper_dumped_certificates_dir_path + '/' + livekit_server_config_turn_domain + '/certificate.crt'), + 'dst': livekit_server_config_turn_cert_file, + 'options': 'ro', + }, + { + 'src': (traefik_certs_dumper_dumped_certificates_dir_path + '/' + livekit_server_config_turn_domain + '/privatekey.key'), + 'dst': livekit_server_config_turn_key_file, + 'options': 'ro', + }, + ] if (matrix_playbook_reverse_proxy_type in ['playbook-managed-traefik', 'other-traefik-container'] and traefik_certs_dumper_enabled and livekit_server_config_turn_enabled and (livekit_server_config_turn_cert_file and livekit_server_config_turn_key_file)) else [] + ) + }} + livekit_server_container_labels_traefik_enabled: "{{ matrix_playbook_reverse_proxy_type in ['playbook-managed-traefik', 'other-traefik-container'] }}" livekit_server_container_labels_traefik_docker_network: "{{ matrix_playbook_reverse_proxyable_services_additional_network }}" livekit_server_container_labels_traefik_entrypoints: "{{ traefik_entrypoint_primary }}" @@ -6338,6 +6356,33 @@ livekit_server_config_turn_tls_port: 5350 # Note that TURN is not enabled by default. See `livekit_server_config_turn_enabled`. livekit_server_config_turn_udp_port: 3479 +# LiveKit's TURN implementation requires SSL certificates. +# We only enable it if we can provide them automatically via Traefik + Traefik Certs Dumper. +livekit_server_config_turn_enabled: "{{ matrix_playbook_reverse_proxy_type in ['playbook-managed-traefik', 'other-traefik-container'] and traefik_certs_dumper_enabled }}" + +livekit_server_config_turn_cert_file: |- + {{ + { + 'playbook-managed-traefik': ('/certificate.crt' if traefik_certs_dumper_enabled else ''), + 'other-traefik-container': ('/certificate.crt' if traefik_certs_dumper_enabled else ''), + 'none': '', + }[matrix_playbook_reverse_proxy_type] + }} + +livekit_server_config_turn_key_file: |- + {{ + { + 'playbook-managed-traefik': ('/privatekey.key' if traefik_certs_dumper_enabled else ''), + 'other-traefik-container': ('/privatekey.key' if traefik_certs_dumper_enabled else ''), + 'none': '', + }[matrix_playbook_reverse_proxy_type] + }} + +livekit_server_systemd_required_services_list_auto: | + {{ + ([traefik_certs_dumper_identifier + '-wait-for-domain@' + livekit_server_config_turn_domain + '.service'] if matrix_playbook_reverse_proxy_type in ['playbook-managed-traefik', 'other-traefik-container'] and traefik_certs_dumper_enabled and livekit_server_config_turn_enabled else []) + }} + ######################################################################## # # # /livekit-server # From 59ca77b79212c0d0c3910bd81391ea19e5cff5f8 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sun, 6 Apr 2025 18:52:06 +0300 Subject: [PATCH 823/841] Upgrade LiveKit Server (v1.8.4-3 -> v1.8.4-4) --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index c26d2baf6..48731e653 100644 --- a/requirements.yml +++ b/requirements.yml @@ -28,7 +28,7 @@ version: v10133-1-0 name: jitsi - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-livekit-server.git - version: v1.8.4-3 + version: v1.8.4-4 name: livekit_server - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-ntfy.git version: v2.11.0-4 From 678b1fc3e0cb9f586e996ea760815b66a7498d11 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sun, 6 Apr 2025 18:56:06 +0300 Subject: [PATCH 824/841] Add note about LiveKit Server's TURN being unable to work over IPv6 --- docs/configuring-playbook-livekit-server.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/docs/configuring-playbook-livekit-server.md b/docs/configuring-playbook-livekit-server.md index d5d47cb88..94282daa0 100644 --- a/docs/configuring-playbook-livekit-server.md +++ b/docs/configuring-playbook-livekit-server.md @@ -25,8 +25,14 @@ To ensure LiveKit Server functions correctly, the following firewall rules and p - `7882/udp`: ICE/UDP Mux -- `3479/udp`: TURN/UDP +- `3479/udp`: TURN/UDP. Also see the [Limitations](#limitations) section below. -- `5350/tcp`: TURN/TCP +- `5350/tcp`: TURN/TCP. Also see the [Limitations](#limitations) section below. 💡 The suggestions above are inspired by the upstream [Ports and Firewall](https://docs.livekit.io/home/self-hosting/ports-firewall/) documentation based on how LiveKit is configured in the playbook. If you've using custom configuration for the LiveKit Server role, you may need to adjust the firewall rules accordingly. + +## Limitations + +For some reason, LiveKit Server's TURN ports (`3479/udp` and `5350/tcp`) are not reachable over IPv6 regardless of whether you've [enabled IPv6](./configuring-ipv6.md) for your server. + +It seems like LiveKit Server intentionally only listens on `udp4` and `tcp4` as seen [here](https://github.com/livekit/livekit/blob/154b4d26b769c68a03c096124094b97bf61a996f/pkg/service/turn.go#L128) and [here](https://github.com/livekit/livekit/blob/154b4d26b769c68a03c096124094b97bf61a996f/pkg/service/turn.go#L92). \ No newline at end of file From a313b45583eb1ea230c650352b0aa7d1ec634982 Mon Sep 17 00:00:00 2001 From: Aine Date: Sun, 6 Apr 2025 20:37:21 +0300 Subject: [PATCH 825/841] updated etherpad (v2.2.7-4 -> v2.3.0-0); --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 48731e653..c214106c1 100644 --- a/requirements.yml +++ b/requirements.yml @@ -16,7 +16,7 @@ version: 129c8590e106b83e6f4c259649a613c6279e937a name: docker_sdk_for_python - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-etherpad.git - version: v2.2.7-4 + version: v2.3.0-0 name: etherpad - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay.git version: v4.98.1-r0-2-0 From 42f7b9391e64bb17557d5246875dcde91ca39244 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sun, 6 Apr 2025 22:13:49 +0300 Subject: [PATCH 826/841] Upgrade LiveKit Server (v1.8.4-4 -> v1.8.4-5) and integrate with `matrix_metrics_exposure_*`, etc. Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/4233 This doesn't make Prometheus automatically scrape metrics from LiveKit Server, nor does it add a Grafana dashboard automatically, etc. Still, it paves the way for that work being done. --- group_vars/matrix_servers | 9 +++++++++ requirements.yml | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index baa1cc463..9c341f8fd 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -6337,6 +6337,15 @@ livekit_server_container_labels_traefik_docker_network: "{{ matrix_playbook_reve livekit_server_container_labels_traefik_entrypoints: "{{ traefik_entrypoint_primary }}" livekit_server_container_labels_traefik_tls_certResolver: "{{ traefik_certResolver_primary }}" +livekit_server_container_labels_public_metrics_middleware_basic_auth_enabled: "{{ matrix_metrics_exposure_http_basic_auth_enabled }}" +livekit_server_container_labels_public_metrics_middleware_basic_auth_users: "{{ matrix_metrics_exposure_http_basic_auth_users }}" + +livekit_server_metrics_proxying_enabled: "{{ livekit_server_config_prometheus_enabled and matrix_metrics_exposure_enabled }}" +livekit_server_metrics_proxying_hostname: "{{ matrix_metrics_exposure_hostname }}" +livekit_server_metrics_proxying_path_prefix: "{{ matrix_metrics_exposure_path_prefix }}/livekit-server" + +livekit_server_config_prometheus_enabled: "{{ prometheus_enabled or matrix_metrics_exposure_enabled }}" + livekit_server_config_keys_auto: |- {{ {} diff --git a/requirements.yml b/requirements.yml index c214106c1..b4e9b4c7c 100644 --- a/requirements.yml +++ b/requirements.yml @@ -28,7 +28,7 @@ version: v10133-1-0 name: jitsi - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-livekit-server.git - version: v1.8.4-4 + version: v1.8.4-5 name: livekit_server - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-ntfy.git version: v2.11.0-4 From 3a414eda668a42c5ebc35a484473736b6d462a9f Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sun, 6 Apr 2025 22:20:00 +0300 Subject: [PATCH 827/841] Upgrade ntfy (v2.11.0-4 -> v2.11.0-5) --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index b4e9b4c7c..b8c48bd5e 100644 --- a/requirements.yml +++ b/requirements.yml @@ -31,7 +31,7 @@ version: v1.8.4-5 name: livekit_server - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-ntfy.git - version: v2.11.0-4 + version: v2.11.0-5 name: ntfy - src: git+https://github.com/devture/com.devture.ansible.role.playbook_help.git version: 201c939eed363de269a83ba29784fc3244846048 From 5b7d8f4d4278045799c63932838e0524f0eeea0e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 7 Apr 2025 07:53:57 +0000 Subject: [PATCH 828/841] Migrate config .github/renovate.json --- .github/renovate.json | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/.github/renovate.json b/.github/renovate.json index e9c3ceb67..18347a32b 100644 --- a/.github/renovate.json +++ b/.github/renovate.json @@ -1,12 +1,17 @@ { "$schema": "https://docs.renovatebot.com/renovate-schema.json", "extends": [ - "config:base" + "config:recommended" ], - "labels": ["dependencies"], - "regexManagers": [ + "labels": [ + "dependencies" + ], + "customManagers": [ { - "fileMatch": ["defaults/main.yml$"], + "customType": "regex", + "fileMatch": [ + "defaults/main.yml$" + ], "matchStrings": [ "# renovate: datasource=(?[a-z-.]+?) depName=(?[^\\s]+?)(?: (?:lookupName|packageName)=(?[^\\s]+?))?(?: versioning=(?[a-z-0-9]+?))?\\s+[A-Za-z0-9_]+?(?:_version|_tag)\\s*:\\s*[\"']?(?.+?)[\"']?\\s" ] @@ -14,11 +19,11 @@ ], "packageRules": [ { - "matchSourceUrlPrefixes": [ - "https://github.com/devture/com.devture.ansible.role", - "https://github.com/mother-of-all-self-hosting" - ], - "ignoreUnstable": false + "ignoreUnstable": false, + "matchSourceUrls": [ + "https://github.com/devture/com.devture.ansible.role{/,}**", + "https://github.com/mother-of-all-self-hosting{/,}**" + ] } ], "ignoreDeps": [ From f7d2151607c14cbdee992006df883ade56cea9c3 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 7 Apr 2025 22:12:13 +0900 Subject: [PATCH 829/841] Add lock-threads.yml The action will be used to lock issues and PRs to prevent necro-posting on closed ones which have not had any activity in the past year. Signed-off-by: Suguru Hirahara --- .github/workflows/lock-threads.yml | 37 ++++++++++++++++++++++++++++++ LICENSES/MIT.txt | 18 +++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 .github/workflows/lock-threads.yml create mode 100644 LICENSES/MIT.txt diff --git a/.github/workflows/lock-threads.yml b/.github/workflows/lock-threads.yml new file mode 100644 index 000000000..d05464fd7 --- /dev/null +++ b/.github/workflows/lock-threads.yml @@ -0,0 +1,37 @@ +# SPDX-FileCopyrightText: 2017 - 2023 Armin Sebastian +# +# SPDX-License-Identifier: MIT + +--- +name: 'Lock Threads' +on: # yamllint disable-line rule:truthy + # Use this to do a dry run from a pull request + # pull_request: + schedule: + - cron: '0 * * * *' + workflow_dispatch: + +permissions: + issues: write + pull-requests: write + +concurrency: + group: lock-threads + +jobs: + action: + if: github.repository == 'spantaleev/matrix-docker-ansible-deploy' + runs-on: ubuntu-latest + steps: + - uses: dessant/lock-threads@v5 + with: + add-issue-labels: 'outdated' + issue-comment: > + This issue is locked to prevent necro-posting on closed + issues. Please create a new issue or contact the team members + on Matrix if the problem persists. + pr-comment: > + This pull request has been automatically locked since there + has not been any recent activity after it was closed. + Please open a new issue for related bugs. + process-only: 'issues, prs' diff --git a/LICENSES/MIT.txt b/LICENSES/MIT.txt new file mode 100644 index 000000000..fc2cf8e6b --- /dev/null +++ b/LICENSES/MIT.txt @@ -0,0 +1,18 @@ +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and +associated documentation files (the "Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial +portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO +EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. From 5194fcd2aa1b0c5742f59a86bf8b017f2bbe63d6 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Tue, 8 Apr 2025 11:42:13 +0300 Subject: [PATCH 830/841] Remove comments before locking threads Necro-posting and notifying all subscribers for the purpose of preventing necro-posting is somewhat ironic --- .github/workflows/lock-threads.yml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/.github/workflows/lock-threads.yml b/.github/workflows/lock-threads.yml index d05464fd7..c2722a7db 100644 --- a/.github/workflows/lock-threads.yml +++ b/.github/workflows/lock-threads.yml @@ -26,12 +26,4 @@ jobs: - uses: dessant/lock-threads@v5 with: add-issue-labels: 'outdated' - issue-comment: > - This issue is locked to prevent necro-posting on closed - issues. Please create a new issue or contact the team members - on Matrix if the problem persists. - pr-comment: > - This pull request has been automatically locked since there - has not been any recent activity after it was closed. - Please open a new issue for related bugs. process-only: 'issues, prs' From 724e83efeebbdd7e6820f0a47eb4b77cd57361bc Mon Sep 17 00:00:00 2001 From: adam-kress Date: Tue, 8 Apr 2025 12:23:57 -0400 Subject: [PATCH 831/841] Upgrade Jitsi (v10133-1-0 -> v10169-0) --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index b8c48bd5e..ce3b084a9 100644 --- a/requirements.yml +++ b/requirements.yml @@ -25,7 +25,7 @@ version: v11.6.0-0 name: grafana - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-jitsi.git - version: v10133-1-0 + version: v10169-0 name: jitsi - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-livekit-server.git version: v1.8.4-5 From dd1170aa6d04af4276ba7c26329f39fd748bbe4f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 8 Apr 2025 16:30:59 +0000 Subject: [PATCH 832/841] Update ghcr.io/element-hq/element-web Docker tag to v1.11.97 --- roles/custom/matrix-client-element/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-client-element/defaults/main.yml b/roles/custom/matrix-client-element/defaults/main.yml index d407dd64f..fa32f286d 100644 --- a/roles/custom/matrix-client-element/defaults/main.yml +++ b/roles/custom/matrix-client-element/defaults/main.yml @@ -29,7 +29,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 }}" # renovate: datasource=docker depName=ghcr.io/element-hq/element-web -matrix_client_element_version: v1.11.96 +matrix_client_element_version: v1.11.97 matrix_client_element_docker_image: "{{ matrix_client_element_docker_image_registry_prefix }}element-hq/element-web:{{ matrix_client_element_version }}" matrix_client_element_docker_image_registry_prefix: "{{ 'localhost/' if matrix_client_element_container_image_self_build else matrix_client_element_docker_image_registry_prefix_upstream }}" From 81d6a2adcaab5897da40cc3f30ed711dcaf9673c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 8 Apr 2025 16:31:05 +0000 Subject: [PATCH 833/841] Update ghcr.io/element-hq/synapse Docker tag to v1.128.0 --- roles/custom/matrix-synapse/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-synapse/defaults/main.yml b/roles/custom/matrix-synapse/defaults/main.yml index 335f1d0d2..8250c0c64 100644 --- a/roles/custom/matrix-synapse/defaults/main.yml +++ b/roles/custom/matrix-synapse/defaults/main.yml @@ -16,7 +16,7 @@ matrix_synapse_enabled: true matrix_synapse_github_org_and_repo: element-hq/synapse # renovate: datasource=docker depName=ghcr.io/element-hq/synapse -matrix_synapse_version: v1.127.1 +matrix_synapse_version: v1.128.0 matrix_synapse_username: '' matrix_synapse_uid: '' From bf2f293323664c5077b9eb03233e8ef3e9c87c51 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Wed, 9 Apr 2025 13:11:57 +0300 Subject: [PATCH 834/841] Do not auto-enable Valkey when Element Call is enabled Not sure why we were doing this. LiveKit Server may utilize Valkey, but we don't configure it this way, so there's no need to do it. --- group_vars/matrix_servers | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index 9c341f8fd..dff558b85 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -4537,7 +4537,7 @@ ntfy_visitor_request_limit_exempt_hosts_hostnames_auto: | # ###################################################################### -valkey_enabled: "{{ matrix_synapse_workers_enabled or (matrix_hookshot_enabled and matrix_hookshot_encryption_enabled) or matrix_element_call_enabled }}" +valkey_enabled: "{{ matrix_synapse_workers_enabled or (matrix_hookshot_enabled and matrix_hookshot_encryption_enabled) }}" valkey_identifier: matrix-valkey From 7cb33c5519dbb6b575afe103c187e1a1d398530a Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Wed, 9 Apr 2025 16:49:18 +0300 Subject: [PATCH 835/841] Add support for easily installing the Matrix RTC stack, without the Element Call frontend (#4242) --- CHANGELOG.md | 24 ++++++++ docs/configuring-playbook-element-call.md | 29 +++++++-- ...onfiguring-playbook-livekit-jwt-service.md | 4 +- docs/configuring-playbook-livekit-server.md | 2 +- docs/configuring-playbook-matrix-rtc.md | 59 +++++++++++++++++++ docs/configuring-playbook.md | 8 ++- group_vars/matrix_servers | 18 +++--- .../matrix-element-call/defaults/main.yml | 9 +++ 8 files changed, 132 insertions(+), 21 deletions(-) create mode 100644 docs/configuring-playbook-matrix-rtc.md diff --git a/CHANGELOG.md b/CHANGELOG.md index efe68fa44..84b1dd658 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,27 @@ +# 2025-04-09 + +## Element Call frontend installation is now optional + +Because all Element clients (Element Web and Element X mobile) now embed and use their own Element Call frontend application (and not the one hosted via the playbook), it makes little sense for the playbook to self-host the Element Call frontend for you. Setting up the frontend requires an additional hostname (DNS setup) and it won't be used by Element clients anyway, so **we now recommend not installing the Element Call frontend**. + +💡 A reason you may wish to continue installing the Element Call frontend (despite Matrix clients not making use of it), is if you need to use it standalone - directly via a browser (without a Matrix client). + +The playbook now lets you [Decide between Element Call vs just the Matrix RTC stack](./docs/configuring-playbook-element-call.md#decide-between-element-call-vs-just-the-matrix-rtc-stack). + +If you've already installed Element Call (via `matrix_element_call_enabled: true`), you can switch to installing just the [Matrix RTC (Real-Time Communication) stack](./docs/configuring-playbook-matrix-rtc.md) (all supporting services **without the Element Call frontend**) by: + +1. Adjusting your `vars.yml` configuration like this: + +```diff +-matrix_element_call_enabled: true ++matrix_rtc_enabled: true +``` + +2. [Re-running the playbook](./docs/installing.md) with the `setup-all` Ansible tag (e.g. `just setup-all`) + +3. Getting rid of the `call.element.example.com` DNS record + + # 2025-03-15 ## Element Call support diff --git a/docs/configuring-playbook-element-call.md b/docs/configuring-playbook-element-call.md index 87677b546..109d0f400 100644 --- a/docs/configuring-playbook-element-call.md +++ b/docs/configuring-playbook-element-call.md @@ -7,7 +7,7 @@ SPDX-License-Identifier: AGPL-3.0-or-later # Setting up Element Call (optional) -The playbook can install and configure [Element Call](https://github.com/element-hq/element-call) for you. +The playbook can install and configure [Element Call](https://github.com/element-hq/element-call) and its supporting components that are part of the [Matrix RTC stack](configuring-playbook-matrix-rtc.md). Element Call is a native Matrix video conferencing application developed by [Element](https://element.io), designed for secure, scalable, privacy-respecting, and decentralized video and voice calls over the Matrix protocol. Built on MatrixRTC ([MSC4143](https://github.com/matrix-org/matrix-spec-proposals/pull/4143)), it utilizes [MSC4195](https://github.com/hughns/matrix-spec-proposals/blob/hughns/matrixrtc-livekit/proposals/4195-matrixrtc-livekit.md) with [LiveKit Server](configuring-playbook-livekit-server.md) as its backend. @@ -16,18 +16,33 @@ See the project's [documentation](https://github.com/element-hq/element-call) to ## Prerequisites - A [Synapse](configuring-playbook-synapse.md) homeserver (see the warning below) -- [Federation](configuring-playbook-federation.md) being enabled for your Matrix homeserver (federation is enabled by default, unless you've explicitly disabled it), because [LiveKit JWT Service](configuring-playbook-livekit-jwt-service.md) currently [requires it](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3562#issuecomment-2725250554) ([relevant source code](https://github.com/element-hq/lk-jwt-service/blob/f5f5374c4bdcc00a4fb13d27c0b28e20e4c62334/main.go#L135-L146)) -- Various experimental features for the Synapse homeserver which Element Call [requires](https://github.com/element-hq/element-call/blob/93ae2aed9841e0b066d515c56bd4c122d2b591b2/docs/self-hosting.md#a-matrix-homeserver) (automatically done when Element Call is enabled) -- A [LiveKit Server](configuring-playbook-livekit-server.md) (automatically installed when Element Call is enabled) -- The [LiveKit JWT Service](configuring-playbook-livekit-jwt-service.md) (automatically installed when Element Call is enabled) +- The [Matrix RTC (Real-Time Communication) stack](configuring-playbook-matrix-rtc.md) - A client compatible with Element Call. As of 2025-03-15, that's just [Element Web](configuring-playbook-client-element-web.md) and the Element X mobile clients (iOS and Android). > [!WARNING] > Because Element Call [requires](https://github.com/element-hq/element-call/blob/93ae2aed9841e0b066d515c56bd4c122d2b591b2/docs/self-hosting.md#a-matrix-homeserver) a few experimental features in the Matrix protocol, it's **very likely that it only works with the Synapse homeserver**. +## Decide between Element Call vs just the Matrix RTC stack + +All clients that can currently use Element Call (Element Web and Element X on mobile) already embed the Element Call frontend within them. +These **clients will use their own embedded Element Call frontend**, so **self-hosting the Element Call frontend by the playbook is largely unnecessary**. + +💡 A reason you may wish to continue installing the Element Call frontend (despite Matrix clients not making use of it), is if you need to use it standalone - directly via a browser (without a Matrix client). + +The playbook makes a distiction between enabling Element Call (`matrix_element_call_enabled`) and enabling the Matrix RTC Stack (`matrix_rtc_enabled`). Enabling Element Call automatically enables the Matrix RTC stack. Because installing the Element Call frontend is now unnecessary, **we recommend only installing the Matrix RTC stack, without the Element Call frontend**. + +| Description / Variable | Element Call frontend | [LiveKit Server](configuring-playbook-livekit-server.md) | [LiveKit JWT Service](configuring-playbook-livekit-jwt-service.md) | +|------------------------|-----------------------|----------------|---------------------| +| Description | Static website that provides the Element Call UI (but often embedded by clients) | Scalable, multi-user conferencing solution based on WebRTC | A helper component that allows Element Call to integrate with LiveKit Server | +| Required for Element Call to function | No | Yes | Yes | +| `matrix_element_call_enabled` | ✅ Installed | ✅ Installed | ✅ Installed | +| `matrix_rtc_enabled` | ❌ Not Installed, but usually unnecessary | ✅ Installed | ✅ Installed | + +All documentation below assumes that you've decided to install Element Call and not just the Matrix RTC stack. + ## Decide on a domain and path -By default, Element Call is configured to be served on the `call.element.example.com` domain. +By default, the Element Call frontend is configured to be served on the `call.element.example.com` domain. If you'd like to run Element Call on another hostname, see the [Adjusting the Element Call URL](#adjusting-the-element-call-url-optional) section below. @@ -48,6 +63,8 @@ In addition to the HTTP/HTTPS ports (which you've already exposed as per the [pr Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: ```yaml +# Enable the Element Call frontend UI to allow standalone use of Element Call. +# Enabling this also auto-enables the Matrix RTC stack. matrix_element_call_enabled: true ``` diff --git a/docs/configuring-playbook-livekit-jwt-service.md b/docs/configuring-playbook-livekit-jwt-service.md index 55bf3682f..f206c329a 100644 --- a/docs/configuring-playbook-livekit-jwt-service.md +++ b/docs/configuring-playbook-livekit-jwt-service.md @@ -8,9 +8,9 @@ SPDX-License-Identifier: AGPL-3.0-or-later The playbook can install and configure [LiveKit JWT Service](https://github.com/element-hq/lk-jwt-service/) for you. -This is a helper component that allows [Element Call](configuring-playbook-element-call.md) to integrate with [LiveKit Server](configuring-playbook-livekit-server.md). +This is a helper component which is part of the [Matrix RTC stack](configuring-playbook-matrix-rtc.md) that allows [Element Call](configuring-playbook-element-call.md) to integrate with [LiveKit Server](configuring-playbook-livekit-server.md). -💡 LiveKit JWT Service is automatically installed and configured when [Element Call](configuring-playbook-element-call.md) is enabled, so you don't need to do anything extra. +💡 LiveKit JWT Service is automatically installed and configured when either [Element Call](configuring-playbook-element-call.md) or the [Matrix RTC stack](configuring-playbook-matrix-rtc.md) is enabled, so you don't need to do anything extra. Take a look at: diff --git a/docs/configuring-playbook-livekit-server.md b/docs/configuring-playbook-livekit-server.md index 94282daa0..afc514fc7 100644 --- a/docs/configuring-playbook-livekit-server.md +++ b/docs/configuring-playbook-livekit-server.md @@ -11,7 +11,7 @@ The playbook can install and configure [LiveKit Server](https://github.com/livek LiveKit Server is an open source project that provides scalable, multi-user conferencing based on WebRTC. It's designed to provide everything you need to build real-time video audio data capabilities in your applications. -💡 LiveKit Server is automatically installed and configured when [Element Call](configuring-playbook-element-call.md) is enabled, so you don't need to do anything extra. +💡 LiveKit Server is automatically installed and configured when either [Element Call](configuring-playbook-element-call.md) or the [Matrix RTC stack](configuring-playbook-matrix-rtc.md) is enabled, so you don't need to do anything extra. The [Ansible role for LiveKit Server](https://github.com/mother-of-all-self-hosting/ansible-role-livekit-server) is developed and maintained by [the MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting). For details about configuring LiveKit Server, you can check them via: - 🌐 [the role's documentation at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-livekit-server/blob/main/docs/configuring-livekit-server.md) online diff --git a/docs/configuring-playbook-matrix-rtc.md b/docs/configuring-playbook-matrix-rtc.md new file mode 100644 index 000000000..fae94f497 --- /dev/null +++ b/docs/configuring-playbook-matrix-rtc.md @@ -0,0 +1,59 @@ + + +# Setting up the Matrix RTC stack (optional) + +The playbook can install and configure the Matrix RTC (Real-Time Communication) stack. + +The Matrix RTC stack is a set of supporting components ([LiveKit Server](configuring-playbook-livekit-server.md) and [LiveKit JWT Service](configuring-playbook-livekit-jwt-service.md)) that allow the new [Element Call](configuring-playbook-element-call.md) audio/video calls to function. + +💡 If you only plan on doing audio/video calls via Matrix client (which typically embed the Element Call frontend UI within them), you only need to install the Matrix RTC stack and don't necessarily need to install [Element Call](configuring-playbook-element-call.md). See the [Decide between Element Call vs just the Matrix RTC stack](configuring-playbook-element-call.md#decide-between-element-call-vs-just-the-matrix-rtc-stack) section of the [Element Call documentation](configuring-playbook-element-call.md) for more details. + +## Prerequisites + +- A [Synapse](configuring-playbook-synapse.md) homeserver (see the warning below) +- [Federation](configuring-playbook-federation.md) being enabled for your Matrix homeserver (federation is enabled by default, unless you've explicitly disabled it), because [LiveKit JWT Service](configuring-playbook-livekit-jwt-service.md) currently [requires it](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3562#issuecomment-2725250554) ([relevant source code](https://github.com/element-hq/lk-jwt-service/blob/f5f5374c4bdcc00a4fb13d27c0b28e20e4c62334/main.go#L135-L146)) +- Various experimental features for the Synapse homeserver which Element Call [requires](https://github.com/element-hq/element-call/blob/93ae2aed9841e0b066d515c56bd4c122d2b591b2/docs/self-hosting.md#a-matrix-homeserver) (automatically done when Element Call is enabled) +- A [LiveKit Server](configuring-playbook-livekit-server.md) (automatically installed when [Element Call or the Matrix RTC stack is enabled](#decide-between-element-call-vs-just-the-matrix-rtc-stack)) +- The [LiveKit JWT Service](configuring-playbook-livekit-jwt-service.md) (automatically installed when [Element Call or the Matrix RTC stack is enabled](#decide-between-element-call-vs-just-the-matrix-rtc-stack)) +- A client compatible with Element Call. As of 2025-03-15, that's just [Element Web](configuring-playbook-client-element-web.md) and the Element X mobile clients (iOS and Android). + +> [!WARNING] +> Because Element Call [requires](https://github.com/element-hq/element-call/blob/93ae2aed9841e0b066d515c56bd4c122d2b591b2/docs/self-hosting.md#a-matrix-homeserver) a few experimental features in the Matrix protocol, it's **very likely that it only works with the Synapse homeserver**. + +## Adjusting the playbook configuration + +Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: + +```yaml +# Enable the Matrix RTC stack. +# This provides all supporting services for Element Call, without the Element Call frontend. +matrix_rtc_enabled: true +``` + +## Adjusting firewall rules + +In addition to the HTTP/HTTPS ports (which you've already exposed as per the [prerequisites](prerequisites.md) document), you'll also need to open ports required by [LiveKit Server](configuring-playbook-livekit-server.md) as described in its own [Adjusting firewall rules](configuring-playbook-livekit-server.md#adjusting-firewall-rules) section. + +## Installing + +After configuring the playbook and potentially [adjusting your DNS records](#adjusting-dns-records) and [adjusting firewall rules](#adjusting-firewall-rules), run the playbook with [playbook tags](playbook-tags.md) as below: + + +```sh +ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start +``` + +The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` + +`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. + +## Usage + +Once installed, Matrix clients which support Element Call (like [Element Web](configuring-playbook-client-element-web.md) and Element X on mobile (iOS and Android)) will automatically use the Matrix RTC stack. + +These clients typically embed the Element Call frontend UI within them, so installing [Element Call](configuring-playbook-element-call.md) is only necessary if you'd like to use it standalone - directly via a browser. \ No newline at end of file diff --git a/docs/configuring-playbook.md b/docs/configuring-playbook.md index 3a105cb0c..58cea52b9 100644 --- a/docs/configuring-playbook.md +++ b/docs/configuring-playbook.md @@ -237,11 +237,13 @@ Services that help you in administrating and monitoring your Matrix installation Various services that don't fit any other categories. -- [Setting up Element Call](configuring-playbook-element-call.md) — a native Matrix video conferencing application (optional) +- [Setting up Element Call](configuring-playbook-element-call.md) — a native Matrix video conferencing application, built on top of the [Matrix RTC stack](configuring-playbook-matrix-rtc.md) (optional) -- [Setting up LiveKit JWT Service](configuring-playbook-livekit-jwt-service.md) (optional) +- [Setting up LiveKit JWT Service](configuring-playbook-livekit-jwt-service.md) - a component of the [Matrix RTC stack](configuring-playbook-matrix-rtc.md) (optional) -- [Setting up LiveKit Server](configuring-playbook-livekit-server.md) (optional) +- [Setting up LiveKit Server](configuring-playbook-livekit-server.md) - a component of the [Matrix RTC stack](configuring-playbook-matrix-rtc.md) (optional) + +- [Setting up Matrix RTC](configuring-playbook-matrix-rtc.md) (optional) - [Setting up Synapse Auto Invite Accept](configuring-playbook-synapse-auto-accept-invite.md) diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index dff558b85..5dd0d9f5a 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -4609,9 +4609,9 @@ matrix_client_element_enable_presence_by_hs_url: |- matrix_client_element_jitsi_preferred_domain: "{{ matrix_server_fqn_jitsi if jitsi_enabled else '' }}" -matrix_client_element_features_feature_video_rooms: "{{ matrix_element_call_enabled }}" -matrix_client_element_features_feature_group_calls: "{{ matrix_element_call_enabled }}" -matrix_client_element_features_feature_element_call_video_rooms: "{{ matrix_element_call_enabled }}" +matrix_client_element_features_feature_video_rooms: "{{ matrix_rtc_enabled }}" +matrix_client_element_features_feature_group_calls: "{{ matrix_rtc_enabled }}" +matrix_client_element_features_feature_element_call_video_rooms: "{{ matrix_rtc_enabled }}" matrix_client_element_features_feature_oidc_native_flow: "{{ matrix_authentication_service_enabled }}" matrix_client_element_element_call_enabled: "{{ matrix_element_call_enabled }}" @@ -4934,7 +4934,7 @@ matrix_synapse_ext_media_repo_enabled: "{{ matrix_media_repo_enabled }}" matrix_synapse_report_stats: "{{ matrix_synapse_usage_exporter_enabled }}" matrix_synapse_report_stats_endpoint: "{{ (('http://' + matrix_synapse_usage_exporter_identifier + ':' + matrix_synapse_usage_exporter_container_port | string + '/report-usage-stats/push') if matrix_synapse_usage_exporter_enabled else '') }}" -matrix_synapse_experimental_features_msc3266_enabled: "{{ matrix_element_call_enabled }}" +matrix_synapse_experimental_features_msc3266_enabled: "{{ matrix_rtc_enabled }}" matrix_synapse_experimental_features_msc3861_enabled: "{{ matrix_authentication_service_enabled and not matrix_authentication_service_migration_in_progress }}" matrix_synapse_experimental_features_msc3861_issuer: "{{ matrix_authentication_service_http_base_container_url if matrix_authentication_service_enabled else '' }}" @@ -4944,9 +4944,9 @@ matrix_synapse_experimental_features_msc3861_account_management_url: "{{ matrix_ matrix_synapse_experimental_features_msc4108_enabled: "{{ matrix_authentication_service_enabled and not matrix_authentication_service_migration_in_progress }}" -matrix_synapse_experimental_features_msc4140_enabled: "{{ matrix_element_call_enabled }}" +matrix_synapse_experimental_features_msc4140_enabled: "{{ matrix_rtc_enabled }}" -matrix_synapse_experimental_features_msc4222_enabled: "{{ matrix_element_call_enabled }}" +matrix_synapse_experimental_features_msc4222_enabled: "{{ matrix_rtc_enabled }}" # Disable password authentication when delegating authentication to Matrix Authentication Service. # Unless this is done, Synapse fails on startup with: @@ -6140,7 +6140,7 @@ matrix_static_files_file_matrix_client_property_m_tile_server_map_style_url: "{{ # See: https://github.com/etkecc/synapse-admin/pull/126 matrix_static_files_file_matrix_client_property_cc_etke_synapse_admin_auto: "{{ matrix_synapse_admin_configuration if matrix_homeserver_implementation == 'synapse' else {} }}" -matrix_static_files_file_matrix_client_property_org_matrix_msc4143_rtc_foci_enabled: "{{ matrix_element_call_enabled }}" +matrix_static_files_file_matrix_client_property_org_matrix_msc4143_rtc_foci_enabled: "{{ matrix_livekit_jwt_service_enabled }}" matrix_static_files_file_matrix_client_property_org_matrix_msc4143_rtc_foci_auto: |- {{ ( @@ -6297,7 +6297,7 @@ matrix_element_call_config_livekit_livekit_service_url: "{{ matrix_livekit_jwt_s # # ######################################################################## -livekit_server_enabled: "{{ matrix_element_call_enabled }}" +livekit_server_enabled: "{{ matrix_rtc_enabled }}" livekit_server_identifier: matrix-livekit-server @@ -6405,7 +6405,7 @@ livekit_server_systemd_required_services_list_auto: | # # ######################################################################## -matrix_livekit_jwt_service_enabled: "{{ matrix_element_call_enabled and livekit_server_enabled }}" +matrix_livekit_jwt_service_enabled: "{{ matrix_rtc_enabled and livekit_server_enabled }}" matrix_livekit_jwt_service_scheme: "{{ 'https' if matrix_playbook_ssl_enabled else 'http' }}" diff --git a/roles/custom/matrix-element-call/defaults/main.yml b/roles/custom/matrix-element-call/defaults/main.yml index 66d3cf24a..f5ab28310 100644 --- a/roles/custom/matrix-element-call/defaults/main.yml +++ b/roles/custom/matrix-element-call/defaults/main.yml @@ -11,6 +11,15 @@ matrix_element_call_enabled: false +# Controls whether the Element Call stack (various services around Element Call, without the Element Call frontend itself) are to be installed. +# This affects enablement of other services around Element Call. +# +# By default, we enable the rest of the stack when Element Call itself is enabled, +# but people may wish to enable the stack by itself and avoid installing the Element Call frontend. +# This is useful to do, because self-hosting the Element Call frontend is mostly useless, because +# various clients tend to embed and preferusing their own embedded Element Call frontend, instead of a self-hosted one. +matrix_rtc_enabled: "{{ matrix_element_call_enabled }}" + # renovate: datasource=docker depName=ghcr.io/element-hq/element-call matrix_element_call_version: v0.9.0 From 761e6d4cd64d0486966021b93925498bbf9ea317 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Thu, 10 Apr 2025 12:52:44 +0300 Subject: [PATCH 836/841] Add `matrix_dendrite_guests_disabled` --- roles/custom/matrix-dendrite/defaults/main.yml | 3 +++ roles/custom/matrix-dendrite/templates/dendrite.yaml.j2 | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/roles/custom/matrix-dendrite/defaults/main.yml b/roles/custom/matrix-dendrite/defaults/main.yml index 50e9116eb..d4b1bab79 100644 --- a/roles/custom/matrix-dendrite/defaults/main.yml +++ b/roles/custom/matrix-dendrite/defaults/main.yml @@ -240,6 +240,9 @@ matrix_dendrite_client_api_rate_limiting_cooloff_ms: 500 # Controls whether people with access to the homeserver can register by themselves. matrix_dendrite_client_api_registration_disabled: true +# Controls whether guest accounts are disabled +matrix_dendrite_guests_disabled: true + # reCAPTCHA API for validating registration attempts matrix_dendrite_client_api_enable_registration_captcha: false matrix_dendrite_client_api_recaptcha_public_key: "" diff --git a/roles/custom/matrix-dendrite/templates/dendrite.yaml.j2 b/roles/custom/matrix-dendrite/templates/dendrite.yaml.j2 index 8f03b16db..8c99c060f 100644 --- a/roles/custom/matrix-dendrite/templates/dendrite.yaml.j2 +++ b/roles/custom/matrix-dendrite/templates/dendrite.yaml.j2 @@ -189,7 +189,7 @@ client_api: # Prevents new guest accounts from being created. Guest registration is also # disabled implicitly by setting 'registration_disabled' above. - guests_disabled: true + guests_disabled: {{ matrix_dendrite_guests_disabled | to_json }} # If set, allows registration by anyone who knows the shared secret, regardless of # whether registration is otherwise disabled. From 40dd8f7785b2331a1f05b599a72ef9cfd9ff7227 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Thu, 10 Apr 2025 12:54:54 +0300 Subject: [PATCH 837/841] Add a section on guest accounts and Element Call --- docs/configuring-playbook-element-call.md | 27 +++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/docs/configuring-playbook-element-call.md b/docs/configuring-playbook-element-call.md index 109d0f400..cc88bec70 100644 --- a/docs/configuring-playbook-element-call.md +++ b/docs/configuring-playbook-element-call.md @@ -16,8 +16,9 @@ See the project's [documentation](https://github.com/element-hq/element-call) to ## Prerequisites - A [Synapse](configuring-playbook-synapse.md) homeserver (see the warning below) -- The [Matrix RTC (Real-Time Communication) stack](configuring-playbook-matrix-rtc.md) +- The [Matrix RTC (Real-Time Communication) stack](configuring-playbook-matrix-rtc.md) (automatically done when Element Call is enabled) - A client compatible with Element Call. As of 2025-03-15, that's just [Element Web](configuring-playbook-client-element-web.md) and the Element X mobile clients (iOS and Android). +- (Optional) Guest accounts being enabled for your Matrix server, if you'd like guests to be able to use Element Call. See [Allowing guests to use Element Call](#allowing-guests-to-use-element-call-optional) > [!WARNING] > Because Element Call [requires](https://github.com/element-hq/element-call/blob/93ae2aed9841e0b066d515c56bd4c122d2b591b2/docs/self-hosting.md#a-matrix-homeserver) a few experimental features in the Matrix protocol, it's **very likely that it only works with the Synapse homeserver**. @@ -27,7 +28,7 @@ See the project's [documentation](https://github.com/element-hq/element-call) to All clients that can currently use Element Call (Element Web and Element X on mobile) already embed the Element Call frontend within them. These **clients will use their own embedded Element Call frontend**, so **self-hosting the Element Call frontend by the playbook is largely unnecessary**. -💡 A reason you may wish to continue installing the Element Call frontend (despite Matrix clients not making use of it), is if you need to use it standalone - directly via a browser (without a Matrix client). +💡 A reason you may wish to continue installing the Element Call frontend (despite Matrix clients not making use of it), is if you need to use it standalone - directly via a browser (without a Matrix client). Note that unless you [allow guest accounts to use Element Call](#allowing-guests-to-use-element-call-optional), you will still need a Matrix user account **on the same homeserver** to be able to use Element Call. The playbook makes a distiction between enabling Element Call (`matrix_element_call_enabled`) and enabling the Matrix RTC Stack (`matrix_rtc_enabled`). Enabling Element Call automatically enables the Matrix RTC stack. Because installing the Element Call frontend is now unnecessary, **we recommend only installing the Matrix RTC stack, without the Element Call frontend**. @@ -81,6 +82,28 @@ matrix_element_call_hostname: element-call.example.com > [!WARNING] > A `matrix_element_call_path_prefix` variable is also available and mean to let you configure a path prefix for the Element Call service, but [Element Call does not support running under a sub-path yet](https://github.com/element-hq/element-call/issues/3084). +### Allowing guests to use Element Call (optional) + +By default, Element Call can only be used by people having accounts on your Matrix server. + +If you'd like guests to be able to use Element Call as well, you need to enable guest accounts support for your homeserver. + +> [!WARNING] +> Enabling guest accounts means that your homeserver's user database may get polluted with guest account signups (potentially made by bots). +> Guest accounts should be limited in what (damage) they can do to your server and the rest of the Matrix ecosystem, but it's better to not enable them unless necessary. + +For [Synapse](configuring-playbook-synapse.md) (the default homeserver implementation), the configuration is like this: + +```yml +matrix_synapse_allow_guest_access: true +``` + +For [Dendrite](configuring-playbook-dendrite.md), the configuration is like this: + +```yml +matrix_dendrite_guests_disabled: false +``` + ## Installing After configuring the playbook and potentially [adjusting your DNS records](#adjusting-dns-records) and [adjusting firewall rules](#adjusting-firewall-rules), run the playbook with [playbook tags](playbook-tags.md) as below: From 8378e6f16423c3a93c47311f496e5416bbe05295 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 10 Apr 2025 19:22:44 +0000 Subject: [PATCH 838/841] Update dependency urllib3 to v2.4.0 --- i18n/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/requirements.txt b/i18n/requirements.txt index 61e5903e9..24be89607 100644 --- a/i18n/requirements.txt +++ b/i18n/requirements.txt @@ -30,4 +30,4 @@ sphinxcontrib-qthelp==2.0.0 sphinxcontrib-serializinghtml==2.0.0 tabulate==0.9.0 uc-micro-py==1.0.3 -urllib3==2.3.0 +urllib3==2.4.0 From 60b291f197cbf0c433dd486665fe48e56eccf85d Mon Sep 17 00:00:00 2001 From: adam-kress Date: Thu, 10 Apr 2025 18:02:18 -0400 Subject: [PATCH 839/841] Upgrade Jitsi (v10169-0 -> v10184-0) --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index ce3b084a9..3afe3c692 100644 --- a/requirements.yml +++ b/requirements.yml @@ -25,7 +25,7 @@ version: v11.6.0-0 name: grafana - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-jitsi.git - version: v10169-0 + version: v10184-0 name: jitsi - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-livekit-server.git version: v1.8.4-5 From 08b68e93dc198701eb707793332d6a9adca708f7 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 11 Apr 2025 22:30:42 +0000 Subject: [PATCH 840/841] Update hif1/heisenbridge Docker tag to v1.15.3 --- roles/custom/matrix-bridge-heisenbridge/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-bridge-heisenbridge/defaults/main.yml b/roles/custom/matrix-bridge-heisenbridge/defaults/main.yml index 7dd57bc3b..39ce0c462 100644 --- a/roles/custom/matrix-bridge-heisenbridge/defaults/main.yml +++ b/roles/custom/matrix-bridge-heisenbridge/defaults/main.yml @@ -19,7 +19,7 @@ matrix_heisenbridge_hostname: "{{ matrix_server_fqn_matrix }}" matrix_heisenbridge_path_prefix: "/heisenbridge" # renovate: datasource=docker depName=hif1/heisenbridge -matrix_heisenbridge_version: 1.15.2 +matrix_heisenbridge_version: 1.15.3 matrix_heisenbridge_docker_image: "{{ matrix_heisenbridge_docker_image_registry_prefix }}hif1/heisenbridge:{{ matrix_heisenbridge_version }}" matrix_heisenbridge_docker_image_registry_prefix: "{{ matrix_heisenbridge_docker_image_registry_prefix_upstream }}" matrix_heisenbridge_docker_image_registry_prefix_upstream: "{{ matrix_heisenbridge_docker_image_registry_prefix_upstream_default }}" From e02dd74e3a9af752827d590d8656eba1262d2b3a Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sat, 12 Apr 2025 08:10:54 +0300 Subject: [PATCH 841/841] Upgrade baibot (v1.5.1 -> v1.6.0) --- roles/custom/matrix-bot-baibot/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-bot-baibot/defaults/main.yml b/roles/custom/matrix-bot-baibot/defaults/main.yml index b7265fd6e..cbb94b5bb 100644 --- a/roles/custom/matrix-bot-baibot/defaults/main.yml +++ b/roles/custom/matrix-bot-baibot/defaults/main.yml @@ -17,7 +17,7 @@ matrix_bot_baibot_container_repo_version: "{{ 'main' if matrix_bot_baibot_versio matrix_bot_baibot_container_src_files_path: "{{ matrix_base_data_path }}/baibot/container-src" # renovate: datasource=docker depName=ghcr.io/etkecc/baibot -matrix_bot_baibot_version: v1.5.1 +matrix_bot_baibot_version: v1.6.0 matrix_bot_baibot_container_image: "{{ matrix_bot_baibot_container_image_registry_prefix }}etkecc/baibot:{{ matrix_bot_baibot_version }}" matrix_bot_baibot_container_image_registry_prefix: "{{ 'localhost/' if matrix_bot_baibot_container_image_self_build else matrix_bot_baibot_container_image_registry_prefix_upstream }}" matrix_bot_baibot_container_image_registry_prefix_upstream: "{{ matrix_bot_baibot_container_image_registry_prefix_upstream_default }}"