mirror of
https://github.com/spantaleev/matrix-docker-ansible-deploy.git
synced 2026-01-27 15:13:17 +03:00
Compare commits
153 Commits
9582f6a565
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b6bf91c150 | ||
|
|
b0e70f419f | ||
|
|
692c34ad9b | ||
|
|
97c2915034 | ||
|
|
292397234a | ||
|
|
82d6f3de2c | ||
|
|
cc9234d3ba | ||
|
|
47322a8d52 | ||
|
|
911031e2cf | ||
|
|
e01a79865c | ||
|
|
ab97b94245 | ||
|
|
c8fc504470 | ||
|
|
a6c447ade3 | ||
|
|
aa69069627 | ||
|
|
fa22053bf1 | ||
|
|
a3ef7109b6 | ||
|
|
7c8a28d590 | ||
|
|
28af19a1a7 | ||
|
|
ea4b467cd3 | ||
|
|
bd6202eb65 | ||
|
|
4d0cf32151 | ||
|
|
1890f3a01a | ||
|
|
ac5dc5d44f | ||
|
|
a050107e0f | ||
|
|
41108b57e3 | ||
|
|
78c7b61af8 | ||
|
|
b5c5f34ca4 | ||
|
|
e1bf0aebd2 | ||
|
|
8a02d791ea | ||
|
|
dd54691137 | ||
|
|
a3a2c568d0 | ||
|
|
0bc84a7129 | ||
|
|
afe5b06771 | ||
|
|
e4d0d42f04 | ||
|
|
91711669c6 | ||
|
|
5fe789cd96 | ||
|
|
e4abe50daf | ||
|
|
e70d0d7673 | ||
|
|
ae88c51dd7 | ||
|
|
9d7c224021 | ||
|
|
65213ff497 | ||
|
|
13727bc0a2 | ||
|
|
ed87ef7e50 | ||
|
|
858a4ab555 | ||
|
|
5f3f57197e | ||
|
|
4f00bb4789 | ||
|
|
5e558aab55 | ||
|
|
e09d10419c | ||
|
|
e60ef27bb8 | ||
|
|
be7536390d | ||
|
|
e7612dc0ce | ||
|
|
6f736653e9 | ||
|
|
1ca3c91fd7 | ||
|
|
edf833627e | ||
|
|
ed20b65912 | ||
|
|
9cbc9c6b06 | ||
|
|
484e94d493 | ||
|
|
b0f73f7966 | ||
|
|
3c64fe6eb5 | ||
|
|
048ce7503d | ||
|
|
2161500e60 | ||
|
|
927f6fa2e3 | ||
|
|
66c85f63e6 | ||
|
|
9ea18d6f2d | ||
|
|
a073f21a8f | ||
|
|
68337b6f45 | ||
|
|
a8ef76735d | ||
|
|
df6ac15324 | ||
|
|
ce14e60a02 | ||
|
|
16bec7bfbb | ||
|
|
91e9d0b227 | ||
|
|
c05849920d | ||
|
|
2e313f6c38 | ||
|
|
6d202a30fc | ||
|
|
42cfbc06cc | ||
|
|
17898f6be2 | ||
|
|
a1df76f9d4 | ||
|
|
f2242246ec | ||
|
|
12bee503e0 | ||
|
|
e7cb9eee79 | ||
|
|
e813932240 | ||
|
|
98331ae970 | ||
|
|
5612af92e8 | ||
|
|
1f31975aef | ||
|
|
fa3d05ea81 | ||
|
|
5c0c03893f | ||
|
|
f7a3bde4a7 | ||
|
|
52278a8108 | ||
|
|
3a12aa7682 | ||
|
|
6a8a1dfa24 | ||
|
|
aec4185135 | ||
|
|
fd612f99fd | ||
|
|
ddc5e094a3 | ||
|
|
c14d1bd1f4 | ||
|
|
fe9f70517e | ||
|
|
59ab28cab2 | ||
|
|
904a98d56c | ||
|
|
f36983bfdb | ||
|
|
88dcfbdaa7 | ||
|
|
d5580ea322 | ||
|
|
95884479c3 | ||
|
|
64fc64921c | ||
|
|
4238ec6e86 | ||
|
|
940dcb0162 | ||
|
|
98663a8386 | ||
|
|
bbfe345758 | ||
|
|
c7ed2deb22 | ||
|
|
1bc70935a0 | ||
|
|
472bf1c58c | ||
|
|
717c9bfd7d | ||
|
|
325b22a302 | ||
|
|
f8f7406c51 | ||
|
|
caa2e338bc | ||
|
|
585d606856 | ||
|
|
cf97144ed8 | ||
|
|
d5709e4596 | ||
|
|
1838840f65 | ||
|
|
0041bd01c3 | ||
|
|
aea799260f | ||
|
|
1ee83861c3 | ||
|
|
db793428a1 | ||
|
|
f31be1a725 | ||
|
|
a451f1fcb1 | ||
|
|
64d890300b | ||
|
|
7e0815c5ea | ||
|
|
fb0a1bd489 | ||
|
|
bab3a47c50 | ||
|
|
a88c394ae0 | ||
|
|
eda41e89c1 | ||
|
|
d1b480de65 | ||
|
|
2821774fca | ||
|
|
77a173f8b2 | ||
|
|
ebdb2cc827 | ||
|
|
9b7767f451 | ||
|
|
201d3ea087 | ||
|
|
bf3f4a9059 | ||
|
|
cbf8a2e7e9 | ||
|
|
ddf0fe7167 | ||
|
|
07423d3dd4 | ||
|
|
430f350733 | ||
|
|
889970314a | ||
|
|
1f2f7e468e | ||
|
|
6865a59e88 | ||
|
|
e128c761ba | ||
|
|
4caf38e682 | ||
|
|
2eadddcde9 | ||
|
|
6cc837600a | ||
|
|
7181131967 | ||
|
|
a116620238 | ||
|
|
b464f3cc55 | ||
|
|
fb2d7481dc | ||
|
|
388e79ea5a | ||
|
|
0ab40bbd9c |
2
.github/workflows/lock-threads.yml
vendored
2
.github/workflows/lock-threads.yml
vendored
@@ -23,7 +23,7 @@ jobs:
|
|||||||
if: github.repository == 'spantaleev/matrix-docker-ansible-deploy'
|
if: github.repository == 'spantaleev/matrix-docker-ansible-deploy'
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: dessant/lock-threads@v5
|
- uses: dessant/lock-threads@v6
|
||||||
with:
|
with:
|
||||||
add-issue-labels: 'outdated'
|
add-issue-labels: 'outdated'
|
||||||
process-only: 'issues, prs'
|
process-only: 'issues, prs'
|
||||||
|
|||||||
8
.github/workflows/matrix.yml
vendored
8
.github/workflows/matrix.yml
vendored
@@ -15,7 +15,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Check out
|
- name: Check out
|
||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v6
|
||||||
- name: Run yamllint
|
- name: Run yamllint
|
||||||
uses: frenck/action-yamllint@v1.5.0
|
uses: frenck/action-yamllint@v1.5.0
|
||||||
ansible-lint:
|
ansible-lint:
|
||||||
@@ -23,10 +23,10 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Check out
|
- name: Check out
|
||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: Run ansible-lint
|
- name: Run ansible-lint
|
||||||
uses: ansible/ansible-lint@v25.11.0
|
uses: ansible/ansible-lint@v26.1.1
|
||||||
with:
|
with:
|
||||||
args: "roles/custom"
|
args: "roles/custom"
|
||||||
setup_python: "true"
|
setup_python: "true"
|
||||||
@@ -37,6 +37,6 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v6
|
||||||
- name: Run pre-commit
|
- name: Run pre-commit
|
||||||
uses: pre-commit/action@v3.0.1
|
uses: pre-commit/action@v3.0.1
|
||||||
|
|||||||
16
CHANGELOG.md
16
CHANGELOG.md
@@ -1,3 +1,19 @@
|
|||||||
|
# 2025-12-09
|
||||||
|
|
||||||
|
## Traefik Cert Dumper upgrade
|
||||||
|
|
||||||
|
The variable `traefik_certs_dumper_ssl_dir_path` was renamed to `traefik_certs_dumper_ssl_path`. Users who use [their own webserver with Traefik](docs/configuring-playbook-own-webserver.md) may need to adjust their configuration.
|
||||||
|
|
||||||
|
The variable `traefik_certs_dumper_dumped_certificates_dir_path` was renamed to `traefik_certs_dumper_dumped_certificates_path`. Users who use [SRV Server Delegation](docs/howto-srv-server-delegation.md) may need to adjust their configuration.
|
||||||
|
|
||||||
|
# 2025-11-23
|
||||||
|
|
||||||
|
## Matrix.to support
|
||||||
|
|
||||||
|
The playbook now supports [Matrix.to](https://github.com/matrix-org/matrix.to) — a simple URL redirection service which powers [matrix.to](https://matrix.to).
|
||||||
|
|
||||||
|
To learn more, see our [Setting up Matrix.to](docs/configuring-playbook-matrixto.md) documentation page.
|
||||||
|
|
||||||
# 2025-11-09
|
# 2025-11-09
|
||||||
|
|
||||||
## matrix-appservice-webhooks has been removed from the playbook
|
## matrix-appservice-webhooks has been removed from the playbook
|
||||||
|
|||||||
@@ -179,6 +179,7 @@ Various services that don't fit any other categories.
|
|||||||
| [synapse_auto_accept_invite](https://github.com/matrix-org/synapse-auto-accept-invite) | ❌ | Synapse module to automatically accept invites | [Link](docs/configuring-playbook-synapse-auto-accept-invite.md) |
|
| [synapse_auto_accept_invite](https://github.com/matrix-org/synapse-auto-accept-invite) | ❌ | Synapse module to automatically accept invites | [Link](docs/configuring-playbook-synapse-auto-accept-invite.md) |
|
||||||
| [synapse_auto_compressor](https://github.com/matrix-org/rust-synapse-compress-state/#automated-tool-synapse_auto_compressor) | ❌ | Cli tool that automatically compresses `state_groups` database table in background | [Link](docs/configuring-playbook-synapse-auto-compressor.md) |
|
| [synapse_auto_compressor](https://github.com/matrix-org/rust-synapse-compress-state/#automated-tool-synapse_auto_compressor) | ❌ | Cli tool that automatically compresses `state_groups` database table in background | [Link](docs/configuring-playbook-synapse-auto-compressor.md) |
|
||||||
| [Matrix Corporal](https://github.com/devture/matrix-corporal) (advanced) | ❌ | Reconciliator and gateway for a managed Matrix server | [Link](docs/configuring-playbook-matrix-corporal.md) |
|
| [Matrix Corporal](https://github.com/devture/matrix-corporal) (advanced) | ❌ | Reconciliator and gateway for a managed Matrix server | [Link](docs/configuring-playbook-matrix-corporal.md) |
|
||||||
|
| [Matrix.to](https://github.com/matrix-org/matrix.to) | ❌ | Simple URL redirection service for the Matrix ecosystem | [Link](docs/configuring-playbook-matrixto.md) |
|
||||||
| [Etherpad](https://etherpad.org) | ❌ | Open source collaborative text editor | [Link](docs/configuring-playbook-etherpad.md) |
|
| [Etherpad](https://etherpad.org) | ❌ | Open source collaborative text editor | [Link](docs/configuring-playbook-etherpad.md) |
|
||||||
| [Jitsi](https://jitsi.org/) | ❌ | Open source video-conferencing platform | [Link](docs/configuring-playbook-jitsi.md) |
|
| [Jitsi](https://jitsi.org/) | ❌ | Open source video-conferencing platform | [Link](docs/configuring-playbook-jitsi.md) |
|
||||||
| [Cactus Comments](https://cactus.chat) | ❌ | Federated comment system built on Matrix | [Link](docs/configuring-playbook-cactus-comments.md) |
|
| [Cactus Comments](https://cactus.chat) | ❌ | Federated comment system built on Matrix | [Link](docs/configuring-playbook-cactus-comments.md) |
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ FluffyChat Web is a cute cross-platform (web, iOS, Android) messenger for Matrix
|
|||||||
|
|
||||||
💡 **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:
|
💡 **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
|
- [fluffychat.im](https://fluffychat.im/web), hosted by the [FluffyChat](https://fluffy.chat/) developers
|
||||||
|
|
||||||
## Adjusting DNS records
|
## Adjusting DNS records
|
||||||
|
|
||||||
|
|||||||
@@ -57,6 +57,10 @@ This section details what you can expect when switching to the Matrix Authentica
|
|||||||
|
|
||||||
- [Reminder bot](configuring-playbook-bot-matrix-reminder-bot.md) seems to be losing some of its state on each restart and may reschedule old reminders once again
|
- [Reminder bot](configuring-playbook-bot-matrix-reminder-bot.md) seems to be losing some of its state on each restart and may reschedule old reminders once again
|
||||||
|
|
||||||
|
- [Postmoogle](./configuring-playbook-bridge-postmoogle.md) works the first time around, but it consistently fails after restarting:
|
||||||
|
|
||||||
|
> cannot initialize matrix bot error="olm account is marked as shared, keys seem to have disappeared from the server"
|
||||||
|
|
||||||
- ❌ **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).
|
- ❌ **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.
|
- ⚠️ [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.
|
||||||
|
|||||||
68
docs/configuring-playbook-matrixto.md
Normal file
68
docs/configuring-playbook-matrixto.md
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
<!--
|
||||||
|
SPDX-FileCopyrightText: 2023 - 2024 Slavi Pantaleev
|
||||||
|
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
|
||||||
|
|
||||||
|
SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
|
-->
|
||||||
|
|
||||||
|
# Setting up Matrix.to (optional)
|
||||||
|
|
||||||
|
The playbook can install and configure the [Matrix.to](https://github.com/matrix-org/matrix.to) URL redirection service for you.
|
||||||
|
|
||||||
|
See the project's [documentation](https://github.com/matrix-org/matrix.to/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 Matrix.to on the `mt.` subdomain (`mt.example.com`) and requires you to create a CNAME record for `mt`, which targets `matrix.example.com`.
|
||||||
|
|
||||||
|
When setting, replace `example.com` with your own.
|
||||||
|
|
||||||
|
## Adjusting the playbook configuration
|
||||||
|
|
||||||
|
To enable Matrix.to, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
matrix_matrixto_enabled: true
|
||||||
|
```
|
||||||
|
|
||||||
|
### Adjusting the Matrix.to URL (optional)
|
||||||
|
|
||||||
|
By tweaking the `matrix_matrixto_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
|
||||||
|
matrix_matrixto_hostname: t.example.com
|
||||||
|
```
|
||||||
|
|
||||||
|
After changing the domain, **you may need to adjust your DNS** records to point the Matrix.to domain to the Matrix server.
|
||||||
|
|
||||||
|
### Extending the configuration
|
||||||
|
|
||||||
|
There are some additional things you may wish to configure about the server.
|
||||||
|
|
||||||
|
Take a look at:
|
||||||
|
|
||||||
|
- `roles/custom/matrix-matrixto/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:
|
||||||
|
|
||||||
|
<!-- NOTE: let this conservative command run (instead of install-all) to make it clear that failure of the command means something is clearly broken. -->
|
||||||
|
```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
|
||||||
|
|
||||||
|
Refer to the project's [documentation](https://github.com/matrix-org/matrix.to/blob/main/README.md) for available parameters, 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-matrixto`.
|
||||||
@@ -51,7 +51,7 @@ matrix_playbook_reverse_proxy_type: other-traefik-container
|
|||||||
# Adjust to point to your Traefik container
|
# Adjust to point to your Traefik container
|
||||||
matrix_playbook_reverse_proxy_hostname: name-of-your-traefik-container
|
matrix_playbook_reverse_proxy_hostname: name-of-your-traefik-container
|
||||||
|
|
||||||
traefik_certs_dumper_ssl_dir_path: "/path/to/your/traefiks/acme.json/directory"
|
traefik_certs_dumper_ssl_path: "/path/to/your/traefiks/acme.json/directory"
|
||||||
|
|
||||||
# Uncomment and adjust the variable below if the name of your federation entrypoint is different
|
# Uncomment and adjust the variable below if the name of your federation entrypoint is different
|
||||||
# than the default value (matrix-federation).
|
# than the default value (matrix-federation).
|
||||||
|
|||||||
@@ -49,6 +49,23 @@ Regardless of the selected authentication method, the playbook generates secrets
|
|||||||
|
|
||||||
If [Jitsi](configuring-playbook-jitsi.md) is installed, note that switching to `lt-cred-mech` will disable the integration between Jitsi and your coturn server, as Jitsi seems to support the `auth-secret` authentication method only.
|
If [Jitsi](configuring-playbook-jitsi.md) is installed, note that switching to `lt-cred-mech` will disable the integration between Jitsi and your coturn server, as Jitsi seems to support the `auth-secret` authentication method only.
|
||||||
|
|
||||||
|
### Customize the Coturn hostname (optional)
|
||||||
|
|
||||||
|
By default, Coturn uses the same hostname as your Matrix homeserver (the value of `matrix_server_fqn_matrix`, which is typically `matrix.example.com`).
|
||||||
|
|
||||||
|
If you'd like to use a custom subdomain for Coturn (e.g., `turn.example.com` or `t.matrix.example.com`), add the following configuration to your `vars.yml` file:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
matrix_coturn_hostname: turn.example.com
|
||||||
|
```
|
||||||
|
|
||||||
|
The playbook will automatically:
|
||||||
|
- Configure Coturn to use this hostname
|
||||||
|
- Obtain an SSL certificate for the custom domain via Traefik
|
||||||
|
- Update all TURN URIs to point to the custom domain
|
||||||
|
|
||||||
|
**Note**: Make sure the custom hostname resolves to your server's IP address via DNS before running the playbook.
|
||||||
|
|
||||||
### Use your own external coturn server (optional)
|
### Use your own external coturn server (optional)
|
||||||
|
|
||||||
If you'd like to use another TURN server (be it coturn or some other one), add the following configuration to your `vars.yml` file. Make sure to replace `HOSTNAME_OR_IP` with your own.
|
If you'd like to use another TURN server (be it coturn or some other one), add the following configuration to your `vars.yml` file. Make sure to replace `HOSTNAME_OR_IP` with your own.
|
||||||
|
|||||||
@@ -247,6 +247,8 @@ Various services that don't fit any other categories.
|
|||||||
|
|
||||||
- [Setting up Matrix Corporal](configuring-playbook-matrix-corporal.md) (advanced)
|
- [Setting up Matrix Corporal](configuring-playbook-matrix-corporal.md) (advanced)
|
||||||
|
|
||||||
|
- [Setting up Matrix.to](configuring-playbook-matrixto.md)
|
||||||
|
|
||||||
- [Setting up Etherpad](configuring-playbook-etherpad.md)
|
- [Setting up Etherpad](configuring-playbook-etherpad.md)
|
||||||
|
|
||||||
- [Setting up the Jitsi video-conferencing platform](configuring-playbook-jitsi.md)
|
- [Setting up the Jitsi video-conferencing platform](configuring-playbook-jitsi.md)
|
||||||
|
|||||||
13
docs/faq.md
13
docs/faq.md
@@ -440,6 +440,19 @@ To prevent double-logging, Docker logging is disabled by explicitly passing `--l
|
|||||||
|
|
||||||
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.
|
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.
|
||||||
|
|
||||||
|
### The server fails to start due to the `Unable to start service matrix-coturn.service` error. Why and how to solve it?
|
||||||
|
|
||||||
|
The error is most likely because Traefik cannot obtain SSL certificates due to certain reasons such as wrong domain name configuration or port 80 being unavailable due to other services.
|
||||||
|
|
||||||
|
If Traefik fails to obtain an SSL certificate for domain names such as `matrix.`, Traefik Certs Dumper cannot extract the SSL certificate out of there, and coturn cannot be started and the error occurs. Refer to these comments for details:
|
||||||
|
|
||||||
|
- <https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3957#issuecomment-2599590441>
|
||||||
|
- <https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/4570#issuecomment-3364111466>
|
||||||
|
|
||||||
|
If you are not sure what the problem is, at first make sure that you have set the "base domain" (`example.com`, **not `matrix.example.com`**) to `matrix_domain`. You should be able to find it at the top of your `vars.yml`.
|
||||||
|
|
||||||
|
If it is correctly specified, look Traefik's logs (`journalctl -fu matrix-traefik.service`) for errors by Let's Encrypt for troubleshooting.
|
||||||
|
|
||||||
## Miscellaneous
|
## Miscellaneous
|
||||||
|
|
||||||
### I would like to see this favorite service of mine integrated and become available on my Matrix server. How can I request it?
|
### I would like to see this favorite service of mine integrated and become available on my Matrix server. How can I request it?
|
||||||
|
|||||||
@@ -112,12 +112,12 @@ matrix_coturn_container_additional_volumes: |
|
|||||||
(
|
(
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
'src': (traefik_certs_dumper_dumped_certificates_dir_path + '/*.' + matrix_domain + '/certificate.crt'),
|
'src': (traefik_certs_dumper_dumped_certificates_path + '/*.' + matrix_domain + '/certificate.crt'),
|
||||||
'dst': '/certificate.crt',
|
'dst': '/certificate.crt',
|
||||||
'options': 'ro',
|
'options': 'ro',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'src': (traefik_certs_dumper_dumped_certificates_dir_path + '/*.' + matrix_domain + '/privatekey.key'),
|
'src': (traefik_certs_dumper_dumped_certificates_path + '/*.' + matrix_domain + '/privatekey.key'),
|
||||||
'dst': '/privatekey.key',
|
'dst': '/privatekey.key',
|
||||||
'options': 'ro',
|
'options': 'ro',
|
||||||
},
|
},
|
||||||
@@ -173,12 +173,12 @@ matrix_coturn_container_additional_volumes: |
|
|||||||
(
|
(
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
'src': (traefik_certs_dumper_dumped_certificates_dir_path + '/*.' + matrix_domain + '/certificate.crt'),
|
'src': (traefik_certs_dumper_dumped_certificates_path + '/*.' + matrix_domain + '/certificate.crt'),
|
||||||
'dst': '/certificate.crt',
|
'dst': '/certificate.crt',
|
||||||
'options': 'ro',
|
'options': 'ro',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'src': (traefik_certs_dumper_dumped_certificates_dir_path + '/*.' + matrix_domain + '/privatekey.key'),
|
'src': (traefik_certs_dumper_dumped_certificates_path + '/*.' + matrix_domain + '/privatekey.key'),
|
||||||
'dst': '/privatekey.key',
|
'dst': '/privatekey.key',
|
||||||
'options': 'ro',
|
'options': 'ro',
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -161,6 +161,6 @@ You can then proceed to run the query above.
|
|||||||
|
|
||||||
### Adding/Removing Administrator privileges to an existing user in Matrix Authentication Service
|
### Adding/Removing Administrator privileges to an existing user in Matrix Authentication Service
|
||||||
|
|
||||||
Promoting/demoting a user in Matrix Authentication Service cannot currently (2024-10-19) be done via the [`mas-cli` Management tool](./configuring-playbook-matrix-authentication-service.md#management).
|
Promoting/demoting a user in Matrix Authentication Service can be done using the [`mas-cli`](./configuring-playbook-matrix-authentication-service.md#management) management tool's [`manage promote-admin`](https://element-hq.github.io/matrix-authentication-service/reference/cli/manage.html#manage-promote-admin) and [`manage demote-admin`](https://element-hq.github.io/matrix-authentication-service/reference/cli/manage.html#manage-demote-admin) commands. For example: `/matrix/matrix-authentication-service/bin/mas-cli manage promote-admin some.username`.
|
||||||
|
|
||||||
You can do it via the [MAS Admin API](https://element-hq.github.io/matrix-authentication-service/api/index.html)'s `POST /api/admin/v1/users/{id}/set-admin` endpoint.
|
You can also do it via the [MAS Admin API](https://element-hq.github.io/matrix-authentication-service/api/index.html)'s `POST /api/admin/v1/users/{id}/set-admin` endpoint.
|
||||||
|
|||||||
@@ -363,6 +363,8 @@ devture_systemd_service_manager_services_list_auto: |
|
|||||||
+
|
+
|
||||||
([{'name': 'matrix-coturn.service', 'priority': (900 if devture_systemd_service_manager_service_restart_mode == 'clean-stop-start' else 1500), 'groups': ['matrix', 'coturn']}] if matrix_coturn_enabled else [])
|
([{'name': 'matrix-coturn.service', 'priority': (900 if devture_systemd_service_manager_service_restart_mode == 'clean-stop-start' else 1500), 'groups': ['matrix', 'coturn']}] if matrix_coturn_enabled else [])
|
||||||
+
|
+
|
||||||
|
([{'name': 'matrix-matrixto.service', 'priority': 4000, 'groups': ['matrix', 'matrixto']}] if matrix_matrixto_enabled else [])
|
||||||
|
+
|
||||||
([{'name': 'matrix-rageshake.service', 'priority': 4000, 'groups': ['matrix', 'rageshake']}] if matrix_rageshake_enabled else [])
|
([{'name': 'matrix-rageshake.service', 'priority': 4000, 'groups': ['matrix', 'rageshake']}] if matrix_rageshake_enabled else [])
|
||||||
+
|
+
|
||||||
([{'name': 'matrix-coturn-reload.timer', 'priority': 5000, 'groups': ['matrix', 'coturn']}] if (matrix_coturn_enabled and matrix_coturn_tls_enabled) else [])
|
([{'name': 'matrix-coturn-reload.timer', 'priority': 5000, 'groups': ['matrix', 'coturn']}] if (matrix_coturn_enabled and matrix_coturn_tls_enabled) else [])
|
||||||
@@ -2240,8 +2242,8 @@ matrix_postmoogle_container_image_self_build: "{{ matrix_architecture not in ['a
|
|||||||
matrix_postmoogle_ssl_path: |-
|
matrix_postmoogle_ssl_path: |-
|
||||||
{{
|
{{
|
||||||
{
|
{
|
||||||
'playbook-managed-traefik': (traefik_certs_dumper_dumped_certificates_dir_path if traefik_certs_dumper_enabled else ''),
|
'playbook-managed-traefik': (traefik_certs_dumper_dumped_certificates_path if traefik_certs_dumper_enabled else ''),
|
||||||
'other-traefik-container': (traefik_certs_dumper_dumped_certificates_dir_path if traefik_certs_dumper_enabled else ''),
|
'other-traefik-container': (traefik_certs_dumper_dumped_certificates_path if traefik_certs_dumper_enabled else ''),
|
||||||
'none': '',
|
'none': '',
|
||||||
}[matrix_playbook_reverse_proxy_type]
|
}[matrix_playbook_reverse_proxy_type]
|
||||||
}}
|
}}
|
||||||
@@ -3077,6 +3079,38 @@ matrix_corporal_matrix_registration_shared_secret: "{{ matrix_synapse_registrati
|
|||||||
#
|
#
|
||||||
######################################################################
|
######################################################################
|
||||||
|
|
||||||
|
######################################################################
|
||||||
|
#
|
||||||
|
# matrix-matrixto
|
||||||
|
#
|
||||||
|
######################################################################
|
||||||
|
|
||||||
|
# We don't enable matrixto by default.
|
||||||
|
matrix_matrixto_enabled: false
|
||||||
|
|
||||||
|
matrix_matrixto_base_path: "{{ matrix_base_data_path }}/matrixto"
|
||||||
|
|
||||||
|
# The container image is not provided at https://github.com/matrix-org/matrix.to
|
||||||
|
matrix_matrixto_container_image_self_build: true
|
||||||
|
|
||||||
|
matrix_matrixto_hostname: "{{ matrix_server_fqn_matrixto }}"
|
||||||
|
|
||||||
|
matrix_matrixto_container_network: matrix-matrixto
|
||||||
|
|
||||||
|
matrix_matrixto_container_additional_networks: "{{ [matrix_playbook_reverse_proxyable_services_additional_network] if matrix_playbook_reverse_proxyable_services_additional_network else [] }}"
|
||||||
|
|
||||||
|
matrix_matrixto_container_http_host_bind_port: "{{ (matrix_playbook_service_host_bind_interface_prefix ~ '5000') if matrix_playbook_service_host_bind_interface_prefix else '' }}"
|
||||||
|
|
||||||
|
matrix_matrixto_container_labels_traefik_enabled: "{{ matrix_playbook_traefik_labels_enabled }}"
|
||||||
|
matrix_matrixto_container_labels_traefik_docker_network: "{{ matrix_playbook_reverse_proxyable_services_additional_network }}"
|
||||||
|
matrix_matrixto_container_labels_traefik_entrypoints: "{{ traefik_entrypoint_primary }}"
|
||||||
|
matrix_matrixto_container_labels_traefik_tls_certResolver: "{{ traefik_certResolver_primary }}"
|
||||||
|
|
||||||
|
######################################################################
|
||||||
|
#
|
||||||
|
# /matrix-matrixto
|
||||||
|
#
|
||||||
|
######################################################################
|
||||||
|
|
||||||
######################################################################
|
######################################################################
|
||||||
#
|
#
|
||||||
@@ -3118,6 +3152,8 @@ matrix_rageshake_container_labels_traefik_tls_certResolver: "{{ traefik_certReso
|
|||||||
|
|
||||||
matrix_coturn_enabled: true
|
matrix_coturn_enabled: true
|
||||||
|
|
||||||
|
matrix_coturn_hostname: "{{ matrix_server_fqn_matrix }}"
|
||||||
|
|
||||||
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_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'] }}"
|
matrix_coturn_container_image_self_build: "{{ matrix_architecture not in ['amd64', 'arm32', 'arm64'] }}"
|
||||||
@@ -3157,12 +3193,12 @@ matrix_coturn_container_additional_volumes: |
|
|||||||
(
|
(
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
'src': (traefik_certs_dumper_dumped_certificates_dir_path + '/' + matrix_server_fqn_matrix + '/certificate.crt'),
|
'src': (traefik_certs_dumper_dumped_certificates_path + '/' + matrix_coturn_hostname + '/certificate.crt'),
|
||||||
'dst': '/certificate.crt',
|
'dst': '/certificate.crt',
|
||||||
'options': 'ro',
|
'options': 'ro',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'src': (traefik_certs_dumper_dumped_certificates_dir_path + '/' + matrix_server_fqn_matrix + '/privatekey.key'),
|
'src': (traefik_certs_dumper_dumped_certificates_path + '/' + matrix_coturn_hostname + '/privatekey.key'),
|
||||||
'dst': '/privatekey.key',
|
'dst': '/privatekey.key',
|
||||||
'options': 'ro',
|
'options': 'ro',
|
||||||
},
|
},
|
||||||
@@ -3172,7 +3208,7 @@ matrix_coturn_container_additional_volumes: |
|
|||||||
|
|
||||||
matrix_coturn_systemd_required_services_list_auto: |
|
matrix_coturn_systemd_required_services_list_auto: |
|
||||||
{{
|
{{
|
||||||
([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 [])
|
([traefik_certs_dumper_identifier + '-wait-for-domain@' + matrix_coturn_hostname + '.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 [])
|
||||||
}}
|
}}
|
||||||
|
|
||||||
######################################################################
|
######################################################################
|
||||||
@@ -3612,6 +3648,8 @@ matrix_media_repo_container_additional_networks: |
|
|||||||
([postgres_container_network] if (postgres_enabled and matrix_media_repo_database_hostname == postgres_connection_hostname and postgres_container_network != matrix_media_repo_container_network) else [])
|
([postgres_container_network] if (postgres_enabled and matrix_media_repo_database_hostname == postgres_connection_hostname and postgres_container_network != matrix_media_repo_container_network) else [])
|
||||||
+
|
+
|
||||||
([matrix_playbook_reverse_proxyable_services_additional_network] if (matrix_playbook_reverse_proxyable_services_additional_network and matrix_media_repo_container_labels_traefik_enabled) else [])
|
([matrix_playbook_reverse_proxyable_services_additional_network] if (matrix_playbook_reverse_proxyable_services_additional_network and matrix_media_repo_container_labels_traefik_enabled) else [])
|
||||||
|
+
|
||||||
|
([valkey_container_network] if valkey_enabled and matrix_media_repo_redis_enabled else [])
|
||||||
) | unique
|
) | unique
|
||||||
}}
|
}}
|
||||||
|
|
||||||
@@ -3677,6 +3715,21 @@ matrix_media_repo_homeservers_auto:
|
|||||||
|
|
||||||
matrix_media_repo_homeserver_federation_enabled: "{{ matrix_homeserver_federation_enabled }}"
|
matrix_media_repo_homeserver_federation_enabled: "{{ matrix_homeserver_federation_enabled }}"
|
||||||
|
|
||||||
|
matrix_media_repo_redis_enabled: "{{ valkey_enabled }}"
|
||||||
|
|
||||||
|
# Use next redis index since Synapse is on 0. You can chose between index 0 and 15.
|
||||||
|
matrix_media_repo_redis_database_number: 1
|
||||||
|
|
||||||
|
matrix_media_repo_redis_shards: |
|
||||||
|
{{
|
||||||
|
([{
|
||||||
|
'name': 'valkey',
|
||||||
|
'addr': (valkey_identifier + ':' + valkey_container_http_port | string),
|
||||||
|
}])
|
||||||
|
if valkey_enabled and matrix_media_repo_redis_enabled
|
||||||
|
else []
|
||||||
|
}}
|
||||||
|
|
||||||
######################################################################
|
######################################################################
|
||||||
#
|
#
|
||||||
# /matrix-media-repo
|
# /matrix-media-repo
|
||||||
@@ -5825,6 +5878,11 @@ traefik_systemd_required_services_list: |
|
|||||||
([container_socket_proxy_identifier + '.service'] if container_socket_proxy_enabled else [])
|
([container_socket_proxy_identifier + '.service'] if container_socket_proxy_enabled else [])
|
||||||
}}
|
}}
|
||||||
|
|
||||||
|
traefik_additional_domains_to_obtain_certificates_for_auto: |
|
||||||
|
{{
|
||||||
|
([matrix_coturn_hostname] if (matrix_coturn_enabled and matrix_coturn_tls_enabled and matrix_coturn_hostname != matrix_server_fqn_matrix) else [])
|
||||||
|
}}
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
# #
|
# #
|
||||||
# /traefik #
|
# /traefik #
|
||||||
@@ -5847,7 +5905,7 @@ traefik_certs_dumper_base_path: "{{ matrix_base_data_path }}/traefik-certs-dumpe
|
|||||||
traefik_certs_dumper_uid: "{{ matrix_user_uid }}"
|
traefik_certs_dumper_uid: "{{ matrix_user_uid }}"
|
||||||
traefik_certs_dumper_gid: "{{ matrix_user_gid }}"
|
traefik_certs_dumper_gid: "{{ matrix_user_gid }}"
|
||||||
|
|
||||||
traefik_certs_dumper_ssl_dir_path: "{{ traefik_ssl_dir_path if traefik_enabled else '' }}"
|
traefik_certs_dumper_ssl_path: "{{ traefik_ssl_dir_path if traefik_enabled else '' }}"
|
||||||
|
|
||||||
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 }}"
|
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 }}"
|
||||||
|
|
||||||
@@ -5956,12 +6014,12 @@ livekit_server_container_additional_volumes_auto: |
|
|||||||
(
|
(
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
'src': (traefik_certs_dumper_dumped_certificates_dir_path + '/' + livekit_server_config_turn_domain + '/certificate.crt'),
|
'src': (traefik_certs_dumper_dumped_certificates_path + '/' + livekit_server_config_turn_domain + '/certificate.crt'),
|
||||||
'dst': livekit_server_config_turn_cert_file,
|
'dst': livekit_server_config_turn_cert_file,
|
||||||
'options': 'ro',
|
'options': 'ro',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'src': (traefik_certs_dumper_dumped_certificates_dir_path + '/' + livekit_server_config_turn_domain + '/privatekey.key'),
|
'src': (traefik_certs_dumper_dumped_certificates_path + '/' + livekit_server_config_turn_domain + '/privatekey.key'),
|
||||||
'dst': livekit_server_config_turn_key_file,
|
'dst': livekit_server_config_turn_key_file,
|
||||||
'options': 'ro',
|
'options': 'ro',
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
alabaster==1.0.0
|
alabaster==1.0.0
|
||||||
babel==2.17.0
|
babel==2.17.0
|
||||||
certifi==2025.11.12
|
certifi==2026.1.4
|
||||||
charset-normalizer==3.4.4
|
charset-normalizer==3.4.4
|
||||||
click==8.3.1
|
click==8.3.1
|
||||||
docutils==0.22.3
|
docutils==0.22.4
|
||||||
idna==3.11
|
idna==3.11
|
||||||
imagesize==1.4.1
|
imagesize==1.4.1
|
||||||
Jinja2==3.1.6
|
Jinja2==3.1.6
|
||||||
@@ -12,16 +12,16 @@ markdown-it-py==4.0.0
|
|||||||
MarkupSafe==3.0.3
|
MarkupSafe==3.0.3
|
||||||
mdit-py-plugins==0.5.0
|
mdit-py-plugins==0.5.0
|
||||||
mdurl==0.1.2
|
mdurl==0.1.2
|
||||||
myst-parser==4.0.1
|
myst-parser==5.0.0
|
||||||
packaging==25.0
|
packaging==26.0
|
||||||
Pygments==2.19.2
|
Pygments==2.19.2
|
||||||
PyYAML==6.0.3
|
PyYAML==6.0.3
|
||||||
requests==2.32.5
|
requests==2.32.5
|
||||||
setuptools==80.9.0
|
setuptools==80.10.2
|
||||||
snowballstemmer==3.0.1
|
snowballstemmer==3.0.1
|
||||||
Sphinx==8.2.3
|
Sphinx==9.1.0
|
||||||
sphinx-intl==2.3.2
|
sphinx-intl==2.3.2
|
||||||
sphinx-markdown-builder==0.6.8
|
sphinx-markdown-builder==0.6.9
|
||||||
sphinxcontrib-applehelp==2.0.0
|
sphinxcontrib-applehelp==2.0.0
|
||||||
sphinxcontrib-devhelp==2.0.0
|
sphinxcontrib-devhelp==2.0.0
|
||||||
sphinxcontrib-htmlhelp==2.1.0
|
sphinxcontrib-htmlhelp==2.1.0
|
||||||
@@ -30,4 +30,4 @@ sphinxcontrib-qthelp==2.0.0
|
|||||||
sphinxcontrib-serializinghtml==2.0.0
|
sphinxcontrib-serializinghtml==2.0.0
|
||||||
tabulate==0.9.0
|
tabulate==0.9.0
|
||||||
uc-micro-py==1.0.3
|
uc-micro-py==1.0.3
|
||||||
urllib3==2.5.0
|
urllib3==2.6.3
|
||||||
|
|||||||
@@ -1,61 +1,61 @@
|
|||||||
---
|
---
|
||||||
|
|
||||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-aux.git
|
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-aux.git
|
||||||
version: v1.0.0-5
|
version: v1.0.0-6
|
||||||
name: auxiliary
|
name: auxiliary
|
||||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg.git
|
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg.git
|
||||||
version: v1.4.2-2.0.11-1
|
version: v1.4.3-2.0.13-0
|
||||||
name: backup_borg
|
name: backup_borg
|
||||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-container-socket-proxy.git
|
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-container-socket-proxy.git
|
||||||
version: v0.4.1-2
|
version: v0.4.2-1
|
||||||
name: container_socket_proxy
|
name: container_socket_proxy
|
||||||
- src: git+https://github.com/geerlingguy/ansible-role-docker
|
- src: git+https://github.com/geerlingguy/ansible-role-docker
|
||||||
version: 7.8.0
|
version: 8.0.0
|
||||||
name: docker
|
name: docker
|
||||||
- src: git+https://github.com/devture/com.devture.ansible.role.docker_sdk_for_python.git
|
- src: git+https://github.com/devture/com.devture.ansible.role.docker_sdk_for_python.git
|
||||||
version: 129c8590e106b83e6f4c259649a613c6279e937a
|
version: 542a2d68db4e9a8e9bb4b508052760b900c7dce6
|
||||||
name: docker_sdk_for_python
|
name: docker_sdk_for_python
|
||||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-etherpad.git
|
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-etherpad.git
|
||||||
version: v2.5.2-2
|
version: v2.6.1-0
|
||||||
name: etherpad
|
name: etherpad
|
||||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay.git
|
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay.git
|
||||||
version: v4.98.1-r0-2-2
|
version: v4.98.1-r0-2-2
|
||||||
name: exim_relay
|
name: exim_relay
|
||||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-grafana.git
|
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-grafana.git
|
||||||
version: v11.6.5-4
|
version: v11.6.5-6
|
||||||
name: grafana
|
name: grafana
|
||||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-jitsi.git
|
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-jitsi.git
|
||||||
version: v10590-0
|
version: v10710-0
|
||||||
name: jitsi
|
name: jitsi
|
||||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-livekit-server.git
|
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-livekit-server.git
|
||||||
version: v1.9.4-0
|
version: v1.9.11-0
|
||||||
name: livekit_server
|
name: livekit_server
|
||||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-ntfy.git
|
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-ntfy.git
|
||||||
version: v2.15.0-0
|
version: v2.16.0-0
|
||||||
name: ntfy
|
name: ntfy
|
||||||
- src: git+https://github.com/devture/com.devture.ansible.role.playbook_help.git
|
- src: git+https://github.com/devture/com.devture.ansible.role.playbook_help.git
|
||||||
version: 7663e3114513e56f28d3ed762059b445c678a71a
|
version: 8630e4f1749bcb659c412820f754473f09055052
|
||||||
name: playbook_help
|
name: playbook_help
|
||||||
- src: git+https://github.com/devture/com.devture.ansible.role.playbook_runtime_messages.git
|
- src: git+https://github.com/devture/com.devture.ansible.role.playbook_runtime_messages.git
|
||||||
version: 9b4b088c62b528b73a9a7c93d3109b091dd42ec6
|
version: 9b4b088c62b528b73a9a7c93d3109b091dd42ec6
|
||||||
name: playbook_runtime_messages
|
name: playbook_runtime_messages
|
||||||
- src: git+https://github.com/devture/com.devture.ansible.role.playbook_state_preserver.git
|
- src: git+https://github.com/devture/com.devture.ansible.role.playbook_state_preserver.git
|
||||||
version: ff2fd42e1c1a9e28e3312bbd725395f9c2fc7f16
|
version: dd6e15246b7a9a2d921e0b3f9cd8a4a917a1bb2f
|
||||||
name: playbook_state_preserver
|
name: playbook_state_preserver
|
||||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-postgres.git
|
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-postgres.git
|
||||||
version: v18.1-0
|
version: v18.1-3
|
||||||
name: postgres
|
name: postgres
|
||||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-postgres-backup.git
|
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-postgres-backup.git
|
||||||
version: v18-0
|
version: v18-0
|
||||||
name: postgres_backup
|
name: postgres_backup
|
||||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus.git
|
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus.git
|
||||||
version: v3.7.3-1
|
version: v3.9.1-0
|
||||||
name: prometheus
|
name: prometheus
|
||||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-node-exporter.git
|
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-node-exporter.git
|
||||||
version: v1.9.1-12
|
version: v1.9.1-13
|
||||||
name: prometheus_node_exporter
|
name: prometheus_node_exporter
|
||||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-postgres-exporter.git
|
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-postgres-exporter.git
|
||||||
version: v0.18.1-1
|
version: v0.18.1-2
|
||||||
name: prometheus_postgres_exporter
|
name: prometheus_postgres_exporter
|
||||||
- src: git+https://github.com/devture/com.devture.ansible.role.systemd_docker_base.git
|
- src: git+https://github.com/devture/com.devture.ansible.role.systemd_docker_base.git
|
||||||
version: v1.4.1-0
|
version: v1.4.1-0
|
||||||
@@ -64,14 +64,14 @@
|
|||||||
version: v1.0.0-4
|
version: v1.0.0-4
|
||||||
name: systemd_service_manager
|
name: systemd_service_manager
|
||||||
- src: git+https://github.com/devture/com.devture.ansible.role.timesync.git
|
- src: git+https://github.com/devture/com.devture.ansible.role.timesync.git
|
||||||
version: v1.1.0-0
|
version: v1.1.0-1
|
||||||
name: timesync
|
name: timesync
|
||||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-traefik.git
|
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-traefik.git
|
||||||
version: v3.6.1-0
|
version: v3.6.7-1
|
||||||
name: traefik
|
name: traefik
|
||||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-traefik-certs-dumper.git
|
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-traefik-certs-dumper.git
|
||||||
version: v2.10.0-2
|
version: v2.10.0-4
|
||||||
name: traefik_certs_dumper
|
name: traefik_certs_dumper
|
||||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-valkey.git
|
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-valkey.git
|
||||||
version: v9-0
|
version: v9.0.1-0
|
||||||
name: valkey
|
name: valkey
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
matrix_alertmanager_receiver_enabled: true
|
matrix_alertmanager_receiver_enabled: true
|
||||||
|
|
||||||
# renovate: datasource=docker depName=docker.io/metio/matrix-alertmanager-receiver
|
# renovate: datasource=docker depName=docker.io/metio/matrix-alertmanager-receiver
|
||||||
matrix_alertmanager_receiver_version: 2025.11.12
|
matrix_alertmanager_receiver_version: 2026.1.21
|
||||||
|
|
||||||
matrix_alertmanager_receiver_scheme: https
|
matrix_alertmanager_receiver_scheme: https
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
matrix_appservice_draupnir_for_all_enabled: true
|
matrix_appservice_draupnir_for_all_enabled: true
|
||||||
|
|
||||||
# renovate: datasource=docker depName=gnuxie/draupnir
|
# renovate: datasource=docker depName=gnuxie/draupnir
|
||||||
matrix_appservice_draupnir_for_all_version: "v2.7.1"
|
matrix_appservice_draupnir_for_all_version: "v2.9.0"
|
||||||
|
|
||||||
matrix_appservice_draupnir_for_all_container_image_self_build: false
|
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_container_image_self_build_repo: "https://github.com/the-draupnir-project/Draupnir.git"
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
with_items:
|
with_items:
|
||||||
- "matrix_appservice_draupnir_for_all_config_adminRoom"
|
- "matrix_appservice_draupnir_for_all_config_adminRoom"
|
||||||
- "matrix_bot_draupnir_container_network"
|
- "matrix_bot_draupnir_container_network"
|
||||||
when: "vars[item] == '' or vars[item] is none"
|
when: "lookup('vars', item, default='') == '' or lookup('vars', item, default='') is none"
|
||||||
|
|
||||||
- name: (Deprecation) Catch and report renamed matrix-appservice-draupnir-for-all settings
|
- name: (Deprecation) Catch and report renamed matrix-appservice-draupnir-for-all settings
|
||||||
ansible.builtin.fail:
|
ansible.builtin.fail:
|
||||||
|
|||||||
@@ -22,7 +22,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"
|
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
|
# renovate: datasource=docker depName=ghcr.io/element-hq/matrix-authentication-service
|
||||||
matrix_authentication_service_version: 1.6.0
|
matrix_authentication_service_version: 1.9.0
|
||||||
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: "{{ '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: "{{ 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_registry_prefix_upstream_default: "ghcr.io/"
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
ansible.builtin.fail:
|
ansible.builtin.fail:
|
||||||
msg: >-
|
msg: >-
|
||||||
You need to define a required configuration setting (`{{ item.name }}`).
|
You need to define a required configuration setting (`{{ item.name }}`).
|
||||||
when: "item.when | bool and vars[item.name] | string | length == 0"
|
when: "item.when | bool and lookup('vars', item.name, default='') | string | length == 0"
|
||||||
with_items:
|
with_items:
|
||||||
- {'name': 'matrix_authentication_service_syn2mas_synapse_homeserver_config_path', when: true}
|
- {'name': 'matrix_authentication_service_syn2mas_synapse_homeserver_config_path', when: true}
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
ansible.builtin.fail:
|
ansible.builtin.fail:
|
||||||
msg: >-
|
msg: >-
|
||||||
You need to define a required configuration setting (`{{ item.name }}`).
|
You need to define a required configuration setting (`{{ item.name }}`).
|
||||||
when: "item.when | bool and vars[item.name] | string | length == 0"
|
when: "item.when | bool and lookup('vars', item.name, default='') | string | length == 0"
|
||||||
with_items:
|
with_items:
|
||||||
- {'name': 'matrix_authentication_service_hostname', when: true}
|
- {'name': 'matrix_authentication_service_hostname', when: true}
|
||||||
- {'name': 'matrix_authentication_service_config_database_username', when: true}
|
- {'name': 'matrix_authentication_service_config_database_username', when: true}
|
||||||
|
|||||||
@@ -148,6 +148,9 @@ matrix_server_fqn_ntfy: "ntfy.{{ matrix_domain }}"
|
|||||||
# This is where you access rageshake.
|
# This is where you access rageshake.
|
||||||
matrix_server_fqn_rageshake: "rageshake.{{ matrix_domain }}"
|
matrix_server_fqn_rageshake: "rageshake.{{ matrix_domain }}"
|
||||||
|
|
||||||
|
# This is where you access Matrix.to.
|
||||||
|
matrix_server_fqn_matrixto: "mt.{{ matrix_domain }}"
|
||||||
|
|
||||||
matrix_federation_public_port: 8448
|
matrix_federation_public_port: 8448
|
||||||
|
|
||||||
# The name of the Traefik entrypoint for handling Matrix Federation
|
# The name of the Traefik entrypoint for handling Matrix Federation
|
||||||
@@ -270,7 +273,7 @@ matrix_metrics_exposure_http_basic_auth_users: ''
|
|||||||
# - nevertheless, the playbook expects that you would install Traefik yourself via other means
|
# - nevertheless, the playbook expects that you would install Traefik yourself via other means
|
||||||
# - you should make sure your Traefik configuration is compatible with what the playbook would have configured (web, web-secure, matrix-federation entrypoints, etc.)
|
# - you should make sure your Traefik configuration is compatible with what the playbook would have configured (web, web-secure, matrix-federation entrypoints, etc.)
|
||||||
# - you need to set `matrix_playbook_reverse_proxyable_services_additional_network` to the name of your Traefik network
|
# - you need to set `matrix_playbook_reverse_proxyable_services_additional_network` to the name of your Traefik network
|
||||||
# - Traefik certs dumper will be enabled by default (`traefik_certs_dumper_enabled`). You need to point it to your Traefik's SSL certificates (`traefik_certs_dumper_ssl_dir_path`)
|
# - Traefik certs dumper will be enabled by default (`traefik_certs_dumper_enabled`). You need to point it to your Traefik's SSL certificates (`traefik_certs_dumper_ssl_path`)
|
||||||
#
|
#
|
||||||
# - `none`
|
# - `none`
|
||||||
# - no reverse-proxy will be installed
|
# - no reverse-proxy will be installed
|
||||||
@@ -388,7 +391,8 @@ matrix_playbook_internal_matrix_client_api_traefik_entrypoint_enabled: "{{ matri
|
|||||||
matrix_playbook_internal_matrix_client_api_traefik_entrypoint_name: matrix-internal-matrix-client-api
|
matrix_playbook_internal_matrix_client_api_traefik_entrypoint_name: matrix-internal-matrix-client-api
|
||||||
matrix_playbook_internal_matrix_client_api_traefik_entrypoint_port: 8008
|
matrix_playbook_internal_matrix_client_api_traefik_entrypoint_port: 8008
|
||||||
matrix_playbook_internal_matrix_client_api_traefik_entrypoint_host_bind_port: ''
|
matrix_playbook_internal_matrix_client_api_traefik_entrypoint_host_bind_port: ''
|
||||||
matrix_playbook_internal_matrix_client_api_traefik_entrypoint_config: "{{ matrix_playbook_internal_matrix_client_api_traefik_entrypoint_config_auto | combine(matrix_playbook_internal_matrix_client_api_traefik_entrypoint_config_custom, recursive=True) }}"
|
matrix_playbook_internal_matrix_client_api_traefik_entrypoint_config: "{{ (matrix_playbook_internal_matrix_client_api_traefik_entrypoint_config_default | combine(matrix_playbook_internal_matrix_client_api_traefik_entrypoint_config_auto)) | combine(matrix_playbook_internal_matrix_client_api_traefik_entrypoint_config_custom, recursive=True) }}"
|
||||||
|
matrix_playbook_internal_matrix_client_api_traefik_entrypoint_config_default: {}
|
||||||
matrix_playbook_internal_matrix_client_api_traefik_entrypoint_config_auto: {}
|
matrix_playbook_internal_matrix_client_api_traefik_entrypoint_config_auto: {}
|
||||||
matrix_playbook_internal_matrix_client_api_traefik_entrypoint_config_custom: {}
|
matrix_playbook_internal_matrix_client_api_traefik_entrypoint_config_custom: {}
|
||||||
|
|
||||||
|
|||||||
@@ -36,6 +36,11 @@
|
|||||||
- {'old': 'matrix_container_global_registry_prefix', 'new': '<no global variable anymore; you need to override the `_registry_prefix` variable in each component separately>'}
|
- {'old': 'matrix_container_global_registry_prefix', 'new': '<no global variable anymore; you need to override the `_registry_prefix` variable in each component separately>'}
|
||||||
- {'old': 'matrix_user_username', 'new': 'matrix_user_name'}
|
- {'old': 'matrix_user_username', 'new': 'matrix_user_name'}
|
||||||
- {'old': 'matrix_user_groupname', 'new': 'matrix_group_name'}
|
- {'old': 'matrix_user_groupname', 'new': 'matrix_group_name'}
|
||||||
|
- {'old': 'matrix_playbook_public_matrix_federation_api_traefik_entrypoint_config_http_encodedCharacters_allowEncodedSlash', 'new': '<removed>'}
|
||||||
|
- {'old': 'matrix_playbook_public_matrix_federation_api_traefik_entrypoint_config_http_encodedCharacters_allowEncodedHash', 'new': '<removed>'}
|
||||||
|
- {'old': 'matrix_playbook_internal_matrix_client_api_traefik_entrypoint_config_http_encodedCharacters_allowEncodedSlash', 'new': '<removed>'}
|
||||||
|
- {'old': 'matrix_playbook_internal_matrix_client_api_traefik_entrypoint_config_http_encodedCharacters_allowEncodedHash', 'new': '<removed>'}
|
||||||
|
|
||||||
|
|
||||||
# We have a dedicated check for this variable, because we'd like to have a custom (friendlier) message.
|
# 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
|
- name: Fail if matrix_homeserver_generic_secret_key is undefined
|
||||||
|
|||||||
@@ -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"
|
matrix_bot_baibot_container_src_files_path: "{{ matrix_base_data_path }}/baibot/container-src"
|
||||||
|
|
||||||
# renovate: datasource=docker depName=ghcr.io/etkecc/baibot
|
# renovate: datasource=docker depName=ghcr.io/etkecc/baibot
|
||||||
matrix_bot_baibot_version: v1.8.1
|
matrix_bot_baibot_version: v1.13.0
|
||||||
matrix_bot_baibot_container_image: "{{ matrix_bot_baibot_container_image_registry_prefix }}etkecc/baibot:{{ matrix_bot_baibot_version }}"
|
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: "{{ '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: "{{ matrix_bot_baibot_container_image_registry_prefix_upstream_default }}"
|
||||||
@@ -70,6 +70,23 @@ matrix_bot_baibot_config_user_password: ''
|
|||||||
# Also see: `matrix_bot_baibot_config_user_mxid_localpart`
|
# Also see: `matrix_bot_baibot_config_user_mxid_localpart`
|
||||||
matrix_bot_baibot_config_user_name: baibot
|
matrix_bot_baibot_config_user_name: baibot
|
||||||
|
|
||||||
|
# Controls the `user.avatar` configuration setting.
|
||||||
|
#
|
||||||
|
# An optional path to an image file to be used as a custom avatar image.
|
||||||
|
# This path should be an in-container path (e.g., `/data/avatar.png`).
|
||||||
|
# Any type of content type is supported, but stick to common image formats (PNG, JPG, ..) for better compatibility with various Matrix clients.
|
||||||
|
#
|
||||||
|
# To use a custom avatar:
|
||||||
|
# - Use the auxiliary role (`aux_` variables) to upload your avatar file to the server (e.g. to {{ matrix_bot_baibot_data_path }}/avatar.png on the host),
|
||||||
|
# or do it any other way (without Ansible) you prefer
|
||||||
|
# - Set this variable to something like `/data/avatar.png` (the in-container path)
|
||||||
|
#
|
||||||
|
# Possible values:
|
||||||
|
# - null or empty string: use the default baibot avatar
|
||||||
|
# - "keep": don't touch the avatar, keep whatever is already set (useful if you manage the avatar via other means)
|
||||||
|
# - any other value: path to a custom avatar image file (must be an in-container path like `/data/avatar.png`)
|
||||||
|
matrix_bot_baibot_config_user_avatar: null
|
||||||
|
|
||||||
# Controls the `user.encryption.recovery_passphrase` configuration setting.
|
# Controls the `user.encryption.recovery_passphrase` configuration setting.
|
||||||
#
|
#
|
||||||
# An optional passphrase to use for backing up and recovering the bot's encryption keys.
|
# An optional passphrase to use for backing up and recovering the bot's encryption keys.
|
||||||
@@ -368,7 +385,7 @@ matrix_bot_baibot_config_agents_static_definitions_openai_config_api_key: ""
|
|||||||
|
|
||||||
matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_enabled: true
|
matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_enabled: true
|
||||||
# For valid model choices, see: https://platform.openai.com/docs/models
|
# For valid model choices, see: https://platform.openai.com/docs/models
|
||||||
matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_model_id: gpt-5.1
|
matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_model_id: gpt-5.2
|
||||||
# The prompt text to use (can be null or empty to not use a prompt).
|
# The prompt text to use (can be null or empty to not use a prompt).
|
||||||
# See: https://huggingface.co/docs/transformers/en/tasks/prompting
|
# See: https://huggingface.co/docs/transformers/en/tasks/prompting
|
||||||
matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_prompt: "{{ matrix_bot_baibot_config_agents_static_definitions_prompt }}"
|
matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_prompt: "{{ matrix_bot_baibot_config_agents_static_definitions_prompt }}"
|
||||||
@@ -389,7 +406,7 @@ matrix_bot_baibot_config_agents_static_definitions_openai_config_text_to_speech_
|
|||||||
matrix_bot_baibot_config_agents_static_definitions_openai_config_text_to_speech_response_format: opus
|
matrix_bot_baibot_config_agents_static_definitions_openai_config_text_to_speech_response_format: opus
|
||||||
|
|
||||||
matrix_bot_baibot_config_agents_static_definitions_openai_config_image_generation_enabled: true
|
matrix_bot_baibot_config_agents_static_definitions_openai_config_image_generation_enabled: true
|
||||||
matrix_bot_baibot_config_agents_static_definitions_openai_config_image_generation_model_id: gpt-image-1
|
matrix_bot_baibot_config_agents_static_definitions_openai_config_image_generation_model_id: gpt-image-1.5
|
||||||
matrix_bot_baibot_config_agents_static_definitions_openai_config_image_generation_style: null
|
matrix_bot_baibot_config_agents_static_definitions_openai_config_image_generation_style: null
|
||||||
matrix_bot_baibot_config_agents_static_definitions_openai_config_image_generation_size: null
|
matrix_bot_baibot_config_agents_static_definitions_openai_config_image_generation_size: null
|
||||||
matrix_bot_baibot_config_agents_static_definitions_openai_config_image_generation_quality: null
|
matrix_bot_baibot_config_agents_static_definitions_openai_config_image_generation_quality: null
|
||||||
|
|||||||
@@ -21,6 +21,12 @@ user:
|
|||||||
# Leave empty to use the default (baibot).
|
# Leave empty to use the default (baibot).
|
||||||
name: {{ matrix_bot_baibot_config_user_name | to_json }}
|
name: {{ matrix_bot_baibot_config_user_name | to_json }}
|
||||||
|
|
||||||
|
# An optional path to an image file to be used as a custom avatar image.
|
||||||
|
# - null or empty string: use the default avatar
|
||||||
|
# - "keep": don't touch the avatar, keep whatever is already set
|
||||||
|
# - any other value: path to a custom avatar image file
|
||||||
|
avatar: {{ matrix_bot_baibot_config_user_avatar | to_json }}
|
||||||
|
|
||||||
encryption:
|
encryption:
|
||||||
# An optional passphrase to use for backing up and recovering the bot's encryption keys.
|
# An optional passphrase to use for backing up and recovering the bot's encryption keys.
|
||||||
# You can use any string here.
|
# You can use any string here.
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
matrix_bot_draupnir_enabled: true
|
matrix_bot_draupnir_enabled: true
|
||||||
|
|
||||||
# renovate: datasource=docker depName=gnuxie/draupnir
|
# renovate: datasource=docker depName=gnuxie/draupnir
|
||||||
matrix_bot_draupnir_version: "v2.7.1"
|
matrix_bot_draupnir_version: "v2.9.0"
|
||||||
|
|
||||||
matrix_bot_draupnir_container_image_self_build: false
|
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_container_image_self_build_repo: "https://github.com/the-draupnir-project/Draupnir.git"
|
||||||
@@ -101,7 +101,7 @@ matrix_bot_draupnir_password: "{{ matrix_bot_draupnir_pantalaimon_password }}"
|
|||||||
# Controls if we activate the config block for Pantalaimon for now. Its name will
|
# 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.
|
# probably be changed for our usecase due to Draupnir's push to scrub Pantalaimon from the codebase.
|
||||||
# This configuration option does not follow the common naming schema as its not controlling a config key directly.
|
# This configuration option does not follow the common naming schema as its not controlling a config key directly.
|
||||||
matrix_bot_draupnir_login_native: ""
|
matrix_bot_draupnir_login_native: false
|
||||||
|
|
||||||
# The room ID where people can use the bot. The bot has no access controls, so
|
# The room ID where people can use the bot. The bot has no access controls, so
|
||||||
# anyone in this room can use the bot - secure your room!
|
# anyone in this room can use the bot - secure your room!
|
||||||
|
|||||||
@@ -44,7 +44,7 @@
|
|||||||
- {'name': 'matrix_bot_draupnir_config_rawHomeserverUrl', when: true}
|
- {'name': 'matrix_bot_draupnir_config_rawHomeserverUrl', when: true}
|
||||||
- {'name': 'matrix_bot_draupnir_pantalaimon_username', when: "{{ matrix_bot_draupnir_pantalaimon_use }}"}
|
- {'name': 'matrix_bot_draupnir_pantalaimon_username', when: "{{ matrix_bot_draupnir_pantalaimon_use }}"}
|
||||||
- {'name': 'matrix_bot_draupnir_pantalaimon_password', when: "{{ matrix_bot_draupnir_pantalaimon_use }}"}
|
- {'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)"
|
when: "item.when | bool and (lookup('vars', item.name, default='') == '' or lookup('vars', item.name, default='') is none)"
|
||||||
|
|
||||||
- name: Fail if Draupnir room hijacking enabled without enabling the Synapse Admin API
|
- name: Fail if Draupnir room hijacking enabled without enabling the Synapse Admin API
|
||||||
ansible.builtin.fail:
|
ansible.builtin.fail:
|
||||||
@@ -57,7 +57,7 @@
|
|||||||
with_items:
|
with_items:
|
||||||
- {'name': 'matrix_bot_draupnir_config_accessToken', when: "{{ matrix_bot_draupnir_pantalaimon_use }}"}
|
- {'name': 'matrix_bot_draupnir_config_accessToken', when: "{{ matrix_bot_draupnir_pantalaimon_use }}"}
|
||||||
- {'name': 'matrix_bot_draupnir_config_accessToken', when: "{{ matrix_bot_draupnir_login_native }}"}
|
- {'name': 'matrix_bot_draupnir_config_accessToken', when: "{{ matrix_bot_draupnir_login_native }}"}
|
||||||
when: "item.when | bool and not (vars[item.name] == '' or vars[item.name] is none)"
|
when: "item.when | bool and not (lookup('vars', item.name, default='') == '' or lookup('vars', item.name, default='') is none)"
|
||||||
|
|
||||||
- name: Fail when matrix_bot_draupnir_config_experimentalRustCrypto is enabled together with matrix_bot_draupnir_pantalaimon_use
|
- name: Fail when matrix_bot_draupnir_config_experimentalRustCrypto is enabled together with matrix_bot_draupnir_pantalaimon_use
|
||||||
ansible.builtin.fail:
|
ansible.builtin.fail:
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
ansible.builtin.fail:
|
ansible.builtin.fail:
|
||||||
msg: >-
|
msg: >-
|
||||||
You need to define a required configuration setting (`{{ item }}`).
|
You need to define a required configuration setting (`{{ item }}`).
|
||||||
when: "vars[item] == ''"
|
when: "lookup('vars', item, default='') == ''"
|
||||||
with_items:
|
with_items:
|
||||||
- "matrix_bot_matrix_registration_bot_bot_password"
|
- "matrix_bot_matrix_registration_bot_bot_password"
|
||||||
- "matrix_bot_matrix_registration_bot_api_base_url"
|
- "matrix_bot_matrix_registration_bot_api_base_url"
|
||||||
|
|||||||
@@ -18,14 +18,14 @@
|
|||||||
- {'name': 'matrix_bot_mjolnir_raw_homeserver_url', when: true}
|
- {'name': 'matrix_bot_mjolnir_raw_homeserver_url', when: true}
|
||||||
- {'name': 'matrix_bot_mjolnir_pantalaimon_username', when: "{{ matrix_bot_mjolnir_pantalaimon_use }}"}
|
- {'name': 'matrix_bot_mjolnir_pantalaimon_username', when: "{{ matrix_bot_mjolnir_pantalaimon_use }}"}
|
||||||
- {'name': 'matrix_bot_mjolnir_pantalaimon_password', when: "{{ matrix_bot_mjolnir_pantalaimon_use }}"}
|
- {'name': 'matrix_bot_mjolnir_pantalaimon_password', when: "{{ matrix_bot_mjolnir_pantalaimon_use }}"}
|
||||||
when: "item.when | bool and (vars[item.name] == '' or vars[item.name] is none)"
|
when: "item.when | bool and (lookup('vars', item.name, default='') == '' or lookup('vars', item.name, default='') is none)"
|
||||||
|
|
||||||
- name: Fail if inappropriate variables are defined
|
- name: Fail if inappropriate variables are defined
|
||||||
ansible.builtin.fail:
|
ansible.builtin.fail:
|
||||||
msg: "The `{{ item.name }}` variable must be undefined or have a null value."
|
msg: "The `{{ item.name }}` variable must be undefined or have a null value."
|
||||||
with_items:
|
with_items:
|
||||||
- {'name': 'matrix_bot_mjolnir_access_token', when: "{{ matrix_bot_mjolnir_pantalaimon_use }}"}
|
- {'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)"
|
when: "item.when | bool and not (lookup('vars', item.name, default='') == '' or lookup('vars', item.name, default='') is none)"
|
||||||
|
|
||||||
- name: (Deprecation) Catch and report renamed Mjolnir settings
|
- name: (Deprecation) Catch and report renamed Mjolnir settings
|
||||||
ansible.builtin.fail:
|
ansible.builtin.fail:
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ matrix_hookshot_container_additional_networks_auto: []
|
|||||||
matrix_hookshot_container_additional_networks_custom: []
|
matrix_hookshot_container_additional_networks_custom: []
|
||||||
|
|
||||||
# renovate: datasource=docker depName=halfshot/matrix-hookshot
|
# renovate: datasource=docker depName=halfshot/matrix-hookshot
|
||||||
matrix_hookshot_version: 7.2.0
|
matrix_hookshot_version: 7.3.1
|
||||||
|
|
||||||
matrix_hookshot_docker_image: "{{ matrix_hookshot_docker_image_registry_prefix }}matrix-org/matrix-hookshot:{{ matrix_hookshot_version }}"
|
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: "{{ 'localhost/' if matrix_hookshot_container_image_self_build else matrix_hookshot_docker_image_registry_prefix_upstream }}"
|
||||||
@@ -72,8 +72,9 @@ matrix_hookshot_cache_redisUri: "{{ ('redis://' + matrix_hookshot_cache_redis_ho
|
|||||||
# Controls whether the end-to-bridge encryption support is enabled.
|
# Controls whether the end-to-bridge encryption support is enabled.
|
||||||
# This requires that:
|
# This requires that:
|
||||||
# - support to also be enabled in the homeserver, see the documentation of Hookshot.
|
# - support to also be enabled in the homeserver, see the documentation of Hookshot.
|
||||||
# - Hookshot to be pointed at a Redis instance via the `matrix_hookshot_cache_redis*` variables.
|
# - Hookshot to be pointed at a Redis instance via the `matrix_hookshot_cache_redis*` variables. Note that this is configured automatically by the playbook when encryption is enabled.
|
||||||
# See: https://matrix-org.github.io/matrix-hookshot/latest/advanced/encryption.html
|
# See: https://matrix-org.github.io/matrix-hookshot/latest/advanced/encryption.html
|
||||||
|
# NOTE: Encryption is not currently (2025-12-30) supported when using MAS (https://github.com/matrix-org/matrix-hookshot/issues/1084)
|
||||||
matrix_hookshot_encryption_enabled: "{{ matrix_bridges_encryption_enabled }}"
|
matrix_hookshot_encryption_enabled: "{{ matrix_bridges_encryption_enabled }}"
|
||||||
|
|
||||||
# Controls whether metrics are enabled in the bridge configuration.
|
# Controls whether metrics are enabled in the bridge configuration.
|
||||||
@@ -241,6 +242,18 @@ matrix_hookshot_widgets_branding_widgetTitle: "Hookshot Configuration" # noqa
|
|||||||
# level: admin
|
# level: admin
|
||||||
matrix_hookshot_permissions: []
|
matrix_hookshot_permissions: []
|
||||||
|
|
||||||
|
# Static connections that can be configured by an administrator, as documented here:
|
||||||
|
# https://matrix-org.github.io/matrix-hookshot/latest/usage/static_connections.html
|
||||||
|
# Currently only generic webhooks are supported.
|
||||||
|
# Example:
|
||||||
|
# matrix_hookshot_connections:
|
||||||
|
# - connectionType: uk.half-shot.matrix-hookshot.generic.hook
|
||||||
|
# stateKey: my-unique-webhook-id
|
||||||
|
# roomId: "!room-id"
|
||||||
|
# state:
|
||||||
|
# name: My Static Webhook
|
||||||
|
matrix_hookshot_connections: []
|
||||||
|
|
||||||
matrix_hookshot_bot_displayname: Hookshot Bot
|
matrix_hookshot_bot_displayname: Hookshot Bot
|
||||||
matrix_hookshot_bot_avatar: 'mxc://half-shot.uk/2876e89ccade4cb615e210c458e2a7a6883fe17d'
|
matrix_hookshot_bot_avatar: 'mxc://half-shot.uk/2876e89ccade4cb615e210c458e2a7a6883fe17d'
|
||||||
|
|
||||||
|
|||||||
@@ -51,7 +51,7 @@
|
|||||||
ansible.builtin.fail:
|
ansible.builtin.fail:
|
||||||
msg: >-
|
msg: >-
|
||||||
You need to define a required configuration setting (`{{ item }}`).
|
You need to define a required configuration setting (`{{ item }}`).
|
||||||
when: "vars[item] == ''"
|
when: "lookup('vars', item, default='') == ''"
|
||||||
with_items:
|
with_items:
|
||||||
- "matrix_hookshot_appservice_token"
|
- "matrix_hookshot_appservice_token"
|
||||||
- "matrix_hookshot_homeserver_address"
|
- "matrix_hookshot_homeserver_address"
|
||||||
@@ -62,7 +62,7 @@
|
|||||||
ansible.builtin.fail:
|
ansible.builtin.fail:
|
||||||
msg: >-
|
msg: >-
|
||||||
You need to define a required configuration setting (`{{ item }}`) to enable GitHub.
|
You need to define a required configuration setting (`{{ item }}`) to enable GitHub.
|
||||||
when: "matrix_hookshot_github_enabled and vars[item] == ''"
|
when: "matrix_hookshot_github_enabled and lookup('vars', item, default='') == ''"
|
||||||
with_items:
|
with_items:
|
||||||
- "matrix_hookshot_github_auth_id"
|
- "matrix_hookshot_github_auth_id"
|
||||||
- "matrix_hookshot_github_webhook_secret"
|
- "matrix_hookshot_github_webhook_secret"
|
||||||
@@ -71,7 +71,7 @@
|
|||||||
ansible.builtin.fail:
|
ansible.builtin.fail:
|
||||||
msg: >-
|
msg: >-
|
||||||
You need to define a required configuration setting (`{{ item }}`) to enable GitHub OAuth.
|
You need to define a required configuration setting (`{{ item }}`) to enable GitHub OAuth.
|
||||||
when: "matrix_hookshot_github_oauth_enabled and vars[item] == ''"
|
when: "matrix_hookshot_github_oauth_enabled and lookup('vars', item, default='') == ''"
|
||||||
with_items:
|
with_items:
|
||||||
- "matrix_hookshot_github_oauth_client_id"
|
- "matrix_hookshot_github_oauth_client_id"
|
||||||
- "matrix_hookshot_github_oauth_client_secret"
|
- "matrix_hookshot_github_oauth_client_secret"
|
||||||
@@ -80,7 +80,7 @@
|
|||||||
ansible.builtin.fail:
|
ansible.builtin.fail:
|
||||||
msg: >-
|
msg: >-
|
||||||
You need to define a required configuration setting (`{{ item }}`) to enable Jira.
|
You need to define a required configuration setting (`{{ item }}`) to enable Jira.
|
||||||
when: "matrix_hookshot_jira_enabled and vars[item] == ''"
|
when: "matrix_hookshot_jira_enabled and lookup('vars', item, default='') == ''"
|
||||||
with_items:
|
with_items:
|
||||||
- "matrix_hookshot_jira_webhook_secret"
|
- "matrix_hookshot_jira_webhook_secret"
|
||||||
|
|
||||||
@@ -88,7 +88,7 @@
|
|||||||
ansible.builtin.fail:
|
ansible.builtin.fail:
|
||||||
msg: >-
|
msg: >-
|
||||||
You need to define a required configuration setting (`{{ item }}`) to enable Jira OAuth.
|
You need to define a required configuration setting (`{{ item }}`) to enable Jira OAuth.
|
||||||
when: "matrix_hookshot_jira_oauth_enabled and vars[item] == ''"
|
when: "matrix_hookshot_jira_oauth_enabled and lookup('vars', item, default='') == ''"
|
||||||
with_items:
|
with_items:
|
||||||
- "matrix_hookshot_jira_oauth_client_id"
|
- "matrix_hookshot_jira_oauth_client_id"
|
||||||
- "matrix_hookshot_jira_oauth_client_secret"
|
- "matrix_hookshot_jira_oauth_client_secret"
|
||||||
|
|||||||
@@ -137,6 +137,7 @@ widgets:
|
|||||||
{% if matrix_hookshot_permissions %}
|
{% if matrix_hookshot_permissions %}
|
||||||
permissions: {{ matrix_hookshot_permissions | to_json }}
|
permissions: {{ matrix_hookshot_permissions | to_json }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
connections: {{ matrix_hookshot_connections | to_json }}
|
||||||
listeners:
|
listeners:
|
||||||
# (Optional) HTTP Listener configuration.
|
# (Optional) HTTP Listener configuration.
|
||||||
# Bind resource endpoints to ports and addresses.
|
# Bind resource endpoints to ports and addresses.
|
||||||
|
|||||||
@@ -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 }}"
|
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
|
# renovate: datasource=docker depName=dock.mau.dev/mautrix/gmessages
|
||||||
matrix_mautrix_gmessages_version: v0.2511.0
|
matrix_mautrix_gmessages_version: v0.2601.0
|
||||||
|
|
||||||
# See: https://mau.dev/mautrix/gmessages/container_registry
|
# 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 }}"
|
matrix_mautrix_gmessages_docker_image: "{{ matrix_mautrix_gmessages_docker_image_registry_prefix }}mautrix/gmessages:{{ matrix_mautrix_gmessages_version }}"
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ matrix_mautrix_meta_instagram_enabled: true
|
|||||||
matrix_mautrix_meta_instagram_identifier: matrix-mautrix-meta-instagram
|
matrix_mautrix_meta_instagram_identifier: matrix-mautrix-meta-instagram
|
||||||
|
|
||||||
# renovate: datasource=docker depName=dock.mau.dev/mautrix/meta
|
# renovate: datasource=docker depName=dock.mau.dev/mautrix/meta
|
||||||
matrix_mautrix_meta_instagram_version: v0.2511.0
|
matrix_mautrix_meta_instagram_version: v0.2512.0
|
||||||
|
|
||||||
matrix_mautrix_meta_instagram_base_path: "{{ matrix_base_data_path }}/mautrix-meta-instagram"
|
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"
|
matrix_mautrix_meta_instagram_config_path: "{{ matrix_mautrix_meta_instagram_base_path }}/config"
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ matrix_mautrix_meta_messenger_enabled: true
|
|||||||
matrix_mautrix_meta_messenger_identifier: matrix-mautrix-meta-messenger
|
matrix_mautrix_meta_messenger_identifier: matrix-mautrix-meta-messenger
|
||||||
|
|
||||||
# renovate: datasource=docker depName=dock.mau.dev/mautrix/meta
|
# renovate: datasource=docker depName=dock.mau.dev/mautrix/meta
|
||||||
matrix_mautrix_meta_messenger_version: v0.2511.0
|
matrix_mautrix_meta_messenger_version: v0.2512.0
|
||||||
|
|
||||||
matrix_mautrix_meta_messenger_base_path: "{{ matrix_base_data_path }}/mautrix-meta-messenger"
|
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"
|
matrix_mautrix_meta_messenger_config_path: "{{ matrix_mautrix_meta_messenger_base_path }}/config"
|
||||||
|
|||||||
@@ -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 }}"
|
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
|
# renovate: datasource=docker depName=dock.mau.dev/mautrix/signal
|
||||||
matrix_mautrix_signal_version: v0.2511.0
|
matrix_mautrix_signal_version: v0.2601.0
|
||||||
|
|
||||||
# See: https://mau.dev/mautrix/signal/container_registry
|
# 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 }}"
|
matrix_mautrix_signal_docker_image: "{{ matrix_mautrix_signal_docker_image_registry_prefix }}mautrix/signal:{{ matrix_mautrix_signal_docker_image_tag }}"
|
||||||
@@ -57,6 +57,7 @@ matrix_mautrix_signal_command_prefix: "!signal"
|
|||||||
# Displayname template for Signal users.
|
# Displayname template for Signal users.
|
||||||
# {{.ProfileName}} - The Signal profile name set by the user.
|
# {{.ProfileName}} - The Signal profile name set by the user.
|
||||||
# {{.ContactName}} - The name for the user from your phone's contact list. This is not safe on multi-user instances.
|
# {{.ContactName}} - The name for the user from your phone's contact list. This is not safe on multi-user instances.
|
||||||
|
# {{.Nickname}} - The nickname set for the user in the native Signal app. This is not safe on multi-user instances.
|
||||||
# {{.PhoneNumber}} - The phone number of the user.
|
# {{.PhoneNumber}} - The phone number of the user.
|
||||||
# {{.UUID}} - The UUID of the Signal user.
|
# {{.UUID}} - The UUID of the Signal user.
|
||||||
# {{.AboutEmoji}} - The emoji set by the user in their profile.
|
# {{.AboutEmoji}} - The emoji set by the user in their profile.
|
||||||
|
|||||||
@@ -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 }}"
|
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
|
# renovate: datasource=docker depName=dock.mau.dev/mautrix/whatsapp
|
||||||
matrix_mautrix_whatsapp_version: v0.2511.0
|
matrix_mautrix_whatsapp_version: v0.2601.0
|
||||||
|
|
||||||
# See: https://mau.dev/mautrix/whatsapp/container_registry
|
# 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 }}"
|
matrix_mautrix_whatsapp_docker_image: "{{ matrix_mautrix_whatsapp_docker_image_registry_prefix }}mautrix/whatsapp:{{ matrix_mautrix_whatsapp_version }}"
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
ansible.builtin.fail:
|
ansible.builtin.fail:
|
||||||
msg: >-
|
msg: >-
|
||||||
You need to define a required configuration setting (`{{ item }}`).
|
You need to define a required configuration setting (`{{ item }}`).
|
||||||
when: "vars[item] == ''"
|
when: "lookup('vars', item, default='') == ''"
|
||||||
with_items:
|
with_items:
|
||||||
- "matrix_mautrix_androidsms_appservice_token"
|
- "matrix_mautrix_androidsms_appservice_token"
|
||||||
- "matrix_mautrix_androidsms_homeserver_token"
|
- "matrix_mautrix_androidsms_homeserver_token"
|
||||||
|
|||||||
@@ -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"
|
matrix_postmoogle_docker_src_files_path: "{{ matrix_base_data_path }}/postmoogle/docker-src"
|
||||||
|
|
||||||
# renovate: datasource=docker depName=ghcr.io/etkecc/postmoogle
|
# renovate: datasource=docker depName=ghcr.io/etkecc/postmoogle
|
||||||
matrix_postmoogle_version: v0.9.27
|
matrix_postmoogle_version: v0.9.28
|
||||||
matrix_postmoogle_docker_image: "{{ matrix_postmoogle_docker_image_registry_prefix }}etkecc/postmoogle:{{ matrix_postmoogle_version }}"
|
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: "{{ '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 }}"
|
matrix_postmoogle_docker_image_registry_prefix_upstream: "{{ matrix_postmoogle_docker_image_registry_prefix_upstream_default }}"
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
ansible.builtin.fail:
|
ansible.builtin.fail:
|
||||||
msg: >-
|
msg: >-
|
||||||
You need to define a required configuration setting (`{{ item }}`).
|
You need to define a required configuration setting (`{{ item }}`).
|
||||||
when: "vars[item] == ''"
|
when: "lookup('vars', item, default='') == ''"
|
||||||
with_items:
|
with_items:
|
||||||
- "matrix_sms_bridge_appservice_token"
|
- "matrix_sms_bridge_appservice_token"
|
||||||
- "matrix_sms_bridge_homeserver_hostname"
|
- "matrix_sms_bridge_homeserver_hostname"
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ matrix_steam_bridge_container_image_self_build_repo: "https://github.com/jasonla
|
|||||||
matrix_steam_bridge_container_image_self_build_repo_version: "{{ 'main' if matrix_steam_bridge_version == 'latest' else matrix_steam_bridge_version }}"
|
matrix_steam_bridge_container_image_self_build_repo_version: "{{ 'main' if matrix_steam_bridge_version == 'latest' else matrix_steam_bridge_version }}"
|
||||||
|
|
||||||
# renovate: datasource=docker depName=ghcr.io/jasonlaguidice/matrix-steam-bridge
|
# renovate: datasource=docker depName=ghcr.io/jasonlaguidice/matrix-steam-bridge
|
||||||
matrix_steam_bridge_version: 1.0.8
|
matrix_steam_bridge_version: 1.1.0
|
||||||
matrix_steam_bridge_docker_image: "{{ matrix_steam_bridge_docker_image_registry_prefix }}jasonlaguidice/matrix-steam-bridge:{{ matrix_steam_bridge_version }}"
|
matrix_steam_bridge_docker_image: "{{ matrix_steam_bridge_docker_image_registry_prefix }}jasonlaguidice/matrix-steam-bridge:{{ matrix_steam_bridge_version }}"
|
||||||
matrix_steam_bridge_docker_image_registry_prefix: "{{ 'localhost/' if matrix_steam_bridge_container_image_self_build else matrix_steam_bridge_docker_image_registry_prefix_upstream }}"
|
matrix_steam_bridge_docker_image_registry_prefix: "{{ 'localhost/' if matrix_steam_bridge_container_image_self_build else matrix_steam_bridge_docker_image_registry_prefix_upstream }}"
|
||||||
matrix_steam_bridge_docker_image_registry_prefix_upstream: "{{ matrix_steam_bridge_docker_image_registry_prefix_upstream_default }}"
|
matrix_steam_bridge_docker_image_registry_prefix_upstream: "{{ matrix_steam_bridge_docker_image_registry_prefix_upstream_default }}"
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
block:
|
block:
|
||||||
- name: Ensure matrix-bridge-zulip is stopped
|
- name: Ensure matrix-bridge-zulip is stopped
|
||||||
ansible.builtin.service:
|
ansible.builtin.service:
|
||||||
name: matrix-bridge-zulip
|
name: matrix-zulip-bridge
|
||||||
state: stopped
|
state: stopped
|
||||||
enabled: false
|
enabled: false
|
||||||
daemon_reload: true
|
daemon_reload: true
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ matrix_cactus_comments_client_public_path: "{{ matrix_cactus_comments_client_bas
|
|||||||
matrix_cactus_comments_client_public_path_file_permissions: "0644"
|
matrix_cactus_comments_client_public_path_file_permissions: "0644"
|
||||||
|
|
||||||
# renovate: datasource=docker depName=joseluisq/static-web-server
|
# renovate: datasource=docker depName=joseluisq/static-web-server
|
||||||
matrix_cactus_comments_client_version: 2.39.0
|
matrix_cactus_comments_client_version: 2.40.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: "{{ 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 }}"
|
matrix_cactus_comments_client_container_image_registry_prefix: "{{ matrix_cactus_comments_client_container_image_registry_prefix_upstream }}"
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
ansible.builtin.fail:
|
ansible.builtin.fail:
|
||||||
msg: >-
|
msg: >-
|
||||||
You need to define a required configuration setting (`{{ item }}`).
|
You need to define a required configuration setting (`{{ item }}`).
|
||||||
when: "vars[item] == ''"
|
when: "lookup('vars', item, default='') == ''"
|
||||||
with_items:
|
with_items:
|
||||||
- matrix_cactus_comments_client_hostname
|
- matrix_cactus_comments_client_hostname
|
||||||
- matrix_cactus_comments_client_path_prefix
|
- matrix_cactus_comments_client_path_prefix
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
--env-file={{ matrix_cactus_comments_client_base_path }}/env \
|
--env-file={{ matrix_cactus_comments_client_base_path }}/env \
|
||||||
--label-file={{ matrix_cactus_comments_client_base_path }}/labels \
|
--label-file={{ matrix_cactus_comments_client_base_path }}/labels \
|
||||||
--mount type=bind,src={{ matrix_cactus_comments_client_public_path }},dst=/public,ro \
|
--mount type=bind,src={{ matrix_cactus_comments_client_public_path }},dst=/var/public,ro \
|
||||||
{{ matrix_cactus_comments_client_container_image }}
|
{{ matrix_cactus_comments_client_container_image }}
|
||||||
|
|
||||||
{% for network in matrix_cactus_comments_client_container_additional_networks %}
|
{% for network in matrix_cactus_comments_client_container_additional_networks %}
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
ansible.builtin.fail:
|
ansible.builtin.fail:
|
||||||
msg: >-
|
msg: >-
|
||||||
You need to define a required configuration setting (`{{ item }}`).
|
You need to define a required configuration setting (`{{ item }}`).
|
||||||
when: "vars[item] == ''"
|
when: "lookup('vars', item, default='') == ''"
|
||||||
with_items:
|
with_items:
|
||||||
- "matrix_cactus_comments_as_token"
|
- "matrix_cactus_comments_as_token"
|
||||||
- "matrix_cactus_comments_hs_token"
|
- "matrix_cactus_comments_hs_token"
|
||||||
|
|||||||
@@ -36,7 +36,7 @@
|
|||||||
ansible.builtin.fail:
|
ansible.builtin.fail:
|
||||||
msg: >-
|
msg: >-
|
||||||
You need to define a required configuration setting (`{{ item }}`).
|
You need to define a required configuration setting (`{{ item }}`).
|
||||||
when: "vars[item] == ''"
|
when: "lookup('vars', item, default='') == ''"
|
||||||
with_items:
|
with_items:
|
||||||
- matrix_client_cinny_container_labels_traefik_hostname
|
- matrix_client_cinny_container_labels_traefik_hostname
|
||||||
- matrix_client_cinny_container_labels_traefik_path_prefix
|
- matrix_client_cinny_container_labels_traefik_path_prefix
|
||||||
|
|||||||
@@ -26,10 +26,10 @@ matrix_client_element_container_image_self_build_repo: "https://github.com/eleme
|
|||||||
# Controls whether to patch webpack.config.js when self-building, so that building can pass on low-memory systems (< 4 GB RAM):
|
# Controls whether to patch webpack.config.js when self-building, so that building can pass on low-memory systems (< 4 GB RAM):
|
||||||
# - https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/1357
|
# - https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/1357
|
||||||
# - https://github.com/element-hq/element-web/issues/19544
|
# - 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 }}"
|
matrix_client_element_container_image_self_build_low_memory_system_patch_enabled: "{{ ansible_facts['memtotal_mb'] < 4096 }}"
|
||||||
|
|
||||||
# renovate: datasource=docker depName=ghcr.io/element-hq/element-web
|
# renovate: datasource=docker depName=ghcr.io/element-hq/element-web
|
||||||
matrix_client_element_version: v1.12.4
|
matrix_client_element_version: v1.12.8
|
||||||
|
|
||||||
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: "{{ 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: "{{ 'localhost/' if matrix_client_element_container_image_self_build else matrix_client_element_docker_image_registry_prefix_upstream }}"
|
||||||
|
|||||||
@@ -13,7 +13,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 }}"
|
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
|
# renovate: datasource=docker depName=ghcr.io/etkecc/fluffychat-web
|
||||||
matrix_client_fluffychat_version: v2.2.0
|
matrix_client_fluffychat_version: v2.4.0
|
||||||
matrix_client_fluffychat_docker_image: "{{ matrix_client_fluffychat_docker_image_registry_prefix }}etkecc/fluffychat-web:{{ matrix_client_fluffychat_version }}"
|
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: "{{ '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: "{{ matrix_client_fluffychat_docker_image_registry_prefix_upstream_default }}"
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
ansible.builtin.fail:
|
ansible.builtin.fail:
|
||||||
msg: >
|
msg: >
|
||||||
You need to define a required configuration setting (`{{ item }}`) for using FluffyChat Web.
|
You need to define a required configuration setting (`{{ item }}`) for using FluffyChat Web.
|
||||||
when: "vars[item] == ''"
|
when: "lookup('vars', item, default='') == ''"
|
||||||
with_items:
|
with_items:
|
||||||
- matrix_client_fluffychat_container_network
|
- matrix_client_fluffychat_container_network
|
||||||
|
|
||||||
@@ -27,7 +27,7 @@
|
|||||||
ansible.builtin.fail:
|
ansible.builtin.fail:
|
||||||
msg: >-
|
msg: >-
|
||||||
You need to define a required configuration setting (`{{ item }}`).
|
You need to define a required configuration setting (`{{ item }}`).
|
||||||
when: "vars[item] == ''"
|
when: "lookup('vars', item, default='') == ''"
|
||||||
with_items:
|
with_items:
|
||||||
- matrix_client_fluffychat_container_labels_traefik_hostname
|
- matrix_client_fluffychat_container_labels_traefik_hostname
|
||||||
- matrix_client_fluffychat_container_labels_traefik_path_prefix
|
- matrix_client_fluffychat_container_labels_traefik_path_prefix
|
||||||
|
|||||||
@@ -30,7 +30,7 @@
|
|||||||
ansible.builtin.fail:
|
ansible.builtin.fail:
|
||||||
msg: >-
|
msg: >-
|
||||||
You need to define a required configuration setting (`{{ item }}`).
|
You need to define a required configuration setting (`{{ item }}`).
|
||||||
when: "vars[item] == ''"
|
when: "lookup('vars', item, default='') == ''"
|
||||||
with_items:
|
with_items:
|
||||||
- matrix_client_hydrogen_container_labels_traefik_hostname
|
- matrix_client_hydrogen_container_labels_traefik_hostname
|
||||||
- matrix_client_hydrogen_container_labels_traefik_path_prefix
|
- matrix_client_hydrogen_container_labels_traefik_path_prefix
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
ansible.builtin.fail:
|
ansible.builtin.fail:
|
||||||
msg: >
|
msg: >
|
||||||
You need to define a required configuration setting (`{{ item }}`) for using SchildiChat Web.
|
You need to define a required configuration setting (`{{ item }}`) for using SchildiChat Web.
|
||||||
when: "vars[item] == ''"
|
when: "lookup('vars', item, default='') == ''"
|
||||||
with_items:
|
with_items:
|
||||||
- matrix_client_schildichat_default_hs_url
|
- matrix_client_schildichat_default_hs_url
|
||||||
- matrix_client_schildichat_container_network
|
- matrix_client_schildichat_container_network
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
ansible.builtin.fail:
|
ansible.builtin.fail:
|
||||||
msg: >-
|
msg: >-
|
||||||
You need to define a required configuration setting (`{{ item }}`).
|
You need to define a required configuration setting (`{{ item }}`).
|
||||||
when: "vars[item] == ''"
|
when: "lookup('vars', item, default='') == ''"
|
||||||
with_items:
|
with_items:
|
||||||
- matrix_client_schildichat_container_labels_traefik_hostname
|
- matrix_client_schildichat_container_labels_traefik_hostname
|
||||||
- matrix_client_schildichat_container_labels_traefik_path_prefix
|
- matrix_client_schildichat_container_labels_traefik_path_prefix
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ matrix_conduit_docker_image_registry_prefix: "{{ matrix_conduit_docker_image_reg
|
|||||||
matrix_conduit_docker_image_registry_prefix_upstream: "{{ matrix_conduit_docker_image_registry_prefix_upstream_default }}"
|
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/
|
matrix_conduit_docker_image_registry_prefix_upstream_default: docker.io/
|
||||||
# renovate: datasource=docker depName=matrixconduit/matrix-conduit
|
# renovate: datasource=docker depName=matrixconduit/matrix-conduit
|
||||||
matrix_conduit_docker_image_tag: "v0.10.9"
|
matrix_conduit_docker_image_tag: "v0.10.11"
|
||||||
matrix_conduit_docker_image_force_pull: "{{ matrix_conduit_docker_image.endswith(':latest') }}"
|
matrix_conduit_docker_image_force_pull: "{{ matrix_conduit_docker_image.endswith(':latest') }}"
|
||||||
|
|
||||||
matrix_conduit_base_path: "{{ matrix_base_data_path }}/conduit"
|
matrix_conduit_base_path: "{{ matrix_base_data_path }}/conduit"
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
ansible.builtin.fail:
|
ansible.builtin.fail:
|
||||||
msg: >-
|
msg: >-
|
||||||
You need to define a required configuration setting (`{{ item }}`) for using matrix-corporal.
|
You need to define a required configuration setting (`{{ item }}`) for using matrix-corporal.
|
||||||
when: "vars[item] == ''"
|
when: "lookup('vars', item, default='') == ''"
|
||||||
with_items:
|
with_items:
|
||||||
- "matrix_corporal_container_network"
|
- "matrix_corporal_container_network"
|
||||||
- "matrix_corporal_matrix_homeserver_api_endpoint"
|
- "matrix_corporal_matrix_homeserver_api_endpoint"
|
||||||
|
|||||||
@@ -18,6 +18,8 @@
|
|||||||
|
|
||||||
matrix_coturn_enabled: true
|
matrix_coturn_enabled: true
|
||||||
|
|
||||||
|
matrix_coturn_hostname: ''
|
||||||
|
|
||||||
matrix_coturn_container_image_self_build: false
|
matrix_coturn_container_image_self_build: false
|
||||||
matrix_coturn_container_image_self_build_repo: "https://github.com/coturn/coturn"
|
matrix_coturn_container_image_self_build_repo: "https://github.com/coturn/coturn"
|
||||||
matrix_coturn_container_image_self_build_repo_version: "docker/{{ matrix_coturn_version }}"
|
matrix_coturn_container_image_self_build_repo_version: "docker/{{ matrix_coturn_version }}"
|
||||||
@@ -111,6 +113,9 @@ matrix_coturn_container_turn_range_listen_interface: "{{ '' if matrix_coturn_con
|
|||||||
matrix_coturn_turn_udp_min_port: 49152
|
matrix_coturn_turn_udp_min_port: 49152
|
||||||
matrix_coturn_turn_udp_max_port: 49172
|
matrix_coturn_turn_udp_max_port: 49172
|
||||||
|
|
||||||
|
# Controls the `realm` configuration option
|
||||||
|
matrix_coturn_realm: "turn.{{ matrix_coturn_hostname }}"
|
||||||
|
|
||||||
# Controls which authentication method to enable.
|
# Controls which authentication method to enable.
|
||||||
#
|
#
|
||||||
# lt-cred-mech likely provides better compatibility,
|
# lt-cred-mech likely provides better compatibility,
|
||||||
|
|||||||
@@ -29,6 +29,7 @@
|
|||||||
You need to define a required configuration setting (`{{ item.name }}`).
|
You need to define a required configuration setting (`{{ item.name }}`).
|
||||||
when: "item.when | bool and lookup('vars', item.name, default='') | string | length == 0"
|
when: "item.when | bool and lookup('vars', item.name, default='') | string | length == 0"
|
||||||
with_items:
|
with_items:
|
||||||
|
- {'name': 'matrix_coturn_hostname', when: true}
|
||||||
- {'name': 'matrix_coturn_turn_static_auth_secret', when: "{{ matrix_coturn_authentication_method == 'auth-secret' }}"}
|
- {'name': 'matrix_coturn_turn_static_auth_secret', when: "{{ matrix_coturn_authentication_method == 'auth-secret' }}"}
|
||||||
- {'name': 'matrix_coturn_lt_cred_mech_username', when: "{{ matrix_coturn_authentication_method == 'lt-cred-mech' }}"}
|
- {'name': 'matrix_coturn_lt_cred_mech_username', when: "{{ matrix_coturn_authentication_method == 'lt-cred-mech' }}"}
|
||||||
- {'name': 'matrix_coturn_lt_cred_mech_password', when: "{{ matrix_coturn_authentication_method == 'lt-cred-mech' }}"}
|
- {'name': 'matrix_coturn_lt_cred_mech_password', when: "{{ matrix_coturn_authentication_method == 'lt-cred-mech' }}"}
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ lt-cred-mech
|
|||||||
user={{ matrix_coturn_lt_cred_mech_username }}:{{ matrix_coturn_lt_cred_mech_password }}
|
user={{ matrix_coturn_lt_cred_mech_username }}:{{ matrix_coturn_lt_cred_mech_password }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
realm=turn.{{ matrix_server_fqn_matrix }}
|
realm={{ matrix_coturn_realm }}
|
||||||
|
|
||||||
min-port={{ matrix_coturn_turn_udp_min_port }}
|
min-port={{ matrix_coturn_turn_udp_min_port }}
|
||||||
max-port={{ matrix_coturn_turn_udp_max_port }}
|
max-port={{ matrix_coturn_turn_udp_max_port }}
|
||||||
|
|||||||
@@ -7,15 +7,15 @@
|
|||||||
matrix_coturn_turn_uris: |-
|
matrix_coturn_turn_uris: |-
|
||||||
{{
|
{{
|
||||||
([
|
([
|
||||||
'turns:' + matrix_server_fqn_matrix + '?transport=udp',
|
'turns:' + matrix_coturn_hostname + '?transport=udp',
|
||||||
'turns:' + matrix_server_fqn_matrix + '?transport=tcp',
|
'turns:' + matrix_coturn_hostname + '?transport=tcp',
|
||||||
] if matrix_coturn_tls_enabled else [])
|
] if matrix_coturn_tls_enabled else [])
|
||||||
+
|
+
|
||||||
([
|
([
|
||||||
'turn:' + matrix_server_fqn_matrix + '?transport=udp',
|
'turn:' + matrix_coturn_hostname + '?transport=udp',
|
||||||
] if (matrix_coturn_container_stun_plain_host_bind_port_udp != '' or matrix_coturn_container_network == 'host') else [])
|
] if (matrix_coturn_container_stun_plain_host_bind_port_udp != '' or matrix_coturn_container_network == 'host') else [])
|
||||||
+
|
+
|
||||||
([
|
([
|
||||||
'turn:' + matrix_server_fqn_matrix + '?transport=tcp',
|
'turn:' + matrix_coturn_hostname + '?transport=tcp',
|
||||||
] if (matrix_coturn_container_stun_plain_host_bind_port_tcp != '' or matrix_coturn_container_network == 'host') else [])
|
] if (matrix_coturn_container_stun_plain_host_bind_port_tcp != '' or matrix_coturn_container_network == 'host') else [])
|
||||||
}}
|
}}
|
||||||
|
|||||||
@@ -39,7 +39,7 @@
|
|||||||
ansible.builtin.fail:
|
ansible.builtin.fail:
|
||||||
msg: >-
|
msg: >-
|
||||||
You need to define a required configuration setting (`{{ item }}`).
|
You need to define a required configuration setting (`{{ item }}`).
|
||||||
when: "vars[item] == ''"
|
when: "lookup('vars', item, default='') == ''"
|
||||||
with_items:
|
with_items:
|
||||||
- matrix_dimension_container_labels_traefik_hostname
|
- matrix_dimension_container_labels_traefik_hostname
|
||||||
- matrix_dimension_container_labels_traefik_path_prefix
|
- matrix_dimension_container_labels_traefik_path_prefix
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
matrix_element_admin_enabled: true
|
matrix_element_admin_enabled: true
|
||||||
|
|
||||||
# renovate: datasource=docker depName=oci.element.io/element-admin
|
# renovate: datasource=docker depName=oci.element.io/element-admin
|
||||||
matrix_element_admin_version: 0.1.8
|
matrix_element_admin_version: 0.1.10
|
||||||
|
|
||||||
matrix_element_admin_scheme: https
|
matrix_element_admin_scheme: https
|
||||||
|
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ matrix_element_call_enabled: false
|
|||||||
matrix_rtc_enabled: "{{ matrix_element_call_enabled }}"
|
matrix_rtc_enabled: "{{ matrix_element_call_enabled }}"
|
||||||
|
|
||||||
# renovate: datasource=docker depName=ghcr.io/element-hq/element-call
|
# renovate: datasource=docker depName=ghcr.io/element-hq/element-call
|
||||||
matrix_element_call_version: v0.16.1
|
matrix_element_call_version: v0.16.3
|
||||||
|
|
||||||
matrix_element_call_scheme: https
|
matrix_element_call_scheme: https
|
||||||
|
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
ansible.builtin.fail:
|
ansible.builtin.fail:
|
||||||
msg: >
|
msg: >
|
||||||
You need to define a required configuration setting (`{{ item.name }}`).
|
You need to define a required configuration setting (`{{ item.name }}`).
|
||||||
when: "item.when | bool and vars[item.name] | string | length == 0"
|
when: "item.when | bool and lookup('vars', item.name, default='') | string | length == 0"
|
||||||
with_items:
|
with_items:
|
||||||
- {'name': 'matrix_element_call_container_network', when: true}
|
- {'name': 'matrix_element_call_container_network', when: true}
|
||||||
- {'name': 'matrix_element_call_hostname', when: true}
|
- {'name': 'matrix_element_call_hostname', when: true}
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
ansible.builtin.fail:
|
ansible.builtin.fail:
|
||||||
msg: >-
|
msg: >-
|
||||||
You need to define a required configuration setting (`{{ item }}`).
|
You need to define a required configuration setting (`{{ item }}`).
|
||||||
when: "vars[item] == ''"
|
when: "lookup('vars', item, default='') == ''"
|
||||||
with_items:
|
with_items:
|
||||||
- "matrix_ldap_registration_proxy_hostname"
|
- "matrix_ldap_registration_proxy_hostname"
|
||||||
- "matrix_ldap_registration_proxy_ldap_uri"
|
- "matrix_ldap_registration_proxy_ldap_uri"
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ matrix_livekit_jwt_service_container_additional_networks_auto: []
|
|||||||
matrix_livekit_jwt_service_container_additional_networks_custom: []
|
matrix_livekit_jwt_service_container_additional_networks_custom: []
|
||||||
|
|
||||||
# renovate: datasource=docker depName=ghcr.io/element-hq/lk-jwt-service
|
# renovate: datasource=docker depName=ghcr.io/element-hq/lk-jwt-service
|
||||||
matrix_livekit_jwt_service_version: 0.3.0
|
matrix_livekit_jwt_service_version: 0.4.1
|
||||||
|
|
||||||
matrix_livekit_jwt_service_container_image_self_build: false
|
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: "https://github.com/element-hq/lk-jwt-service.git"
|
||||||
@@ -68,8 +68,15 @@ matrix_livekit_jwt_service_container_labels_additional_labels: ''
|
|||||||
# A list of extra arguments to pass to the container
|
# A list of extra arguments to pass to the container
|
||||||
matrix_livekit_jwt_service_container_extra_arguments: []
|
matrix_livekit_jwt_service_container_extra_arguments: []
|
||||||
|
|
||||||
# Controls the LK_JWT_PORT environment variable
|
# Controls the port that the service listens on internally in the container.
|
||||||
matrix_livekit_jwt_service_environment_variable_livekit_jwt_port: 8080
|
# This is still used for Traefik configuration and container port binding.
|
||||||
|
matrix_livekit_jwt_service_container_port: 8080
|
||||||
|
|
||||||
|
# Controls the LIVEKIT_JWT_BIND environment variable.
|
||||||
|
# This is the preferred method in v0.4.0+, replacing the deprecated LIVEKIT_JWT_PORT.
|
||||||
|
# Format: "host:port" or ":port" (to bind to all interfaces).
|
||||||
|
# The default ":8080" binds to all interfaces on port 8080.
|
||||||
|
matrix_livekit_jwt_service_environment_variable_livekit_jwt_bind: ":{{ matrix_livekit_jwt_service_container_port }}"
|
||||||
|
|
||||||
# Controls the LIVEKIT_KEY environment variable
|
# Controls the LIVEKIT_KEY environment variable
|
||||||
matrix_livekit_jwt_service_environment_variable_livekit_key: ""
|
matrix_livekit_jwt_service_environment_variable_livekit_key: ""
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
- tags:
|
- tags:
|
||||||
- setup-all
|
- setup-all
|
||||||
- setup-jwt-service
|
- setup-livekit-jwt-service
|
||||||
- install-all
|
- install-all
|
||||||
- install-livekit-jwt-service
|
- install-livekit-jwt-service
|
||||||
block:
|
block:
|
||||||
|
|||||||
@@ -6,11 +6,20 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
- name: (Deprecation) Catch and report renamed LiveKit JWT Service settings
|
||||||
|
ansible.builtin.fail:
|
||||||
|
msg: >-
|
||||||
|
Your configuration contains a variable, which now has a different name.
|
||||||
|
Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml).
|
||||||
|
when: "lookup('ansible.builtin.varnames', ('^' + item.old + '$'), wantlist=True) | length > 0"
|
||||||
|
with_items:
|
||||||
|
- {'old': 'matrix_livekit_jwt_service_environment_variable_livekit_jwt_port', 'new': 'matrix_livekit_jwt_service_container_port'}
|
||||||
|
|
||||||
- name: Fail if required LiveKit JWT Service settings are not defined
|
- name: Fail if required LiveKit JWT Service settings are not defined
|
||||||
ansible.builtin.fail:
|
ansible.builtin.fail:
|
||||||
msg: >
|
msg: >
|
||||||
You need to define a required configuration setting (`{{ item.name }}`).
|
You need to define a required configuration setting (`{{ item.name }}`).
|
||||||
when: "item.when | bool and vars[item.name] | string | length == 0"
|
when: "item.when | bool and lookup('vars', item.name, default='') | string | length == 0"
|
||||||
with_items:
|
with_items:
|
||||||
- {'name': 'matrix_livekit_jwt_service_hostname', when: true}
|
- {'name': 'matrix_livekit_jwt_service_hostname', when: true}
|
||||||
- {'name': 'matrix_livekit_jwt_service_container_network', when: true}
|
- {'name': 'matrix_livekit_jwt_service_container_network', when: true}
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev
|
|||||||
SPDX-License-Identifier: AGPL-3.0-or-later
|
SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
#}
|
#}
|
||||||
|
|
||||||
LIVEKIT_JWT_PORT={{ matrix_livekit_jwt_service_environment_variable_livekit_jwt_port | int | to_json }}
|
LIVEKIT_JWT_BIND={{ matrix_livekit_jwt_service_environment_variable_livekit_jwt_bind }}
|
||||||
|
|
||||||
LIVEKIT_KEY={{ matrix_livekit_jwt_service_environment_variable_livekit_key }}
|
LIVEKIT_KEY={{ matrix_livekit_jwt_service_environment_variable_livekit_key }}
|
||||||
LIVEKIT_URL={{ matrix_livekit_jwt_service_environment_variable_livekit_url }}
|
LIVEKIT_URL={{ matrix_livekit_jwt_service_environment_variable_livekit_url }}
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ traefik.enable=true
|
|||||||
|
|
||||||
traefik.docker.network={{ matrix_livekit_jwt_service_container_labels_traefik_docker_network }}
|
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 }}
|
traefik.http.services.matrix-livekit-jwt-service.loadbalancer.server.port={{ matrix_livekit_jwt_service_container_port }}
|
||||||
|
|
||||||
{% set middlewares = [] %}
|
{% set middlewares = [] %}
|
||||||
|
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
|
|||||||
--cap-drop=ALL \
|
--cap-drop=ALL \
|
||||||
--network={{ matrix_livekit_jwt_service_container_network }} \
|
--network={{ matrix_livekit_jwt_service_container_network }} \
|
||||||
{% if matrix_livekit_jwt_service_container_http_host_bind_port %}
|
{% 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 }} \
|
-p {{ matrix_livekit_jwt_service_container_http_host_bind_port }}:{{ matrix_livekit_jwt_service_container_port }} \
|
||||||
{% endif %}
|
{% endif %}
|
||||||
--env-file={{ matrix_livekit_jwt_service_base_path }}/env \
|
--env-file={{ matrix_livekit_jwt_service_base_path }}/env \
|
||||||
--label-file={{ matrix_livekit_jwt_service_base_path }}/labels \
|
--label-file={{ matrix_livekit_jwt_service_base_path }}/labels \
|
||||||
|
|||||||
172
roles/custom/matrix-matrixto/defaults/main.yml
Normal file
172
roles/custom/matrix-matrixto/defaults/main.yml
Normal file
@@ -0,0 +1,172 @@
|
|||||||
|
# SPDX-FileCopyrightText: 2023 - 2024 Nikita Chernyi
|
||||||
|
# SPDX-FileCopyrightText: 2023 - 2025 Slavi Pantaleev
|
||||||
|
# SPDX-FileCopyrightText: 2024 Sergio Durigan Junior
|
||||||
|
# SPDX-FileCopyrightText: 2025 MASH project contributors
|
||||||
|
# SPDX-FileCopyrightText: 2025 Suguru Hirahara
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
|
|
||||||
|
---
|
||||||
|
# Project source code URL: https://app.radicle.xyz/nodes/seed.radicle.garden/rad%3Az3Re1EQbd186vUQDwHByYiLadsVWY
|
||||||
|
|
||||||
|
matrix_matrixto_enabled: true
|
||||||
|
|
||||||
|
matrix_matrixto_identifier: matrix-matrixto
|
||||||
|
matrix_matrixto_base_path: "/{{ matrix_matrixto_identifier }}"
|
||||||
|
|
||||||
|
matrix_matrixto_version: 1.2.17-1
|
||||||
|
|
||||||
|
matrix_matrixto_scheme: https
|
||||||
|
|
||||||
|
# The hostname at which Matrix.to is served.
|
||||||
|
matrix_matrixto_hostname: ""
|
||||||
|
|
||||||
|
# The path at which Matrix.to is exposed.
|
||||||
|
# This value must either be `/` or not end with a slash (e.g. `/matrixto`).
|
||||||
|
#
|
||||||
|
# Hosting Matrix.to under a subpath does not seem to be possible due to Matrix.to's
|
||||||
|
# technical limitations.
|
||||||
|
matrix_matrixto_path_prefix: /
|
||||||
|
|
||||||
|
# There does not exist a known pre-built container image. It needs to be built locally.
|
||||||
|
matrix_matrixto_container_image_self_build: true
|
||||||
|
matrix_matrixto_container_image_self_build_name: "shirahara/matrixto:{{ matrix_matrixto_container_image_self_build_repo_version }}"
|
||||||
|
matrix_matrixto_container_image_self_build_repo: "https://seed.radicle.garden/z3Re1EQbd186vUQDwHByYiLadsVWY.git"
|
||||||
|
matrix_matrixto_container_image_self_build_repo_version: "{{ matrix_matrixto_version if matrix_matrixto_version != 'latest' else 'main' }}"
|
||||||
|
matrix_matrixto_container_image_self_build_src_files_path: "{{ matrix_matrixto_base_path }}/docker-src"
|
||||||
|
|
||||||
|
# Controls whether the container exposes its HTTP port (tcp/8080 in the container).
|
||||||
|
#
|
||||||
|
# Takes an "<ip>:<port>" or "<port>" value (e.g. "127.0.0.1:2586"), or empty string to not expose.
|
||||||
|
matrix_matrixto_container_http_host_bind_port: ""
|
||||||
|
|
||||||
|
# The base container network. It will be auto-created by this role if it doesn't exist already.
|
||||||
|
matrix_matrixto_container_network: "{{ matrix_matrixto_identifier }}"
|
||||||
|
|
||||||
|
# The port number in the container
|
||||||
|
matrix_matrixto_container_http_port: 5000
|
||||||
|
|
||||||
|
# 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 another reverse proxy, which runs in a different container network.
|
||||||
|
matrix_matrixto_container_additional_networks: "{{ matrix_matrixto_container_additional_networks_auto + matrix_matrixto_container_additional_networks_custom }}"
|
||||||
|
matrix_matrixto_container_additional_networks_auto: []
|
||||||
|
matrix_matrixto_container_additional_networks_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,
|
||||||
|
# if you wish to mount your own files into the container.
|
||||||
|
# Contains definition objects like this: `{"type": "bind", "src": "/outside", "dst": "/inside", "options": "readonly"}.
|
||||||
|
# See the `--mount` documentation for the `docker run` command.
|
||||||
|
matrix_matrixto_container_additional_volumes: "{{ matrix_matrixto_container_additional_volumes_auto + matrix_matrixto_container_additional_volumes_custom }}"
|
||||||
|
matrix_matrixto_container_additional_volumes_auto: []
|
||||||
|
matrix_matrixto_container_additional_volumes_custom: []
|
||||||
|
|
||||||
|
# matrix_matrixto_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_matrixto_container_labels_additional_labels`.
|
||||||
|
matrix_matrixto_container_labels_traefik_enabled: true
|
||||||
|
matrix_matrixto_container_labels_traefik_docker_network: "{{ matrix_matrixto_container_network }}"
|
||||||
|
matrix_matrixto_container_labels_traefik_hostname: "{{ matrix_matrixto_hostname }}"
|
||||||
|
# The path prefix must either be `/` or not end with a slash (e.g. `/matrixto`).
|
||||||
|
matrix_matrixto_container_labels_traefik_path_prefix: "{{ matrix_matrixto_path_prefix }}"
|
||||||
|
matrix_matrixto_container_labels_traefik_rule: "Host(`{{ matrix_matrixto_container_labels_traefik_hostname }}`){% if matrix_matrixto_container_labels_traefik_path_prefix != '/' %} && PathPrefix(`{{ matrix_matrixto_container_labels_traefik_path_prefix }}`){% endif %}"
|
||||||
|
matrix_matrixto_container_labels_traefik_priority: 0
|
||||||
|
matrix_matrixto_container_labels_traefik_entrypoints: web-secure
|
||||||
|
matrix_matrixto_container_labels_traefik_tls: "{{ matrix_matrixto_container_labels_traefik_entrypoints != 'web' }}"
|
||||||
|
matrix_matrixto_container_labels_traefik_tls_certResolver: default # noqa var-naming
|
||||||
|
|
||||||
|
# Controls which additional headers to attach to all HTTP requests.
|
||||||
|
# To add your own custom request headers, use `matrix_matrixto_container_labels_traefik_additional_request_headers_custom`
|
||||||
|
matrix_matrixto_container_labels_traefik_additional_request_headers: "{{ matrix_matrixto_container_labels_traefik_additional_request_headers_auto | combine(matrix_matrixto_container_labels_traefik_additional_request_headers_custom) }}"
|
||||||
|
matrix_matrixto_container_labels_traefik_additional_request_headers_auto: {}
|
||||||
|
matrix_matrixto_container_labels_traefik_additional_request_headers_custom: {}
|
||||||
|
|
||||||
|
# Controls which additional headers to attach to all HTTP responses.
|
||||||
|
# To add your own custom response headers, use `matrix_matrixto_container_labels_traefik_additional_response_headers_custom`
|
||||||
|
matrix_matrixto_container_labels_traefik_additional_response_headers: "{{ matrix_matrixto_container_labels_traefik_additional_response_headers_auto | combine(matrix_matrixto_container_labels_traefik_additional_response_headers_custom) }}"
|
||||||
|
matrix_matrixto_container_labels_traefik_additional_response_headers_auto: |
|
||||||
|
{{
|
||||||
|
{}
|
||||||
|
| combine ({'X-XSS-Protection': matrix_matrixto_http_header_xss_protection} if matrix_matrixto_http_header_xss_protection else {})
|
||||||
|
| combine ({'X-Content-Type-Options': matrix_matrixto_http_header_content_type_options} if matrix_matrixto_http_header_content_type_options else {})
|
||||||
|
| combine ({'Content-Security-Policy': matrix_matrixto_http_header_content_security_policy} if matrix_matrixto_http_header_content_security_policy else {})
|
||||||
|
| combine ({'Permissions-Policy': matrix_matrixto_http_header_permissions_policy} if matrix_matrixto_http_header_permissions_policy else {})
|
||||||
|
| combine ({'Strict-Transport-Security': matrix_matrixto_http_header_strict_transport_security} if matrix_matrixto_http_header_strict_transport_security and matrix_matrixto_container_labels_traefik_tls else {})
|
||||||
|
}}
|
||||||
|
matrix_matrixto_container_labels_traefik_additional_response_headers_custom: {}
|
||||||
|
|
||||||
|
# matrix_matrixto_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_matrixto_container_labels_additional_labels: |
|
||||||
|
# my.label=1
|
||||||
|
# another.label="here"
|
||||||
|
matrix_matrixto_container_labels_additional_labels: ""
|
||||||
|
|
||||||
|
# A list of extra arguments to pass to the container (`docker run` command)
|
||||||
|
matrix_matrixto_container_extra_arguments: []
|
||||||
|
|
||||||
|
# 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_matrixto_http_header_xss_protection: "1; mode=block"
|
||||||
|
|
||||||
|
# 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_matrixto_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_matrixto_http_header_content_security_policy: frame-ancestors 'self'
|
||||||
|
|
||||||
|
# Specifies the value of the `Permissions-Policy` header.
|
||||||
|
# See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Permissions-Policy
|
||||||
|
matrix_matrixto_http_header_permissions_policy: "{{ 'interest-cohort=()' if matrix_matrixto_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_matrixto_http_header_strict_transport_security: "max-age=31536000; includeSubDomains{{ '; preload' if matrix_matrixto_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_matrixto_http_header_permissions_policy`
|
||||||
|
matrix_matrixto_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_matrixto_http_header_strict_transport_security`
|
||||||
|
matrix_matrixto_hsts_preload_enabled: false
|
||||||
|
|
||||||
|
# List of systemd services that the Matrix.to systemd service depends on
|
||||||
|
matrix_matrixto_systemd_required_services_list: "{{ matrix_matrixto_systemd_required_services_list_default + matrix_matrixto_systemd_required_services_list_auto + matrix_matrixto_systemd_required_services_list_custom }}"
|
||||||
|
matrix_matrixto_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
|
||||||
|
matrix_matrixto_systemd_required_services_list_auto: []
|
||||||
|
matrix_matrixto_systemd_required_services_list_custom: []
|
||||||
|
|
||||||
|
# List of systemd services that the Matrix.to systemd service wants
|
||||||
|
matrix_matrixto_systemd_wanted_services_list: "{{ matrix_matrixto_systemd_wanted_services_list_default + matrix_matrixto_systemd_wanted_services_list_auto + matrix_matrixto_systemd_wanted_services_list_custom }}"
|
||||||
|
matrix_matrixto_systemd_wanted_services_list_default: []
|
||||||
|
matrix_matrixto_systemd_wanted_services_list_auto: []
|
||||||
|
matrix_matrixto_systemd_wanted_services_list_custom: []
|
||||||
|
|
||||||
|
# Additional environment variables.
|
||||||
|
matrix_matrixto_environment_variables_additional_variables: ""
|
||||||
72
roles/custom/matrix-matrixto/tasks/install.yml
Normal file
72
roles/custom/matrix-matrixto/tasks/install.yml
Normal file
@@ -0,0 +1,72 @@
|
|||||||
|
# SPDX-FileCopyrightText: 2023 - 2025 Slavi Pantaleev
|
||||||
|
# SPDX-FileCopyrightText: 2025 Suguru Hirahara
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
|
|
||||||
|
---
|
||||||
|
- name: Ensure Matrix.to path exists
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: "{{ item }}"
|
||||||
|
state: directory
|
||||||
|
mode: "0750"
|
||||||
|
owner: "{{ matrix_user_name }}"
|
||||||
|
group: "{{ matrix_group_name }}"
|
||||||
|
with_items:
|
||||||
|
- "{{ matrix_matrixto_base_path }}"
|
||||||
|
|
||||||
|
- name: Ensure Matrix.to support files installed
|
||||||
|
ansible.builtin.template:
|
||||||
|
src: "{{ role_path }}/templates/{{ item }}.j2"
|
||||||
|
dest: "{{ matrix_matrixto_base_path }}/{{ item }}"
|
||||||
|
mode: "0640"
|
||||||
|
owner: "{{ matrix_user_name }}"
|
||||||
|
group: "{{ matrix_group_name }}"
|
||||||
|
with_items:
|
||||||
|
- env
|
||||||
|
- labels
|
||||||
|
|
||||||
|
- name: Ensure Matrix.to repository is present on self-build
|
||||||
|
ansible.builtin.git:
|
||||||
|
repo: "{{ matrix_matrixto_container_image_self_build_repo }}"
|
||||||
|
version: "{{ matrix_matrixto_container_image_self_build_repo_version }}"
|
||||||
|
dest: "{{ matrix_matrixto_container_image_self_build_src_files_path }}"
|
||||||
|
force: "yes"
|
||||||
|
register: matrix_matrixto_git_pull_results
|
||||||
|
|
||||||
|
- name: Ensure Matrix.to container image is built
|
||||||
|
community.docker.docker_image:
|
||||||
|
name: "{{ matrix_matrixto_container_image_self_build_name }}"
|
||||||
|
source: build
|
||||||
|
force_source: "{{ matrix_matrixto_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_matrixto_git_pull_results.changed }}"
|
||||||
|
build:
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
path: "{{ matrix_matrixto_container_image_self_build_src_files_path }}"
|
||||||
|
pull: true
|
||||||
|
args:
|
||||||
|
|
||||||
|
- name: Ensure Matrix.to container network is created via community.docker.docker_network
|
||||||
|
when: devture_systemd_docker_base_container_network_creation_method == 'ansible-module'
|
||||||
|
community.docker.docker_network:
|
||||||
|
enable_ipv6: "{{ devture_systemd_docker_base_ipv6_enabled }}"
|
||||||
|
name: "{{ matrix_matrixto_container_network }}"
|
||||||
|
driver: bridge
|
||||||
|
driver_options: "{{ devture_systemd_docker_base_container_networks_driver_options }}"
|
||||||
|
|
||||||
|
- name: Ensure Matrix.to container network is created via ansible.builtin.command
|
||||||
|
when: devture_systemd_docker_base_container_network_creation_method == 'command'
|
||||||
|
ansible.builtin.command:
|
||||||
|
cmd: >-
|
||||||
|
{{ devture_systemd_docker_base_host_command_docker }} network create
|
||||||
|
{% if devture_systemd_docker_base_ipv6_enabled %}--ipv6{% endif %}
|
||||||
|
{{ devture_systemd_docker_base_container_networks_driver_options_string }}
|
||||||
|
{{ matrix_matrixto_container_network }}
|
||||||
|
register: network_creation_result
|
||||||
|
changed_when: network_creation_result.rc == 0
|
||||||
|
failed_when: network_creation_result.rc != 0 and 'already exists' not in network_creation_result.stderr
|
||||||
|
|
||||||
|
- name: Ensure Matrix.to systemd service is present
|
||||||
|
ansible.builtin.template:
|
||||||
|
src: "{{ role_path }}/templates/systemd/matrix-matrixto.service.j2"
|
||||||
|
dest: "{{ devture_systemd_docker_base_systemd_path }}/{{ matrix_matrixto_identifier }}.service"
|
||||||
|
mode: "0644"
|
||||||
27
roles/custom/matrix-matrixto/tasks/main.yml
Normal file
27
roles/custom/matrix-matrixto/tasks/main.yml
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
# SPDX-FileCopyrightText: 2023 Slavi Pantaleev
|
||||||
|
# SPDX-FileCopyrightText: 2025 Suguru Hirahara
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
|
|
||||||
|
---
|
||||||
|
- name: Perform Matrix.to installation tasks
|
||||||
|
when: matrix_matrixto_enabled | bool
|
||||||
|
tags:
|
||||||
|
- setup-all
|
||||||
|
- setup-matrixto
|
||||||
|
- install-all
|
||||||
|
- install-matrixto
|
||||||
|
block:
|
||||||
|
- name: Validate Matrix.to configuration
|
||||||
|
ansible.builtin.include_tasks: "{{ role_path }}/tasks/validate_config.yml"
|
||||||
|
- name: Install Matrix.to
|
||||||
|
ansible.builtin.include_tasks: "{{ role_path }}/tasks/install.yml"
|
||||||
|
|
||||||
|
- name: Perform Matrix.to uninstallation tasks
|
||||||
|
when: not matrix_matrixto_enabled | bool
|
||||||
|
tags:
|
||||||
|
- setup-all
|
||||||
|
- setup-matrixto
|
||||||
|
block:
|
||||||
|
- name: Uninstall Matrix.to
|
||||||
|
ansible.builtin.include_tasks: "{{ role_path }}/tasks/uninstall.yml"
|
||||||
45
roles/custom/matrix-matrixto/tasks/uninstall.yml
Normal file
45
roles/custom/matrix-matrixto/tasks/uninstall.yml
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
# SPDX-FileCopyrightText: 2023 Slavi Pantaleev
|
||||||
|
# SPDX-FileCopyrightText: 2025 Suguru Hirahara
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
|
|
||||||
|
---
|
||||||
|
- name: Check existence of Matrix.to systemd service
|
||||||
|
ansible.builtin.stat:
|
||||||
|
path: "{{ devture_systemd_docker_base_systemd_path }}/{{ matrix_matrixto_identifier }}.service"
|
||||||
|
register: matrix_matrixto_service_stat
|
||||||
|
|
||||||
|
- name: Uninstall Matrix.to systemd services and files
|
||||||
|
when: matrix_matrixto_service_stat.stat.exists | bool
|
||||||
|
block:
|
||||||
|
- name: Ensure Matrix.to systemd service is stopped
|
||||||
|
ansible.builtin.service:
|
||||||
|
name: "{{ matrix_matrixto_identifier }}"
|
||||||
|
state: stopped
|
||||||
|
enabled: false
|
||||||
|
daemon_reload: true
|
||||||
|
|
||||||
|
- name: Ensure Matrix.to systemd service does not exist
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: "{{ devture_systemd_docker_base_systemd_path }}/{{ matrix_matrixto_identifier }}.service"
|
||||||
|
state: absent
|
||||||
|
|
||||||
|
- name: Ensure Matrix.to container network does not exist via community.docker.docker_network
|
||||||
|
when: devture_systemd_docker_base_container_network_creation_method == 'ansible-module'
|
||||||
|
community.docker.docker_network:
|
||||||
|
name: "{{ matrix_matrixto_container_network }}"
|
||||||
|
state: absent
|
||||||
|
|
||||||
|
- name: Ensure Matrix.to container network does not exist via ansible.builtin.command
|
||||||
|
when: devture_systemd_docker_base_container_network_creation_method == 'command'
|
||||||
|
ansible.builtin.command:
|
||||||
|
cmd: >-
|
||||||
|
{{ devture_systemd_docker_base_host_command_docker }} network rm
|
||||||
|
{{ matrix_matrixto_container_network }}
|
||||||
|
register: network_deletion_result
|
||||||
|
changed_when: matrix_matrixto_container_network in network_deletion_result.stdout
|
||||||
|
|
||||||
|
- name: Ensure Matrix.to path does not exist
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: "{{ matrix_matrixto_base_path }}"
|
||||||
|
state: absent
|
||||||
43
roles/custom/matrix-matrixto/tasks/validate_config.yml
Normal file
43
roles/custom/matrix-matrixto/tasks/validate_config.yml
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
# SPDX-FileCopyrightText: 2023 Slavi Pantaleev
|
||||||
|
# SPDX-FileCopyrightText: 2025 Suguru Hirahara
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
|
|
||||||
|
---
|
||||||
|
- name: Fail if required Matrix.to settings not defined
|
||||||
|
ansible.builtin.fail:
|
||||||
|
msg: >-
|
||||||
|
You need to define a required configuration setting (`{{ item }}`).
|
||||||
|
when: "lookup('vars', item, default='') | string | length == 0"
|
||||||
|
with_items:
|
||||||
|
- matrix_matrixto_hostname
|
||||||
|
- matrix_matrixto_path_prefix
|
||||||
|
- matrix_matrixto_container_network
|
||||||
|
|
||||||
|
- name: Run if Traefik is enabled
|
||||||
|
when: matrix_matrixto_container_labels_traefik_enabled | bool
|
||||||
|
block:
|
||||||
|
- name: Fail if Traefik settings required for Matrix.to are not defined
|
||||||
|
ansible.builtin.fail:
|
||||||
|
msg: >-
|
||||||
|
You need to define a required configuration setting (`{{ item }}`).
|
||||||
|
when: "lookup('vars', item, default='') | string | length == 0"
|
||||||
|
with_items:
|
||||||
|
- matrix_matrixto_container_labels_traefik_hostname
|
||||||
|
- matrix_matrixto_container_labels_traefik_path_prefix
|
||||||
|
|
||||||
|
- name: Fail if matrix_matrixto_container_labels_traefik_path_prefix is different than /
|
||||||
|
ansible.builtin.fail:
|
||||||
|
msg: >-
|
||||||
|
matrix_matrixto_container_labels_traefik_path_prefix (`{{ matrix_matrixto_container_labels_traefik_path_prefix }}`) must be `/`.
|
||||||
|
Matrix.to does not support hosting under a subpath yet.
|
||||||
|
when: "matrix_matrixto_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_matrixto_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_matrixto_container_labels_traefik_path_prefix ends with a slash
|
||||||
|
ansible.builtin.fail:
|
||||||
|
msg: >-
|
||||||
|
matrix_matrixto_container_labels_traefik_path_prefix (`{{ matrix_matrixto_container_labels_traefik_path_prefix }}`) must either be `/` or not end with a slash (e.g. `/matrixto`).
|
||||||
|
when: "matrix_matrixto_container_labels_traefik_path_prefix != '/' and matrix_matrixto_container_labels_traefik_path_prefix[-1] == '/'"
|
||||||
7
roles/custom/matrix-matrixto/templates/env.j2
Normal file
7
roles/custom/matrix-matrixto/templates/env.j2
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{#
|
||||||
|
SPDX-FileCopyrightText: 2025 Suguru Hirahara
|
||||||
|
|
||||||
|
SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
|
#}
|
||||||
|
|
||||||
|
{{ matrix_matrixto_environment_variables_additional_variables }}
|
||||||
59
roles/custom/matrix-matrixto/templates/labels.j2
Normal file
59
roles/custom/matrix-matrixto/templates/labels.j2
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
{#
|
||||||
|
SPDX-FileCopyrightText: 2023 Slavi Pantaleev
|
||||||
|
SPDX-FileCopyrightText: 2025 Suguru Hirahara
|
||||||
|
|
||||||
|
SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
|
#}
|
||||||
|
|
||||||
|
{% if matrix_matrixto_container_labels_traefik_enabled %}
|
||||||
|
traefik.enable=true
|
||||||
|
|
||||||
|
{% if matrix_matrixto_container_labels_traefik_docker_network %}
|
||||||
|
traefik.docker.network={{ matrix_matrixto_container_labels_traefik_docker_network }}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% set middlewares = [] %}
|
||||||
|
|
||||||
|
{% if matrix_matrixto_container_labels_traefik_path_prefix != '/' %}
|
||||||
|
traefik.http.middlewares.{{ matrix_matrixto_identifier }}-slashless-redirect.redirectregex.regex=^({{ matrix_matrixto_container_labels_traefik_path_prefix | quote }})$
|
||||||
|
traefik.http.middlewares.{{ matrix_matrixto_identifier }}-slashless-redirect.redirectregex.replacement=${1}/
|
||||||
|
{% set middlewares = middlewares + [matrix_matrixto_identifier + '-slashless-redirect'] %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if matrix_matrixto_container_labels_traefik_path_prefix != '/' %}
|
||||||
|
traefik.http.middlewares.{{ matrix_matrixto_identifier }}-strip-prefix.stripprefix.prefixes={{ matrix_matrixto_container_labels_traefik_path_prefix }}
|
||||||
|
{% set middlewares = middlewares + [matrix_matrixto_identifier + '-strip-prefix'] %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if matrix_matrixto_container_labels_traefik_additional_request_headers.keys() | length > 0 %}
|
||||||
|
{% for name, value in matrix_matrixto_container_labels_traefik_additional_request_headers.items() %}
|
||||||
|
traefik.http.middlewares.{{ matrix_matrixto_identifier }}-add-request-headers.headers.customrequestheaders.{{ name }}={{ value }}
|
||||||
|
{% endfor %}
|
||||||
|
{% set middlewares = middlewares + [matrix_matrixto_identifier + '-add-request-headers'] %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if matrix_matrixto_container_labels_traefik_additional_response_headers.keys() | length > 0 %}
|
||||||
|
{% for name, value in matrix_matrixto_container_labels_traefik_additional_response_headers.items() %}
|
||||||
|
traefik.http.middlewares.{{ matrix_matrixto_identifier }}-add-response-headers.headers.customresponseheaders.{{ name }}={{ value }}
|
||||||
|
{% endfor %}
|
||||||
|
{% set middlewares = middlewares + [matrix_matrixto_identifier + '-add-response-headers'] %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
traefik.http.routers.{{ matrix_matrixto_identifier }}.rule={{ matrix_matrixto_container_labels_traefik_rule }}
|
||||||
|
{% if matrix_matrixto_container_labels_traefik_priority | int > 0 %}
|
||||||
|
traefik.http.routers.{{ matrix_matrixto_identifier }}.priority={{ matrix_matrixto_container_labels_traefik_priority }}
|
||||||
|
{% endif %}
|
||||||
|
traefik.http.routers.{{ matrix_matrixto_identifier }}.service={{ matrix_matrixto_identifier }}
|
||||||
|
{% if middlewares | length > 0 %}
|
||||||
|
traefik.http.routers.{{ matrix_matrixto_identifier }}.middlewares={{ middlewares | join(',') }}
|
||||||
|
{% endif %}
|
||||||
|
traefik.http.routers.{{ matrix_matrixto_identifier }}.entrypoints={{ matrix_matrixto_container_labels_traefik_entrypoints }}
|
||||||
|
traefik.http.routers.{{ matrix_matrixto_identifier }}.tls={{ matrix_matrixto_container_labels_traefik_tls | to_json }}
|
||||||
|
{% if matrix_matrixto_container_labels_traefik_tls %}
|
||||||
|
traefik.http.routers.{{ matrix_matrixto_identifier }}.tls.certResolver={{ matrix_matrixto_container_labels_traefik_tls_certResolver }}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
traefik.http.services.{{ matrix_matrixto_identifier }}.loadbalancer.server.port={{ matrix_matrixto_container_http_port }}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{{ matrix_matrixto_container_labels_additional_labels }}
|
||||||
@@ -0,0 +1,59 @@
|
|||||||
|
{#
|
||||||
|
SPDX-FileCopyrightText: 2023 Slavi Pantaleev
|
||||||
|
SPDX-FileCopyrightText: 2024 Nikita Chernyi
|
||||||
|
SPDX-FileCopyrightText: 2025 Suguru Hirahara
|
||||||
|
|
||||||
|
SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
|
#}
|
||||||
|
|
||||||
|
[Unit]
|
||||||
|
Description=Matrix.to ({{ matrix_matrixto_identifier }})
|
||||||
|
{% for service in matrix_matrixto_systemd_required_services_list %}
|
||||||
|
Requires={{ service }}
|
||||||
|
After={{ service }}
|
||||||
|
{% endfor %}
|
||||||
|
{% for service in matrix_matrixto_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 -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} {{ matrix_matrixto_identifier }} 2>/dev/null || true'
|
||||||
|
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm {{ matrix_matrixto_identifier }} 2>/dev/null || true'
|
||||||
|
|
||||||
|
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
|
||||||
|
--rm \
|
||||||
|
--name={{ matrix_matrixto_identifier }} \
|
||||||
|
--log-driver=none \
|
||||||
|
--user={{ matrix_user_uid }}:{{ matrix_user_gid }} \
|
||||||
|
--cap-drop=ALL \
|
||||||
|
--read-only \
|
||||||
|
--network={{ matrix_matrixto_container_network }} \
|
||||||
|
{% if matrix_matrixto_container_http_host_bind_port %}
|
||||||
|
-p {{ matrix_matrixto_container_http_host_bind_port }}:{{ matrix_matrixto_container_http_port }} \
|
||||||
|
{% endif %}
|
||||||
|
--env-file={{ matrix_matrixto_base_path }}/env \
|
||||||
|
--label-file={{ matrix_matrixto_base_path }}/labels \
|
||||||
|
--tmpfs=/tmp:rw,noexec,nosuid,size=128m \
|
||||||
|
{% for arg in matrix_matrixto_container_extra_arguments %}
|
||||||
|
{{ arg }} \
|
||||||
|
{% endfor %}
|
||||||
|
{{ matrix_matrixto_container_image_self_build_name }}
|
||||||
|
|
||||||
|
{% for network in matrix_matrixto_container_additional_networks %}
|
||||||
|
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network connect {{ network }} {{ matrix_matrixto_identifier }}
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
|
ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach {{ matrix_matrixto_identifier }}
|
||||||
|
|
||||||
|
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_matrixto_identifier }} 2>/dev/null || true'
|
||||||
|
ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm {{ matrix_matrixto_identifier }} 2>/dev/null || true'
|
||||||
|
|
||||||
|
Restart=always
|
||||||
|
RestartSec=30
|
||||||
|
SyslogIdentifier={{ matrix_matrixto_identifier }}
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
@@ -895,13 +895,7 @@ matrix_media_repo_redis_database_number: 0
|
|||||||
|
|
||||||
# The Redis shards that should be used by the media repo in the ring. The names of the
|
# The Redis shards that should be used by the media repo in the ring. The names of the
|
||||||
# shards are for your reference and have no bearing on the connection, but must be unique.
|
# shards are for your reference and have no bearing on the connection, but must be unique.
|
||||||
matrix_media_repo_redis_shards:
|
matrix_media_repo_redis_shards: []
|
||||||
- name: "server1"
|
|
||||||
addr: ":7000"
|
|
||||||
- name: "server2"
|
|
||||||
addr: ":7001"
|
|
||||||
- name: "server3"
|
|
||||||
addr: ":7002"
|
|
||||||
|
|
||||||
# Optional sentry (https://sentry.io/) configuration for the media repo
|
# Optional sentry (https://sentry.io/) configuration for the media repo
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
msg: "The `{{ item }}` variable must be defined and have a non-null value."
|
msg: "The `{{ item }}` variable must be defined and have a non-null value."
|
||||||
with_items:
|
with_items:
|
||||||
- "matrix_pantalaimon_homeserver_url"
|
- "matrix_pantalaimon_homeserver_url"
|
||||||
when: "vars[item] == '' or vars[item] is none"
|
when: "lookup('vars', item, default='') == '' or lookup('vars', item, default='') is none"
|
||||||
|
|
||||||
- name: (Deprecation) Catch and report renamed Pantalaimon variables
|
- name: (Deprecation) Catch and report renamed Pantalaimon variables
|
||||||
ansible.builtin.fail:
|
ansible.builtin.fail:
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ matrix_rageshake_path_prefix: /
|
|||||||
# There are no stable container image tags yet.
|
# There are no stable container image tags yet.
|
||||||
# See: https://github.com/matrix-org/rageshake/issues/69
|
# See: https://github.com/matrix-org/rageshake/issues/69
|
||||||
# renovate: datasource=docker depName=ghcr.io/matrix-org/rageshake
|
# renovate: datasource=docker depName=ghcr.io/matrix-org/rageshake
|
||||||
matrix_rageshake_version: 1.17.0
|
matrix_rageshake_version: 1.17.1
|
||||||
|
|
||||||
matrix_rageshake_base_path: "{{ matrix_base_data_path }}/rageshake"
|
matrix_rageshake_base_path: "{{ matrix_base_data_path }}/rageshake"
|
||||||
matrix_rageshake_config_path: "{{ matrix_rageshake_base_path }}/config"
|
matrix_rageshake_config_path: "{{ matrix_rageshake_base_path }}/config"
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
ansible.builtin.fail:
|
ansible.builtin.fail:
|
||||||
msg: >
|
msg: >
|
||||||
You need to define a required configuration setting (`{{ item }}`).
|
You need to define a required configuration setting (`{{ item }}`).
|
||||||
when: "vars[item] == ''"
|
when: "lookup('vars', item, default='') == ''"
|
||||||
with_items:
|
with_items:
|
||||||
- matrix_rageshake_hostname
|
- matrix_rageshake_hostname
|
||||||
- matrix_rageshake_path_prefix
|
- matrix_rageshake_path_prefix
|
||||||
@@ -29,7 +29,7 @@
|
|||||||
ansible.builtin.fail:
|
ansible.builtin.fail:
|
||||||
msg: >-
|
msg: >-
|
||||||
You need to define a required configuration setting (`{{ item }}`).
|
You need to define a required configuration setting (`{{ item }}`).
|
||||||
when: "vars[item] == ''"
|
when: "lookup('vars', item, default='') == ''"
|
||||||
with_items:
|
with_items:
|
||||||
- matrix_rageshake_container_labels_traefik_hostname
|
- matrix_rageshake_container_labels_traefik_hostname
|
||||||
- matrix_rageshake_container_labels_traefik_path_prefix
|
- matrix_rageshake_container_labels_traefik_path_prefix
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ matrix_static_files_enabled: true
|
|||||||
matrix_static_files_identifier: matrix-static-files
|
matrix_static_files_identifier: matrix-static-files
|
||||||
|
|
||||||
# renovate: datasource=docker depName=joseluisq/static-web-server
|
# renovate: datasource=docker depName=joseluisq/static-web-server
|
||||||
matrix_static_files_version: 2.39.0
|
matrix_static_files_version: 2.40.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_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"
|
matrix_static_files_config_path: "{{ matrix_static_files_base_path }}/config"
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
ansible.builtin.fail:
|
ansible.builtin.fail:
|
||||||
msg: >-
|
msg: >-
|
||||||
You need to define a required configuration setting (`{{ item.name }}`).
|
You need to define a required configuration setting (`{{ item.name }}`).
|
||||||
when: "item.when | bool and vars[item.name] | string | length == 0"
|
when: "item.when | bool and lookup('vars', item.name, default='') | string | length == 0"
|
||||||
with_items:
|
with_items:
|
||||||
- {'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_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_matrix_endpoint_traefik_path_prefix', when: "{{ matrix_static_files_container_labels_well_known_matrix_endpoint_enabled }}"}
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
--env-file={{ matrix_static_files_base_path }}/env \
|
--env-file={{ matrix_static_files_base_path }}/env \
|
||||||
--label-file={{ matrix_static_files_base_path }}/labels \
|
--label-file={{ matrix_static_files_base_path }}/labels \
|
||||||
--mount type=bind,src={{ matrix_static_files_public_path }},dst=/public,ro \
|
--mount type=bind,src={{ matrix_static_files_public_path }},dst=/var/public,ro \
|
||||||
--mount type=bind,src={{ matrix_static_files_config_path }},dst=/config,ro \
|
--mount type=bind,src={{ matrix_static_files_config_path }},dst=/config,ro \
|
||||||
{{ matrix_static_files_container_image }}
|
{{ matrix_static_files_container_image }}
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
ansible.builtin.fail:
|
ansible.builtin.fail:
|
||||||
msg: >
|
msg: >
|
||||||
You need to define a required configuration setting (`{{ item }}`).
|
You need to define a required configuration setting (`{{ item }}`).
|
||||||
when: "vars[item] == ''"
|
when: "lookup('vars', item, default='') == ''"
|
||||||
with_items:
|
with_items:
|
||||||
- matrix_sygnal_hostname
|
- matrix_sygnal_hostname
|
||||||
- matrix_sygnal_path_prefix
|
- matrix_sygnal_path_prefix
|
||||||
@@ -21,7 +21,7 @@
|
|||||||
ansible.builtin.fail:
|
ansible.builtin.fail:
|
||||||
msg: >-
|
msg: >-
|
||||||
You need to define a required configuration setting (`{{ item }}`).
|
You need to define a required configuration setting (`{{ item }}`).
|
||||||
when: "vars[item] == ''"
|
when: "lookup('vars', item, default='') == ''"
|
||||||
with_items:
|
with_items:
|
||||||
- matrix_sygnal_container_labels_traefik_hostname
|
- matrix_sygnal_container_labels_traefik_hostname
|
||||||
- matrix_sygnal_container_labels_traefik_path_prefix
|
- matrix_sygnal_container_labels_traefik_path_prefix
|
||||||
|
|||||||
@@ -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"
|
matrix_synapse_admin_container_image_self_build_repo: "https://github.com/etkecc/synapse-admin.git"
|
||||||
|
|
||||||
# renovate: datasource=docker depName=ghcr.io/etkecc/synapse-admin
|
# renovate: datasource=docker depName=ghcr.io/etkecc/synapse-admin
|
||||||
matrix_synapse_admin_version: v0.11.1-etke49
|
matrix_synapse_admin_version: v0.11.1-etke52
|
||||||
matrix_synapse_admin_docker_image: "{{ matrix_synapse_admin_docker_image_registry_prefix }}etkecc/synapse-admin:{{ matrix_synapse_admin_version }}"
|
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: "{{ '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: "{{ matrix_synapse_admin_docker_image_registry_prefix_upstream_default }}"
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
ansible.builtin.fail:
|
ansible.builtin.fail:
|
||||||
msg: >-
|
msg: >-
|
||||||
You need to define a required configuration setting (`{{ item }}`).
|
You need to define a required configuration setting (`{{ item }}`).
|
||||||
when: "vars[item] == ''"
|
when: "lookup('vars', item, default='') == ''"
|
||||||
with_items:
|
with_items:
|
||||||
- matrix_synapse_admin_container_labels_traefik_hostname
|
- matrix_synapse_admin_container_labels_traefik_hostname
|
||||||
- matrix_synapse_admin_container_labels_traefik_path_prefix
|
- matrix_synapse_admin_container_labels_traefik_path_prefix
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
ansible.builtin.fail:
|
ansible.builtin.fail:
|
||||||
msg: >
|
msg: >
|
||||||
You need to define a required configuration setting (`{{ item }}`).
|
You need to define a required configuration setting (`{{ item }}`).
|
||||||
when: "vars[item] == ''"
|
when: "lookup('vars', item, default='') == ''"
|
||||||
with_items:
|
with_items:
|
||||||
- matrix_synapse_auto_compressor_database_hostname
|
- matrix_synapse_auto_compressor_database_hostname
|
||||||
- matrix_synapse_auto_compressor_database_password
|
- matrix_synapse_auto_compressor_database_password
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
matrix_synapse_reverse_proxy_companion_enabled: true
|
matrix_synapse_reverse_proxy_companion_enabled: true
|
||||||
|
|
||||||
# renovate: datasource=docker depName=nginx
|
# renovate: datasource=docker depName=nginx
|
||||||
matrix_synapse_reverse_proxy_companion_version: 1.29.3-alpine
|
matrix_synapse_reverse_proxy_companion_version: 1.29.4-alpine
|
||||||
|
|
||||||
matrix_synapse_reverse_proxy_companion_base_path: "{{ matrix_synapse_base_path }}/reverse-proxy-companion"
|
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"
|
matrix_synapse_reverse_proxy_companion_confd_path: "{{ matrix_synapse_reverse_proxy_companion_base_path }}/conf.d"
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ matrix_synapse_enabled: true
|
|||||||
matrix_synapse_github_org_and_repo: element-hq/synapse
|
matrix_synapse_github_org_and_repo: element-hq/synapse
|
||||||
|
|
||||||
# renovate: datasource=docker depName=ghcr.io/element-hq/synapse
|
# renovate: datasource=docker depName=ghcr.io/element-hq/synapse
|
||||||
matrix_synapse_version: v1.141.0
|
matrix_synapse_version: v1.145.0
|
||||||
|
|
||||||
matrix_synapse_username: ''
|
matrix_synapse_username: ''
|
||||||
matrix_synapse_uid: ''
|
matrix_synapse_uid: ''
|
||||||
@@ -128,6 +128,8 @@ matrix_synapse_ext_path: "{{ matrix_synapse_base_path }}/ext"
|
|||||||
matrix_synapse_ext_s3_storage_provider_base_path: "{{ matrix_synapse_base_path }}/ext/s3-storage-provider"
|
matrix_synapse_ext_s3_storage_provider_base_path: "{{ matrix_synapse_base_path }}/ext/s3-storage-provider"
|
||||||
matrix_synapse_ext_s3_storage_provider_bin_path: "{{ matrix_synapse_ext_s3_storage_provider_base_path }}/bin"
|
matrix_synapse_ext_s3_storage_provider_bin_path: "{{ matrix_synapse_ext_s3_storage_provider_base_path }}/bin"
|
||||||
matrix_synapse_ext_s3_storage_provider_data_path: "{{ matrix_synapse_ext_s3_storage_provider_base_path }}/data"
|
matrix_synapse_ext_s3_storage_provider_data_path: "{{ matrix_synapse_ext_s3_storage_provider_base_path }}/data"
|
||||||
|
# extra arguments to pass to s3-storage-provider script when starting Synapse container
|
||||||
|
matrix_synapse_ext_s3_storage_provider_container_arguments: []
|
||||||
|
|
||||||
matrix_synapse_container_client_api_port: 8008
|
matrix_synapse_container_client_api_port: 8008
|
||||||
|
|
||||||
@@ -675,7 +677,7 @@ matrix_synapse_caches_sync_response_cache_duration: "2m"
|
|||||||
# Controls how much memory this role thinks is available for cache-size-related calculations.
|
# Controls how much memory this role thinks is available for cache-size-related calculations.
|
||||||
# By default, all of the server's memory is taken into account, but you can adjust this.
|
# By default, all of the server's memory is taken into account, but you can adjust this.
|
||||||
# You can also go for directly adjusting cache-sizes (matrix_synapse_cache_autotuning_max_cache_memory_usage, matrix_synapse_cache_autotuning_target_cache_memory_usage) instead of adjusting this.
|
# You can also go for directly adjusting cache-sizes (matrix_synapse_cache_autotuning_max_cache_memory_usage, matrix_synapse_cache_autotuning_target_cache_memory_usage) instead of adjusting this.
|
||||||
matrix_synapse_cache_size_calculations_memtotal_bytes: "{{ (ansible_memtotal_mb * 1024 * 1024) | int }}"
|
matrix_synapse_cache_size_calculations_memtotal_bytes: "{{ (ansible_facts['memtotal_mb'] * 1024 * 1024) | int }}"
|
||||||
|
|
||||||
# Controls the cap to use for matrix_synapse_cache_autotuning_max_cache_memory_usage.
|
# Controls the cap to use for matrix_synapse_cache_autotuning_max_cache_memory_usage.
|
||||||
matrix_synapse_cache_size_calculations_max_cache_memory_usage_cap_bytes: "{{ (2 * 1024 * 1024 * 1024) }}" # 2GB
|
matrix_synapse_cache_size_calculations_max_cache_memory_usage_cap_bytes: "{{ (2 * 1024 * 1024 * 1024) }}" # 2GB
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
ansible.builtin.fail:
|
ansible.builtin.fail:
|
||||||
msg: >-
|
msg: >-
|
||||||
You need to define a required configuration setting (`{{ item }}`) for using s3-storage-provider.
|
You need to define a required configuration setting (`{{ item }}`) for using s3-storage-provider.
|
||||||
when: "vars[item] == ''"
|
when: "lookup('vars', item, default='') == ''"
|
||||||
with_items:
|
with_items:
|
||||||
- "matrix_synapse_ext_synapse_s3_storage_provider_config_bucket"
|
- "matrix_synapse_ext_synapse_s3_storage_provider_config_bucket"
|
||||||
- "matrix_synapse_ext_synapse_s3_storage_provider_config_region_name"
|
- "matrix_synapse_ext_synapse_s3_storage_provider_config_region_name"
|
||||||
@@ -19,7 +19,7 @@
|
|||||||
ansible.builtin.fail:
|
ansible.builtin.fail:
|
||||||
msg: >-
|
msg: >-
|
||||||
You need to define a required configuration setting (`{{ item }}`) for using s3-storage-provider.
|
You need to define a required configuration setting (`{{ item }}`) for using s3-storage-provider.
|
||||||
when: "not matrix_synapse_ext_synapse_s3_storage_provider_config_ec2_instance_profile | bool and vars[item] == ''"
|
when: "not matrix_synapse_ext_synapse_s3_storage_provider_config_ec2_instance_profile | bool and lookup('vars', item, default='') == ''"
|
||||||
with_items:
|
with_items:
|
||||||
- "matrix_synapse_ext_synapse_s3_storage_provider_config_access_key_id"
|
- "matrix_synapse_ext_synapse_s3_storage_provider_config_access_key_id"
|
||||||
- "matrix_synapse_ext_synapse_s3_storage_provider_config_secret_access_key"
|
- "matrix_synapse_ext_synapse_s3_storage_provider_config_secret_access_key"
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
ansible.builtin.fail:
|
ansible.builtin.fail:
|
||||||
msg: >-
|
msg: >-
|
||||||
You need to define a required configuration setting (`{{ item }}`) for using synapse-http-antispam.
|
You need to define a required configuration setting (`{{ item }}`) for using synapse-http-antispam.
|
||||||
when: "vars[item] == ''"
|
when: "lookup('vars', item, default='') == ''"
|
||||||
with_items:
|
with_items:
|
||||||
- "matrix_synapse_ext_synapse_http_antispam_enabled"
|
- "matrix_synapse_ext_synapse_http_antispam_enabled"
|
||||||
- "matrix_synapse_ext_synapse_http_antispam_config_base_url"
|
- "matrix_synapse_ext_synapse_http_antispam_config_base_url"
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
ansible.builtin.fail:
|
ansible.builtin.fail:
|
||||||
msg: >-
|
msg: >-
|
||||||
You need to define a required configuration setting (`{{ item.name }}`).
|
You need to define a required configuration setting (`{{ item.name }}`).
|
||||||
when: "item.when | bool and vars[item.name] | string | length == 0"
|
when: "item.when | bool and lookup('vars', item.name, default='') | string | length == 0"
|
||||||
with_items:
|
with_items:
|
||||||
- {'name': 'matrix_synapse_username', when: true}
|
- {'name': 'matrix_synapse_username', when: true}
|
||||||
- {'name': 'matrix_synapse_uid', when: true}
|
- {'name': 'matrix_synapse_uid', when: true}
|
||||||
@@ -48,7 +48,7 @@
|
|||||||
ansible.builtin.fail:
|
ansible.builtin.fail:
|
||||||
msg: >-
|
msg: >-
|
||||||
`{{ item }}` cannot be more than 1. This is a single-instance worker.
|
`{{ item }}` cannot be more than 1. This is a single-instance worker.
|
||||||
when: "vars[item] | int > 1"
|
when: "lookup('vars', item, default='') | int > 1"
|
||||||
with_items:
|
with_items:
|
||||||
- "matrix_synapse_workers_appservice_workers_count"
|
- "matrix_synapse_workers_appservice_workers_count"
|
||||||
- "matrix_synapse_workers_user_dir_workers_count"
|
- "matrix_synapse_workers_user_dir_workers_count"
|
||||||
@@ -138,7 +138,7 @@
|
|||||||
ansible.builtin.fail:
|
ansible.builtin.fail:
|
||||||
msg: >-
|
msg: >-
|
||||||
You need to define a required configuration setting (`{{ item }}`) when enabling `matrix_synapse_container_image_customizations_templates_enabled`.
|
You need to define a required configuration setting (`{{ item }}`) when enabling `matrix_synapse_container_image_customizations_templates_enabled`.
|
||||||
when: "vars[item] == ''"
|
when: "lookup('vars', item, default='') == ''"
|
||||||
with_items:
|
with_items:
|
||||||
- matrix_synapse_container_image_customizations_templates_git_repository_url
|
- matrix_synapse_container_image_customizations_templates_git_repository_url
|
||||||
- matrix_synapse_container_image_customizations_templates_git_repository_branch
|
- matrix_synapse_container_image_customizations_templates_git_repository_branch
|
||||||
@@ -147,7 +147,7 @@
|
|||||||
ansible.builtin.fail:
|
ansible.builtin.fail:
|
||||||
msg: >-
|
msg: >-
|
||||||
You need to define a required configuration setting (`{{ item }}`) when enabling `matrix_synapse_container_image_customizations_templates_git_repository_keyscan`.
|
You need to define a required configuration setting (`{{ item }}`) when enabling `matrix_synapse_container_image_customizations_templates_git_repository_keyscan`.
|
||||||
when: "matrix_synapse_container_image_customizations_templates_git_repository_keyscan_enabled | bool and vars[item] == ''"
|
when: "matrix_synapse_container_image_customizations_templates_git_repository_keyscan_enabled | bool and lookup('vars', item, default='') == ''"
|
||||||
with_items:
|
with_items:
|
||||||
- matrix_synapse_container_image_customizations_templates_git_repository_keyscan_hostname
|
- matrix_synapse_container_image_customizations_templates_git_repository_keyscan_hostname
|
||||||
|
|
||||||
@@ -166,7 +166,7 @@
|
|||||||
- name: Fail if known Synapse password provider modules are enabled when auth is delegated to Matrix Authentication Service
|
- name: Fail if known Synapse password provider modules are enabled when auth is delegated to Matrix Authentication Service
|
||||||
ansible.builtin.fail:
|
ansible.builtin.fail:
|
||||||
msg: "When Synapse is delegating authentication to Matrix Authentication Service (`matrix_synapse_matrix_authentication_service_enabled: true`), it does not make sense to enable password provider modules, because it is not Synapse that is handling authentication. Please disable {{ item }} before enabling Matrix Authentication Service integration for Synapse. Synapse will refuse to start otherwise."
|
msg: "When Synapse is delegating authentication to Matrix Authentication Service (`matrix_synapse_matrix_authentication_service_enabled: true`), it does not make sense to enable password provider modules, because it is not Synapse that is handling authentication. Please disable {{ item }} before enabling Matrix Authentication Service integration for Synapse. Synapse will refuse to start otherwise."
|
||||||
when: matrix_synapse_matrix_authentication_service_enabled and vars[item] | bool
|
when: matrix_synapse_matrix_authentication_service_enabled and lookup('vars', item, default='') | bool
|
||||||
with_items:
|
with_items:
|
||||||
- matrix_synapse_ext_password_provider_rest_auth_enabled
|
- matrix_synapse_ext_password_provider_rest_auth_enabled
|
||||||
- matrix_synapse_ext_password_provider_shared_secret_auth_enabled
|
- matrix_synapse_ext_password_provider_shared_secret_auth_enabled
|
||||||
|
|||||||
@@ -11,6 +11,9 @@ container_id=$(\
|
|||||||
--workdir=/data \
|
--workdir=/data \
|
||||||
--network={{ matrix_synapse_container_network }} \
|
--network={{ matrix_synapse_container_network }} \
|
||||||
--entrypoint=/bin/bash \
|
--entrypoint=/bin/bash \
|
||||||
|
{% for arg in matrix_synapse_ext_s3_storage_provider_container_arguments %}
|
||||||
|
{{ arg }} \
|
||||||
|
{% endfor %}
|
||||||
{{ matrix_synapse_docker_image_final }} \
|
{{ matrix_synapse_docker_image_final }} \
|
||||||
-c 's3_media_upload update-db $UPDATE_DB_DURATION && s3_media_upload --no-progress check-deleted $MEDIA_PATH && s3_media_upload --no-progress upload $MEDIA_PATH $BUCKET --delete --storage-class $STORAGE_CLASS --endpoint-url $ENDPOINT {% if matrix_synapse_ext_synapse_s3_storage_provider_config_sse_customer_enabled %}--sse-customer-algo $SSE_CUSTOMER_ALGO --sse-customer-key $SSE_CUSTOMER_KEY{% endif %}' \
|
-c 's3_media_upload update-db $UPDATE_DB_DURATION && s3_media_upload --no-progress check-deleted $MEDIA_PATH && s3_media_upload --no-progress upload $MEDIA_PATH $BUCKET --delete --storage-class $STORAGE_CLASS --endpoint-url $ENDPOINT {% if matrix_synapse_ext_synapse_s3_storage_provider_config_sse_customer_enabled %}--sse-customer-algo $SSE_CUSTOMER_ALGO --sse-customer-key $SSE_CUSTOMER_KEY{% endif %}' \
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -200,12 +200,13 @@ matrix_synapse_workers_generic_worker_endpoints:
|
|||||||
- ^/_matrix/client/(r0|v3|unstable)/notifications$
|
- ^/_matrix/client/(r0|v3|unstable)/notifications$
|
||||||
|
|
||||||
# Encryption requests
|
# Encryption requests
|
||||||
# Note that ^/_matrix/client/(r0|v3|unstable)/keys/upload/ requires `worker_main_http_uri`
|
|
||||||
- ^/_matrix/client/(r0|v3|unstable)/keys/query$
|
- ^/_matrix/client/(r0|v3|unstable)/keys/query$
|
||||||
- ^/_matrix/client/(r0|v3|unstable)/keys/changes$
|
- ^/_matrix/client/(r0|v3|unstable)/keys/changes$
|
||||||
- ^/_matrix/client/(r0|v3|unstable)/keys/claim$
|
- ^/_matrix/client/(r0|v3|unstable)/keys/claim$
|
||||||
- ^/_matrix/client/(r0|v3|unstable)/room_keys/
|
- ^/_matrix/client/(r0|v3|unstable)/room_keys/
|
||||||
- ^/_matrix/client/(r0|v3|unstable)/keys/upload/
|
- ^/_matrix/client/(r0|v3|unstable)/keys/upload$
|
||||||
|
- ^/_matrix/client/(api/v1|r0|v3|unstable)/keys/device_signing/upload$
|
||||||
|
- ^/_matrix/client/(api/v1|r0|v3|unstable)/keys/signatures/upload$
|
||||||
|
|
||||||
# Registration/login requests
|
# Registration/login requests
|
||||||
- ^/_matrix/client/(api/v1|r0|v3|unstable)/login$
|
- ^/_matrix/client/(api/v1|r0|v3|unstable)/login$
|
||||||
@@ -223,6 +224,12 @@ matrix_synapse_workers_generic_worker_endpoints:
|
|||||||
- ^/_matrix/client/(api/v1|r0|v3|unstable)/knock/
|
- ^/_matrix/client/(api/v1|r0|v3|unstable)/knock/
|
||||||
- ^/_matrix/client/(api/v1|r0|v3|unstable)/profile/
|
- ^/_matrix/client/(api/v1|r0|v3|unstable)/profile/
|
||||||
|
|
||||||
|
# Unstable MSC4140 support
|
||||||
|
- ^/_matrix/client/unstable/org.matrix.msc4140/delayed_events(/.*/restart)?$
|
||||||
|
|
||||||
|
# Admin API requests
|
||||||
|
- ^/_synapse/admin/v2/users/[^/]+$
|
||||||
|
|
||||||
# Start of intentionally-ignored-endpoints
|
# Start of intentionally-ignored-endpoints
|
||||||
#
|
#
|
||||||
# We ignore these below, because they're better sent to dedicated workers (various stream writers).
|
# We ignore these below, because they're better sent to dedicated workers (various stream writers).
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ matrix_playbook_migration_matrix_postmoogle_migration_validation_enabled: true
|
|||||||
# - https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/2999
|
# - https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/2999
|
||||||
# - https://github.com/geerlingguy/ansible-role-docker/pull/410
|
# - https://github.com/geerlingguy/ansible-role-docker/pull/410
|
||||||
matrix_playbook_migration_debian_signedby_migration_enabled: true
|
matrix_playbook_migration_debian_signedby_migration_enabled: true
|
||||||
matrix_playbook_migration_debian_signedby_migration_repository_path: "/etc/apt/sources.list.d/download_docker_com_linux_{{ ansible_distribution | lower }}.list"
|
matrix_playbook_migration_debian_signedby_migration_repository_path: "/etc/apt/sources.list.d/download_docker_com_linux_{{ ansible_facts['distribution'] | lower }}.list"
|
||||||
|
|
||||||
# Controls if the old apt repository for Docker (`signed-by=/etc/apt/trusted.gpg.d/docker.asc`) will be removed,
|
# Controls if the old apt repository for Docker (`signed-by=/etc/apt/trusted.gpg.d/docker.asc`) will be removed,
|
||||||
# so that the Docker role (7.2.0+) can install a new non-conflicting one (`signed-by=/etc/apt/keyrings/docker.asc`).
|
# so that the Docker role (7.2.0+) can install a new non-conflicting one (`signed-by=/etc/apt/keyrings/docker.asc`).
|
||||||
|
|||||||
@@ -91,6 +91,7 @@
|
|||||||
- custom/matrix-bot-draupnir
|
- custom/matrix-bot-draupnir
|
||||||
- custom/matrix-cactus-comments
|
- custom/matrix-cactus-comments
|
||||||
- custom/matrix-cactus-comments-client
|
- custom/matrix-cactus-comments-client
|
||||||
|
- custom/matrix-matrixto
|
||||||
- custom/matrix-rageshake
|
- custom/matrix-rageshake
|
||||||
- custom/matrix-synapse
|
- custom/matrix-synapse
|
||||||
- custom/matrix-synapse-auto-compressor
|
- custom/matrix-synapse-auto-compressor
|
||||||
|
|||||||
Reference in New Issue
Block a user