mirror of
https://github.com/spantaleev/matrix-docker-ansible-deploy.git
synced 2026-03-29 19:31:25 +03:00
Compare commits
61 Commits
renovate/m
...
copilot/up
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fb134760ce | ||
|
|
69c5385b63 | ||
|
|
4c7b1aff41 | ||
|
|
9153c22d31 | ||
|
|
63b6bf4bc1 | ||
|
|
39f867a1c9 | ||
|
|
78a08482fa | ||
|
|
da86297655 | ||
|
|
8417f655af | ||
|
|
a7f7a3d002 | ||
|
|
e7419fbafa | ||
|
|
8c6c544c90 | ||
|
|
b98a6d39c9 | ||
|
|
93c6587b9d | ||
|
|
f187cf84d5 | ||
|
|
ee243a8aab | ||
|
|
816b95f951 | ||
|
|
324ff0dff6 | ||
|
|
2e7e034d3a | ||
|
|
2c29027868 | ||
|
|
1718181ff4 | ||
|
|
f1d1c50106 | ||
|
|
b55444e44f | ||
|
|
f96dcff028 | ||
|
|
c6cd76e988 | ||
|
|
4761ff7e9a | ||
|
|
976d2c4cd0 | ||
|
|
32aeaca28b | ||
|
|
ee79348254 | ||
|
|
a1dc468004 | ||
|
|
0da4c43cf1 | ||
|
|
1dfd4dc4ad | ||
|
|
b528f0e6af | ||
|
|
f2e961293c | ||
|
|
7bfa823fa3 | ||
|
|
5abd9cfb11 | ||
|
|
6e4a0ab2a1 | ||
|
|
1fc1da393d | ||
|
|
5ee0b4f168 | ||
|
|
3651a07f88 | ||
|
|
0cf3482eb2 | ||
|
|
6bfcec2d23 | ||
|
|
ff2a0be559 | ||
|
|
23203ff9d3 | ||
|
|
ca2b6b0a27 | ||
|
|
f0e0f5ec56 | ||
|
|
78d9f725b3 | ||
|
|
acf3d72c47 | ||
|
|
9d4ec45e72 | ||
|
|
bca2c43368 | ||
|
|
528a32f6c1 | ||
|
|
893e90a65f | ||
|
|
426839c287 | ||
|
|
51a357133b | ||
|
|
dbc71fccf7 | ||
|
|
f2ebc00e22 | ||
|
|
669490f18e | ||
|
|
dbe4b1db5f | ||
|
|
e5b48f22db | ||
|
|
bf744319e0 | ||
|
|
628bddb613 |
54
CHANGELOG.md
54
CHANGELOG.md
@@ -1,3 +1,53 @@
|
||||
# 2026-02-21
|
||||
|
||||
## (BC Break) coturn is no longer auto-enabled by default
|
||||
|
||||
By default, the [coturn](./docs/configuring-playbook-turn.md) TURN server component is no longer enabled for every deployment.
|
||||
|
||||
This reduces resources and attach surface for deployments which:
|
||||
|
||||
- either don't need calls at all
|
||||
- or use the modern [Matrix RTC](docs/configuring-playbook-matrix-rtc.md)/[Element Call](docs/configuring-playbook-element-call.md) stack.
|
||||
|
||||
Coturn is still auto-enabled when [Jitsi](./docs/configuring-playbook-jitsi.md) is enabled (`jitsi_enabled: true`), because Jitsi still depends on TURN for legacy Matrix integration.
|
||||
|
||||
Additionally, Coturn (when enabled) now defaults to using automatic IP detection of your server's external IP address, instead of assuming your Ansible inventory (`ansible_host`) points to a public address and using it for configuring `coturn_turn_external_ip_address`.
|
||||
|
||||
To restore the old behavior (needed for legacy call setups), add the following configuration to your `vars.yml`:
|
||||
|
||||
```yml
|
||||
coturn_enabled: true
|
||||
|
||||
# If you'd like explicit control over the external IP address (like before), keep this too.
|
||||
coturn_turn_external_ip_address: "{{ ansible_host }}"
|
||||
```
|
||||
|
||||
## LiveKit TURN TLS is now automatically fronted by playbook-managed Traefik
|
||||
|
||||
For deployments that use the playbook-managed Traefik reverse-proxy, LiveKit TURN over TCP is now SSL-terminated at Traefik and passed as plain TCP to LiveKit (`turn.external_tls = true`) by default.
|
||||
|
||||
To disable this behavior, set `livekit_server_config_turn_external_tls: false` and the playbook will revert to the old behavior - using traefik-certs-dumper to extract SSL certificates out of Traefik and pass them to LiveKit for explicit SSL termination there.
|
||||
|
||||
If you are using `other-traefik-container` or [another reverse-proxy](./configuring-playbook-own-webserver.md), this change does **not** switch behavior automatically. That mode remains using certificate files in the container (Traefik certificates dumper flow) unless you explicitly set the TURN-Traefik mode variables to opt in.
|
||||
|
||||
# 2026-02-17
|
||||
|
||||
## (BC Break) prometheus-nginxlog-exporter role has been relocated and variable names need adjustments
|
||||
|
||||
The role for prometheus-nginxlog-exporter has been relocated to the [mother-of-all-self-hosting](https://github.com/mother-of-all-self-hosting) organization.
|
||||
|
||||
Along with the relocation, the `matrix_prometheus_nginxlog_exporter_` prefix on its variable names has been renamed to `prometheus_nginxlog_exporter_`, so you need to adjust your `vars.yml` configuration.
|
||||
|
||||
As always, the playbook would let you know about this and point out any variables you may have missed.
|
||||
|
||||
## synapse-auto-invite-accept has been removed from the playbook
|
||||
|
||||
[synapse-auto-invite-accept](./docs/configuring-playbook-synapse-auto-accept-invite.md) has been removed from the playbook, as the same functionality [has been integrated](https://github.com/element-hq/synapse/pull/17147) to Synapse since [v1.109.0](https://github.com/element-hq/synapse/releases/tag/v1.109.0).
|
||||
|
||||
See [this section](./docs/configuring-playbook-synapse-auto-accept-invite.md#native-alternative) for details about how to enable the function on Synapse.
|
||||
|
||||
If you're using any `matrix_synapse_ext_synapse_auto_accept_invite_*` variables, the playbook will let you know which one you'll need to remove from `vars.yml`.
|
||||
|
||||
# 2026-02-16
|
||||
|
||||
## matrix-appservice-slack has been removed from the playbook
|
||||
@@ -704,8 +754,8 @@ If upstream synapse-admin picks up the pace and improves, the etke.cc fork may d
|
||||
If you'd like to switch back to the original synapse-admin software, you can do so by adding the following configuration to your `vars.yml` file:
|
||||
|
||||
```yaml
|
||||
matrix_synapse_admin_docker_image: "{{ matrix_synapse_admin_docker_image_registry_prefix }}awesometechnologies/synapse-admin:{{ matrix_synapse_admin_version }}"
|
||||
matrix_synapse_admin_docker_image_registry_prefix_upstream: docker.io/
|
||||
matrix_synapse_admin_container_image: "{{ matrix_synapse_admin_container_image_registry_prefix }}awesometechnologies/synapse-admin:{{ matrix_synapse_admin_version }}"
|
||||
matrix_synapse_admin_container_image_registry_prefix_upstream: docker.io/
|
||||
|
||||
matrix_synapse_admin_version: 0.10.3
|
||||
|
||||
|
||||
@@ -74,7 +74,7 @@ Services that run on the server to make the various parts of your installation w
|
||||
| Name | Default? | Description | Documentation |
|
||||
| ---- | -------- | ----------- | ------------- |
|
||||
| [PostgreSQL](https://www.postgresql.org/)| ✅ | Database for Synapse. [Using an external PostgreSQL server](docs/configuring-playbook-external-postgres.md) is also possible. | [Link](docs/configuring-playbook-external-postgres.md) |
|
||||
| [coturn](https://github.com/coturn/coturn) | ✅ | STUN/TURN server for WebRTC audio/video calls | [Link](docs/configuring-playbook-turn.md) |
|
||||
| [coturn](https://github.com/coturn/coturn) | ❌ | STUN/TURN server for WebRTC audio/video calls | [Link](docs/configuring-playbook-turn.md) |
|
||||
| [Traefik](https://doc.traefik.io/traefik/) | ✅ | Web server, listening on ports 80, 443 and 8448 - standing in front of all the other services. [Using your own webserver](docs/configuring-playbook-own-webserver.md) is also possible. | [Link](docs/configuring-playbook-traefik.md) |
|
||||
| [Let's Encrypt](https://letsencrypt.org/) | ✅ | Free SSL certificate, which secures the connection to all components | [Link](docs/configuring-playbook-ssl-certificates.md) |
|
||||
| [Exim](https://www.exim.org/) | ✅ | Mail server, through which all Matrix services send outgoing email (can be configured to relay through another SMTP server) | [Link](docs/configuring-playbook-email.md) |
|
||||
@@ -171,7 +171,6 @@ Various services that don't fit any other categories.
|
||||
|
||||
| Name | Default? | Description | Documentation |
|
||||
| ---- | -------- | ----------- | ------------- |
|
||||
| [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) |
|
||||
| [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) |
|
||||
|
||||
@@ -58,9 +58,14 @@ matrix_continuwuity_environment_variables_extension: |
|
||||
|
||||
Unlike other homeserver implementations (like Synapse and Dendrite), continuwuity does not support creating users via the command line or via the playbook.
|
||||
|
||||
If you followed the instructions above (see [Adjusting the playbook configuration](#adjusting-the-playbook-configuration)), you should have registration enabled and protected by a registration token.
|
||||
On first startup, Continuwuity creates a special one-time-use registration token and logs it to the server's console. To access this, you will need to SSH into the server and run the following command:
|
||||
|
||||
This should allow you to create the first user account via any client (like [Element Web](./configuring-playbook-client-element-web.md)) which supports creating users.
|
||||
```sh
|
||||
# Adjust the duration if necessary or remove the whole --since argument
|
||||
journalctl -u matrix-continuwuity.service --since="10 minutes ago"
|
||||
```
|
||||
|
||||
Find the token, highlight it, and copy it (ctrl+shift+C). This token should allow you to create the first user account via any client (like [Element Web](./configuring-playbook-client-element-web.md)) which supports creating users.
|
||||
|
||||
The **first user account that you create will be marked as an admin** and **will be automatically invited to an admin room**.
|
||||
|
||||
|
||||
@@ -17,6 +17,16 @@ The [Ansible role for exim-relay](https://github.com/mother-of-all-self-hosting/
|
||||
- 🌐 [the role's documentation at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay/blob/main/docs/configuring-exim-relay.md) online
|
||||
- 📁 `roles/galaxy/exim_relay/docs/configuring-exim-relay.md` locally, if you have [fetched the Ansible roles](installing.md#update-ansible-roles)
|
||||
|
||||
## Why use exim-relay?
|
||||
|
||||
**Benefits of using exim-relay** instead of configuring SMTP directly in each service:
|
||||
|
||||
1. **Final delivery capability**: Can deliver emails directly if you don't have an SMTP server
|
||||
|
||||
2. **Centralized configuration**: Configure your upstream SMTP server once in exim-relay, then point all services ([Synapse](configuring-playbook-synapse.md), [Matrix Authentication Service](configuring-playbook-matrix-authentication-service.md), etc.) there—no need to configure SMTP in each component
|
||||
|
||||
3. **Local spooling**: Stores messages locally and retries delivery if your upstream SMTP server is temporarily unavailable
|
||||
|
||||
## Firewall settings
|
||||
|
||||
No matter whether you send email directly (the default) or you relay email through another host, you'll probably need to allow outgoing traffic for TCP ports 25/587 (depending on configuration).
|
||||
|
||||
@@ -18,6 +18,9 @@ SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
The playbook can install and configure the [Jitsi](https://jitsi.org/) video-conferencing platform for you.
|
||||
|
||||
Because Jitsi still requires a TURN server, enabling Jitsi
|
||||
automatically enables coturn (`coturn_enabled: true`) unless you explicitly disable it.
|
||||
|
||||
Jitsi is an open source video-conferencing platform. It can not only be integrated with Element clients ([Element Web](configuring-playbook-client-element-web.md)/Desktop, Android and iOS) as a widget, but also be used as standalone web app.
|
||||
|
||||
💡 If you're into experimental technology, you may also be interested in trying out [Element Call](configuring-playbook-element-call.md) - a native Matrix video conferencing application.
|
||||
|
||||
@@ -31,8 +31,39 @@ To ensure LiveKit Server functions correctly, the following firewall rules and p
|
||||
|
||||
💡 The suggestions above are inspired by the upstream [Ports and Firewall](https://docs.livekit.io/home/self-hosting/ports-firewall/) documentation based on how LiveKit is configured in the playbook. If you've using custom configuration for the LiveKit Server role, you may need to adjust the firewall rules accordingly.
|
||||
|
||||
## TURN TLS handling
|
||||
|
||||
When `matrix_playbook_reverse_proxy_type` is `playbook-managed-traefik` (which is the default for this playbook), TURN over TCP is terminated by Traefik and forwarded to LiveKit with `turn.external_tls = true`. In this playbook default, this mode is enabled automatically when SSL is enabled and TURN is enabled.
|
||||
|
||||
- The playbook installs a dedicated Traefik TCP entrypoint for TURN (`matrix-livekit-turn`) by default and binds it to `tcp/5350`.
|
||||
- `livekit_server_config_turn_external_tls` is automatically enabled for this setup.
|
||||
- Because Traefik handles TLS, LiveKit no longer needs certificate-file paths for TURN in this mode.
|
||||
|
||||
To opt out and keep TURN TLS termination in LiveKit itself, set:
|
||||
|
||||
```yml
|
||||
livekit_server_config_turn_external_tls: false
|
||||
```
|
||||
|
||||
In this playbook, certificate paths are managed automatically via `group_vars/matrix_servers` when certificate dumping is enabled.
|
||||
|
||||
If your setup uses `other-traefik-container` or [another reverse-proxy](./configuring-playbook-own-webserver.md), behavior is unchanged by default and still relies on certificates being available inside the container as before.
|
||||
|
||||
Deployments using `other-traefik-container` can opt into the same Traefik-terminated mode there, by setting:
|
||||
|
||||
```yml
|
||||
livekit_server_config_turn_external_tls: true
|
||||
livekit_server_container_labels_turn_traefik_enabled: true
|
||||
livekit_server_container_labels_turn_traefik_entrypoints: "<your-livekit-turn-traffic-entrypoint>"
|
||||
```
|
||||
|
||||
and configuring their own Traefik TCP entrypoint dedicated to LiveKit TURN traffic.
|
||||
|
||||
## Limitations
|
||||
|
||||
For some reason, LiveKit Server's TURN ports (`3479/udp` and `5350/tcp`) are not reachable over IPv6 regardless of whether you've [enabled IPv6](./configuring-ipv6.md) for your server.
|
||||
LiveKit Server's TURN listener behavior depends on where TLS is terminated:
|
||||
|
||||
It seems like LiveKit Server intentionally only listens on `udp4` and `tcp4` as seen [here](https://github.com/livekit/livekit/blob/154b4d26b769c68a03c096124094b97bf61a996f/pkg/service/turn.go#L128) and [here](https://github.com/livekit/livekit/blob/154b4d26b769c68a03c096124094b97bf61a996f/pkg/service/turn.go#L92).
|
||||
- Direct LiveKit TURN listeners (`livekit_server_config_turn_external_tls: false`) still use IPv4-only sockets for `3479/udp` and `5350/tcp`, so IPv6 connectivity to these endpoints is not possible.
|
||||
- With [TURN TLS handling](#turn-tls-handling) (`livekit_server_config_turn_external_tls: true`), the playbook's dedicated `matrix-livekit-turn` TCP entrypoint can still listen on both IPv4 and IPv6. Traefik then forwards TURN/TCP to LiveKit.
|
||||
|
||||
It appears that LiveKit Server intentionally only listens on `udp4` and `tcp4` in direct mode, as seen [here](https://github.com/livekit/livekit/blob/154b4d26b769c68a03c096124094b97bf61a996f/pkg/service/turn.go#L128) and [here](https://github.com/livekit/livekit/blob/154b4d26b769c68a03c096124094b97bf61a996f/pkg/service/turn.go#L92).
|
||||
|
||||
@@ -83,7 +83,7 @@ See the project's [documentation](https://github.com/martin-helmich/prometheus-n
|
||||
To enable it, add the following configuration to your `vars.yml` file:
|
||||
|
||||
```yaml
|
||||
matrix_prometheus_nginxlog_exporter_enabled: true
|
||||
prometheus_nginxlog_exporter_enabled: true
|
||||
```
|
||||
|
||||
If you enable Grafana, a dedicated `NGINX PROXY` Grafana dashboard will be created.
|
||||
@@ -95,8 +95,8 @@ If you enable Grafana, a dedicated `NGINX PROXY` Grafana dashboard will be creat
|
||||
At the moment of writing only images for `amd64` and `arm64` architectures are available. The playbook currently does not support [self-building](./self-building.md) a container image on other architectures. You can however use a custom-build image by setting:
|
||||
|
||||
```yaml
|
||||
matrix_prometheus_nginxlog_exporter_docker_image_arch_check_enabled: false
|
||||
matrix_prometheus_nginxlog_exporter_docker_image: path/to/docker/image:tag
|
||||
prometheus_nginxlog_exporter_container_image_arch_check_enabled: false
|
||||
prometheus_nginxlog_exporter_container_image: path/to/docker/image:tag
|
||||
```
|
||||
|
||||
### Extending the configuration
|
||||
@@ -106,7 +106,7 @@ There are some additional things you may wish to configure about Prometheus and
|
||||
Take a look at:
|
||||
|
||||
- [Prometheus role](https://github.com/mother-of-all-self-hosting/ansible-role-prometheus)'s [`defaults/main.yml`](https://github.com/mother-of-all-self-hosting/ansible-role-prometheus/blob/main/defaults/main.yml) for some variables that you can customize via your `vars.yml` file. You can override settings (even those that don't have dedicated playbook variables) using the `prometheus_configuration_extension_yaml` variable
|
||||
- `roles/custom/matrix-prometheus-nginxlog-exporter/defaults/main.yml` for some variables that you can customize via your `vars.yml` file
|
||||
- `roles/galaxy/prometheus_nginxlog_exporter/defaults/main.yml` for some variables that you can customize via your `vars.yml` file
|
||||
|
||||
## Adjusting the playbook configuration — Grafana
|
||||
|
||||
@@ -181,8 +181,8 @@ Name | Description
|
||||
`prometheus_node_exporter_container_labels_traefik_enabled`|Set this to `true` to expose the node (general system stats) metrics on `https://matrix.example.com/metrics/node-exporter`.
|
||||
`prometheus_postgres_exporter_enabled`|Set this to `true` to enable the [Postgres exporter](#enable-metrics-and-graphs-for-postgres-optional) (locally, on the container network).
|
||||
`prometheus_postgres_exporter_container_labels_traefik_enabled`|Set this to `true` to expose the [Postgres exporter](#enable-metrics-and-graphs-for-postgres-optional) metrics on `https://matrix.example.com/metrics/postgres-exporter`.
|
||||
`matrix_prometheus_nginxlog_exporter_enabled`|Set this to `true` to enable the [nginx Log exporter](#enable-metrics-and-graphs-for-nginx-logs-optional) (locally, on the container network).
|
||||
`matrix_prometheus_nginxlog_exporter_metrics_proxying_enabled`|Set this to `true` to expose the [nginx Log exporter](#enable-metrics-and-graphs-for-nginx-logs-optional) metrics on `https://matrix.example.com/metrics/nginxlog`.
|
||||
`prometheus_nginxlog_exporter_enabled`|Set this to `true` to enable the [prometheus-nginxlog-exporter](#enable-metrics-and-graphs-for-nginx-logs-optional) (locally, on the container network).
|
||||
`prometheus_nginxlog_exporter_container_labels_traefik_enabled`|Set this to `true` to expose the [prometheus-nginxlog-exporter](#enable-metrics-and-graphs-for-nginx-logs-optional) metrics on `https://matrix.example.com/metrics/nginxlog`.
|
||||
|
||||
### Expose metrics of other services/roles
|
||||
|
||||
|
||||
@@ -1,45 +1,26 @@
|
||||
<!--
|
||||
SPDX-FileCopyrightText: 2024 MDAD project contributors
|
||||
SPDX-FileCopyrightText: 2024 Slavi Pantaleev
|
||||
SPDX-FileCopyrightText: 2024 Suguru Hirahara
|
||||
SPDX-FileCopyrightText: 2019 Eduardo Beltrame
|
||||
SPDX-FileCopyrightText: 2019-2025 Slavi Pantaleev
|
||||
SPDX-FileCopyrightText: 2020 Tulir Asokan
|
||||
SPDX-FileCopyrightText: 2021, 2024 MDAD project contributors
|
||||
SPDX-FileCopyrightText: 2022 Dennis Ciba
|
||||
SPDX-FileCopyrightText: 2022 Vladimir Panteleev
|
||||
SPDX-FileCopyrightText: 2023 Justin Croonenberghs
|
||||
SPDX-FileCopyrightText: 2023 Kuba Orlik
|
||||
SPDX-FileCopyrightText: 2023 Pierre 'McFly' Marty
|
||||
SPDX-FileCopyrightText: 2023 Samuel Meenzen
|
||||
SPDX-FileCopyrightText: 2024 Fabio Bonelli
|
||||
SPDX-FileCopyrightText: 2024-2026 Suguru Hirahara
|
||||
|
||||
SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
-->
|
||||
|
||||
# Setting up Synapse Auto Invite Accept (optional)
|
||||
# Setting up Synapse Auto Invite Accept (optional, removed)
|
||||
|
||||
The playbook can install and configure [synapse-auto-invite-accept](https://github.com/matrix-org/synapse-auto-accept-invite) for you.
|
||||
|
||||
In short, it automatically accepts room invites. You can specify that only 1:1 room invites are auto-accepted. Defaults to false if not specified.
|
||||
|
||||
See the project's [documentation](https://github.com/matrix-org/synapse-auto-accept-invite/blob/main/README.md) to learn what it does and why it might be useful to you.
|
||||
|
||||
**Note**: Synapse [v1.109.0](https://github.com/element-hq/synapse/releases/tag/v1.109.0), the same feature [has been merged](https://github.com/element-hq/synapse/pull/17147) into Synapse (see the [Native alternative](#native-alternative) section below). You'd better use the native feature, instead of the [synapse-auto-invite-accept](https://github.com/matrix-org/synapse-auto-accept-invite) 3rd party module.
|
||||
|
||||
## Adjusting the playbook configuration
|
||||
|
||||
If you decide that you'd like to let this playbook install the [synapse-auto-invite-accept](https://github.com/matrix-org/synapse-auto-accept-invite module for you, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
|
||||
|
||||
```yaml
|
||||
matrix_synapse_ext_synapse_auto_accept_invite_enabled: true
|
||||
|
||||
matrix_synapse_ext_synapse_auto_accept_invite_accept_invites_only_direct_messages: true
|
||||
```
|
||||
|
||||
### Synapse worker deployments
|
||||
|
||||
In a [workerized Synapse deployment](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/c9a842147e09647c355799ca024d65a5de66b099/docs/configuring-playbook-synapse.md#load-balancing-with-workers) it is possible to run this module on a worker to reduce the load on the main process (Default is `null`). For example, add this to your configuration:
|
||||
|
||||
```yaml
|
||||
matrix_synapse_ext_synapse_auto_accept_invite_worker_to_run_on: 'matrix-synapse-worker-generic-0'
|
||||
```
|
||||
|
||||
There might be an [issue with federation](https://github.com/matrix-org/synapse-auto-accept-invite/issues/18).
|
||||
🪦 The playbook used to be able to install and configure [synapse-auto-invite-accept](https://github.com/matrix-org/synapse-auto-accept-invite), but no longer includes this component, as the same functionality [has been integrated](https://github.com/element-hq/synapse/pull/17147) to Synapse since [v1.109.0](https://github.com/element-hq/synapse/releases/tag/v1.109.0).
|
||||
|
||||
## Native alternative
|
||||
|
||||
Since Synapse [v1.109.0](https://github.com/element-hq/synapse/releases/tag/v1.109.0), the functionality provided by the [synapse-auto-invite-accept](https://github.com/matrix-org/synapse-auto-accept-invite) 3rd party module [has been made](https://github.com/element-hq/synapse/pull/17147) part of Synapse.
|
||||
|
||||
Here's example configuration for using the **native** Synapse feature:
|
||||
|
||||
```yaml
|
||||
|
||||
@@ -80,6 +80,29 @@ A separate Ansible role (`matrix-synapse-reverse-proxy-companion`) and component
|
||||
|
||||
In case any problems occur, make sure to have a look at the [list of synapse issues about workers](https://github.com/element-hq/synapse/issues?q=workers+in%3Atitle) and your `journalctl --unit 'matrix-*'`.
|
||||
|
||||
### Limit joining heavy rooms on constrained hosts
|
||||
|
||||
If your server is underpowered, joining heavy rooms can cause Synapse to consume a lot of resources and be unavailable for long (while it catches up).
|
||||
|
||||
To avoid this, Synapse can be configured to reject joins for remote rooms that are too complex before users enter them.
|
||||
|
||||
Complexity is computed as `current_state_events / 500` (Synapse state event count for current room state). When the resulting value is higher than `matrix_synapse_limit_remote_rooms_complexity` and `matrix_synapse_limit_remote_rooms_enabled` is `true`, Synapse blocks joining the room.
|
||||
|
||||
We recommend using this as a guardrail on low-resource servers:
|
||||
|
||||
```yaml
|
||||
matrix_synapse_limit_remote_rooms_enabled: true
|
||||
|
||||
# Tweak as necessary
|
||||
matrix_synapse_limit_remote_rooms_complexity: 1.0
|
||||
|
||||
# Uncomment and tweak if necessary
|
||||
# matrix_synapse_limit_remote_rooms_complexity_error: "Your homeserver is unable to join rooms this large or complex. Please speak to your server administrator, or upgrade your instance to join this room."
|
||||
|
||||
# If you'd like your admins to be exempt from this limit, uncomment the line below
|
||||
# matrix_synapse_limit_remote_rooms_admins_can_join: true
|
||||
```
|
||||
|
||||
### Synapse + OpenID Connect for Single-Sign-On
|
||||
|
||||
💡 An alternative to setting up OIDC in Synapse is to use [Matrix Authentication Service](./configuring-playbook-matrix-authentication-service.md) (MAS). Newer clients (like Element X) only support SSO-based authentication via MAS and not via the legacy Synapse OIDC setup described below. That said, MAS is still a new experimental service which comes with its own downsides. Consult its documentation to learn if it will be a good fit for your deployment.
|
||||
|
||||
@@ -13,34 +13,48 @@ SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
# Configuring a TURN server (optional, advanced)
|
||||
|
||||
By default, this playbook installs and configures the [coturn](https://github.com/coturn/coturn) as a TURN server, through which clients can make audio/video calls even from [NAT](https://en.wikipedia.org/wiki/Network_address_translation)-ed networks. It also configures the Synapse chat server by default, so that it points to the coturn TURN server installed by the playbook. If that's okay, you can skip this document.
|
||||
By default, the [coturn](https://github.com/coturn/coturn) TURN server component is enabled automatically only when [Jitsi](configuring-playbook-jitsi.md) is enabled. If you're not using Jitsi, coturn is not enabled by default.
|
||||
|
||||
If you'd like to stop the playbook installing the server, see the section [below](#disabling-coturn) to check the configuration for disabling it.
|
||||
If you explicitly need coturn while not using Jitsi, enable it with:
|
||||
|
||||
```yaml
|
||||
coturn_enabled: true
|
||||
```
|
||||
|
||||
and configure its IP-related settings in the section below.
|
||||
|
||||
If you'd like coturn to stay disabled even when Jitsi is enabled, or if you prefer to use an external TURN provider, see [disabling coturn](#disabling-coturn) section below.
|
||||
|
||||
When Coturn is not enabled, homeservers (like Synapse) would not point to TURN servers and *legacy* audio/video call functionality may fail. If you're using [Matrix RTC](configuring-playbook-rtc.md) (for [Element Call](configuring-playbook-element-call.md)), you likely don't have a need to enable coturn.
|
||||
|
||||
## Adjusting firewall rules
|
||||
|
||||
To ensure Coturn functions correctly, the following firewall rules and port forwarding settings are required when coturn is enabled:
|
||||
|
||||
- `3478/tcp`: STUN/TURN over TCP
|
||||
- `3478/udp`: STUN/TURN over UDP
|
||||
- `5349/tcp`: TURN over TCP
|
||||
- `5349/udp`: TURN over UDP
|
||||
- `49152-49172/udp`: TURN/UDP relay range
|
||||
|
||||
💡 Docker configures the server's internal firewall for you. In most cases, you don't need to do anything special on the host itself.
|
||||
|
||||
## Adjusting the playbook configuration
|
||||
|
||||
### Define public IP manually (optional)
|
||||
|
||||
In the `hosts` file we explicitly ask for your server's external IP address when defining `ansible_host`, because the same value is used for configuring coturn.
|
||||
|
||||
If you'd rather use a local IP for `ansible_host`, add the following configuration to your `vars.yml` file. Make sure to replace `YOUR_PUBLIC_IP` with the pubic IP used by the server.
|
||||
If you enable coturn (either via Jitsi or manually), we recommend that you configure the public IP addresses of your server in the `vars.yml` file:
|
||||
|
||||
```yaml
|
||||
coturn_turn_external_ip_address: "YOUR_PUBLIC_IP"
|
||||
# You can define multiple IP addresses if your server has multiple external IP addresses
|
||||
coturn_turn_external_ip_addresses: ["YOUR_PUBLIC_IP"]
|
||||
```
|
||||
|
||||
If you'd like to rely on external IP address auto-detection (not recommended unless you need it), set an empty value to the variable. The playbook will automatically contact an [echoip](https://github.com/mpolden/echoip)-compatible service (`https://ifconfig.co/json` by default) to determine your server's IP address. This API endpoint is configurable via the `coturn_turn_external_ip_address_auto_detection_echoip_service_url` variable.
|
||||
If you'd like to rely on external IP address auto-detection (not recommended unless you need it), avoid configuring this variable. The playbook will automatically contact an [echoip](https://github.com/mpolden/echoip)-compatible service (`https://ifconfig.co/json` by default) to determine your server's IP address. This API endpoint is configurable via the `coturn_turn_external_ip_address_auto_detection_echoip_service_url` variable.
|
||||
|
||||
>[!NOTE]
|
||||
> You can self-host the echoip service by using the [Mother-of-All-Self-Hosting (MASH)](https://github.com/mother-of-all-self-hosting/mash-playbook) Ansible playbook. See [this page](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/services/echoip.md) for the instruction to install it with the playbook. If you are wondering how to use it for your Matrix server, refer to [this page](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/setting-up-services-on-mdad-server.md) for the overview.
|
||||
|
||||
If your server has multiple external IP addresses, the coturn role offers a different variable for specifying them:
|
||||
|
||||
```yaml
|
||||
# Note: coturn_turn_external_ip_addresses is different than coturn_turn_external_ip_address
|
||||
coturn_turn_external_ip_addresses: ['1.2.3.4', '4.5.6.7']
|
||||
```
|
||||
|
||||
### Change the authentication mechanism (optional)
|
||||
|
||||
The playbook uses the [`auth-secret` authentication method](https://github.com/coturn/coturn/blob/873cabd6a2e5edd7e9cc5662cac3ffe47fe87a8e/README.turnserver#L186-L199) by default, but you may switch to the [`lt-cred-mech` method](https://github.com/coturn/coturn/blob/873cabd6a2e5edd7e9cc5662cac3ffe47fe87a8e/README.turnserver#L178) which [some report](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3191) to be working better.
|
||||
@@ -119,14 +133,14 @@ Take a look at:
|
||||
|
||||
## Disabling coturn
|
||||
|
||||
If, for some reason, you'd like for the playbook to not install coturn (or to uninstall it if it was previously installed), add the following configuration to your `vars.yml` file:
|
||||
Coturn is only enabled by default when [Jitsi](configuring-playbook-jitsi.md) is enabled. In most instances, you don't need to explicitly disable it.
|
||||
|
||||
To force the playbook to not install Coturn (even when Jitsi is enabled), add the following configuration to your `vars.yml` file:
|
||||
|
||||
```yaml
|
||||
coturn_enabled: false
|
||||
```
|
||||
|
||||
In that case, Synapse would not point to any coturn servers and audio/video call functionality may fail.
|
||||
|
||||
## Installing
|
||||
|
||||
After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below:
|
||||
|
||||
@@ -233,8 +233,6 @@ Various services that don't fit any other categories.
|
||||
|
||||
- [Setting up Matrix RTC](configuring-playbook-matrix-rtc.md) (optional)
|
||||
|
||||
- [Setting up Synapse Auto Invite Accept](configuring-playbook-synapse-auto-accept-invite.md)
|
||||
|
||||
- [Setting up synapse-auto-compressor](configuring-playbook-synapse-auto-compressor.md) for compressing the database on Synapse homeservers
|
||||
|
||||
- [Setting up Matrix Corporal](configuring-playbook-matrix-corporal.md) (advanced)
|
||||
@@ -290,3 +288,5 @@ Various services that don't fit any other categories.
|
||||
- [Setting up MX Puppet Slack bridging](configuring-playbook-bridge-mx-puppet-slack.md) (removed; this component has been unmaintained for a long time, so it has been removed from the playbook. Consider [setting up Mautrix Slack bridging](configuring-playbook-bridge-mautrix-slack.md))
|
||||
|
||||
- [Setting up MX Puppet Twitter bridging](configuring-playbook-bridge-mx-puppet-twitter.md) (removed; this component has been unmaintained for a long time, so it has been removed from the playbook. Consider [setting up Mautrix Twitter bridging](configuring-playbook-bridge-mautrix-twitter.md))
|
||||
|
||||
- [Setting up Synapse Auto Invite Accept](configuring-playbook-synapse-auto-accept-invite.md) (removed; since Synapse [v1.109.0](https://github.com/element-hq/synapse/releases/tag/v1.109.0) the same feature is available natively.)
|
||||
|
||||
@@ -149,7 +149,6 @@ Various services that don't fit any other categories.
|
||||
|
||||
| Service | Container image | Default? | Description |
|
||||
| ------- | --------------- | -------- | ----------- |
|
||||
| [synapse_auto_accept_invite](configuring-playbook-synapse-auto-accept-invite.md) | (N/A) | ❌ | Synapse module to automatically accept invites |
|
||||
| [synapse_auto_compressor](configuring-playbook-synapse-auto-compressor.md) | [mb-saces/rust-synapse-tools](https://gitlab.com/mb-saces/rust-synapse-tools/container_registry) | ❌ | Cli tool that automatically compresses Synapse's `state_groups` database table in background |
|
||||
| [Matrix Corporal](configuring-playbook-matrix-corporal.md) (advanced) | [devture/matrix-corporal](https://hub.docker.com/r/devture/matrix-corporal/) | ❌ | Reconciliator and gateway for a managed Matrix server |
|
||||
| [Etherpad](configuring-playbook-etherpad.md) | [etherpad/etherpad](https://hub.docker.com/r/etherpad/etherpad/) | ❌ | Open source collaborative text editor |
|
||||
@@ -185,3 +184,4 @@ The list of the deprecated or unmaintained services is available [here](configur
|
||||
| [mx-puppet-slack](configuring-playbook-bridge-mx-puppet-slack.md) | [mx-puppet/slack/mx-puppet-slack](https://gitlab.com/mx-puppet/slack/mx-puppet-slack/container_registry) | ❌ | Bridge to [Slack](https://slack.com) |
|
||||
| [mx-puppet-twitter](configuring-playbook-bridge-mx-puppet-twitter.md) | [sorunome/mx-puppet-twitter](https://hub.docker.com/r/sorunome/mx-puppet-twitter) | ❌ | Bridge for Twitter-DMs ([Twitter](https://twitter.com/)) |
|
||||
| [sliding-sync](configuring-playbook-sliding-sync-proxy.md) | [matrix-org/sliding-sync](https://ghcr.io/matrix-org/sliding-sync) | ❌ | Sliding Sync support for clients which require it (like old Element X versions, before it got switched to Simplified Sliding Sync) |
|
||||
| [synapse_auto_accept_invite](configuring-playbook-synapse-auto-accept-invite.md) | (N/A) | ❌ | Synapse module to automatically accept invites |
|
||||
|
||||
27
docs/faq.md
27
docs/faq.md
@@ -305,18 +305,23 @@ See [Serving the base domain](configuring-playbook-base-domain-serving.md).
|
||||
|
||||
### How do I optimize this setup for a low-power server?
|
||||
|
||||
For a low-power server, it's best to use an alternative homeserver implementation (other than [Synapse](configuring-playbook-synapse.md)).
|
||||
|
||||
You can disable some not-so-important services to save on memory.
|
||||
|
||||
```yaml
|
||||
# Disabling this will prevent email-notifications and other such things from working.
|
||||
exim_relay_enabled: false
|
||||
```
|
||||
|
||||
# You can also disable this to save more RAM,
|
||||
# at the expense of audio/video calls being unreliable.
|
||||
coturn_enabled: false
|
||||
If you've installed [Jitsi](configuring-playbook-jitsi.md) (not installed by default), there are additional optimizations listed on its documentation page that you can perform.
|
||||
|
||||
# This makes Synapse not keep track of who is online/offline.
|
||||
#
|
||||
|
||||
#### Synapse-specific optimizations
|
||||
|
||||
If you're using [Synapse](configuring-playbook-synapse.md), you can also consider the following optimizations:
|
||||
|
||||
```yaml
|
||||
# Keeping track of this and announcing such online-status in federated rooms with
|
||||
# hundreds of servers inside is insanely heavy (https://github.com/matrix-org/synapse/issues/3971).
|
||||
#
|
||||
@@ -324,18 +329,14 @@ coturn_enabled: false
|
||||
matrix_synapse_presence_enabled: false
|
||||
```
|
||||
|
||||
You can also consider implementing a restriction on room complexity, in order to prevent users from joining very heavy rooms:
|
||||
You can also consider [implementing a restriction on room complexity](configuring-playbook-synapse.md#limit-joining-heavy-rooms-on-constrained-hosts), in order to prevent users from joining very heavy rooms:
|
||||
|
||||
```yaml
|
||||
matrix_synapse_configuration_extension_yaml: |
|
||||
limit_remote_rooms:
|
||||
enabled: true
|
||||
complexity: 1.0 # this limits joining complex (~large) rooms, can be
|
||||
# increased, but larger values can require more RAM
|
||||
# See: docs/configuring-playbook-synapse.md#limit-joining-heavy-rooms-on-constrained-hosts
|
||||
matrix_synapse_limit_remote_rooms_enabled: true
|
||||
matrix_synapse_limit_remote_rooms_complexity: 1.0
|
||||
```
|
||||
|
||||
If you've installed [Jitsi](configuring-playbook-jitsi.md) (not installed by default), there are additional optimizations listed on its documentation page that you can perform.
|
||||
|
||||
### I already have Docker on my server. Can you stop installing Docker via the playbook?
|
||||
|
||||
Yes, we can stop installing Docker ourselves. Just use this in your `vars.yml` file:
|
||||
|
||||
@@ -146,6 +146,7 @@ After completing the installation, you can:
|
||||
- or learn how to [maintain your server](faq.md#maintenance)
|
||||
- or join some Matrix rooms:
|
||||
* via the *Explore rooms* feature in Element Web or some other clients, or by discovering them using this [matrix-static list](https://view.matrix.org). **Note**: joining large rooms may overload small servers.
|
||||
For tuning guidance on constrained hosts, see [Limit joining heavy rooms on constrained hosts](configuring-playbook-synapse.md#limit-joining-heavy-rooms-on-constrained-hosts).
|
||||
* or come say Hi in our support room — [#matrix-docker-ansible-deploy:devture.com](https://matrix.to/#/#matrix-docker-ansible-deploy:devture.com). You might learn something or get to help someone else new to Matrix hosting.
|
||||
- or help make this playbook better by contributing (code, documentation, or [coffee/beer](https://liberapay.com/s.pantaleev/donate))
|
||||
|
||||
|
||||
@@ -83,6 +83,8 @@ You should then be able to browse the adminer database administration GUI at htt
|
||||
|
||||
Synapse's presence feature which tracks which users are online and which are offline can use a lot of processing power. You can disable presence by adding `matrix_synapse_presence_enabled: false` to your `vars.yml` file.
|
||||
|
||||
On smaller servers, consider limiting joins to very complex rooms with [the room complexity guard](configuring-playbook-synapse.md#limit-joining-heavy-rooms-on-constrained-hosts).
|
||||
|
||||
If you have enough compute resources (CPU & RAM), you can make Synapse better use of them by [enabling load-balancing with workers](configuring-playbook-synapse.md#load-balancing-with-workers).
|
||||
|
||||
[Tuning your PostgreSQL database](maintenance-postgres.md#tuning-postgresql) could also improve Synapse performance. The playbook tunes the integrated Postgres database automatically, but based on your needs you may wish to adjust tuning variables manually. If you're using an [external Postgres database](configuring-playbook-external-postgres.md), you will also need to tune Postgres manually.
|
||||
|
||||
@@ -57,12 +57,7 @@ We will be using `example.com` as the domain in the following instruction. Pleas
|
||||
|
||||
- `80/tcp`: HTTP webserver
|
||||
- `443/tcp` and `443/udp`: HTTPS webserver
|
||||
- `3478/tcp`: STUN/TURN over TCP (used by [coturn](./configuring-playbook-turn.md))
|
||||
- `3478/udp`: STUN/TURN over UDP (used by [coturn](./configuring-playbook-turn.md))
|
||||
- `5349/tcp`: TURN over TCP (used by [coturn](./configuring-playbook-turn.md))
|
||||
- `5349/udp`: TURN over UDP (used by [coturn](./configuring-playbook-turn.md))
|
||||
- `8448/tcp` and `8448/udp`: Matrix Federation API HTTPS webserver. Some components like [Matrix User Verification Service](configuring-playbook-user-verification-service.md#open-matrix-federation-port) require this port to be opened **even with federation disabled**.
|
||||
- the range `49152-49172/udp`: TURN over UDP
|
||||
- potentially some other ports, depending on the additional (non-default) services that you enable in the **configuring the playbook** step (later on). Consult each service's documentation page in `docs/` for that.
|
||||
|
||||
---------------------------------------------
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
# We explicitly ask for your server's external IP address, because the same value is used for configuring coturn.
|
||||
# If you'd rather use a local IP here, make sure to set up `coturn_turn_external_ip_address`.
|
||||
#
|
||||
# To connect using a non-root user (and elevate to root with sudo later),
|
||||
# replace `ansible_ssh_user=root` with something like this: `ansible_ssh_user=username ansible_become=true ansible_become_user=root`.
|
||||
# If sudo requires a password, either add `ansible_become_password=PASSWORD_HERE` to the host line
|
||||
@@ -18,4 +15,4 @@
|
||||
# to the host line below.
|
||||
|
||||
[matrix_servers]
|
||||
matrix.example.com ansible_host=<your-server's external IP address> ansible_ssh_user=root
|
||||
matrix.example.com ansible_host=<your-server's domain name or IP address> ansible_ssh_user=root
|
||||
|
||||
@@ -53,18 +53,10 @@ devture_systemd_docker_base_ipv6_enabled: true
|
||||
# The value used here must be shorter than 100 characters.
|
||||
postgres_connection_password: ''
|
||||
|
||||
# By default, we configure coturn's external IP address using the value specified for `ansible_host` in your `inventory/hosts` file.
|
||||
# If this value is an external IP address, you can skip this section.
|
||||
# You can limit heavy room joins on constrained hosts.
|
||||
# See:
|
||||
# docs/configuring-playbook-synapse.md#limit-joining-heavy-rooms-on-constrained-hosts
|
||||
#
|
||||
# If `ansible_host` is not the server's external IP address, you have 2 choices:
|
||||
# 1. Uncomment the line below, to allow IP address auto-detection to happen (more on this below)
|
||||
# 2. Uncomment and adjust the line below to specify an IP address manually
|
||||
#
|
||||
# By default, auto-detection will be attempted using the `https://ifconfig.co/json` API.
|
||||
# Default values for this are specified in `coturn_turn_external_ip_address_auto_detection_*` variables in the coturn role
|
||||
# (see `roles/galaxy/coturn/defaults/main.yml`).
|
||||
#
|
||||
# If your server has multiple IP addresses, you may define them in another variable which allows a list of addresses.
|
||||
# Example: `coturn_turn_external_ip_addresses: ['1.2.3.4', '4.5.6.7']`
|
||||
#
|
||||
# coturn_turn_external_ip_address: ''
|
||||
# matrix_synapse_limit_remote_rooms_enabled: true
|
||||
# matrix_synapse_limit_remote_rooms_complexity: 1.0
|
||||
# matrix_synapse_limit_remote_rooms_admins_can_join: false
|
||||
|
||||
@@ -246,15 +246,14 @@ matrix_addons_homeserver_systemd_services_list: |
|
||||
# - so that addon services (starting later) can communicte with the homeserver via Traefik's internal entrypoint
|
||||
# (see `matrix_playbook_internal_matrix_client_api_traefik_entrypoint_enabled`)
|
||||
# - core services (the homeserver) get a level of ~1000
|
||||
# - services that the homeserver depends on (database, Redis, ntfy, coturn, etc.) get a lower level — between 500 and 1000
|
||||
# - coturn gets a higher priority level (= starts later) if `devture_systemd_service_manager_service_restart_mode == 'one-by-one'` to intentionally delay it, because:
|
||||
# - starting services one by one means that the service manager role waits for each service to fully start before proceeding to the next one
|
||||
# - services that the homeserver depends on (database, Redis, ntfy, etc.) get a lower level — between 500 and 1000
|
||||
# - coturn gets a higher priority level (= starts later) in all cases, to intentionally delay it in relation to the homeserver, because:
|
||||
# - when starting services one by one, the service manager waits for each service to fully start before proceeding to the next one
|
||||
# - if coturn has a lower priority than the homeserver, it would be started before it
|
||||
# - since coturn is started before the homeserver, there's no container label telling Traefik to get a `matrix.example.com` certificate
|
||||
# - if coturn is started before the homeserver, there'd be no container label (usually on the homeserver) telling Traefik to get a `matrix.example.com` certificate
|
||||
# - thus, coturn would spin and wait for a certificate until it fails. We'd get a playbook failure due to it, but service manager will proceed to start all other services anyway.
|
||||
# - only later, when the homeserver actually starts, would that certificate be fetched and dumped
|
||||
# - this is not a problem with `all-at-once` (default) or `priority-batched` (services start concurrently),
|
||||
# or with `clean-stop-start` (everything stops first, then starts in priority order — coturn at 900 is fine)
|
||||
# - this is a problem for `one-by-one`, `clean-stop-start` (which behaves like one-by-one initially) and possibly other modes, except `all-at-once`
|
||||
# - reverse-proxying services get level 3000
|
||||
# - Matrix utility services (bridges, bots) get a level of 2000/2200, so that:
|
||||
# - they can start before the reverse-proxy
|
||||
@@ -587,7 +586,7 @@ devture_systemd_service_manager_services_list_auto: |
|
||||
([{
|
||||
'name': (hydrogen_identifier + '.service'),
|
||||
'priority': 2000,
|
||||
'restart_necessary': true,
|
||||
'restart_necessary': (hydrogen_restart_necessary | bool),
|
||||
'groups': ['matrix', 'clients', 'hydrogen', 'client-hydrogen'],
|
||||
}] if hydrogen_enabled else [])
|
||||
+
|
||||
@@ -607,25 +606,18 @@ devture_systemd_service_manager_services_list_auto: |
|
||||
+
|
||||
([{
|
||||
'name': ('matrix-' + matrix_homeserver_implementation + '.service'),
|
||||
'priority': 1000,
|
||||
'priority': matrix_homeserver_systemd_service_manager_priority,
|
||||
'restart_necessary': true,
|
||||
'groups': ['matrix', 'homeservers', matrix_homeserver_implementation],
|
||||
}] if matrix_homeserver_enabled else [])
|
||||
+
|
||||
([{
|
||||
'name': 'matrix-corporal.service',
|
||||
'priority': 1500,
|
||||
'priority': (matrix_homeserver_systemd_service_manager_priority + 500),
|
||||
'restart_necessary': (matrix_corporal_restart_necessary | bool),
|
||||
'groups': ['matrix', 'corporal'],
|
||||
}] if matrix_corporal_enabled else [])
|
||||
+
|
||||
([{
|
||||
'name': (coturn_identifier + '.service'),
|
||||
'priority': (1500 if devture_systemd_service_manager_service_restart_mode == 'one-by-one' else 900),
|
||||
'restart_necessary': true,
|
||||
'groups': ['matrix', 'coturn'],
|
||||
}] if coturn_enabled else [])
|
||||
+
|
||||
([{
|
||||
'name': 'matrix-matrixto.service',
|
||||
'priority': 4000,
|
||||
@@ -640,31 +632,38 @@ devture_systemd_service_manager_services_list_auto: |
|
||||
'groups': ['matrix', 'rageshake'],
|
||||
}] if matrix_rageshake_enabled else [])
|
||||
+
|
||||
([{
|
||||
'name': (coturn_identifier + '.service'),
|
||||
'priority': (matrix_homeserver_systemd_service_manager_priority + 500),
|
||||
'restart_necessary': (coturn_restart_necessary | bool),
|
||||
'groups': ['matrix', 'coturn'],
|
||||
}] if coturn_enabled else [])
|
||||
+
|
||||
([{
|
||||
'name': (coturn_identifier + '-reload.timer'),
|
||||
'priority': 5000,
|
||||
'restart_necessary': true,
|
||||
'restart_necessary': (coturn_restart_necessary | bool),
|
||||
'groups': ['matrix', 'coturn'],
|
||||
}] if (coturn_enabled and coturn_tls_enabled) else [])
|
||||
+
|
||||
([{
|
||||
'name': (ddclient_identifier + '.service'),
|
||||
'priority': 5000,
|
||||
'restart_necessary': true,
|
||||
'restart_necessary': (ddclient_restart_necessary | bool),
|
||||
'groups': ['matrix', 'ddclient', 'dynamic-dns'],
|
||||
}] if ddclient_enabled else [])
|
||||
+
|
||||
([{
|
||||
'name': (etherpad_identifier + '.service'),
|
||||
'priority': 4000,
|
||||
'restart_necessary': true,
|
||||
'restart_necessary': (etherpad_restart_necessary | bool),
|
||||
'groups': ['matrix', 'etherpad'],
|
||||
}] if etherpad_enabled else [])
|
||||
+
|
||||
([{
|
||||
'name': (grafana_identifier + '.service'),
|
||||
'priority': 4000,
|
||||
'restart_necessary': true,
|
||||
'restart_necessary': (grafana_restart_necessary | bool),
|
||||
'groups': ['matrix', 'monitoring', 'grafana'],
|
||||
}] if grafana_enabled else [])
|
||||
+
|
||||
@@ -720,7 +719,7 @@ devture_systemd_service_manager_services_list_auto: |
|
||||
([{
|
||||
'name': (ntfy_identifier + '.service'),
|
||||
'priority': 800,
|
||||
'restart_necessary': true,
|
||||
'restart_necessary': (ntfy_restart_necessary | bool),
|
||||
'groups': ['matrix', 'ntfy'],
|
||||
}] if ntfy_enabled else [])
|
||||
+
|
||||
@@ -734,42 +733,42 @@ devture_systemd_service_manager_services_list_auto: |
|
||||
([{
|
||||
'name': (postgres_backup_identifier + '.service'),
|
||||
'priority': 5000,
|
||||
'restart_necessary': true,
|
||||
'restart_necessary': (postgres_backup_restart_necessary | bool),
|
||||
'groups': ['matrix', 'backup', 'postgres-backup'],
|
||||
}] if postgres_backup_enabled else [])
|
||||
+
|
||||
([{
|
||||
'name': (prometheus_identifier + '.service'),
|
||||
'priority': 4000,
|
||||
'restart_necessary': true,
|
||||
'restart_necessary': (prometheus_restart_necessary | bool),
|
||||
'groups': ['matrix', 'monitoring', 'prometheus'],
|
||||
}] if prometheus_enabled else [])
|
||||
+
|
||||
([{
|
||||
'name': (prometheus_node_exporter_identifier + '.service'),
|
||||
'priority': 3900,
|
||||
'restart_necessary': true,
|
||||
'restart_necessary': (prometheus_node_exporter_restart_necessary | bool),
|
||||
'groups': ['matrix', 'monitoring', 'prometheus-exporters', 'prometheus-node-exporter'],
|
||||
}] if prometheus_node_exporter_enabled else [])
|
||||
+
|
||||
([{
|
||||
'name': (prometheus_postgres_exporter_identifier + '.service'),
|
||||
'priority': 3900,
|
||||
'restart_necessary': true,
|
||||
'restart_necessary': (prometheus_postgres_exporter_restart_necessary | bool),
|
||||
'groups': ['matrix', 'monitoring', 'prometheus-exporters', 'prometheus-postgres-exporter'],
|
||||
}] if prometheus_postgres_exporter_enabled else [])
|
||||
+
|
||||
([{
|
||||
'name': 'matrix-prometheus-nginxlog-exporter.service',
|
||||
'name': (prometheus_nginxlog_exporter_identifier + '.service'),
|
||||
'priority': 3900,
|
||||
'restart_necessary': (matrix_prometheus_nginxlog_exporter_restart_necessary | bool),
|
||||
'restart_necessary': (prometheus_nginxlog_exporter_restart_necessary | bool),
|
||||
'groups': ['matrix', 'monitoring', 'prometheus-exporters', 'prometheus-nginxlog-exporter'],
|
||||
}] if matrix_prometheus_nginxlog_exporter_enabled else [])
|
||||
}] if prometheus_nginxlog_exporter_enabled else [])
|
||||
+
|
||||
([{
|
||||
'name': (valkey_identifier + '.service'),
|
||||
'priority': 750,
|
||||
'restart_necessary': true,
|
||||
'restart_necessary': (valkey_restart_necessary | bool),
|
||||
'groups': ['matrix', 'valkey'],
|
||||
}] if valkey_enabled else [])
|
||||
+
|
||||
@@ -827,14 +826,14 @@ devture_systemd_service_manager_services_list_auto: |
|
||||
'priority': 800,
|
||||
'restart_necessary': true,
|
||||
'groups': ['matrix', 'goofys'],
|
||||
}] if matrix_s3_media_store_enabled else [])
|
||||
}] if (matrix_synapse_enabled and matrix_s3_media_store_enabled) else [])
|
||||
+
|
||||
([{
|
||||
'name': 'matrix-synapse-s3-storage-provider-migrate.timer',
|
||||
'priority': 5000,
|
||||
'restart_necessary': true,
|
||||
'groups': ['matrix'],
|
||||
}] if matrix_synapse_ext_synapse_s3_storage_provider_enabled else [])
|
||||
}] if (matrix_synapse_enabled and matrix_synapse_ext_synapse_s3_storage_provider_enabled) else [])
|
||||
+
|
||||
([{
|
||||
'name': 'matrix-synapse-auto-compressor.timer',
|
||||
@@ -1166,7 +1165,7 @@ matrix_appservice_discord_systemd_required_services_list_auto: |
|
||||
([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_appservice_discord_database_hostname == postgres_connection_hostname) else [])
|
||||
}}
|
||||
|
||||
matrix_appservice_discord_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_appservice_discord_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_appservice_discord_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_appservice_discord_container_image_registry_prefix_upstream_default }}"
|
||||
|
||||
matrix_appservice_discord_container_http_host_bind_port: "{{ (matrix_playbook_service_host_bind_interface_prefix ~ '9005') if matrix_playbook_service_host_bind_interface_prefix else '' }}"
|
||||
|
||||
@@ -1217,7 +1216,7 @@ matrix_appservice_irc_systemd_required_services_list_auto: |
|
||||
([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_appservice_irc_database_hostname == postgres_connection_hostname) else [])
|
||||
}}
|
||||
|
||||
matrix_appservice_irc_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_appservice_irc_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_appservice_irc_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_appservice_irc_container_image_registry_prefix_upstream_default }}"
|
||||
|
||||
matrix_appservice_irc_container_image_self_build: "{{ matrix_architecture != 'amd64' }}"
|
||||
|
||||
@@ -1279,9 +1278,9 @@ matrix_appservice_kakaotalk_systemd_required_services_list_auto: |
|
||||
([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_appservice_kakaotalk_database_hostname == postgres_connection_hostname) else [])
|
||||
}}
|
||||
|
||||
matrix_appservice_kakaotalk_node_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_appservice_kakaotalk_node_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_appservice_kakaotalk_node_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_appservice_kakaotalk_node_container_image_registry_prefix_upstream_default }}"
|
||||
|
||||
matrix_appservice_kakaotalk_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_appservice_kakaotalk_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_appservice_kakaotalk_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_appservice_kakaotalk_container_image_registry_prefix_upstream_default }}"
|
||||
|
||||
matrix_appservice_kakaotalk_container_network: "{{ matrix_addons_container_network }}"
|
||||
|
||||
@@ -1330,7 +1329,7 @@ matrix_beeper_linkedin_systemd_required_services_list_auto: |
|
||||
([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_beeper_linkedin_database_hostname == postgres_connection_hostname) else [])
|
||||
}}
|
||||
|
||||
matrix_beeper_linkedin_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_beeper_linkedin_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_beeper_linkedin_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_beeper_linkedin_container_image_registry_prefix_upstream_default }}"
|
||||
|
||||
matrix_beeper_linkedin_container_image_self_build: "{{ matrix_architecture not in ['amd64'] }}"
|
||||
|
||||
@@ -1392,7 +1391,7 @@ matrix_mautrix_bluesky_systemd_required_services_list_auto: |
|
||||
([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_mautrix_bluesky_database_hostname == postgres_connection_hostname) else [])
|
||||
}}
|
||||
|
||||
matrix_mautrix_bluesky_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mautrix_bluesky_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_mautrix_bluesky_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mautrix_bluesky_container_image_registry_prefix_upstream_default }}"
|
||||
|
||||
matrix_mautrix_bluesky_container_image_self_build: "{{ matrix_architecture not in ['amd64', 'arm64'] }}"
|
||||
|
||||
@@ -1459,7 +1458,7 @@ matrix_mautrix_bluesky_database_password: "{{ (matrix_homeserver_generic_secret_
|
||||
# We don't enable bridges by default.
|
||||
matrix_mautrix_discord_enabled: false
|
||||
|
||||
matrix_mautrix_discord_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mautrix_discord_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_mautrix_discord_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mautrix_discord_container_image_registry_prefix_upstream_default }}"
|
||||
|
||||
matrix_mautrix_discord_container_image_self_build: "{{ matrix_architecture not in ['arm64', 'amd64'] }}"
|
||||
|
||||
@@ -1541,7 +1540,7 @@ matrix_mautrix_slack_systemd_required_services_list_auto: |
|
||||
([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_mautrix_slack_database_hostname == postgres_connection_hostname) else [])
|
||||
}}
|
||||
|
||||
matrix_mautrix_slack_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mautrix_slack_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_mautrix_slack_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mautrix_slack_container_image_registry_prefix_upstream_default }}"
|
||||
|
||||
matrix_mautrix_slack_container_image_self_build: "{{ matrix_architecture not in ['arm64', 'amd64'] }}"
|
||||
|
||||
@@ -1602,7 +1601,7 @@ matrix_mautrix_googlechat_systemd_required_services_list_auto: |
|
||||
([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_mautrix_googlechat_database_hostname == postgres_connection_hostname) else [])
|
||||
}}
|
||||
|
||||
matrix_mautrix_googlechat_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mautrix_googlechat_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_mautrix_googlechat_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mautrix_googlechat_container_image_registry_prefix_upstream_default }}"
|
||||
|
||||
matrix_mautrix_googlechat_container_image_self_build: "{{ matrix_architecture not in ['amd64', 'arm64'] }}"
|
||||
|
||||
@@ -1680,7 +1679,7 @@ matrix_mautrix_signal_systemd_required_services_list_auto: |
|
||||
([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_mautrix_signal_database_hostname == postgres_connection_hostname) else [])
|
||||
}}
|
||||
|
||||
matrix_mautrix_signal_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mautrix_signal_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_mautrix_signal_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mautrix_signal_container_image_registry_prefix_upstream_default }}"
|
||||
|
||||
matrix_mautrix_signal_container_image_self_build: "{{ matrix_architecture not in ['arm64', 'amd64'] }}"
|
||||
|
||||
@@ -1916,9 +1915,9 @@ matrix_mautrix_telegram_systemd_required_services_list_auto: |
|
||||
([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_mautrix_telegram_database_hostname == postgres_connection_hostname) else [])
|
||||
}}
|
||||
|
||||
matrix_mautrix_telegram_lottieconverter_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mautrix_telegram_lottieconverter_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_mautrix_telegram_lottieconverter_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mautrix_telegram_lottieconverter_container_image_registry_prefix_upstream_default }}"
|
||||
|
||||
matrix_mautrix_telegram_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mautrix_telegram_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_mautrix_telegram_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mautrix_telegram_container_image_registry_prefix_upstream_default }}"
|
||||
|
||||
# Images are multi-arch (amd64 and arm64, but not arm32).
|
||||
matrix_mautrix_telegram_container_image_self_build: "{{ matrix_architecture not in ['arm64', 'amd64'] }}"
|
||||
@@ -2002,7 +2001,7 @@ matrix_mautrix_twitter_systemd_required_services_list_auto: |
|
||||
([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_mautrix_twitter_database_hostname == postgres_connection_hostname) else [])
|
||||
}}
|
||||
|
||||
matrix_mautrix_twitter_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mautrix_twitter_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_mautrix_twitter_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mautrix_twitter_container_image_registry_prefix_upstream_default }}"
|
||||
|
||||
matrix_mautrix_twitter_container_image_self_build: "{{ matrix_architecture not in ['amd64', 'arm64'] }}"
|
||||
|
||||
@@ -2076,7 +2075,7 @@ matrix_mautrix_gmessages_systemd_required_services_list_auto: |
|
||||
([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_mautrix_gmessages_database_hostname == postgres_connection_hostname) else [])
|
||||
}}
|
||||
|
||||
matrix_mautrix_gmessages_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mautrix_gmessages_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_mautrix_gmessages_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mautrix_gmessages_container_image_registry_prefix_upstream_default }}"
|
||||
|
||||
matrix_mautrix_gmessages_container_image_self_build: "{{ matrix_architecture not in ['arm64', 'amd64'] }}"
|
||||
|
||||
@@ -2157,7 +2156,7 @@ matrix_mautrix_wsproxy_hostname: "wsproxy.{{ matrix_mautrix_wsproxy_homeserver_d
|
||||
|
||||
matrix_mautrix_wsproxy_syncproxy_homeserver_url: "{{ matrix_addons_homeserver_client_api_url }}"
|
||||
|
||||
matrix_mautrix_wsproxy_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mautrix_wsproxy_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_mautrix_wsproxy_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mautrix_wsproxy_container_image_registry_prefix_upstream_default }}"
|
||||
|
||||
matrix_mautrix_wsproxy_container_network: "{{ matrix_addons_container_network }}"
|
||||
|
||||
@@ -2252,7 +2251,7 @@ matrix_wechat_database_password: "{{ (matrix_homeserver_generic_secret_key + ':g
|
||||
# We don't enable bridges by default.
|
||||
matrix_mautrix_whatsapp_enabled: false
|
||||
|
||||
matrix_mautrix_whatsapp_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mautrix_whatsapp_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_mautrix_whatsapp_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mautrix_whatsapp_container_image_registry_prefix_upstream_default }}"
|
||||
|
||||
matrix_mautrix_whatsapp_container_image_self_build: "{{ matrix_architecture not in ['arm64', 'amd64'] }}"
|
||||
|
||||
@@ -2331,7 +2330,7 @@ matrix_sms_bridge_systemd_required_services_list_auto: |
|
||||
matrix_addons_homeserver_systemd_services_list
|
||||
}}
|
||||
|
||||
matrix_sms_bridge_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_sms_bridge_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_sms_bridge_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_sms_bridge_container_image_registry_prefix_upstream_default }}"
|
||||
|
||||
matrix_sms_bridge_container_network: "{{ matrix_addons_container_network }}"
|
||||
|
||||
@@ -2368,7 +2367,7 @@ matrix_heisenbridge_systemd_required_services_list_auto: |
|
||||
matrix_addons_homeserver_systemd_services_list
|
||||
}}
|
||||
|
||||
matrix_heisenbridge_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_heisenbridge_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_heisenbridge_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_heisenbridge_container_image_registry_prefix_upstream_default }}"
|
||||
|
||||
matrix_heisenbridge_container_network: "{{ matrix_addons_container_network }}"
|
||||
|
||||
@@ -2407,7 +2406,7 @@ matrix_heisenbridge_homeserver_url: "{{ matrix_addons_homeserver_client_api_url
|
||||
# We don't enable bridges by default.
|
||||
matrix_hookshot_enabled: false
|
||||
|
||||
matrix_hookshot_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_hookshot_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_hookshot_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_hookshot_container_image_registry_prefix_upstream_default }}"
|
||||
|
||||
matrix_hookshot_container_image_self_build: "{{ matrix_architecture not in ['arm64', 'amd64'] }}"
|
||||
|
||||
@@ -2487,7 +2486,7 @@ matrix_mx_puppet_steam_systemd_required_services_list_auto: |
|
||||
([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_mx_puppet_steam_database_hostname == postgres_connection_hostname) else [])
|
||||
}}
|
||||
|
||||
matrix_mx_puppet_steam_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mx_puppet_steam_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_mx_puppet_steam_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mx_puppet_steam_container_image_registry_prefix_upstream_default }}"
|
||||
|
||||
matrix_mx_puppet_steam_container_image_self_build: "{{ matrix_architecture not in ['arm64', 'amd64'] }}"
|
||||
|
||||
@@ -2539,7 +2538,7 @@ matrix_mx_puppet_groupme_systemd_required_services_list_auto: |
|
||||
([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_mx_puppet_groupme_database_hostname == postgres_connection_hostname) else [])
|
||||
}}
|
||||
|
||||
matrix_mx_puppet_groupme_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mx_puppet_groupme_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_mx_puppet_groupme_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mx_puppet_groupme_container_image_registry_prefix_upstream_default }}"
|
||||
|
||||
matrix_mx_puppet_groupme_container_image_self_build: "{{ matrix_architecture != 'amd64' }}"
|
||||
|
||||
@@ -2583,7 +2582,7 @@ matrix_mx_puppet_groupme_database_password: "{{ (matrix_homeserver_generic_secre
|
||||
# We don't enable bridges by default.
|
||||
matrix_postmoogle_enabled: false
|
||||
|
||||
matrix_postmoogle_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_postmoogle_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_postmoogle_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_postmoogle_container_image_registry_prefix_upstream_default }}"
|
||||
|
||||
matrix_postmoogle_container_image_self_build: "{{ matrix_architecture not in ['amd64', 'arm64'] }}"
|
||||
|
||||
@@ -2668,7 +2667,7 @@ matrix_steam_bridge_systemd_required_services_list_auto: |
|
||||
([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_steam_bridge_database_hostname == postgres_connection_hostname) else [])
|
||||
}}
|
||||
|
||||
matrix_steam_bridge_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_steam_bridge_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_steam_bridge_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_steam_bridge_container_image_registry_prefix_upstream_default }}"
|
||||
|
||||
matrix_steam_bridge_container_image_self_build: "{{ matrix_architecture not in ['amd64', 'arm64'] }}"
|
||||
|
||||
@@ -2744,7 +2743,7 @@ matrix_bot_matrix_reminder_bot_systemd_required_services_list_auto: |
|
||||
([postgres_identifier ~ '.service'] if postgres_enabled and matrix_bot_matrix_reminder_bot_database_hostname == postgres_connection_hostname else [])
|
||||
}}
|
||||
|
||||
matrix_bot_matrix_reminder_bot_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_bot_matrix_reminder_bot_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_bot_matrix_reminder_bot_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_bot_matrix_reminder_bot_container_image_registry_prefix_upstream_default }}"
|
||||
|
||||
matrix_bot_matrix_reminder_bot_container_image_self_build: "{{ matrix_architecture not in ['amd64', 'arm64'] }}"
|
||||
|
||||
@@ -2791,7 +2790,7 @@ matrix_bot_matrix_registration_bot_systemd_required_services_list_auto: |
|
||||
matrix_addons_homeserver_systemd_services_list
|
||||
}}
|
||||
|
||||
matrix_bot_matrix_registration_bot_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_bot_matrix_registration_bot_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_bot_matrix_registration_bot_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_bot_matrix_registration_bot_container_image_registry_prefix_upstream_default }}"
|
||||
|
||||
matrix_bot_matrix_registration_bot_container_image_self_build: "{{ matrix_architecture not in ['amd64'] }}"
|
||||
|
||||
@@ -2840,7 +2839,7 @@ matrix_bot_maubot_homeserver_secret: |-
|
||||
}[matrix_homeserver_implementation] | default('')
|
||||
}}
|
||||
|
||||
matrix_bot_maubot_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_bot_maubot_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_bot_maubot_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_bot_maubot_container_image_registry_prefix_upstream_default }}"
|
||||
|
||||
matrix_bot_maubot_container_image_self_build: "{{ matrix_architecture not in ['amd64'] }}"
|
||||
|
||||
@@ -2898,7 +2897,7 @@ matrix_bot_honoroit_systemd_required_services_list_auto: |
|
||||
([postgres_identifier ~ '.service'] if postgres_enabled and matrix_bot_honoroit_database_hostname == postgres_connection_hostname else [])
|
||||
}}
|
||||
|
||||
matrix_bot_honoroit_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_bot_honoroit_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_bot_honoroit_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_bot_honoroit_container_image_registry_prefix_upstream_default }}"
|
||||
|
||||
matrix_bot_honoroit_container_network: "{{ matrix_addons_container_network }}"
|
||||
|
||||
@@ -2954,7 +2953,7 @@ matrix_bot_buscarron_systemd_required_services_list_auto: |
|
||||
([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_bot_buscarron_database_hostname == postgres_connection_hostname) else [])
|
||||
}}
|
||||
|
||||
matrix_bot_buscarron_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_bot_buscarron_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_bot_buscarron_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_bot_buscarron_container_image_registry_prefix_upstream_default }}"
|
||||
|
||||
matrix_bot_buscarron_container_image_self_build: "{{ matrix_architecture not in ['amd64', 'arm64'] }}"
|
||||
|
||||
@@ -3086,7 +3085,7 @@ matrix_bot_mjolnir_systemd_required_services_list_auto: |
|
||||
(['matrix-pantalaimon.service'] if matrix_bot_mjolnir_pantalaimon_use else [])
|
||||
}}
|
||||
|
||||
matrix_bot_mjolnir_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_bot_mjolnir_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_bot_mjolnir_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_bot_mjolnir_container_image_registry_prefix_upstream_default }}"
|
||||
|
||||
matrix_bot_mjolnir_container_image_self_build: "{{ matrix_architecture != 'amd64' }}"
|
||||
|
||||
@@ -3124,7 +3123,7 @@ matrix_bot_draupnir_systemd_required_services_list_auto: |
|
||||
(['matrix-pantalaimon.service'] if matrix_bot_draupnir_pantalaimon_use else [])
|
||||
}}
|
||||
|
||||
matrix_bot_draupnir_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_bot_draupnir_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_bot_draupnir_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_bot_draupnir_container_image_registry_prefix_upstream_default }}"
|
||||
|
||||
matrix_bot_draupnir_container_image_self_build: "{{ matrix_architecture not in ['amd64', 'arm64'] }}"
|
||||
|
||||
@@ -3177,7 +3176,7 @@ matrix_appservice_draupnir_for_all_systemd_required_services_list_auto: |
|
||||
([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_appservice_draupnir_for_all_database_hostname == postgres_connection_hostname) else [])
|
||||
}}
|
||||
|
||||
matrix_appservice_draupnir_for_all_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_appservice_draupnir_for_all_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_appservice_draupnir_for_all_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_appservice_draupnir_for_all_container_image_registry_prefix_upstream_default }}"
|
||||
|
||||
matrix_appservice_draupnir_for_all_container_image_self_build: "{{ matrix_architecture not in ['amd64', 'arm64'] }}"
|
||||
|
||||
@@ -3236,7 +3235,7 @@ matrix_pantalaimon_systemd_required_services_list_auto: |
|
||||
matrix_addons_homeserver_systemd_services_list
|
||||
}}
|
||||
|
||||
matrix_pantalaimon_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_pantalaimon_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_pantalaimon_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_pantalaimon_container_image_registry_prefix_upstream_default }}"
|
||||
|
||||
matrix_pantalaimon_container_network: "{{ matrix_homeserver_container_network }}"
|
||||
|
||||
@@ -3268,7 +3267,7 @@ backup_borg_username: "{{ matrix_user_name }}"
|
||||
backup_borg_uid: "{{ matrix_user_uid }}"
|
||||
backup_borg_gid: "{{ matrix_user_gid }}"
|
||||
|
||||
backup_borg_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else backup_borg_docker_image_registry_prefix_upstream_default }}"
|
||||
backup_borg_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else backup_borg_container_image_registry_prefix_upstream_default }}"
|
||||
|
||||
backup_borg_container_network: "{{ postgres_container_network if postgres_enabled else backup_borg_identifier }}"
|
||||
|
||||
@@ -3320,7 +3319,7 @@ matrix_cactus_comments_systemd_required_services_list_auto: |
|
||||
matrix_addons_homeserver_systemd_services_list
|
||||
}}
|
||||
|
||||
matrix_cactus_comments_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_cactus_comments_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_cactus_comments_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_cactus_comments_container_image_registry_prefix_upstream_default }}"
|
||||
|
||||
matrix_cactus_comments_container_image_self_build: "{{ matrix_architecture not in ['amd64'] }}"
|
||||
|
||||
@@ -3387,7 +3386,7 @@ matrix_corporal_systemd_required_services_list_auto: |
|
||||
(['matrix-' + matrix_homeserver_implementation + '.service'])
|
||||
}}
|
||||
|
||||
matrix_corporal_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_corporal_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_corporal_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_corporal_container_image_registry_prefix_upstream_default }}"
|
||||
|
||||
matrix_corporal_container_image_self_build: "{{ matrix_architecture not in ['amd64', 'arm64'] }}"
|
||||
|
||||
@@ -3498,7 +3497,9 @@ matrix_rageshake_container_labels_traefik_tls_certResolver: "{{ traefik_certReso
|
||||
#
|
||||
######################################################################
|
||||
|
||||
coturn_enabled: true
|
||||
# Coturn is enabled by default only when Jitsi is enabled because Jitsi still
|
||||
# depends on legacy TURN integration for compatibility.
|
||||
coturn_enabled: "{{ jitsi_enabled | bool }}"
|
||||
|
||||
coturn_identifier: matrix-coturn
|
||||
|
||||
@@ -3514,11 +3515,6 @@ coturn_container_image_registry_prefix_upstream: "{{ matrix_container_global_reg
|
||||
|
||||
coturn_container_image_self_build: "{{ matrix_architecture not in ['amd64', 'arm32', 'arm64'] }}"
|
||||
|
||||
# We make the assumption that `ansible_host` points to an external IP address, which may not always be the case.
|
||||
# Users are free to set `coturn_turn_external_ip_address` to an empty string
|
||||
# to allow auto-detection (via an echoip service) to happen at runtime.
|
||||
coturn_turn_external_ip_address: "{{ ansible_host }}"
|
||||
|
||||
# By default, we use the official public instance.
|
||||
coturn_turn_external_ip_address_auto_detection_echoip_service_url: https://ifconfig.co/json
|
||||
|
||||
@@ -3783,7 +3779,7 @@ matrix_ldap_registration_proxy_systemd_required_services_list_auto: |
|
||||
matrix_addons_homeserver_systemd_services_list
|
||||
}}
|
||||
|
||||
matrix_ldap_registration_proxy_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_ldap_registration_proxy_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_ldap_registration_proxy_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_ldap_registration_proxy_container_image_registry_prefix_upstream_default }}"
|
||||
|
||||
matrix_ldap_registration_proxy_container_network: "{{ matrix_addons_container_network }}"
|
||||
|
||||
@@ -3847,7 +3843,7 @@ exim_relay_container_image_self_build: "{{ matrix_architecture not in ['amd64',
|
||||
|
||||
matrix_media_repo_enabled: false
|
||||
|
||||
matrix_media_repo_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_media_repo_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_media_repo_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_media_repo_container_image_registry_prefix_upstream_default }}"
|
||||
|
||||
matrix_media_repo_container_network: "{{ matrix_homeserver_container_network }}"
|
||||
|
||||
@@ -4280,7 +4276,7 @@ matrix_sygnal_metrics_prometheus_enabled: "{{ prometheus_enabled or matrix_metri
|
||||
|
||||
matrix_sygnal_hostname: "{{ matrix_server_fqn_sygnal }}"
|
||||
|
||||
matrix_sygnal_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_sygnal_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_sygnal_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_sygnal_container_image_registry_prefix_upstream_default }}"
|
||||
|
||||
matrix_sygnal_container_network: "{{ matrix_homeserver_container_network }}"
|
||||
|
||||
@@ -4377,7 +4373,7 @@ matrix_client_element_enabled: true
|
||||
|
||||
matrix_client_element_scheme: "{{ 'https' if matrix_playbook_ssl_enabled else 'http' }}"
|
||||
|
||||
matrix_client_element_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_client_element_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_client_element_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_client_element_container_image_registry_prefix_upstream_default }}"
|
||||
|
||||
matrix_client_element_container_image_self_build: "{{ matrix_architecture not in ['arm64', 'amd64'] }}"
|
||||
|
||||
@@ -4537,7 +4533,7 @@ matrix_client_schildichat_enabled: false
|
||||
|
||||
matrix_client_schildichat_scheme: "{{ 'https' if matrix_playbook_ssl_enabled else 'http' }}"
|
||||
|
||||
matrix_client_schildichat_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_client_schildichat_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_client_schildichat_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_client_schildichat_container_image_registry_prefix_upstream_default }}"
|
||||
|
||||
matrix_client_schildichat_container_image_self_build: "{{ matrix_architecture not in ['arm64', 'amd64'] }}"
|
||||
|
||||
@@ -4590,7 +4586,7 @@ matrix_client_fluffychat_enabled: false
|
||||
|
||||
matrix_client_fluffychat_scheme: "{{ 'https' if matrix_playbook_ssl_enabled else 'http' }}"
|
||||
|
||||
matrix_client_fluffychat_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_client_fluffychat_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_client_fluffychat_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_client_fluffychat_container_image_registry_prefix_upstream_default }}"
|
||||
|
||||
matrix_client_fluffychat_container_image_self_build: "{{ matrix_architecture not in ['arm64', 'amd64'] }}"
|
||||
|
||||
@@ -4629,11 +4625,11 @@ matrix_synapse_gid: "{{ matrix_user_gid }}"
|
||||
|
||||
matrix_synapse_federation_enabled: "{{ matrix_homeserver_federation_enabled }}"
|
||||
|
||||
matrix_synapse_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_synapse_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_synapse_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_synapse_container_image_registry_prefix_upstream_default }}"
|
||||
|
||||
matrix_s3_goofys_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_s3_goofys_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_s3_goofys_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_s3_goofys_container_image_registry_prefix_upstream_default }}"
|
||||
|
||||
matrix_synapse_rust_synapse_compress_state_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_synapse_rust_synapse_compress_state_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_synapse_rust_synapse_compress_state_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_synapse_rust_synapse_compress_state_container_image_registry_prefix_upstream_default }}"
|
||||
|
||||
matrix_synapse_container_image_self_build: "{{ matrix_architecture not in ['arm64', 'amd64'] }}"
|
||||
|
||||
@@ -4854,7 +4850,7 @@ matrix_synapse_reverse_proxy_companion_container_additional_networks_auto: |
|
||||
(
|
||||
([matrix_playbook_reverse_proxyable_services_additional_network] if matrix_synapse_reverse_proxy_companion_container_labels_traefik_enabled and matrix_playbook_reverse_proxyable_services_additional_network else [])
|
||||
+
|
||||
([matrix_prometheus_nginxlog_exporter_container_network] if (matrix_prometheus_nginxlog_exporter_enabled and matrix_prometheus_nginxlog_exporter_container_network != matrix_synapse_reverse_proxy_companion_container_network) else [])
|
||||
([prometheus_nginxlog_exporter_container_network] if (prometheus_nginxlog_exporter_enabled and prometheus_nginxlog_exporter_container_network != matrix_synapse_reverse_proxy_companion_container_network) else [])
|
||||
+
|
||||
([] if matrix_homeserver_container_network in ['', matrix_synapse_reverse_proxy_companion_container_network] else [matrix_homeserver_container_network])
|
||||
) | unique
|
||||
@@ -4903,8 +4899,8 @@ matrix_synapse_reverse_proxy_companion_synapse_stream_writer_presence_stream_wor
|
||||
matrix_synapse_reverse_proxy_companion_synapse_media_repository_locations: "{{matrix_synapse_workers_media_repository_endpoints|default([]) }}"
|
||||
matrix_synapse_reverse_proxy_companion_synapse_user_dir_locations: "{{ matrix_synapse_workers_user_dir_worker_client_server_endpoints|default([]) }}"
|
||||
|
||||
matrix_synapse_reverse_proxy_companion_access_log_syslog_integration_enabled: "{{ matrix_prometheus_nginxlog_exporter_enabled }}"
|
||||
matrix_synapse_reverse_proxy_companion_access_log_syslog_integration_server_port: "{{ (matrix_prometheus_nginxlog_exporter_identifier | string +':'+ matrix_prometheus_nginxlog_exporter_container_syslog_port | string) | default('') }}"
|
||||
matrix_synapse_reverse_proxy_companion_access_log_syslog_integration_enabled: "{{ prometheus_nginxlog_exporter_enabled }}"
|
||||
matrix_synapse_reverse_proxy_companion_access_log_syslog_integration_server_port: "{{ (prometheus_nginxlog_exporter_identifier | string +':'+ prometheus_nginxlog_exporter_container_syslog_port | string) | default('') }}"
|
||||
|
||||
######################################################################
|
||||
#
|
||||
@@ -4920,7 +4916,7 @@ matrix_synapse_reverse_proxy_companion_access_log_syslog_integration_server_port
|
||||
|
||||
matrix_synapse_admin_enabled: false
|
||||
|
||||
matrix_synapse_admin_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_synapse_admin_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_synapse_admin_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_synapse_admin_container_image_registry_prefix_upstream_default }}"
|
||||
|
||||
matrix_synapse_admin_container_uid: "{{ matrix_user_uid }}"
|
||||
matrix_synapse_admin_container_gid: "{{ matrix_user_gid }}"
|
||||
@@ -5212,41 +5208,48 @@ prometheus_postgres_exporter_systemd_required_services_list_auto: |
|
||||
|
||||
######################################################################
|
||||
#
|
||||
# matrix-prometheus-nginxlog-exporter
|
||||
# prometheus_nginxlog_exporter
|
||||
#
|
||||
######################################################################
|
||||
|
||||
matrix_prometheus_nginxlog_exporter_enabled: false
|
||||
prometheus_nginxlog_exporter_enabled: false
|
||||
|
||||
matrix_prometheus_nginxlog_exporter_identifier: matrix-prometheus-nginxlog-exporter
|
||||
prometheus_nginxlog_exporter_identifier: matrix-prometheus-nginxlog-exporter
|
||||
prometheus_nginxlog_exporter_base_path: "{{ matrix_base_data_path }}/prometheus-nginxlog-exporter"
|
||||
|
||||
matrix_prometheus_nginxlog_exporter_hostname: "{{ matrix_server_fqn_matrix }}"
|
||||
prometheus_nginxlog_exporter_uid: "{{ matrix_user_uid }}"
|
||||
prometheus_nginxlog_exporter_gid: "{{ matrix_user_gid }}"
|
||||
|
||||
matrix_prometheus_nginxlog_exporter_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_prometheus_nginxlog_exporter_docker_image_registry_prefix_upstream_default }}"
|
||||
prometheus_nginxlog_exporter_hostname: "{{ matrix_server_fqn_matrix }}"
|
||||
|
||||
matrix_prometheus_nginxlog_exporter_container_network: "{{ matrix_monitoring_container_network }}"
|
||||
prometheus_nginxlog_exporter_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else prometheus_nginxlog_exporter_container_image_registry_prefix_upstream_default }}"
|
||||
|
||||
matrix_prometheus_nginxlog_exporter_container_additional_networks_auto: |-
|
||||
prometheus_nginxlog_exporter_container_network: "{{ matrix_monitoring_container_network }}"
|
||||
prometheus_nginxlog_exporter_container_network_deletion_enabled: false
|
||||
|
||||
prometheus_nginxlog_exporter_container_additional_networks_auto: |-
|
||||
{{
|
||||
([matrix_playbook_reverse_proxyable_services_additional_network] if (matrix_playbook_reverse_proxyable_services_additional_network and matrix_prometheus_nginxlog_exporter_container_labels_traefik_enabled) else [])
|
||||
([matrix_playbook_reverse_proxyable_services_additional_network] if (matrix_playbook_reverse_proxyable_services_additional_network and prometheus_nginxlog_exporter_container_labels_traefik_enabled) else [])
|
||||
}}
|
||||
|
||||
matrix_prometheus_nginxlog_exporter_container_labels_traefik_enabled: "{{ matrix_metrics_exposure_enabled }}"
|
||||
matrix_prometheus_nginxlog_exporter_container_labels_traefik_docker_network: "{{ matrix_playbook_reverse_proxyable_services_additional_network }}"
|
||||
matrix_prometheus_nginxlog_exporter_container_labels_traefik_entrypoints: "{{ traefik_entrypoint_primary }}"
|
||||
matrix_prometheus_nginxlog_exporter_container_labels_traefik_tls_certResolver: "{{ traefik_certResolver_primary }}"
|
||||
prometheus_nginxlog_exporter_container_labels_traefik_enabled: "{{ matrix_metrics_exposure_enabled }}"
|
||||
prometheus_nginxlog_exporter_container_labels_traefik_docker_network: "{{ matrix_playbook_reverse_proxyable_services_additional_network }}"
|
||||
prometheus_nginxlog_exporter_container_labels_traefik_entrypoints: "{{ traefik_entrypoint_primary }}"
|
||||
prometheus_nginxlog_exporter_container_labels_traefik_tls_certResolver: "{{ traefik_certResolver_primary }}"
|
||||
|
||||
matrix_prometheus_nginxlog_exporter_container_labels_metrics_middleware_basic_auth_enabled: "{{ matrix_metrics_exposure_http_basic_auth_enabled }}"
|
||||
matrix_prometheus_nginxlog_exporter_container_labels_metrics_middleware_basic_auth_users: "{{ matrix_metrics_exposure_http_basic_auth_users }}"
|
||||
prometheus_nginxlog_exporter_container_labels_metrics_middleware_basic_auth_enabled: "{{ matrix_metrics_exposure_http_basic_auth_enabled }}"
|
||||
prometheus_nginxlog_exporter_container_labels_metrics_middleware_basic_auth_users: "{{ matrix_metrics_exposure_http_basic_auth_users }}"
|
||||
|
||||
matrix_prometheus_nginxlog_exporter_config_namespaces_matrix_source_tags_auto: |
|
||||
prometheus_nginxlog_exporter_config_namespaces_source_tags_auto: |
|
||||
{{
|
||||
([matrix_synapse_reverse_proxy_companion_access_log_syslog_integration_tag] if matrix_synapse_reverse_proxy_companion_access_log_syslog_integration_enabled else [])
|
||||
}}
|
||||
|
||||
prometheus_nginxlog_exporter_architecture: "{{ matrix_architecture }}"
|
||||
|
||||
######################################################################
|
||||
#
|
||||
# /matrix-prometheus-nginxlog-exporter
|
||||
# /prometheus_nginxlog_exporter
|
||||
#
|
||||
######################################################################
|
||||
|
||||
@@ -5273,6 +5276,8 @@ prometheus_container_network: "{{ matrix_monitoring_container_network }}"
|
||||
prometheus_container_additional_networks_auto: |
|
||||
{{
|
||||
(
|
||||
([prometheus_nginxlog_exporter_container_network] if matrix_prometheus_services_connect_scraper_nginxlog_enabled and prometheus_nginxlog_exporter_container_network != prometheus_container_network else [])
|
||||
+
|
||||
([prometheus_node_exporter_container_network] if prometheus_self_node_scraper_enabled and prometheus_node_exporter_container_network != prometheus_container_network else [])
|
||||
+
|
||||
([matrix_synapse_container_network] if matrix_prometheus_services_connect_scraper_synapse_enabled and matrix_synapse_container_network != prometheus_container_network else [])
|
||||
@@ -5281,8 +5286,6 @@ prometheus_container_additional_networks_auto: |
|
||||
+
|
||||
([matrix_hookshot_container_network] if matrix_prometheus_services_connect_scraper_hookshot_enabled and matrix_hookshot_container_network != prometheus_container_network else [])
|
||||
+
|
||||
([matrix_prometheus_nginxlog_exporter_container_network] if matrix_prometheus_services_connect_scraper_nginxlog_enabled and matrix_prometheus_nginxlog_exporter_container_network != prometheus_container_network else [])
|
||||
+
|
||||
([matrix_media_repo_container_network] if matrix_prometheus_services_connect_scraper_media_repo_enabled and matrix_media_repo_container_network != prometheus_container_network else [])
|
||||
+
|
||||
([matrix_synapse_usage_exporter_container_network] if matrix_prometheus_services_connect_scraper_synapse_usage_exporter_enabled and matrix_synapse_usage_exporter_container_network != prometheus_container_network else [])
|
||||
@@ -5329,7 +5332,7 @@ prometheus_config_scrape_configs_auto: |
|
||||
|
||||
matrix_prometheus_services_connect_synapse_enabled: "{{ prometheus_enabled and matrix_synapse_enabled }}"
|
||||
|
||||
matrix_prometheus_services_connect_synapse_rules_download_synapse_tag: "{{ matrix_synapse_docker_image_tag }}"
|
||||
matrix_prometheus_services_connect_synapse_rules_download_synapse_tag: "{{ matrix_synapse_container_image_tag }}"
|
||||
matrix_prometheus_services_connect_synapse_rules_download_dir_path: "{{ prometheus_config_path }}"
|
||||
matrix_prometheus_services_connect_synapse_rules_download_owner: "{{ prometheus_uid }}"
|
||||
matrix_prometheus_services_connect_synapse_rules_download_group: "{{ prometheus_gid }}"
|
||||
@@ -5344,8 +5347,8 @@ matrix_prometheus_services_connect_scraper_postgres_static_configs_target: "{{ p
|
||||
matrix_prometheus_services_connect_scraper_hookshot_enabled: "{{ matrix_hookshot_enabled and matrix_hookshot_metrics_enabled }}"
|
||||
matrix_prometheus_services_connect_scraper_hookshot_static_configs_target: "{{ matrix_hookshot_container_url }}:{{ matrix_hookshot_metrics_port | string }}"
|
||||
|
||||
matrix_prometheus_services_connect_scraper_nginxlog_enabled: "{{ matrix_prometheus_nginxlog_exporter_enabled }}"
|
||||
matrix_prometheus_services_connect_scraper_nginxlog_static_configs_target: "{{ matrix_prometheus_nginxlog_exporter_identifier }}:{{ matrix_prometheus_nginxlog_exporter_container_metrics_port | string }}"
|
||||
matrix_prometheus_services_connect_scraper_nginxlog_enabled: "{{ prometheus_nginxlog_exporter_enabled }}"
|
||||
matrix_prometheus_services_connect_scraper_nginxlog_static_configs_target: "{{ prometheus_nginxlog_exporter_identifier }}:{{ prometheus_nginxlog_exporter_container_metrics_port | string }}"
|
||||
|
||||
matrix_prometheus_services_connect_scraper_media_repo_enabled: "{{ matrix_media_repo_enabled and matrix_media_repo_metrics_enabled }}"
|
||||
matrix_prometheus_services_connect_scraper_media_repo_static_configs_target: "{{ matrix_media_repo_identifier }}:{{ matrix_media_repo_metrics_port }}"
|
||||
@@ -5418,7 +5421,7 @@ grafana_dashboard_download_urls: |
|
||||
+
|
||||
(prometheus_postgres_exporter_dashboard_urls if prometheus_postgres_exporter_enabled else [])
|
||||
+
|
||||
(matrix_prometheus_nginxlog_exporter_dashboard_urls if matrix_prometheus_nginxlog_exporter_enabled else [])
|
||||
(prometheus_nginxlog_exporter_dashboard_urls if prometheus_nginxlog_exporter_enabled else [])
|
||||
+
|
||||
(matrix_media_repo_dashboard_urls if matrix_media_repo_metrics_enabled else [])
|
||||
+
|
||||
@@ -5428,9 +5431,9 @@ grafana_dashboard_download_urls: |
|
||||
grafana_provisioning_dashboard_template_files: |
|
||||
{{
|
||||
([{
|
||||
'path': 'roles/custom/matrix-prometheus-nginxlog-exporter/templates/grafana/nginx-proxy.json',
|
||||
'path': 'roles/galaxy/prometheus_nginxlog_exporter/templates/grafana/nginx-proxy.json',
|
||||
'name': 'nginx-proxy.json',
|
||||
}] if matrix_prometheus_nginxlog_exporter_enabled else [])
|
||||
}] if prometheus_nginxlog_exporter_enabled else [])
|
||||
}}
|
||||
|
||||
grafana_default_home_dashboard_path: |-
|
||||
@@ -5467,7 +5470,7 @@ matrix_registration_systemd_required_services_list_auto: |
|
||||
([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_registration_database_hostname == postgres_connection_hostname) else [])
|
||||
}}
|
||||
|
||||
matrix_registration_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_registration_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_registration_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_registration_container_image_registry_prefix_upstream_default }}"
|
||||
|
||||
matrix_registration_container_image_self_build: "{{ matrix_architecture != 'amd64' }}"
|
||||
|
||||
@@ -5530,7 +5533,7 @@ matrix_dendrite_hostname: "{{ matrix_server_fqn_matrix }}"
|
||||
|
||||
matrix_dendrite_federation_enabled: "{{ matrix_homeserver_federation_enabled }}"
|
||||
|
||||
matrix_dendrite_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_dendrite_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_dendrite_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_dendrite_container_image_registry_prefix_upstream_default }}"
|
||||
|
||||
matrix_dendrite_container_network: "{{ matrix_homeserver_container_network }}"
|
||||
|
||||
@@ -5620,7 +5623,7 @@ matrix_conduit_hostname: "{{ matrix_server_fqn_matrix }}"
|
||||
|
||||
matrix_conduit_allow_federation: "{{ matrix_homeserver_federation_enabled }}"
|
||||
|
||||
matrix_conduit_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_conduit_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_conduit_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_conduit_container_image_registry_prefix_upstream_default }}"
|
||||
|
||||
matrix_conduit_container_network: "{{ matrix_homeserver_container_network }}"
|
||||
|
||||
@@ -5670,7 +5673,7 @@ matrix_continuwuity_hostname: "{{ matrix_server_fqn_matrix }}"
|
||||
|
||||
matrix_continuwuity_config_allow_federation: "{{ matrix_homeserver_federation_enabled }}"
|
||||
|
||||
matrix_continuwuity_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_continuwuity_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_continuwuity_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_continuwuity_container_image_registry_prefix_upstream_default }}"
|
||||
|
||||
matrix_continuwuity_container_network: "{{ matrix_homeserver_container_network }}"
|
||||
|
||||
@@ -5789,7 +5792,7 @@ matrix_user_verification_service_systemd_required_services_list: |
|
||||
(['matrix-' + matrix_homeserver_implementation + '.service'])
|
||||
}}
|
||||
|
||||
matrix_user_verification_service_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_user_verification_service_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_user_verification_service_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_user_verification_service_container_image_registry_prefix_upstream_default }}"
|
||||
|
||||
matrix_user_verification_service_container_network: "{{ matrix_addons_container_network }}"
|
||||
|
||||
@@ -5938,6 +5941,8 @@ traefik_additional_entrypoints_auto: |
|
||||
([matrix_playbook_public_matrix_federation_api_traefik_entrypoint_definition] if matrix_playbook_public_matrix_federation_api_traefik_entrypoint_enabled else [])
|
||||
+
|
||||
([matrix_playbook_internal_matrix_client_api_traefik_entrypoint_definition] if matrix_playbook_internal_matrix_client_api_traefik_entrypoint_enabled else [])
|
||||
+
|
||||
([matrix_playbook_livekit_turn_traefik_entrypoint_definition] if matrix_playbook_livekit_turn_traefik_entrypoint_enabled else [])
|
||||
}}
|
||||
|
||||
traefik_config_providers_docker_endpoint: "{{ container_socket_proxy_endpoint if container_socket_proxy_enabled else 'unix:///var/run/docker.sock' }}"
|
||||
@@ -6097,6 +6102,11 @@ livekit_server_container_image_registry_prefix_upstream: "{{ matrix_container_gl
|
||||
livekit_server_container_network: "{{ matrix_addons_container_network }}"
|
||||
livekit_server_container_additional_networks_auto: "{{ [matrix_playbook_reverse_proxyable_services_additional_network] if (livekit_server_container_labels_traefik_enabled and matrix_playbook_reverse_proxyable_services_additional_network) else [] }}"
|
||||
|
||||
# We expose LiveKit TURN/TLS via Traefik on a dedicated TCP entrypoint.
|
||||
matrix_playbook_livekit_turn_traefik_entrypoint_enabled: "{{ matrix_playbook_reverse_proxy_type == 'playbook-managed-traefik' and livekit_server_config_turn_enabled and livekit_server_config_turn_external_tls and livekit_server_container_labels_traefik_enabled }}"
|
||||
matrix_playbook_livekit_turn_traefik_entrypoint_port: "{{ livekit_server_config_turn_tls_port }}"
|
||||
matrix_playbook_livekit_turn_traefik_entrypoint_host_bind_port: "{{ (matrix_playbook_service_host_bind_interface_prefix ~ (matrix_playbook_livekit_turn_traefik_entrypoint_port | string)) if matrix_playbook_service_host_bind_interface_prefix else (matrix_playbook_livekit_turn_traefik_entrypoint_port | string) }}"
|
||||
|
||||
livekit_server_container_additional_volumes_auto: |
|
||||
{{
|
||||
(
|
||||
@@ -6111,7 +6121,7 @@ livekit_server_container_additional_volumes_auto: |
|
||||
'dst': livekit_server_config_turn_key_file,
|
||||
'options': 'ro',
|
||||
},
|
||||
] if (matrix_playbook_reverse_proxy_type in ['playbook-managed-traefik', 'other-traefik-container'] and traefik_certs_dumper_enabled and livekit_server_config_turn_enabled and (livekit_server_config_turn_cert_file and livekit_server_config_turn_key_file)) else []
|
||||
] if (matrix_playbook_reverse_proxy_type in ['playbook-managed-traefik', 'other-traefik-container'] and traefik_certs_dumper_enabled and livekit_server_config_turn_enabled and not (livekit_server_config_turn_external_tls | bool) and (livekit_server_config_turn_cert_file and livekit_server_config_turn_key_file)) else []
|
||||
)
|
||||
}}
|
||||
|
||||
@@ -6119,6 +6129,9 @@ livekit_server_container_labels_traefik_enabled: "{{ matrix_playbook_reverse_pro
|
||||
livekit_server_container_labels_traefik_docker_network: "{{ matrix_playbook_reverse_proxyable_services_additional_network }}"
|
||||
livekit_server_container_labels_traefik_entrypoints: "{{ traefik_entrypoint_primary }}"
|
||||
livekit_server_container_labels_traefik_tls_certResolver: "{{ traefik_certResolver_primary }}"
|
||||
livekit_server_container_labels_turn_traefik_enabled: "{{ matrix_playbook_livekit_turn_traefik_entrypoint_enabled }}"
|
||||
livekit_server_container_labels_turn_traefik_entrypoints: "{{ matrix_playbook_livekit_turn_traefik_entrypoint_name }}"
|
||||
livekit_server_container_labels_turn_traefik_tls_certResolver: "{{ traefik_certResolver_primary }}"
|
||||
|
||||
livekit_server_container_labels_public_metrics_middleware_basic_auth_enabled: "{{ matrix_metrics_exposure_http_basic_auth_enabled }}"
|
||||
livekit_server_container_labels_public_metrics_middleware_basic_auth_users: "{{ matrix_metrics_exposure_http_basic_auth_users }}"
|
||||
@@ -6157,15 +6170,19 @@ livekit_server_config_turn_tls_port: 5350
|
||||
# Note that TURN is not enabled by default. See `livekit_server_config_turn_enabled`.
|
||||
livekit_server_config_turn_udp_port: 3479
|
||||
|
||||
# LiveKit's TURN implementation requires SSL certificates.
|
||||
# We only enable it if we can provide them automatically via Traefik + Traefik Certs Dumper.
|
||||
livekit_server_config_turn_enabled: "{{ matrix_playbook_reverse_proxy_type in ['playbook-managed-traefik', 'other-traefik-container'] and traefik_certs_dumper_enabled }}"
|
||||
# In this mode, Traefik terminates TURN/TLS and forwards plaintext TCP to LiveKit's `turn.tls_port`.
|
||||
# We only enable it automatically when Traefik is managed by this playbook.
|
||||
livekit_server_config_turn_external_tls: "{{ matrix_playbook_reverse_proxy_type == 'playbook-managed-traefik' and matrix_playbook_ssl_enabled }}"
|
||||
# TURN stays enabled for either mode:
|
||||
# - external TLS termination by playbook-managed Traefik
|
||||
# - in-container TLS using certificates from Traefik Certs Dumper
|
||||
livekit_server_config_turn_enabled: "{{ matrix_playbook_reverse_proxy_type in ['playbook-managed-traefik', 'other-traefik-container'] and (livekit_server_config_turn_external_tls or traefik_certs_dumper_enabled) }}"
|
||||
|
||||
livekit_server_config_turn_cert_file: |-
|
||||
{{
|
||||
{
|
||||
'playbook-managed-traefik': ('/certificate.crt' if traefik_certs_dumper_enabled else ''),
|
||||
'other-traefik-container': ('/certificate.crt' if traefik_certs_dumper_enabled else ''),
|
||||
'playbook-managed-traefik': ('/certificate.crt' if traefik_certs_dumper_enabled and not (livekit_server_config_turn_external_tls | bool) else ''),
|
||||
'other-traefik-container': ('/certificate.crt' if traefik_certs_dumper_enabled and not (livekit_server_config_turn_external_tls | bool) else ''),
|
||||
'none': '',
|
||||
}[matrix_playbook_reverse_proxy_type]
|
||||
}}
|
||||
@@ -6173,15 +6190,15 @@ livekit_server_config_turn_cert_file: |-
|
||||
livekit_server_config_turn_key_file: |-
|
||||
{{
|
||||
{
|
||||
'playbook-managed-traefik': ('/privatekey.key' if traefik_certs_dumper_enabled else ''),
|
||||
'other-traefik-container': ('/privatekey.key' if traefik_certs_dumper_enabled else ''),
|
||||
'playbook-managed-traefik': ('/privatekey.key' if traefik_certs_dumper_enabled and not (livekit_server_config_turn_external_tls | bool) else ''),
|
||||
'other-traefik-container': ('/privatekey.key' if traefik_certs_dumper_enabled and not (livekit_server_config_turn_external_tls | bool) else ''),
|
||||
'none': '',
|
||||
}[matrix_playbook_reverse_proxy_type]
|
||||
}}
|
||||
|
||||
livekit_server_systemd_required_services_list_auto: |
|
||||
{{
|
||||
([traefik_certs_dumper_identifier + '-wait-for-domain@' + livekit_server_config_turn_domain + '.service'] if matrix_playbook_reverse_proxy_type in ['playbook-managed-traefik', 'other-traefik-container'] and traefik_certs_dumper_enabled and livekit_server_config_turn_enabled else [])
|
||||
([traefik_certs_dumper_identifier + '-wait-for-domain@' + livekit_server_config_turn_domain + '.service'] if matrix_playbook_reverse_proxy_type in ['playbook-managed-traefik', 'other-traefik-container'] and traefik_certs_dumper_enabled and livekit_server_config_turn_enabled and not (livekit_server_config_turn_external_tls | bool) else [])
|
||||
}}
|
||||
|
||||
########################################################################
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
alabaster==1.0.0
|
||||
babel==2.18.0
|
||||
certifi==2026.1.4
|
||||
certifi==2026.2.25
|
||||
charset-normalizer==3.4.4
|
||||
click==8.3.1
|
||||
docutils==0.22.4
|
||||
|
||||
@@ -4,20 +4,20 @@
|
||||
version: v1.0.0-6
|
||||
name: auxiliary
|
||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg.git
|
||||
version: v1.4.3-2.1.1-0
|
||||
version: v1.4.3-2.1.1-1
|
||||
name: backup_borg
|
||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-cinny.git
|
||||
version: v4.10.3-0
|
||||
version: v4.10.5-0
|
||||
name: cinny
|
||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-container-socket-proxy.git
|
||||
version: v0.4.2-3
|
||||
name: container_socket_proxy
|
||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-coturn.git
|
||||
version: v4.8.0-1
|
||||
version: v4.9.0-0
|
||||
name: coturn
|
||||
activation_prefix: coturn_
|
||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-ddclient.git
|
||||
version: v4.0.0-0
|
||||
version: v4.0.0-1
|
||||
name: ddclient
|
||||
activation_prefix: ddclient_
|
||||
- src: git+https://github.com/geerlingguy/ansible-role-docker
|
||||
@@ -27,25 +27,25 @@
|
||||
version: 542a2d68db4e9a8e9bb4b508052760b900c7dce6
|
||||
name: docker_sdk_for_python
|
||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-etherpad.git
|
||||
version: v2.6.1-0
|
||||
version: v2.6.1-1
|
||||
name: etherpad
|
||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay.git
|
||||
version: v4.98.1-r0-2-3
|
||||
name: exim_relay
|
||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-grafana.git
|
||||
version: v11.6.5-6
|
||||
version: v11.6.5-7
|
||||
name: grafana
|
||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-hydrogen.git
|
||||
version: v0.5.1-0
|
||||
version: v0.5.1-1
|
||||
name: hydrogen
|
||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-jitsi.git
|
||||
version: v10741-0
|
||||
name: jitsi
|
||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-livekit-server.git
|
||||
version: v1.9.11-1
|
||||
version: v1.9.11-2
|
||||
name: livekit_server
|
||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-ntfy.git
|
||||
version: v2.17.0-0
|
||||
version: v2.17.0-1
|
||||
name: ntfy
|
||||
- src: git+https://github.com/devture/com.devture.ansible.role.playbook_help.git
|
||||
version: 8630e4f1749bcb659c412820f754473f09055052
|
||||
@@ -57,19 +57,22 @@
|
||||
version: dd6e15246b7a9a2d921e0b3f9cd8a4a917a1bb2f
|
||||
name: playbook_state_preserver
|
||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-postgres.git
|
||||
version: v18.2-1
|
||||
version: v18.2-2
|
||||
name: postgres
|
||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-postgres-backup.git
|
||||
version: v18-0
|
||||
version: v18-1
|
||||
name: postgres_backup
|
||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus.git
|
||||
version: v3.9.1-0
|
||||
version: v3.9.1-1
|
||||
name: prometheus
|
||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-nginxlog-exporter.git
|
||||
version: v1.10.0-0
|
||||
name: prometheus_nginxlog_exporter
|
||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-node-exporter.git
|
||||
version: v1.9.1-13
|
||||
version: v1.9.1-14
|
||||
name: prometheus_node_exporter
|
||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-postgres-exporter.git
|
||||
version: v0.19.0-0
|
||||
version: v0.19.0-1
|
||||
name: prometheus_postgres_exporter
|
||||
- src: git+https://github.com/devture/com.devture.ansible.role.systemd_docker_base.git
|
||||
version: v1.4.1-0
|
||||
@@ -81,11 +84,11 @@
|
||||
version: v1.1.0-1
|
||||
name: timesync
|
||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-traefik.git
|
||||
version: v3.6.8-4
|
||||
version: v3.6.9-0
|
||||
name: traefik
|
||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-traefik-certs-dumper.git
|
||||
version: v2.10.0-5
|
||||
name: traefik_certs_dumper
|
||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-valkey.git
|
||||
version: v9.0.2-0
|
||||
version: v9.0.3-0
|
||||
name: valkey
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
matrix_alertmanager_receiver_enabled: true
|
||||
|
||||
# renovate: datasource=docker depName=docker.io/metio/matrix-alertmanager-receiver
|
||||
matrix_alertmanager_receiver_version: 2026.2.11
|
||||
matrix_alertmanager_receiver_version: 2026.2.25
|
||||
|
||||
matrix_alertmanager_receiver_scheme: https
|
||||
|
||||
|
||||
@@ -17,16 +17,16 @@ 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_repo: "https://github.com/the-draupnir-project/Draupnir.git"
|
||||
|
||||
matrix_appservice_draupnir_for_all_docker_image_registry_prefix: "{{ 'localhost/' if matrix_appservice_draupnir_for_all_container_image_self_build else matrix_appservice_draupnir_for_all_docker_image_registry_prefix_upstream }}"
|
||||
matrix_appservice_draupnir_for_all_docker_image_registry_prefix_upstream: "{{ matrix_appservice_draupnir_for_all_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_appservice_draupnir_for_all_docker_image_registry_prefix_upstream_default: "docker.io/"
|
||||
matrix_appservice_draupnir_for_all_docker_image: "{{ matrix_appservice_draupnir_for_all_docker_image_registry_prefix }}gnuxie/draupnir:{{ matrix_appservice_draupnir_for_all_version }}"
|
||||
matrix_appservice_draupnir_for_all_docker_image_force_pull: "{{ matrix_appservice_draupnir_for_all_docker_image.endswith(':latest') }}"
|
||||
matrix_appservice_draupnir_for_all_container_image_registry_prefix: "{{ 'localhost/' if matrix_appservice_draupnir_for_all_container_image_self_build else matrix_appservice_draupnir_for_all_container_image_registry_prefix_upstream }}"
|
||||
matrix_appservice_draupnir_for_all_container_image_registry_prefix_upstream: "{{ matrix_appservice_draupnir_for_all_container_image_registry_prefix_upstream_default }}"
|
||||
matrix_appservice_draupnir_for_all_container_image_registry_prefix_upstream_default: "docker.io/"
|
||||
matrix_appservice_draupnir_for_all_container_image: "{{ matrix_appservice_draupnir_for_all_container_image_registry_prefix }}gnuxie/draupnir:{{ matrix_appservice_draupnir_for_all_version }}"
|
||||
matrix_appservice_draupnir_for_all_container_image_force_pull: "{{ matrix_appservice_draupnir_for_all_container_image.endswith(':latest') }}"
|
||||
|
||||
matrix_appservice_draupnir_for_all_base_path: "{{ matrix_base_data_path }}/draupnir-for-all"
|
||||
matrix_appservice_draupnir_for_all_config_path: "{{ matrix_appservice_draupnir_for_all_base_path }}/config"
|
||||
matrix_appservice_draupnir_for_all_data_path: "{{ matrix_appservice_draupnir_for_all_base_path }}/data"
|
||||
matrix_appservice_draupnir_for_all_docker_src_files_path: "{{ matrix_appservice_draupnir_for_all_base_path }}/docker-src"
|
||||
matrix_appservice_draupnir_for_all_container_src_files_path: "{{ matrix_appservice_draupnir_for_all_base_path }}/docker-src"
|
||||
|
||||
matrix_appservice_draupnir_for_all_container_network: ""
|
||||
|
||||
|
||||
@@ -22,15 +22,15 @@
|
||||
- {path: "{{ matrix_appservice_draupnir_for_all_base_path }}", when: true}
|
||||
- {path: "{{ matrix_appservice_draupnir_for_all_config_path }}", when: true}
|
||||
- {path: "{{ matrix_appservice_draupnir_for_all_data_path }}", when: true}
|
||||
- {path: "{{ matrix_appservice_draupnir_for_all_docker_src_files_path }}", when: "{{ matrix_appservice_draupnir_for_all_container_image_self_build }}"}
|
||||
- {path: "{{ matrix_appservice_draupnir_for_all_container_src_files_path }}", when: "{{ matrix_appservice_draupnir_for_all_container_image_self_build }}"}
|
||||
when: "item.when | bool"
|
||||
|
||||
- name: Ensure Draupnir Docker image is pulled
|
||||
community.docker.docker_image:
|
||||
name: "{{ matrix_appservice_draupnir_for_all_docker_image }}"
|
||||
name: "{{ matrix_appservice_draupnir_for_all_container_image }}"
|
||||
source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}"
|
||||
force_source: "{{ matrix_appservice_draupnir_for_all_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
|
||||
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_appservice_draupnir_for_all_docker_image_force_pull }}"
|
||||
force_source: "{{ matrix_appservice_draupnir_for_all_container_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
|
||||
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_appservice_draupnir_for_all_container_image_force_pull }}"
|
||||
when: "not matrix_appservice_draupnir_for_all_container_image_self_build | bool"
|
||||
register: matrix_appservice_draupnir_for_all_container_image_pull_result
|
||||
retries: "{{ devture_playbook_help_container_retries_count }}"
|
||||
@@ -40,8 +40,8 @@
|
||||
- name: Ensure Draupnir repository is present on self-build
|
||||
ansible.builtin.git:
|
||||
repo: "{{ matrix_appservice_draupnir_for_all_container_image_self_build_repo }}"
|
||||
dest: "{{ matrix_appservice_draupnir_for_all_docker_src_files_path }}"
|
||||
version: "{{ matrix_appservice_draupnir_for_all_docker_image.split(':')[1] }}"
|
||||
dest: "{{ matrix_appservice_draupnir_for_all_container_src_files_path }}"
|
||||
version: "{{ matrix_appservice_draupnir_for_all_container_image.split(':')[1] }}"
|
||||
force: "yes"
|
||||
become: true
|
||||
become_user: "{{ matrix_user_name }}"
|
||||
@@ -50,12 +50,12 @@
|
||||
|
||||
- name: Ensure Draupnir Docker image is built
|
||||
community.docker.docker_image:
|
||||
name: "{{ matrix_appservice_draupnir_for_all_docker_image }}"
|
||||
name: "{{ matrix_appservice_draupnir_for_all_container_image }}"
|
||||
source: build
|
||||
force_source: "{{ matrix_appservice_draupnir_for_all_git_pull_results.changed }}"
|
||||
build:
|
||||
dockerfile: Dockerfile
|
||||
path: "{{ matrix_appservice_draupnir_for_all_docker_src_files_path }}"
|
||||
path: "{{ matrix_appservice_draupnir_for_all_container_src_files_path }}"
|
||||
pull: true
|
||||
when: "matrix_appservice_draupnir_for_all_container_image_self_build | bool"
|
||||
|
||||
|
||||
@@ -7,14 +7,6 @@
|
||||
|
||||
---
|
||||
|
||||
- name: Fail if required matrix-bot-draupnir variables are undefined
|
||||
ansible.builtin.fail:
|
||||
msg: "The `{{ item }}` variable must be defined and have a non-null value."
|
||||
with_items:
|
||||
- "matrix_appservice_draupnir_for_all_config_adminRoom"
|
||||
- "matrix_bot_draupnir_container_network"
|
||||
when: "lookup('vars', item, default='') == '' or lookup('vars', item, default='') is none"
|
||||
|
||||
- name: (Deprecation) Catch and report renamed matrix-appservice-draupnir-for-all settings
|
||||
ansible.builtin.fail:
|
||||
msg: >-
|
||||
@@ -22,6 +14,20 @@
|
||||
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_appservice_draupnir_for_all_docker_image_name_prefix', 'new': 'matrix_appservice_draupnir_for_all_docker_image_registry_prefix'}
|
||||
- {'old': 'matrix_appservice_draupnir_for_all_docker_image_name_prefix', 'new': 'matrix_appservice_draupnir_for_all_container_image_registry_prefix'}
|
||||
- {'old': 'matrix_appservice_draupnir_for_all_enable_room_state_backing_store', 'new': 'matrix_appservice_draupnir_for_all_config_roomStateBackingStore_enabled'}
|
||||
- {'old': 'matrix_appservice_draupnir_for_all_master_control_room_alias', 'new': 'matrix_appservice_draupnir_for_all_config_adminRoom'}
|
||||
- {'old': 'matrix_appservice_draupnir_for_all_docker_image', 'new': 'matrix_appservice_draupnir_for_all_container_image'}
|
||||
- {'old': 'matrix_appservice_draupnir_for_all_docker_image_force_pull', 'new': 'matrix_appservice_draupnir_for_all_container_image_force_pull'}
|
||||
- {'old': 'matrix_appservice_draupnir_for_all_docker_image_registry_prefix', 'new': 'matrix_appservice_draupnir_for_all_container_image_registry_prefix'}
|
||||
- {'old': 'matrix_appservice_draupnir_for_all_docker_image_registry_prefix_upstream', 'new': 'matrix_appservice_draupnir_for_all_container_image_registry_prefix_upstream'}
|
||||
- {'old': 'matrix_appservice_draupnir_for_all_docker_image_registry_prefix_upstream_default', 'new': 'matrix_appservice_draupnir_for_all_container_image_registry_prefix_upstream_default'}
|
||||
- {'old': 'matrix_appservice_draupnir_for_all_docker_src_files_path', 'new': 'matrix_appservice_draupnir_for_all_container_src_files_path'}
|
||||
|
||||
- name: Fail if required matrix-bot-draupnir variables are undefined
|
||||
ansible.builtin.fail:
|
||||
msg: "The `{{ item }}` variable must be defined and have a non-null value."
|
||||
with_items:
|
||||
- "matrix_appservice_draupnir_for_all_config_adminRoom"
|
||||
- "matrix_bot_draupnir_container_network"
|
||||
when: "lookup('vars', item, default='') == '' or lookup('vars', item, default='') is none"
|
||||
|
||||
@@ -29,7 +29,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
|
||||
{% for arg in matrix_appservice_draupnir_for_all_container_extra_arguments %}
|
||||
{{ arg }} \
|
||||
{% endfor %}
|
||||
{{ matrix_appservice_draupnir_for_all_docker_image }} \
|
||||
{{ matrix_appservice_draupnir_for_all_container_image }} \
|
||||
appservice -c /data/config/production-appservice.yaml -f /data/config/draupnir-for-all-registration.yaml -p {{ matrix_appservice_draupnir_for_all_appservice_port }} --draupnir-config /data/config/production-bots.yaml
|
||||
|
||||
{% for network in matrix_appservice_draupnir_for_all_container_additional_networks %}
|
||||
|
||||
@@ -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"
|
||||
|
||||
# renovate: datasource=docker depName=ghcr.io/element-hq/matrix-authentication-service
|
||||
matrix_authentication_service_version: 1.11.0
|
||||
matrix_authentication_service_version: 1.12.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_upstream: "{{ matrix_authentication_service_container_image_registry_prefix_upstream_default }}"
|
||||
matrix_authentication_service_container_image_registry_prefix_upstream_default: "ghcr.io/"
|
||||
|
||||
@@ -92,6 +92,10 @@ matrix_homeserver_enabled: true
|
||||
# Note that the homeserver implementation of a server will not be able to be changed without data loss.
|
||||
matrix_homeserver_implementation: synapse
|
||||
|
||||
# The priority that the homeserver starts with (lower = starts earlier).
|
||||
# Related to the systemd_service_manager role and `devture_systemd_service_manager_services_list*` variables.
|
||||
matrix_homeserver_systemd_service_manager_priority: 1000
|
||||
|
||||
# This contains a secret, which is used for generating various other secrets later on.
|
||||
matrix_homeserver_generic_secret_key: ''
|
||||
|
||||
@@ -393,6 +397,22 @@ matrix_playbook_internal_matrix_client_api_traefik_entrypoint_definition:
|
||||
host_bind_port: "{{ matrix_playbook_internal_matrix_client_api_traefik_entrypoint_host_bind_port }}"
|
||||
config: "{{ matrix_playbook_internal_matrix_client_api_traefik_entrypoint_config }}"
|
||||
|
||||
# Controls whether to enable an additional Traefik entrypoint for LiveKit TURN/TLS (TCP) traffic.
|
||||
matrix_playbook_livekit_turn_traefik_entrypoint_enabled: false
|
||||
matrix_playbook_livekit_turn_traefik_entrypoint_name: matrix-livekit-turn
|
||||
matrix_playbook_livekit_turn_traefik_entrypoint_port: 5350
|
||||
matrix_playbook_livekit_turn_traefik_entrypoint_host_bind_port: "{{ matrix_playbook_livekit_turn_traefik_entrypoint_port }}"
|
||||
matrix_playbook_livekit_turn_traefik_entrypoint_config: "{{ (matrix_playbook_livekit_turn_traefik_entrypoint_config_default | combine(matrix_playbook_livekit_turn_traefik_entrypoint_config_auto)) | combine(matrix_playbook_livekit_turn_traefik_entrypoint_config_custom, recursive=True) }}"
|
||||
matrix_playbook_livekit_turn_traefik_entrypoint_config_default: {}
|
||||
matrix_playbook_livekit_turn_traefik_entrypoint_config_auto: {}
|
||||
matrix_playbook_livekit_turn_traefik_entrypoint_config_custom: {}
|
||||
|
||||
matrix_playbook_livekit_turn_traefik_entrypoint_definition:
|
||||
name: "{{ matrix_playbook_livekit_turn_traefik_entrypoint_name }}"
|
||||
port: "{{ matrix_playbook_livekit_turn_traefik_entrypoint_port }}"
|
||||
host_bind_port: "{{ matrix_playbook_livekit_turn_traefik_entrypoint_host_bind_port }}"
|
||||
config: "{{ matrix_playbook_livekit_turn_traefik_entrypoint_config }}"
|
||||
|
||||
# Variables to Control which parts of our roles run.
|
||||
run_postgres_import: true
|
||||
run_postgres_upgrade: true
|
||||
|
||||
@@ -17,7 +17,7 @@ matrix_bot_baibot_container_repo_version: "{{ 'main' if matrix_bot_baibot_versio
|
||||
matrix_bot_baibot_container_src_files_path: "{{ matrix_base_data_path }}/baibot/container-src"
|
||||
|
||||
# renovate: datasource=docker depName=ghcr.io/etkecc/baibot
|
||||
matrix_bot_baibot_version: v1.14.1
|
||||
matrix_bot_baibot_version: v1.14.3
|
||||
matrix_bot_baibot_container_image: "{{ matrix_bot_baibot_container_image_registry_prefix }}etkecc/baibot:{{ matrix_bot_baibot_version }}"
|
||||
matrix_bot_baibot_container_image_registry_prefix: "{{ 'localhost/' if matrix_bot_baibot_container_image_self_build else matrix_bot_baibot_container_image_registry_prefix_upstream }}"
|
||||
matrix_bot_baibot_container_image_registry_prefix_upstream: "{{ matrix_bot_baibot_container_image_registry_prefix_upstream_default }}"
|
||||
|
||||
@@ -32,15 +32,15 @@ matrix_bot_buscarron_data_path: "{{ matrix_bot_buscarron_base_path }}/data"
|
||||
matrix_bot_buscarron_data_store_path: "{{ matrix_bot_buscarron_data_path }}/store"
|
||||
|
||||
matrix_bot_buscarron_container_image_self_build: false
|
||||
matrix_bot_buscarron_docker_repo: "https://github.com/etkecc/buscarron.git"
|
||||
matrix_bot_buscarron_docker_repo_version: "{{ matrix_bot_buscarron_version }}"
|
||||
matrix_bot_buscarron_docker_src_files_path: "{{ matrix_base_data_path }}/buscarron/docker-src"
|
||||
matrix_bot_buscarron_container_repo: "https://github.com/etkecc/buscarron.git"
|
||||
matrix_bot_buscarron_container_repo_version: "{{ matrix_bot_buscarron_version }}"
|
||||
matrix_bot_buscarron_container_src_files_path: "{{ matrix_base_data_path }}/buscarron/docker-src"
|
||||
|
||||
matrix_bot_buscarron_docker_image: "{{ matrix_bot_buscarron_docker_image_registry_prefix }}etkecc/buscarron:{{ matrix_bot_buscarron_version }}"
|
||||
matrix_bot_buscarron_docker_image_registry_prefix: "{{ 'localhost/' if matrix_bot_buscarron_container_image_self_build else matrix_bot_buscarron_docker_image_registry_prefix_upstream }}"
|
||||
matrix_bot_buscarron_docker_image_registry_prefix_upstream: "{{ matrix_bot_buscarron_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_bot_buscarron_docker_image_registry_prefix_upstream_default: "ghcr.io/"
|
||||
matrix_bot_buscarron_docker_image_force_pull: "{{ matrix_bot_buscarron_docker_image.endswith(':latest') }}"
|
||||
matrix_bot_buscarron_container_image: "{{ matrix_bot_buscarron_container_image_registry_prefix }}etkecc/buscarron:{{ matrix_bot_buscarron_version }}"
|
||||
matrix_bot_buscarron_container_image_registry_prefix: "{{ 'localhost/' if matrix_bot_buscarron_container_image_self_build else matrix_bot_buscarron_container_image_registry_prefix_upstream }}"
|
||||
matrix_bot_buscarron_container_image_registry_prefix_upstream: "{{ matrix_bot_buscarron_container_image_registry_prefix_upstream_default }}"
|
||||
matrix_bot_buscarron_container_image_registry_prefix_upstream_default: "ghcr.io/"
|
||||
matrix_bot_buscarron_container_image_force_pull: "{{ matrix_bot_buscarron_container_image.endswith(':latest') }}"
|
||||
|
||||
# The base container network. It will be auto-created by this role if it doesn't exist already.
|
||||
matrix_bot_buscarron_container_network: matrix-bot-buscarron
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
- {path: "{{ matrix_bot_buscarron_config_path }}", when: true}
|
||||
- {path: "{{ matrix_bot_buscarron_data_path }}", when: true}
|
||||
- {path: "{{ matrix_bot_buscarron_data_store_path }}", when: true}
|
||||
- {path: "{{ matrix_bot_buscarron_docker_src_files_path }}", when: true}
|
||||
- {path: "{{ matrix_bot_buscarron_container_src_files_path }}", when: true}
|
||||
when: "item.when | bool"
|
||||
|
||||
- name: Ensure Buscarron support files installed
|
||||
@@ -62,10 +62,10 @@
|
||||
|
||||
- name: Ensure Buscarron image is pulled
|
||||
community.docker.docker_image:
|
||||
name: "{{ matrix_bot_buscarron_docker_image }}"
|
||||
name: "{{ matrix_bot_buscarron_container_image }}"
|
||||
source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}"
|
||||
force_source: "{{ matrix_bot_buscarron_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
|
||||
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_bot_buscarron_docker_image_force_pull }}"
|
||||
force_source: "{{ matrix_bot_buscarron_container_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
|
||||
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_bot_buscarron_container_image_force_pull }}"
|
||||
when: "not matrix_bot_buscarron_container_image_self_build | bool"
|
||||
register: matrix_bot_buscarron_container_image_pull_result
|
||||
retries: "{{ devture_playbook_help_container_retries_count }}"
|
||||
@@ -74,9 +74,9 @@
|
||||
|
||||
- name: Ensure Buscarron repository is present on self-build
|
||||
ansible.builtin.git:
|
||||
repo: "{{ matrix_bot_buscarron_docker_repo }}"
|
||||
version: "{{ matrix_bot_buscarron_docker_repo_version }}"
|
||||
dest: "{{ matrix_bot_buscarron_docker_src_files_path }}"
|
||||
repo: "{{ matrix_bot_buscarron_container_repo }}"
|
||||
version: "{{ matrix_bot_buscarron_container_repo_version }}"
|
||||
dest: "{{ matrix_bot_buscarron_container_src_files_path }}"
|
||||
force: "yes"
|
||||
become: true
|
||||
become_user: "{{ matrix_user_name }}"
|
||||
@@ -85,13 +85,13 @@
|
||||
|
||||
- name: Ensure Buscarron image is built
|
||||
community.docker.docker_image:
|
||||
name: "{{ matrix_bot_buscarron_docker_image }}"
|
||||
name: "{{ matrix_bot_buscarron_container_image }}"
|
||||
source: build
|
||||
force_source: "{{ matrix_bot_buscarron_git_pull_results.changed if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
|
||||
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_bot_buscarron_git_pull_results.changed }}"
|
||||
build:
|
||||
dockerfile: Dockerfile
|
||||
path: "{{ matrix_bot_buscarron_docker_src_files_path }}"
|
||||
path: "{{ matrix_bot_buscarron_container_src_files_path }}"
|
||||
pull: true
|
||||
when: "matrix_bot_buscarron_container_image_self_build | bool"
|
||||
|
||||
|
||||
@@ -17,6 +17,14 @@
|
||||
- {'old': 'matrix_bot_buscarron_spam_emails', 'new': '<superseded by matrix_bot_buscarron_spamlist>'}
|
||||
- {'old': 'matrix_bot_buscarron_spam_localparts', 'new': '<superseded by matrix_bot_buscarron_spamlist>'}
|
||||
- {'old': 'matrix_bot_buscarron_container_image_name_prefix', 'new': 'matrix_bot_buscarron_container_image_registry_prefix'}
|
||||
- {'old': 'matrix_bot_buscarron_docker_image', 'new': 'matrix_bot_buscarron_container_image'}
|
||||
- {'old': 'matrix_bot_buscarron_docker_image_force_pull', 'new': 'matrix_bot_buscarron_container_image_force_pull'}
|
||||
- {'old': 'matrix_bot_buscarron_docker_image_registry_prefix', 'new': 'matrix_bot_buscarron_container_image_registry_prefix'}
|
||||
- {'old': 'matrix_bot_buscarron_docker_image_registry_prefix_upstream', 'new': 'matrix_bot_buscarron_container_image_registry_prefix_upstream'}
|
||||
- {'old': 'matrix_bot_buscarron_docker_image_registry_prefix_upstream_default', 'new': 'matrix_bot_buscarron_container_image_registry_prefix_upstream_default'}
|
||||
- {'old': 'matrix_bot_buscarron_docker_repo', 'new': 'matrix_bot_buscarron_container_repo'}
|
||||
- {'old': 'matrix_bot_buscarron_docker_repo_version', 'new': 'matrix_bot_buscarron_container_repo_version'}
|
||||
- {'old': 'matrix_bot_buscarron_docker_src_files_path', 'new': 'matrix_bot_buscarron_container_src_files_path'}
|
||||
|
||||
- name: Fail if required Buscarron settings not defined
|
||||
ansible.builtin.fail:
|
||||
|
||||
@@ -30,7 +30,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
|
||||
{% for arg in matrix_bot_buscarron_container_extra_arguments %}
|
||||
{{ arg }} \
|
||||
{% endfor %}
|
||||
{{ matrix_bot_buscarron_docker_image }}
|
||||
{{ matrix_bot_buscarron_container_image }}
|
||||
|
||||
{% for network in matrix_bot_buscarron_container_additional_networks %}
|
||||
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network connect {{ network }} matrix-bot-buscarron
|
||||
|
||||
@@ -17,16 +17,16 @@ matrix_bot_draupnir_version: "v2.9.0"
|
||||
matrix_bot_draupnir_container_image_self_build: false
|
||||
matrix_bot_draupnir_container_image_self_build_repo: "https://github.com/the-draupnir-project/Draupnir.git"
|
||||
|
||||
matrix_bot_draupnir_docker_image: "{{ matrix_bot_draupnir_docker_image_registry_prefix }}gnuxie/draupnir:{{ matrix_bot_draupnir_version }}"
|
||||
matrix_bot_draupnir_docker_image_registry_prefix: "{{ 'localhost/' if matrix_bot_draupnir_container_image_self_build else matrix_bot_draupnir_docker_image_registry_prefix_upstream }}"
|
||||
matrix_bot_draupnir_docker_image_registry_prefix_upstream: "{{ matrix_bot_draupnir_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_bot_draupnir_docker_image_registry_prefix_upstream_default: "docker.io/"
|
||||
matrix_bot_draupnir_docker_image_force_pull: "{{ matrix_bot_draupnir_docker_image.endswith(':latest') }}"
|
||||
matrix_bot_draupnir_container_image: "{{ matrix_bot_draupnir_container_image_registry_prefix }}gnuxie/draupnir:{{ matrix_bot_draupnir_version }}"
|
||||
matrix_bot_draupnir_container_image_registry_prefix: "{{ 'localhost/' if matrix_bot_draupnir_container_image_self_build else matrix_bot_draupnir_container_image_registry_prefix_upstream }}"
|
||||
matrix_bot_draupnir_container_image_registry_prefix_upstream: "{{ matrix_bot_draupnir_container_image_registry_prefix_upstream_default }}"
|
||||
matrix_bot_draupnir_container_image_registry_prefix_upstream_default: "docker.io/"
|
||||
matrix_bot_draupnir_container_image_force_pull: "{{ matrix_bot_draupnir_container_image.endswith(':latest') }}"
|
||||
|
||||
matrix_bot_draupnir_base_path: "{{ matrix_base_data_path }}/draupnir"
|
||||
matrix_bot_draupnir_config_path: "{{ matrix_bot_draupnir_base_path }}/config"
|
||||
matrix_bot_draupnir_data_path: "{{ matrix_bot_draupnir_base_path }}/data"
|
||||
matrix_bot_draupnir_docker_src_files_path: "{{ matrix_bot_draupnir_base_path }}/docker-src"
|
||||
matrix_bot_draupnir_container_src_files_path: "{{ matrix_bot_draupnir_base_path }}/docker-src"
|
||||
|
||||
matrix_bot_draupnir_config_web_enabled: "{{ matrix_bot_draupnir_config_web_abuseReporting or matrix_bot_draupnir_config_web_synapseHTTPAntispam_enabled }}" # noqa var-naming
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
- {path: "{{ matrix_bot_draupnir_base_path }}", when: true}
|
||||
- {path: "{{ matrix_bot_draupnir_config_path }}", when: true}
|
||||
- {path: "{{ matrix_bot_draupnir_data_path }}", when: true}
|
||||
- {path: "{{ matrix_bot_draupnir_docker_src_files_path }}", when: "{{ matrix_bot_draupnir_container_image_self_build }}"}
|
||||
- {path: "{{ matrix_bot_draupnir_container_src_files_path }}", when: "{{ matrix_bot_draupnir_container_image_self_build }}"}
|
||||
when: "item.when | bool"
|
||||
|
||||
- name: Ensure matrix-bot-draupnir support files installed
|
||||
@@ -39,10 +39,10 @@
|
||||
|
||||
- name: Ensure Draupnir Docker image is pulled
|
||||
community.docker.docker_image:
|
||||
name: "{{ matrix_bot_draupnir_docker_image }}"
|
||||
name: "{{ matrix_bot_draupnir_container_image }}"
|
||||
source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}"
|
||||
force_source: "{{ matrix_bot_draupnir_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
|
||||
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_bot_draupnir_docker_image_force_pull }}"
|
||||
force_source: "{{ matrix_bot_draupnir_container_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
|
||||
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_bot_draupnir_container_image_force_pull }}"
|
||||
when: "not matrix_bot_draupnir_container_image_self_build | bool"
|
||||
register: matrix_bot_draupnir_container_image_pull_result
|
||||
retries: "{{ devture_playbook_help_container_retries_count }}"
|
||||
@@ -52,8 +52,8 @@
|
||||
- name: Ensure Draupnir repository is present on self-build
|
||||
ansible.builtin.git:
|
||||
repo: "{{ matrix_bot_draupnir_container_image_self_build_repo }}"
|
||||
dest: "{{ matrix_bot_draupnir_docker_src_files_path }}"
|
||||
version: "{{ matrix_bot_draupnir_docker_image.split(':')[1] }}"
|
||||
dest: "{{ matrix_bot_draupnir_container_src_files_path }}"
|
||||
version: "{{ matrix_bot_draupnir_container_image.split(':')[1] }}"
|
||||
force: "yes"
|
||||
become: true
|
||||
become_user: "{{ matrix_user_name }}"
|
||||
@@ -62,12 +62,12 @@
|
||||
|
||||
- name: Ensure Draupnir Docker image is built
|
||||
community.docker.docker_image:
|
||||
name: "{{ matrix_bot_draupnir_docker_image }}"
|
||||
name: "{{ matrix_bot_draupnir_container_image }}"
|
||||
source: build
|
||||
force_source: "{{ matrix_bot_draupnir_git_pull_results.changed }}"
|
||||
build:
|
||||
dockerfile: Dockerfile
|
||||
path: "{{ matrix_bot_draupnir_docker_src_files_path }}"
|
||||
path: "{{ matrix_bot_draupnir_container_src_files_path }}"
|
||||
pull: true
|
||||
when: "matrix_bot_draupnir_container_image_self_build | bool"
|
||||
|
||||
|
||||
@@ -31,6 +31,12 @@
|
||||
- {'old': 'matrix_bot_draupnir_container_labels_traefik_entrypoints', 'new': 'matrix_bot_draupnir_container_labels_web_abuseReporting_traefik_entrypoints'}
|
||||
- {'old': 'matrix_bot_draupnir_container_labels_traefik_tls', 'new': 'matrix_bot_draupnir_container_labels_web_abuseReporting_traefik_tls'}
|
||||
- {'old': 'matrix_bot_draupnir_container_labels_traefik_tls_certResolver', 'new': 'matrix_bot_draupnir_container_labels_web_abuseReporting_traefik_tls_certResolver'}
|
||||
- {'old': 'matrix_bot_draupnir_docker_image', 'new': 'matrix_bot_draupnir_container_image'}
|
||||
- {'old': 'matrix_bot_draupnir_docker_image_force_pull', 'new': 'matrix_bot_draupnir_container_image_force_pull'}
|
||||
- {'old': 'matrix_bot_draupnir_docker_image_registry_prefix', 'new': 'matrix_bot_draupnir_container_image_registry_prefix'}
|
||||
- {'old': 'matrix_bot_draupnir_docker_image_registry_prefix_upstream', 'new': 'matrix_bot_draupnir_container_image_registry_prefix_upstream'}
|
||||
- {'old': 'matrix_bot_draupnir_docker_image_registry_prefix_upstream_default', 'new': 'matrix_bot_draupnir_container_image_registry_prefix_upstream_default'}
|
||||
- {'old': 'matrix_bot_draupnir_docker_src_files_path', 'new': 'matrix_bot_draupnir_container_src_files_path'}
|
||||
|
||||
- name: Fail if required matrix-bot-draupnir variables are undefined
|
||||
ansible.builtin.fail:
|
||||
|
||||
@@ -33,7 +33,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
|
||||
{% for arg in matrix_bot_draupnir_container_extra_arguments %}
|
||||
{{ arg }} \
|
||||
{% endfor %}
|
||||
{{ matrix_bot_draupnir_docker_image }} \
|
||||
{{ matrix_bot_draupnir_container_image }} \
|
||||
bot --draupnir-config /data/config/production.yaml
|
||||
|
||||
{% for network in matrix_bot_draupnir_container_additional_networks %}
|
||||
|
||||
@@ -25,17 +25,17 @@ matrix_bot_honoroit_path_prefix: /
|
||||
matrix_bot_honoroit_metrics_path: /metrics
|
||||
|
||||
matrix_bot_honoroit_container_image_self_build: false
|
||||
matrix_bot_honoroit_docker_repo: "https://github.com/etkecc/honoroit.git"
|
||||
matrix_bot_honoroit_docker_repo_version: "{{ matrix_bot_honoroit_version }}"
|
||||
matrix_bot_honoroit_docker_src_files_path: "{{ matrix_base_data_path }}/honoroit/docker-src"
|
||||
matrix_bot_honoroit_container_repo: "https://github.com/etkecc/honoroit.git"
|
||||
matrix_bot_honoroit_container_repo_version: "{{ matrix_bot_honoroit_version }}"
|
||||
matrix_bot_honoroit_container_src_files_path: "{{ matrix_base_data_path }}/honoroit/docker-src"
|
||||
|
||||
# renovate: datasource=docker depName=ghcr.io/etkecc/honoroit
|
||||
matrix_bot_honoroit_version: v0.9.29
|
||||
matrix_bot_honoroit_docker_image: "{{ matrix_bot_honoroit_docker_image_registry_prefix }}etkecc/honoroit:{{ matrix_bot_honoroit_version }}"
|
||||
matrix_bot_honoroit_docker_image_registry_prefix: "{{ 'localhost/' if matrix_bot_honoroit_container_image_self_build else matrix_bot_honoroit_docker_image_registry_prefix_upstream }}"
|
||||
matrix_bot_honoroit_docker_image_registry_prefix_upstream: "{{ matrix_bot_honoroit_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_bot_honoroit_docker_image_registry_prefix_upstream_default: "ghcr.io/"
|
||||
matrix_bot_honoroit_docker_image_force_pull: "{{ matrix_bot_honoroit_docker_image.endswith(':latest') }}"
|
||||
matrix_bot_honoroit_container_image: "{{ matrix_bot_honoroit_container_image_registry_prefix }}etkecc/honoroit:{{ matrix_bot_honoroit_version }}"
|
||||
matrix_bot_honoroit_container_image_registry_prefix: "{{ 'localhost/' if matrix_bot_honoroit_container_image_self_build else matrix_bot_honoroit_container_image_registry_prefix_upstream }}"
|
||||
matrix_bot_honoroit_container_image_registry_prefix_upstream: "{{ matrix_bot_honoroit_container_image_registry_prefix_upstream_default }}"
|
||||
matrix_bot_honoroit_container_image_registry_prefix_upstream_default: "ghcr.io/"
|
||||
matrix_bot_honoroit_container_image_force_pull: "{{ matrix_bot_honoroit_container_image.endswith(':latest') }}"
|
||||
|
||||
matrix_bot_honoroit_base_path: "{{ matrix_base_data_path }}/honoroit"
|
||||
matrix_bot_honoroit_config_path: "{{ matrix_bot_honoroit_base_path }}/config"
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
- {path: "{{ matrix_bot_honoroit_config_path }}", when: true}
|
||||
- {path: "{{ matrix_bot_honoroit_data_path }}", when: true}
|
||||
- {path: "{{ matrix_bot_honoroit_data_store_path }}", when: true}
|
||||
- {path: "{{ matrix_bot_honoroit_docker_src_files_path }}", when: true}
|
||||
- {path: "{{ matrix_bot_honoroit_container_src_files_path }}", when: true}
|
||||
when: "item.when | bool"
|
||||
|
||||
- name: Ensure Honoroit support files installed
|
||||
@@ -64,10 +64,10 @@
|
||||
|
||||
- name: Ensure Honoroit image is pulled
|
||||
community.docker.docker_image:
|
||||
name: "{{ matrix_bot_honoroit_docker_image }}"
|
||||
name: "{{ matrix_bot_honoroit_container_image }}"
|
||||
source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}"
|
||||
force_source: "{{ matrix_bot_honoroit_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
|
||||
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_bot_honoroit_docker_image_force_pull }}"
|
||||
force_source: "{{ matrix_bot_honoroit_container_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
|
||||
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_bot_honoroit_container_image_force_pull }}"
|
||||
when: "not matrix_bot_honoroit_container_image_self_build | bool"
|
||||
register: matrix_bot_honoroit_container_image_pull_result
|
||||
retries: "{{ devture_playbook_help_container_retries_count }}"
|
||||
@@ -76,9 +76,9 @@
|
||||
|
||||
- name: Ensure Honoroit repository is present on self-build
|
||||
ansible.builtin.git:
|
||||
repo: "{{ matrix_bot_honoroit_docker_repo }}"
|
||||
version: "{{ matrix_bot_honoroit_docker_repo_version }}"
|
||||
dest: "{{ matrix_bot_honoroit_docker_src_files_path }}"
|
||||
repo: "{{ matrix_bot_honoroit_container_repo }}"
|
||||
version: "{{ matrix_bot_honoroit_container_repo_version }}"
|
||||
dest: "{{ matrix_bot_honoroit_container_src_files_path }}"
|
||||
force: "yes"
|
||||
become: true
|
||||
become_user: "{{ matrix_user_name }}"
|
||||
@@ -87,13 +87,13 @@
|
||||
|
||||
- name: Ensure Honoroit image is built
|
||||
community.docker.docker_image:
|
||||
name: "{{ matrix_bot_honoroit_docker_image }}"
|
||||
name: "{{ matrix_bot_honoroit_container_image }}"
|
||||
source: build
|
||||
force_source: "{{ matrix_bot_honoroit_git_pull_results.changed if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
|
||||
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_bot_honoroit_container_image_self_build.changed }}"
|
||||
build:
|
||||
dockerfile: Dockerfile
|
||||
path: "{{ matrix_bot_honoroit_docker_src_files_path }}"
|
||||
path: "{{ matrix_bot_honoroit_container_src_files_path }}"
|
||||
pull: true
|
||||
when: "matrix_bot_honoroit_container_image_self_build | bool"
|
||||
|
||||
|
||||
@@ -6,6 +6,23 @@
|
||||
|
||||
---
|
||||
|
||||
- name: (Deprecation) Catch and report renamed Honoroit 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_bot_honoroit_container_image_name_prefix', 'new': 'matrix_bot_honoroit_container_image_registry_prefix'}
|
||||
- {'old': 'matrix_bot_honoroit_docker_image', 'new': 'matrix_bot_honoroit_container_image'}
|
||||
- {'old': 'matrix_bot_honoroit_docker_image_force_pull', 'new': 'matrix_bot_honoroit_container_image_force_pull'}
|
||||
- {'old': 'matrix_bot_honoroit_docker_image_registry_prefix', 'new': 'matrix_bot_honoroit_container_image_registry_prefix'}
|
||||
- {'old': 'matrix_bot_honoroit_docker_image_registry_prefix_upstream', 'new': 'matrix_bot_honoroit_container_image_registry_prefix_upstream'}
|
||||
- {'old': 'matrix_bot_honoroit_docker_image_registry_prefix_upstream_default', 'new': 'matrix_bot_honoroit_container_image_registry_prefix_upstream_default'}
|
||||
- {'old': 'matrix_bot_honoroit_docker_repo', 'new': 'matrix_bot_honoroit_container_repo'}
|
||||
- {'old': 'matrix_bot_honoroit_docker_repo_version', 'new': 'matrix_bot_honoroit_container_repo_version'}
|
||||
- {'old': 'matrix_bot_honoroit_docker_src_files_path', 'new': 'matrix_bot_honoroit_container_src_files_path'}
|
||||
|
||||
- name: Fail if required Honoroit settings not defined
|
||||
ansible.builtin.fail:
|
||||
msg: >-
|
||||
@@ -16,12 +33,3 @@
|
||||
- {'name': 'matrix_bot_honoroit_password', when: true}
|
||||
- {'name': 'matrix_bot_honoroit_roomid', when: true}
|
||||
- {'name': 'matrix_bot_honoroit_database_hostname', when: "{{ matrix_bot_honoroit_database_engine == 'postgres' }}"}
|
||||
|
||||
- name: (Deprecation) Catch and report renamed Honoroit settings
|
||||
ansible.builtin.fail:
|
||||
msg: >-
|
||||
Your configuration contains a variable, which now has a different name.
|
||||
Please 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_bot_honoroit_container_image_name_prefix', 'new': 'matrix_bot_honoroit_container_image_registry_prefix'}
|
||||
|
||||
@@ -30,7 +30,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
|
||||
{% for arg in matrix_bot_honoroit_container_extra_arguments %}
|
||||
{{ arg }} \
|
||||
{% endfor %}
|
||||
{{ matrix_bot_honoroit_docker_image }}
|
||||
{{ matrix_bot_honoroit_container_image }}
|
||||
|
||||
{% for network in matrix_bot_honoroit_container_additional_networks %}
|
||||
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network connect {{ network }} matrix-bot-honoroit
|
||||
|
||||
@@ -14,19 +14,19 @@
|
||||
|
||||
matrix_bot_matrix_registration_bot_enabled: true
|
||||
matrix_bot_matrix_registration_bot_container_image_self_build: false
|
||||
matrix_bot_matrix_registration_bot_docker_repo: "https://github.com/moan0s/matrix-registration-bot.git"
|
||||
matrix_bot_matrix_registration_bot_docker_repo_version: "{{ 'main' if matrix_bot_matrix_registration_bot_version == 'latest' else ('v' + matrix_bot_matrix_registration_bot_version) }}"
|
||||
matrix_bot_matrix_registration_bot_docker_src_files_path: "{{ matrix_bot_matrix_registration_bot_base_path }}/docker-src"
|
||||
matrix_bot_matrix_registration_bot_container_repo: "https://github.com/moan0s/matrix-registration-bot.git"
|
||||
matrix_bot_matrix_registration_bot_container_repo_version: "{{ 'main' if matrix_bot_matrix_registration_bot_version == 'latest' else ('v' + matrix_bot_matrix_registration_bot_version) }}"
|
||||
matrix_bot_matrix_registration_bot_container_src_files_path: "{{ matrix_bot_matrix_registration_bot_base_path }}/docker-src"
|
||||
|
||||
# renovate: datasource=docker depName=moanos/matrix-registration-bot
|
||||
matrix_bot_matrix_registration_bot_version: 1.3.0
|
||||
matrix_bot_matrix_registration_bot_docker_iteration: 0
|
||||
matrix_bot_matrix_registration_bot_docker_tag: "{{ matrix_bot_matrix_registration_bot_version }}-{{ matrix_bot_matrix_registration_bot_docker_iteration }}"
|
||||
matrix_bot_matrix_registration_bot_docker_image: "{{ matrix_bot_matrix_registration_bot_docker_image_registry_prefix }}moanos/matrix-registration-bot:{{ matrix_bot_matrix_registration_bot_docker_tag }}"
|
||||
matrix_bot_matrix_registration_bot_docker_image_registry_prefix: "{{ 'localhost/' if matrix_bot_matrix_registration_bot_container_image_self_build else matrix_bot_matrix_registration_bot_docker_image_registry_prefix_upstream }}"
|
||||
matrix_bot_matrix_registration_bot_docker_image_registry_prefix_upstream: "{{ matrix_bot_matrix_registration_bot_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_bot_matrix_registration_bot_docker_image_registry_prefix_upstream_default: "docker.io/"
|
||||
matrix_bot_matrix_registration_bot_docker_image_force_pull: "{{ matrix_bot_matrix_registration_bot_docker_image.endswith(':latest') }}"
|
||||
matrix_bot_matrix_registration_bot_container_iteration: 0
|
||||
matrix_bot_matrix_registration_bot_container_tag: "{{ matrix_bot_matrix_registration_bot_version }}-{{ matrix_bot_matrix_registration_bot_container_iteration }}"
|
||||
matrix_bot_matrix_registration_bot_container_image: "{{ matrix_bot_matrix_registration_bot_container_image_registry_prefix }}moanos/matrix-registration-bot:{{ matrix_bot_matrix_registration_bot_container_tag }}"
|
||||
matrix_bot_matrix_registration_bot_container_image_registry_prefix: "{{ 'localhost/' if matrix_bot_matrix_registration_bot_container_image_self_build else matrix_bot_matrix_registration_bot_container_image_registry_prefix_upstream }}"
|
||||
matrix_bot_matrix_registration_bot_container_image_registry_prefix_upstream: "{{ matrix_bot_matrix_registration_bot_container_image_registry_prefix_upstream_default }}"
|
||||
matrix_bot_matrix_registration_bot_container_image_registry_prefix_upstream_default: "docker.io/"
|
||||
matrix_bot_matrix_registration_bot_container_image_force_pull: "{{ matrix_bot_matrix_registration_bot_container_image.endswith(':latest') }}"
|
||||
|
||||
matrix_bot_matrix_registration_bot_base_path: "{{ matrix_base_data_path }}/matrix-registration-bot"
|
||||
matrix_bot_matrix_registration_bot_config_path: "{{ matrix_bot_matrix_registration_bot_base_path }}/config"
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
with_items:
|
||||
- {path: "{{ matrix_bot_matrix_registration_bot_config_path }}", when: true}
|
||||
- {path: "{{ matrix_bot_matrix_registration_bot_data_path }}", when: true}
|
||||
- {path: "{{ matrix_bot_matrix_registration_bot_docker_src_files_path }}", when: "{{ matrix_bot_matrix_registration_bot_container_image_self_build }}"}
|
||||
- {path: "{{ matrix_bot_matrix_registration_bot_container_src_files_path }}", when: "{{ matrix_bot_matrix_registration_bot_container_image_self_build }}"}
|
||||
when: "item.when | bool"
|
||||
|
||||
- name: Ensure matrix-registration-bot configuration file created
|
||||
@@ -32,10 +32,10 @@
|
||||
|
||||
- name: Ensure matrix-registration-bot image is pulled
|
||||
community.docker.docker_image:
|
||||
name: "{{ matrix_bot_matrix_registration_bot_docker_image }}"
|
||||
name: "{{ matrix_bot_matrix_registration_bot_container_image }}"
|
||||
source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}"
|
||||
force_source: "{{ matrix_bot_matrix_registration_bot_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
|
||||
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_bot_matrix_registration_bot_docker_image_force_pull }}"
|
||||
force_source: "{{ matrix_bot_matrix_registration_bot_container_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
|
||||
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_bot_matrix_registration_bot_container_image_force_pull }}"
|
||||
when: "not matrix_bot_matrix_registration_bot_container_image_self_build | bool"
|
||||
register: matrix_bot_matrix_registration_bot_container_image_pull_result
|
||||
retries: "{{ devture_playbook_help_container_retries_count }}"
|
||||
@@ -46,9 +46,9 @@
|
||||
block:
|
||||
- name: Ensure matrix-registration-bot repository is present on self-build
|
||||
ansible.builtin.git:
|
||||
repo: "{{ matrix_bot_matrix_registration_bot_docker_repo }}"
|
||||
version: "{{ matrix_bot_matrix_registration_bot_docker_repo_version }}"
|
||||
dest: "{{ matrix_bot_matrix_registration_bot_docker_src_files_path }}"
|
||||
repo: "{{ matrix_bot_matrix_registration_bot_container_repo }}"
|
||||
version: "{{ matrix_bot_matrix_registration_bot_container_repo_version }}"
|
||||
dest: "{{ matrix_bot_matrix_registration_bot_container_src_files_path }}"
|
||||
force: "yes"
|
||||
become: true
|
||||
become_user: "{{ matrix_user_name }}"
|
||||
@@ -56,13 +56,13 @@
|
||||
|
||||
- name: Ensure matrix-registration-bot image is built
|
||||
community.docker.docker_image:
|
||||
name: "{{ matrix_bot_matrix_registration_bot_docker_image }}"
|
||||
name: "{{ matrix_bot_matrix_registration_bot_container_image }}"
|
||||
source: build
|
||||
force_source: "{{ matrix_bot_matrix_registration_bot_git_pull_results.changed if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
|
||||
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_bot_matrix_registration_bot_git_pull_results.changed }}"
|
||||
build:
|
||||
dockerfile: Dockerfile
|
||||
path: "{{ matrix_bot_matrix_registration_bot_docker_src_files_path }}"
|
||||
path: "{{ matrix_bot_matrix_registration_bot_container_src_files_path }}"
|
||||
pull: true
|
||||
|
||||
- name: Ensure matrix-registration-bot container network is created
|
||||
|
||||
@@ -6,15 +6,6 @@
|
||||
|
||||
---
|
||||
|
||||
- name: Fail if required settings not defined
|
||||
ansible.builtin.fail:
|
||||
msg: >-
|
||||
You need to define a required configuration setting (`{{ item }}`).
|
||||
when: "lookup('vars', item, default='') == ''"
|
||||
with_items:
|
||||
- "matrix_bot_matrix_registration_bot_bot_password"
|
||||
- "matrix_bot_matrix_registration_bot_api_base_url"
|
||||
|
||||
- name: (Deprecation) Catch and report renamed settings
|
||||
ansible.builtin.fail:
|
||||
msg: >-
|
||||
@@ -24,3 +15,22 @@
|
||||
with_items:
|
||||
- {'old': 'matrix_bot_matrix_registration_bot_bot_access_token', 'new': '<removed>'}
|
||||
- {'old': 'matrix_bot_matrix_registration_bot_matrix_homeserver_url', 'new': 'matrix_bot_matrix_registration_bot_api_base_url'}
|
||||
- {'old': 'matrix_bot_matrix_registration_bot_docker_image', 'new': 'matrix_bot_matrix_registration_bot_container_image'}
|
||||
- {'old': 'matrix_bot_matrix_registration_bot_docker_image_force_pull', 'new': 'matrix_bot_matrix_registration_bot_container_image_force_pull'}
|
||||
- {'old': 'matrix_bot_matrix_registration_bot_docker_image_registry_prefix', 'new': 'matrix_bot_matrix_registration_bot_container_image_registry_prefix'}
|
||||
- {'old': 'matrix_bot_matrix_registration_bot_docker_image_registry_prefix_upstream', 'new': 'matrix_bot_matrix_registration_bot_container_image_registry_prefix_upstream'}
|
||||
- {'old': 'matrix_bot_matrix_registration_bot_docker_image_registry_prefix_upstream_default', 'new': 'matrix_bot_matrix_registration_bot_container_image_registry_prefix_upstream_default'}
|
||||
- {'old': 'matrix_bot_matrix_registration_bot_docker_iteration', 'new': 'matrix_bot_matrix_registration_bot_container_iteration'}
|
||||
- {'old': 'matrix_bot_matrix_registration_bot_docker_repo', 'new': 'matrix_bot_matrix_registration_bot_container_repo'}
|
||||
- {'old': 'matrix_bot_matrix_registration_bot_docker_repo_version', 'new': 'matrix_bot_matrix_registration_bot_container_repo_version'}
|
||||
- {'old': 'matrix_bot_matrix_registration_bot_docker_src_files_path', 'new': 'matrix_bot_matrix_registration_bot_container_src_files_path'}
|
||||
- {'old': 'matrix_bot_matrix_registration_bot_docker_tag', 'new': 'matrix_bot_matrix_registration_bot_container_tag'}
|
||||
|
||||
- name: Fail if required settings not defined
|
||||
ansible.builtin.fail:
|
||||
msg: >-
|
||||
You need to define a required configuration setting (`{{ item }}`).
|
||||
when: "lookup('vars', item, default='') == ''"
|
||||
with_items:
|
||||
- "matrix_bot_matrix_registration_bot_bot_password"
|
||||
- "matrix_bot_matrix_registration_bot_api_base_url"
|
||||
|
||||
@@ -27,7 +27,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
|
||||
--mount type=bind,src={{ matrix_bot_matrix_registration_bot_config_path }},dst=/config,ro \
|
||||
--mount type=bind,src={{ matrix_bot_matrix_registration_bot_data_path }},dst=/data \
|
||||
--network={{ matrix_bot_matrix_registration_bot_container_network }} \
|
||||
{{ matrix_bot_matrix_registration_bot_docker_image }}
|
||||
{{ matrix_bot_matrix_registration_bot_container_image }}
|
||||
|
||||
{% for network in matrix_bot_matrix_registration_bot_container_additional_networks %}
|
||||
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network connect {{ network }} matrix-bot-matrix-registration-bot
|
||||
|
||||
@@ -15,17 +15,17 @@
|
||||
matrix_bot_matrix_reminder_bot_enabled: true
|
||||
|
||||
matrix_bot_matrix_reminder_bot_container_image_self_build: false
|
||||
matrix_bot_matrix_reminder_bot_docker_repo: "https://github.com/anoadragon453/matrix-reminder-bot.git"
|
||||
matrix_bot_matrix_reminder_bot_docker_repo_version: "{{ 'master' if matrix_bot_matrix_reminder_bot_version == 'latest' else matrix_bot_matrix_reminder_bot_version }}"
|
||||
matrix_bot_matrix_reminder_bot_docker_src_files_path: "{{ matrix_base_data_path }}/matrix-reminder-bot/docker-src"
|
||||
matrix_bot_matrix_reminder_bot_container_repo: "https://github.com/anoadragon453/matrix-reminder-bot.git"
|
||||
matrix_bot_matrix_reminder_bot_container_repo_version: "{{ 'master' if matrix_bot_matrix_reminder_bot_version == 'latest' else matrix_bot_matrix_reminder_bot_version }}"
|
||||
matrix_bot_matrix_reminder_bot_container_src_files_path: "{{ matrix_base_data_path }}/matrix-reminder-bot/docker-src"
|
||||
|
||||
# renovate: datasource=docker depName=ghcr.io/anoadragon453/matrix-reminder-bot
|
||||
matrix_bot_matrix_reminder_bot_version: v0.4.0
|
||||
matrix_bot_matrix_reminder_bot_docker_image: "{{ matrix_bot_matrix_reminder_bot_docker_image_registry_prefix }}anoadragon453/matrix-reminder-bot:{{ matrix_bot_matrix_reminder_bot_version }}"
|
||||
matrix_bot_matrix_reminder_bot_docker_image_registry_prefix: "{{ 'localhost/' if matrix_bot_matrix_reminder_bot_container_image_self_build else matrix_bot_matrix_reminder_bot_docker_image_registry_prefix_upstream }}"
|
||||
matrix_bot_matrix_reminder_bot_docker_image_registry_prefix_upstream: "{{ matrix_bot_matrix_reminder_bot_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_bot_matrix_reminder_bot_docker_image_registry_prefix_upstream_default: "ghcr.io/"
|
||||
matrix_bot_matrix_reminder_bot_docker_image_force_pull: "{{ matrix_bot_matrix_reminder_bot_docker_image.endswith(':latest') }}"
|
||||
matrix_bot_matrix_reminder_bot_container_image: "{{ matrix_bot_matrix_reminder_bot_container_image_registry_prefix }}anoadragon453/matrix-reminder-bot:{{ matrix_bot_matrix_reminder_bot_version }}"
|
||||
matrix_bot_matrix_reminder_bot_container_image_registry_prefix: "{{ 'localhost/' if matrix_bot_matrix_reminder_bot_container_image_self_build else matrix_bot_matrix_reminder_bot_container_image_registry_prefix_upstream }}"
|
||||
matrix_bot_matrix_reminder_bot_container_image_registry_prefix_upstream: "{{ matrix_bot_matrix_reminder_bot_container_image_registry_prefix_upstream_default }}"
|
||||
matrix_bot_matrix_reminder_bot_container_image_registry_prefix_upstream_default: "ghcr.io/"
|
||||
matrix_bot_matrix_reminder_bot_container_image_force_pull: "{{ matrix_bot_matrix_reminder_bot_container_image.endswith(':latest') }}"
|
||||
|
||||
matrix_bot_matrix_reminder_bot_base_path: "{{ matrix_base_data_path }}/matrix-reminder-bot"
|
||||
matrix_bot_matrix_reminder_bot_config_path: "{{ matrix_bot_matrix_reminder_bot_base_path }}/config"
|
||||
|
||||
@@ -49,15 +49,15 @@
|
||||
- {path: "{{ matrix_bot_matrix_reminder_bot_config_path }}", when: true}
|
||||
- {path: "{{ matrix_bot_matrix_reminder_bot_data_path }}", when: true}
|
||||
- {path: "{{ matrix_bot_matrix_reminder_bot_data_store_path }}", when: true}
|
||||
- {path: "{{ matrix_bot_matrix_reminder_bot_docker_src_files_path }}", when: true}
|
||||
- {path: "{{ matrix_bot_matrix_reminder_bot_container_src_files_path }}", when: true}
|
||||
when: "item.when | bool"
|
||||
|
||||
- name: Ensure matrix-reminder-bot image is pulled
|
||||
community.docker.docker_image:
|
||||
name: "{{ matrix_bot_matrix_reminder_bot_docker_image }}"
|
||||
name: "{{ matrix_bot_matrix_reminder_bot_container_image }}"
|
||||
source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}"
|
||||
force_source: "{{ matrix_bot_matrix_reminder_bot_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
|
||||
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_bot_matrix_reminder_bot_docker_image_force_pull }}"
|
||||
force_source: "{{ matrix_bot_matrix_reminder_bot_container_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
|
||||
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_bot_matrix_reminder_bot_container_image_force_pull }}"
|
||||
when: "not matrix_bot_matrix_reminder_bot_container_image_self_build | bool"
|
||||
register: matrix_bot_matrix_reminder_bot_container_image_pull_result
|
||||
retries: "{{ devture_playbook_help_container_retries_count }}"
|
||||
@@ -66,9 +66,9 @@
|
||||
|
||||
- name: Ensure matrix-reminder-bot repository is present on self-build
|
||||
ansible.builtin.git:
|
||||
repo: "{{ matrix_bot_matrix_reminder_bot_docker_repo }}"
|
||||
version: "{{ matrix_bot_matrix_reminder_bot_docker_repo_version }}"
|
||||
dest: "{{ matrix_bot_matrix_reminder_bot_docker_src_files_path }}"
|
||||
repo: "{{ matrix_bot_matrix_reminder_bot_container_repo }}"
|
||||
version: "{{ matrix_bot_matrix_reminder_bot_container_repo_version }}"
|
||||
dest: "{{ matrix_bot_matrix_reminder_bot_container_src_files_path }}"
|
||||
force: "yes"
|
||||
become: true
|
||||
become_user: "{{ matrix_user_name }}"
|
||||
@@ -77,13 +77,13 @@
|
||||
|
||||
- name: Ensure matrix-reminder-bot image is built
|
||||
community.docker.docker_image:
|
||||
name: "{{ matrix_bot_matrix_reminder_bot_docker_image }}"
|
||||
name: "{{ matrix_bot_matrix_reminder_bot_container_image }}"
|
||||
source: build
|
||||
force_source: "{{ matrix_bot_matrix_reminder_bot_git_pull_results.changed if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
|
||||
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_bot_matrix_reminder_bot_git_pull_results.changed }}"
|
||||
build:
|
||||
dockerfile: docker/Dockerfile
|
||||
path: "{{ matrix_bot_matrix_reminder_bot_docker_src_files_path }}"
|
||||
path: "{{ matrix_bot_matrix_reminder_bot_container_src_files_path }}"
|
||||
pull: true
|
||||
when: "matrix_bot_matrix_reminder_bot_container_image_self_build | bool"
|
||||
|
||||
|
||||
@@ -6,6 +6,24 @@
|
||||
|
||||
---
|
||||
|
||||
- name: (Deprecation) Catch and report renamed matrix-reminder-bot 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_bot_matrix_reminder_bot_container_self_build', 'new': 'matrix_bot_matrix_reminder_bot_container_image_self_build'}
|
||||
- {'old': 'matrix_bot_matrix_reminder_bot_container_image_name_prefix', 'new': 'matrix_bot_matrix_reminder_bot_container_image_registry_prefix'}
|
||||
- {'old': 'matrix_bot_matrix_reminder_bot_docker_image', 'new': 'matrix_bot_matrix_reminder_bot_container_image'}
|
||||
- {'old': 'matrix_bot_matrix_reminder_bot_docker_image_force_pull', 'new': 'matrix_bot_matrix_reminder_bot_container_image_force_pull'}
|
||||
- {'old': 'matrix_bot_matrix_reminder_bot_docker_image_registry_prefix', 'new': 'matrix_bot_matrix_reminder_bot_container_image_registry_prefix'}
|
||||
- {'old': 'matrix_bot_matrix_reminder_bot_docker_image_registry_prefix_upstream', 'new': 'matrix_bot_matrix_reminder_bot_container_image_registry_prefix_upstream'}
|
||||
- {'old': 'matrix_bot_matrix_reminder_bot_docker_image_registry_prefix_upstream_default', 'new': 'matrix_bot_matrix_reminder_bot_container_image_registry_prefix_upstream_default'}
|
||||
- {'old': 'matrix_bot_matrix_reminder_bot_docker_repo', 'new': 'matrix_bot_matrix_reminder_bot_container_repo'}
|
||||
- {'old': 'matrix_bot_matrix_reminder_bot_docker_repo_version', 'new': 'matrix_bot_matrix_reminder_bot_container_repo_version'}
|
||||
- {'old': 'matrix_bot_matrix_reminder_bot_docker_src_files_path', 'new': 'matrix_bot_matrix_reminder_bot_container_src_files_path'}
|
||||
|
||||
- name: Fail if required matrix-reminder-bot settings not defined
|
||||
ansible.builtin.fail:
|
||||
msg: >-
|
||||
@@ -17,13 +35,3 @@
|
||||
- {'name': 'matrix_bot_matrix_reminder_bot_container_network', when: true}
|
||||
- {'name': 'matrix_bot_matrix_reminder_bot_matrix_homeserver_url', when: true}
|
||||
- {'name': 'matrix_bot_matrix_reminder_bot_database_hostname', when: "{{ matrix_bot_matrix_reminder_bot_database_engine == 'postgres' }}"}
|
||||
|
||||
- name: (Deprecation) Catch and report renamed matrix-reminder-bot 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_bot_matrix_reminder_bot_container_self_build', 'new': 'matrix_bot_matrix_reminder_bot_container_image_self_build'}
|
||||
- {'old': 'matrix_bot_matrix_reminder_bot_container_image_name_prefix', 'new': 'matrix_bot_matrix_reminder_bot_container_image_registry_prefix'}
|
||||
|
||||
@@ -31,7 +31,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
|
||||
{% for arg in matrix_bot_matrix_reminder_bot_container_extra_arguments %}
|
||||
{{ arg }} \
|
||||
{% endfor %}
|
||||
{{ matrix_bot_matrix_reminder_bot_docker_image }} \
|
||||
{{ matrix_bot_matrix_reminder_bot_container_image }} \
|
||||
-c "matrix-reminder-bot /config/config.yaml"
|
||||
|
||||
{% for network in matrix_bot_matrix_reminder_bot_container_additional_networks %}
|
||||
|
||||
@@ -26,37 +26,37 @@ matrix_bot_maubot_hostname: ''
|
||||
matrix_bot_maubot_path_prefix: /_matrix/maubot
|
||||
|
||||
matrix_bot_maubot_container_image_self_build: false
|
||||
matrix_bot_maubot_docker_repo: "https://mau.dev/maubot/maubot.git"
|
||||
matrix_bot_maubot_docker_repo_version: "{{ 'master' if matrix_bot_maubot_version == 'latest' else matrix_bot_maubot_version }}"
|
||||
matrix_bot_maubot_container_repo: "https://mau.dev/maubot/maubot.git"
|
||||
matrix_bot_maubot_container_repo_version: "{{ 'master' if matrix_bot_maubot_version == 'latest' else matrix_bot_maubot_version }}"
|
||||
|
||||
# renovate: datasource=docker depName=dock.mau.dev/maubot/maubot
|
||||
matrix_bot_maubot_version: v0.6.0
|
||||
matrix_bot_maubot_docker_image: "{{ matrix_bot_maubot_docker_image_registry_prefix }}maubot/maubot:{{ matrix_bot_maubot_version }}"
|
||||
matrix_bot_maubot_docker_image_registry_prefix: "{{ 'localhost/' if matrix_bot_maubot_container_image_self_build else matrix_bot_maubot_docker_image_registry_prefix_upstream }}"
|
||||
matrix_bot_maubot_docker_image_registry_prefix_upstream: "{{ matrix_bot_maubot_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_bot_maubot_docker_image_registry_prefix_upstream_default: "dock.mau.dev/"
|
||||
matrix_bot_maubot_docker_image_force_pull: "{{ matrix_bot_maubot_docker_image.endswith(':latest') }}"
|
||||
matrix_bot_maubot_container_image: "{{ matrix_bot_maubot_container_image_registry_prefix }}maubot/maubot:{{ matrix_bot_maubot_version }}"
|
||||
matrix_bot_maubot_container_image_registry_prefix: "{{ 'localhost/' if matrix_bot_maubot_container_image_self_build else matrix_bot_maubot_container_image_registry_prefix_upstream }}"
|
||||
matrix_bot_maubot_container_image_registry_prefix_upstream: "{{ matrix_bot_maubot_container_image_registry_prefix_upstream_default }}"
|
||||
matrix_bot_maubot_container_image_registry_prefix_upstream_default: "dock.mau.dev/"
|
||||
matrix_bot_maubot_container_image_force_pull: "{{ matrix_bot_maubot_container_image.endswith(':latest') }}"
|
||||
|
||||
# matrix_bot_maubot_docker_image_customized is the name of the locally built maubot image
|
||||
# matrix_bot_maubot_container_image_customized is the name of the locally built maubot image
|
||||
# which adds various customizations on top of the original (upstream) maubot image.
|
||||
# This image will be based on the upstream `matrix_bot_maubot_docker_image` image, only if `matrix_bot_maubot_container_image_customizations_enabled: true`.
|
||||
matrix_bot_maubot_docker_image_customized: "localhost/maubot/maubot:{{ matrix_bot_maubot_version }}-customized"
|
||||
# This image will be based on the upstream `matrix_bot_maubot_container_image` image, only if `matrix_bot_maubot_container_image_customizations_enabled: true`.
|
||||
matrix_bot_maubot_container_image_customized: "localhost/maubot/maubot:{{ matrix_bot_maubot_version }}-customized"
|
||||
|
||||
# Controls whether the customized image (`matrix_bot_maubot_docker_image_customized`) is to be force-built without layer caching enabled.
|
||||
matrix_bot_maubot_docker_image_customized_build_nocache: false
|
||||
# Controls whether the customized image (`matrix_bot_maubot_container_image_customized`) is to be force-built without layer caching enabled.
|
||||
matrix_bot_maubot_container_image_customized_build_nocache: false
|
||||
|
||||
# Controls whether the customized image (`matrix_bot_maubot_docker_image_customized`) is to be built, even if it already exists.
|
||||
# Related to: matrix_bot_maubot_docker_image_customized_build_nocache
|
||||
matrix_bot_maubot_docker_image_customized_force_source: "{{ matrix_bot_maubot_docker_image_customized_build_nocache }}"
|
||||
# Controls whether the customized image (`matrix_bot_maubot_container_image_customized`) is to be built, even if it already exists.
|
||||
# Related to: matrix_bot_maubot_container_image_customized_build_nocache
|
||||
matrix_bot_maubot_container_image_customized_force_source: "{{ matrix_bot_maubot_container_image_customized_build_nocache }}"
|
||||
|
||||
# matrix_bot_maubot_docker_image_final holds the name of the maubot image to run depending on whether or not customizations are enabled.
|
||||
matrix_bot_maubot_docker_image_final: "{{ matrix_bot_maubot_docker_image_customized if matrix_bot_maubot_container_image_customizations_enabled else matrix_bot_maubot_docker_image }} "
|
||||
# matrix_bot_maubot_container_image_final holds the name of the maubot image to run depending on whether or not customizations are enabled.
|
||||
matrix_bot_maubot_container_image_final: "{{ matrix_bot_maubot_container_image_customized if matrix_bot_maubot_container_image_customizations_enabled else matrix_bot_maubot_container_image }} "
|
||||
|
||||
matrix_bot_maubot_base_path: "{{ matrix_base_data_path }}/maubot"
|
||||
matrix_bot_maubot_data_path: "{{ matrix_bot_maubot_base_path }}/data"
|
||||
matrix_bot_maubot_config_path: "{{ matrix_bot_maubot_base_path }}/config"
|
||||
matrix_bot_maubot_docker_src_files_path: "{{ matrix_bot_maubot_base_path }}/docker-src"
|
||||
matrix_bot_maubot_customized_docker_src_files_path: "{{ matrix_bot_maubot_base_path }}/customized-docker-src"
|
||||
matrix_bot_maubot_container_src_files_path: "{{ matrix_bot_maubot_base_path }}/docker-src"
|
||||
matrix_bot_maubot_customized_container_src_files_path: "{{ matrix_bot_maubot_base_path }}/customized-docker-src"
|
||||
|
||||
matrix_bot_maubot_bot_server_public_url: "{{ matrix_bot_maubot_scheme }}://{{ matrix_bot_maubot_hostname }}"
|
||||
matrix_bot_maubot_bot_server_base_path: "{{ matrix_bot_maubot_path_prefix }}/v1"
|
||||
@@ -124,12 +124,12 @@ matrix_bot_maubot_container_additional_networks_custom: []
|
||||
# See:
|
||||
# - `roles/custom/matrix-bot-maubot/templates/maubot/customizations/Dockerfile.j2`
|
||||
# - `matrix_bot_maubot_container_image_customizations_dockerfile_body_custom`
|
||||
# - `matrix_bot_maubot_docker_image_customized`
|
||||
# - `matrix_bot_maubot_docker_image_final`
|
||||
# - `matrix_bot_maubot_container_image_customized`
|
||||
# - `matrix_bot_maubot_container_image_final`
|
||||
matrix_bot_maubot_container_image_customizations_enabled: false
|
||||
|
||||
# matrix_bot_maubot_container_image_customizations_dockerfile_body contains your custom Dockerfile steps
|
||||
# for building your customized maubot image based on the original (upstream) image (`matrix_bot_maubot_docker_image`).
|
||||
# for building your customized maubot image based on the original (upstream) image (`matrix_bot_maubot_container_image`).
|
||||
# A `FROM …` clause is included automatically so you don't have to.
|
||||
#
|
||||
# For this to take effect, you need to enable customizations (`matrix_bot_maubot_container_image_customizations_enabled: true`).
|
||||
|
||||
@@ -23,8 +23,8 @@
|
||||
- {path: "{{ matrix_bot_maubot_data_path }}/plugins", when: true}
|
||||
- {path: "{{ matrix_bot_maubot_data_path }}/dbs", when: true}
|
||||
- {path: "{{ matrix_bot_maubot_data_path }}/trash", when: true}
|
||||
- {path: "{{ matrix_bot_maubot_docker_src_files_path }}", when: "{{ matrix_bot_maubot_container_image_self_build }}"}
|
||||
- {path: "{{ matrix_bot_maubot_customized_docker_src_files_path }}", when: "{{ matrix_bot_maubot_container_image_customizations_enabled }}"}
|
||||
- {path: "{{ matrix_bot_maubot_container_src_files_path }}", when: "{{ matrix_bot_maubot_container_image_self_build }}"}
|
||||
- {path: "{{ matrix_bot_maubot_customized_container_src_files_path }}", when: "{{ matrix_bot_maubot_container_image_customizations_enabled }}"}
|
||||
when: "item.when|bool"
|
||||
|
||||
- name: Ensure maubot configuration file created
|
||||
@@ -38,10 +38,10 @@
|
||||
|
||||
- name: Ensure maubot image is pulled
|
||||
community.docker.docker_image:
|
||||
name: "{{ matrix_bot_maubot_docker_image }}"
|
||||
name: "{{ matrix_bot_maubot_container_image }}"
|
||||
source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}"
|
||||
force_source: "{{ matrix_bot_maubot_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
|
||||
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_bot_maubot_docker_image_force_pull }}"
|
||||
force_source: "{{ matrix_bot_maubot_container_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
|
||||
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_bot_maubot_container_image_force_pull }}"
|
||||
when: "not matrix_bot_maubot_container_image_self_build|bool"
|
||||
register: matrix_bot_maubot_container_image_pull_result
|
||||
retries: "{{ devture_playbook_help_container_retries_count }}"
|
||||
@@ -52,9 +52,9 @@
|
||||
block:
|
||||
- name: Ensure maubot repository is present on self-build
|
||||
ansible.builtin.git:
|
||||
repo: "{{ matrix_bot_maubot_docker_repo }}"
|
||||
version: "{{ matrix_bot_maubot_docker_repo_version }}"
|
||||
dest: "{{ matrix_bot_maubot_docker_src_files_path }}"
|
||||
repo: "{{ matrix_bot_maubot_container_repo }}"
|
||||
version: "{{ matrix_bot_maubot_container_repo_version }}"
|
||||
dest: "{{ matrix_bot_maubot_container_src_files_path }}"
|
||||
force: "yes"
|
||||
become: true
|
||||
become_user: "{{ matrix_user_name }}"
|
||||
@@ -62,13 +62,13 @@
|
||||
|
||||
- name: Ensure maubot image is built
|
||||
community.docker.docker_image:
|
||||
name: "{{ matrix_bot_maubot_docker_image }}"
|
||||
name: "{{ matrix_bot_maubot_container_image }}"
|
||||
source: build
|
||||
force_source: "{{ matrix_bot_maubot_git_pull_results.changed if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
|
||||
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_bot_maubot_git_pull_results.changed }}"
|
||||
build:
|
||||
dockerfile: Dockerfile
|
||||
path: "{{ matrix_bot_maubot_docker_src_files_path }}"
|
||||
path: "{{ matrix_bot_maubot_container_src_files_path }}"
|
||||
pull: true
|
||||
|
||||
- when: "matrix_bot_maubot_container_image_customizations_enabled | bool"
|
||||
@@ -76,7 +76,7 @@
|
||||
- name: Ensure customizations Dockerfile is created
|
||||
ansible.builtin.template:
|
||||
src: "{{ role_path }}/templates/customizations/Dockerfile.j2"
|
||||
dest: "{{ matrix_bot_maubot_customized_docker_src_files_path }}/Dockerfile"
|
||||
dest: "{{ matrix_bot_maubot_customized_container_src_files_path }}/Dockerfile"
|
||||
owner: "{{ matrix_user_name }}"
|
||||
group: "{{ matrix_group_name }}"
|
||||
mode: '0640'
|
||||
@@ -84,13 +84,13 @@
|
||||
|
||||
- name: Ensure customized Docker image for maubot is built
|
||||
community.docker.docker_image:
|
||||
name: "{{ matrix_bot_maubot_docker_image_customized }}"
|
||||
name: "{{ matrix_bot_maubot_container_image_customized }}"
|
||||
source: build
|
||||
force_source: "{{ matrix_bot_maubot_container_image_customizations_dockerfile_result.changed or matrix_bot_maubot_docker_image_customized_force_source }}"
|
||||
force_source: "{{ matrix_bot_maubot_container_image_customizations_dockerfile_result.changed or matrix_bot_maubot_container_image_customized_force_source }}"
|
||||
build:
|
||||
dockerfile: Dockerfile
|
||||
path: "{{ matrix_bot_maubot_customized_docker_src_files_path }}"
|
||||
nocache: "{{ matrix_bot_maubot_docker_image_customized_build_nocache }}"
|
||||
path: "{{ matrix_bot_maubot_customized_container_src_files_path }}"
|
||||
nocache: "{{ matrix_bot_maubot_container_image_customized_build_nocache }}"
|
||||
|
||||
- name: Ensure maubot support files installed
|
||||
ansible.builtin.template:
|
||||
|
||||
@@ -18,6 +18,19 @@
|
||||
- {'old': 'matrix_bot_maubot_management_interface_http_bind_port', 'new': 'matrix_bot_maubot_container_management_interface_http_bind_port'}
|
||||
- {'old': 'matrix_bot_maubot_registration_shared_secret', 'new': 'matrix_bot_maubot_homeserver_secret'}
|
||||
- {'old': 'matrix_bot_maubot_container_image_name_prefix', 'new': 'matrix_bot_maubot_container_image_registry_prefix'}
|
||||
- {'old': 'matrix_bot_maubot_docker_image', 'new': 'matrix_bot_maubot_container_image'}
|
||||
- {'old': 'matrix_bot_maubot_docker_image_customized', 'new': 'matrix_bot_maubot_container_image_customized'}
|
||||
- {'old': 'matrix_bot_maubot_docker_image_customized_build_nocache', 'new': 'matrix_bot_maubot_container_image_customized_build_nocache'}
|
||||
- {'old': 'matrix_bot_maubot_docker_image_customized_force_source', 'new': 'matrix_bot_maubot_container_image_customized_force_source'}
|
||||
- {'old': 'matrix_bot_maubot_docker_image_final', 'new': 'matrix_bot_maubot_container_image_final'}
|
||||
- {'old': 'matrix_bot_maubot_docker_image_force_pull', 'new': 'matrix_bot_maubot_container_image_force_pull'}
|
||||
- {'old': 'matrix_bot_maubot_docker_image_registry_prefix', 'new': 'matrix_bot_maubot_container_image_registry_prefix'}
|
||||
- {'old': 'matrix_bot_maubot_docker_image_registry_prefix_upstream', 'new': 'matrix_bot_maubot_container_image_registry_prefix_upstream'}
|
||||
- {'old': 'matrix_bot_maubot_docker_image_registry_prefix_upstream_default', 'new': 'matrix_bot_maubot_container_image_registry_prefix_upstream_default'}
|
||||
- {'old': 'matrix_bot_maubot_docker_repo', 'new': 'matrix_bot_maubot_container_repo'}
|
||||
- {'old': 'matrix_bot_maubot_docker_repo_version', 'new': 'matrix_bot_maubot_container_repo_version'}
|
||||
- {'old': 'matrix_bot_maubot_docker_src_files_path', 'new': 'matrix_bot_maubot_container_src_files_path'}
|
||||
- {'old': 'matrix_bot_maubot_customized_docker_src_files_path', 'new': 'matrix_bot_maubot_customized_container_src_files_path'}
|
||||
|
||||
- name: Fail if required maubot settings not defined
|
||||
ansible.builtin.fail:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#jinja2: lstrip_blocks: True
|
||||
FROM {{ matrix_bot_maubot_docker_image }}
|
||||
FROM {{ matrix_bot_maubot_container_image }}
|
||||
|
||||
{{ matrix_bot_maubot_container_image_customizations_dockerfile_body_custom }}
|
||||
|
||||
@@ -38,7 +38,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
|
||||
{% if matrix_bot_maubot_container_management_interface_http_bind_port %}
|
||||
-p {{ matrix_bot_maubot_container_management_interface_http_bind_port }}:{{ matrix_bot_maubot_server_port }} \
|
||||
{% endif %}
|
||||
{{ matrix_bot_maubot_docker_image_final }} \
|
||||
{{ matrix_bot_maubot_container_image_final }} \
|
||||
python3 -m maubot -c /config/config.yaml --no-update
|
||||
|
||||
{% for network in matrix_bot_maubot_container_additional_networks %}
|
||||
|
||||
@@ -17,21 +17,21 @@
|
||||
matrix_bot_mjolnir_enabled: true
|
||||
|
||||
# renovate: datasource=docker depName=matrixdotorg/mjolnir
|
||||
matrix_bot_mjolnir_version: "v1.11.0"
|
||||
matrix_bot_mjolnir_version: "v1.12.0"
|
||||
|
||||
matrix_bot_mjolnir_container_image_self_build: false
|
||||
matrix_bot_mjolnir_container_image_self_build_repo: "https://github.com/matrix-org/mjolnir.git"
|
||||
|
||||
matrix_bot_mjolnir_docker_image: "{{ matrix_bot_mjolnir_docker_image_registry_prefix }}matrixdotorg/mjolnir:{{ matrix_bot_mjolnir_version }}"
|
||||
matrix_bot_mjolnir_docker_image_registry_prefix: "{{ 'localhost/' if matrix_bot_mjolnir_container_image_self_build else matrix_bot_mjolnir_docker_image_registry_prefix_upstream }}"
|
||||
matrix_bot_mjolnir_docker_image_registry_prefix_upstream: "{{ matrix_bot_mjolnir_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_bot_mjolnir_docker_image_registry_prefix_upstream_default: "docker.io/"
|
||||
matrix_bot_mjolnir_docker_image_force_pull: "{{ matrix_bot_mjolnir_docker_image.endswith(':latest') }}"
|
||||
matrix_bot_mjolnir_container_image: "{{ matrix_bot_mjolnir_container_image_registry_prefix }}matrixdotorg/mjolnir:{{ matrix_bot_mjolnir_version }}"
|
||||
matrix_bot_mjolnir_container_image_registry_prefix: "{{ 'localhost/' if matrix_bot_mjolnir_container_image_self_build else matrix_bot_mjolnir_container_image_registry_prefix_upstream }}"
|
||||
matrix_bot_mjolnir_container_image_registry_prefix_upstream: "{{ matrix_bot_mjolnir_container_image_registry_prefix_upstream_default }}"
|
||||
matrix_bot_mjolnir_container_image_registry_prefix_upstream_default: "docker.io/"
|
||||
matrix_bot_mjolnir_container_image_force_pull: "{{ matrix_bot_mjolnir_container_image.endswith(':latest') }}"
|
||||
|
||||
matrix_bot_mjolnir_base_path: "{{ matrix_base_data_path }}/mjolnir"
|
||||
matrix_bot_mjolnir_config_path: "{{ matrix_bot_mjolnir_base_path }}/config"
|
||||
matrix_bot_mjolnir_data_path: "{{ matrix_bot_mjolnir_base_path }}/data"
|
||||
matrix_bot_mjolnir_docker_src_files_path: "{{ matrix_bot_mjolnir_base_path }}/docker-src"
|
||||
matrix_bot_mjolnir_container_src_files_path: "{{ matrix_bot_mjolnir_base_path }}/docker-src"
|
||||
|
||||
matrix_bot_mjolnir_container_network: ""
|
||||
|
||||
|
||||
@@ -24,15 +24,15 @@
|
||||
- {path: "{{ matrix_bot_mjolnir_base_path }}", when: true}
|
||||
- {path: "{{ matrix_bot_mjolnir_config_path }}", when: true}
|
||||
- {path: "{{ matrix_bot_mjolnir_data_path }}", when: true}
|
||||
- {path: "{{ matrix_bot_mjolnir_docker_src_files_path }}", when: "{{ matrix_bot_mjolnir_container_image_self_build }}"}
|
||||
- {path: "{{ matrix_bot_mjolnir_container_src_files_path }}", when: "{{ matrix_bot_mjolnir_container_image_self_build }}"}
|
||||
when: "item.when | bool"
|
||||
|
||||
- name: Ensure mjolnir Docker image is pulled
|
||||
community.docker.docker_image:
|
||||
name: "{{ matrix_bot_mjolnir_docker_image }}"
|
||||
name: "{{ matrix_bot_mjolnir_container_image }}"
|
||||
source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}"
|
||||
force_source: "{{ matrix_bot_mjolnir_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
|
||||
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_bot_mjolnir_docker_image_force_pull }}"
|
||||
force_source: "{{ matrix_bot_mjolnir_container_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
|
||||
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_bot_mjolnir_container_image_force_pull }}"
|
||||
when: "not matrix_bot_mjolnir_container_image_self_build | bool"
|
||||
register: matrix_bot_mjolnir_container_image_pull_result
|
||||
retries: "{{ devture_playbook_help_container_retries_count }}"
|
||||
@@ -42,8 +42,8 @@
|
||||
- name: Ensure mjolnir repository is present on self-build
|
||||
ansible.builtin.git:
|
||||
repo: "{{ matrix_bot_mjolnir_container_image_self_build_repo }}"
|
||||
dest: "{{ matrix_bot_mjolnir_docker_src_files_path }}"
|
||||
version: "{{ matrix_bot_mjolnir_docker_image.split(':')[1] }}"
|
||||
dest: "{{ matrix_bot_mjolnir_container_src_files_path }}"
|
||||
version: "{{ matrix_bot_mjolnir_container_image.split(':')[1] }}"
|
||||
force: "yes"
|
||||
become: true
|
||||
become_user: "{{ matrix_user_name }}"
|
||||
@@ -52,12 +52,12 @@
|
||||
|
||||
- name: Ensure mjolnir Docker image is built
|
||||
community.docker.docker_image:
|
||||
name: "{{ matrix_bot_mjolnir_docker_image }}"
|
||||
name: "{{ matrix_bot_mjolnir_container_image }}"
|
||||
source: build
|
||||
force_source: "{{ matrix_bot_mjolnir_git_pull_results.changed }}"
|
||||
build:
|
||||
dockerfile: Dockerfile
|
||||
path: "{{ matrix_bot_mjolnir_docker_src_files_path }}"
|
||||
path: "{{ matrix_bot_mjolnir_container_src_files_path }}"
|
||||
pull: true
|
||||
when: "matrix_bot_mjolnir_container_image_self_build | bool"
|
||||
|
||||
|
||||
@@ -7,6 +7,21 @@
|
||||
|
||||
---
|
||||
|
||||
- name: (Deprecation) Catch and report renamed Mjolnir 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_bot_mjolnir_container_image_name_prefix', 'new': 'matrix_bot_mjolnir_container_image_registry_prefix'}
|
||||
- {'old': 'matrix_bot_mjolnir_docker_image', 'new': 'matrix_bot_mjolnir_container_image'}
|
||||
- {'old': 'matrix_bot_mjolnir_docker_image_force_pull', 'new': 'matrix_bot_mjolnir_container_image_force_pull'}
|
||||
- {'old': 'matrix_bot_mjolnir_docker_image_registry_prefix', 'new': 'matrix_bot_mjolnir_container_image_registry_prefix'}
|
||||
- {'old': 'matrix_bot_mjolnir_docker_image_registry_prefix_upstream', 'new': 'matrix_bot_mjolnir_container_image_registry_prefix_upstream'}
|
||||
- {'old': 'matrix_bot_mjolnir_docker_image_registry_prefix_upstream_default', 'new': 'matrix_bot_mjolnir_container_image_registry_prefix_upstream_default'}
|
||||
- {'old': 'matrix_bot_mjolnir_docker_src_files_path', 'new': 'matrix_bot_mjolnir_container_src_files_path'}
|
||||
|
||||
- name: Fail if required matrix-bot-mjolnir variables are undefined
|
||||
ansible.builtin.fail:
|
||||
msg: "The `{{ item.name }}` variable must be defined and have a non-null value."
|
||||
@@ -26,12 +41,3 @@
|
||||
with_items:
|
||||
- {'name': 'matrix_bot_mjolnir_access_token', when: "{{ matrix_bot_mjolnir_pantalaimon_use }}"}
|
||||
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
|
||||
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_bot_mjolnir_container_image_name_prefix', 'new': 'matrix_bot_mjolnir_container_image_registry_prefix'}
|
||||
|
||||
@@ -29,7 +29,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
|
||||
{% for arg in matrix_bot_mjolnir_container_extra_arguments %}
|
||||
{{ arg }} \
|
||||
{% endfor %}
|
||||
{{ matrix_bot_mjolnir_docker_image }} \
|
||||
{{ matrix_bot_mjolnir_container_image }} \
|
||||
bot --mjolnir-config /data/config/production.yaml
|
||||
|
||||
{% for network in matrix_bot_mjolnir_container_additional_networks %}
|
||||
|
||||
@@ -20,11 +20,11 @@ matrix_appservice_discord_container_image_self_build: false
|
||||
|
||||
# renovate: datasource=docker depName=ghcr.io/matrix-org/matrix-appservice-discord
|
||||
matrix_appservice_discord_version: v4.0.0
|
||||
matrix_appservice_discord_docker_image: "{{ matrix_appservice_discord_docker_image_registry_prefix }}matrix-org/matrix-appservice-discord:{{ matrix_appservice_discord_version }}"
|
||||
matrix_appservice_discord_docker_image_registry_prefix: "{{ 'localhost/' if matrix_appservice_discord_container_image_self_build else matrix_appservice_discord_docker_image_registry_prefix_upstream }}"
|
||||
matrix_appservice_discord_docker_image_registry_prefix_upstream: "{{ matrix_appservice_discord_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_appservice_discord_docker_image_registry_prefix_upstream_default: "ghcr.io/"
|
||||
matrix_appservice_discord_docker_image_force_pull: "{{ matrix_appservice_discord_docker_image.endswith(':latest') }}"
|
||||
matrix_appservice_discord_container_image: "{{ matrix_appservice_discord_container_image_registry_prefix }}matrix-org/matrix-appservice-discord:{{ matrix_appservice_discord_version }}"
|
||||
matrix_appservice_discord_container_image_registry_prefix: "{{ 'localhost/' if matrix_appservice_discord_container_image_self_build else matrix_appservice_discord_container_image_registry_prefix_upstream }}"
|
||||
matrix_appservice_discord_container_image_registry_prefix_upstream: "{{ matrix_appservice_discord_container_image_registry_prefix_upstream_default }}"
|
||||
matrix_appservice_discord_container_image_registry_prefix_upstream_default: "ghcr.io/"
|
||||
matrix_appservice_discord_container_image_force_pull: "{{ matrix_appservice_discord_container_image.endswith(':latest') }}"
|
||||
|
||||
matrix_appservice_discord_base_path: "{{ matrix_base_data_path }}/appservice-discord"
|
||||
matrix_appservice_discord_config_path: "{{ matrix_base_data_path }}/appservice-discord/config"
|
||||
|
||||
@@ -42,10 +42,10 @@
|
||||
|
||||
- name: Ensure Appservice Discord image is pulled
|
||||
community.docker.docker_image:
|
||||
name: "{{ matrix_appservice_discord_docker_image }}"
|
||||
name: "{{ matrix_appservice_discord_container_image }}"
|
||||
source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}"
|
||||
force_source: "{{ matrix_appservice_discord_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
|
||||
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_appservice_discord_docker_image_force_pull }}"
|
||||
force_source: "{{ matrix_appservice_discord_container_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
|
||||
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_appservice_discord_container_image_force_pull }}"
|
||||
register: matrix_appservice_discord_container_image_pull_result
|
||||
retries: "{{ devture_playbook_help_container_retries_count }}"
|
||||
delay: "{{ devture_playbook_help_container_retries_delay }}"
|
||||
@@ -115,7 +115,7 @@
|
||||
--cap-drop=ALL
|
||||
--mount type=bind,src={{ matrix_appservice_discord_config_path }},dst=/cfg
|
||||
-w /cfg
|
||||
{{ matrix_appservice_discord_docker_image }}
|
||||
{{ matrix_appservice_discord_container_image }}
|
||||
/bin/sh -c "node /build/tools/addbot.js > /cfg/invite_link"
|
||||
changed_when: false
|
||||
|
||||
|
||||
@@ -5,6 +5,21 @@
|
||||
|
||||
---
|
||||
|
||||
- name: (Deprecation) Catch and report renamed appservice-discord variables
|
||||
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_appservice_discord_container_expose_client_server_api_port', 'new': '<superseded by matrix_appservice_discord_container_http_host_bind_port>'}
|
||||
- {'old': 'matrix_appservice_discord_container_image_name_prefix', 'new': 'matrix_appservice_discord_container_image_registry_prefix'}
|
||||
- {'old': 'matrix_appservice_discord_docker_image', 'new': 'matrix_appservice_discord_container_image'}
|
||||
- {'old': 'matrix_appservice_discord_docker_image_force_pull', 'new': 'matrix_appservice_discord_container_image_force_pull'}
|
||||
- {'old': 'matrix_appservice_discord_docker_image_registry_prefix', 'new': 'matrix_appservice_discord_container_image_registry_prefix'}
|
||||
- {'old': 'matrix_appservice_discord_docker_image_registry_prefix_upstream', 'new': 'matrix_appservice_discord_container_image_registry_prefix_upstream'}
|
||||
- {'old': 'matrix_appservice_discord_docker_image_registry_prefix_upstream_default', 'new': 'matrix_appservice_discord_container_image_registry_prefix_upstream_default'}
|
||||
|
||||
- name: Fail if required appservice-discord settings not defined
|
||||
ansible.builtin.fail:
|
||||
msg: >-
|
||||
@@ -19,16 +34,6 @@
|
||||
- {'name': 'matrix_appservice_discord_container_network', when: true}
|
||||
- {'name': 'matrix_appservice_discord_database_hostname', when: "{{ matrix_appservice_discord_database_engine == 'postgres' }}"}
|
||||
|
||||
- name: (Deprecation) Catch and report renamed appservice-discord variables
|
||||
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_appservice_discord_container_expose_client_server_api_port', 'new': '<superseded by matrix_appservice_discord_container_http_host_bind_port>'}
|
||||
- {'old': 'matrix_appservice_discord_container_image_name_prefix', 'new': 'matrix_appservice_discord_docker_image_registry_prefix'}
|
||||
|
||||
- name: Require a valid database engine
|
||||
ansible.builtin.fail:
|
||||
msg: "`matrix_appservice_discord_database_engine` needs to be either 'sqlite' or 'postgres'"
|
||||
|
||||
@@ -31,7 +31,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
|
||||
{% for arg in matrix_appservice_discord_container_extra_arguments %}
|
||||
{{ arg }} \
|
||||
{% endfor %}
|
||||
{{ matrix_appservice_discord_docker_image }} \
|
||||
{{ matrix_appservice_discord_container_image }} \
|
||||
node /build/src/discordas.js -p 9005 -c /cfg/config.yaml -f /cfg/registration.yaml
|
||||
|
||||
{% for network in matrix_appservice_discord_container_additional_networks %}
|
||||
|
||||
@@ -26,20 +26,20 @@
|
||||
matrix_appservice_irc_enabled: true
|
||||
|
||||
matrix_appservice_irc_container_image_self_build: false
|
||||
matrix_appservice_irc_docker_repo: "https://github.com/matrix-org/matrix-appservice-irc.git"
|
||||
matrix_appservice_irc_docker_repo_version: "{{ 'master' if matrix_appservice_irc_version == 'latest' else matrix_appservice_irc_version }}"
|
||||
matrix_appservice_irc_docker_src_files_path: "{{ matrix_base_data_path }}/appservice-irc/docker-src"
|
||||
matrix_appservice_irc_container_repo: "https://github.com/matrix-org/matrix-appservice-irc.git"
|
||||
matrix_appservice_irc_container_repo_version: "{{ 'master' if matrix_appservice_irc_version == 'latest' else matrix_appservice_irc_version }}"
|
||||
matrix_appservice_irc_container_src_files_path: "{{ matrix_base_data_path }}/appservice-irc/docker-src"
|
||||
|
||||
# matrix_appservice_irc_version used to contain the full Docker image tag (e.g. `release-X.X.X`).
|
||||
# It's a bare version number now. We try to somewhat retain compatibility below.
|
||||
# renovate: datasource=docker depName=docker.io/matrixdotorg/matrix-appservice-irc
|
||||
matrix_appservice_irc_version: 4.0.0
|
||||
matrix_appservice_irc_docker_image: "{{ matrix_appservice_irc_docker_image_registry_prefix }}matrixdotorg/matrix-appservice-irc:{{ matrix_appservice_irc_docker_image_tag }}"
|
||||
matrix_appservice_irc_docker_image_registry_prefix: "{{ 'localhost/' if matrix_appservice_irc_container_image_self_build else matrix_appservice_irc_docker_image_registry_prefix_upstream }}"
|
||||
matrix_appservice_irc_docker_image_registry_prefix_upstream: "{{ matrix_appservice_irc_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_appservice_irc_docker_image_registry_prefix_upstream_default: docker.io/
|
||||
matrix_appservice_irc_docker_image_tag: "{{ 'latest' if matrix_appservice_irc_version == 'latest' else ('release-' + matrix_appservice_irc_version) }}"
|
||||
matrix_appservice_irc_docker_image_force_pull: "{{ matrix_appservice_irc_docker_image.endswith(':latest') }}"
|
||||
matrix_appservice_irc_container_image: "{{ matrix_appservice_irc_container_image_registry_prefix }}matrixdotorg/matrix-appservice-irc:{{ matrix_appservice_irc_container_image_tag }}"
|
||||
matrix_appservice_irc_container_image_registry_prefix: "{{ 'localhost/' if matrix_appservice_irc_container_image_self_build else matrix_appservice_irc_container_image_registry_prefix_upstream }}"
|
||||
matrix_appservice_irc_container_image_registry_prefix_upstream: "{{ matrix_appservice_irc_container_image_registry_prefix_upstream_default }}"
|
||||
matrix_appservice_irc_container_image_registry_prefix_upstream_default: docker.io/
|
||||
matrix_appservice_irc_container_image_tag: "{{ 'latest' if matrix_appservice_irc_version == 'latest' else ('release-' + matrix_appservice_irc_version) }}"
|
||||
matrix_appservice_irc_container_image_force_pull: "{{ matrix_appservice_irc_container_image.endswith(':latest') }}"
|
||||
|
||||
matrix_appservice_irc_base_path: "{{ matrix_base_data_path }}/appservice-irc"
|
||||
matrix_appservice_irc_config_path: "{{ matrix_appservice_irc_base_path }}/config"
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
{% endif %}
|
||||
--mount type=bind,src={{ matrix_appservice_irc_data_path }},dst=/data
|
||||
--entrypoint=/bin/sh
|
||||
{{ matrix_appservice_irc_docker_image }}
|
||||
{{ matrix_appservice_irc_container_image }}
|
||||
-c
|
||||
'/usr/local/bin/node /app/lib/scripts/migrate-db-to-pgres.js --dbdir /data --privateKey /data/passkey.pem --connectionString {{ matrix_appservice_irc_database_connection_string }}'
|
||||
register: matrix_appservice_irc_import_nedb_to_postgres_result
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
- {path: "{{ matrix_appservice_irc_base_path }}", when: true}
|
||||
- {path: "{{ matrix_appservice_irc_config_path }}", when: true}
|
||||
- {path: "{{ matrix_appservice_irc_data_path }}", when: true}
|
||||
- {path: "{{ matrix_appservice_irc_docker_src_files_path }}", when: "{{ matrix_appservice_irc_container_image_self_build }}"}
|
||||
- {path: "{{ matrix_appservice_irc_container_src_files_path }}", when: "{{ matrix_appservice_irc_container_image_self_build }}"}
|
||||
when: item.when | bool
|
||||
|
||||
- name: Check if an old passkey file already exists
|
||||
@@ -81,10 +81,10 @@
|
||||
|
||||
- name: Ensure Appservice IRC image is pulled
|
||||
community.docker.docker_image:
|
||||
name: "{{ matrix_appservice_irc_docker_image }}"
|
||||
name: "{{ matrix_appservice_irc_container_image }}"
|
||||
source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}"
|
||||
force_source: "{{ matrix_appservice_irc_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
|
||||
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_appservice_irc_docker_image_force_pull }}"
|
||||
force_source: "{{ matrix_appservice_irc_container_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
|
||||
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_appservice_irc_container_image_force_pull }}"
|
||||
when: "matrix_appservice_irc_enabled | bool and not matrix_appservice_irc_container_image_self_build | bool"
|
||||
register: matrix_appservice_irc_container_image_pull_result
|
||||
retries: "{{ devture_playbook_help_container_retries_count }}"
|
||||
@@ -93,9 +93,9 @@
|
||||
|
||||
- name: Ensure matrix-appservice-irc repository is present when self-building
|
||||
ansible.builtin.git:
|
||||
repo: "{{ matrix_appservice_irc_docker_repo }}"
|
||||
version: "{{ matrix_appservice_irc_docker_repo_version }}"
|
||||
dest: "{{ matrix_appservice_irc_docker_src_files_path }}"
|
||||
repo: "{{ matrix_appservice_irc_container_repo }}"
|
||||
version: "{{ matrix_appservice_irc_container_repo_version }}"
|
||||
dest: "{{ matrix_appservice_irc_container_src_files_path }}"
|
||||
force: "yes"
|
||||
become: true
|
||||
become_user: "{{ matrix_user_name }}"
|
||||
@@ -104,13 +104,13 @@
|
||||
|
||||
- name: Ensure matrix-appservice-irc Docker image is built
|
||||
community.docker.docker_image:
|
||||
name: "{{ matrix_appservice_irc_docker_image }}"
|
||||
name: "{{ matrix_appservice_irc_container_image }}"
|
||||
source: build
|
||||
force_source: "{{ matrix_appservice_irc_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_appservice_irc_git_pull_results.changed }}"
|
||||
build:
|
||||
dockerfile: Dockerfile
|
||||
path: "{{ matrix_appservice_irc_docker_src_files_path }}"
|
||||
path: "{{ matrix_appservice_irc_container_src_files_path }}"
|
||||
pull: true
|
||||
when: "matrix_appservice_irc_enabled | bool and matrix_appservice_irc_container_image_self_build | bool and matrix_appservice_irc_git_pull_results.changed"
|
||||
|
||||
@@ -149,7 +149,7 @@
|
||||
- name: Generate IRC appservice signing key for authenticated media
|
||||
community.docker.docker_container:
|
||||
name: "create-auth-media-jwk-key"
|
||||
image: "{{ matrix_appservice_irc_docker_image }}"
|
||||
image: "{{ matrix_appservice_irc_container_image }}"
|
||||
cleanup: true
|
||||
network_mode: none
|
||||
entrypoint: "/usr/local/bin/node"
|
||||
@@ -210,7 +210,7 @@
|
||||
--mount type=bind,src={{ matrix_appservice_irc_config_path }},dst=/config
|
||||
--mount type=bind,src={{ matrix_appservice_irc_data_path }},dst=/data
|
||||
--entrypoint=/bin/bash
|
||||
{{ matrix_appservice_irc_docker_image }}
|
||||
{{ matrix_appservice_irc_container_image }}
|
||||
-c
|
||||
'node app.js
|
||||
-r
|
||||
|
||||
@@ -6,6 +6,27 @@
|
||||
|
||||
---
|
||||
|
||||
- name: (Deprecation) Catch and report renamed appservice-irc variables
|
||||
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_appservice_irc_container_expose_client_server_api_port', 'new': '<superseded by matrix_appservice_irc_container_http_host_bind_port>'}
|
||||
- {'old': 'matrix_appservice_irc_container_self_build', 'new': 'matrix_appservice_irc_container_image_self_build'}
|
||||
- {'old': 'matrix_appservice_irc_docker_image_name_prefix', 'new': 'matrix_appservice_irc_container_image_registry_prefix'}
|
||||
- {'old': 'matrix_appservice_irc_homeserver_media_url', 'new': '<removed; media proxying now uses matrix_appservice_irc_ircService_mediaProxy_publicUrl>'}
|
||||
- {'old': 'matrix_appservice_irc_docker_image', 'new': 'matrix_appservice_irc_container_image'}
|
||||
- {'old': 'matrix_appservice_irc_docker_image_force_pull', 'new': 'matrix_appservice_irc_container_image_force_pull'}
|
||||
- {'old': 'matrix_appservice_irc_docker_image_registry_prefix', 'new': 'matrix_appservice_irc_container_image_registry_prefix'}
|
||||
- {'old': 'matrix_appservice_irc_docker_image_registry_prefix_upstream', 'new': 'matrix_appservice_irc_container_image_registry_prefix_upstream'}
|
||||
- {'old': 'matrix_appservice_irc_docker_image_registry_prefix_upstream_default', 'new': 'matrix_appservice_irc_container_image_registry_prefix_upstream_default'}
|
||||
- {'old': 'matrix_appservice_irc_docker_image_tag', 'new': 'matrix_appservice_irc_container_image_tag'}
|
||||
- {'old': 'matrix_appservice_irc_docker_repo', 'new': 'matrix_appservice_irc_container_repo'}
|
||||
- {'old': 'matrix_appservice_irc_docker_repo_version', 'new': 'matrix_appservice_irc_container_repo_version'}
|
||||
- {'old': 'matrix_appservice_irc_docker_src_files_path', 'new': 'matrix_appservice_irc_container_src_files_path'}
|
||||
|
||||
- name: Fail if required appservice-irc settings not defined
|
||||
ansible.builtin.fail:
|
||||
msg: >-
|
||||
@@ -25,6 +46,7 @@
|
||||
# we'd fail generating the registration.yaml file with a non-helpful error.
|
||||
#
|
||||
# This is a safety check to ensure we fail earlier and in a nicer way.
|
||||
|
||||
- name: Fail if no additional configuration provided
|
||||
ansible.builtin.fail:
|
||||
msg: >-
|
||||
@@ -34,18 +56,6 @@
|
||||
Overriding the whole bridge's configuration (`matrix_appservice_irc_configuration`) is yet another possibility.
|
||||
when: "matrix_appservice_irc_configuration.ircService.servers | length == 0"
|
||||
|
||||
- name: (Deprecation) Catch and report renamed appservice-irc variables
|
||||
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_appservice_irc_container_expose_client_server_api_port', 'new': '<superseded by matrix_appservice_irc_container_http_host_bind_port>'}
|
||||
- {'old': 'matrix_appservice_irc_container_self_build', 'new': 'matrix_appservice_irc_container_image_self_build'}
|
||||
- {'old': 'matrix_appservice_irc_docker_image_name_prefix', 'new': 'matrix_appservice_irc_docker_image_registry_prefix'}
|
||||
- {'old': 'matrix_appservice_irc_homeserver_media_url', 'new': '<removed; media proxying now uses matrix_appservice_irc_ircService_mediaProxy_publicUrl>'}
|
||||
|
||||
- name: Fail if matrix_appservice_irc_ircService_mediaProxy_publicUrl_pathPrefix does not start with a slash
|
||||
ansible.builtin.fail:
|
||||
msg: >-
|
||||
|
||||
@@ -36,7 +36,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
|
||||
{{ arg }} \
|
||||
{% endfor %}
|
||||
--entrypoint=/bin/bash \
|
||||
{{ matrix_appservice_irc_docker_image }} \
|
||||
{{ matrix_appservice_irc_container_image }} \
|
||||
-c 'node app.js -c /config/config.yaml -f /config/registration.yaml -p 9999'
|
||||
|
||||
{% for network in matrix_appservice_irc_container_additional_networks %}
|
||||
|
||||
@@ -35,23 +35,23 @@ matrix_appservice_kakaotalk_container_image_self_build_repo: "https://src.miscwo
|
||||
matrix_appservice_kakaotalk_container_image_self_build_repo_version: "{{ 'master' if matrix_appservice_kakaotalk_version == 'latest' else matrix_appservice_kakaotalk_version }}"
|
||||
|
||||
matrix_appservice_kakaotalk_node_version: "{{ matrix_appservice_kakaotalk_version }}"
|
||||
matrix_appservice_kakaotalk_node_docker_image: "{{ matrix_appservice_kakaotalk_node_docker_image_registry_prefix }}fair/matrix-appservice-kakaotalk-node:{{ matrix_appservice_kakaotalk_node_version }}"
|
||||
matrix_appservice_kakaotalk_node_docker_image_registry_prefix: "{{ 'localhost/' if matrix_appservice_kakaotalk_container_image_self_build else matrix_appservice_kakaotalk_node_docker_image_registry_prefix_upstream }}"
|
||||
matrix_appservice_kakaotalk_node_docker_image_registry_prefix_upstream: "{{ matrix_appservice_kakaotalk_node_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_appservice_kakaotalk_node_docker_image_registry_prefix_upstream_default: ""
|
||||
matrix_appservice_kakaotalk_node_docker_image_force_pull: "{{ matrix_appservice_kakaotalk_node_docker_image.endswith(':latest') }}"
|
||||
matrix_appservice_kakaotalk_node_container_image: "{{ matrix_appservice_kakaotalk_node_container_image_registry_prefix }}fair/matrix-appservice-kakaotalk-node:{{ matrix_appservice_kakaotalk_node_version }}"
|
||||
matrix_appservice_kakaotalk_node_container_image_registry_prefix: "{{ 'localhost/' if matrix_appservice_kakaotalk_container_image_self_build else matrix_appservice_kakaotalk_node_container_image_registry_prefix_upstream }}"
|
||||
matrix_appservice_kakaotalk_node_container_image_registry_prefix_upstream: "{{ matrix_appservice_kakaotalk_node_container_image_registry_prefix_upstream_default }}"
|
||||
matrix_appservice_kakaotalk_node_container_image_registry_prefix_upstream_default: ""
|
||||
matrix_appservice_kakaotalk_node_container_image_force_pull: "{{ matrix_appservice_kakaotalk_node_container_image.endswith(':latest') }}"
|
||||
|
||||
matrix_appservice_kakaotalk_version: 86c038fd2ffee5e0aebf65136f085cce7e38b54e
|
||||
matrix_appservice_kakaotalk_docker_image: "{{ matrix_appservice_kakaotalk_docker_image_registry_prefix }}fair/matrix-appservice-kakaotalk:{{ matrix_appservice_kakaotalk_version }}"
|
||||
matrix_appservice_kakaotalk_docker_image_registry_prefix: "{{ 'localhost/' if matrix_appservice_kakaotalk_container_image_self_build else matrix_appservice_kakaotalk_docker_image_registry_prefix_upstream }}"
|
||||
matrix_appservice_kakaotalk_docker_image_registry_prefix_upstream: "{{ matrix_appservice_kakaotalk_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_appservice_kakaotalk_docker_image_registry_prefix_upstream_default: ""
|
||||
matrix_appservice_kakaotalk_docker_image_force_pull: "{{ matrix_appservice_kakaotalk_docker_image.endswith(':latest') }}"
|
||||
matrix_appservice_kakaotalk_container_image: "{{ matrix_appservice_kakaotalk_container_image_registry_prefix }}fair/matrix-appservice-kakaotalk:{{ matrix_appservice_kakaotalk_version }}"
|
||||
matrix_appservice_kakaotalk_container_image_registry_prefix: "{{ 'localhost/' if matrix_appservice_kakaotalk_container_image_self_build else matrix_appservice_kakaotalk_container_image_registry_prefix_upstream }}"
|
||||
matrix_appservice_kakaotalk_container_image_registry_prefix_upstream: "{{ matrix_appservice_kakaotalk_container_image_registry_prefix_upstream_default }}"
|
||||
matrix_appservice_kakaotalk_container_image_registry_prefix_upstream_default: ""
|
||||
matrix_appservice_kakaotalk_container_image_force_pull: "{{ matrix_appservice_kakaotalk_container_image.endswith(':latest') }}"
|
||||
|
||||
matrix_appservice_kakaotalk_base_path: "{{ matrix_base_data_path }}/appservice-kakaotalk"
|
||||
matrix_appservice_kakaotalk_config_path: "{{ matrix_appservice_kakaotalk_base_path }}/config"
|
||||
matrix_appservice_kakaotalk_data_path: "{{ matrix_appservice_kakaotalk_base_path }}/data"
|
||||
matrix_appservice_kakaotalk_docker_src_files_path: "{{ matrix_appservice_kakaotalk_base_path }}/docker-src"
|
||||
matrix_appservice_kakaotalk_container_src_files_path: "{{ matrix_appservice_kakaotalk_base_path }}/docker-src"
|
||||
|
||||
matrix_appservice_kakaotalk_command_prefix: "!kt"
|
||||
|
||||
|
||||
@@ -8,10 +8,10 @@
|
||||
|
||||
- name: Ensure matrix-appservice-kakaotalk image is pulled
|
||||
community.docker.docker_image:
|
||||
name: "{{ matrix_appservice_kakaotalk_docker_image }}"
|
||||
name: "{{ matrix_appservice_kakaotalk_container_image }}"
|
||||
source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}"
|
||||
force_source: "{{ matrix_appservice_kakaotalk_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
|
||||
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_appservice_kakaotalk_docker_image_force_pull }}"
|
||||
force_source: "{{ matrix_appservice_kakaotalk_container_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
|
||||
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_appservice_kakaotalk_container_image_force_pull }}"
|
||||
when: not matrix_appservice_kakaotalk_container_image_self_build
|
||||
register: result
|
||||
retries: "{{ devture_playbook_help_container_retries_count }}"
|
||||
@@ -20,10 +20,10 @@
|
||||
|
||||
- name: Ensure matrix-appservice-kakaotalk-node image is pulled
|
||||
community.docker.docker_image:
|
||||
name: "{{ matrix_appservice_kakaotalk_node_docker_image }}"
|
||||
name: "{{ matrix_appservice_kakaotalk_node_container_image }}"
|
||||
source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}"
|
||||
force_source: "{{ matrix_appservice_kakaotalk_node_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
|
||||
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_appservice_kakaotalk_node_docker_image_force_pull }}"
|
||||
force_source: "{{ matrix_appservice_kakaotalk_node_container_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
|
||||
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_appservice_kakaotalk_node_container_image_force_pull }}"
|
||||
when: not matrix_appservice_kakaotalk_container_image_self_build
|
||||
register: result
|
||||
retries: "{{ devture_playbook_help_container_retries_count }}"
|
||||
@@ -41,13 +41,13 @@
|
||||
- {path: "{{ matrix_appservice_kakaotalk_base_path }}", when: true}
|
||||
- {path: "{{ matrix_appservice_kakaotalk_config_path }}", when: true}
|
||||
- {path: "{{ matrix_appservice_kakaotalk_data_path }}", when: true}
|
||||
- {path: "{{ matrix_appservice_kakaotalk_docker_src_files_path }}", when: "{{ matrix_appservice_kakaotalk_container_image_self_build }}"}
|
||||
- {path: "{{ matrix_appservice_kakaotalk_container_src_files_path }}", when: "{{ matrix_appservice_kakaotalk_container_image_self_build }}"}
|
||||
when: item.when | bool
|
||||
|
||||
- name: Ensure matrix-appservice-kakaotalk repository is present on self-build
|
||||
ansible.builtin.git:
|
||||
repo: "{{ matrix_appservice_kakaotalk_container_image_self_build_repo }}"
|
||||
dest: "{{ matrix_appservice_kakaotalk_docker_src_files_path }}"
|
||||
dest: "{{ matrix_appservice_kakaotalk_container_src_files_path }}"
|
||||
version: "{{ matrix_appservice_kakaotalk_container_image_self_build_repo_version }}"
|
||||
force: "yes"
|
||||
become: true
|
||||
@@ -57,25 +57,25 @@
|
||||
|
||||
- name: Ensure matrix-appservice-kakaotalk-node Docker image is built
|
||||
community.docker.docker_image:
|
||||
name: "{{ matrix_appservice_kakaotalk_node_docker_image }}"
|
||||
name: "{{ matrix_appservice_kakaotalk_node_container_image }}"
|
||||
source: build
|
||||
force_source: "{{ matrix_appservice_kakaotalk_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_appservice_kakaotalk_git_pull_results.changed }}"
|
||||
build:
|
||||
dockerfile: Dockerfile
|
||||
path: "{{ matrix_appservice_kakaotalk_docker_src_files_path }}/node"
|
||||
path: "{{ matrix_appservice_kakaotalk_container_src_files_path }}/node"
|
||||
pull: true
|
||||
when: "matrix_appservice_kakaotalk_container_image_self_build | bool"
|
||||
|
||||
- name: Ensure matrix-appservice-kakaotalk Docker image is built
|
||||
community.docker.docker_image:
|
||||
name: "{{ matrix_appservice_kakaotalk_docker_image }}"
|
||||
name: "{{ matrix_appservice_kakaotalk_container_image }}"
|
||||
source: build
|
||||
force_source: "{{ matrix_appservice_kakaotalk_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_appservice_kakaotalk_git_pull_results.changed }}"
|
||||
build:
|
||||
dockerfile: Dockerfile
|
||||
path: "{{ matrix_appservice_kakaotalk_docker_src_files_path }}"
|
||||
path: "{{ matrix_appservice_kakaotalk_container_src_files_path }}"
|
||||
pull: true
|
||||
when: "matrix_appservice_kakaotalk_container_image_self_build | bool"
|
||||
|
||||
|
||||
@@ -5,6 +5,27 @@
|
||||
|
||||
---
|
||||
|
||||
- name: (Deprecation) Catch and report renamed appservice-kakaotalk variables
|
||||
ansible.builtin.fail:
|
||||
msg: >-
|
||||
Your configuration contains a variable, which now has a different name.
|
||||
Please 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_appservice_kakaotalk_node_docker_image_name_prefix', 'new': 'matrix_appservice_kakaotalk_node_container_image_registry_prefix'}
|
||||
- {'old': 'matrix_appservice_kakaotalk_docker_image_name_prefix', 'new': 'matrix_appservice_kakaotalk_container_image_registry_prefix'}
|
||||
- {'old': 'matrix_appservice_kakaotalk_docker_image', 'new': 'matrix_appservice_kakaotalk_container_image'}
|
||||
- {'old': 'matrix_appservice_kakaotalk_docker_image_force_pull', 'new': 'matrix_appservice_kakaotalk_container_image_force_pull'}
|
||||
- {'old': 'matrix_appservice_kakaotalk_docker_image_registry_prefix', 'new': 'matrix_appservice_kakaotalk_container_image_registry_prefix'}
|
||||
- {'old': 'matrix_appservice_kakaotalk_docker_image_registry_prefix_upstream', 'new': 'matrix_appservice_kakaotalk_container_image_registry_prefix_upstream'}
|
||||
- {'old': 'matrix_appservice_kakaotalk_docker_image_registry_prefix_upstream_default', 'new': 'matrix_appservice_kakaotalk_container_image_registry_prefix_upstream_default'}
|
||||
- {'old': 'matrix_appservice_kakaotalk_docker_src_files_path', 'new': 'matrix_appservice_kakaotalk_container_src_files_path'}
|
||||
- {'old': 'matrix_appservice_kakaotalk_node_docker_image', 'new': 'matrix_appservice_kakaotalk_node_container_image'}
|
||||
- {'old': 'matrix_appservice_kakaotalk_node_docker_image_force_pull', 'new': 'matrix_appservice_kakaotalk_node_container_image_force_pull'}
|
||||
- {'old': 'matrix_appservice_kakaotalk_node_docker_image_registry_prefix', 'new': 'matrix_appservice_kakaotalk_node_container_image_registry_prefix'}
|
||||
- {'old': 'matrix_appservice_kakaotalk_node_docker_image_registry_prefix_upstream', 'new': 'matrix_appservice_kakaotalk_node_container_image_registry_prefix_upstream'}
|
||||
- {'old': 'matrix_appservice_kakaotalk_node_docker_image_registry_prefix_upstream_default', 'new': 'matrix_appservice_kakaotalk_node_container_image_registry_prefix_upstream_default'}
|
||||
|
||||
- name: Fail if required appservice-kakaotalk settings not defined
|
||||
ansible.builtin.fail:
|
||||
msg: >-
|
||||
@@ -16,13 +37,3 @@
|
||||
- {'name': 'matrix_appservice_kakaotalk_homeserver_token', when: true}
|
||||
- {'name': 'matrix_appservice_kakaotalk_database_hostname', when: "{{ matrix_appservice_kakaotalk_database_engine == 'postgres' }}"}
|
||||
- {'name': 'matrix_appservice_kakaotalk_container_network', when: true}
|
||||
|
||||
- name: (Deprecation) Catch and report renamed appservice-kakaotalk variables
|
||||
ansible.builtin.fail:
|
||||
msg: >-
|
||||
Your configuration contains a variable, which now has a different name.
|
||||
Please 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_appservice_kakaotalk_node_docker_image_name_prefix', 'new': 'matrix_appservice_kakaotalk_node_docker_image_registry_prefix'}
|
||||
- {'old': 'matrix_appservice_kakaotalk_docker_image_name_prefix', 'new': 'matrix_appservice_kakaotalk_docker_image_registry_prefix'}
|
||||
|
||||
@@ -27,7 +27,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
|
||||
{% for arg in matrix_appservice_kakaotalk_node_container_extra_arguments %}
|
||||
{{ arg }} \
|
||||
{% endfor %}
|
||||
{{ matrix_appservice_kakaotalk_node_docker_image }} \
|
||||
{{ matrix_appservice_kakaotalk_node_container_image }} \
|
||||
node src/main.js --config /config.json
|
||||
|
||||
{% for network in matrix_appservice_kakaotalk_container_additional_networks %}
|
||||
|
||||
@@ -28,7 +28,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
|
||||
{% for arg in matrix_appservice_kakaotalk_container_extra_arguments %}
|
||||
{{ arg }} \
|
||||
{% endfor %}
|
||||
{{ matrix_appservice_kakaotalk_docker_image }} \
|
||||
{{ matrix_appservice_kakaotalk_container_image }} \
|
||||
python3 -m matrix_appservice_kakaotalk -c /config/config.yaml --no-update
|
||||
|
||||
{% for network in matrix_appservice_discord_container_additional_networks %}
|
||||
|
||||
@@ -19,12 +19,12 @@ matrix_beeper_linkedin_enabled: true
|
||||
matrix_beeper_linkedin_version: latest
|
||||
|
||||
# See: https://github.com/beeper/linkedin/pkgs/container/linkedin
|
||||
matrix_beeper_linkedin_docker_image: "{{ matrix_beeper_linkedin_docker_image_registry_prefix }}beeper/linkedin:{{ matrix_beeper_linkedin_docker_image_tag }}"
|
||||
matrix_beeper_linkedin_docker_image_force_pull: "{{ matrix_beeper_linkedin_docker_image_tag.startswith('latest') }}"
|
||||
matrix_beeper_linkedin_docker_image_registry_prefix: "{{ 'localhost/' if matrix_beeper_linkedin_container_image_self_build else matrix_beeper_linkedin_docker_image_registry_prefix_upstream }}"
|
||||
matrix_beeper_linkedin_docker_image_registry_prefix_upstream: "{{ matrix_beeper_linkedin_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_beeper_linkedin_docker_image_registry_prefix_upstream_default: "ghcr.io/"
|
||||
matrix_beeper_linkedin_docker_image_tag: "{{ 'latest' if matrix_beeper_linkedin_version == 'master' else matrix_beeper_linkedin_version }}"
|
||||
matrix_beeper_linkedin_container_image: "{{ matrix_beeper_linkedin_container_image_registry_prefix }}beeper/linkedin:{{ matrix_beeper_linkedin_container_image_tag }}"
|
||||
matrix_beeper_linkedin_container_image_force_pull: "{{ matrix_beeper_linkedin_container_image_tag.startswith('latest') }}"
|
||||
matrix_beeper_linkedin_container_image_registry_prefix: "{{ 'localhost/' if matrix_beeper_linkedin_container_image_self_build else matrix_beeper_linkedin_container_image_registry_prefix_upstream }}"
|
||||
matrix_beeper_linkedin_container_image_registry_prefix_upstream: "{{ matrix_beeper_linkedin_container_image_registry_prefix_upstream_default }}"
|
||||
matrix_beeper_linkedin_container_image_registry_prefix_upstream_default: "ghcr.io/"
|
||||
matrix_beeper_linkedin_container_image_tag: "{{ 'latest' if matrix_beeper_linkedin_version == 'master' else matrix_beeper_linkedin_version }}"
|
||||
|
||||
matrix_beeper_linkedin_container_image_self_build: false
|
||||
matrix_beeper_linkedin_container_image_self_build_repo: "https://github.com/beeper/linkedin"
|
||||
@@ -33,7 +33,7 @@ matrix_beeper_linkedin_container_image_self_build_branch: "{{ 'master' if matrix
|
||||
matrix_beeper_linkedin_base_path: "{{ matrix_base_data_path }}/beeper-linkedin"
|
||||
matrix_beeper_linkedin_config_path: "{{ matrix_beeper_linkedin_base_path }}/config"
|
||||
matrix_beeper_linkedin_data_path: "{{ matrix_beeper_linkedin_base_path }}/data"
|
||||
matrix_beeper_linkedin_docker_src_files_path: "{{ matrix_beeper_linkedin_base_path }}/docker-src"
|
||||
matrix_beeper_linkedin_container_src_files_path: "{{ matrix_beeper_linkedin_base_path }}/docker-src"
|
||||
|
||||
matrix_beeper_linkedin_homeserver_address: ""
|
||||
matrix_beeper_linkedin_homeserver_domain: "{{ matrix_domain }}"
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
- {path: "{{ matrix_beeper_linkedin_base_path }}", when: true}
|
||||
- {path: "{{ matrix_beeper_linkedin_config_path }}", when: true}
|
||||
- {path: "{{ matrix_beeper_linkedin_data_path }}", when: true}
|
||||
- {path: "{{ matrix_beeper_linkedin_docker_src_files_path }}", when: "{{ matrix_beeper_linkedin_container_image_self_build }}"}
|
||||
- {path: "{{ matrix_beeper_linkedin_container_src_files_path }}", when: "{{ matrix_beeper_linkedin_container_image_self_build }}"}
|
||||
when: "item.when | bool"
|
||||
|
||||
- name: Ensure beeper-linkedin config.yaml installed
|
||||
@@ -45,10 +45,10 @@
|
||||
|
||||
- name: Ensure Beeper LinkedIn container image is pulled
|
||||
community.docker.docker_image:
|
||||
name: "{{ matrix_beeper_linkedin_docker_image }}"
|
||||
name: "{{ matrix_beeper_linkedin_container_image }}"
|
||||
source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}"
|
||||
force_source: "{{ matrix_beeper_linkedin_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
|
||||
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_beeper_linkedin_docker_image_force_pull }}"
|
||||
force_source: "{{ matrix_beeper_linkedin_container_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
|
||||
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_beeper_linkedin_container_image_force_pull }}"
|
||||
when: "not matrix_beeper_linkedin_container_image_self_build | bool"
|
||||
register: matrix_beeper_linkedin_container_image_pull_result
|
||||
retries: "{{ devture_playbook_help_container_retries_count }}"
|
||||
@@ -60,7 +60,7 @@
|
||||
- name: Ensure Beeper LinkedIn repository is present on self-build
|
||||
ansible.builtin.git:
|
||||
repo: "{{ matrix_beeper_linkedin_container_image_self_build_repo }}"
|
||||
dest: "{{ matrix_beeper_linkedin_docker_src_files_path }}"
|
||||
dest: "{{ matrix_beeper_linkedin_container_src_files_path }}"
|
||||
version: "{{ matrix_beeper_linkedin_container_image_self_build_branch }}"
|
||||
force: "yes"
|
||||
become: true
|
||||
@@ -75,7 +75,7 @@
|
||||
{{ devture_systemd_docker_base_host_command_docker }} run
|
||||
--rm
|
||||
--entrypoint=/bin/sh
|
||||
--mount type=bind,src={{ matrix_beeper_linkedin_docker_src_files_path }},dst=/work
|
||||
--mount type=bind,src={{ matrix_beeper_linkedin_container_src_files_path }},dst=/work
|
||||
-w /work
|
||||
docker.io/python:3.9.6-buster
|
||||
-c "pip install poetry && poetry export --without-hashes -E e2be -E images -E metrics | sed 's/==.*//g' > docker-requirements.txt"
|
||||
@@ -84,13 +84,13 @@
|
||||
|
||||
- name: Ensure Beeper LinkedIn container image is built
|
||||
community.docker.docker_image:
|
||||
name: "{{ matrix_beeper_linkedin_docker_image }}"
|
||||
name: "{{ matrix_beeper_linkedin_container_image }}"
|
||||
source: build
|
||||
force_source: "{{ matrix_beeper_linkedin_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_beeper_linkedin_git_pull_results.changed }}"
|
||||
build:
|
||||
dockerfile: Dockerfile
|
||||
path: "{{ matrix_beeper_linkedin_docker_src_files_path }}"
|
||||
path: "{{ matrix_beeper_linkedin_container_src_files_path }}"
|
||||
pull: true
|
||||
args:
|
||||
TARGETARCH: "{{ matrix_architecture }}"
|
||||
|
||||
@@ -7,6 +7,23 @@
|
||||
|
||||
---
|
||||
|
||||
- name: (Deprecation) Catch and report renamed beeper-linkedin 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_beeper_linkedin_login_shared_secret', 'new': '<superseded by matrix_beeper_linkedin_bridge_login_shared_secret_map_*>'}
|
||||
- {'old': 'matrix_beeper_linkedin_docker_image_name_prefix', 'new': 'matrix_beeper_linkedin_container_image_registry_prefix'}
|
||||
- {'old': 'matrix_beeper_linkedin_docker_image', 'new': 'matrix_beeper_linkedin_container_image'}
|
||||
- {'old': 'matrix_beeper_linkedin_docker_image_force_pull', 'new': 'matrix_beeper_linkedin_container_image_force_pull'}
|
||||
- {'old': 'matrix_beeper_linkedin_docker_image_registry_prefix', 'new': 'matrix_beeper_linkedin_container_image_registry_prefix'}
|
||||
- {'old': 'matrix_beeper_linkedin_docker_image_registry_prefix_upstream', 'new': 'matrix_beeper_linkedin_container_image_registry_prefix_upstream'}
|
||||
- {'old': 'matrix_beeper_linkedin_docker_image_registry_prefix_upstream_default', 'new': 'matrix_beeper_linkedin_container_image_registry_prefix_upstream_default'}
|
||||
- {'old': 'matrix_beeper_linkedin_docker_image_tag', 'new': 'matrix_beeper_linkedin_container_image_tag'}
|
||||
- {'old': 'matrix_beeper_linkedin_docker_src_files_path', 'new': 'matrix_beeper_linkedin_container_src_files_path'}
|
||||
|
||||
- name: Fail if required beeper-linkedin settings not defined
|
||||
ansible.builtin.fail:
|
||||
msg: >-
|
||||
@@ -18,13 +35,3 @@
|
||||
- {'name': 'matrix_beeper_linkedin_homeserver_token', when: true}
|
||||
- {'name': 'matrix_beeper_linkedin_database_hostname', when: "{{ matrix_beeper_linkedin_database_engine == 'postgres' }}"}
|
||||
- {'name': 'matrix_beeper_linkedin_container_network', when: true}
|
||||
|
||||
- name: (Deprecation) Catch and report renamed beeper-linkedin 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_beeper_linkedin_login_shared_secret', 'new': '<superseded by matrix_beeper_linkedin_bridge_login_shared_secret_map_*>'}
|
||||
- {'old': 'matrix_beeper_linkedin_docker_image_name_prefix', 'new': 'matrix_beeper_linkedin_docker_image_registry_prefix'}
|
||||
|
||||
@@ -28,7 +28,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
|
||||
{% for arg in matrix_beeper_linkedin_container_extra_arguments %}
|
||||
{{ arg }} \
|
||||
{% endfor %}
|
||||
{{ matrix_beeper_linkedin_docker_image }} \
|
||||
{{ matrix_beeper_linkedin_container_image }} \
|
||||
python3 -m linkedin_matrix -c /config/config.yaml -r /config/registration.yaml --no-update
|
||||
|
||||
{% for network in matrix_beeper_linkedin_container_additional_networks %}
|
||||
|
||||
@@ -20,11 +20,11 @@ matrix_heisenbridge_path_prefix: "/heisenbridge"
|
||||
|
||||
# renovate: datasource=docker depName=hif1/heisenbridge
|
||||
matrix_heisenbridge_version: 1.15.4
|
||||
matrix_heisenbridge_docker_image: "{{ matrix_heisenbridge_docker_image_registry_prefix }}hif1/heisenbridge:{{ matrix_heisenbridge_version }}"
|
||||
matrix_heisenbridge_docker_image_registry_prefix: "{{ matrix_heisenbridge_docker_image_registry_prefix_upstream }}"
|
||||
matrix_heisenbridge_docker_image_registry_prefix_upstream: "{{ matrix_heisenbridge_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_heisenbridge_docker_image_registry_prefix_upstream_default: "docker.io/"
|
||||
matrix_heisenbridge_docker_image_force_pull: "{{ matrix_heisenbridge_docker_image.endswith(':latest') }}"
|
||||
matrix_heisenbridge_container_image: "{{ matrix_heisenbridge_container_image_registry_prefix }}hif1/heisenbridge:{{ matrix_heisenbridge_version }}"
|
||||
matrix_heisenbridge_container_image_registry_prefix: "{{ matrix_heisenbridge_container_image_registry_prefix_upstream }}"
|
||||
matrix_heisenbridge_container_image_registry_prefix_upstream: "{{ matrix_heisenbridge_container_image_registry_prefix_upstream_default }}"
|
||||
matrix_heisenbridge_container_image_registry_prefix_upstream_default: "docker.io/"
|
||||
matrix_heisenbridge_container_image_force_pull: "{{ matrix_heisenbridge_container_image.endswith(':latest') }}"
|
||||
|
||||
# Set this to your Matrix ID if you want to enforce the owner, otherwise first _local_ user becomes one
|
||||
matrix_heisenbridge_owner: ""
|
||||
|
||||
@@ -12,10 +12,10 @@
|
||||
|
||||
- name: Ensure Heisenbridge image is pulled
|
||||
community.docker.docker_image:
|
||||
name: "{{ matrix_heisenbridge_docker_image }}"
|
||||
name: "{{ matrix_heisenbridge_container_image }}"
|
||||
source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}"
|
||||
force_source: "{{ matrix_heisenbridge_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
|
||||
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_heisenbridge_docker_image_force_pull }}"
|
||||
force_source: "{{ matrix_heisenbridge_container_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
|
||||
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_heisenbridge_container_image_force_pull }}"
|
||||
register: matrix_heisenbridge_container_image_pull_result
|
||||
retries: "{{ devture_playbook_help_container_retries_count }}"
|
||||
delay: "{{ devture_playbook_help_container_retries_delay }}"
|
||||
|
||||
@@ -5,6 +5,20 @@
|
||||
|
||||
---
|
||||
|
||||
- name: (Deprecation) Catch and report renamed Heisenbridge 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_heisenbridge_docker_image', 'new': 'matrix_heisenbridge_container_image'}
|
||||
- {'old': 'matrix_heisenbridge_docker_image_force_pull', 'new': 'matrix_heisenbridge_container_image_force_pull'}
|
||||
- {'old': 'matrix_heisenbridge_docker_image_registry_prefix', 'new': 'matrix_heisenbridge_container_image_registry_prefix'}
|
||||
- {'old': 'matrix_heisenbridge_docker_image_registry_prefix_upstream', 'new': 'matrix_heisenbridge_container_image_registry_prefix_upstream'}
|
||||
- {'old': 'matrix_heisenbridge_docker_image_registry_prefix_upstream_default', 'new': 'matrix_heisenbridge_container_image_registry_prefix_upstream_default'}
|
||||
|
||||
|
||||
- name: Fail if required Heisenbridge settings not defined
|
||||
ansible.builtin.fail:
|
||||
msg: >-
|
||||
|
||||
@@ -31,7 +31,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
|
||||
{% for arg in matrix_heisenbridge_container_extra_arguments %}
|
||||
{{ arg }} \
|
||||
{% endfor %}
|
||||
{{ matrix_heisenbridge_docker_image }} \
|
||||
{{ matrix_heisenbridge_container_image }} \
|
||||
{% if matrix_heisenbridge_identd_enabled %}
|
||||
--identd \
|
||||
--identd-port 13113 \
|
||||
|
||||
@@ -31,15 +31,15 @@ matrix_hookshot_container_additional_networks_custom: []
|
||||
# renovate: datasource=docker depName=halfshot/matrix-hookshot
|
||||
matrix_hookshot_version: 7.3.2
|
||||
|
||||
matrix_hookshot_docker_image: "{{ matrix_hookshot_docker_image_registry_prefix }}matrix-org/matrix-hookshot:{{ matrix_hookshot_version }}"
|
||||
matrix_hookshot_docker_image_registry_prefix: "{{ 'localhost/' if matrix_hookshot_container_image_self_build else matrix_hookshot_docker_image_registry_prefix_upstream }}"
|
||||
matrix_hookshot_docker_image_registry_prefix_upstream: "{{ matrix_hookshot_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_hookshot_docker_image_registry_prefix_upstream_default: "ghcr.io/"
|
||||
matrix_hookshot_docker_image_force_pull: "{{ matrix_hookshot_docker_image.endswith(':latest') }}"
|
||||
matrix_hookshot_container_image: "{{ matrix_hookshot_container_image_registry_prefix }}matrix-org/matrix-hookshot:{{ matrix_hookshot_version }}"
|
||||
matrix_hookshot_container_image_registry_prefix: "{{ 'localhost/' if matrix_hookshot_container_image_self_build else matrix_hookshot_container_image_registry_prefix_upstream }}"
|
||||
matrix_hookshot_container_image_registry_prefix_upstream: "{{ matrix_hookshot_container_image_registry_prefix_upstream_default }}"
|
||||
matrix_hookshot_container_image_registry_prefix_upstream_default: "ghcr.io/"
|
||||
matrix_hookshot_container_image_force_pull: "{{ matrix_hookshot_container_image.endswith(':latest') }}"
|
||||
|
||||
matrix_hookshot_base_path: "{{ matrix_base_data_path }}/hookshot"
|
||||
|
||||
matrix_hookshot_docker_src_files_path: "{{ matrix_hookshot_base_path }}/docker-src"
|
||||
matrix_hookshot_container_src_files_path: "{{ matrix_hookshot_base_path }}/docker-src"
|
||||
|
||||
matrix_hookshot_homeserver_address: ""
|
||||
matrix_hookshot_container_url: 'matrix-hookshot'
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
--user={{ matrix_user_uid }}:{{ matrix_user_gid }}
|
||||
--cap-drop=ALL
|
||||
--mount type=bind,src={{ matrix_hookshot_base_path }},dst=/data
|
||||
{{ matrix_hookshot_docker_image }}
|
||||
{{ matrix_hookshot_container_image }}
|
||||
node --require source-map-support/register /usr/bin/matrix-hookshot/App/ResetCryptoStore.js
|
||||
changed_when: true
|
||||
|
||||
|
||||
@@ -25,15 +25,15 @@
|
||||
group: "{{ matrix_group_name }}"
|
||||
with_items:
|
||||
- {path: "{{ matrix_hookshot_base_path }}", when: true}
|
||||
- {path: "{{ matrix_hookshot_docker_src_files_path }}", when: "{{ matrix_hookshot_container_image_self_build }}"}
|
||||
- {path: "{{ matrix_hookshot_container_src_files_path }}", when: "{{ matrix_hookshot_container_image_self_build }}"}
|
||||
when: item.when | bool
|
||||
|
||||
- name: Ensure hookshot image is pulled
|
||||
community.docker.docker_image:
|
||||
name: "{{ matrix_hookshot_docker_image }}"
|
||||
name: "{{ matrix_hookshot_container_image }}"
|
||||
source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}"
|
||||
force_source: "{{ matrix_hookshot_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
|
||||
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_hookshot_docker_image_force_pull }}"
|
||||
force_source: "{{ matrix_hookshot_container_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
|
||||
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_hookshot_container_image_force_pull }}"
|
||||
when: not matrix_hookshot_container_image_self_build
|
||||
register: matrix_hookshot_container_image_pull_result
|
||||
retries: "{{ devture_playbook_help_container_retries_count }}"
|
||||
@@ -43,7 +43,7 @@
|
||||
- name: Ensure hookshot repository is present on self-build
|
||||
ansible.builtin.git:
|
||||
repo: "{{ matrix_hookshot_container_image_self_build_repo }}"
|
||||
dest: "{{ matrix_hookshot_docker_src_files_path }}"
|
||||
dest: "{{ matrix_hookshot_container_src_files_path }}"
|
||||
version: "{{ matrix_hookshot_container_image_self_build_branch }}"
|
||||
force: "yes"
|
||||
become: true
|
||||
@@ -53,13 +53,13 @@
|
||||
|
||||
- name: Ensure hookshot Docker image is built
|
||||
community.docker.docker_image:
|
||||
name: "{{ matrix_hookshot_docker_image }}"
|
||||
name: "{{ matrix_hookshot_container_image }}"
|
||||
source: build
|
||||
force_source: "{{ matrix_hookshot_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_hookshot_git_pull_results.changed }}"
|
||||
build:
|
||||
dockerfile: Dockerfile
|
||||
path: "{{ matrix_hookshot_docker_src_files_path }}"
|
||||
path: "{{ matrix_hookshot_container_src_files_path }}"
|
||||
pull: true
|
||||
when: "matrix_hookshot_container_image_self_build | bool"
|
||||
|
||||
@@ -94,7 +94,7 @@
|
||||
--user={{ matrix_user_uid }}:{{ matrix_user_gid }}
|
||||
--cap-drop=ALL
|
||||
--mount type=bind,src={{ matrix_hookshot_base_path }}/config.yml,dst=/config.yml,ro
|
||||
{{ matrix_hookshot_docker_image }} node config/Config.js /config.yml
|
||||
{{ matrix_hookshot_container_image }} node config/Config.js /config.yml
|
||||
register: hookshot_config_validation_result
|
||||
changed_when: false
|
||||
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
- {'old': 'matrix_hookshot_queue_host', 'new': 'matrix_hookshot_cache_redis_host'}
|
||||
- {'old': 'matrix_hookshot_queue_port', 'new': 'matrix_hookshot_cache_redis_port'}
|
||||
- {'old': 'matrix_hookshot_experimental_encryption_enabled', 'new': 'matrix_hookshot_encryption_enabled'}
|
||||
- {'old': 'matrix_hookshot_docker_image_name_prefix', 'new': 'matrix_hookshot_docker_image_registry_prefix'}
|
||||
- {'old': 'matrix_hookshot_docker_image_name_prefix', 'new': 'matrix_hookshot_container_image_registry_prefix'}
|
||||
- {'old': 'matrix_hookshot_provisioning_enabled', 'new': '<removed - see https://github.com/matrix-org/matrix-hookshot/pull/931 and the `matrix_hookshot_widgets_*` variables>'}
|
||||
- {'old': 'matrix_hookshot_provisioning_port', 'new': '<removed - see https://github.com/matrix-org/matrix-hookshot/pull/931 and the `matrix_hookshot_widgets_*` variables>'}
|
||||
- {'old': 'matrix_hookshot_provisioning_secret', 'new': '<removed - see https://github.com/matrix-org/matrix-hookshot/pull/931 and the `matrix_hookshot_widgets_*` variables>'}
|
||||
@@ -46,6 +46,12 @@
|
||||
- {'old': 'matrix_hookshot_provisioning_hostname', 'new': '<removed - see https://github.com/matrix-org/matrix-hookshot/pull/931 and the `matrix_hookshot_widgets_*` variables>'}
|
||||
- {'old': 'matrix_hookshot_provisioning_endpoint', 'new': '<removed - see https://github.com/matrix-org/matrix-hookshot/pull/931 and the `matrix_hookshot_widgets_*` variables>'}
|
||||
- {'old': 'matrix_hookshot_container_labels_provisioning_enabled', 'new': '<removed - see https://github.com/matrix-org/matrix-hookshot/pull/931 and the `matrix_hookshot_widgets_*` variables>'}
|
||||
- {'old': 'matrix_hookshot_docker_image', 'new': 'matrix_hookshot_container_image'}
|
||||
- {'old': 'matrix_hookshot_docker_image_force_pull', 'new': 'matrix_hookshot_container_image_force_pull'}
|
||||
- {'old': 'matrix_hookshot_docker_image_registry_prefix', 'new': 'matrix_hookshot_container_image_registry_prefix'}
|
||||
- {'old': 'matrix_hookshot_docker_image_registry_prefix_upstream', 'new': 'matrix_hookshot_container_image_registry_prefix_upstream'}
|
||||
- {'old': 'matrix_hookshot_docker_image_registry_prefix_upstream_default', 'new': 'matrix_hookshot_container_image_registry_prefix_upstream_default'}
|
||||
- {'old': 'matrix_hookshot_docker_src_files_path', 'new': 'matrix_hookshot_container_src_files_path'}
|
||||
|
||||
- name: Fail if required Hookshot settings not defined
|
||||
ansible.builtin.fail:
|
||||
|
||||
@@ -28,7 +28,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create --rm -
|
||||
{% for arg in matrix_hookshot_container_extra_arguments %}
|
||||
{{ arg }} \
|
||||
{% endfor %}
|
||||
{{ matrix_hookshot_docker_image }}
|
||||
{{ matrix_hookshot_container_image }}
|
||||
|
||||
{% for network in matrix_hookshot_container_additional_networks %}
|
||||
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network connect {{ network }} {{ matrix_hookshot_identifier }}
|
||||
|
||||
@@ -16,16 +16,16 @@ matrix_mautrix_bluesky_container_image_self_build_repo_version: "{{ 'master' if
|
||||
# renovate: datasource=docker depName=dock.mau.dev/mautrix/bluesky
|
||||
matrix_mautrix_bluesky_version: v0.2510.0
|
||||
# See: https://mau.dev/tulir/mautrix-bluesky/container_registry
|
||||
matrix_mautrix_bluesky_docker_image: "{{ matrix_mautrix_bluesky_docker_image_registry_prefix }}mautrix/bluesky:{{ matrix_mautrix_bluesky_version }}"
|
||||
matrix_mautrix_bluesky_docker_image_registry_prefix: "{{ 'localhost/' if matrix_mautrix_bluesky_container_image_self_build else matrix_mautrix_bluesky_docker_image_registry_prefix_upstream }}"
|
||||
matrix_mautrix_bluesky_docker_image_registry_prefix_upstream: "{{ matrix_mautrix_bluesky_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_mautrix_bluesky_docker_image_registry_prefix_upstream_default: "dock.mau.dev/"
|
||||
matrix_mautrix_bluesky_docker_image_force_pull: "{{ matrix_mautrix_bluesky_docker_image.endswith(':latest') }}"
|
||||
matrix_mautrix_bluesky_container_image: "{{ matrix_mautrix_bluesky_container_image_registry_prefix }}mautrix/bluesky:{{ matrix_mautrix_bluesky_version }}"
|
||||
matrix_mautrix_bluesky_container_image_registry_prefix: "{{ 'localhost/' if matrix_mautrix_bluesky_container_image_self_build else matrix_mautrix_bluesky_container_image_registry_prefix_upstream }}"
|
||||
matrix_mautrix_bluesky_container_image_registry_prefix_upstream: "{{ matrix_mautrix_bluesky_container_image_registry_prefix_upstream_default }}"
|
||||
matrix_mautrix_bluesky_container_image_registry_prefix_upstream_default: "dock.mau.dev/"
|
||||
matrix_mautrix_bluesky_container_image_force_pull: "{{ matrix_mautrix_bluesky_container_image.endswith(':latest') }}"
|
||||
|
||||
matrix_mautrix_bluesky_base_path: "{{ matrix_base_data_path }}/mautrix-bluesky"
|
||||
matrix_mautrix_bluesky_config_path: "{{ matrix_mautrix_bluesky_base_path }}/config"
|
||||
matrix_mautrix_bluesky_data_path: "{{ matrix_mautrix_bluesky_base_path }}/data"
|
||||
matrix_mautrix_bluesky_docker_src_files_path: "{{ matrix_mautrix_bluesky_base_path }}/docker-src"
|
||||
matrix_mautrix_bluesky_container_src_files_path: "{{ matrix_mautrix_bluesky_base_path }}/docker-src"
|
||||
|
||||
matrix_mautrix_bluesky_homeserver_address: ""
|
||||
# Whether asynchronous uploads via MSC2246 should be enabled for media.
|
||||
|
||||
@@ -9,10 +9,10 @@
|
||||
|
||||
- name: Ensure Mautrix Bluesky image is pulled
|
||||
community.docker.docker_image:
|
||||
name: "{{ matrix_mautrix_bluesky_docker_image }}"
|
||||
name: "{{ matrix_mautrix_bluesky_container_image }}"
|
||||
source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}"
|
||||
force_source: "{{ matrix_mautrix_bluesky_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
|
||||
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_mautrix_bluesky_docker_image_force_pull }}"
|
||||
force_source: "{{ matrix_mautrix_bluesky_container_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
|
||||
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_mautrix_bluesky_container_image_force_pull }}"
|
||||
when: matrix_mautrix_bluesky_enabled | bool and not matrix_mautrix_bluesky_container_image_self_build
|
||||
register: matrix_mautrix_bluesky_container_image_pull_result
|
||||
retries: "{{ devture_playbook_help_container_retries_count }}"
|
||||
@@ -30,14 +30,14 @@
|
||||
- {path: "{{ matrix_mautrix_bluesky_base_path }}", when: true}
|
||||
- {path: "{{ matrix_mautrix_bluesky_config_path }}", when: true}
|
||||
- {path: "{{ matrix_mautrix_bluesky_data_path }}", when: true}
|
||||
- {path: "{{ matrix_mautrix_bluesky_docker_src_files_path }}", when: "{{ matrix_mautrix_bluesky_container_image_self_build }}"}
|
||||
- {path: "{{ matrix_mautrix_bluesky_container_src_files_path }}", when: "{{ matrix_mautrix_bluesky_container_image_self_build }}"}
|
||||
when: item.when | bool
|
||||
|
||||
- name: Ensure Mautrix Bluesky repository is present on self-build
|
||||
ansible.builtin.git:
|
||||
repo: "{{ matrix_mautrix_bluesky_container_image_self_build_repo }}"
|
||||
version: "{{ matrix_mautrix_bluesky_container_image_self_build_repo_version }}"
|
||||
dest: "{{ matrix_mautrix_bluesky_docker_src_files_path }}"
|
||||
dest: "{{ matrix_mautrix_bluesky_container_src_files_path }}"
|
||||
force: "yes"
|
||||
become: true
|
||||
become_user: "{{ matrix_user_name }}"
|
||||
@@ -46,12 +46,12 @@
|
||||
|
||||
- name: Ensure Mautrix Bluesky Docker image is built
|
||||
community.docker.docker_image:
|
||||
name: "{{ matrix_mautrix_bluesky_docker_image }}"
|
||||
name: "{{ matrix_mautrix_bluesky_container_image }}"
|
||||
source: build
|
||||
force_source: "{{ matrix_mautrix_bluesky_git_pull_results.changed }}"
|
||||
build:
|
||||
dockerfile: Dockerfile
|
||||
path: "{{ matrix_mautrix_bluesky_docker_src_files_path }}"
|
||||
path: "{{ matrix_mautrix_bluesky_container_src_files_path }}"
|
||||
pull: true
|
||||
when: "matrix_mautrix_bluesky_enabled | bool and matrix_mautrix_bluesky_container_image_self_build | bool"
|
||||
|
||||
|
||||
@@ -6,6 +6,21 @@
|
||||
|
||||
---
|
||||
|
||||
- name: (Deprecation) Catch and report renamed mautrix-bluesky variables
|
||||
ansible.builtin.fail:
|
||||
msg: >-
|
||||
Your configuration contains a variable, which now has a different name.
|
||||
Please 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_mautrix_bluesky_docker_image_name_prefix', 'new': 'matrix_mautrix_bluesky_container_image_registry_prefix'}
|
||||
- {'old': 'matrix_mautrix_bluesky_docker_image', 'new': 'matrix_mautrix_bluesky_container_image'}
|
||||
- {'old': 'matrix_mautrix_bluesky_docker_image_force_pull', 'new': 'matrix_mautrix_bluesky_container_image_force_pull'}
|
||||
- {'old': 'matrix_mautrix_bluesky_docker_image_registry_prefix', 'new': 'matrix_mautrix_bluesky_container_image_registry_prefix'}
|
||||
- {'old': 'matrix_mautrix_bluesky_docker_image_registry_prefix_upstream', 'new': 'matrix_mautrix_bluesky_container_image_registry_prefix_upstream'}
|
||||
- {'old': 'matrix_mautrix_bluesky_docker_image_registry_prefix_upstream_default', 'new': 'matrix_mautrix_bluesky_container_image_registry_prefix_upstream_default'}
|
||||
- {'old': 'matrix_mautrix_bluesky_docker_src_files_path', 'new': 'matrix_mautrix_bluesky_container_src_files_path'}
|
||||
|
||||
- name: Fail if required mautrix-bluesky settings not defined
|
||||
ansible.builtin.fail:
|
||||
msg: >-
|
||||
@@ -19,12 +34,3 @@
|
||||
- {'name': 'matrix_mautrix_bluesky_container_network', when: true}
|
||||
- {'name': 'matrix_mautrix_bluesky_metrics_proxying_hostname', when: "{{ matrix_mautrix_bluesky_metrics_proxying_enabled }}"}
|
||||
- {'name': 'matrix_mautrix_bluesky_metrics_proxying_path_prefix', when: "{{ matrix_mautrix_bluesky_metrics_proxying_enabled }}"}
|
||||
|
||||
- name: (Deprecation) Catch and report renamed mautrix-bluesky variables
|
||||
ansible.builtin.fail:
|
||||
msg: >-
|
||||
Your configuration contains a variable, which now has a different name.
|
||||
Please 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_mautrix_bluesky_docker_image_name_prefix', 'new': 'matrix_mautrix_bluesky_docker_image_registry_prefix'}
|
||||
|
||||
@@ -29,7 +29,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
|
||||
{% for arg in matrix_mautrix_bluesky_container_extra_arguments %}
|
||||
{{ arg }} \
|
||||
{% endfor %}
|
||||
{{ matrix_mautrix_bluesky_docker_image }} \
|
||||
{{ matrix_mautrix_bluesky_container_image }} \
|
||||
/usr/bin/mautrix-bluesky -c /config/config.yaml -r /config/registration.yaml --no-update
|
||||
|
||||
{% for network in matrix_mautrix_bluesky_container_additional_networks %}
|
||||
|
||||
@@ -24,16 +24,16 @@ matrix_mautrix_discord_container_image_self_build_branch: "{{ 'main' if matrix_m
|
||||
matrix_mautrix_discord_version: v0.7.6
|
||||
|
||||
# See: https://mau.dev/mautrix/discord/container_registry
|
||||
matrix_mautrix_discord_docker_image: "{{ matrix_mautrix_discord_docker_image_registry_prefix }}mautrix/discord:{{ matrix_mautrix_discord_version }}"
|
||||
matrix_mautrix_discord_docker_image_registry_prefix: "{{ 'localhost/' if matrix_mautrix_discord_container_image_self_build else matrix_mautrix_discord_docker_image_registry_prefix_upstream }}"
|
||||
matrix_mautrix_discord_docker_image_registry_prefix_upstream: "{{ matrix_mautrix_discord_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_mautrix_discord_docker_image_registry_prefix_upstream_default: "dock.mau.dev/"
|
||||
matrix_mautrix_discord_docker_image_force_pull: "{{ matrix_mautrix_discord_docker_image.endswith(':latest') }}"
|
||||
matrix_mautrix_discord_container_image: "{{ matrix_mautrix_discord_container_image_registry_prefix }}mautrix/discord:{{ matrix_mautrix_discord_version }}"
|
||||
matrix_mautrix_discord_container_image_registry_prefix: "{{ 'localhost/' if matrix_mautrix_discord_container_image_self_build else matrix_mautrix_discord_container_image_registry_prefix_upstream }}"
|
||||
matrix_mautrix_discord_container_image_registry_prefix_upstream: "{{ matrix_mautrix_discord_container_image_registry_prefix_upstream_default }}"
|
||||
matrix_mautrix_discord_container_image_registry_prefix_upstream_default: "dock.mau.dev/"
|
||||
matrix_mautrix_discord_container_image_force_pull: "{{ matrix_mautrix_discord_container_image.endswith(':latest') }}"
|
||||
|
||||
matrix_mautrix_discord_base_path: "{{ matrix_base_data_path }}/mautrix-discord"
|
||||
matrix_mautrix_discord_config_path: "{{ matrix_mautrix_discord_base_path }}/config"
|
||||
matrix_mautrix_discord_data_path: "{{ matrix_mautrix_discord_base_path }}/data"
|
||||
matrix_mautrix_discord_docker_src_files_path: "{{ matrix_mautrix_discord_base_path }}/docker-src"
|
||||
matrix_mautrix_discord_container_src_files_path: "{{ matrix_mautrix_discord_base_path }}/docker-src"
|
||||
|
||||
matrix_mautrix_discord_homeserver_address: ""
|
||||
# Whether asynchronous uploads via MSC2246 should be enabled for media.
|
||||
|
||||
@@ -46,15 +46,15 @@
|
||||
- {path: "{{ matrix_mautrix_discord_base_path }}", when: true}
|
||||
- {path: "{{ matrix_mautrix_discord_config_path }}", when: true}
|
||||
- {path: "{{ matrix_mautrix_discord_data_path }}", when: true}
|
||||
- {path: "{{ matrix_mautrix_discord_docker_src_files_path }}", when: "{{ matrix_mautrix_discord_container_image_self_build }}"}
|
||||
- {path: "{{ matrix_mautrix_discord_container_src_files_path }}", when: "{{ matrix_mautrix_discord_container_image_self_build }}"}
|
||||
when: item.when | bool
|
||||
|
||||
- name: Ensure Mautrix Discord image is pulled
|
||||
community.docker.docker_image:
|
||||
name: "{{ matrix_mautrix_discord_docker_image }}"
|
||||
name: "{{ matrix_mautrix_discord_container_image }}"
|
||||
source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}"
|
||||
force_source: "{{ matrix_mautrix_discord_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
|
||||
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_mautrix_discord_docker_image_force_pull }}"
|
||||
force_source: "{{ matrix_mautrix_discord_container_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
|
||||
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_mautrix_discord_container_image_force_pull }}"
|
||||
when: not matrix_mautrix_discord_container_image_self_build
|
||||
register: matrix_mautrix_discord_container_image_pull_result
|
||||
retries: "{{ devture_playbook_help_container_retries_count }}"
|
||||
@@ -64,7 +64,7 @@
|
||||
- name: Ensure Mautrix discord repository is present on self-build
|
||||
ansible.builtin.git:
|
||||
repo: "{{ matrix_mautrix_discord_container_image_self_build_repo }}"
|
||||
dest: "{{ matrix_mautrix_discord_docker_src_files_path }}"
|
||||
dest: "{{ matrix_mautrix_discord_container_src_files_path }}"
|
||||
version: "{{ matrix_mautrix_discord_container_image_self_build_branch }}"
|
||||
force: "yes"
|
||||
become: true
|
||||
@@ -74,13 +74,13 @@
|
||||
|
||||
- name: Ensure Mautrix discord Docker image is built
|
||||
community.docker.docker_image:
|
||||
name: "{{ matrix_mautrix_discord_docker_image }}"
|
||||
name: "{{ matrix_mautrix_discord_container_image }}"
|
||||
source: build
|
||||
force_source: "{{ matrix_mautrix_discord_git_pull_results.changed if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
|
||||
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_mautrix_discord_git_pull_results.changed }}"
|
||||
build:
|
||||
dockerfile: Dockerfile
|
||||
path: "{{ matrix_mautrix_discord_docker_src_files_path }}"
|
||||
path: "{{ matrix_mautrix_discord_container_src_files_path }}"
|
||||
pull: true
|
||||
when: "matrix_mautrix_discord_container_image_self_build | bool"
|
||||
|
||||
|
||||
@@ -6,6 +6,24 @@
|
||||
|
||||
---
|
||||
|
||||
- name: (Deprecation) Catch and report renamed mautrix-discord 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_mautrix_discord_login_shared_secret', 'new': '<removed>'}
|
||||
- {'old': 'matrix_mautrix_discord_homeserver_public_address', 'new': 'matrix_mautrix_discord_bridge_public_address'}
|
||||
- {'old': 'matrix_mautrix_discord_command_prefix', 'new': 'matrix_mautrix_discord_bridge_command_prefix'}
|
||||
- {'old': 'matrix_mautrix_discord_docker_image_name_prefix', 'new': 'matrix_mautrix_discord_container_image_registry_prefix'}
|
||||
- {'old': 'matrix_mautrix_discord_docker_image', 'new': 'matrix_mautrix_discord_container_image'}
|
||||
- {'old': 'matrix_mautrix_discord_docker_image_force_pull', 'new': 'matrix_mautrix_discord_container_image_force_pull'}
|
||||
- {'old': 'matrix_mautrix_discord_docker_image_registry_prefix', 'new': 'matrix_mautrix_discord_container_image_registry_prefix'}
|
||||
- {'old': 'matrix_mautrix_discord_docker_image_registry_prefix_upstream', 'new': 'matrix_mautrix_discord_container_image_registry_prefix_upstream'}
|
||||
- {'old': 'matrix_mautrix_discord_docker_image_registry_prefix_upstream_default', 'new': 'matrix_mautrix_discord_container_image_registry_prefix_upstream_default'}
|
||||
- {'old': 'matrix_mautrix_discord_docker_src_files_path', 'new': 'matrix_mautrix_discord_container_src_files_path'}
|
||||
|
||||
- name: Fail if required mautrix-discord settings not defined
|
||||
ansible.builtin.fail:
|
||||
msg: >-
|
||||
@@ -20,15 +38,3 @@
|
||||
- {'name': 'matrix_mautrix_discord_database_hostname', when: "{{ matrix_mautrix_discord_database_engine == 'postgres' }}"}
|
||||
- {'name': 'matrix_mautrix_discord_container_labels_avatar_proxy_hostname', when: "{{ matrix_mautrix_discord_container_labels_avatar_proxy_enabled }}"}
|
||||
- {'name': 'matrix_mautrix_discord_container_labels_avatar_proxy_path_prefix', when: "{{ matrix_mautrix_discord_container_labels_avatar_proxy_enabled }}"}
|
||||
|
||||
- name: (Deprecation) Catch and report renamed mautrix-discord 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_mautrix_discord_login_shared_secret', 'new': '<removed>'}
|
||||
- {'old': 'matrix_mautrix_discord_homeserver_public_address', 'new': 'matrix_mautrix_discord_bridge_public_address'}
|
||||
- {'old': 'matrix_mautrix_discord_command_prefix', 'new': 'matrix_mautrix_discord_bridge_command_prefix'}
|
||||
- {'old': 'matrix_mautrix_discord_docker_image_name_prefix', 'new': 'matrix_mautrix_discord_docker_image_registry_prefix'}
|
||||
|
||||
@@ -30,7 +30,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
|
||||
{% for arg in matrix_mautrix_discord_container_extra_arguments %}
|
||||
{{ arg }} \
|
||||
{% endfor %}
|
||||
{{ matrix_mautrix_discord_docker_image }} \
|
||||
{{ matrix_mautrix_discord_container_image }} \
|
||||
/usr/bin/mautrix-discord -c /config/config.yaml -r /config/registration.yaml --no-update
|
||||
|
||||
{% for network in matrix_mautrix_discord_container_additional_networks %}
|
||||
|
||||
@@ -21,16 +21,16 @@ matrix_mautrix_gmessages_container_image_self_build_branch: "{{ 'main' if matrix
|
||||
matrix_mautrix_gmessages_version: v0.2602.0
|
||||
|
||||
# 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_registry_prefix: "{{ 'localhost/' if matrix_mautrix_gmessages_container_image_self_build else matrix_mautrix_gmessages_docker_image_registry_prefix_upstream }}"
|
||||
matrix_mautrix_gmessages_docker_image_registry_prefix_upstream: "{{ matrix_mautrix_gmessages_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_mautrix_gmessages_docker_image_registry_prefix_upstream_default: "dock.mau.dev/"
|
||||
matrix_mautrix_gmessages_docker_image_force_pull: "{{ matrix_mautrix_gmessages_docker_image.endswith(':latest') }}"
|
||||
matrix_mautrix_gmessages_container_image: "{{ matrix_mautrix_gmessages_container_image_registry_prefix }}mautrix/gmessages:{{ matrix_mautrix_gmessages_version }}"
|
||||
matrix_mautrix_gmessages_container_image_registry_prefix: "{{ 'localhost/' if matrix_mautrix_gmessages_container_image_self_build else matrix_mautrix_gmessages_container_image_registry_prefix_upstream }}"
|
||||
matrix_mautrix_gmessages_container_image_registry_prefix_upstream: "{{ matrix_mautrix_gmessages_container_image_registry_prefix_upstream_default }}"
|
||||
matrix_mautrix_gmessages_container_image_registry_prefix_upstream_default: "dock.mau.dev/"
|
||||
matrix_mautrix_gmessages_container_image_force_pull: "{{ matrix_mautrix_gmessages_container_image.endswith(':latest') }}"
|
||||
|
||||
matrix_mautrix_gmessages_base_path: "{{ matrix_base_data_path }}/mautrix-gmessages"
|
||||
matrix_mautrix_gmessages_config_path: "{{ matrix_mautrix_gmessages_base_path }}/config"
|
||||
matrix_mautrix_gmessages_data_path: "{{ matrix_mautrix_gmessages_base_path }}/data"
|
||||
matrix_mautrix_gmessages_docker_src_files_path: "{{ matrix_mautrix_gmessages_base_path }}/docker-src"
|
||||
matrix_mautrix_gmessages_container_src_files_path: "{{ matrix_mautrix_gmessages_base_path }}/docker-src"
|
||||
|
||||
matrix_mautrix_gmessages_homeserver_address: ""
|
||||
# Whether asynchronous uploads via MSC2246 should be enabled for media.
|
||||
|
||||
@@ -46,15 +46,15 @@
|
||||
- {path: "{{ matrix_mautrix_gmessages_base_path }}", when: true}
|
||||
- {path: "{{ matrix_mautrix_gmessages_config_path }}", when: true}
|
||||
- {path: "{{ matrix_mautrix_gmessages_data_path }}", when: true}
|
||||
- {path: "{{ matrix_mautrix_gmessages_docker_src_files_path }}", when: "{{ matrix_mautrix_gmessages_container_image_self_build }}"}
|
||||
- {path: "{{ matrix_mautrix_gmessages_container_src_files_path }}", when: "{{ matrix_mautrix_gmessages_container_image_self_build }}"}
|
||||
when: item.when | bool
|
||||
|
||||
- name: Ensure Mautrix gmessages image is pulled
|
||||
community.docker.docker_image:
|
||||
name: "{{ matrix_mautrix_gmessages_docker_image }}"
|
||||
name: "{{ matrix_mautrix_gmessages_container_image }}"
|
||||
source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}"
|
||||
force_source: "{{ matrix_mautrix_gmessages_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
|
||||
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_mautrix_gmessages_docker_image_force_pull }}"
|
||||
force_source: "{{ matrix_mautrix_gmessages_container_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
|
||||
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_mautrix_gmessages_container_image_force_pull }}"
|
||||
when: not matrix_mautrix_gmessages_container_image_self_build
|
||||
register: matrix_mautrix_gmessages_container_image_pull_result
|
||||
retries: "{{ devture_playbook_help_container_retries_count }}"
|
||||
@@ -64,7 +64,7 @@
|
||||
- name: Ensure Mautrix gmessages repository is present on self-build
|
||||
ansible.builtin.git:
|
||||
repo: "{{ matrix_mautrix_gmessages_container_image_self_build_repo }}"
|
||||
dest: "{{ matrix_mautrix_gmessages_docker_src_files_path }}"
|
||||
dest: "{{ matrix_mautrix_gmessages_container_src_files_path }}"
|
||||
version: "{{ matrix_mautrix_gmessages_container_image_self_build_branch }}"
|
||||
force: "yes"
|
||||
become: true
|
||||
@@ -74,13 +74,13 @@
|
||||
|
||||
- name: Ensure Mautrix gmessages Docker image is built
|
||||
community.docker.docker_image:
|
||||
name: "{{ matrix_mautrix_gmessages_docker_image }}"
|
||||
name: "{{ matrix_mautrix_gmessages_container_image }}"
|
||||
source: build
|
||||
force_source: "{{ matrix_mautrix_gmessages_git_pull_results.changed if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
|
||||
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_mautrix_gmessages_git_pull_results.changed }}"
|
||||
build:
|
||||
dockerfile: Dockerfile
|
||||
path: "{{ matrix_mautrix_gmessages_docker_src_files_path }}"
|
||||
path: "{{ matrix_mautrix_gmessages_container_src_files_path }}"
|
||||
pull: true
|
||||
when: "matrix_mautrix_gmessages_container_image_self_build | bool"
|
||||
|
||||
|
||||
@@ -6,6 +6,25 @@
|
||||
|
||||
---
|
||||
|
||||
- name: (Deprecation) Catch and report renamed 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_mautrix_gmessages_log_level', 'new': 'matrix_mautrix_gmessages_logging_level'}
|
||||
- {'old': 'matrix_mautrix_gmessages_bridge_mute_bridging', 'new': '<removed>'}
|
||||
- {'old': 'matrix_mautrix_gmessages_login_shared_secret', 'new': '<removed>'}
|
||||
- {'old': 'matrix_mautrix_gmessages_bridge_login_shared_secret_map', 'new': 'matrix_mautrix_gmessages_double_puppet_secrets_custom'}
|
||||
- {'old': 'matrix_mautrix_gmessages_docker_image_name_prefix', 'new': 'matrix_mautrix_gmessages_container_image_registry_prefix'}
|
||||
- {'old': 'matrix_mautrix_gmessages_docker_image', 'new': 'matrix_mautrix_gmessages_container_image'}
|
||||
- {'old': 'matrix_mautrix_gmessages_docker_image_force_pull', 'new': 'matrix_mautrix_gmessages_container_image_force_pull'}
|
||||
- {'old': 'matrix_mautrix_gmessages_docker_image_registry_prefix', 'new': 'matrix_mautrix_gmessages_container_image_registry_prefix'}
|
||||
- {'old': 'matrix_mautrix_gmessages_docker_image_registry_prefix_upstream', 'new': 'matrix_mautrix_gmessages_container_image_registry_prefix_upstream'}
|
||||
- {'old': 'matrix_mautrix_gmessages_docker_image_registry_prefix_upstream_default', 'new': 'matrix_mautrix_gmessages_container_image_registry_prefix_upstream_default'}
|
||||
- {'old': 'matrix_mautrix_gmessages_docker_src_files_path', 'new': 'matrix_mautrix_gmessages_container_src_files_path'}
|
||||
|
||||
- name: Fail if required mautrix-gmessages settings not defined
|
||||
ansible.builtin.fail:
|
||||
msg: >-
|
||||
@@ -19,16 +38,3 @@
|
||||
- {'name': 'matrix_mautrix_gmessages_metrics_proxying_hostname', when: "{{ matrix_mautrix_gmessages_metrics_proxying_enabled }}"}
|
||||
- {'name': 'matrix_mautrix_gmessages_metrics_proxying_path_prefix', when: "{{ matrix_mautrix_gmessages_metrics_proxying_enabled }}"}
|
||||
- {'name': 'matrix_mautrix_gmessages_container_network', when: true}
|
||||
|
||||
- name: (Deprecation) Catch and report renamed 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_mautrix_gmessages_log_level', 'new': 'matrix_mautrix_gmessages_logging_level'}
|
||||
- {'old': 'matrix_mautrix_gmessages_bridge_mute_bridging', 'new': '<removed>'}
|
||||
- {'old': 'matrix_mautrix_gmessages_login_shared_secret', 'new': '<removed>'}
|
||||
- {'old': 'matrix_mautrix_gmessages_bridge_login_shared_secret_map', 'new': 'matrix_mautrix_gmessages_double_puppet_secrets_custom'}
|
||||
- {'old': 'matrix_mautrix_gmessages_docker_image_name_prefix', 'new': 'matrix_mautrix_gmessages_docker_image_registry_prefix'}
|
||||
|
||||
@@ -30,7 +30,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
|
||||
{% for arg in matrix_mautrix_gmessages_container_extra_arguments %}
|
||||
{{ arg }} \
|
||||
{% endfor %}
|
||||
{{ matrix_mautrix_gmessages_docker_image }} \
|
||||
{{ matrix_mautrix_gmessages_container_image }} \
|
||||
/usr/bin/mautrix-gmessages -c /config/config.yaml -r /config/registration.yaml --no-update
|
||||
|
||||
{% for network in matrix_mautrix_gmessages_container_additional_networks %}
|
||||
|
||||
@@ -22,16 +22,16 @@ matrix_mautrix_googlechat_container_image_self_build_repo_version: "{{ 'master'
|
||||
# renovate: datasource=docker depName=dock.mau.dev/mautrix/googlechat
|
||||
matrix_mautrix_googlechat_version: v0.5.2
|
||||
# See: https://mau.dev/mautrix/googlechat/container_registry
|
||||
matrix_mautrix_googlechat_docker_image: "{{ matrix_mautrix_googlechat_docker_image_registry_prefix }}mautrix/googlechat:{{ matrix_mautrix_googlechat_version }}"
|
||||
matrix_mautrix_googlechat_docker_image_registry_prefix: "{{ 'localhost/' if matrix_mautrix_googlechat_container_image_self_build else matrix_mautrix_googlechat_docker_image_registry_prefix_upstream }}"
|
||||
matrix_mautrix_googlechat_docker_image_registry_prefix_upstream: "{{ matrix_mautrix_googlechat_docker_image_registry_prefix_upstream_default }}"
|
||||
matrix_mautrix_googlechat_docker_image_registry_prefix_upstream_default: "dock.mau.dev/"
|
||||
matrix_mautrix_googlechat_docker_image_force_pull: "{{ matrix_mautrix_googlechat_docker_image.endswith(':latest') }}"
|
||||
matrix_mautrix_googlechat_container_image: "{{ matrix_mautrix_googlechat_container_image_registry_prefix }}mautrix/googlechat:{{ matrix_mautrix_googlechat_version }}"
|
||||
matrix_mautrix_googlechat_container_image_registry_prefix: "{{ 'localhost/' if matrix_mautrix_googlechat_container_image_self_build else matrix_mautrix_googlechat_container_image_registry_prefix_upstream }}"
|
||||
matrix_mautrix_googlechat_container_image_registry_prefix_upstream: "{{ matrix_mautrix_googlechat_container_image_registry_prefix_upstream_default }}"
|
||||
matrix_mautrix_googlechat_container_image_registry_prefix_upstream_default: "dock.mau.dev/"
|
||||
matrix_mautrix_googlechat_container_image_force_pull: "{{ matrix_mautrix_googlechat_container_image.endswith(':latest') }}"
|
||||
|
||||
matrix_mautrix_googlechat_base_path: "{{ matrix_base_data_path }}/mautrix-googlechat"
|
||||
matrix_mautrix_googlechat_config_path: "{{ matrix_mautrix_googlechat_base_path }}/config"
|
||||
matrix_mautrix_googlechat_data_path: "{{ matrix_mautrix_googlechat_base_path }}/data"
|
||||
matrix_mautrix_googlechat_docker_src_files_path: "{{ matrix_mautrix_googlechat_base_path }}/docker-src"
|
||||
matrix_mautrix_googlechat_container_src_files_path: "{{ matrix_mautrix_googlechat_base_path }}/docker-src"
|
||||
|
||||
matrix_mautrix_googlechat_public_endpoint: '/mautrix-googlechat'
|
||||
|
||||
|
||||
@@ -39,10 +39,10 @@
|
||||
|
||||
- name: Ensure Mautrix googlechat image is pulled
|
||||
community.docker.docker_image:
|
||||
name: "{{ matrix_mautrix_googlechat_docker_image }}"
|
||||
name: "{{ matrix_mautrix_googlechat_container_image }}"
|
||||
source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}"
|
||||
force_source: "{{ matrix_mautrix_googlechat_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
|
||||
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_mautrix_googlechat_docker_image_force_pull }}"
|
||||
force_source: "{{ matrix_mautrix_googlechat_container_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
|
||||
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_mautrix_googlechat_container_image_force_pull }}"
|
||||
when: not matrix_mautrix_googlechat_container_image_self_build
|
||||
register: matrix_mautrix_googlechat_container_image_pull_result
|
||||
retries: "{{ devture_playbook_help_container_retries_count }}"
|
||||
@@ -60,14 +60,14 @@
|
||||
- {path: "{{ matrix_mautrix_googlechat_base_path }}", when: true}
|
||||
- {path: "{{ matrix_mautrix_googlechat_config_path }}", when: true}
|
||||
- {path: "{{ matrix_mautrix_googlechat_data_path }}", when: true}
|
||||
- {path: "{{ matrix_mautrix_googlechat_docker_src_files_path }}", when: "{{ matrix_mautrix_googlechat_container_image_self_build }}"}
|
||||
- {path: "{{ matrix_mautrix_googlechat_container_src_files_path }}", when: "{{ matrix_mautrix_googlechat_container_image_self_build }}"}
|
||||
when: "item.when | bool"
|
||||
|
||||
- name: Ensure Mautrix Hangots repository is present on self build
|
||||
ansible.builtin.git:
|
||||
repo: "{{ matrix_mautrix_googlechat_container_image_self_build_repo }}"
|
||||
version: "{{ matrix_mautrix_googlechat_container_image_self_build_repo_version }}"
|
||||
dest: "{{ matrix_mautrix_googlechat_docker_src_files_path }}"
|
||||
dest: "{{ matrix_mautrix_googlechat_container_src_files_path }}"
|
||||
force: "yes"
|
||||
become: true
|
||||
become_user: "{{ matrix_user_name }}"
|
||||
@@ -76,13 +76,13 @@
|
||||
|
||||
- name: Ensure Mautrix googlechat Docker image is built
|
||||
community.docker.docker_image:
|
||||
name: "{{ matrix_mautrix_googlechat_docker_image }}"
|
||||
name: "{{ matrix_mautrix_googlechat_container_image }}"
|
||||
source: build
|
||||
force_source: "{{ matrix_mautrix_googlechat_git_pull_results.changed if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
|
||||
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_mautrix_googlechat_git_pull_results.changed }}"
|
||||
build:
|
||||
dockerfile: Dockerfile
|
||||
path: "{{ matrix_mautrix_googlechat_docker_src_files_path }}"
|
||||
path: "{{ matrix_mautrix_googlechat_container_src_files_path }}"
|
||||
pull: true
|
||||
when: "matrix_mautrix_googlechat_container_image_self_build | bool"
|
||||
|
||||
|
||||
@@ -7,6 +7,21 @@
|
||||
|
||||
---
|
||||
|
||||
- name: (Deprecation) Catch and report renamed mautrix-googlechat variables
|
||||
ansible.builtin.fail:
|
||||
msg: >-
|
||||
Your configuration contains a variable, which now has a different name.
|
||||
Please 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_mautrix_googlechat_docker_image_name_prefix', 'new': 'matrix_mautrix_googlechat_container_image_registry_prefix'}
|
||||
- {'old': 'matrix_mautrix_googlechat_docker_image', 'new': 'matrix_mautrix_googlechat_container_image'}
|
||||
- {'old': 'matrix_mautrix_googlechat_docker_image_force_pull', 'new': 'matrix_mautrix_googlechat_container_image_force_pull'}
|
||||
- {'old': 'matrix_mautrix_googlechat_docker_image_registry_prefix', 'new': 'matrix_mautrix_googlechat_container_image_registry_prefix'}
|
||||
- {'old': 'matrix_mautrix_googlechat_docker_image_registry_prefix_upstream', 'new': 'matrix_mautrix_googlechat_container_image_registry_prefix_upstream'}
|
||||
- {'old': 'matrix_mautrix_googlechat_docker_image_registry_prefix_upstream_default', 'new': 'matrix_mautrix_googlechat_container_image_registry_prefix_upstream_default'}
|
||||
- {'old': 'matrix_mautrix_googlechat_docker_src_files_path', 'new': 'matrix_mautrix_googlechat_container_src_files_path'}
|
||||
|
||||
- name: Fail if required mautrix-googlechat settings not defined
|
||||
ansible.builtin.fail:
|
||||
msg: >-
|
||||
@@ -23,12 +38,3 @@
|
||||
- {'name': 'matrix_mautrix_googlechat_metrics_proxying_path_prefix', when: "{{ matrix_mautrix_googlechat_metrics_proxying_enabled }}"}
|
||||
- {'name': 'matrix_mautrix_googlechat_container_labels_public_endpoint_hostname', when: "{{ matrix_mautrix_googlechat_container_labels_public_endpoint_enabled }}"}
|
||||
- {'name': 'matrix_mautrix_googlechat_container_labels_public_endpoint_path_prefix', when: "{{ matrix_mautrix_googlechat_container_labels_public_endpoint_enabled }}"}
|
||||
|
||||
- name: (Deprecation) Catch and report renamed mautrix-googlechat variables
|
||||
ansible.builtin.fail:
|
||||
msg: >-
|
||||
Your configuration contains a variable, which now has a different name.
|
||||
Please 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_mautrix_googlechat_docker_image_name_prefix', 'new': 'matrix_mautrix_googlechat_docker_image_registry_prefix'}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user