mirror of
https://github.com/spantaleev/matrix-docker-ansible-deploy.git
synced 2026-01-27 23:23:16 +03:00
Compare commits
61 Commits
element-ca
...
adc2d85ec4
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
adc2d85ec4 | ||
|
|
7fb0bff47d | ||
|
|
37a7af52ab | ||
|
|
32ca5bf55c | ||
|
|
81b371e690 | ||
|
|
51e961ce9f | ||
|
|
3ee7deb2d7 | ||
|
|
9fc5cdab33 | ||
|
|
a59383fcc7 | ||
|
|
14aef55573 | ||
|
|
ffde4fcb80 | ||
|
|
71ce8f792d | ||
|
|
9476be0592 | ||
|
|
feaa656fde | ||
|
|
186d3dbd71 | ||
|
|
bcd50c8e08 | ||
|
|
1c39a67c0a | ||
|
|
5ea613a3f6 | ||
|
|
f0c48392fe | ||
|
|
3e1bc3ce59 | ||
|
|
46e587ee29 | ||
|
|
fd32960687 | ||
|
|
bd405c410a | ||
|
|
6383b1b37a | ||
|
|
41ac053912 | ||
|
|
98e4f369b7 | ||
|
|
dd2f8d1150 | ||
|
|
8a4eb88f0d | ||
|
|
74b8f78a7f | ||
|
|
2b50a0e6a0 | ||
|
|
202be672a4 | ||
|
|
57ea240060 | ||
|
|
b719c3c11a | ||
|
|
909bf8729e | ||
|
|
38c9f47bb0 | ||
|
|
69d6111354 | ||
|
|
80ac45e069 | ||
|
|
efb3072bc8 | ||
|
|
5c120397ab | ||
|
|
3f19344e9d | ||
|
|
f32633826a | ||
|
|
85d82eb1e4 | ||
|
|
5eb247b5bf | ||
|
|
6915c7de12 | ||
|
|
de10cb2239 | ||
|
|
d48867c07e | ||
|
|
ef156614ec | ||
|
|
c4da60c4e4 | ||
|
|
0d30d315e3 | ||
|
|
1317e5632a | ||
|
|
6ed5db1464 | ||
|
|
b35289cae8 | ||
|
|
222f877261 | ||
|
|
00cb1e5c0c | ||
|
|
e02dd74e3a | ||
|
|
08b68e93dc | ||
|
|
60b291f197 | ||
|
|
8378e6f164 | ||
|
|
40dd8f7785 | ||
|
|
761e6d4cd6 | ||
|
|
7cb33c5519 |
42
CHANGELOG.md
42
CHANGELOG.md
@@ -1,3 +1,45 @@
|
|||||||
|
# 2025-04-26
|
||||||
|
|
||||||
|
## Continuwuity support
|
||||||
|
|
||||||
|
Thanks to [Virkkunen](https://github.com/Virkkunen), we now have optional experimental [Continuwuity](./docs/configuring-playbook-continuwuity.md) homeserver support.
|
||||||
|
|
||||||
|
Continuwuity is a fork of [conduwuit](./docs/configuring-playbook-conduwuit.md), which the playbook also supports. It appears that conduwuit has been abandoned and various forks (like Continuwuity, [Tuwunel](https://github.com/matrix-construct/tuwunel) and possibly others) are continuing in its path.
|
||||||
|
|
||||||
|
Existing installations do **not** need to be updated. **Synapse is still the default homeserver implementation** installed by the playbook.
|
||||||
|
|
||||||
|
People that used to run conduwuit, may wish to:
|
||||||
|
|
||||||
|
- either [migrate from conduwuit to Continuwuity](./docs/configuring-playbook-continuwuity.md#migrating-from-conduwuit)
|
||||||
|
- or wait for some of the other forks to progress and for support for them to get added to the playbook
|
||||||
|
|
||||||
|
**The homeserver implementation of an existing server cannot be changed** (e.g. from Synapse/Conduit/Dendrite to Continuwuity) without data loss.
|
||||||
|
|
||||||
|
|
||||||
|
# 2025-04-09
|
||||||
|
|
||||||
|
## Element Call frontend installation is now optional
|
||||||
|
|
||||||
|
Because all Element clients (Element Web and Element X mobile) now embed and use their own Element Call frontend application (and not the one hosted via the playbook), it makes little sense for the playbook to self-host the Element Call frontend for you. Setting up the frontend requires an additional hostname (DNS setup) and it won't be used by Element clients anyway, so **we now recommend not installing the Element Call frontend**.
|
||||||
|
|
||||||
|
💡 A reason you may wish to continue installing the Element Call frontend (despite Matrix clients not making use of it), is if you need to use it standalone - directly via a browser (without a Matrix client).
|
||||||
|
|
||||||
|
The playbook now lets you [Decide between Element Call vs just the Matrix RTC stack](./docs/configuring-playbook-element-call.md#decide-between-element-call-vs-just-the-matrix-rtc-stack).
|
||||||
|
|
||||||
|
If you've already installed Element Call (via `matrix_element_call_enabled: true`), you can switch to installing just the [Matrix RTC (Real-Time Communication) stack](./docs/configuring-playbook-matrix-rtc.md) (all supporting services **without the Element Call frontend**) by:
|
||||||
|
|
||||||
|
1. Adjusting your `vars.yml` configuration like this:
|
||||||
|
|
||||||
|
```diff
|
||||||
|
-matrix_element_call_enabled: true
|
||||||
|
+matrix_rtc_enabled: true
|
||||||
|
```
|
||||||
|
|
||||||
|
2. [Re-running the playbook](./docs/installing.md) with the `setup-all` Ansible tag (e.g. `just setup-all`)
|
||||||
|
|
||||||
|
3. Getting rid of the `call.element.example.com` DNS record
|
||||||
|
|
||||||
|
|
||||||
# 2025-03-15
|
# 2025-03-15
|
||||||
|
|
||||||
## Element Call support
|
## Element Call support
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[](https://matrix.to/#/#matrix-docker-ansible-deploy:devture.com) [](https://liberapay.com/s.pantaleev/donate) [](https://api.reuse.software/info/github.com/spantaleev/matrix-docker-ansible-deploy)
|
[](https://matrix.to/#/#matrix-docker-ansible-deploy:devture.com) [](https://liberapay.com/s.pantaleev/donate) [](https://api.reuse.software/info/github.com/spantaleev/matrix-docker-ansible-deploy)
|
||||||
|
|
||||||
# Matrix (An open network for secure, decentralized communication) server setup using Ansible and Docker
|
# Matrix (An open network for secure, decentralized communication) server setup using Ansible and Docker
|
||||||
|
|
||||||
@@ -53,6 +53,7 @@ The homeserver is the backbone of your Matrix system. Choose one from the follow
|
|||||||
| [Synapse](https://github.com/element-hq/synapse) | ✅ | Storing your data and managing your presence in the [Matrix](http://matrix.org/) network | [Link](docs/configuring-playbook-synapse.md) |
|
| [Synapse](https://github.com/element-hq/synapse) | ✅ | Storing your data and managing your presence in the [Matrix](http://matrix.org/) network | [Link](docs/configuring-playbook-synapse.md) |
|
||||||
| [Conduit](https://conduit.rs) | ❌ | Storing your data and managing your presence in the [Matrix](http://matrix.org/) network. Conduit is a lightweight open-source server implementation of the Matrix Specification with a focus on easy setup and low system requirements | [Link](docs/configuring-playbook-conduit.md) |
|
| [Conduit](https://conduit.rs) | ❌ | Storing your data and managing your presence in the [Matrix](http://matrix.org/) network. Conduit is a lightweight open-source server implementation of the Matrix Specification with a focus on easy setup and low system requirements | [Link](docs/configuring-playbook-conduit.md) |
|
||||||
| [conduwuit](https://conduwuit.puppyirl.gay/) | ❌ | Storing your data and managing your presence in the [Matrix](http://matrix.org/) network. conduwuit is a fork of Conduit. | [Link](docs/configuring-playbook-conduwuit.md) |
|
| [conduwuit](https://conduwuit.puppyirl.gay/) | ❌ | Storing your data and managing your presence in the [Matrix](http://matrix.org/) network. conduwuit is a fork of Conduit. | [Link](docs/configuring-playbook-conduwuit.md) |
|
||||||
|
| [continuwuity](https://continuwuity.org) | ❌ | Storing your data and managing your presence in the [Matrix](http://matrix.org/) network. continuwuity is a continuation of conduwuit. | [Link](docs/configuring-playbook-continuwuity.md) |
|
||||||
| [Dendrite](https://github.com/element-hq/dendrite) | ❌ | Storing your data and managing your presence in the [Matrix](http://matrix.org/) network. Dendrite is a second-generation Matrix homeserver written in Go, an alternative to Synapse. | [Link](docs/configuring-playbook-dendrite.md) |
|
| [Dendrite](https://github.com/element-hq/dendrite) | ❌ | Storing your data and managing your presence in the [Matrix](http://matrix.org/) network. Dendrite is a second-generation Matrix homeserver written in Go, an alternative to Synapse. | [Link](docs/configuring-playbook-dendrite.md) |
|
||||||
|
|
||||||
### Clients
|
### Clients
|
||||||
|
|||||||
@@ -126,8 +126,8 @@ aux_file_definitions:
|
|||||||
- dest: "{{ matrix_hookshot_base_path }}/{{ matrix_hookshot_github_private_key_file }}"
|
- dest: "{{ matrix_hookshot_base_path }}/{{ matrix_hookshot_github_private_key_file }}"
|
||||||
content: "{{ lookup('file', '/path/to/your-github-private-key.pem') }}"
|
content: "{{ lookup('file', '/path/to/your-github-private-key.pem') }}"
|
||||||
mode: '0400'
|
mode: '0400'
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
```
|
```
|
||||||
|
|
||||||
For more information, see the documentation in the [default configuration of the aux role](https://github.com/mother-of-all-self-hosting/ansible-role-aux/blob/main/defaults/main.yml).
|
For more information, see the documentation in the [default configuration of the aux role](https://github.com/mother-of-all-self-hosting/ansible-role-aux/blob/main/defaults/main.yml).
|
||||||
|
|||||||
@@ -65,6 +65,7 @@ Find the `registration.yaml` in the `/matrix` directory, for example `/matrix/ma
|
|||||||
```
|
```
|
||||||
as_token: <token>
|
as_token: <token>
|
||||||
de.sorunome.msc2409.push_ephemeral: true
|
de.sorunome.msc2409.push_ephemeral: true
|
||||||
|
receive_ephemeral: true
|
||||||
hs_token: <token>
|
hs_token: <token>
|
||||||
id: signal
|
id: signal
|
||||||
namespaces:
|
namespaces:
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ By default, the playbook installs [Synapse](https://github.com/element-hq/synaps
|
|||||||
> [!WARNING]
|
> [!WARNING]
|
||||||
> - **You can't switch an existing Matrix server's implementation** (e.g. Synapse -> conduwuit). Proceed below only if you're OK with losing data or you're dealing with a server on a new domain name, which hasn't participated in the Matrix federation yet.
|
> - **You can't switch an existing Matrix server's implementation** (e.g. Synapse -> conduwuit). Proceed below only if you're OK with losing data or you're dealing with a server on a new domain name, which hasn't participated in the Matrix federation yet.
|
||||||
> - **Homeserver implementations other than Synapse may not be fully functional**. The playbook may also not assist you in an optimal way (like it does with Synapse). Make yourself familiar with the downsides before proceeding
|
> - **Homeserver implementations other than Synapse may not be fully functional**. The playbook may also not assist you in an optimal way (like it does with Synapse). Make yourself familiar with the downsides before proceeding
|
||||||
|
> - **the Conduwuit project appears to have been abandoned**. You may wish to install [Conduit](./configuring-playbook-conduit.md), or one of the Conduwuit successors (like [Continuwuity](configuring-playbook-continuwuity.md))
|
||||||
|
|
||||||
## Adjusting the playbook configuration
|
## Adjusting the playbook configuration
|
||||||
|
|
||||||
@@ -83,6 +84,7 @@ Then, send its content to the existing admin room:
|
|||||||
```
|
```
|
||||||
as_token: <token>
|
as_token: <token>
|
||||||
de.sorunome.msc2409.push_ephemeral: true
|
de.sorunome.msc2409.push_ephemeral: true
|
||||||
|
receive_ephemeral: true
|
||||||
hs_token: <token>
|
hs_token: <token>
|
||||||
id: signal
|
id: signal
|
||||||
namespaces:
|
namespaces:
|
||||||
|
|||||||
117
docs/configuring-playbook-continuwuity.md
Normal file
117
docs/configuring-playbook-continuwuity.md
Normal file
@@ -0,0 +1,117 @@
|
|||||||
|
<!--
|
||||||
|
SPDX-FileCopyrightText: 2025 Slavi Pantaleev
|
||||||
|
SPDX-FileCopyrightText: 2025 Suguru Hirahara
|
||||||
|
|
||||||
|
SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
|
-->
|
||||||
|
|
||||||
|
# Configuring Continuwuity (optional)
|
||||||
|
|
||||||
|
The playbook can install and configure the [Continuwuity](https://continuwuity.org) Matrix server for you.
|
||||||
|
|
||||||
|
See the project's [documentation](https://continuwuity.org) to learn what it does and why it might be useful to you.
|
||||||
|
|
||||||
|
By default, the playbook installs [Synapse](https://github.com/element-hq/synapse) as it's the only full-featured Matrix server at the moment. If that's okay, you can skip this document.
|
||||||
|
|
||||||
|
💡 **Note**: continuwuity is a fork of [conduwuit](./configuring-playbook-conduwuit.md), which the playbook also supports.
|
||||||
|
|
||||||
|
> [!WARNING]
|
||||||
|
> - **You can't switch an existing Matrix server's implementation** (e.g. Synapse -> Continuwuity). Proceed below only if you're OK with losing data or you're dealing with a server on a new domain name, which hasn't participated in the Matrix federation yet.
|
||||||
|
> - **Homeserver implementations other than Synapse may not be fully functional**. The playbook may also not assist you in an optimal way (like it does with Synapse). Make yourself familiar with the downsides before proceeding
|
||||||
|
|
||||||
|
## Adjusting the playbook configuration
|
||||||
|
|
||||||
|
To use Continuwuity, you **generally** need to adjust the `matrix_homeserver_implementation: synapse` configuration on your `inventory/host_vars/matrix.example.com/vars.yml` file as below:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
matrix_homeserver_implementation: continuwuity
|
||||||
|
|
||||||
|
# Registering users can only happen via the API,
|
||||||
|
# so it makes sense to enable it, at least initially.
|
||||||
|
matrix_continuwuity_config_allow_registration: true
|
||||||
|
|
||||||
|
# Generate a strong registration token to protect the registration endpoint from abuse.
|
||||||
|
# You can create one with a command like `pwgen -s 64 1`.
|
||||||
|
matrix_continuwuity_config_registration_token: ''
|
||||||
|
```
|
||||||
|
|
||||||
|
### Extending the configuration
|
||||||
|
|
||||||
|
There are some additional things you may wish to configure about the server.
|
||||||
|
|
||||||
|
Take a look at:
|
||||||
|
|
||||||
|
- `roles/custom/matrix-continuwuity/defaults/main.yml` for some variables that you can customize via your `vars.yml` file
|
||||||
|
- `roles/custom/matrix-continuwuity/templates/continuwuity.toml.j2` for the server's default configuration
|
||||||
|
|
||||||
|
There are various Ansible variables that control settings in the `continuwuity.toml` file.
|
||||||
|
|
||||||
|
If a specific setting you'd like to change does not have a dedicated Ansible variable, you can either submit a PR to us to add it, or you can [override the setting using an environment variable](https://continuwuity.org/configuration#environment-variables) using `matrix_continuwuity_environment_variables_extension`. For example:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
matrix_continuwuity_environment_variables_extension: |
|
||||||
|
continuwuity_MAX_REQUEST_SIZE=50000000
|
||||||
|
continuwuity_REQUEST_TIMEOUT=60
|
||||||
|
```
|
||||||
|
|
||||||
|
## Creating the first user account
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
The **first user account that you create will be marked as an admin** and **will be automatically invited to an admin room**.
|
||||||
|
|
||||||
|
|
||||||
|
## Configuring bridges / appservices
|
||||||
|
|
||||||
|
For other homeserver implementations (like Synapse and Dendrite), the playbook automatically registers appservices (for bridges, bots, etc.) with the homeserver.
|
||||||
|
|
||||||
|
For continuwuity, you will have to manually register appservices using the [`!admin appservices register` command](https://continuwuity.org/appservices.html#set-up-the-appservice---general-instructions) sent to the server bot account.
|
||||||
|
|
||||||
|
The server's bot account has a Matrix ID of `@conduit:example.com` (not `@continuwuity:example.com`!) due to continuwuity's historical legacy.
|
||||||
|
Your first user account would already have been invited to an admin room with this bot.
|
||||||
|
|
||||||
|
Find the appservice file you'd like to register. This can be any `registration.yaml` file found in the `/matrix` directory, for example `/matrix/mautrix-signal/bridge/registration.yaml`.
|
||||||
|
|
||||||
|
Then, send its content to the existing admin room:
|
||||||
|
|
||||||
|
!admin appservices register
|
||||||
|
|
||||||
|
```
|
||||||
|
as_token: <token>
|
||||||
|
de.sorunome.msc2409.push_ephemeral: true
|
||||||
|
receive_ephemeral: true
|
||||||
|
hs_token: <token>
|
||||||
|
id: signal
|
||||||
|
namespaces:
|
||||||
|
aliases:
|
||||||
|
- exclusive: true
|
||||||
|
regex: ^#signal_.+:example\.org$
|
||||||
|
users:
|
||||||
|
- exclusive: true
|
||||||
|
regex: ^@signal_.+:example\.org$
|
||||||
|
- exclusive: true
|
||||||
|
regex: ^@signalbot:example\.org$
|
||||||
|
rate_limited: false
|
||||||
|
sender_localpart: _bot_signalbot
|
||||||
|
url: http://matrix-mautrix-signal:29328
|
||||||
|
```
|
||||||
|
|
||||||
|
## Migrating from conduwuit
|
||||||
|
|
||||||
|
Since Continuwuity is a drop-in replacement for [conduwuit](configuring-playbook-conduwuit.md), migration is possible.
|
||||||
|
|
||||||
|
1. Make sure that Continuwuity is properly set up on your `vars.yml` as described above
|
||||||
|
|
||||||
|
2. Make sure that Conduwuit references are removed from your `vars.yml` file
|
||||||
|
|
||||||
|
3. Run the installation in a way that installs new services and uninstalls old ones (e.g. `just setup-all`)
|
||||||
|
|
||||||
|
4. Run the playbook with the `continuwuity-migrate-from-conduwuit` tag (e.g. `just run-tags continuwuity-migrate-from-conduwuit`). This migrates data from `/matrix/conduwuit` to `/matrix/continuwuity`
|
||||||
|
|
||||||
|
## Troubleshooting
|
||||||
|
|
||||||
|
As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-continuwuity`.
|
||||||
@@ -7,7 +7,7 @@ SPDX-License-Identifier: AGPL-3.0-or-later
|
|||||||
|
|
||||||
# Setting up Element Call (optional)
|
# Setting up Element Call (optional)
|
||||||
|
|
||||||
The playbook can install and configure [Element Call](https://github.com/element-hq/element-call) for you.
|
The playbook can install and configure [Element Call](https://github.com/element-hq/element-call) and its supporting components that are part of the [Matrix RTC stack](configuring-playbook-matrix-rtc.md).
|
||||||
|
|
||||||
Element Call is a native Matrix video conferencing application developed by [Element](https://element.io), designed for secure, scalable, privacy-respecting, and decentralized video and voice calls over the Matrix protocol. Built on MatrixRTC ([MSC4143](https://github.com/matrix-org/matrix-spec-proposals/pull/4143)), it utilizes [MSC4195](https://github.com/hughns/matrix-spec-proposals/blob/hughns/matrixrtc-livekit/proposals/4195-matrixrtc-livekit.md) with [LiveKit Server](configuring-playbook-livekit-server.md) as its backend.
|
Element Call is a native Matrix video conferencing application developed by [Element](https://element.io), designed for secure, scalable, privacy-respecting, and decentralized video and voice calls over the Matrix protocol. Built on MatrixRTC ([MSC4143](https://github.com/matrix-org/matrix-spec-proposals/pull/4143)), it utilizes [MSC4195](https://github.com/hughns/matrix-spec-proposals/blob/hughns/matrixrtc-livekit/proposals/4195-matrixrtc-livekit.md) with [LiveKit Server](configuring-playbook-livekit-server.md) as its backend.
|
||||||
|
|
||||||
@@ -16,18 +16,34 @@ See the project's [documentation](https://github.com/element-hq/element-call) to
|
|||||||
## Prerequisites
|
## Prerequisites
|
||||||
|
|
||||||
- A [Synapse](configuring-playbook-synapse.md) homeserver (see the warning below)
|
- A [Synapse](configuring-playbook-synapse.md) homeserver (see the warning below)
|
||||||
- [Federation](configuring-playbook-federation.md) being enabled for your Matrix homeserver (federation is enabled by default, unless you've explicitly disabled it), because [LiveKit JWT Service](configuring-playbook-livekit-jwt-service.md) currently [requires it](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3562#issuecomment-2725250554) ([relevant source code](https://github.com/element-hq/lk-jwt-service/blob/f5f5374c4bdcc00a4fb13d27c0b28e20e4c62334/main.go#L135-L146))
|
- The [Matrix RTC (Real-Time Communication) stack](configuring-playbook-matrix-rtc.md) (automatically done when Element Call is enabled)
|
||||||
- Various experimental features for the Synapse homeserver which Element Call [requires](https://github.com/element-hq/element-call/blob/93ae2aed9841e0b066d515c56bd4c122d2b591b2/docs/self-hosting.md#a-matrix-homeserver) (automatically done when Element Call is enabled)
|
|
||||||
- A [LiveKit Server](configuring-playbook-livekit-server.md) (automatically installed when Element Call is enabled)
|
|
||||||
- The [LiveKit JWT Service](configuring-playbook-livekit-jwt-service.md) (automatically installed when Element Call is enabled)
|
|
||||||
- A client compatible with Element Call. As of 2025-03-15, that's just [Element Web](configuring-playbook-client-element-web.md) and the Element X mobile clients (iOS and Android).
|
- A client compatible with Element Call. As of 2025-03-15, that's just [Element Web](configuring-playbook-client-element-web.md) and the Element X mobile clients (iOS and Android).
|
||||||
|
- (Optional) Guest accounts being enabled for your Matrix server, if you'd like guests to be able to use Element Call. See [Allowing guests to use Element Call](#allowing-guests-to-use-element-call-optional)
|
||||||
|
|
||||||
> [!WARNING]
|
> [!WARNING]
|
||||||
> Because Element Call [requires](https://github.com/element-hq/element-call/blob/93ae2aed9841e0b066d515c56bd4c122d2b591b2/docs/self-hosting.md#a-matrix-homeserver) a few experimental features in the Matrix protocol, it's **very likely that it only works with the Synapse homeserver**.
|
> Because Element Call [requires](https://github.com/element-hq/element-call/blob/93ae2aed9841e0b066d515c56bd4c122d2b591b2/docs/self-hosting.md#a-matrix-homeserver) a few experimental features in the Matrix protocol, it's **very likely that it only works with the Synapse homeserver**.
|
||||||
|
|
||||||
|
## Decide between Element Call vs just the Matrix RTC stack
|
||||||
|
|
||||||
|
All clients that can currently use Element Call (Element Web and Element X on mobile) already embed the Element Call frontend within them.
|
||||||
|
These **clients will use their own embedded Element Call frontend**, so **self-hosting the Element Call frontend by the playbook is largely unnecessary**.
|
||||||
|
|
||||||
|
💡 A reason you may wish to continue installing the Element Call frontend (despite Matrix clients not making use of it), is if you need to use it standalone - directly via a browser (without a Matrix client). Note that unless you [allow guest accounts to use Element Call](#allowing-guests-to-use-element-call-optional), you will still need a Matrix user account **on the same homeserver** to be able to use Element Call.
|
||||||
|
|
||||||
|
The playbook makes a distiction between enabling Element Call (`matrix_element_call_enabled`) and enabling the Matrix RTC Stack (`matrix_rtc_enabled`). Enabling Element Call automatically enables the Matrix RTC stack. Because installing the Element Call frontend is now unnecessary, **we recommend only installing the Matrix RTC stack, without the Element Call frontend**.
|
||||||
|
|
||||||
|
| Description / Variable | Element Call frontend | [LiveKit Server](configuring-playbook-livekit-server.md) | [LiveKit JWT Service](configuring-playbook-livekit-jwt-service.md) |
|
||||||
|
|------------------------|-----------------------|----------------|---------------------|
|
||||||
|
| Description | Static website that provides the Element Call UI (but often embedded by clients) | Scalable, multi-user conferencing solution based on WebRTC | A helper component that allows Element Call to integrate with LiveKit Server |
|
||||||
|
| Required for Element Call to function | No | Yes | Yes |
|
||||||
|
| `matrix_element_call_enabled` | ✅ Installed | ✅ Installed | ✅ Installed |
|
||||||
|
| `matrix_rtc_enabled` | ❌ Not Installed, but usually unnecessary | ✅ Installed | ✅ Installed |
|
||||||
|
|
||||||
|
All documentation below assumes that you've decided to install Element Call and not just the Matrix RTC stack.
|
||||||
|
|
||||||
## Decide on a domain and path
|
## Decide on a domain and path
|
||||||
|
|
||||||
By default, Element Call is configured to be served on the `call.element.example.com` domain.
|
By default, the Element Call frontend is configured to be served on the `call.element.example.com` domain.
|
||||||
|
|
||||||
If you'd like to run Element Call on another hostname, see the [Adjusting the Element Call URL](#adjusting-the-element-call-url-optional) section below.
|
If you'd like to run Element Call on another hostname, see the [Adjusting the Element Call URL](#adjusting-the-element-call-url-optional) section below.
|
||||||
|
|
||||||
@@ -48,6 +64,8 @@ In addition to the HTTP/HTTPS ports (which you've already exposed as per the [pr
|
|||||||
Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
|
Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
|
# Enable the Element Call frontend UI to allow standalone use of Element Call.
|
||||||
|
# Enabling this also auto-enables the Matrix RTC stack.
|
||||||
matrix_element_call_enabled: true
|
matrix_element_call_enabled: true
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -64,6 +82,28 @@ matrix_element_call_hostname: element-call.example.com
|
|||||||
> [!WARNING]
|
> [!WARNING]
|
||||||
> A `matrix_element_call_path_prefix` variable is also available and mean to let you configure a path prefix for the Element Call service, but [Element Call does not support running under a sub-path yet](https://github.com/element-hq/element-call/issues/3084).
|
> A `matrix_element_call_path_prefix` variable is also available and mean to let you configure a path prefix for the Element Call service, but [Element Call does not support running under a sub-path yet](https://github.com/element-hq/element-call/issues/3084).
|
||||||
|
|
||||||
|
### Allowing guests to use Element Call (optional)
|
||||||
|
|
||||||
|
By default, Element Call can only be used by people having accounts on your Matrix server.
|
||||||
|
|
||||||
|
If you'd like guests to be able to use Element Call as well, you need to enable guest accounts support for your homeserver.
|
||||||
|
|
||||||
|
> [!WARNING]
|
||||||
|
> Enabling guest accounts means that your homeserver's user database may get polluted with guest account signups (potentially made by bots).
|
||||||
|
> Guest accounts should be limited in what (damage) they can do to your server and the rest of the Matrix ecosystem, but it's better to not enable them unless necessary.
|
||||||
|
|
||||||
|
For [Synapse](configuring-playbook-synapse.md) (the default homeserver implementation), the configuration is like this:
|
||||||
|
|
||||||
|
```yml
|
||||||
|
matrix_synapse_allow_guest_access: true
|
||||||
|
```
|
||||||
|
|
||||||
|
For [Dendrite](configuring-playbook-dendrite.md), the configuration is like this:
|
||||||
|
|
||||||
|
```yml
|
||||||
|
matrix_dendrite_guests_disabled: false
|
||||||
|
```
|
||||||
|
|
||||||
## Installing
|
## Installing
|
||||||
|
|
||||||
After configuring the playbook and potentially [adjusting your DNS records](#adjusting-dns-records) and [adjusting firewall rules](#adjusting-firewall-rules), run the playbook with [playbook tags](playbook-tags.md) as below:
|
After configuring the playbook and potentially [adjusting your DNS records](#adjusting-dns-records) and [adjusting firewall rules](#adjusting-firewall-rules), run the playbook with [playbook tags](playbook-tags.md) as below:
|
||||||
|
|||||||
@@ -8,9 +8,9 @@ SPDX-License-Identifier: AGPL-3.0-or-later
|
|||||||
|
|
||||||
The playbook can install and configure [LiveKit JWT Service](https://github.com/element-hq/lk-jwt-service/) for you.
|
The playbook can install and configure [LiveKit JWT Service](https://github.com/element-hq/lk-jwt-service/) for you.
|
||||||
|
|
||||||
This is a helper component that allows [Element Call](configuring-playbook-element-call.md) to integrate with [LiveKit Server](configuring-playbook-livekit-server.md).
|
This is a helper component which is part of the [Matrix RTC stack](configuring-playbook-matrix-rtc.md) that allows [Element Call](configuring-playbook-element-call.md) to integrate with [LiveKit Server](configuring-playbook-livekit-server.md).
|
||||||
|
|
||||||
💡 LiveKit JWT Service is automatically installed and configured when [Element Call](configuring-playbook-element-call.md) is enabled, so you don't need to do anything extra.
|
💡 LiveKit JWT Service is automatically installed and configured when either [Element Call](configuring-playbook-element-call.md) or the [Matrix RTC stack](configuring-playbook-matrix-rtc.md) is enabled, so you don't need to do anything extra.
|
||||||
|
|
||||||
Take a look at:
|
Take a look at:
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ The playbook can install and configure [LiveKit Server](https://github.com/livek
|
|||||||
|
|
||||||
LiveKit Server is an open source project that provides scalable, multi-user conferencing based on WebRTC. It's designed to provide everything you need to build real-time video audio data capabilities in your applications.
|
LiveKit Server is an open source project that provides scalable, multi-user conferencing based on WebRTC. It's designed to provide everything you need to build real-time video audio data capabilities in your applications.
|
||||||
|
|
||||||
💡 LiveKit Server is automatically installed and configured when [Element Call](configuring-playbook-element-call.md) is enabled, so you don't need to do anything extra.
|
💡 LiveKit Server is automatically installed and configured when either [Element Call](configuring-playbook-element-call.md) or the [Matrix RTC stack](configuring-playbook-matrix-rtc.md) is enabled, so you don't need to do anything extra.
|
||||||
|
|
||||||
The [Ansible role for LiveKit Server](https://github.com/mother-of-all-self-hosting/ansible-role-livekit-server) is developed and maintained by [the MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting). For details about configuring LiveKit Server, you can check them via:
|
The [Ansible role for LiveKit Server](https://github.com/mother-of-all-self-hosting/ansible-role-livekit-server) is developed and maintained by [the MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting). For details about configuring LiveKit Server, you can check them via:
|
||||||
- 🌐 [the role's documentation at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-livekit-server/blob/main/docs/configuring-livekit-server.md) online
|
- 🌐 [the role's documentation at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-livekit-server/blob/main/docs/configuring-livekit-server.md) online
|
||||||
|
|||||||
@@ -55,9 +55,7 @@ This section details what you can expect when switching to the Matrix Authentica
|
|||||||
|
|
||||||
- ❌ **Some services experience issues when authenticating via MAS**:
|
- ❌ **Some services experience issues when authenticating via MAS**:
|
||||||
|
|
||||||
- [Postmoogle](./configuring-playbook-bridge-postmoogle.md) works the first time around, but it consistently fails after restarting:
|
- [Reminder bot](configuring-playbook-bot-matrix-reminder-bot.md) seems to be losing some of its state on each restart and may reschedule old reminders once again
|
||||||
|
|
||||||
> cannot initialize matrix bot error="olm account is marked as shared, keys seem to have disappeared from the server"
|
|
||||||
|
|
||||||
- ❌ **Encrypted appservices** do not work yet (related to [MSC4190](https://github.com/matrix-org/matrix-spec-proposals/pull/4190) and [PR 17705 for Synapse](https://github.com/element-hq/synapse/pull/17705)), so all bridges/bots that rely on encryption will fail to start (see [this issue](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3658) for Hookshot). You can use these bridges/bots only if you **keep end-to-bridge encryption disabled** (which is the default setting).
|
- ❌ **Encrypted appservices** do not work yet (related to [MSC4190](https://github.com/matrix-org/matrix-spec-proposals/pull/4190) and [PR 17705 for Synapse](https://github.com/element-hq/synapse/pull/17705)), so all bridges/bots that rely on encryption will fail to start (see [this issue](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3658) for Hookshot). You can use these bridges/bots only if you **keep end-to-bridge encryption disabled** (which is the default setting).
|
||||||
|
|
||||||
|
|||||||
59
docs/configuring-playbook-matrix-rtc.md
Normal file
59
docs/configuring-playbook-matrix-rtc.md
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
<!--
|
||||||
|
SPDX-FileCopyrightText: 2024 wjbeckett
|
||||||
|
SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev
|
||||||
|
|
||||||
|
SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
|
-->
|
||||||
|
|
||||||
|
# Setting up the Matrix RTC stack (optional)
|
||||||
|
|
||||||
|
The playbook can install and configure the Matrix RTC (Real-Time Communication) stack.
|
||||||
|
|
||||||
|
The Matrix RTC stack is a set of supporting components ([LiveKit Server](configuring-playbook-livekit-server.md) and [LiveKit JWT Service](configuring-playbook-livekit-jwt-service.md)) that allow the new [Element Call](configuring-playbook-element-call.md) audio/video calls to function.
|
||||||
|
|
||||||
|
💡 If you only plan on doing audio/video calls via Matrix client (which typically embed the Element Call frontend UI within them), you only need to install the Matrix RTC stack and don't necessarily need to install [Element Call](configuring-playbook-element-call.md). See the [Decide between Element Call vs just the Matrix RTC stack](configuring-playbook-element-call.md#decide-between-element-call-vs-just-the-matrix-rtc-stack) section of the [Element Call documentation](configuring-playbook-element-call.md) for more details.
|
||||||
|
|
||||||
|
## Prerequisites
|
||||||
|
|
||||||
|
- A [Synapse](configuring-playbook-synapse.md) homeserver (see the warning below)
|
||||||
|
- [Federation](configuring-playbook-federation.md) being enabled for your Matrix homeserver (federation is enabled by default, unless you've explicitly disabled it), because [LiveKit JWT Service](configuring-playbook-livekit-jwt-service.md) currently [requires it](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3562#issuecomment-2725250554) ([relevant source code](https://github.com/element-hq/lk-jwt-service/blob/f5f5374c4bdcc00a4fb13d27c0b28e20e4c62334/main.go#L135-L146))
|
||||||
|
- Various experimental features for the Synapse homeserver which Element Call [requires](https://github.com/element-hq/element-call/blob/93ae2aed9841e0b066d515c56bd4c122d2b591b2/docs/self-hosting.md#a-matrix-homeserver) (automatically done when Element Call is enabled)
|
||||||
|
- A [LiveKit Server](configuring-playbook-livekit-server.md) (automatically installed when [Element Call or the Matrix RTC stack is enabled](#decide-between-element-call-vs-just-the-matrix-rtc-stack))
|
||||||
|
- The [LiveKit JWT Service](configuring-playbook-livekit-jwt-service.md) (automatically installed when [Element Call or the Matrix RTC stack is enabled](#decide-between-element-call-vs-just-the-matrix-rtc-stack))
|
||||||
|
- A client compatible with Element Call. As of 2025-03-15, that's just [Element Web](configuring-playbook-client-element-web.md) and the Element X mobile clients (iOS and Android).
|
||||||
|
|
||||||
|
> [!WARNING]
|
||||||
|
> Because Element Call [requires](https://github.com/element-hq/element-call/blob/93ae2aed9841e0b066d515c56bd4c122d2b591b2/docs/self-hosting.md#a-matrix-homeserver) a few experimental features in the Matrix protocol, it's **very likely that it only works with the Synapse homeserver**.
|
||||||
|
|
||||||
|
## Adjusting the playbook configuration
|
||||||
|
|
||||||
|
Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
# Enable the Matrix RTC stack.
|
||||||
|
# This provides all supporting services for Element Call, without the Element Call frontend.
|
||||||
|
matrix_rtc_enabled: true
|
||||||
|
```
|
||||||
|
|
||||||
|
## Adjusting firewall rules
|
||||||
|
|
||||||
|
In addition to the HTTP/HTTPS ports (which you've already exposed as per the [prerequisites](prerequisites.md) document), you'll also need to open ports required by [LiveKit Server](configuring-playbook-livekit-server.md) as described in its own [Adjusting firewall rules](configuring-playbook-livekit-server.md#adjusting-firewall-rules) section.
|
||||||
|
|
||||||
|
## Installing
|
||||||
|
|
||||||
|
After configuring the playbook and potentially [adjusting your DNS records](#adjusting-dns-records) and [adjusting firewall rules](#adjusting-firewall-rules), run the playbook with [playbook tags](playbook-tags.md) as below:
|
||||||
|
|
||||||
|
<!-- NOTE: let this conservative command run (instead of install-all) to make it clear that failure of the command means something is clearly broken. -->
|
||||||
|
```sh
|
||||||
|
ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start
|
||||||
|
```
|
||||||
|
|
||||||
|
The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`
|
||||||
|
|
||||||
|
`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too.
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
Once installed, Matrix clients which support Element Call (like [Element Web](configuring-playbook-client-element-web.md) and Element X on mobile (iOS and Android)) will automatically use the Matrix RTC stack.
|
||||||
|
|
||||||
|
These clients typically embed the Element Call frontend UI within them, so installing [Element Call](configuring-playbook-element-call.md) is only necessary if you'd like to use it standalone - directly via a browser.
|
||||||
@@ -49,8 +49,8 @@ aux_file_definitions:
|
|||||||
content
|
content
|
||||||
here
|
here
|
||||||
mode: '0600'
|
mode: '0600'
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
```
|
```
|
||||||
|
|
||||||
Configuring [GCM/FCM](https://firebase.google.com/docs/cloud-messaging/) is easier, as it only requires that you provide some config values.
|
Configuring [GCM/FCM](https://firebase.google.com/docs/cloud-messaging/) is easier, as it only requires that you provide some config values.
|
||||||
|
|||||||
@@ -53,6 +53,8 @@ For a more custom setup, see the [Other configuration options](#other-configurat
|
|||||||
|
|
||||||
- [Configuring conduwuit](configuring-playbook-conduwuit.md), if you've switched to the [conduwuit](https://conduwuit.puppyirl.gay/) homeserver implementation
|
- [Configuring conduwuit](configuring-playbook-conduwuit.md), if you've switched to the [conduwuit](https://conduwuit.puppyirl.gay/) homeserver implementation
|
||||||
|
|
||||||
|
- [Configuring continuwuity](configuring-playbook-continuwuity.md), if you've switched to the [continuwuity](https://continuwuity.org) homeserver implementation
|
||||||
|
|
||||||
- [Configuring Dendrite](configuring-playbook-dendrite.md), if you've switched to the [Dendrite](https://matrix-org.github.io/dendrite) homeserver implementation
|
- [Configuring Dendrite](configuring-playbook-dendrite.md), if you've switched to the [Dendrite](https://matrix-org.github.io/dendrite) homeserver implementation
|
||||||
|
|
||||||
- Server components:
|
- Server components:
|
||||||
@@ -237,11 +239,13 @@ Services that help you in administrating and monitoring your Matrix installation
|
|||||||
|
|
||||||
Various services that don't fit any other categories.
|
Various services that don't fit any other categories.
|
||||||
|
|
||||||
- [Setting up Element Call](configuring-playbook-element-call.md) — a native Matrix video conferencing application (optional)
|
- [Setting up Element Call](configuring-playbook-element-call.md) — a native Matrix video conferencing application, built on top of the [Matrix RTC stack](configuring-playbook-matrix-rtc.md) (optional)
|
||||||
|
|
||||||
- [Setting up LiveKit JWT Service](configuring-playbook-livekit-jwt-service.md) (optional)
|
- [Setting up LiveKit JWT Service](configuring-playbook-livekit-jwt-service.md) - a component of the [Matrix RTC stack](configuring-playbook-matrix-rtc.md) (optional)
|
||||||
|
|
||||||
- [Setting up LiveKit Server](configuring-playbook-livekit-server.md) (optional)
|
- [Setting up LiveKit Server](configuring-playbook-livekit-server.md) - a component of the [Matrix RTC stack](configuring-playbook-matrix-rtc.md) (optional)
|
||||||
|
|
||||||
|
- [Setting up Matrix RTC](configuring-playbook-matrix-rtc.md) (optional)
|
||||||
|
|
||||||
- [Setting up Synapse Auto Invite Accept](configuring-playbook-synapse-auto-accept-invite.md)
|
- [Setting up Synapse Auto Invite Accept](configuring-playbook-synapse-auto-accept-invite.md)
|
||||||
|
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ We try to stick to official images (provided by their respective projects) as mu
|
|||||||
| [Synapse](configuring-playbook-synapse.md) | [element-hq/synapse](https://ghcr.io/element-hq/synapse) | ✅ | Storing your data and managing your presence in the [Matrix](http://matrix.org/) network |
|
| [Synapse](configuring-playbook-synapse.md) | [element-hq/synapse](https://ghcr.io/element-hq/synapse) | ✅ | Storing your data and managing your presence in the [Matrix](http://matrix.org/) network |
|
||||||
| [Conduit](configuring-playbook-conduit.md) | [matrixconduit/matrix-conduit](https://hub.docker.com/r/matrixconduit/matrix-conduit) | ❌ | Storing your data and managing your presence in the [Matrix](http://matrix.org/) network. Conduit is a lightweight open-source server implementation of the Matrix Specification with a focus on easy setup and low system requirements |
|
| [Conduit](configuring-playbook-conduit.md) | [matrixconduit/matrix-conduit](https://hub.docker.com/r/matrixconduit/matrix-conduit) | ❌ | Storing your data and managing your presence in the [Matrix](http://matrix.org/) network. Conduit is a lightweight open-source server implementation of the Matrix Specification with a focus on easy setup and low system requirements |
|
||||||
| [conduwuit](configuring-playbook-conduwuit.md) | [girlbossceo/conduwuit](https://ghcr.io/girlbossceo/conduwuit) | ❌ | Storing your data and managing your presence in the [Matrix](http://matrix.org/) network. conduwuit is a fork of Conduit. |
|
| [conduwuit](configuring-playbook-conduwuit.md) | [girlbossceo/conduwuit](https://ghcr.io/girlbossceo/conduwuit) | ❌ | Storing your data and managing your presence in the [Matrix](http://matrix.org/) network. conduwuit is a fork of Conduit. |
|
||||||
|
| [continuwuity](configuring-playbook-continuwuity.md) | [continuwuation/continuwuity](https://forgejo.ellis.link/continuwuation/continuwuity) | ❌ | Storing your data and managing your presence in the [Matrix](http://matrix.org/) network. continuwuity is a continuation of conduwuit. |
|
||||||
| [Dendrite](configuring-playbook-dendrite.md) | [matrixdotorg/dendrite-monolith](https://hub.docker.com/r/matrixdotorg/dendrite-monolith/) | ❌ | Storing your data and managing your presence in the [Matrix](http://matrix.org/) network. Dendrite is a second-generation Matrix homeserver written in Go, an alternative to Synapse. |
|
| [Dendrite](configuring-playbook-dendrite.md) | [matrixdotorg/dendrite-monolith](https://hub.docker.com/r/matrixdotorg/dendrite-monolith/) | ❌ | Storing your data and managing your presence in the [Matrix](http://matrix.org/) network. Dendrite is a second-generation Matrix homeserver written in Go, an alternative to Synapse. |
|
||||||
|
|
||||||
## Clients
|
## Clients
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ The up-to-date list can be accessed on [traefik's documentation](https://doc.tra
|
|||||||
|
|
||||||
**Note**: the changes below instruct you how to do this for a basic Synapse installation. You will need to adapt the variable name and the content of the labels:
|
**Note**: the changes below instruct you how to do this for a basic Synapse installation. You will need to adapt the variable name and the content of the labels:
|
||||||
|
|
||||||
- if you're using another homeserver implementation (e.g. [Conduit](./configuring-playbook-conduit.md), [conduwuit](./configuring-playbook-conduwuit.md) or [Dendrite](./configuring-playbook-dendrite.md))
|
- if you're using another homeserver implementation (e.g. [Conduit](./configuring-playbook-conduit.md), [conduwuit](./configuring-playbook-conduwuit.md), [continuwuity](./configuring-playbook-continuwuity.md) or [Dendrite](./configuring-playbook-dendrite.md))
|
||||||
- if you're using [Synapse with workers enabled](./configuring-playbook-synapse.md#load-balancing-with-workers) (`matrix_synapse_workers_enabled: true`). In that case, it's actually the `matrix-synapse-reverse-proxy-companion` service which has Traefik labels attached
|
- if you're using [Synapse with workers enabled](./configuring-playbook-synapse.md#load-balancing-with-workers) (`matrix_synapse_workers_enabled: true`). In that case, it's actually the `matrix-synapse-reverse-proxy-companion` service which has Traefik labels attached
|
||||||
|
|
||||||
Also, all instructions below are from an older version of the playbook and may not work anymore.
|
Also, all instructions below are from an older version of the playbook and may not work anymore.
|
||||||
@@ -79,7 +79,7 @@ traefik_configuration_extension_yaml: |
|
|||||||
- "8.8.8.8:53"
|
- "8.8.8.8:53"
|
||||||
storage: {{ traefik_config_certificatesResolvers_acme_storage | to_json }}
|
storage: {{ traefik_config_certificatesResolvers_acme_storage | to_json }}
|
||||||
|
|
||||||
# 2. Configure the environment variables needed by Rraefik to automate the ACME DNS Challenge (example for Cloudflare)
|
# 2. Configure the environment variables needed by Traefik to automate the ACME DNS Challenge (example for Cloudflare)
|
||||||
traefik_environment_variables: |
|
traefik_environment_variables: |
|
||||||
CF_API_EMAIL=redacted
|
CF_API_EMAIL=redacted
|
||||||
CF_ZONE_API_TOKEN=redacted
|
CF_ZONE_API_TOKEN=redacted
|
||||||
|
|||||||
@@ -73,11 +73,11 @@ matrix_federation_traefik_entrypoint_tls: "{{ traefik_config_entrypoint_web_secu
|
|||||||
# #
|
# #
|
||||||
########################################################################
|
########################################################################
|
||||||
|
|
||||||
aux_directory_default_owner: "{{ matrix_user_username }}"
|
aux_directory_default_owner: "{{ matrix_user_name }}"
|
||||||
aux_directory_default_group: "{{ matrix_user_groupname }}"
|
aux_directory_default_group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
aux_file_default_owner: "{{ matrix_user_username }}"
|
aux_file_default_owner: "{{ matrix_user_name }}"
|
||||||
aux_file_default_group: "{{ matrix_user_groupname }}"
|
aux_file_default_group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
# #
|
# #
|
||||||
@@ -243,7 +243,7 @@ matrix_addons_homeserver_client_api_url: "{{ ('http://' + matrix_playbook_revers
|
|||||||
matrix_addons_homeserver_systemd_services_list: "{{ ([traefik_identifier + '.service'] if matrix_playbook_reverse_proxy_type == 'playbook-managed-traefik' else []) if matrix_playbook_internal_matrix_client_api_traefik_entrypoint_enabled else matrix_homeserver_systemd_services_list }}"
|
matrix_addons_homeserver_systemd_services_list: "{{ ([traefik_identifier + '.service'] if matrix_playbook_reverse_proxy_type == 'playbook-managed-traefik' else []) if matrix_playbook_internal_matrix_client_api_traefik_entrypoint_enabled else matrix_homeserver_systemd_services_list }}"
|
||||||
|
|
||||||
# Starting from version `0.6.0` Conduit natively supports some sync v3 (sliding-sync) features.
|
# Starting from version `0.6.0` Conduit natively supports some sync v3 (sliding-sync) features.
|
||||||
matrix_homeserver_sliding_sync_url: "{{ matrix_sliding_sync_base_url if matrix_sliding_sync_enabled else (matrix_homeserver_url if matrix_homeserver_implementation in ['conduit', 'conduwuit'] else '') }}"
|
matrix_homeserver_sliding_sync_url: "{{ matrix_sliding_sync_base_url if matrix_sliding_sync_enabled else (matrix_homeserver_url if matrix_homeserver_implementation in ['conduit', 'conduwuit', 'continuwuity'] else '') }}"
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
# #
|
# #
|
||||||
@@ -567,6 +567,7 @@ matrix_homeserver_container_client_api_endpoint: |-
|
|||||||
'dendrite': ('matrix-dendrite:' + matrix_dendrite_http_bind_port | default('8008') | string),
|
'dendrite': ('matrix-dendrite:' + matrix_dendrite_http_bind_port | default('8008') | string),
|
||||||
'conduit': ('matrix-conduit:' + matrix_conduit_port_number | default('8008') | string),
|
'conduit': ('matrix-conduit:' + matrix_conduit_port_number | default('8008') | string),
|
||||||
'conduwuit': ('matrix-conduwuit:' + matrix_conduwuit_config_port_number | default('8008') | string),
|
'conduwuit': ('matrix-conduwuit:' + matrix_conduwuit_config_port_number | default('8008') | string),
|
||||||
|
'continuwuity': ('matrix-continuwuity:' + matrix_continuwuity_config_port_number | default('8008') | string),
|
||||||
}[matrix_homeserver_implementation]
|
}[matrix_homeserver_implementation]
|
||||||
}}
|
}}
|
||||||
|
|
||||||
@@ -577,6 +578,7 @@ matrix_homeserver_container_federation_api_endpoint: |-
|
|||||||
'dendrite': ('matrix-dendrite:' + matrix_dendrite_http_bind_port | default('8008') | string),
|
'dendrite': ('matrix-dendrite:' + matrix_dendrite_http_bind_port | default('8008') | string),
|
||||||
'conduit': ('matrix-conduit:' + matrix_conduit_port_number | default('8008') | string),
|
'conduit': ('matrix-conduit:' + matrix_conduit_port_number | default('8008') | string),
|
||||||
'conduwuit': ('matrix-conduwuit:' + matrix_conduwuit_config_port_number | default('8008') | string),
|
'conduwuit': ('matrix-conduwuit:' + matrix_conduwuit_config_port_number | default('8008') | string),
|
||||||
|
'continuwuity': ('matrix-continuwuity:' + matrix_continuwuity_config_port_number | default('8008') | string),
|
||||||
}[matrix_homeserver_implementation]
|
}[matrix_homeserver_implementation]
|
||||||
}}
|
}}
|
||||||
|
|
||||||
@@ -3199,8 +3201,8 @@ matrix_bot_draupnir_config_rawHomeserverUrl: "{{ matrix_addons_homeserver_client
|
|||||||
|
|
||||||
matrix_bot_draupnir_container_labels_traefik_enabled: "{{ matrix_bot_draupnir_config_web_enabled and matrix_playbook_reverse_proxy_type in ['playbook-managed-traefik', 'other-traefik-container'] }}"
|
matrix_bot_draupnir_container_labels_traefik_enabled: "{{ matrix_bot_draupnir_config_web_enabled and matrix_playbook_reverse_proxy_type in ['playbook-managed-traefik', 'other-traefik-container'] }}"
|
||||||
matrix_bot_draupnir_container_labels_traefik_docker_network: "{{ matrix_playbook_reverse_proxyable_services_additional_network }}"
|
matrix_bot_draupnir_container_labels_traefik_docker_network: "{{ matrix_playbook_reverse_proxyable_services_additional_network }}"
|
||||||
matrix_bot_draupnir_container_labels_traefik_entrypoints: "{{ traefik_entrypoint_primary }}"
|
matrix_bot_draupnir_container_labels_web_abuseReporting_traefik_entrypoints: "{{ traefik_entrypoint_primary }}"
|
||||||
matrix_bot_draupnir_container_labels_traefik_tls_certResolver: "{{ traefik_certResolver_primary }}"
|
matrix_bot_draupnir_container_labels_web_abuseReporting_traefik_tls_certResolver: "{{ traefik_certResolver_primary }}"
|
||||||
|
|
||||||
######################################################################
|
######################################################################
|
||||||
#
|
#
|
||||||
@@ -3312,7 +3314,7 @@ backup_borg_storage_archive_name_format: matrix-{now:%Y-%m-%d-%H%M%S}
|
|||||||
|
|
||||||
backup_borg_base_path: "{{ matrix_base_data_path }}/backup-borg"
|
backup_borg_base_path: "{{ matrix_base_data_path }}/backup-borg"
|
||||||
|
|
||||||
backup_borg_username: "{{ matrix_user_username }}"
|
backup_borg_username: "{{ matrix_user_name }}"
|
||||||
backup_borg_uid: "{{ matrix_user_uid }}"
|
backup_borg_uid: "{{ matrix_user_uid }}"
|
||||||
backup_borg_gid: "{{ matrix_user_gid }}"
|
backup_borg_gid: "{{ matrix_user_gid }}"
|
||||||
|
|
||||||
@@ -3741,7 +3743,7 @@ jitsi_base_path: "{{ matrix_base_data_path }}/jitsi"
|
|||||||
jitsi_uid: "{{ matrix_user_uid }}"
|
jitsi_uid: "{{ matrix_user_uid }}"
|
||||||
jitsi_gid: "{{ matrix_user_gid }}"
|
jitsi_gid: "{{ matrix_user_gid }}"
|
||||||
|
|
||||||
jitsi_user_username: "{{ matrix_user_username }}"
|
jitsi_user_username: "{{ matrix_user_name }}"
|
||||||
|
|
||||||
jitsi_web_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else jitsi_web_container_image_registry_prefix_upstream_default }}"
|
jitsi_web_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else jitsi_web_container_image_registry_prefix_upstream_default }}"
|
||||||
|
|
||||||
@@ -4609,9 +4611,9 @@ matrix_client_element_enable_presence_by_hs_url: |-
|
|||||||
|
|
||||||
matrix_client_element_jitsi_preferred_domain: "{{ matrix_server_fqn_jitsi if jitsi_enabled else '' }}"
|
matrix_client_element_jitsi_preferred_domain: "{{ matrix_server_fqn_jitsi if jitsi_enabled else '' }}"
|
||||||
|
|
||||||
matrix_client_element_features_feature_video_rooms: "{{ matrix_element_call_enabled }}"
|
matrix_client_element_features_feature_video_rooms: "{{ matrix_rtc_enabled }}"
|
||||||
matrix_client_element_features_feature_group_calls: "{{ matrix_element_call_enabled }}"
|
matrix_client_element_features_feature_group_calls: "{{ matrix_rtc_enabled }}"
|
||||||
matrix_client_element_features_feature_element_call_video_rooms: "{{ matrix_element_call_enabled }}"
|
matrix_client_element_features_feature_element_call_video_rooms: "{{ matrix_rtc_enabled }}"
|
||||||
matrix_client_element_features_feature_oidc_native_flow: "{{ matrix_authentication_service_enabled }}"
|
matrix_client_element_features_feature_oidc_native_flow: "{{ matrix_authentication_service_enabled }}"
|
||||||
|
|
||||||
matrix_client_element_element_call_enabled: "{{ matrix_element_call_enabled }}"
|
matrix_client_element_element_call_enabled: "{{ matrix_element_call_enabled }}"
|
||||||
@@ -4793,7 +4795,7 @@ matrix_client_fluffychat_self_check_validate_certificates: "{{ matrix_playbook_s
|
|||||||
|
|
||||||
matrix_synapse_enabled: "{{ matrix_homeserver_implementation == 'synapse' }}"
|
matrix_synapse_enabled: "{{ matrix_homeserver_implementation == 'synapse' }}"
|
||||||
|
|
||||||
matrix_synapse_username: "{{ matrix_user_username }}"
|
matrix_synapse_username: "{{ matrix_user_name }}"
|
||||||
matrix_synapse_uid: "{{ matrix_user_uid }}"
|
matrix_synapse_uid: "{{ matrix_user_uid }}"
|
||||||
matrix_synapse_gid: "{{ matrix_user_gid }}"
|
matrix_synapse_gid: "{{ matrix_user_gid }}"
|
||||||
|
|
||||||
@@ -4934,7 +4936,7 @@ matrix_synapse_ext_media_repo_enabled: "{{ matrix_media_repo_enabled }}"
|
|||||||
matrix_synapse_report_stats: "{{ matrix_synapse_usage_exporter_enabled }}"
|
matrix_synapse_report_stats: "{{ matrix_synapse_usage_exporter_enabled }}"
|
||||||
matrix_synapse_report_stats_endpoint: "{{ (('http://' + matrix_synapse_usage_exporter_identifier + ':' + matrix_synapse_usage_exporter_container_port | string + '/report-usage-stats/push') if matrix_synapse_usage_exporter_enabled else '') }}"
|
matrix_synapse_report_stats_endpoint: "{{ (('http://' + matrix_synapse_usage_exporter_identifier + ':' + matrix_synapse_usage_exporter_container_port | string + '/report-usage-stats/push') if matrix_synapse_usage_exporter_enabled else '') }}"
|
||||||
|
|
||||||
matrix_synapse_experimental_features_msc3266_enabled: "{{ matrix_element_call_enabled }}"
|
matrix_synapse_experimental_features_msc3266_enabled: "{{ matrix_rtc_enabled }}"
|
||||||
|
|
||||||
matrix_synapse_experimental_features_msc3861_enabled: "{{ matrix_authentication_service_enabled and not matrix_authentication_service_migration_in_progress }}"
|
matrix_synapse_experimental_features_msc3861_enabled: "{{ matrix_authentication_service_enabled and not matrix_authentication_service_migration_in_progress }}"
|
||||||
matrix_synapse_experimental_features_msc3861_issuer: "{{ matrix_authentication_service_http_base_container_url if matrix_authentication_service_enabled else '' }}"
|
matrix_synapse_experimental_features_msc3861_issuer: "{{ matrix_authentication_service_http_base_container_url if matrix_authentication_service_enabled else '' }}"
|
||||||
@@ -4944,9 +4946,9 @@ matrix_synapse_experimental_features_msc3861_account_management_url: "{{ matrix_
|
|||||||
|
|
||||||
matrix_synapse_experimental_features_msc4108_enabled: "{{ matrix_authentication_service_enabled and not matrix_authentication_service_migration_in_progress }}"
|
matrix_synapse_experimental_features_msc4108_enabled: "{{ matrix_authentication_service_enabled and not matrix_authentication_service_migration_in_progress }}"
|
||||||
|
|
||||||
matrix_synapse_experimental_features_msc4140_enabled: "{{ matrix_element_call_enabled }}"
|
matrix_synapse_experimental_features_msc4140_enabled: "{{ matrix_rtc_enabled }}"
|
||||||
|
|
||||||
matrix_synapse_experimental_features_msc4222_enabled: "{{ matrix_element_call_enabled }}"
|
matrix_synapse_experimental_features_msc4222_enabled: "{{ matrix_rtc_enabled }}"
|
||||||
|
|
||||||
# Disable password authentication when delegating authentication to Matrix Authentication Service.
|
# Disable password authentication when delegating authentication to Matrix Authentication Service.
|
||||||
# Unless this is done, Synapse fails on startup with:
|
# Unless this is done, Synapse fails on startup with:
|
||||||
@@ -5374,7 +5376,7 @@ prometheus_postgres_exporter_gid: "{{ matrix_user_gid }}"
|
|||||||
|
|
||||||
prometheus_postgres_exporter_hostname: "{{ matrix_server_fqn_matrix }}"
|
prometheus_postgres_exporter_hostname: "{{ matrix_server_fqn_matrix }}"
|
||||||
|
|
||||||
prometheus_postgres_exporter_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else prometheus_postgres_exporter_docker_image_registry_prefix_upstream_default }}"
|
prometheus_postgres_exporter_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else prometheus_postgres_exporter_container_image_registry_prefix_upstream_default }}"
|
||||||
|
|
||||||
prometheus_postgres_exporter_container_network: "{{ matrix_monitoring_container_network }}"
|
prometheus_postgres_exporter_container_network: "{{ matrix_monitoring_container_network }}"
|
||||||
|
|
||||||
@@ -5640,6 +5642,7 @@ grafana_default_home_dashboard_path: |-
|
|||||||
'dendrite': ('/etc/grafana/dashboards/node-exporter-full.json' if prometheus_node_exporter_enabled else ''),
|
'dendrite': ('/etc/grafana/dashboards/node-exporter-full.json' if prometheus_node_exporter_enabled else ''),
|
||||||
'conduit': ('/etc/grafana/dashboards/node-exporter-full.json' if prometheus_node_exporter_enabled else ''),
|
'conduit': ('/etc/grafana/dashboards/node-exporter-full.json' if prometheus_node_exporter_enabled else ''),
|
||||||
'conduwuit': ('/etc/grafana/dashboards/node-exporter-full.json' if prometheus_node_exporter_enabled else ''),
|
'conduwuit': ('/etc/grafana/dashboards/node-exporter-full.json' if prometheus_node_exporter_enabled else ''),
|
||||||
|
'continuwuity': ('/etc/grafana/dashboards/node-exporter-full.json' if prometheus_node_exporter_enabled else ''),
|
||||||
}[matrix_homeserver_implementation]
|
}[matrix_homeserver_implementation]
|
||||||
}}
|
}}
|
||||||
|
|
||||||
@@ -5700,6 +5703,7 @@ matrix_registration_shared_secret: |-
|
|||||||
'dendrite': matrix_dendrite_client_api_registration_shared_secret | default (''),
|
'dendrite': matrix_dendrite_client_api_registration_shared_secret | default (''),
|
||||||
'conduit': '',
|
'conduit': '',
|
||||||
'conduwuit': '',
|
'conduwuit': '',
|
||||||
|
'continuwuity': '',
|
||||||
}[matrix_homeserver_implementation]
|
}[matrix_homeserver_implementation]
|
||||||
}}
|
}}
|
||||||
|
|
||||||
@@ -5977,6 +5981,58 @@ matrix_conduwuit_self_check_validate_certificates: "{{ matrix_playbook_ssl_enabl
|
|||||||
######################################################################
|
######################################################################
|
||||||
|
|
||||||
|
|
||||||
|
######################################################################
|
||||||
|
#
|
||||||
|
# matrix-continuwuity
|
||||||
|
#
|
||||||
|
######################################################################
|
||||||
|
|
||||||
|
matrix_continuwuity_enabled: "{{ matrix_homeserver_implementation == 'continuwuity' }}"
|
||||||
|
|
||||||
|
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_network: "{{ matrix_homeserver_container_network }}"
|
||||||
|
|
||||||
|
matrix_continuwuity_container_additional_networks_auto: |
|
||||||
|
{{
|
||||||
|
(
|
||||||
|
([matrix_playbook_reverse_proxyable_services_additional_network] if matrix_continuwuity_container_labels_traefik_enabled and matrix_playbook_reverse_proxyable_services_additional_network else [])
|
||||||
|
) | unique
|
||||||
|
}}
|
||||||
|
|
||||||
|
matrix_continuwuity_container_labels_traefik_enabled: "{{ matrix_playbook_reverse_proxy_type in ['playbook-managed-traefik', 'other-traefik-container'] and not matrix_synapse_workers_enabled }}"
|
||||||
|
matrix_continuwuity_container_labels_traefik_docker_network: "{{ matrix_playbook_reverse_proxyable_services_additional_network }}"
|
||||||
|
matrix_continuwuity_container_labels_traefik_entrypoints: "{{ traefik_entrypoint_primary }}"
|
||||||
|
matrix_continuwuity_container_labels_traefik_tls_certResolver: "{{ traefik_certResolver_primary }}"
|
||||||
|
|
||||||
|
matrix_continuwuity_container_labels_public_client_root_redirection_enabled: "{{ matrix_continuwuity_container_labels_public_client_root_redirection_url != '' }}"
|
||||||
|
matrix_continuwuity_container_labels_public_client_root_redirection_url: "{{ (('https://' if matrix_playbook_ssl_enabled else 'http://') + matrix_server_fqn_element) if matrix_client_element_enabled else '' }}"
|
||||||
|
|
||||||
|
matrix_continuwuity_container_labels_public_federation_api_traefik_hostname: "{{ matrix_server_fqn_matrix_federation }}"
|
||||||
|
matrix_continuwuity_container_labels_public_federation_api_traefik_entrypoints: "{{ matrix_federation_traefik_entrypoint_name }}"
|
||||||
|
matrix_continuwuity_container_labels_public_federation_api_traefik_tls: "{{ matrix_federation_traefik_entrypoint_tls }}"
|
||||||
|
|
||||||
|
matrix_continuwuity_container_labels_internal_client_api_enabled: "{{ matrix_playbook_internal_matrix_client_api_traefik_entrypoint_enabled }}"
|
||||||
|
matrix_continuwuity_container_labels_internal_client_api_traefik_entrypoints: "{{ matrix_playbook_internal_matrix_client_api_traefik_entrypoint_name }}"
|
||||||
|
|
||||||
|
matrix_continuwuity_config_turn_uris: "{{ matrix_coturn_turn_uris if matrix_coturn_enabled else [] }}"
|
||||||
|
matrix_continuwuity_config_turn_secret: "{{ matrix_coturn_turn_static_auth_secret if (matrix_coturn_enabled and matrix_coturn_authentication_method == 'auth-secret') else '' }}"
|
||||||
|
matrix_continuwuity_config_turn_username: "{{ matrix_coturn_lt_cred_mech_username if (matrix_coturn_enabled and matrix_coturn_authentication_method == 'lt-cred-mech') else '' }}"
|
||||||
|
matrix_continuwuity_config_turn_password: "{{ matrix_coturn_lt_cred_mech_password if (matrix_coturn_enabled and matrix_coturn_authentication_method == 'lt-cred-mech') else '' }}"
|
||||||
|
|
||||||
|
matrix_continuwuity_self_check_validate_certificates: "{{ matrix_playbook_ssl_enabled }}"
|
||||||
|
|
||||||
|
######################################################################
|
||||||
|
#
|
||||||
|
# /matrix-continuwuity
|
||||||
|
#
|
||||||
|
######################################################################
|
||||||
|
|
||||||
|
|
||||||
######################################################################
|
######################################################################
|
||||||
#
|
#
|
||||||
# matrix-user-creator
|
# matrix-user-creator
|
||||||
@@ -6140,7 +6196,7 @@ matrix_static_files_file_matrix_client_property_m_tile_server_map_style_url: "{{
|
|||||||
# See: https://github.com/etkecc/synapse-admin/pull/126
|
# See: https://github.com/etkecc/synapse-admin/pull/126
|
||||||
matrix_static_files_file_matrix_client_property_cc_etke_synapse_admin_auto: "{{ matrix_synapse_admin_configuration if matrix_homeserver_implementation == 'synapse' else {} }}"
|
matrix_static_files_file_matrix_client_property_cc_etke_synapse_admin_auto: "{{ matrix_synapse_admin_configuration if matrix_homeserver_implementation == 'synapse' else {} }}"
|
||||||
|
|
||||||
matrix_static_files_file_matrix_client_property_org_matrix_msc4143_rtc_foci_enabled: "{{ matrix_element_call_enabled }}"
|
matrix_static_files_file_matrix_client_property_org_matrix_msc4143_rtc_foci_enabled: "{{ matrix_livekit_jwt_service_enabled }}"
|
||||||
matrix_static_files_file_matrix_client_property_org_matrix_msc4143_rtc_foci_auto: |-
|
matrix_static_files_file_matrix_client_property_org_matrix_msc4143_rtc_foci_auto: |-
|
||||||
{{
|
{{
|
||||||
(
|
(
|
||||||
@@ -6297,7 +6353,7 @@ matrix_element_call_config_livekit_livekit_service_url: "{{ matrix_livekit_jwt_s
|
|||||||
# #
|
# #
|
||||||
########################################################################
|
########################################################################
|
||||||
|
|
||||||
livekit_server_enabled: "{{ matrix_element_call_enabled }}"
|
livekit_server_enabled: "{{ matrix_rtc_enabled }}"
|
||||||
|
|
||||||
livekit_server_identifier: matrix-livekit-server
|
livekit_server_identifier: matrix-livekit-server
|
||||||
|
|
||||||
@@ -6405,7 +6461,7 @@ livekit_server_systemd_required_services_list_auto: |
|
|||||||
# #
|
# #
|
||||||
########################################################################
|
########################################################################
|
||||||
|
|
||||||
matrix_livekit_jwt_service_enabled: "{{ matrix_element_call_enabled and livekit_server_enabled }}"
|
matrix_livekit_jwt_service_enabled: "{{ matrix_rtc_enabled and livekit_server_enabled }}"
|
||||||
|
|
||||||
matrix_livekit_jwt_service_scheme: "{{ 'https' if matrix_playbook_ssl_enabled else 'http' }}"
|
matrix_livekit_jwt_service_scheme: "{{ 'https' if matrix_playbook_ssl_enabled else 'http' }}"
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,134 @@
|
|||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2018-2025, Slavi Pantaleev, Aine Etke, MDAD community
|
||||||
|
# members
|
||||||
|
# This file is distributed under the same license as the
|
||||||
|
# matrix-docker-ansible-deploy package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2025.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: matrix-docker-ansible-deploy \n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2025-01-27 09:54+0200\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language: bg\n"
|
||||||
|
"Language-Team: bg <LL@li.org>\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: Babel 2.16.0\n"
|
||||||
|
|
||||||
|
#: ../../../docs/configuring-playbook-continuwuity.md:1
|
||||||
|
msgid "Configuring continuwuity (optional)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../../docs/configuring-playbook-continuwuity.md:3
|
||||||
|
msgid "The playbook can install and configure the [continuwuity](https://continuwuity.org/) Matrix server for you."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../../docs/configuring-playbook-continuwuity.md:5
|
||||||
|
msgid "See the project's [documentation](https://continuwuity.org/) to learn what it does and why it might be useful to you."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../../docs/configuring-playbook-continuwuity.md:7
|
||||||
|
msgid "By default, the playbook installs [Synapse](https://github.com/element-hq/synapse) as it's the only full-featured Matrix server at the moment. If that's okay, you can skip this document."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../../docs/configuring-playbook-continuwuity.md:9
|
||||||
|
msgid "💡 **Note**: continuwuity is a fork of [conduwuit](./configuring-playbook-conduwuit.md), which the playbook also supports."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../../docs/configuring-playbook-continuwuity.md:11
|
||||||
|
msgid "⚠️ **Warnings**:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../../docs/configuring-playbook-continuwuity.md:13
|
||||||
|
msgid "**You can't switch an existing Matrix server's implementation** (e.g. Synapse -> continuwuity). Proceed below only if you're OK with losing data or you're dealing with a server on a new domain name, which hasn't participated in the Matrix federation yet."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../../docs/configuring-playbook-continuwuity.md:15
|
||||||
|
msgid "**Homeserver implementations other than Synapse may not be fully functional**. The playbook may also not assist you in an optimal way (like it does with Synapse). Make yourself familiar with the downsides before proceeding"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../../docs/configuring-playbook-continuwuity.md:17
|
||||||
|
msgid "Adjusting the playbook configuration"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../../docs/configuring-playbook-continuwuity.md:19
|
||||||
|
msgid "To use continuwuity, you **generally** need to adjust the `matrix_homeserver_implementation: synapse` configuration on your `inventory/host_vars/matrix.example.com/vars.yml` file as below:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../../docs/configuring-playbook-continuwuity.md:33
|
||||||
|
msgid "Extending the configuration"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../../docs/configuring-playbook-continuwuity.md:35
|
||||||
|
msgid "There are some additional things you may wish to configure about the server."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../../docs/configuring-playbook-continuwuity.md:37
|
||||||
|
msgid "Take a look at:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../../docs/configuring-playbook-continuwuity.md:39
|
||||||
|
msgid "`roles/custom/matrix-continuwuity/defaults/main.yml` for some variables that you can customize via your `vars.yml` file"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../../docs/configuring-playbook-continuwuity.md:40
|
||||||
|
msgid "`roles/custom/matrix-continuwuity/templates/continuwuity.toml.j2` for the server's default configuration"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../../docs/configuring-playbook-continuwuity.md:42
|
||||||
|
msgid "There are various Ansible variables that control settings in the `continuwuity.toml` file."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../../docs/configuring-playbook-continuwuity.md:44
|
||||||
|
msgid "If a specific setting you'd like to change does not have a dedicated Ansible variable, you can either submit a PR to us to add it, or you can [override the setting using an environment variable](https://continuwuity.org/configuration#environment-variables) using `matrix_continuwuity_environment_variables_extension`. For example:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../../docs/configuring-playbook-continuwuity.md:52
|
||||||
|
msgid "Creating the first user account"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../../docs/configuring-playbook-continuwuity.md:54
|
||||||
|
msgid "Unlike other homeserver implementations (like Synapse and Dendrite), continuwuity does not support creating users via the command line or via the playbook."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../../docs/configuring-playbook-continuwuity.md:56
|
||||||
|
msgid "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."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../../docs/configuring-playbook-continuwuity.md:58
|
||||||
|
msgid "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."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../../docs/configuring-playbook-continuwuity.md:60
|
||||||
|
msgid "The **first user account that you create will be marked as an admin** and **will be automatically invited to an admin room**."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../../docs/configuring-playbook-continuwuity.md:63
|
||||||
|
msgid "Configuring bridges / appservices"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../../docs/configuring-playbook-continuwuity.md:65
|
||||||
|
msgid "For other homeserver implementations (like Synapse and Dendrite), the playbook automatically registers appservices (for bridges, bots, etc.) with the homeserver."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../../docs/configuring-playbook-continuwuity.md:67
|
||||||
|
msgid "For continuwuity, you will have to manually register appservices using the [`!admin appservices register` command](https://continuwuity.org/appservices#set-up-the-appservice---general-instructions) sent to the server bot account."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../../docs/configuring-playbook-continuwuity.md:69
|
||||||
|
msgid "The server's bot account has a Matrix ID of `@conduit:example.com` (not `@continuwuity:example.com`!) due to continuwuity's historical legacy. Your first user account would already have been invited to an admin room with this bot."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../../docs/configuring-playbook-continuwuity.md:72
|
||||||
|
msgid "Find the appservice file you'd like to register. This can be any `registration.yaml` file found in the `/matrix` directory, for example `/matrix/mautrix-signal/bridge/registration.yaml`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../../docs/configuring-playbook-continuwuity.md:74
|
||||||
|
msgid "Then, send its content to the existing admin room:"
|
||||||
|
msgstr ""
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
alabaster==1.0.0
|
alabaster==1.0.0
|
||||||
babel==2.17.0
|
babel==2.17.0
|
||||||
certifi==2025.1.31
|
certifi==2025.4.26
|
||||||
charset-normalizer==3.4.1
|
charset-normalizer==3.4.1
|
||||||
click==8.1.8
|
click==8.1.8
|
||||||
docutils==0.21.2
|
docutils==0.21.2
|
||||||
@@ -13,11 +13,11 @@ MarkupSafe==3.0.2
|
|||||||
mdit-py-plugins==0.4.2
|
mdit-py-plugins==0.4.2
|
||||||
mdurl==0.1.2
|
mdurl==0.1.2
|
||||||
myst-parser==4.0.1
|
myst-parser==4.0.1
|
||||||
packaging==24.2
|
packaging==25.0
|
||||||
Pygments==2.19.1
|
Pygments==2.19.1
|
||||||
PyYAML==6.0.2
|
PyYAML==6.0.2
|
||||||
requests==2.32.3
|
requests==2.32.3
|
||||||
setuptools==78.1.0
|
setuptools==80.0.0
|
||||||
snowballstemmer==2.2.0
|
snowballstemmer==2.2.0
|
||||||
Sphinx==8.2.3
|
Sphinx==8.2.3
|
||||||
sphinx-intl==2.3.1
|
sphinx-intl==2.3.1
|
||||||
@@ -30,4 +30,4 @@ sphinxcontrib-qthelp==2.0.0
|
|||||||
sphinxcontrib-serializinghtml==2.0.0
|
sphinxcontrib-serializinghtml==2.0.0
|
||||||
tabulate==0.9.0
|
tabulate==0.9.0
|
||||||
uc-micro-py==1.0.3
|
uc-micro-py==1.0.3
|
||||||
urllib3==2.3.0
|
urllib3==2.4.0
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
version: v1.0.0-5
|
version: v1.0.0-5
|
||||||
name: auxiliary
|
name: auxiliary
|
||||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg.git
|
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg.git
|
||||||
version: v1.4.0-1.9.13-1
|
version: v1.4.1-1.9.14-0
|
||||||
name: backup_borg
|
name: backup_borg
|
||||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-container-socket-proxy.git
|
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-container-socket-proxy.git
|
||||||
version: v0.3.0-4
|
version: v0.3.0-4
|
||||||
@@ -22,10 +22,10 @@
|
|||||||
version: v4.98.1-r0-2-0
|
version: v4.98.1-r0-2-0
|
||||||
name: exim_relay
|
name: exim_relay
|
||||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-grafana.git
|
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-grafana.git
|
||||||
version: v11.6.0-0
|
version: v11.6.0-security-01-0
|
||||||
name: grafana
|
name: grafana
|
||||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-jitsi.git
|
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-jitsi.git
|
||||||
version: v10169-0
|
version: v10184-0
|
||||||
name: jitsi
|
name: jitsi
|
||||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-livekit-server.git
|
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-livekit-server.git
|
||||||
version: v1.8.4-5
|
version: v1.8.4-5
|
||||||
@@ -52,10 +52,10 @@
|
|||||||
version: v2.55.1-3
|
version: v2.55.1-3
|
||||||
name: prometheus
|
name: prometheus
|
||||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-node-exporter.git
|
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-node-exporter.git
|
||||||
version: v1.9.1-0
|
version: v1.9.1-1
|
||||||
name: prometheus_node_exporter
|
name: prometheus_node_exporter
|
||||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-postgres-exporter.git
|
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-postgres-exporter.git
|
||||||
version: v0.14.0-9
|
version: v0.17.1-0
|
||||||
name: prometheus_postgres_exporter
|
name: prometheus_postgres_exporter
|
||||||
- src: git+https://github.com/devture/com.devture.ansible.role.systemd_docker_base.git
|
- src: git+https://github.com/devture/com.devture.ansible.role.systemd_docker_base.git
|
||||||
version: v1.4.0-0
|
version: v1.4.0-0
|
||||||
@@ -67,11 +67,11 @@
|
|||||||
version: v1.0.0-0
|
version: v1.0.0-0
|
||||||
name: timesync
|
name: timesync
|
||||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-traefik.git
|
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-traefik.git
|
||||||
version: v3.3.5-0
|
version: v3.3.6-1
|
||||||
name: traefik
|
name: traefik
|
||||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-traefik-certs-dumper.git
|
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-traefik-certs-dumper.git
|
||||||
version: v2.10.0-0
|
version: v2.10.0-0
|
||||||
name: traefik_certs_dumper
|
name: traefik_certs_dumper
|
||||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-valkey.git
|
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-valkey.git
|
||||||
version: v8.0.1-3
|
version: v8.1.1-0
|
||||||
name: valkey
|
name: valkey
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
matrix_alertmanager_receiver_enabled: true
|
matrix_alertmanager_receiver_enabled: true
|
||||||
|
|
||||||
# renovate: datasource=docker depName=docker.io/metio/matrix-alertmanager-receiver
|
# renovate: datasource=docker depName=docker.io/metio/matrix-alertmanager-receiver
|
||||||
matrix_alertmanager_receiver_version: 2025.3.26
|
matrix_alertmanager_receiver_version: 2025.4.23
|
||||||
|
|
||||||
matrix_alertmanager_receiver_scheme: https
|
matrix_alertmanager_receiver_scheme: https
|
||||||
|
|
||||||
|
|||||||
@@ -10,8 +10,8 @@
|
|||||||
path: "{{ item.path }}"
|
path: "{{ item.path }}"
|
||||||
state: directory
|
state: directory
|
||||||
mode: 0750
|
mode: 0750
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- path: "{{ matrix_alertmanager_receiver_base_path }}"
|
- path: "{{ matrix_alertmanager_receiver_base_path }}"
|
||||||
when: true
|
when: true
|
||||||
@@ -26,16 +26,16 @@
|
|||||||
content: "{{ matrix_alertmanager_receiver_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
content: "{{ matrix_alertmanager_receiver_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
||||||
dest: "{{ matrix_alertmanager_receiver_config_path }}/config.yml"
|
dest: "{{ matrix_alertmanager_receiver_config_path }}/config.yml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure matrix-alertmanager-receiver support files installed
|
- name: Ensure matrix-alertmanager-receiver support files installed
|
||||||
ansible.builtin.template:
|
ansible.builtin.template:
|
||||||
src: "{{ role_path }}/templates/{{ item }}.j2"
|
src: "{{ role_path }}/templates/{{ item }}.j2"
|
||||||
dest: "{{ matrix_alertmanager_receiver_base_path }}/{{ item }}"
|
dest: "{{ matrix_alertmanager_receiver_base_path }}/{{ item }}"
|
||||||
mode: 0640
|
mode: 0640
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- labels
|
- labels
|
||||||
|
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
dest: "{{ matrix_alertmanager_receiver_container_src_path }}"
|
dest: "{{ matrix_alertmanager_receiver_container_src_path }}"
|
||||||
force: "yes"
|
force: "yes"
|
||||||
become: true
|
become: true
|
||||||
become_user: "{{ matrix_user_username }}"
|
become_user: "{{ matrix_user_name }}"
|
||||||
register: matrix_alertmanager_receiver_git_pull_results
|
register: matrix_alertmanager_receiver_git_pull_results
|
||||||
|
|
||||||
- name: Ensure matrix-alertmanager-receiver container image is built
|
- name: Ensure matrix-alertmanager-receiver container image is built
|
||||||
|
|||||||
@@ -9,8 +9,8 @@
|
|||||||
path: "{{ item.path }}"
|
path: "{{ item.path }}"
|
||||||
state: directory
|
state: directory
|
||||||
mode: 0750
|
mode: 0750
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- path: "{{ matrix_appservice_double_puppet_base_path }}"
|
- path: "{{ matrix_appservice_double_puppet_base_path }}"
|
||||||
when: true
|
when: true
|
||||||
@@ -23,5 +23,5 @@
|
|||||||
content: "{{ matrix_appservice_double_puppet_registration_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
content: "{{ matrix_appservice_double_puppet_registration_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
||||||
dest: "{{ matrix_appservice_double_puppet_config_path }}/registration.yaml"
|
dest: "{{ matrix_appservice_double_puppet_config_path }}/registration.yaml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|||||||
@@ -16,8 +16,8 @@
|
|||||||
path: "{{ item.path }}"
|
path: "{{ item.path }}"
|
||||||
state: directory
|
state: directory
|
||||||
mode: 0750
|
mode: 0750
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- {path: "{{ matrix_appservice_draupnir_for_all_base_path }}", when: true}
|
- {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_config_path }}", when: true}
|
||||||
@@ -44,7 +44,7 @@
|
|||||||
version: "{{ matrix_appservice_draupnir_for_all_docker_image.split(':')[1] }}"
|
version: "{{ matrix_appservice_draupnir_for_all_docker_image.split(':')[1] }}"
|
||||||
force: "yes"
|
force: "yes"
|
||||||
become: true
|
become: true
|
||||||
become_user: "{{ matrix_user_username }}"
|
become_user: "{{ matrix_user_name }}"
|
||||||
register: matrix_appservice_draupnir_for_all_git_pull_results
|
register: matrix_appservice_draupnir_for_all_git_pull_results
|
||||||
when: "matrix_appservice_draupnir_for_all_container_image_self_build | bool"
|
when: "matrix_appservice_draupnir_for_all_container_image_self_build | bool"
|
||||||
|
|
||||||
@@ -64,24 +64,24 @@
|
|||||||
content: "{{ matrix_appservice_draupnir_for_all_configuration_appservice | to_nice_yaml(indent=2, width=999999) }}"
|
content: "{{ matrix_appservice_draupnir_for_all_configuration_appservice | to_nice_yaml(indent=2, width=999999) }}"
|
||||||
dest: "{{ matrix_appservice_draupnir_for_all_config_path }}/production-appservice.yaml"
|
dest: "{{ matrix_appservice_draupnir_for_all_config_path }}/production-appservice.yaml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure matrix-appservice-draupnir-for-all bot config installed
|
- name: Ensure matrix-appservice-draupnir-for-all bot config installed
|
||||||
ansible.builtin.copy:
|
ansible.builtin.copy:
|
||||||
content: "{{ matrix_appservice_draupnir_for_all_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
content: "{{ matrix_appservice_draupnir_for_all_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
||||||
dest: "{{ matrix_appservice_draupnir_for_all_config_path }}/production-bots.yaml"
|
dest: "{{ matrix_appservice_draupnir_for_all_config_path }}/production-bots.yaml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure matrix-appservice-draupnir-for-all registration.yaml installed
|
- name: Ensure matrix-appservice-draupnir-for-all registration.yaml installed
|
||||||
ansible.builtin.copy:
|
ansible.builtin.copy:
|
||||||
content: "{{ matrix_appservice_draupnir_for_all_registration | to_nice_yaml(indent=2, width=999999) }}"
|
content: "{{ matrix_appservice_draupnir_for_all_registration | to_nice_yaml(indent=2, width=999999) }}"
|
||||||
dest: "{{ matrix_appservice_draupnir_for_all_config_path }}/draupnir-for-all-registration.yaml"
|
dest: "{{ matrix_appservice_draupnir_for_all_config_path }}/draupnir-for-all-registration.yaml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure matrix-appservice-draupnir-for-all container network is created
|
- name: Ensure matrix-appservice-draupnir-for-all container network is created
|
||||||
community.general.docker_network:
|
community.general.docker_network:
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ matrix_authentication_service_container_repo_version: "{{ 'main' if matrix_authe
|
|||||||
matrix_authentication_service_container_src_files_path: "{{ matrix_base_data_path }}/matrix-authentication-service/container-src"
|
matrix_authentication_service_container_src_files_path: "{{ matrix_base_data_path }}/matrix-authentication-service/container-src"
|
||||||
|
|
||||||
# renovate: datasource=docker depName=ghcr.io/element-hq/matrix-authentication-service
|
# renovate: datasource=docker depName=ghcr.io/element-hq/matrix-authentication-service
|
||||||
matrix_authentication_service_version: 0.14.1
|
matrix_authentication_service_version: 0.15.0
|
||||||
matrix_authentication_service_container_image_registry_prefix: "{{ 'localhost/' if matrix_authentication_service_container_image_self_build else matrix_authentication_service_container_image_registry_prefix_upstream }}"
|
matrix_authentication_service_container_image_registry_prefix: "{{ 'localhost/' if matrix_authentication_service_container_image_self_build else matrix_authentication_service_container_image_registry_prefix_upstream }}"
|
||||||
matrix_authentication_service_container_image_registry_prefix_upstream: "{{ matrix_authentication_service_container_image_registry_prefix_upstream_default }}"
|
matrix_authentication_service_container_image_registry_prefix_upstream: "{{ matrix_authentication_service_container_image_registry_prefix_upstream_default }}"
|
||||||
matrix_authentication_service_container_image_registry_prefix_upstream_default: "ghcr.io/"
|
matrix_authentication_service_container_image_registry_prefix_upstream_default: "ghcr.io/"
|
||||||
@@ -562,7 +562,7 @@ matrix_authentication_service_syn2mas_start_wait_time_seconds: 5
|
|||||||
matrix_authentication_service_syn2mas_dry_run: false
|
matrix_authentication_service_syn2mas_dry_run: false
|
||||||
|
|
||||||
# renovate: datasource=docker depName=ghcr.io/element-hq/matrix-authentication-service/syn2mas
|
# renovate: datasource=docker depName=ghcr.io/element-hq/matrix-authentication-service/syn2mas
|
||||||
matrix_authentication_service_syn2mas_version: 0.14.1
|
matrix_authentication_service_syn2mas_version: 0.15.0
|
||||||
matrix_authentication_service_syn2mas_container_image: "{{ matrix_authentication_service_syn2mas_container_image_registry_prefix }}element-hq/matrix-authentication-service/syn2mas:{{ matrix_authentication_service_syn2mas_version }}"
|
matrix_authentication_service_syn2mas_container_image: "{{ matrix_authentication_service_syn2mas_container_image_registry_prefix }}element-hq/matrix-authentication-service/syn2mas:{{ matrix_authentication_service_syn2mas_version }}"
|
||||||
matrix_authentication_service_syn2mas_container_image_registry_prefix: "{{ 'localhost/' if matrix_authentication_service_container_image_self_build else matrix_authentication_service_syn2mas_container_image_registry_prefix_upstream }}"
|
matrix_authentication_service_syn2mas_container_image_registry_prefix: "{{ 'localhost/' if matrix_authentication_service_container_image_self_build else matrix_authentication_service_syn2mas_container_image_registry_prefix_upstream }}"
|
||||||
matrix_authentication_service_syn2mas_container_image_registry_prefix_upstream: "{{ matrix_authentication_service_syn2mas_container_image_registry_prefix_upstream_default }}"
|
matrix_authentication_service_syn2mas_container_image_registry_prefix_upstream: "{{ matrix_authentication_service_syn2mas_container_image_registry_prefix_upstream_default }}"
|
||||||
|
|||||||
@@ -9,8 +9,8 @@
|
|||||||
path: "{{ item.path }}"
|
path: "{{ item.path }}"
|
||||||
state: directory
|
state: directory
|
||||||
mode: 0750
|
mode: 0750
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- {path: "{{ matrix_authentication_service_base_path }}", when: true}
|
- {path: "{{ matrix_authentication_service_base_path }}", when: true}
|
||||||
- {path: "{{ matrix_authentication_service_bin_path }}", when: true}
|
- {path: "{{ matrix_authentication_service_bin_path }}", when: true}
|
||||||
@@ -38,16 +38,16 @@
|
|||||||
content: "{{ matrix_authentication_service_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
content: "{{ matrix_authentication_service_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
||||||
dest: "{{ matrix_authentication_service_config_path }}/config.yaml"
|
dest: "{{ matrix_authentication_service_config_path }}/config.yaml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure Matrix Authentication Service support files created
|
- name: Ensure Matrix Authentication Service support files created
|
||||||
ansible.builtin.template:
|
ansible.builtin.template:
|
||||||
src: "{{ item.src }}"
|
src: "{{ item.src }}"
|
||||||
dest: "{{ item.dest }}"
|
dest: "{{ item.dest }}"
|
||||||
mode: "{{ item.mode }}"
|
mode: "{{ item.mode }}"
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- src: "{{ role_path }}/templates/env.j2"
|
- src: "{{ role_path }}/templates/env.j2"
|
||||||
dest: "{{ matrix_authentication_service_config_path }}/env"
|
dest: "{{ matrix_authentication_service_config_path }}/env"
|
||||||
@@ -83,7 +83,7 @@
|
|||||||
dest: "{{ matrix_authentication_service_container_src_files_path }}"
|
dest: "{{ matrix_authentication_service_container_src_files_path }}"
|
||||||
force: "yes"
|
force: "yes"
|
||||||
become: true
|
become: true
|
||||||
become_user: "{{ matrix_user_username }}"
|
become_user: "{{ matrix_user_name }}"
|
||||||
|
|
||||||
- name: Ensure Matrix Authentication Service container image is built
|
- name: Ensure Matrix Authentication Service container image is built
|
||||||
ansible.builtin.command:
|
ansible.builtin.command:
|
||||||
|
|||||||
@@ -54,7 +54,7 @@
|
|||||||
dest: "{{ matrix_authentication_service_container_src_files_path }}"
|
dest: "{{ matrix_authentication_service_container_src_files_path }}"
|
||||||
force: "yes"
|
force: "yes"
|
||||||
become: true
|
become: true
|
||||||
become_user: "{{ matrix_user_username }}"
|
become_user: "{{ matrix_user_name }}"
|
||||||
register: matrix_authentication_service_git_pull_results
|
register: matrix_authentication_service_git_pull_results
|
||||||
|
|
||||||
- name: Ensure Matrix Authentication Service syn2mas container image is built
|
- name: Ensure Matrix Authentication Service syn2mas container image is built
|
||||||
|
|||||||
@@ -13,4 +13,4 @@
|
|||||||
cmd: "{{ private_key_definition.generation_command | replace('__KEY_FILE_PATH__', matrix_authentication_service_private_key_file_path) }}"
|
cmd: "{{ private_key_definition.generation_command | replace('__KEY_FILE_PATH__', matrix_authentication_service_private_key_file_path) }}"
|
||||||
creates: "{{ matrix_authentication_service_private_key_file_path }}"
|
creates: "{{ matrix_authentication_service_private_key_file_path }}"
|
||||||
become: true
|
become: true
|
||||||
become_user: "{{ matrix_user_username }}"
|
become_user: "{{ matrix_user_name }}"
|
||||||
|
|||||||
@@ -48,6 +48,9 @@ matrix_bridges_encryption_enabled: false
|
|||||||
# Global var to make encryption default/optional across all bridges with encryption support
|
# Global var to make encryption default/optional across all bridges with encryption support
|
||||||
matrix_bridges_encryption_default: "{{ matrix_bridges_encryption_enabled }}"
|
matrix_bridges_encryption_default: "{{ matrix_bridges_encryption_enabled }}"
|
||||||
|
|
||||||
|
# Global var for enabling msc4190 ( On supported bridges)
|
||||||
|
matrix_bridges_msc4190_enabled: "{{ matrix_authentication_service_enabled and matrix_bridges_encryption_enabled and matrix_synapse_experimental_features_msc3202_device_masquerading_enabled }}"
|
||||||
|
|
||||||
# Global var to enable/disable relay mode across all bridges with relay mode support
|
# Global var to enable/disable relay mode across all bridges with relay mode support
|
||||||
matrix_bridges_relay_enabled: false
|
matrix_bridges_relay_enabled: false
|
||||||
|
|
||||||
@@ -78,7 +81,7 @@ matrix_monitoring_container_network: matrix-monitoring
|
|||||||
matrix_homeserver_enabled: true
|
matrix_homeserver_enabled: true
|
||||||
|
|
||||||
# This will contain the homeserver implementation that is in use.
|
# This will contain the homeserver implementation that is in use.
|
||||||
# Valid values: synapse, dendrite, conduit, conduwuit
|
# Valid values: synapse, dendrite, conduit, conduwuit, continuwuity
|
||||||
#
|
#
|
||||||
# By default, we use Synapse, because it's the only full-featured Matrix server at the moment.
|
# By default, we use Synapse, because it's the only full-featured Matrix server at the moment.
|
||||||
#
|
#
|
||||||
@@ -172,11 +175,15 @@ matrix_debian_arch: "{{ 'armhf' if matrix_architecture == 'arm32' else matrix_ar
|
|||||||
# Example value: "registry.example.com/" (note the trailing `/`).
|
# Example value: "registry.example.com/" (note the trailing `/`).
|
||||||
matrix_container_global_registry_prefix_override: ""
|
matrix_container_global_registry_prefix_override: ""
|
||||||
|
|
||||||
matrix_user_username: "matrix"
|
matrix_user_name: "matrix"
|
||||||
matrix_user_groupname: "matrix"
|
matrix_user_system: true
|
||||||
|
matrix_user_shell: /sbin/nologin
|
||||||
|
|
||||||
# By default, the playbook creates the user (`matrix_user_username`)
|
matrix_group_name: "matrix"
|
||||||
# and group (`matrix_user_groupname`) with a random ID.
|
matrix_group_system: true
|
||||||
|
|
||||||
|
# By default, the playbook creates the user (`matrix_user_name`)
|
||||||
|
# and group (`matrix_group_name`) with a random ID.
|
||||||
# To use a specific user/group ID, override these variables.
|
# To use a specific user/group ID, override these variables.
|
||||||
matrix_user_uid: ~
|
matrix_user_uid: ~
|
||||||
matrix_user_gid: ~
|
matrix_user_gid: ~
|
||||||
|
|||||||
@@ -17,8 +17,8 @@
|
|||||||
path: "{{ item }}"
|
path: "{{ item }}"
|
||||||
state: directory
|
state: directory
|
||||||
mode: "{{ matrix_base_data_path_mode }}"
|
mode: "{{ matrix_base_data_path_mode }}"
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- "{{ matrix_base_data_path }}"
|
- "{{ matrix_base_data_path }}"
|
||||||
- "{{ matrix_bin_path }}"
|
- "{{ matrix_bin_path }}"
|
||||||
|
|||||||
@@ -7,20 +7,22 @@
|
|||||||
|
|
||||||
- name: Ensure Matrix group is created
|
- name: Ensure Matrix group is created
|
||||||
ansible.builtin.group:
|
ansible.builtin.group:
|
||||||
name: "{{ matrix_user_groupname }}"
|
name: "{{ matrix_group_name }}"
|
||||||
gid: "{{ omit if matrix_user_gid is none else matrix_user_gid }}"
|
gid: "{{ omit if matrix_user_gid is none else matrix_user_gid }}"
|
||||||
state: present
|
state: present
|
||||||
|
system: "{{ matrix_group_system }}"
|
||||||
register: matrix_group
|
register: matrix_group
|
||||||
|
|
||||||
- name: Ensure Matrix user is created
|
- name: Ensure Matrix user is created
|
||||||
ansible.builtin.user:
|
ansible.builtin.user:
|
||||||
name: "{{ matrix_user_username }}"
|
name: "{{ matrix_user_name }}"
|
||||||
uid: "{{ omit if matrix_user_uid is none else matrix_user_uid }}"
|
uid: "{{ omit if matrix_user_uid is none else matrix_user_uid }}"
|
||||||
state: present
|
state: present
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
home: "{{ matrix_base_data_path }}"
|
home: "{{ matrix_base_data_path }}"
|
||||||
create_home: false
|
create_home: false
|
||||||
system: true
|
system: "{{ matrix_user_system }}"
|
||||||
|
shell: "{{ matrix_user_shell }}"
|
||||||
register: matrix_user
|
register: matrix_user
|
||||||
|
|
||||||
- name: Initialize matrix_user_uid and matrix_user_gid
|
- name: Initialize matrix_user_uid and matrix_user_gid
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
- name: Fail if invalid homeserver implementation
|
- name: Fail if invalid homeserver implementation
|
||||||
ansible.builtin.fail:
|
ansible.builtin.fail:
|
||||||
msg: "You need to set a valid homeserver implementation in `matrix_homeserver_implementation`"
|
msg: "You need to set a valid homeserver implementation in `matrix_homeserver_implementation`"
|
||||||
when: "matrix_homeserver_implementation not in ['synapse', 'dendrite', 'conduit', 'conduwuit']"
|
when: "matrix_homeserver_implementation not in ['synapse', 'dendrite', 'conduit', 'conduwuit', 'continuwuity']"
|
||||||
|
|
||||||
- name: (Deprecation) Catch and report renamed settings
|
- name: (Deprecation) Catch and report renamed settings
|
||||||
ansible.builtin.fail:
|
ansible.builtin.fail:
|
||||||
@@ -32,6 +32,8 @@
|
|||||||
- {'old': 'matrix_client_element_e2ee_secure_backup_required', 'new': 'matrix_static_files_file_matrix_client_property_io_element_e2ee_secure_backup_required'}
|
- {'old': 'matrix_client_element_e2ee_secure_backup_required', 'new': 'matrix_static_files_file_matrix_client_property_io_element_e2ee_secure_backup_required'}
|
||||||
- {'old': 'matrix_client_element_e2ee_secure_backup_setup_methods', 'new': 'matrix_static_files_file_matrix_client_property_io_element_e2ee_secure_backup_setup_methods'}
|
- {'old': 'matrix_client_element_e2ee_secure_backup_setup_methods', 'new': 'matrix_static_files_file_matrix_client_property_io_element_e2ee_secure_backup_setup_methods'}
|
||||||
- {'old': 'matrix_container_global_registry_prefix', 'new': '<no global variable anymore; you need to override the `_registry_prefix` variable in each component separately>'}
|
- {'old': 'matrix_container_global_registry_prefix', 'new': '<no global variable anymore; you need to override the `_registry_prefix` variable in each component separately>'}
|
||||||
|
- {'old': 'matrix_user_username', 'new': 'matrix_user_name'}
|
||||||
|
- {'old': 'matrix_user_groupname', 'new': 'matrix_group_name'}
|
||||||
|
|
||||||
# We have a dedicated check for this variable, because we'd like to have a custom (friendlier) message.
|
# We have a dedicated check for this variable, because we'd like to have a custom (friendlier) message.
|
||||||
- name: Fail if matrix_homeserver_generic_secret_key is undefined
|
- name: Fail if matrix_homeserver_generic_secret_key is undefined
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ matrix_bot_baibot_container_repo_version: "{{ 'main' if matrix_bot_baibot_versio
|
|||||||
matrix_bot_baibot_container_src_files_path: "{{ matrix_base_data_path }}/baibot/container-src"
|
matrix_bot_baibot_container_src_files_path: "{{ matrix_base_data_path }}/baibot/container-src"
|
||||||
|
|
||||||
# renovate: datasource=docker depName=ghcr.io/etkecc/baibot
|
# renovate: datasource=docker depName=ghcr.io/etkecc/baibot
|
||||||
matrix_bot_baibot_version: v1.5.1
|
matrix_bot_baibot_version: v1.6.0
|
||||||
matrix_bot_baibot_container_image: "{{ matrix_bot_baibot_container_image_registry_prefix }}etkecc/baibot:{{ matrix_bot_baibot_version }}"
|
matrix_bot_baibot_container_image: "{{ matrix_bot_baibot_container_image_registry_prefix }}etkecc/baibot:{{ matrix_bot_baibot_version }}"
|
||||||
matrix_bot_baibot_container_image_registry_prefix: "{{ 'localhost/' if matrix_bot_baibot_container_image_self_build else matrix_bot_baibot_container_image_registry_prefix_upstream }}"
|
matrix_bot_baibot_container_image_registry_prefix: "{{ 'localhost/' if matrix_bot_baibot_container_image_self_build else matrix_bot_baibot_container_image_registry_prefix_upstream }}"
|
||||||
matrix_bot_baibot_container_image_registry_prefix_upstream: "{{ matrix_bot_baibot_container_image_registry_prefix_upstream_default }}"
|
matrix_bot_baibot_container_image_registry_prefix_upstream: "{{ matrix_bot_baibot_container_image_registry_prefix_upstream_default }}"
|
||||||
@@ -368,7 +368,7 @@ matrix_bot_baibot_config_agents_static_definitions_openai_config_api_key: ""
|
|||||||
|
|
||||||
matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_enabled: true
|
matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_enabled: true
|
||||||
# For valid model choices, see: https://platform.openai.com/docs/models
|
# For valid model choices, see: https://platform.openai.com/docs/models
|
||||||
matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_model_id: gpt-4o
|
matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_model_id: gpt-4.1
|
||||||
# The prompt text to use (can be null or empty to not use a prompt).
|
# The prompt text to use (can be null or empty to not use a prompt).
|
||||||
# See: https://huggingface.co/docs/transformers/en/tasks/prompting
|
# See: https://huggingface.co/docs/transformers/en/tasks/prompting
|
||||||
matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_prompt: "{{ matrix_bot_baibot_config_agents_static_definitions_prompt }}"
|
matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_prompt: "{{ matrix_bot_baibot_config_agents_static_definitions_prompt }}"
|
||||||
|
|||||||
@@ -10,8 +10,8 @@
|
|||||||
path: "{{ item.path }}"
|
path: "{{ item.path }}"
|
||||||
state: directory
|
state: directory
|
||||||
mode: 0750
|
mode: 0750
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- {path: "{{ matrix_bot_baibot_base_path }}", when: true}
|
- {path: "{{ matrix_bot_baibot_base_path }}", when: true}
|
||||||
- {path: "{{ matrix_bot_baibot_config_path }}", when: true}
|
- {path: "{{ matrix_bot_baibot_config_path }}", when: true}
|
||||||
@@ -24,15 +24,15 @@
|
|||||||
content: "{{ matrix_bot_baibot_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
content: "{{ matrix_bot_baibot_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
||||||
dest: "{{ matrix_bot_baibot_config_path }}/config.yml"
|
dest: "{{ matrix_bot_baibot_config_path }}/config.yml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure baibot environment variables file created
|
- name: Ensure baibot environment variables file created
|
||||||
ansible.builtin.template:
|
ansible.builtin.template:
|
||||||
src: "{{ role_path }}/templates/env.j2"
|
src: "{{ role_path }}/templates/env.j2"
|
||||||
dest: "{{ matrix_bot_baibot_config_path }}/env"
|
dest: "{{ matrix_bot_baibot_config_path }}/env"
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
mode: 0640
|
mode: 0640
|
||||||
|
|
||||||
- name: Ensure baibot container image is pulled
|
- name: Ensure baibot container image is pulled
|
||||||
@@ -56,7 +56,7 @@
|
|||||||
dest: "{{ matrix_bot_baibot_container_src_files_path }}"
|
dest: "{{ matrix_bot_baibot_container_src_files_path }}"
|
||||||
force: "yes"
|
force: "yes"
|
||||||
become: true
|
become: true
|
||||||
become_user: "{{ matrix_user_username }}"
|
become_user: "{{ matrix_user_name }}"
|
||||||
register: matrix_bot_baibot_git_pull_results
|
register: matrix_bot_baibot_git_pull_results
|
||||||
|
|
||||||
- name: Ensure baibot container image is built
|
- name: Ensure baibot container image is built
|
||||||
|
|||||||
@@ -39,8 +39,8 @@
|
|||||||
path: "{{ item.path }}"
|
path: "{{ item.path }}"
|
||||||
state: directory
|
state: directory
|
||||||
mode: 0750
|
mode: 0750
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- {path: "{{ matrix_bot_buscarron_config_path }}", when: true}
|
- {path: "{{ matrix_bot_buscarron_config_path }}", when: true}
|
||||||
- {path: "{{ matrix_bot_buscarron_data_path }}", when: true}
|
- {path: "{{ matrix_bot_buscarron_data_path }}", when: true}
|
||||||
@@ -52,8 +52,8 @@
|
|||||||
ansible.builtin.template:
|
ansible.builtin.template:
|
||||||
src: "{{ role_path }}/templates/{{ item }}.j2"
|
src: "{{ role_path }}/templates/{{ item }}.j2"
|
||||||
dest: "{{ matrix_bot_buscarron_config_path }}/{{ item }}"
|
dest: "{{ matrix_bot_buscarron_config_path }}/{{ item }}"
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
mode: 0640
|
mode: 0640
|
||||||
with_items:
|
with_items:
|
||||||
- env
|
- env
|
||||||
@@ -78,7 +78,7 @@
|
|||||||
dest: "{{ matrix_bot_buscarron_docker_src_files_path }}"
|
dest: "{{ matrix_bot_buscarron_docker_src_files_path }}"
|
||||||
force: "yes"
|
force: "yes"
|
||||||
become: true
|
become: true
|
||||||
become_user: "{{ matrix_user_username }}"
|
become_user: "{{ matrix_user_name }}"
|
||||||
register: matrix_bot_buscarron_git_pull_results
|
register: matrix_bot_buscarron_git_pull_results
|
||||||
when: "matrix_bot_buscarron_container_image_self_build | bool"
|
when: "matrix_bot_buscarron_container_image_self_build | bool"
|
||||||
|
|
||||||
|
|||||||
@@ -10,8 +10,8 @@
|
|||||||
path: "{{ item.path }}"
|
path: "{{ item.path }}"
|
||||||
state: directory
|
state: directory
|
||||||
mode: 0750
|
mode: 0750
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- {path: "{{ matrix_bot_chatgpt_config_path }}", when: true}
|
- {path: "{{ matrix_bot_chatgpt_config_path }}", when: true}
|
||||||
- {path: "{{ matrix_bot_chatgpt_data_path }}", when: true}
|
- {path: "{{ matrix_bot_chatgpt_data_path }}", when: true}
|
||||||
@@ -22,8 +22,8 @@
|
|||||||
ansible.builtin.template:
|
ansible.builtin.template:
|
||||||
src: "{{ role_path }}/templates/env.j2"
|
src: "{{ role_path }}/templates/env.j2"
|
||||||
dest: "{{ matrix_bot_chatgpt_config_path }}/env"
|
dest: "{{ matrix_bot_chatgpt_config_path }}/env"
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
mode: 0640
|
mode: 0640
|
||||||
|
|
||||||
- name: Ensure chatgpt container image is pulled
|
- name: Ensure chatgpt container image is pulled
|
||||||
@@ -47,7 +47,7 @@
|
|||||||
dest: "{{ matrix_bot_chatgpt_container_src_path }}"
|
dest: "{{ matrix_bot_chatgpt_container_src_path }}"
|
||||||
force: "yes"
|
force: "yes"
|
||||||
become: true
|
become: true
|
||||||
become_user: "{{ matrix_user_username }}"
|
become_user: "{{ matrix_user_name }}"
|
||||||
register: matrix_bot_chatgpt_git_pull_results
|
register: matrix_bot_chatgpt_git_pull_results
|
||||||
|
|
||||||
- name: Ensure chatgpt container image is built
|
- name: Ensure chatgpt container image is built
|
||||||
|
|||||||
@@ -157,13 +157,13 @@ matrix_bot_draupnir_configuration: "{{ matrix_bot_draupnir_configuration_yaml |
|
|||||||
# See `matrix_synapse_container_labels_traefik_enabled` or `matrix_synapse_container_labels_matrix_related_labels_enabled`
|
# See `matrix_synapse_container_labels_traefik_enabled` or `matrix_synapse_container_labels_matrix_related_labels_enabled`
|
||||||
matrix_bot_draupnir_container_labels_traefik_enabled: false
|
matrix_bot_draupnir_container_labels_traefik_enabled: false
|
||||||
matrix_bot_draupnir_container_labels_traefik_docker_network: "{{ matrix_draupnir_bot_container_network }}"
|
matrix_bot_draupnir_container_labels_traefik_docker_network: "{{ matrix_draupnir_bot_container_network }}"
|
||||||
matrix_bot_draupnir_container_labels_traefik_hostname: "{{ matrix_synapse_container_labels_traefik_hostname }}"
|
matrix_bot_draupnir_container_labels_web_abuseReporting_traefik_hostname: "{{ matrix_synapse_container_labels_traefik_hostname }}" # noqa var-naming
|
||||||
matrix_bot_draupnir_container_labels_traefik_path_regexp: "^/_matrix/client/(r0|v3)/rooms/([^/]*)/report/"
|
matrix_bot_draupnir_container_labels_web_abuseReporting_traefik_path_regexp: "^/_matrix/client/(r0|v3)/rooms/([^/]*)/report/(.*)$" # noqa var-naming
|
||||||
matrix_bot_draupnir_container_labels_traefik_rule: "Host(`{{ matrix_bot_draupnir_container_labels_traefik_hostname }}`) && PathRegexp(`{{ matrix_bot_draupnir_container_labels_traefik_path_regexp }}`)"
|
matrix_bot_draupnir_container_labels_web_abuseReporting_traefik_rule: "Host(`{{ matrix_bot_draupnir_container_labels_web_abuseReporting_traefik_hostname }}`) && PathRegexp(`{{ matrix_bot_draupnir_container_labels_web_abuseReporting_traefik_path_regexp }}`)" # noqa var-naming
|
||||||
matrix_bot_draupnir_container_labels_traefik_priority: 0
|
matrix_bot_draupnir_container_labels_web_abuseReporting_traefik_priority: 0 # noqa var-naming
|
||||||
matrix_bot_draupnir_container_labels_traefik_entrypoints: "{{ matrix_synapse_container_labels_traefik_entrypoints }}"
|
matrix_bot_draupnir_container_labels_web_abuseReporting_traefik_entrypoints: "{{ matrix_synapse_container_labels_traefik_entrypoints }}" # noqa var-naming
|
||||||
matrix_bot_draupnir_container_labels_traefik_tls: "{{ matrix_bot_draupnir_container_labels_traefik_entrypoints != 'web' }}"
|
matrix_bot_draupnir_container_labels_web_abuseReporting_traefik_tls: "{{ matrix_bot_draupnir_container_labels_web_abuseReporting_traefik_entrypoints != 'web' }}" # noqa var-naming
|
||||||
matrix_bot_draupnir_container_labels_traefik_tls_certResolver: "{{ matrix_synapse_container_labels_traefik_tls_certResolver }}" # noqa var-naming
|
matrix_bot_draupnir_container_labels_web_abuseReporting_traefik_tls_certResolver: "{{ matrix_synapse_container_labels_traefik_tls_certResolver }}" # noqa var-naming
|
||||||
# matrix_bot_draupnir_container_labels_traefik_labels_additional_labels contains a multiline string with additional labels to add to the container label file.
|
# matrix_bot_draupnir_container_labels_traefik_labels_additional_labels contains a multiline string with additional labels to add to the container label file.
|
||||||
# See `../templates/labels.j2` for details.
|
# See `../templates/labels.j2` for details.
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -16,8 +16,8 @@
|
|||||||
path: "{{ item.path }}"
|
path: "{{ item.path }}"
|
||||||
state: directory
|
state: directory
|
||||||
mode: 0750
|
mode: 0750
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- {path: "{{ matrix_bot_draupnir_base_path }}", when: true}
|
- {path: "{{ matrix_bot_draupnir_base_path }}", when: true}
|
||||||
- {path: "{{ matrix_bot_draupnir_config_path }}", when: true}
|
- {path: "{{ matrix_bot_draupnir_config_path }}", when: true}
|
||||||
@@ -29,8 +29,8 @@
|
|||||||
ansible.builtin.template:
|
ansible.builtin.template:
|
||||||
src: "{{ item.src }}"
|
src: "{{ item.src }}"
|
||||||
dest: "{{ item.dest }}"
|
dest: "{{ item.dest }}"
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
with_items:
|
with_items:
|
||||||
- src: "{{ role_path }}/templates/labels.j2"
|
- src: "{{ role_path }}/templates/labels.j2"
|
||||||
@@ -55,7 +55,7 @@
|
|||||||
version: "{{ matrix_bot_draupnir_docker_image.split(':')[1] }}"
|
version: "{{ matrix_bot_draupnir_docker_image.split(':')[1] }}"
|
||||||
force: "yes"
|
force: "yes"
|
||||||
become: true
|
become: true
|
||||||
become_user: "{{ matrix_user_username }}"
|
become_user: "{{ matrix_user_name }}"
|
||||||
register: matrix_bot_draupnir_git_pull_results
|
register: matrix_bot_draupnir_git_pull_results
|
||||||
when: "matrix_bot_draupnir_container_image_self_build | bool"
|
when: "matrix_bot_draupnir_container_image_self_build | bool"
|
||||||
|
|
||||||
@@ -75,8 +75,8 @@
|
|||||||
content: "{{ matrix_bot_draupnir_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
content: "{{ matrix_bot_draupnir_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
||||||
dest: "{{ matrix_bot_draupnir_config_path }}/production.yaml"
|
dest: "{{ matrix_bot_draupnir_config_path }}/production.yaml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure matrix-bot-draupnir container network is created
|
- name: Ensure matrix-bot-draupnir container network is created
|
||||||
community.general.docker_network:
|
community.general.docker_network:
|
||||||
|
|||||||
@@ -24,6 +24,13 @@
|
|||||||
- {'old': 'matrix_bot_draupnir_web_enabled', 'new': 'matrix_bot_draupnir_config_web_enabled'}
|
- {'old': 'matrix_bot_draupnir_web_enabled', 'new': 'matrix_bot_draupnir_config_web_enabled'}
|
||||||
- {'old': 'matrix_bot_draupnir_abuse_reporting_enabled', 'new': 'matrix_bot_draupnir_config_web_abuseReporting'}
|
- {'old': 'matrix_bot_draupnir_abuse_reporting_enabled', 'new': 'matrix_bot_draupnir_config_web_abuseReporting'}
|
||||||
- {'old': 'matrix_bot_draupnir_display_reports', 'new': 'matrix_bot_draupnir_config_displayReports'}
|
- {'old': 'matrix_bot_draupnir_display_reports', 'new': 'matrix_bot_draupnir_config_displayReports'}
|
||||||
|
- {'old': 'matrix_bot_draupnir_container_labels_traefik_hostname', 'new': 'matrix_bot_draupnir_container_labels_web_abuseReporting_traefik_hostname'}
|
||||||
|
- {'old': 'matrix_bot_draupnir_container_labels_traefik_path_regexp', 'new': 'matrix_bot_draupnir_container_labels_web_abuseReporting_traefik_path_regexp'}
|
||||||
|
- {'old': 'matrix_bot_draupnir_container_labels_traefik_rule', 'new': 'matrix_bot_draupnir_container_labels_web_abuseReporting_traefik_rule'}
|
||||||
|
- {'old': 'matrix_bot_draupnir_container_labels_traefik_priority', 'new': 'matrix_bot_draupnir_container_labels_web_abuseReporting_traefik_priority'}
|
||||||
|
- {'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'}
|
||||||
|
|
||||||
- name: Fail if required matrix-bot-draupnir variables are undefined
|
- name: Fail if required matrix-bot-draupnir variables are undefined
|
||||||
ansible.builtin.fail:
|
ansible.builtin.fail:
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
{#
|
{#
|
||||||
SPDX-FileCopyrightText: 2024 MDAD project contributors
|
SPDX-FileCopyrightText: 2024 MDAD project contributors
|
||||||
|
SPDX-FileCopyrightText: 2025 Catalan Lover <catalanlover@protonmail.com>
|
||||||
|
|
||||||
SPDX-License-Identifier: AGPL-3.0-or-later
|
SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
#}
|
#}
|
||||||
@@ -13,6 +14,7 @@ traefik.docker.network={{ matrix_bot_draupnir_container_labels_traefik_docker_ne
|
|||||||
|
|
||||||
traefik.http.services.matrix-bot-draupnir.loadbalancer.server.port=8080
|
traefik.http.services.matrix-bot-draupnir.loadbalancer.server.port=8080
|
||||||
|
|
||||||
|
{% if matrix_bot_draupnir_config_web_abuseReporting %}
|
||||||
############################################################
|
############################################################
|
||||||
# #
|
# #
|
||||||
# Abuse Reports (/_matrix/client/../rooms/../report) #
|
# Abuse Reports (/_matrix/client/../rooms/../report) #
|
||||||
@@ -21,32 +23,32 @@ traefik.http.services.matrix-bot-draupnir.loadbalancer.server.port=8080
|
|||||||
|
|
||||||
{% set middlewares = [] %}
|
{% set middlewares = [] %}
|
||||||
|
|
||||||
traefik.http.middlewares.matrix-bot-draupnir-redirect.replacepathregex.regex=^/_matrix/client/(r0|v3)/rooms/([^/]*)/report/(.*)$
|
traefik.http.middlewares.matrix-bot-draupnir-web-abuseReporting-redirect.replacepathregex.regex={{ matrix_bot_draupnir_container_labels_web_abuseReporting_traefik_path_regexp }}
|
||||||
traefik.http.middlewares.matrix-bot-draupnir-redirect.replacepathregex.replacement=/api/1/report/$2/$3
|
traefik.http.middlewares.matrix-bot-draupnir-web-abuseReporting-redirect.replacepathregex.replacement=/api/1/report/$2/$3
|
||||||
|
|
||||||
{% set middlewares = middlewares + ['matrix-bot-draupnir-redirect'] %}
|
{% set middlewares = middlewares + ['matrix-bot-draupnir-web-abuseReporting-redirect'] %}
|
||||||
|
|
||||||
traefik.http.middlewares.matrix-bot-draupnir-cors.headers.accesscontrolalloworiginlist=*
|
traefik.http.middlewares.matrix-bot-draupnir-web-abuseReporting-cors.headers.accesscontrolalloworiginlist=*
|
||||||
traefik.http.middlewares.matrix-bot-draupnir-cors.headers.accesscontrolallowheaders=Content-Type,Authorization
|
traefik.http.middlewares.matrix-bot-draupnir-web-abuseReporting-cors.headers.accesscontrolallowheaders=Content-Type,Authorization
|
||||||
traefik.http.middlewares.matrix-bot-draupnir-cors.headers.accesscontrolallowmethods=POST,OPTIONS
|
traefik.http.middlewares.matrix-bot-draupnir-web-abuseReporting-cors.headers.accesscontrolallowmethods=POST,OPTIONS
|
||||||
|
|
||||||
{% set middlewares = middlewares + ['matrix-bot-draupnir-cors'] %}
|
{% set middlewares = middlewares + ['matrix-bot-draupnir-web-abuseReporting-cors'] %}
|
||||||
|
|
||||||
traefik.http.routers.matrix-bot-draupnir.rule={{ matrix_bot_draupnir_container_labels_traefik_rule }}
|
traefik.http.routers.matrix-bot-draupnir-web-abuseReporting.rule={{ matrix_bot_draupnir_container_labels_web_abuseReporting_traefik_rule }}
|
||||||
|
|
||||||
{% if matrix_bot_draupnir_container_labels_traefik_priority | int > 0 %}
|
{% if matrix_bot_draupnir_container_labels_web_abuseReporting_traefik_priority | int > 0 %}
|
||||||
traefik.http.routers.matrix-bot-draupnir.priority={{ matrix_bot_draupnir_container_labels_traefik_priority }}
|
traefik.http.routers.matrix-bot-draupnir-web-abuseReporting.priority={{ matrix_bot_draupnir_container_labels_web_abuseReporting_traefik_priority }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if middlewares | length > 0 %}
|
{% if middlewares | length > 0 %}
|
||||||
traefik.http.routers.matrix-bot-draupnir.middlewares={{ middlewares | join(',') }}
|
traefik.http.routers.matrix-bot-draupnir-web-abuseReporting.middlewares={{ middlewares | join(',') }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
traefik.http.routers.matrix-bot-draupnir.service=matrix-bot-draupnir
|
traefik.http.routers.matrix-bot-draupnir-web-abuseReporting.service=matrix-bot-draupnir
|
||||||
traefik.http.routers.matrix-bot-draupnir.entrypoints={{ matrix_bot_draupnir_container_labels_traefik_entrypoints }}
|
traefik.http.routers.matrix-bot-draupnir-web-abuseReporting.entrypoints={{ matrix_bot_draupnir_container_labels_web_abuseReporting_traefik_entrypoints }}
|
||||||
traefik.http.routers.matrix-bot-draupnir.tls={{ matrix_bot_draupnir_container_labels_traefik_tls | to_json }}
|
traefik.http.routers.matrix-bot-draupnir-web-abuseReporting.tls={{ matrix_bot_draupnir_container_labels_web_abuseReporting_traefik_tls | to_json }}
|
||||||
|
|
||||||
{% if matrix_bot_draupnir_container_labels_traefik_tls %}
|
{% if matrix_bot_draupnir_container_labels_web_abuseReporting_traefik_tls %}
|
||||||
traefik.http.routers.matrix-bot-draupnir.tls.certResolver={{ matrix_bot_draupnir_container_labels_traefik_tls_certResolver }}
|
traefik.http.routers.matrix-bot-draupnir-web-abuseReporting.tls.certResolver={{ matrix_bot_draupnir_container_labels_web_abuseReporting_traefik_tls_certResolver }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
############################################################
|
############################################################
|
||||||
@@ -55,5 +57,6 @@ traefik.http.routers.matrix-bot-draupnir.tls.certResolver={{ matrix_bot_draupnir
|
|||||||
# #
|
# #
|
||||||
############################################################
|
############################################################
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
{{ matrix_bot_draupnir_container_labels_traefik_labels_additional_labels }}
|
{{ matrix_bot_draupnir_container_labels_traefik_labels_additional_labels }}
|
||||||
|
|||||||
@@ -15,8 +15,8 @@
|
|||||||
path: "{{ item.path }}"
|
path: "{{ item.path }}"
|
||||||
state: directory
|
state: directory
|
||||||
mode: 0750
|
mode: 0750
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- {path: "{{ matrix_bot_go_neb_config_path }}", when: true}
|
- {path: "{{ matrix_bot_go_neb_config_path }}", when: true}
|
||||||
- {path: "{{ matrix_bot_go_neb_data_path }}", when: true}
|
- {path: "{{ matrix_bot_go_neb_data_path }}", when: true}
|
||||||
@@ -28,16 +28,16 @@
|
|||||||
content: "{{ matrix_bot_go_neb_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
content: "{{ matrix_bot_go_neb_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
||||||
dest: "{{ matrix_bot_go_neb_config_path }}/config.yaml"
|
dest: "{{ matrix_bot_go_neb_config_path }}/config.yaml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure go-neb support files installed
|
- name: Ensure go-neb support files installed
|
||||||
ansible.builtin.template:
|
ansible.builtin.template:
|
||||||
src: "{{ role_path }}/templates/{{ item }}.j2"
|
src: "{{ role_path }}/templates/{{ item }}.j2"
|
||||||
dest: "{{ matrix_bot_go_neb_base_path }}/{{ item }}"
|
dest: "{{ matrix_bot_go_neb_base_path }}/{{ item }}"
|
||||||
mode: 0640
|
mode: 0640
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- env
|
- env
|
||||||
- labels
|
- labels
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ matrix_bot_honoroit_docker_repo_version: "{{ matrix_bot_honoroit_version }}"
|
|||||||
matrix_bot_honoroit_docker_src_files_path: "{{ matrix_base_data_path }}/honoroit/docker-src"
|
matrix_bot_honoroit_docker_src_files_path: "{{ matrix_base_data_path }}/honoroit/docker-src"
|
||||||
|
|
||||||
# renovate: datasource=docker depName=ghcr.io/etkecc/honoroit
|
# renovate: datasource=docker depName=ghcr.io/etkecc/honoroit
|
||||||
matrix_bot_honoroit_version: v0.9.27
|
matrix_bot_honoroit_version: v0.9.28
|
||||||
matrix_bot_honoroit_docker_image: "{{ matrix_bot_honoroit_docker_image_registry_prefix }}etkecc/honoroit:{{ matrix_bot_honoroit_version }}"
|
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: "{{ '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: "{{ matrix_bot_honoroit_docker_image_registry_prefix_upstream_default }}"
|
||||||
|
|||||||
@@ -41,8 +41,8 @@
|
|||||||
path: "{{ item.path }}"
|
path: "{{ item.path }}"
|
||||||
state: directory
|
state: directory
|
||||||
mode: 0750
|
mode: 0750
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- {path: "{{ matrix_bot_honoroit_config_path }}", when: true}
|
- {path: "{{ matrix_bot_honoroit_config_path }}", when: true}
|
||||||
- {path: "{{ matrix_bot_honoroit_data_path }}", when: true}
|
- {path: "{{ matrix_bot_honoroit_data_path }}", when: true}
|
||||||
@@ -54,8 +54,8 @@
|
|||||||
ansible.builtin.template:
|
ansible.builtin.template:
|
||||||
src: "{{ role_path }}/templates/{{ item }}.j2"
|
src: "{{ role_path }}/templates/{{ item }}.j2"
|
||||||
dest: "{{ matrix_bot_honoroit_config_path }}/{{ item }}"
|
dest: "{{ matrix_bot_honoroit_config_path }}/{{ item }}"
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
mode: 0640
|
mode: 0640
|
||||||
with_items:
|
with_items:
|
||||||
- env
|
- env
|
||||||
@@ -80,7 +80,7 @@
|
|||||||
dest: "{{ matrix_bot_honoroit_docker_src_files_path }}"
|
dest: "{{ matrix_bot_honoroit_docker_src_files_path }}"
|
||||||
force: "yes"
|
force: "yes"
|
||||||
become: true
|
become: true
|
||||||
become_user: "{{ matrix_user_username }}"
|
become_user: "{{ matrix_user_name }}"
|
||||||
register: matrix_bot_honoroit_git_pull_results
|
register: matrix_bot_honoroit_git_pull_results
|
||||||
when: "matrix_bot_honoroit_container_image_self_build | bool"
|
when: "matrix_bot_honoroit_container_image_self_build | bool"
|
||||||
|
|
||||||
|
|||||||
@@ -9,8 +9,8 @@
|
|||||||
state: "{{ item }}"
|
state: "{{ item }}"
|
||||||
path: "{{ matrix_bot_matrix_registration_bot_data_path }}"
|
path: "{{ matrix_bot_matrix_registration_bot_data_path }}"
|
||||||
mode: 0750
|
mode: 0750
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- absent
|
- absent
|
||||||
- directory
|
- directory
|
||||||
|
|||||||
@@ -13,8 +13,8 @@
|
|||||||
path: "{{ item.path }}"
|
path: "{{ item.path }}"
|
||||||
state: directory
|
state: directory
|
||||||
mode: 0750
|
mode: 0750
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- {path: "{{ matrix_bot_matrix_registration_bot_config_path }}", when: true}
|
- {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_data_path }}", when: true}
|
||||||
@@ -25,8 +25,8 @@
|
|||||||
ansible.builtin.template:
|
ansible.builtin.template:
|
||||||
src: "{{ role_path }}/templates/config.yaml.j2"
|
src: "{{ role_path }}/templates/config.yaml.j2"
|
||||||
dest: "{{ matrix_bot_matrix_registration_bot_config_path }}/config.yaml"
|
dest: "{{ matrix_bot_matrix_registration_bot_config_path }}/config.yaml"
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
mode: 0640
|
mode: 0640
|
||||||
|
|
||||||
- name: Ensure matrix-registration-bot image is pulled
|
- name: Ensure matrix-registration-bot image is pulled
|
||||||
@@ -50,7 +50,7 @@
|
|||||||
dest: "{{ matrix_bot_matrix_registration_bot_docker_src_files_path }}"
|
dest: "{{ matrix_bot_matrix_registration_bot_docker_src_files_path }}"
|
||||||
force: "yes"
|
force: "yes"
|
||||||
become: true
|
become: true
|
||||||
become_user: "{{ matrix_user_username }}"
|
become_user: "{{ matrix_user_name }}"
|
||||||
register: matrix_bot_matrix_registration_bot_git_pull_results
|
register: matrix_bot_matrix_registration_bot_git_pull_results
|
||||||
|
|
||||||
- name: Ensure matrix-registration-bot image is built
|
- name: Ensure matrix-registration-bot image is built
|
||||||
|
|||||||
@@ -43,8 +43,8 @@
|
|||||||
path: "{{ item.path }}"
|
path: "{{ item.path }}"
|
||||||
state: directory
|
state: directory
|
||||||
mode: 0750
|
mode: 0750
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- {path: "{{ matrix_bot_matrix_reminder_bot_config_path }}", when: true}
|
- {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_path }}", when: true}
|
||||||
@@ -71,7 +71,7 @@
|
|||||||
dest: "{{ matrix_bot_matrix_reminder_bot_docker_src_files_path }}"
|
dest: "{{ matrix_bot_matrix_reminder_bot_docker_src_files_path }}"
|
||||||
force: "yes"
|
force: "yes"
|
||||||
become: true
|
become: true
|
||||||
become_user: "{{ matrix_user_username }}"
|
become_user: "{{ matrix_user_name }}"
|
||||||
register: matrix_bot_matrix_reminder_bot_git_pull_results
|
register: matrix_bot_matrix_reminder_bot_git_pull_results
|
||||||
when: "matrix_bot_matrix_reminder_bot_container_image_self_build | bool"
|
when: "matrix_bot_matrix_reminder_bot_container_image_self_build | bool"
|
||||||
|
|
||||||
@@ -92,8 +92,8 @@
|
|||||||
content: "{{ matrix_bot_matrix_reminder_bot_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
content: "{{ matrix_bot_matrix_reminder_bot_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
||||||
dest: "{{ matrix_bot_matrix_reminder_bot_config_path }}/config.yaml"
|
dest: "{{ matrix_bot_matrix_reminder_bot_config_path }}/config.yaml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure matrix-reminder-bot container network is created
|
- name: Ensure matrix-reminder-bot container network is created
|
||||||
community.general.docker_network:
|
community.general.docker_network:
|
||||||
|
|||||||
@@ -14,8 +14,8 @@
|
|||||||
path: "{{ item.path }}"
|
path: "{{ item.path }}"
|
||||||
state: directory
|
state: directory
|
||||||
mode: 0755
|
mode: 0755
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- {path: "{{ matrix_bot_maubot_base_path }}", when: true}
|
- {path: "{{ matrix_bot_maubot_base_path }}", when: true}
|
||||||
- {path: "{{ matrix_bot_maubot_config_path }}", when: true}
|
- {path: "{{ matrix_bot_maubot_config_path }}", when: true}
|
||||||
@@ -31,8 +31,8 @@
|
|||||||
ansible.builtin.template:
|
ansible.builtin.template:
|
||||||
src: "{{ role_path }}/templates/config.yaml.j2"
|
src: "{{ role_path }}/templates/config.yaml.j2"
|
||||||
dest: "{{ matrix_bot_maubot_config_path }}/config.yaml"
|
dest: "{{ matrix_bot_maubot_config_path }}/config.yaml"
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
mode: "u=rwx"
|
mode: "u=rwx"
|
||||||
|
|
||||||
- name: Ensure maubot image is pulled
|
- name: Ensure maubot image is pulled
|
||||||
@@ -56,7 +56,7 @@
|
|||||||
dest: "{{ matrix_bot_maubot_docker_src_files_path }}"
|
dest: "{{ matrix_bot_maubot_docker_src_files_path }}"
|
||||||
force: "yes"
|
force: "yes"
|
||||||
become: true
|
become: true
|
||||||
become_user: "{{ matrix_user_username }}"
|
become_user: "{{ matrix_user_name }}"
|
||||||
register: matrix_bot_maubot_git_pull_results
|
register: matrix_bot_maubot_git_pull_results
|
||||||
|
|
||||||
- name: Ensure maubot image is built
|
- name: Ensure maubot image is built
|
||||||
@@ -76,8 +76,8 @@
|
|||||||
ansible.builtin.template:
|
ansible.builtin.template:
|
||||||
src: "{{ role_path }}/templates/customizations/Dockerfile.j2"
|
src: "{{ role_path }}/templates/customizations/Dockerfile.j2"
|
||||||
dest: "{{ matrix_bot_maubot_customized_docker_src_files_path }}/Dockerfile"
|
dest: "{{ matrix_bot_maubot_customized_docker_src_files_path }}/Dockerfile"
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
mode: 0640
|
mode: 0640
|
||||||
register: matrix_bot_maubot_container_image_customizations_dockerfile_result
|
register: matrix_bot_maubot_container_image_customizations_dockerfile_result
|
||||||
|
|
||||||
@@ -96,8 +96,8 @@
|
|||||||
src: "{{ role_path }}/templates/{{ item }}.j2"
|
src: "{{ role_path }}/templates/{{ item }}.j2"
|
||||||
dest: "{{ matrix_bot_maubot_base_path }}/{{ item }}"
|
dest: "{{ matrix_bot_maubot_base_path }}/{{ item }}"
|
||||||
mode: 0640
|
mode: 0640
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- labels
|
- labels
|
||||||
|
|
||||||
|
|||||||
@@ -18,8 +18,8 @@
|
|||||||
path: "{{ item.path }}"
|
path: "{{ item.path }}"
|
||||||
state: directory
|
state: directory
|
||||||
mode: 0750
|
mode: 0750
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- {path: "{{ matrix_bot_mjolnir_base_path }}", when: true}
|
- {path: "{{ matrix_bot_mjolnir_base_path }}", when: true}
|
||||||
- {path: "{{ matrix_bot_mjolnir_config_path }}", when: true}
|
- {path: "{{ matrix_bot_mjolnir_config_path }}", when: true}
|
||||||
@@ -46,7 +46,7 @@
|
|||||||
version: "{{ matrix_bot_mjolnir_docker_image.split(':')[1] }}"
|
version: "{{ matrix_bot_mjolnir_docker_image.split(':')[1] }}"
|
||||||
force: "yes"
|
force: "yes"
|
||||||
become: true
|
become: true
|
||||||
become_user: "{{ matrix_user_username }}"
|
become_user: "{{ matrix_user_name }}"
|
||||||
register: matrix_bot_mjolnir_git_pull_results
|
register: matrix_bot_mjolnir_git_pull_results
|
||||||
when: "matrix_bot_mjolnir_container_image_self_build | bool"
|
when: "matrix_bot_mjolnir_container_image_self_build | bool"
|
||||||
|
|
||||||
@@ -66,8 +66,8 @@
|
|||||||
content: "{{ matrix_bot_mjolnir_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
content: "{{ matrix_bot_mjolnir_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
||||||
dest: "{{ matrix_bot_mjolnir_config_path }}/production.yaml"
|
dest: "{{ matrix_bot_mjolnir_config_path }}/production.yaml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure matrix-bot-mjolnir container network is created
|
- name: Ensure matrix-bot-mjolnir container network is created
|
||||||
community.general.docker_network:
|
community.general.docker_network:
|
||||||
|
|||||||
@@ -56,8 +56,8 @@
|
|||||||
path: "{{ item }}"
|
path: "{{ item }}"
|
||||||
state: directory
|
state: directory
|
||||||
mode: 0750
|
mode: 0750
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- "{{ matrix_appservice_discord_base_path }}"
|
- "{{ matrix_appservice_discord_base_path }}"
|
||||||
- "{{ matrix_appservice_discord_config_path }}"
|
- "{{ matrix_appservice_discord_config_path }}"
|
||||||
@@ -93,16 +93,16 @@
|
|||||||
content: "{{ matrix_appservice_discord_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
content: "{{ matrix_appservice_discord_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
||||||
dest: "{{ matrix_appservice_discord_config_path }}/config.yaml"
|
dest: "{{ matrix_appservice_discord_config_path }}/config.yaml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure AppService Discord registration.yaml installed
|
- name: Ensure AppService Discord registration.yaml installed
|
||||||
ansible.builtin.copy:
|
ansible.builtin.copy:
|
||||||
content: "{{ matrix_appservice_discord_registration | to_nice_yaml(indent=2, width=999999) }}"
|
content: "{{ matrix_appservice_discord_registration | to_nice_yaml(indent=2, width=999999) }}"
|
||||||
dest: "{{ matrix_appservice_discord_config_path }}/registration.yaml"
|
dest: "{{ matrix_appservice_discord_config_path }}/registration.yaml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
# If `matrix_appservice_discord_client_id` hasn't changed, the same invite link would be generated.
|
# If `matrix_appservice_discord_client_id` hasn't changed, the same invite link would be generated.
|
||||||
# We intentionally suppress Ansible changes.
|
# We intentionally suppress Ansible changes.
|
||||||
|
|||||||
@@ -22,8 +22,8 @@
|
|||||||
path: "{{ item.path }}"
|
path: "{{ item.path }}"
|
||||||
state: directory
|
state: directory
|
||||||
mode: 0750
|
mode: 0750
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- {path: "{{ matrix_appservice_irc_base_path }}", when: true}
|
- {path: "{{ matrix_appservice_irc_base_path }}", when: true}
|
||||||
- {path: "{{ matrix_appservice_irc_config_path }}", when: true}
|
- {path: "{{ matrix_appservice_irc_config_path }}", when: true}
|
||||||
@@ -97,7 +97,7 @@
|
|||||||
dest: "{{ matrix_appservice_irc_docker_src_files_path }}"
|
dest: "{{ matrix_appservice_irc_docker_src_files_path }}"
|
||||||
force: "yes"
|
force: "yes"
|
||||||
become: true
|
become: true
|
||||||
become_user: "{{ matrix_user_username }}"
|
become_user: "{{ matrix_user_name }}"
|
||||||
register: matrix_appservice_irc_git_pull_results
|
register: matrix_appservice_irc_git_pull_results
|
||||||
when: "matrix_appservice_irc_enabled | bool and matrix_appservice_irc_container_image_self_build | bool"
|
when: "matrix_appservice_irc_enabled | bool and matrix_appservice_irc_container_image_self_build | bool"
|
||||||
|
|
||||||
@@ -118,15 +118,15 @@
|
|||||||
content: "{{ matrix_appservice_irc_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
content: "{{ matrix_appservice_irc_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
||||||
dest: "{{ matrix_appservice_irc_config_path }}/config.yaml"
|
dest: "{{ matrix_appservice_irc_config_path }}/config.yaml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Generate Appservice IRC passkey if it doesn't exist
|
- name: Generate Appservice IRC passkey if it doesn't exist
|
||||||
ansible.builtin.shell:
|
ansible.builtin.shell:
|
||||||
cmd: "{{ matrix_host_command_openssl }} genpkey -out {{ matrix_appservice_irc_data_path }}/passkey.pem -outform PEM -algorithm RSA -pkeyopt rsa_keygen_bits:2048"
|
cmd: "{{ matrix_host_command_openssl }} genpkey -out {{ matrix_appservice_irc_data_path }}/passkey.pem -outform PEM -algorithm RSA -pkeyopt rsa_keygen_bits:2048"
|
||||||
creates: "{{ matrix_appservice_irc_data_path }}/passkey.pem"
|
creates: "{{ matrix_appservice_irc_data_path }}/passkey.pem"
|
||||||
become: true
|
become: true
|
||||||
become_user: "{{ matrix_user_username }}"
|
become_user: "{{ matrix_user_name }}"
|
||||||
|
|
||||||
# In the past, we used to generate the passkey.pem file with root, so permissions may not be okay.
|
# In the past, we used to generate the passkey.pem file with root, so permissions may not be okay.
|
||||||
# Fix it.
|
# Fix it.
|
||||||
@@ -134,8 +134,8 @@
|
|||||||
ansible.builtin.file:
|
ansible.builtin.file:
|
||||||
path: "{{ matrix_appservice_irc_data_path }}/passkey.pem"
|
path: "{{ matrix_appservice_irc_data_path }}/passkey.pem"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
# Ideally, we'd like to generate the final registration.yaml file by ourselves.
|
# Ideally, we'd like to generate the final registration.yaml file by ourselves.
|
||||||
#
|
#
|
||||||
@@ -198,8 +198,8 @@
|
|||||||
content: "{{ matrix_appservice_irc_registration | to_nice_yaml(indent=2, width=999999) }}"
|
content: "{{ matrix_appservice_irc_registration | to_nice_yaml(indent=2, width=999999) }}"
|
||||||
dest: "{{ matrix_appservice_irc_config_path }}/registration.yaml"
|
dest: "{{ matrix_appservice_irc_config_path }}/registration.yaml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure matrix-appservice-irc container network is created
|
- name: Ensure matrix-appservice-irc container network is created
|
||||||
community.general.docker_network:
|
community.general.docker_network:
|
||||||
|
|||||||
@@ -35,8 +35,8 @@
|
|||||||
path: "{{ item.path }}"
|
path: "{{ item.path }}"
|
||||||
state: directory
|
state: directory
|
||||||
mode: 0750
|
mode: 0750
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- {path: "{{ matrix_appservice_kakaotalk_base_path }}", when: true}
|
- {path: "{{ matrix_appservice_kakaotalk_base_path }}", when: true}
|
||||||
- {path: "{{ matrix_appservice_kakaotalk_config_path }}", when: true}
|
- {path: "{{ matrix_appservice_kakaotalk_config_path }}", when: true}
|
||||||
@@ -51,7 +51,7 @@
|
|||||||
version: "{{ matrix_appservice_kakaotalk_container_image_self_build_repo_version }}"
|
version: "{{ matrix_appservice_kakaotalk_container_image_self_build_repo_version }}"
|
||||||
force: "yes"
|
force: "yes"
|
||||||
become: true
|
become: true
|
||||||
become_user: "{{ matrix_user_username }}"
|
become_user: "{{ matrix_user_name }}"
|
||||||
register: matrix_appservice_kakaotalk_git_pull_results
|
register: matrix_appservice_kakaotalk_git_pull_results
|
||||||
when: "matrix_appservice_kakaotalk_container_image_self_build | bool"
|
when: "matrix_appservice_kakaotalk_container_image_self_build | bool"
|
||||||
|
|
||||||
@@ -84,24 +84,24 @@
|
|||||||
content: "{{ matrix_appservice_kakaotalk_node_configuration | to_nice_json }}"
|
content: "{{ matrix_appservice_kakaotalk_node_configuration | to_nice_json }}"
|
||||||
dest: "{{ matrix_appservice_kakaotalk_config_path }}/node-config.json"
|
dest: "{{ matrix_appservice_kakaotalk_config_path }}/node-config.json"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure matrix-appservice-kakaotalk config.yaml installed
|
- name: Ensure matrix-appservice-kakaotalk config.yaml installed
|
||||||
ansible.builtin.copy:
|
ansible.builtin.copy:
|
||||||
content: "{{ matrix_appservice_kakaotalk_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
content: "{{ matrix_appservice_kakaotalk_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
||||||
dest: "{{ matrix_appservice_kakaotalk_config_path }}/config.yaml"
|
dest: "{{ matrix_appservice_kakaotalk_config_path }}/config.yaml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure matrix-appservice-kakaotalk registration.yaml installed
|
- name: Ensure matrix-appservice-kakaotalk registration.yaml installed
|
||||||
ansible.builtin.copy:
|
ansible.builtin.copy:
|
||||||
content: "{{ matrix_appservice_kakaotalk_registration | to_nice_yaml(indent=2, width=999999) }}"
|
content: "{{ matrix_appservice_kakaotalk_registration | to_nice_yaml(indent=2, width=999999) }}"
|
||||||
dest: "{{ matrix_appservice_kakaotalk_config_path }}/registration.yaml"
|
dest: "{{ matrix_appservice_kakaotalk_config_path }}/registration.yaml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure matrix-appservice-kakaotalk container network is created
|
- name: Ensure matrix-appservice-kakaotalk container network is created
|
||||||
community.general.docker_network:
|
community.general.docker_network:
|
||||||
|
|||||||
@@ -17,8 +17,8 @@
|
|||||||
path: "{{ item.path }}"
|
path: "{{ item.path }}"
|
||||||
state: directory
|
state: directory
|
||||||
mode: 0750
|
mode: 0750
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- {path: "{{ matrix_appservice_slack_base_path }}", when: true}
|
- {path: "{{ matrix_appservice_slack_base_path }}", when: true}
|
||||||
- {path: "{{ matrix_appservice_slack_config_path }}", when: true}
|
- {path: "{{ matrix_appservice_slack_config_path }}", when: true}
|
||||||
@@ -62,7 +62,7 @@
|
|||||||
dest: "{{ matrix_appservice_slack_docker_src_files_path }}"
|
dest: "{{ matrix_appservice_slack_docker_src_files_path }}"
|
||||||
force: "yes"
|
force: "yes"
|
||||||
become: true
|
become: true
|
||||||
become_user: "{{ matrix_user_username }}"
|
become_user: "{{ matrix_user_name }}"
|
||||||
register: matrix_appservice_slack_git_pull_results
|
register: matrix_appservice_slack_git_pull_results
|
||||||
when: "matrix_appservice_slack_container_image_self_build | bool"
|
when: "matrix_appservice_slack_container_image_self_build | bool"
|
||||||
|
|
||||||
@@ -83,16 +83,16 @@
|
|||||||
content: "{{ matrix_appservice_slack_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
content: "{{ matrix_appservice_slack_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
||||||
dest: "{{ matrix_appservice_slack_config_path }}/config.yaml"
|
dest: "{{ matrix_appservice_slack_config_path }}/config.yaml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure appservice-slack registration.yaml installed
|
- name: Ensure appservice-slack registration.yaml installed
|
||||||
ansible.builtin.copy:
|
ansible.builtin.copy:
|
||||||
content: "{{ matrix_appservice_slack_registration | to_nice_yaml(indent=2, width=999999) }}"
|
content: "{{ matrix_appservice_slack_registration | to_nice_yaml(indent=2, width=999999) }}"
|
||||||
dest: "{{ matrix_appservice_slack_config_path }}/slack-registration.yaml"
|
dest: "{{ matrix_appservice_slack_config_path }}/slack-registration.yaml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure matrix-appservice-slack container network is created
|
- name: Ensure matrix-appservice-slack container network is created
|
||||||
community.general.docker_network:
|
community.general.docker_network:
|
||||||
@@ -106,8 +106,8 @@
|
|||||||
src: "{{ role_path }}/templates/{{ item }}.j2"
|
src: "{{ role_path }}/templates/{{ item }}.j2"
|
||||||
dest: "{{ matrix_appservice_slack_base_path }}/{{ item }}"
|
dest: "{{ matrix_appservice_slack_base_path }}/{{ item }}"
|
||||||
mode: 0640
|
mode: 0640
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- labels
|
- labels
|
||||||
|
|
||||||
|
|||||||
@@ -17,8 +17,8 @@
|
|||||||
path: "{{ item.path }}"
|
path: "{{ item.path }}"
|
||||||
state: directory
|
state: directory
|
||||||
mode: 0750
|
mode: 0750
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- {path: "{{ matrix_appservice_webhooks_base_path }}", when: true}
|
- {path: "{{ matrix_appservice_webhooks_base_path }}", when: true}
|
||||||
- {path: "{{ matrix_appservice_webhooks_config_path }}", when: true}
|
- {path: "{{ matrix_appservice_webhooks_config_path }}", when: true}
|
||||||
@@ -47,7 +47,7 @@
|
|||||||
version: "{{ matrix_appservice_webhooks_container_image_self_build_repo_version }}"
|
version: "{{ matrix_appservice_webhooks_container_image_self_build_repo_version }}"
|
||||||
force: "yes"
|
force: "yes"
|
||||||
become: true
|
become: true
|
||||||
become_user: "{{ matrix_user_username }}"
|
become_user: "{{ matrix_user_name }}"
|
||||||
register: matrix_appservice_webhooks_git_pull_results
|
register: matrix_appservice_webhooks_git_pull_results
|
||||||
|
|
||||||
- name: Ensure matrix-appservice-webhooks container image is built
|
- name: Ensure matrix-appservice-webhooks container image is built
|
||||||
@@ -66,32 +66,32 @@
|
|||||||
content: "{{ matrix_appservice_webhooks_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
content: "{{ matrix_appservice_webhooks_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
||||||
dest: "{{ matrix_appservice_webhooks_config_path }}/config.yaml"
|
dest: "{{ matrix_appservice_webhooks_config_path }}/config.yaml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure matrix-appservice-webhooks schema.yml template exists
|
- name: Ensure matrix-appservice-webhooks schema.yml template exists
|
||||||
ansible.builtin.template:
|
ansible.builtin.template:
|
||||||
src: "{{ role_path }}/templates/schema.yml.j2"
|
src: "{{ role_path }}/templates/schema.yml.j2"
|
||||||
dest: "{{ matrix_appservice_webhooks_config_path }}/schema.yml"
|
dest: "{{ matrix_appservice_webhooks_config_path }}/schema.yml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure matrix-appservice-webhooks database.json template exists
|
- name: Ensure matrix-appservice-webhooks database.json template exists
|
||||||
ansible.builtin.template:
|
ansible.builtin.template:
|
||||||
src: "{{ role_path }}/templates/database.json.j2"
|
src: "{{ role_path }}/templates/database.json.j2"
|
||||||
dest: "{{ matrix_appservice_webhooks_data_path }}/database.json"
|
dest: "{{ matrix_appservice_webhooks_data_path }}/database.json"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure appservice-webhooks registration.yaml installed
|
- name: Ensure appservice-webhooks registration.yaml installed
|
||||||
ansible.builtin.copy:
|
ansible.builtin.copy:
|
||||||
content: "{{ matrix_appservice_webhooks_registration | to_nice_yaml(indent=2, width=999999) }}"
|
content: "{{ matrix_appservice_webhooks_registration | to_nice_yaml(indent=2, width=999999) }}"
|
||||||
dest: "{{ matrix_appservice_webhooks_config_path }}/webhooks-registration.yaml"
|
dest: "{{ matrix_appservice_webhooks_config_path }}/webhooks-registration.yaml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure matrix-appservice-webhooks container network is created
|
- name: Ensure matrix-appservice-webhooks container network is created
|
||||||
community.general.docker_network:
|
community.general.docker_network:
|
||||||
@@ -105,8 +105,8 @@
|
|||||||
src: "{{ role_path }}/templates/{{ item }}.j2"
|
src: "{{ role_path }}/templates/{{ item }}.j2"
|
||||||
dest: "{{ matrix_appservice_webhooks_base_path }}/{{ item }}"
|
dest: "{{ matrix_appservice_webhooks_base_path }}/{{ item }}"
|
||||||
mode: 0640
|
mode: 0640
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- labels
|
- labels
|
||||||
|
|
||||||
|
|||||||
@@ -167,5 +167,6 @@ matrix_beeper_linkedin_registration_yaml: |
|
|||||||
- exclusive: true
|
- exclusive: true
|
||||||
regex: '^@{{ matrix_beeper_linkedin_appservice_bot_username | regex_escape }}:{{ matrix_beeper_linkedin_homeserver_domain | regex_escape }}$'
|
regex: '^@{{ matrix_beeper_linkedin_appservice_bot_username | regex_escape }}:{{ matrix_beeper_linkedin_homeserver_domain | regex_escape }}$'
|
||||||
de.sorunome.msc2409.push_ephemeral: true
|
de.sorunome.msc2409.push_ephemeral: true
|
||||||
|
receive_ephemeral: true
|
||||||
|
|
||||||
matrix_beeper_linkedin_registration: "{{ matrix_beeper_linkedin_registration_yaml | from_yaml }}"
|
matrix_beeper_linkedin_registration: "{{ matrix_beeper_linkedin_registration_yaml | from_yaml }}"
|
||||||
|
|||||||
@@ -16,8 +16,8 @@
|
|||||||
path: "{{ item.path }}"
|
path: "{{ item.path }}"
|
||||||
state: directory
|
state: directory
|
||||||
mode: 0750
|
mode: 0750
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- {path: "{{ matrix_beeper_linkedin_base_path }}", when: true}
|
- {path: "{{ matrix_beeper_linkedin_base_path }}", when: true}
|
||||||
- {path: "{{ matrix_beeper_linkedin_config_path }}", when: true}
|
- {path: "{{ matrix_beeper_linkedin_config_path }}", when: true}
|
||||||
@@ -30,16 +30,16 @@
|
|||||||
content: "{{ matrix_beeper_linkedin_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
content: "{{ matrix_beeper_linkedin_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
||||||
dest: "{{ matrix_beeper_linkedin_config_path }}/config.yaml"
|
dest: "{{ matrix_beeper_linkedin_config_path }}/config.yaml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure beeper-linkedin registration.yaml installed
|
- name: Ensure beeper-linkedin registration.yaml installed
|
||||||
ansible.builtin.copy:
|
ansible.builtin.copy:
|
||||||
content: "{{ matrix_beeper_linkedin_registration | to_nice_yaml(indent=2, width=999999) }}"
|
content: "{{ matrix_beeper_linkedin_registration | to_nice_yaml(indent=2, width=999999) }}"
|
||||||
dest: "{{ matrix_beeper_linkedin_config_path }}/registration.yaml"
|
dest: "{{ matrix_beeper_linkedin_config_path }}/registration.yaml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure Beeper LinkedIn container image is pulled
|
- name: Ensure Beeper LinkedIn container image is pulled
|
||||||
community.docker.docker_image:
|
community.docker.docker_image:
|
||||||
@@ -62,7 +62,7 @@
|
|||||||
version: "{{ matrix_beeper_linkedin_container_image_self_build_branch }}"
|
version: "{{ matrix_beeper_linkedin_container_image_self_build_branch }}"
|
||||||
force: "yes"
|
force: "yes"
|
||||||
become: true
|
become: true
|
||||||
become_user: "{{ matrix_user_username }}"
|
become_user: "{{ matrix_user_name }}"
|
||||||
register: matrix_beeper_linkedin_git_pull_results
|
register: matrix_beeper_linkedin_git_pull_results
|
||||||
|
|
||||||
# Building the container image (using the default Dockerfile) requires that a docker-requirements.txt file be generated.
|
# Building the container image (using the default Dockerfile) requires that a docker-requirements.txt file be generated.
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ appservice:
|
|||||||
bot_username: {{ matrix_beeper_linkedin_appservice_bot_username | to_json }}
|
bot_username: {{ matrix_beeper_linkedin_appservice_bot_username | to_json }}
|
||||||
# Display name and avatar for bot. Set to "remove" to remove display name/avatar, leave empty
|
# Display name and avatar for bot. Set to "remove" to remove display name/avatar, leave empty
|
||||||
# to leave display name/avatar as-is.
|
# to leave display name/avatar as-is.
|
||||||
bot_displayname: {{ matrix_beeper_linkedin_appservice_bot_displayname | to_json }}
|
bot_displayname: {{ matrix_beeper_linkedin_appservice_bot_displayname | to_json(ensure_ascii=False) }}
|
||||||
bot_avatar: {{ matrix_beeper_linkedin_appservice_bot_avatar | to_json }}
|
bot_avatar: {{ matrix_beeper_linkedin_appservice_bot_avatar | to_json }}
|
||||||
|
|
||||||
# Whether or not to receive ephemeral events via appservice transactions.
|
# Whether or not to receive ephemeral events via appservice transactions.
|
||||||
|
|||||||
@@ -159,5 +159,6 @@ matrix_go_skype_bridge_registration_yaml: |
|
|||||||
- exclusive: true
|
- exclusive: true
|
||||||
regex: '^@{{ matrix_go_skype_bridge_appservice_bot_username | regex_escape }}:{{ matrix_go_skype_bridge_homeserver_domain | regex_escape }}$'
|
regex: '^@{{ matrix_go_skype_bridge_appservice_bot_username | regex_escape }}:{{ matrix_go_skype_bridge_homeserver_domain | regex_escape }}$'
|
||||||
de.sorunome.msc2409.push_ephemeral: true
|
de.sorunome.msc2409.push_ephemeral: true
|
||||||
|
receive_ephemeral: true
|
||||||
|
|
||||||
matrix_go_skype_bridge_registration: "{{ matrix_go_skype_bridge_registration_yaml | from_yaml }}"
|
matrix_go_skype_bridge_registration: "{{ matrix_go_skype_bridge_registration_yaml | from_yaml }}"
|
||||||
|
|||||||
@@ -40,8 +40,8 @@
|
|||||||
path: "{{ item.path }}"
|
path: "{{ item.path }}"
|
||||||
state: directory
|
state: directory
|
||||||
mode: 0750
|
mode: 0750
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- {path: "{{ matrix_go_skype_bridge_base_path }}", when: true}
|
- {path: "{{ matrix_go_skype_bridge_base_path }}", when: true}
|
||||||
- {path: "{{ matrix_go_skype_bridge_config_path }}", when: true}
|
- {path: "{{ matrix_go_skype_bridge_config_path }}", when: true}
|
||||||
@@ -68,7 +68,7 @@
|
|||||||
version: "{{ matrix_go_skype_bridge_container_image_self_build_branch }}"
|
version: "{{ matrix_go_skype_bridge_container_image_self_build_branch }}"
|
||||||
force: "yes"
|
force: "yes"
|
||||||
become: true
|
become: true
|
||||||
become_user: "{{ matrix_user_username }}"
|
become_user: "{{ matrix_user_name }}"
|
||||||
register: matrix_go_skype_bridge_git_pull_results
|
register: matrix_go_skype_bridge_git_pull_results
|
||||||
when: "matrix_go_skype_bridge_container_image_self_build | bool"
|
when: "matrix_go_skype_bridge_container_image_self_build | bool"
|
||||||
|
|
||||||
@@ -122,16 +122,16 @@
|
|||||||
content: "{{ matrix_go_skype_bridge_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
content: "{{ matrix_go_skype_bridge_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
||||||
dest: "{{ matrix_go_skype_bridge_config_path }}/config.yaml"
|
dest: "{{ matrix_go_skype_bridge_config_path }}/config.yaml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure go-skype-bridge registration.yaml installed
|
- name: Ensure go-skype-bridge registration.yaml installed
|
||||||
ansible.builtin.copy:
|
ansible.builtin.copy:
|
||||||
content: "{{ matrix_go_skype_bridge_registration | to_nice_yaml(indent=2, width=999999) }}"
|
content: "{{ matrix_go_skype_bridge_registration | to_nice_yaml(indent=2, width=999999) }}"
|
||||||
dest: "{{ matrix_go_skype_bridge_config_path }}/registration.yaml"
|
dest: "{{ matrix_go_skype_bridge_config_path }}/registration.yaml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure matrix-go-skype-bridge container network is created
|
- name: Ensure matrix-go-skype-bridge container network is created
|
||||||
community.general.docker_network:
|
community.general.docker_network:
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ matrix_heisenbridge_hostname: "{{ matrix_server_fqn_matrix }}"
|
|||||||
matrix_heisenbridge_path_prefix: "/heisenbridge"
|
matrix_heisenbridge_path_prefix: "/heisenbridge"
|
||||||
|
|
||||||
# renovate: datasource=docker depName=hif1/heisenbridge
|
# renovate: datasource=docker depName=hif1/heisenbridge
|
||||||
matrix_heisenbridge_version: 1.15.2
|
matrix_heisenbridge_version: 1.15.3
|
||||||
matrix_heisenbridge_docker_image: "{{ matrix_heisenbridge_docker_image_registry_prefix }}hif1/heisenbridge:{{ matrix_heisenbridge_version }}"
|
matrix_heisenbridge_docker_image: "{{ 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: "{{ 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: "{{ matrix_heisenbridge_docker_image_registry_prefix_upstream_default }}"
|
||||||
|
|||||||
@@ -26,8 +26,8 @@
|
|||||||
path: "{{ item }}"
|
path: "{{ item }}"
|
||||||
state: directory
|
state: directory
|
||||||
mode: 0750
|
mode: 0750
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- "{{ matrix_heisenbridge_base_path }}"
|
- "{{ matrix_heisenbridge_base_path }}"
|
||||||
|
|
||||||
@@ -36,16 +36,16 @@
|
|||||||
content: "{{ matrix_heisenbridge_registration | to_nice_yaml(indent=2, width=999999) }}"
|
content: "{{ matrix_heisenbridge_registration | to_nice_yaml(indent=2, width=999999) }}"
|
||||||
dest: "{{ matrix_heisenbridge_base_path }}/registration.yaml"
|
dest: "{{ matrix_heisenbridge_base_path }}/registration.yaml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure Heisenbridge support files installed
|
- name: Ensure Heisenbridge support files installed
|
||||||
ansible.builtin.template:
|
ansible.builtin.template:
|
||||||
src: "{{ role_path }}/templates/{{ item }}.j2"
|
src: "{{ role_path }}/templates/{{ item }}.j2"
|
||||||
dest: "{{ matrix_heisenbridge_base_path }}/{{ item }}"
|
dest: "{{ matrix_heisenbridge_base_path }}/{{ item }}"
|
||||||
mode: 0640
|
mode: 0640
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- labels
|
- labels
|
||||||
|
|
||||||
|
|||||||
@@ -21,8 +21,8 @@
|
|||||||
path: "{{ item.path }}"
|
path: "{{ item.path }}"
|
||||||
state: directory
|
state: directory
|
||||||
mode: 0750
|
mode: 0750
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- {path: "{{ matrix_hookshot_base_path }}", when: true}
|
- {path: "{{ matrix_hookshot_base_path }}", when: true}
|
||||||
- {path: "{{ matrix_hookshot_docker_src_files_path }}", when: "{{ matrix_hookshot_container_image_self_build }}"}
|
- {path: "{{ matrix_hookshot_docker_src_files_path }}", when: "{{ matrix_hookshot_container_image_self_build }}"}
|
||||||
@@ -47,7 +47,7 @@
|
|||||||
version: "{{ matrix_hookshot_container_image_self_build_branch }}"
|
version: "{{ matrix_hookshot_container_image_self_build_branch }}"
|
||||||
force: "yes"
|
force: "yes"
|
||||||
become: true
|
become: true
|
||||||
become_user: "{{ matrix_user_username }}"
|
become_user: "{{ matrix_user_name }}"
|
||||||
register: matrix_hookshot_git_pull_results
|
register: matrix_hookshot_git_pull_results
|
||||||
when: "matrix_hookshot_container_image_self_build | bool"
|
when: "matrix_hookshot_container_image_self_build | bool"
|
||||||
|
|
||||||
@@ -73,7 +73,7 @@
|
|||||||
cmd: "{{ matrix_host_command_openssl }} genpkey -out {{ matrix_hookshot_base_path }}/passkey.pem -outform PEM -algorithm RSA -pkeyopt rsa_keygen_bits:4096"
|
cmd: "{{ matrix_host_command_openssl }} genpkey -out {{ matrix_hookshot_base_path }}/passkey.pem -outform PEM -algorithm RSA -pkeyopt rsa_keygen_bits:4096"
|
||||||
creates: "{{ matrix_hookshot_base_path }}/passkey.pem"
|
creates: "{{ matrix_hookshot_base_path }}/passkey.pem"
|
||||||
become: true
|
become: true
|
||||||
become_user: "{{ matrix_user_username }}"
|
become_user: "{{ matrix_user_name }}"
|
||||||
when: "not hookshot_passkey_file.stat.exists"
|
when: "not hookshot_passkey_file.stat.exists"
|
||||||
|
|
||||||
- name: Ensure hookshot config.yml installed if provided
|
- name: Ensure hookshot config.yml installed if provided
|
||||||
@@ -81,8 +81,8 @@
|
|||||||
content: "{{ matrix_hookshot_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
content: "{{ matrix_hookshot_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
||||||
dest: "{{ matrix_hookshot_base_path }}/config.yml"
|
dest: "{{ matrix_hookshot_base_path }}/config.yml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Validate hookshot config.yml
|
- name: Validate hookshot config.yml
|
||||||
ansible.builtin.command:
|
ansible.builtin.command:
|
||||||
@@ -107,16 +107,16 @@
|
|||||||
content: "{{ matrix_hookshot_registration | to_nice_yaml(indent=2, width=999999) }}"
|
content: "{{ matrix_hookshot_registration | to_nice_yaml(indent=2, width=999999) }}"
|
||||||
dest: "{{ matrix_hookshot_base_path }}/registration.yml"
|
dest: "{{ matrix_hookshot_base_path }}/registration.yml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure hookshot github private key file installed if github is enabled
|
- name: Ensure hookshot github private key file installed if github is enabled
|
||||||
ansible.builtin.copy:
|
ansible.builtin.copy:
|
||||||
content: "{{ matrix_hookshot_github_private_key }}"
|
content: "{{ matrix_hookshot_github_private_key }}"
|
||||||
dest: "{{ matrix_hookshot_base_path }}/{{ matrix_hookshot_github_private_key_file }}"
|
dest: "{{ matrix_hookshot_base_path }}/{{ matrix_hookshot_github_private_key_file }}"
|
||||||
mode: 0400
|
mode: 0400
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
when: matrix_hookshot_github_enabled | bool and matrix_hookshot_github_private_key|length > 0
|
when: matrix_hookshot_github_enabled | bool and matrix_hookshot_github_private_key|length > 0
|
||||||
|
|
||||||
- name: Ensure matrix-hookshot container network is created
|
- name: Ensure matrix-hookshot container network is created
|
||||||
@@ -131,8 +131,8 @@
|
|||||||
src: "{{ role_path }}/templates/{{ item }}.j2"
|
src: "{{ role_path }}/templates/{{ item }}.j2"
|
||||||
dest: "{{ matrix_hookshot_base_path }}/{{ item }}"
|
dest: "{{ matrix_hookshot_base_path }}/{{ item }}"
|
||||||
mode: 0640
|
mode: 0640
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- labels
|
- labels
|
||||||
|
|
||||||
|
|||||||
@@ -103,7 +103,7 @@ passFile:
|
|||||||
bot:
|
bot:
|
||||||
# (Optional) Define profile information for the bot user
|
# (Optional) Define profile information for the bot user
|
||||||
#
|
#
|
||||||
displayname: {{ matrix_hookshot_bot_displayname | to_json }}
|
displayname: {{ matrix_hookshot_bot_displayname | to_json(ensure_ascii=False) }}
|
||||||
avatar: {{ matrix_hookshot_bot_avatar | to_json }}
|
avatar: {{ matrix_hookshot_bot_avatar | to_json }}
|
||||||
metrics:
|
metrics:
|
||||||
# (Optional) Prometheus metrics support
|
# (Optional) Prometheus metrics support
|
||||||
|
|||||||
@@ -32,5 +32,6 @@ rate_limited: false
|
|||||||
{% if matrix_hookshot_encryption_enabled %}
|
{% if matrix_hookshot_encryption_enabled %}
|
||||||
de.sorunome.msc2409.push_ephemeral: true
|
de.sorunome.msc2409.push_ephemeral: true
|
||||||
push_ephemeral: true
|
push_ephemeral: true
|
||||||
|
receive_ephemeral: true
|
||||||
org.matrix.msc3202: true
|
org.matrix.msc3202: true
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|||||||
@@ -31,6 +31,8 @@ matrix_mautrix_bluesky_homeserver_address: ""
|
|||||||
matrix_mautrix_bluesky_homeserver_domain: '{{ matrix_domain }}'
|
matrix_mautrix_bluesky_homeserver_domain: '{{ matrix_domain }}'
|
||||||
matrix_mautrix_bluesky_appservice_address: 'http://matrix-mautrix-bluesky:29340'
|
matrix_mautrix_bluesky_appservice_address: 'http://matrix-mautrix-bluesky:29340'
|
||||||
|
|
||||||
|
matrix_mautrix_bluesky_msc4190_enabled: "{{ matrix_bridges_msc4190_enabled }}"
|
||||||
|
|
||||||
# A public address that external services can use to reach this appservice.
|
# A public address that external services can use to reach this appservice.
|
||||||
matrix_mautrix_bluesky_appservice_public_address: ''
|
matrix_mautrix_bluesky_appservice_public_address: ''
|
||||||
|
|
||||||
@@ -187,6 +189,7 @@ matrix_mautrix_bluesky_registration_yaml: |
|
|||||||
rate_limited: false
|
rate_limited: false
|
||||||
de.sorunome.msc2409.push_ephemeral: true
|
de.sorunome.msc2409.push_ephemeral: true
|
||||||
receive_ephemeral: true
|
receive_ephemeral: true
|
||||||
|
io.element.msc4190: {{ matrix_mautrix_bluesky_msc4190_enabled | to_json }}
|
||||||
|
|
||||||
matrix_mautrix_bluesky_registration: "{{ matrix_mautrix_bluesky_registration_yaml | from_yaml }}"
|
matrix_mautrix_bluesky_registration: "{{ matrix_mautrix_bluesky_registration_yaml | from_yaml }}"
|
||||||
|
|
||||||
|
|||||||
@@ -24,8 +24,8 @@
|
|||||||
path: "{{ item.path }}"
|
path: "{{ item.path }}"
|
||||||
state: directory
|
state: directory
|
||||||
mode: 0750
|
mode: 0750
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- {path: "{{ matrix_mautrix_bluesky_base_path }}", when: true}
|
- {path: "{{ matrix_mautrix_bluesky_base_path }}", when: true}
|
||||||
- {path: "{{ matrix_mautrix_bluesky_config_path }}", when: true}
|
- {path: "{{ matrix_mautrix_bluesky_config_path }}", when: true}
|
||||||
@@ -40,7 +40,7 @@
|
|||||||
dest: "{{ matrix_mautrix_bluesky_docker_src_files_path }}"
|
dest: "{{ matrix_mautrix_bluesky_docker_src_files_path }}"
|
||||||
force: "yes"
|
force: "yes"
|
||||||
become: true
|
become: true
|
||||||
become_user: "{{ matrix_user_username }}"
|
become_user: "{{ matrix_user_name }}"
|
||||||
register: matrix_mautrix_bluesky_git_pull_results
|
register: matrix_mautrix_bluesky_git_pull_results
|
||||||
when: "matrix_mautrix_bluesky_enabled | bool and matrix_mautrix_bluesky_container_image_self_build"
|
when: "matrix_mautrix_bluesky_enabled | bool and matrix_mautrix_bluesky_container_image_self_build"
|
||||||
|
|
||||||
@@ -60,24 +60,24 @@
|
|||||||
content: "{{ matrix_mautrix_bluesky_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
content: "{{ matrix_mautrix_bluesky_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
||||||
dest: "{{ matrix_mautrix_bluesky_config_path }}/config.yaml"
|
dest: "{{ matrix_mautrix_bluesky_config_path }}/config.yaml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure mautrix-bluesky registration.yaml installed
|
- name: Ensure mautrix-bluesky registration.yaml installed
|
||||||
ansible.builtin.copy:
|
ansible.builtin.copy:
|
||||||
content: "{{ matrix_mautrix_bluesky_registration | to_nice_yaml(indent=2, width=999999) }}"
|
content: "{{ matrix_mautrix_bluesky_registration | to_nice_yaml(indent=2, width=999999) }}"
|
||||||
dest: "{{ matrix_mautrix_bluesky_config_path }}/registration.yaml"
|
dest: "{{ matrix_mautrix_bluesky_config_path }}/registration.yaml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure mautrix-bluesky support files installed
|
- name: Ensure mautrix-bluesky support files installed
|
||||||
ansible.builtin.template:
|
ansible.builtin.template:
|
||||||
src: "{{ role_path }}/templates/{{ item }}.j2"
|
src: "{{ role_path }}/templates/{{ item }}.j2"
|
||||||
dest: "{{ matrix_mautrix_bluesky_base_path }}/{{ item }}"
|
dest: "{{ matrix_mautrix_bluesky_base_path }}/{{ item }}"
|
||||||
mode: 0640
|
mode: 0640
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- labels
|
- labels
|
||||||
|
|
||||||
|
|||||||
@@ -199,7 +199,7 @@ appservice:
|
|||||||
username: {{ matrix_mautrix_bluesky_appservice_bot_username | to_json }}
|
username: {{ matrix_mautrix_bluesky_appservice_bot_username | to_json }}
|
||||||
# Display name and avatar for bot. Set to "remove" to remove display name/avatar, leave empty
|
# Display name and avatar for bot. Set to "remove" to remove display name/avatar, leave empty
|
||||||
# to leave display name/avatar as-is.
|
# to leave display name/avatar as-is.
|
||||||
displayname: {{ matrix_mautrix_bluesky_appservice_bot_displayname | to_json }}
|
displayname: {{ matrix_mautrix_bluesky_appservice_bot_displayname | to_json(ensure_ascii=False) }}
|
||||||
avatar: {{ matrix_mautrix_bluesky_appservice_bot_avatar | to_json }}
|
avatar: {{ matrix_mautrix_bluesky_appservice_bot_avatar | to_json }}
|
||||||
|
|
||||||
# Whether to receive ephemeral events via appservice transactions.
|
# Whether to receive ephemeral events via appservice transactions.
|
||||||
@@ -209,10 +209,6 @@ appservice:
|
|||||||
# However, messages will not be guaranteed to be bridged in the same order they were sent in.
|
# However, messages will not be guaranteed to be bridged in the same order they were sent in.
|
||||||
# This value doesn't affect the registration file.
|
# This value doesn't affect the registration file.
|
||||||
async_transactions: false
|
async_transactions: false
|
||||||
# Whether to use MSC4190 instead of appservice login to create the bridge bot device.
|
|
||||||
# Requires the homeserver to support MSC4190 and the device masquerading parts of MSC3202.
|
|
||||||
# Only relevant when using end-to-bridge encryption, required when using encryption with next-gen auth (MSC3861).
|
|
||||||
msc4190: false
|
|
||||||
|
|
||||||
# Authentication tokens for AS <-> HS communication. Autogenerated; do not modify.
|
# Authentication tokens for AS <-> HS communication. Autogenerated; do not modify.
|
||||||
as_token: {{ matrix_mautrix_bluesky_appservice_token | to_json }}
|
as_token: {{ matrix_mautrix_bluesky_appservice_token | to_json }}
|
||||||
@@ -358,6 +354,11 @@ encryption:
|
|||||||
# Whether to use MSC2409/MSC3202 instead of /sync long polling for receiving encryption-related data.
|
# Whether to use MSC2409/MSC3202 instead of /sync long polling for receiving encryption-related data.
|
||||||
# This option is not yet compatible with standard Matrix servers like Synapse and should not be used.
|
# This option is not yet compatible with standard Matrix servers like Synapse and should not be used.
|
||||||
appservice: {{ matrix_mautrix_bluesky_bridge_encryption_appservice | to_json }}
|
appservice: {{ matrix_mautrix_bluesky_bridge_encryption_appservice | to_json }}
|
||||||
|
# Whether to use MSC4190 instead of appservice login to create the bridge bot device.
|
||||||
|
# Requires the homeserver to support MSC4190 and the device masquerading parts of MSC3202.
|
||||||
|
# Only relevant when using end-to-bridge encryption, required when using encryption with next-gen auth (MSC3861).
|
||||||
|
# Changing this option requires updating the appservice registration file.
|
||||||
|
msc4190: {{ matrix_mautrix_bluesky_msc4190_enabled | to_json }}
|
||||||
# Enable key sharing? If enabled, key requests for rooms where users are in will be fulfilled.
|
# Enable key sharing? If enabled, key requests for rooms where users are in will be fulfilled.
|
||||||
# You must use a client that supports requesting keys from other users to use this feature.
|
# You must use a client that supports requesting keys from other users to use this feature.
|
||||||
allow_key_sharing: {{ matrix_mautrix_bluesky_bridge_encryption_key_sharing_allow | to_json }}
|
allow_key_sharing: {{ matrix_mautrix_bluesky_bridge_encryption_key_sharing_allow | to_json }}
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ matrix_mautrix_discord_container_image_self_build_repo: "https://mau.dev/mautrix
|
|||||||
matrix_mautrix_discord_container_image_self_build_branch: "{{ 'main' if matrix_mautrix_discord_version == 'latest' else matrix_mautrix_discord_version }}"
|
matrix_mautrix_discord_container_image_self_build_branch: "{{ 'main' if matrix_mautrix_discord_version == 'latest' else matrix_mautrix_discord_version }}"
|
||||||
|
|
||||||
# renovate: datasource=docker depName=dock.mau.dev/mautrix/discord
|
# renovate: datasource=docker depName=dock.mau.dev/mautrix/discord
|
||||||
matrix_mautrix_discord_version: v0.7.2
|
matrix_mautrix_discord_version: v0.7.3
|
||||||
|
|
||||||
# See: https://mau.dev/mautrix/discord/container_registry
|
# 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: "{{ matrix_mautrix_discord_docker_image_registry_prefix }}mautrix/discord:{{ matrix_mautrix_discord_version }}"
|
||||||
@@ -224,6 +224,7 @@ matrix_mautrix_discord_registration_yaml: |
|
|||||||
- exclusive: true
|
- exclusive: true
|
||||||
regex: '^@{{ matrix_mautrix_discord_appservice_bot_username | regex_escape }}:{{ matrix_mautrix_discord_homeserver_domain | regex_escape }}$'
|
regex: '^@{{ matrix_mautrix_discord_appservice_bot_username | regex_escape }}:{{ matrix_mautrix_discord_homeserver_domain | regex_escape }}$'
|
||||||
de.sorunome.msc2409.push_ephemeral: true
|
de.sorunome.msc2409.push_ephemeral: true
|
||||||
|
receive_ephemeral: true
|
||||||
|
|
||||||
matrix_mautrix_discord_registration: "{{ matrix_mautrix_discord_registration_yaml | from_yaml }}"
|
matrix_mautrix_discord_registration: "{{ matrix_mautrix_discord_registration_yaml | from_yaml }}"
|
||||||
|
|
||||||
|
|||||||
@@ -40,8 +40,8 @@
|
|||||||
path: "{{ item.path }}"
|
path: "{{ item.path }}"
|
||||||
state: directory
|
state: directory
|
||||||
mode: 0750
|
mode: 0750
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- {path: "{{ matrix_mautrix_discord_base_path }}", when: true}
|
- {path: "{{ matrix_mautrix_discord_base_path }}", when: true}
|
||||||
- {path: "{{ matrix_mautrix_discord_config_path }}", when: true}
|
- {path: "{{ matrix_mautrix_discord_config_path }}", when: true}
|
||||||
@@ -68,7 +68,7 @@
|
|||||||
version: "{{ matrix_mautrix_discord_container_image_self_build_branch }}"
|
version: "{{ matrix_mautrix_discord_container_image_self_build_branch }}"
|
||||||
force: "yes"
|
force: "yes"
|
||||||
become: true
|
become: true
|
||||||
become_user: "{{ matrix_user_username }}"
|
become_user: "{{ matrix_user_name }}"
|
||||||
register: matrix_mautrix_discord_git_pull_results
|
register: matrix_mautrix_discord_git_pull_results
|
||||||
when: "matrix_mautrix_discord_container_image_self_build | bool"
|
when: "matrix_mautrix_discord_container_image_self_build | bool"
|
||||||
|
|
||||||
@@ -89,24 +89,24 @@
|
|||||||
content: "{{ matrix_mautrix_discord_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
content: "{{ matrix_mautrix_discord_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
||||||
dest: "{{ matrix_mautrix_discord_config_path }}/config.yaml"
|
dest: "{{ matrix_mautrix_discord_config_path }}/config.yaml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure mautrix-discord registration.yaml installed
|
- name: Ensure mautrix-discord registration.yaml installed
|
||||||
ansible.builtin.copy:
|
ansible.builtin.copy:
|
||||||
content: "{{ matrix_mautrix_discord_registration | to_nice_yaml(indent=2, width=999999) }}"
|
content: "{{ matrix_mautrix_discord_registration | to_nice_yaml(indent=2, width=999999) }}"
|
||||||
dest: "{{ matrix_mautrix_discord_config_path }}/registration.yaml"
|
dest: "{{ matrix_mautrix_discord_config_path }}/registration.yaml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure mautrix-discord support files installed
|
- name: Ensure mautrix-discord support files installed
|
||||||
ansible.builtin.template:
|
ansible.builtin.template:
|
||||||
src: "{{ role_path }}/templates/{{ item }}.j2"
|
src: "{{ role_path }}/templates/{{ item }}.j2"
|
||||||
dest: "{{ matrix_mautrix_discord_base_path }}/{{ item }}"
|
dest: "{{ matrix_mautrix_discord_base_path }}/{{ item }}"
|
||||||
mode: 0640
|
mode: 0640
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- labels
|
- labels
|
||||||
|
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ appservice:
|
|||||||
username: {{ matrix_mautrix_discord_appservice_bot_username | to_json }}
|
username: {{ matrix_mautrix_discord_appservice_bot_username | to_json }}
|
||||||
# Display name and avatar for bot. Set to "remove" to remove display name/avatar, leave empty
|
# Display name and avatar for bot. Set to "remove" to remove display name/avatar, leave empty
|
||||||
# to leave display name/avatar as-is.
|
# to leave display name/avatar as-is.
|
||||||
displayname: {{ matrix_mautrix_discord_appservice_bot_displayname | to_json }}
|
displayname: {{ matrix_mautrix_discord_appservice_bot_displayname | to_json(ensure_ascii=False) }}
|
||||||
avatar: {{ matrix_mautrix_discord_appservice_bot_avatar | to_json }}
|
avatar: {{ matrix_mautrix_discord_appservice_bot_avatar | to_json }}
|
||||||
|
|
||||||
# Whether or not to receive ephemeral events via appservice transactions.
|
# Whether or not to receive ephemeral events via appservice transactions.
|
||||||
|
|||||||
@@ -214,6 +214,7 @@ matrix_mautrix_facebook_registration_yaml: |
|
|||||||
sender_localpart: _bot_{{ matrix_mautrix_facebook_appservice_bot_username }}
|
sender_localpart: _bot_{{ matrix_mautrix_facebook_appservice_bot_username }}
|
||||||
rate_limited: false
|
rate_limited: false
|
||||||
de.sorunome.msc2409.push_ephemeral: true
|
de.sorunome.msc2409.push_ephemeral: true
|
||||||
|
receive_ephemeral: true
|
||||||
|
|
||||||
matrix_mautrix_facebook_registration: "{{ matrix_mautrix_facebook_registration_yaml | from_yaml }}"
|
matrix_mautrix_facebook_registration: "{{ matrix_mautrix_facebook_registration_yaml | from_yaml }}"
|
||||||
|
|
||||||
|
|||||||
@@ -59,8 +59,8 @@
|
|||||||
path: "{{ item.path }}"
|
path: "{{ item.path }}"
|
||||||
state: directory
|
state: directory
|
||||||
mode: 0750
|
mode: 0750
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- {path: "{{ matrix_mautrix_facebook_base_path }}", when: true}
|
- {path: "{{ matrix_mautrix_facebook_base_path }}", when: true}
|
||||||
- {path: "{{ matrix_mautrix_facebook_config_path }}", when: true}
|
- {path: "{{ matrix_mautrix_facebook_config_path }}", when: true}
|
||||||
@@ -75,7 +75,7 @@
|
|||||||
version: "{{ matrix_mautrix_facebook_docker_image.split(':')[1] }}"
|
version: "{{ matrix_mautrix_facebook_docker_image.split(':')[1] }}"
|
||||||
force: "yes"
|
force: "yes"
|
||||||
become: true
|
become: true
|
||||||
become_user: "{{ matrix_user_username }}"
|
become_user: "{{ matrix_user_name }}"
|
||||||
register: matrix_mautrix_facebook_git_pull_results
|
register: matrix_mautrix_facebook_git_pull_results
|
||||||
when: "matrix_mautrix_facebook_container_image_self_build | bool"
|
when: "matrix_mautrix_facebook_container_image_self_build | bool"
|
||||||
|
|
||||||
@@ -117,24 +117,24 @@
|
|||||||
content: "{{ matrix_mautrix_facebook_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
content: "{{ matrix_mautrix_facebook_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
||||||
dest: "{{ matrix_mautrix_facebook_config_path }}/config.yaml"
|
dest: "{{ matrix_mautrix_facebook_config_path }}/config.yaml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure mautrix-facebook registration.yaml installed
|
- name: Ensure mautrix-facebook registration.yaml installed
|
||||||
ansible.builtin.copy:
|
ansible.builtin.copy:
|
||||||
content: "{{ matrix_mautrix_facebook_registration | to_nice_yaml(indent=2, width=999999) }}"
|
content: "{{ matrix_mautrix_facebook_registration | to_nice_yaml(indent=2, width=999999) }}"
|
||||||
dest: "{{ matrix_mautrix_facebook_config_path }}/registration.yaml"
|
dest: "{{ matrix_mautrix_facebook_config_path }}/registration.yaml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure mautrix-facebook support files installed
|
- name: Ensure mautrix-facebook support files installed
|
||||||
ansible.builtin.template:
|
ansible.builtin.template:
|
||||||
src: "{{ role_path }}/templates/{{ item }}.j2"
|
src: "{{ role_path }}/templates/{{ item }}.j2"
|
||||||
dest: "{{ matrix_mautrix_facebook_base_path }}/{{ item }}"
|
dest: "{{ matrix_mautrix_facebook_base_path }}/{{ item }}"
|
||||||
mode: 0640
|
mode: 0640
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- labels
|
- labels
|
||||||
|
|
||||||
|
|||||||
@@ -36,6 +36,8 @@ matrix_mautrix_gmessages_homeserver_address: ""
|
|||||||
matrix_mautrix_gmessages_homeserver_domain: "{{ matrix_domain }}"
|
matrix_mautrix_gmessages_homeserver_domain: "{{ matrix_domain }}"
|
||||||
matrix_mautrix_gmessages_appservice_address: "http://matrix-mautrix-gmessages:8080"
|
matrix_mautrix_gmessages_appservice_address: "http://matrix-mautrix-gmessages:8080"
|
||||||
|
|
||||||
|
matrix_mautrix_gmessages_msc4190_enabled: "{{ matrix_bridges_msc4190_enabled }}"
|
||||||
|
|
||||||
matrix_mautrix_gmessages_backfill_enabled: true
|
matrix_mautrix_gmessages_backfill_enabled: true
|
||||||
matrix_mautrix_gmessages_backfill_max_initial_messages: 50
|
matrix_mautrix_gmessages_backfill_max_initial_messages: 50
|
||||||
matrix_mautrix_gmessages_backfill_max_catchup_messages: 500
|
matrix_mautrix_gmessages_backfill_max_catchup_messages: 500
|
||||||
@@ -212,5 +214,7 @@ matrix_mautrix_gmessages_registration_yaml: |
|
|||||||
- exclusive: true
|
- exclusive: true
|
||||||
regex: '^@{{ matrix_mautrix_gmessages_appservice_bot_username | regex_escape }}:{{ matrix_mautrix_gmessages_homeserver_domain | regex_escape }}$'
|
regex: '^@{{ matrix_mautrix_gmessages_appservice_bot_username | regex_escape }}:{{ matrix_mautrix_gmessages_homeserver_domain | regex_escape }}$'
|
||||||
de.sorunome.msc2409.push_ephemeral: true
|
de.sorunome.msc2409.push_ephemeral: true
|
||||||
|
receive_ephemeral: true
|
||||||
|
io.element.msc4190: {{ matrix_mautrix_gmessages_msc4190_enabled | to_json }}
|
||||||
|
|
||||||
matrix_mautrix_gmessages_registration: "{{ matrix_mautrix_gmessages_registration_yaml | from_yaml }}"
|
matrix_mautrix_gmessages_registration: "{{ matrix_mautrix_gmessages_registration_yaml | from_yaml }}"
|
||||||
|
|||||||
@@ -40,8 +40,8 @@
|
|||||||
path: "{{ item.path }}"
|
path: "{{ item.path }}"
|
||||||
state: directory
|
state: directory
|
||||||
mode: 0750
|
mode: 0750
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- {path: "{{ matrix_mautrix_gmessages_base_path }}", when: true}
|
- {path: "{{ matrix_mautrix_gmessages_base_path }}", when: true}
|
||||||
- {path: "{{ matrix_mautrix_gmessages_config_path }}", when: true}
|
- {path: "{{ matrix_mautrix_gmessages_config_path }}", when: true}
|
||||||
@@ -68,7 +68,7 @@
|
|||||||
version: "{{ matrix_mautrix_gmessages_container_image_self_build_branch }}"
|
version: "{{ matrix_mautrix_gmessages_container_image_self_build_branch }}"
|
||||||
force: "yes"
|
force: "yes"
|
||||||
become: true
|
become: true
|
||||||
become_user: "{{ matrix_user_username }}"
|
become_user: "{{ matrix_user_name }}"
|
||||||
register: matrix_mautrix_gmessages_git_pull_results
|
register: matrix_mautrix_gmessages_git_pull_results
|
||||||
when: "matrix_mautrix_gmessages_container_image_self_build | bool"
|
when: "matrix_mautrix_gmessages_container_image_self_build | bool"
|
||||||
|
|
||||||
@@ -122,16 +122,16 @@
|
|||||||
content: "{{ matrix_mautrix_gmessages_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
content: "{{ matrix_mautrix_gmessages_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
||||||
dest: "{{ matrix_mautrix_gmessages_config_path }}/config.yaml"
|
dest: "{{ matrix_mautrix_gmessages_config_path }}/config.yaml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure mautrix-gmessages registration.yaml installed
|
- name: Ensure mautrix-gmessages registration.yaml installed
|
||||||
ansible.builtin.copy:
|
ansible.builtin.copy:
|
||||||
content: "{{ matrix_mautrix_gmessages_registration | to_nice_yaml(indent=2, width=999999) }}"
|
content: "{{ matrix_mautrix_gmessages_registration | to_nice_yaml(indent=2, width=999999) }}"
|
||||||
dest: "{{ matrix_mautrix_gmessages_config_path }}/registration.yaml"
|
dest: "{{ matrix_mautrix_gmessages_config_path }}/registration.yaml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure matrix-mautrix-gmessages.service installed
|
- name: Ensure matrix-mautrix-gmessages.service installed
|
||||||
ansible.builtin.template:
|
ansible.builtin.template:
|
||||||
@@ -144,8 +144,8 @@
|
|||||||
src: "{{ role_path }}/templates/{{ item }}.j2"
|
src: "{{ role_path }}/templates/{{ item }}.j2"
|
||||||
dest: "{{ matrix_mautrix_gmessages_base_path }}/{{ item }}"
|
dest: "{{ matrix_mautrix_gmessages_base_path }}/{{ item }}"
|
||||||
mode: 0640
|
mode: 0640
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- labels
|
- labels
|
||||||
|
|
||||||
|
|||||||
@@ -354,6 +354,11 @@ encryption:
|
|||||||
# Whether to use MSC2409/MSC3202 instead of /sync long polling for receiving encryption-related data.
|
# Whether to use MSC2409/MSC3202 instead of /sync long polling for receiving encryption-related data.
|
||||||
# This option is not yet compatible with standard Matrix servers like Synapse and should not be used.
|
# This option is not yet compatible with standard Matrix servers like Synapse and should not be used.
|
||||||
appservice: {{ matrix_mautrix_gmessages_bridge_encryption_appservice | to_json }}
|
appservice: {{ matrix_mautrix_gmessages_bridge_encryption_appservice | to_json }}
|
||||||
|
# Whether to use MSC4190 instead of appservice login to create the bridge bot device.
|
||||||
|
# Requires the homeserver to support MSC4190 and the device masquerading parts of MSC3202.
|
||||||
|
# Only relevant when using end-to-bridge encryption, required when using encryption with next-gen auth (MSC3861).
|
||||||
|
# Changing this option requires updating the appservice registration file.
|
||||||
|
msc4190: {{ matrix_mautrix_gmessages_msc4190_enabled | to_json }}
|
||||||
# Enable key sharing? If enabled, key requests for rooms where users are in will be fulfilled.
|
# Enable key sharing? If enabled, key requests for rooms where users are in will be fulfilled.
|
||||||
# You must use a client that supports requesting keys from other users to use this feature.
|
# You must use a client that supports requesting keys from other users to use this feature.
|
||||||
allow_key_sharing: {{ matrix_mautrix_gmessages_bridge_encryption_key_sharing_allow | to_json }}
|
allow_key_sharing: {{ matrix_mautrix_gmessages_bridge_encryption_key_sharing_allow | to_json }}
|
||||||
|
|||||||
@@ -199,6 +199,7 @@ matrix_mautrix_googlechat_registration_yaml: |
|
|||||||
sender_localpart: _bot_{{ matrix_mautrix_googlechat_appservice_bot_username }}
|
sender_localpart: _bot_{{ matrix_mautrix_googlechat_appservice_bot_username }}
|
||||||
rate_limited: false
|
rate_limited: false
|
||||||
de.sorunome.msc2409.push_ephemeral: true
|
de.sorunome.msc2409.push_ephemeral: true
|
||||||
|
receive_ephemeral: true
|
||||||
|
|
||||||
matrix_mautrix_googlechat_registration: "{{ matrix_mautrix_googlechat_registration_yaml | from_yaml }}"
|
matrix_mautrix_googlechat_registration: "{{ matrix_mautrix_googlechat_registration_yaml | from_yaml }}"
|
||||||
|
|
||||||
|
|||||||
@@ -54,8 +54,8 @@
|
|||||||
path: "{{ item.path }}"
|
path: "{{ item.path }}"
|
||||||
state: directory
|
state: directory
|
||||||
mode: 0750
|
mode: 0750
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- {path: "{{ matrix_mautrix_googlechat_base_path }}", when: true}
|
- {path: "{{ matrix_mautrix_googlechat_base_path }}", when: true}
|
||||||
- {path: "{{ matrix_mautrix_googlechat_config_path }}", when: true}
|
- {path: "{{ matrix_mautrix_googlechat_config_path }}", when: true}
|
||||||
@@ -70,7 +70,7 @@
|
|||||||
dest: "{{ matrix_mautrix_googlechat_docker_src_files_path }}"
|
dest: "{{ matrix_mautrix_googlechat_docker_src_files_path }}"
|
||||||
force: "yes"
|
force: "yes"
|
||||||
become: true
|
become: true
|
||||||
become_user: "{{ matrix_user_username }}"
|
become_user: "{{ matrix_user_name }}"
|
||||||
register: matrix_mautrix_googlechat_git_pull_results
|
register: matrix_mautrix_googlechat_git_pull_results
|
||||||
when: "matrix_mautrix_googlechat_container_image_self_build | bool"
|
when: "matrix_mautrix_googlechat_container_image_self_build | bool"
|
||||||
|
|
||||||
@@ -112,24 +112,24 @@
|
|||||||
content: "{{ matrix_mautrix_googlechat_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
content: "{{ matrix_mautrix_googlechat_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
||||||
dest: "{{ matrix_mautrix_googlechat_config_path }}/config.yaml"
|
dest: "{{ matrix_mautrix_googlechat_config_path }}/config.yaml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure mautrix-googlechat registration.yaml installed
|
- name: Ensure mautrix-googlechat registration.yaml installed
|
||||||
ansible.builtin.copy:
|
ansible.builtin.copy:
|
||||||
content: "{{ matrix_mautrix_googlechat_registration | to_nice_yaml(indent=2, width=999999) }}"
|
content: "{{ matrix_mautrix_googlechat_registration | to_nice_yaml(indent=2, width=999999) }}"
|
||||||
dest: "{{ matrix_mautrix_googlechat_config_path }}/registration.yaml"
|
dest: "{{ matrix_mautrix_googlechat_config_path }}/registration.yaml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure mautrix-googlechat support files installed
|
- name: Ensure mautrix-googlechat support files installed
|
||||||
ansible.builtin.template:
|
ansible.builtin.template:
|
||||||
src: "{{ role_path }}/templates/{{ item }}.j2"
|
src: "{{ role_path }}/templates/{{ item }}.j2"
|
||||||
dest: "{{ matrix_mautrix_googlechat_base_path }}/{{ item }}"
|
dest: "{{ matrix_mautrix_googlechat_base_path }}/{{ item }}"
|
||||||
mode: 0640
|
mode: 0640
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- labels
|
- labels
|
||||||
|
|
||||||
|
|||||||
@@ -183,6 +183,7 @@ matrix_mautrix_instagram_registration_yaml: |
|
|||||||
sender_localpart: _bot_{{ matrix_mautrix_instagram_appservice_bot_username }}
|
sender_localpart: _bot_{{ matrix_mautrix_instagram_appservice_bot_username }}
|
||||||
rate_limited: false
|
rate_limited: false
|
||||||
de.sorunome.msc2409.push_ephemeral: true
|
de.sorunome.msc2409.push_ephemeral: true
|
||||||
|
receive_ephemeral: true
|
||||||
|
|
||||||
matrix_mautrix_instagram_registration: "{{ matrix_mautrix_instagram_registration_yaml | from_yaml }}"
|
matrix_mautrix_instagram_registration: "{{ matrix_mautrix_instagram_registration_yaml | from_yaml }}"
|
||||||
|
|
||||||
|
|||||||
@@ -27,8 +27,8 @@
|
|||||||
path: "{{ item.path }}"
|
path: "{{ item.path }}"
|
||||||
state: directory
|
state: directory
|
||||||
mode: 0750
|
mode: 0750
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- {path: "{{ matrix_mautrix_instagram_base_path }}", when: true}
|
- {path: "{{ matrix_mautrix_instagram_base_path }}", when: true}
|
||||||
- {path: "{{ matrix_mautrix_instagram_config_path }}", when: true}
|
- {path: "{{ matrix_mautrix_instagram_config_path }}", when: true}
|
||||||
@@ -43,7 +43,7 @@
|
|||||||
dest: "{{ matrix_mautrix_instagram_docker_src_files_path }}"
|
dest: "{{ matrix_mautrix_instagram_docker_src_files_path }}"
|
||||||
force: "yes"
|
force: "yes"
|
||||||
become: true
|
become: true
|
||||||
become_user: "{{ matrix_user_username }}"
|
become_user: "{{ matrix_user_name }}"
|
||||||
register: matrix_mautrix_instagram_git_pull_results
|
register: matrix_mautrix_instagram_git_pull_results
|
||||||
when: "matrix_mautrix_instagram_container_image_self_build | bool"
|
when: "matrix_mautrix_instagram_container_image_self_build | bool"
|
||||||
|
|
||||||
@@ -64,24 +64,24 @@
|
|||||||
content: "{{ matrix_mautrix_instagram_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
content: "{{ matrix_mautrix_instagram_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
||||||
dest: "{{ matrix_mautrix_instagram_config_path }}/config.yaml"
|
dest: "{{ matrix_mautrix_instagram_config_path }}/config.yaml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure mautrix-instagram registration.yaml installed
|
- name: Ensure mautrix-instagram registration.yaml installed
|
||||||
ansible.builtin.copy:
|
ansible.builtin.copy:
|
||||||
content: "{{ matrix_mautrix_instagram_registration | to_nice_yaml(indent=2, width=999999) }}"
|
content: "{{ matrix_mautrix_instagram_registration | to_nice_yaml(indent=2, width=999999) }}"
|
||||||
dest: "{{ matrix_mautrix_instagram_config_path }}/registration.yaml"
|
dest: "{{ matrix_mautrix_instagram_config_path }}/registration.yaml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure mautrix-instagram support files installed
|
- name: Ensure mautrix-instagram support files installed
|
||||||
ansible.builtin.template:
|
ansible.builtin.template:
|
||||||
src: "{{ role_path }}/templates/{{ item }}.j2"
|
src: "{{ role_path }}/templates/{{ item }}.j2"
|
||||||
dest: "{{ matrix_mautrix_instagram_base_path }}/{{ item }}"
|
dest: "{{ matrix_mautrix_instagram_base_path }}/{{ item }}"
|
||||||
mode: 0640
|
mode: 0640
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- labels
|
- labels
|
||||||
|
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ matrix_mautrix_meta_instagram_enabled: true
|
|||||||
matrix_mautrix_meta_instagram_identifier: matrix-mautrix-meta-instagram
|
matrix_mautrix_meta_instagram_identifier: matrix-mautrix-meta-instagram
|
||||||
|
|
||||||
# renovate: datasource=docker depName=dock.mau.dev/mautrix/meta
|
# renovate: datasource=docker depName=dock.mau.dev/mautrix/meta
|
||||||
matrix_mautrix_meta_instagram_version: v0.4.5
|
matrix_mautrix_meta_instagram_version: v0.4.6
|
||||||
|
|
||||||
matrix_mautrix_meta_instagram_base_path: "{{ matrix_base_data_path }}/mautrix-meta-instagram"
|
matrix_mautrix_meta_instagram_base_path: "{{ matrix_base_data_path }}/mautrix-meta-instagram"
|
||||||
matrix_mautrix_meta_instagram_config_path: "{{ matrix_mautrix_meta_instagram_base_path }}/config"
|
matrix_mautrix_meta_instagram_config_path: "{{ matrix_mautrix_meta_instagram_base_path }}/config"
|
||||||
@@ -123,6 +123,8 @@ matrix_mautrix_meta_instagram_appservice_address: "http://{{ matrix_mautrix_meta
|
|||||||
|
|
||||||
matrix_mautrix_meta_instagram_appservice_id: "{{ matrix_mautrix_meta_instagram_meta_mode }}"
|
matrix_mautrix_meta_instagram_appservice_id: "{{ matrix_mautrix_meta_instagram_meta_mode }}"
|
||||||
|
|
||||||
|
matrix_mautrix_meta_instagram_msc4190_enabled: "{{ matrix_bridges_msc4190_enabled }}"
|
||||||
|
|
||||||
# For Facebook/Messenger, we use the same `@messengerbot:example.com` username regardless of how bridging happens for multiple reasons:
|
# For Facebook/Messenger, we use the same `@messengerbot:example.com` username regardless of how bridging happens for multiple reasons:
|
||||||
# - it's consistent - regardless of how bridging happens, the bridged service is actually Messenger
|
# - it's consistent - regardless of how bridging happens, the bridged service is actually Messenger
|
||||||
# - it's easy for users - you may change the mode, but the bot is always at `@messengerbot:example.com`
|
# - it's easy for users - you may change the mode, but the bot is always at `@messengerbot:example.com`
|
||||||
@@ -297,5 +299,7 @@ matrix_mautrix_meta_instagram_registration_yaml: |
|
|||||||
sender_localpart: _bot_{{ matrix_mautrix_meta_instagram_appservice_username }}
|
sender_localpart: _bot_{{ matrix_mautrix_meta_instagram_appservice_username }}
|
||||||
rate_limited: false
|
rate_limited: false
|
||||||
de.sorunome.msc2409.push_ephemeral: true
|
de.sorunome.msc2409.push_ephemeral: true
|
||||||
|
receive_ephemeral: true
|
||||||
|
io.element.msc4190: {{ matrix_mautrix_meta_instagram_msc4190_enabled | to_json }}
|
||||||
|
|
||||||
matrix_mautrix_meta_instagram_registration: "{{ matrix_mautrix_meta_instagram_registration_yaml | from_yaml }}"
|
matrix_mautrix_meta_instagram_registration: "{{ matrix_mautrix_meta_instagram_registration_yaml | from_yaml }}"
|
||||||
|
|||||||
@@ -49,8 +49,8 @@
|
|||||||
path: "{{ item.path }}"
|
path: "{{ item.path }}"
|
||||||
state: directory
|
state: directory
|
||||||
mode: 0750
|
mode: 0750
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- {path: "{{ matrix_mautrix_meta_instagram_base_path }}", when: true}
|
- {path: "{{ matrix_mautrix_meta_instagram_base_path }}", when: true}
|
||||||
- {path: "{{ matrix_mautrix_meta_instagram_config_path }}", when: true}
|
- {path: "{{ matrix_mautrix_meta_instagram_config_path }}", when: true}
|
||||||
@@ -67,7 +67,7 @@
|
|||||||
version: "{{ matrix_mautrix_meta_instagram_container_image.split(':')[1] }}"
|
version: "{{ matrix_mautrix_meta_instagram_container_image.split(':')[1] }}"
|
||||||
force: "yes"
|
force: "yes"
|
||||||
become: true
|
become: true
|
||||||
become_user: "{{ matrix_user_username }}"
|
become_user: "{{ matrix_user_name }}"
|
||||||
register: matrix_mautrix_meta_instagram_git_pull_results
|
register: matrix_mautrix_meta_instagram_git_pull_results
|
||||||
|
|
||||||
- name: Ensure mautrix-meta-instagram container image is built
|
- name: Ensure mautrix-meta-instagram container image is built
|
||||||
@@ -86,24 +86,24 @@
|
|||||||
content: "{{ matrix_mautrix_meta_instagram_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
content: "{{ matrix_mautrix_meta_instagram_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
||||||
dest: "{{ matrix_mautrix_meta_instagram_config_path }}/config.yaml"
|
dest: "{{ matrix_mautrix_meta_instagram_config_path }}/config.yaml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure mautrix-meta-instagram registration.yaml installed
|
- name: Ensure mautrix-meta-instagram registration.yaml installed
|
||||||
ansible.builtin.copy:
|
ansible.builtin.copy:
|
||||||
content: "{{ matrix_mautrix_meta_instagram_registration | to_nice_yaml(indent=2, width=999999) }}"
|
content: "{{ matrix_mautrix_meta_instagram_registration | to_nice_yaml(indent=2, width=999999) }}"
|
||||||
dest: "{{ matrix_mautrix_meta_instagram_config_path }}/registration.yaml"
|
dest: "{{ matrix_mautrix_meta_instagram_config_path }}/registration.yaml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure mautrix-meta-instagram support files installed
|
- name: Ensure mautrix-meta-instagram support files installed
|
||||||
ansible.builtin.template:
|
ansible.builtin.template:
|
||||||
src: "{{ role_path }}/templates/{{ item }}.j2"
|
src: "{{ role_path }}/templates/{{ item }}.j2"
|
||||||
dest: "{{ matrix_mautrix_meta_instagram_base_path }}/{{ item }}"
|
dest: "{{ matrix_mautrix_meta_instagram_base_path }}/{{ item }}"
|
||||||
mode: 0640
|
mode: 0640
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- labels
|
- labels
|
||||||
|
|
||||||
|
|||||||
@@ -212,7 +212,7 @@ appservice:
|
|||||||
username: {{ matrix_mautrix_meta_instagram_appservice_username | to_json }}
|
username: {{ matrix_mautrix_meta_instagram_appservice_username | to_json }}
|
||||||
# Display name and avatar for bot. Set to "remove" to remove display name/avatar, leave empty
|
# Display name and avatar for bot. Set to "remove" to remove display name/avatar, leave empty
|
||||||
# to leave display name/avatar as-is.
|
# to leave display name/avatar as-is.
|
||||||
displayname: {{ matrix_mautrix_meta_instagram_appservice_displayname | to_json }}
|
displayname: {{ matrix_mautrix_meta_instagram_appservice_displayname | to_json(ensure_ascii=False) }}
|
||||||
avatar: {{ matrix_mautrix_meta_instagram_appservice_avatar | to_json }}
|
avatar: {{ matrix_mautrix_meta_instagram_appservice_avatar | to_json }}
|
||||||
|
|
||||||
# Whether to receive ephemeral events via appservice transactions.
|
# Whether to receive ephemeral events via appservice transactions.
|
||||||
@@ -367,6 +367,11 @@ encryption:
|
|||||||
# Whether to use MSC2409/MSC3202 instead of /sync long polling for receiving encryption-related data.
|
# Whether to use MSC2409/MSC3202 instead of /sync long polling for receiving encryption-related data.
|
||||||
# This option is not yet compatible with standard Matrix servers like Synapse and should not be used.
|
# This option is not yet compatible with standard Matrix servers like Synapse and should not be used.
|
||||||
appservice: {{ matrix_mautrix_meta_instagram_bridge_encryption_appservice | to_json }}
|
appservice: {{ matrix_mautrix_meta_instagram_bridge_encryption_appservice | to_json }}
|
||||||
|
# Whether to use MSC4190 instead of appservice login to create the bridge bot device.
|
||||||
|
# Requires the homeserver to support MSC4190 and the device masquerading parts of MSC3202.
|
||||||
|
# Only relevant when using end-to-bridge encryption, required when using encryption with next-gen auth (MSC3861).
|
||||||
|
# Changing this option requires updating the appservice registration file.
|
||||||
|
msc4190: {{ matrix_mautrix_meta_instagram_msc4190_enabled | to_json }}
|
||||||
# Enable key sharing? If enabled, key requests for rooms where users are in will be fulfilled.
|
# Enable key sharing? If enabled, key requests for rooms where users are in will be fulfilled.
|
||||||
# You must use a client that supports requesting keys from other users to use this feature.
|
# You must use a client that supports requesting keys from other users to use this feature.
|
||||||
allow_key_sharing: {{ matrix_mautrix_meta_instagram_bridge_encryption_allow_key_sharing | to_json }}
|
allow_key_sharing: {{ matrix_mautrix_meta_instagram_bridge_encryption_allow_key_sharing | to_json }}
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ matrix_mautrix_meta_messenger_enabled: true
|
|||||||
matrix_mautrix_meta_messenger_identifier: matrix-mautrix-meta-messenger
|
matrix_mautrix_meta_messenger_identifier: matrix-mautrix-meta-messenger
|
||||||
|
|
||||||
# renovate: datasource=docker depName=dock.mau.dev/mautrix/meta
|
# renovate: datasource=docker depName=dock.mau.dev/mautrix/meta
|
||||||
matrix_mautrix_meta_messenger_version: v0.4.5
|
matrix_mautrix_meta_messenger_version: v0.4.6
|
||||||
|
|
||||||
matrix_mautrix_meta_messenger_base_path: "{{ matrix_base_data_path }}/mautrix-meta-messenger"
|
matrix_mautrix_meta_messenger_base_path: "{{ matrix_base_data_path }}/mautrix-meta-messenger"
|
||||||
matrix_mautrix_meta_messenger_config_path: "{{ matrix_mautrix_meta_messenger_base_path }}/config"
|
matrix_mautrix_meta_messenger_config_path: "{{ matrix_mautrix_meta_messenger_base_path }}/config"
|
||||||
@@ -123,6 +123,8 @@ matrix_mautrix_meta_messenger_appservice_address: "http://{{ matrix_mautrix_meta
|
|||||||
|
|
||||||
matrix_mautrix_meta_messenger_appservice_id: "{{ matrix_mautrix_meta_messenger_meta_mode }}"
|
matrix_mautrix_meta_messenger_appservice_id: "{{ matrix_mautrix_meta_messenger_meta_mode }}"
|
||||||
|
|
||||||
|
matrix_mautrix_meta_messenger_msc4190_enabled: "{{ matrix_bridges_msc4190_enabled }}"
|
||||||
|
|
||||||
# For Facebook/Messenger, we use the same `@messengerbot:example.com` username regardless of how bridging happens for multiple reasons:
|
# For Facebook/Messenger, we use the same `@messengerbot:example.com` username regardless of how bridging happens for multiple reasons:
|
||||||
# - it's consistent - regardless of how bridging happens, the bridged service is actually Messenger
|
# - it's consistent - regardless of how bridging happens, the bridged service is actually Messenger
|
||||||
# - it's easy for users - you may change the mode, but the bot is always at `@messengerbot:example.com`
|
# - it's easy for users - you may change the mode, but the bot is always at `@messengerbot:example.com`
|
||||||
@@ -297,5 +299,7 @@ matrix_mautrix_meta_messenger_registration_yaml: |
|
|||||||
sender_localpart: _bot_{{ matrix_mautrix_meta_messenger_appservice_username }}
|
sender_localpart: _bot_{{ matrix_mautrix_meta_messenger_appservice_username }}
|
||||||
rate_limited: false
|
rate_limited: false
|
||||||
de.sorunome.msc2409.push_ephemeral: true
|
de.sorunome.msc2409.push_ephemeral: true
|
||||||
|
receive_ephemeral: true
|
||||||
|
io.element.msc4190: {{ matrix_mautrix_meta_messenger_msc4190_enabled | to_json }}
|
||||||
|
|
||||||
matrix_mautrix_meta_messenger_registration: "{{ matrix_mautrix_meta_messenger_registration_yaml | from_yaml }}"
|
matrix_mautrix_meta_messenger_registration: "{{ matrix_mautrix_meta_messenger_registration_yaml | from_yaml }}"
|
||||||
|
|||||||
@@ -49,8 +49,8 @@
|
|||||||
path: "{{ item.path }}"
|
path: "{{ item.path }}"
|
||||||
state: directory
|
state: directory
|
||||||
mode: 0750
|
mode: 0750
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- {path: "{{ matrix_mautrix_meta_messenger_base_path }}", when: true}
|
- {path: "{{ matrix_mautrix_meta_messenger_base_path }}", when: true}
|
||||||
- {path: "{{ matrix_mautrix_meta_messenger_config_path }}", when: true}
|
- {path: "{{ matrix_mautrix_meta_messenger_config_path }}", when: true}
|
||||||
@@ -67,7 +67,7 @@
|
|||||||
version: "{{ matrix_mautrix_meta_messenger_container_image.split(':')[1] }}"
|
version: "{{ matrix_mautrix_meta_messenger_container_image.split(':')[1] }}"
|
||||||
force: "yes"
|
force: "yes"
|
||||||
become: true
|
become: true
|
||||||
become_user: "{{ matrix_user_username }}"
|
become_user: "{{ matrix_user_name }}"
|
||||||
register: matrix_mautrix_meta_messenger_git_pull_results
|
register: matrix_mautrix_meta_messenger_git_pull_results
|
||||||
|
|
||||||
- name: Ensure mautrix-meta-messenger container image is built
|
- name: Ensure mautrix-meta-messenger container image is built
|
||||||
@@ -86,24 +86,24 @@
|
|||||||
content: "{{ matrix_mautrix_meta_messenger_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
content: "{{ matrix_mautrix_meta_messenger_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
||||||
dest: "{{ matrix_mautrix_meta_messenger_config_path }}/config.yaml"
|
dest: "{{ matrix_mautrix_meta_messenger_config_path }}/config.yaml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure mautrix-meta-messenger registration.yaml installed
|
- name: Ensure mautrix-meta-messenger registration.yaml installed
|
||||||
ansible.builtin.copy:
|
ansible.builtin.copy:
|
||||||
content: "{{ matrix_mautrix_meta_messenger_registration | to_nice_yaml(indent=2, width=999999) }}"
|
content: "{{ matrix_mautrix_meta_messenger_registration | to_nice_yaml(indent=2, width=999999) }}"
|
||||||
dest: "{{ matrix_mautrix_meta_messenger_config_path }}/registration.yaml"
|
dest: "{{ matrix_mautrix_meta_messenger_config_path }}/registration.yaml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure mautrix-meta-messenger support files installed
|
- name: Ensure mautrix-meta-messenger support files installed
|
||||||
ansible.builtin.template:
|
ansible.builtin.template:
|
||||||
src: "{{ role_path }}/templates/{{ item }}.j2"
|
src: "{{ role_path }}/templates/{{ item }}.j2"
|
||||||
dest: "{{ matrix_mautrix_meta_messenger_base_path }}/{{ item }}"
|
dest: "{{ matrix_mautrix_meta_messenger_base_path }}/{{ item }}"
|
||||||
mode: 0640
|
mode: 0640
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- labels
|
- labels
|
||||||
|
|
||||||
|
|||||||
@@ -212,7 +212,7 @@ appservice:
|
|||||||
username: {{ matrix_mautrix_meta_messenger_appservice_username | to_json }}
|
username: {{ matrix_mautrix_meta_messenger_appservice_username | to_json }}
|
||||||
# Display name and avatar for bot. Set to "remove" to remove display name/avatar, leave empty
|
# Display name and avatar for bot. Set to "remove" to remove display name/avatar, leave empty
|
||||||
# to leave display name/avatar as-is.
|
# to leave display name/avatar as-is.
|
||||||
displayname: {{ matrix_mautrix_meta_messenger_appservice_displayname | to_json }}
|
displayname: {{ matrix_mautrix_meta_messenger_appservice_displayname | to_json(ensure_ascii=False) }}
|
||||||
avatar: {{ matrix_mautrix_meta_messenger_appservice_avatar | to_json }}
|
avatar: {{ matrix_mautrix_meta_messenger_appservice_avatar | to_json }}
|
||||||
|
|
||||||
# Whether to receive ephemeral events via appservice transactions.
|
# Whether to receive ephemeral events via appservice transactions.
|
||||||
@@ -367,6 +367,11 @@ encryption:
|
|||||||
# Whether to use MSC2409/MSC3202 instead of /sync long polling for receiving encryption-related data.
|
# Whether to use MSC2409/MSC3202 instead of /sync long polling for receiving encryption-related data.
|
||||||
# This option is not yet compatible with standard Matrix servers like Synapse and should not be used.
|
# This option is not yet compatible with standard Matrix servers like Synapse and should not be used.
|
||||||
appservice: {{ matrix_mautrix_meta_messenger_bridge_encryption_appservice | to_json }}
|
appservice: {{ matrix_mautrix_meta_messenger_bridge_encryption_appservice | to_json }}
|
||||||
|
# Whether to use MSC4190 instead of appservice login to create the bridge bot device.
|
||||||
|
# Requires the homeserver to support MSC4190 and the device masquerading parts of MSC3202.
|
||||||
|
# Only relevant when using end-to-bridge encryption, required when using encryption with next-gen auth (MSC3861).
|
||||||
|
# Changing this option requires updating the appservice registration file.
|
||||||
|
msc4190: {{ matrix_mautrix_meta_messenger_msc4190_enabled | to_json }}
|
||||||
# Enable key sharing? If enabled, key requests for rooms where users are in will be fulfilled.
|
# Enable key sharing? If enabled, key requests for rooms where users are in will be fulfilled.
|
||||||
# You must use a client that supports requesting keys from other users to use this feature.
|
# You must use a client that supports requesting keys from other users to use this feature.
|
||||||
allow_key_sharing: {{ matrix_mautrix_meta_messenger_bridge_encryption_allow_key_sharing | to_json }}
|
allow_key_sharing: {{ matrix_mautrix_meta_messenger_bridge_encryption_allow_key_sharing | to_json }}
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ matrix_mautrix_signal_container_image_self_build_repo: "https://mau.dev/mautrix/
|
|||||||
matrix_mautrix_signal_container_image_self_build_branch: "{{ 'main' if matrix_mautrix_signal_version == 'latest' else matrix_mautrix_signal_version }}"
|
matrix_mautrix_signal_container_image_self_build_branch: "{{ 'main' if matrix_mautrix_signal_version == 'latest' else matrix_mautrix_signal_version }}"
|
||||||
|
|
||||||
# renovate: datasource=docker depName=dock.mau.dev/mautrix/signal
|
# renovate: datasource=docker depName=dock.mau.dev/mautrix/signal
|
||||||
matrix_mautrix_signal_version: v0.8.1
|
matrix_mautrix_signal_version: v0.8.2
|
||||||
|
|
||||||
# See: https://mau.dev/mautrix/signal/container_registry
|
# See: https://mau.dev/mautrix/signal/container_registry
|
||||||
matrix_mautrix_signal_docker_image: "{{ matrix_mautrix_signal_docker_image_registry_prefix }}mautrix/signal:{{ matrix_mautrix_signal_docker_image_tag }}"
|
matrix_mautrix_signal_docker_image: "{{ matrix_mautrix_signal_docker_image_registry_prefix }}mautrix/signal:{{ matrix_mautrix_signal_docker_image_tag }}"
|
||||||
@@ -44,6 +44,8 @@ matrix_mautrix_signal_homeserver_address: ""
|
|||||||
matrix_mautrix_signal_homeserver_domain: "{{ matrix_domain }}"
|
matrix_mautrix_signal_homeserver_domain: "{{ matrix_domain }}"
|
||||||
matrix_mautrix_signal_appservice_address: "http://matrix-mautrix-signal:8080"
|
matrix_mautrix_signal_appservice_address: "http://matrix-mautrix-signal:8080"
|
||||||
|
|
||||||
|
matrix_mautrix_signal_msc4190_enabled: "{{ matrix_bridges_msc4190_enabled }}"
|
||||||
|
|
||||||
matrix_mautrix_signal_command_prefix: "!signal"
|
matrix_mautrix_signal_command_prefix: "!signal"
|
||||||
|
|
||||||
matrix_mautrix_signal_bridge_permissions: |
|
matrix_mautrix_signal_bridge_permissions: |
|
||||||
@@ -210,6 +212,8 @@ matrix_mautrix_signal_registration_yaml: |
|
|||||||
- exclusive: true
|
- exclusive: true
|
||||||
regex: '^@{{ matrix_mautrix_signal_appservice_bot_username | regex_escape }}:{{ matrix_mautrix_signal_homeserver_domain | regex_escape }}$'
|
regex: '^@{{ matrix_mautrix_signal_appservice_bot_username | regex_escape }}:{{ matrix_mautrix_signal_homeserver_domain | regex_escape }}$'
|
||||||
de.sorunome.msc2409.push_ephemeral: true
|
de.sorunome.msc2409.push_ephemeral: true
|
||||||
|
receive_ephemeral: true
|
||||||
|
io.element.msc4190: {{ matrix_mautrix_signal_msc4190_enabled | to_json }}
|
||||||
|
|
||||||
matrix_mautrix_signal_registration: "{{ matrix_mautrix_signal_registration_yaml | from_yaml }}"
|
matrix_mautrix_signal_registration: "{{ matrix_mautrix_signal_registration_yaml | from_yaml }}"
|
||||||
|
|
||||||
|
|||||||
@@ -45,8 +45,8 @@
|
|||||||
path: "{{ item.path }}"
|
path: "{{ item.path }}"
|
||||||
state: directory
|
state: directory
|
||||||
mode: 0750
|
mode: 0750
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- {path: "{{ matrix_mautrix_signal_base_path }}", when: true}
|
- {path: "{{ matrix_mautrix_signal_base_path }}", when: true}
|
||||||
- {path: "{{ matrix_mautrix_signal_config_path }}", when: true}
|
- {path: "{{ matrix_mautrix_signal_config_path }}", when: true}
|
||||||
@@ -73,7 +73,7 @@
|
|||||||
version: "{{ matrix_mautrix_signal_container_image_self_build_branch }}"
|
version: "{{ matrix_mautrix_signal_container_image_self_build_branch }}"
|
||||||
force: "yes"
|
force: "yes"
|
||||||
become: true
|
become: true
|
||||||
become_user: "{{ matrix_user_username }}"
|
become_user: "{{ matrix_user_name }}"
|
||||||
register: matrix_mautrix_signal_git_pull_results
|
register: matrix_mautrix_signal_git_pull_results
|
||||||
when: "matrix_mautrix_signal_container_image_self_build | bool"
|
when: "matrix_mautrix_signal_container_image_self_build | bool"
|
||||||
|
|
||||||
@@ -127,24 +127,24 @@
|
|||||||
content: "{{ matrix_mautrix_signal_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
content: "{{ matrix_mautrix_signal_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
||||||
dest: "{{ matrix_mautrix_signal_config_path }}/config.yaml"
|
dest: "{{ matrix_mautrix_signal_config_path }}/config.yaml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure mautrix-signal registration.yaml installed
|
- name: Ensure mautrix-signal registration.yaml installed
|
||||||
ansible.builtin.copy:
|
ansible.builtin.copy:
|
||||||
content: "{{ matrix_mautrix_signal_registration | to_nice_yaml(indent=2, width=999999) }}"
|
content: "{{ matrix_mautrix_signal_registration | to_nice_yaml(indent=2, width=999999) }}"
|
||||||
dest: "{{ matrix_mautrix_signal_config_path }}/registration.yaml"
|
dest: "{{ matrix_mautrix_signal_config_path }}/registration.yaml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure mautrix-signal support files installed
|
- name: Ensure mautrix-signal support files installed
|
||||||
ansible.builtin.template:
|
ansible.builtin.template:
|
||||||
src: "{{ role_path }}/templates/{{ item }}.j2"
|
src: "{{ role_path }}/templates/{{ item }}.j2"
|
||||||
dest: "{{ matrix_mautrix_signal_base_path }}/{{ item }}"
|
dest: "{{ matrix_mautrix_signal_base_path }}/{{ item }}"
|
||||||
mode: 0640
|
mode: 0640
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- labels
|
- labels
|
||||||
|
|
||||||
|
|||||||
@@ -334,6 +334,11 @@ encryption:
|
|||||||
# Whether to use MSC2409/MSC3202 instead of /sync long polling for receiving encryption-related data.
|
# Whether to use MSC2409/MSC3202 instead of /sync long polling for receiving encryption-related data.
|
||||||
# This option is not yet compatible with standard Matrix servers like Synapse and should not be used.
|
# This option is not yet compatible with standard Matrix servers like Synapse and should not be used.
|
||||||
appservice: false
|
appservice: false
|
||||||
|
# Whether to use MSC4190 instead of appservice login to create the bridge bot device.
|
||||||
|
# Requires the homeserver to support MSC4190 and the device masquerading parts of MSC3202.
|
||||||
|
# Only relevant when using end-to-bridge encryption, required when using encryption with next-gen auth (MSC3861).
|
||||||
|
# Changing this option requires updating the appservice registration file.
|
||||||
|
msc4190: {{ matrix_mautrix_signal_msc4190_enabled | to_json }}
|
||||||
# Enable key sharing? If enabled, key requests for rooms where users are in will be fulfilled.
|
# Enable key sharing? If enabled, key requests for rooms where users are in will be fulfilled.
|
||||||
# You must use a client that supports requesting keys from other users to use this feature.
|
# You must use a client that supports requesting keys from other users to use this feature.
|
||||||
allow_key_sharing: {{ matrix_mautrix_signal_bridge_encryption_key_sharing_allow | to_json }}
|
allow_key_sharing: {{ matrix_mautrix_signal_bridge_encryption_key_sharing_allow | to_json }}
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ matrix_mautrix_slack_container_image_self_build_repo: "https://mau.dev/mautrix/s
|
|||||||
matrix_mautrix_slack_container_image_self_build_branch: "{{ 'main' if matrix_mautrix_slack_version == 'latest' else matrix_mautrix_slack_version }}"
|
matrix_mautrix_slack_container_image_self_build_branch: "{{ 'main' if matrix_mautrix_slack_version == 'latest' else matrix_mautrix_slack_version }}"
|
||||||
|
|
||||||
# renovate: datasource=docker depName=dock.mau.dev/mautrix/slack
|
# renovate: datasource=docker depName=dock.mau.dev/mautrix/slack
|
||||||
matrix_mautrix_slack_version: v0.2.0
|
matrix_mautrix_slack_version: v0.2.1
|
||||||
# See: https://mau.dev/mautrix/slack/container_registry
|
# See: https://mau.dev/mautrix/slack/container_registry
|
||||||
matrix_mautrix_slack_docker_image: "{{ matrix_mautrix_slack_docker_image_registry_prefix }}mautrix/slack:{{ matrix_mautrix_slack_version }}"
|
matrix_mautrix_slack_docker_image: "{{ matrix_mautrix_slack_docker_image_registry_prefix }}mautrix/slack:{{ matrix_mautrix_slack_version }}"
|
||||||
matrix_mautrix_slack_docker_image_registry_prefix: "{{ 'localhost/' if matrix_mautrix_slack_container_image_self_build else matrix_mautrix_slack_docker_image_registry_prefix_upstream }}"
|
matrix_mautrix_slack_docker_image_registry_prefix: "{{ 'localhost/' if matrix_mautrix_slack_container_image_self_build else matrix_mautrix_slack_docker_image_registry_prefix_upstream }}"
|
||||||
@@ -34,6 +34,8 @@ matrix_mautrix_slack_homeserver_address: ""
|
|||||||
matrix_mautrix_slack_homeserver_domain: "{{ matrix_domain }}"
|
matrix_mautrix_slack_homeserver_domain: "{{ matrix_domain }}"
|
||||||
matrix_mautrix_slack_appservice_address: "http://matrix-mautrix-slack:8080"
|
matrix_mautrix_slack_appservice_address: "http://matrix-mautrix-slack:8080"
|
||||||
|
|
||||||
|
matrix_mautrix_slack_msc4190_enabled: "{{ matrix_bridges_msc4190_enabled }}"
|
||||||
|
|
||||||
matrix_mautrix_slack_command_prefix: "!slack"
|
matrix_mautrix_slack_command_prefix: "!slack"
|
||||||
|
|
||||||
matrix_mautrix_slack_bridge_permissions: |
|
matrix_mautrix_slack_bridge_permissions: |
|
||||||
@@ -151,6 +153,8 @@ matrix_mautrix_slack_registration_yaml: |
|
|||||||
- exclusive: true
|
- exclusive: true
|
||||||
regex: '^@{{ matrix_mautrix_slack_appservice_bot_username | regex_escape }}:{{ matrix_mautrix_slack_homeserver_domain | regex_escape }}$'
|
regex: '^@{{ matrix_mautrix_slack_appservice_bot_username | regex_escape }}:{{ matrix_mautrix_slack_homeserver_domain | regex_escape }}$'
|
||||||
de.sorunome.msc2409.push_ephemeral: true
|
de.sorunome.msc2409.push_ephemeral: true
|
||||||
|
receive_ephemeral: true
|
||||||
|
io.element.msc4190: {{ matrix_mautrix_slack_msc4190_enabled | to_json }}
|
||||||
|
|
||||||
matrix_mautrix_slack_registration: "{{ matrix_mautrix_slack_registration_yaml | from_yaml }}"
|
matrix_mautrix_slack_registration: "{{ matrix_mautrix_slack_registration_yaml | from_yaml }}"
|
||||||
|
|
||||||
|
|||||||
@@ -39,8 +39,8 @@
|
|||||||
path: "{{ item.path }}"
|
path: "{{ item.path }}"
|
||||||
state: directory
|
state: directory
|
||||||
mode: 0750
|
mode: 0750
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- {path: "{{ matrix_mautrix_slack_base_path }}", when: true}
|
- {path: "{{ matrix_mautrix_slack_base_path }}", when: true}
|
||||||
- {path: "{{ matrix_mautrix_slack_config_path }}", when: true}
|
- {path: "{{ matrix_mautrix_slack_config_path }}", when: true}
|
||||||
@@ -67,7 +67,7 @@
|
|||||||
version: "{{ matrix_mautrix_slack_container_image_self_build_branch }}"
|
version: "{{ matrix_mautrix_slack_container_image_self_build_branch }}"
|
||||||
force: "yes"
|
force: "yes"
|
||||||
become: true
|
become: true
|
||||||
become_user: "{{ matrix_user_username }}"
|
become_user: "{{ matrix_user_name }}"
|
||||||
register: matrix_mautrix_slack_git_pull_results
|
register: matrix_mautrix_slack_git_pull_results
|
||||||
when: "matrix_mautrix_slack_container_image_self_build | bool"
|
when: "matrix_mautrix_slack_container_image_self_build | bool"
|
||||||
|
|
||||||
@@ -88,16 +88,16 @@
|
|||||||
content: "{{ matrix_mautrix_slack_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
content: "{{ matrix_mautrix_slack_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
||||||
dest: "{{ matrix_mautrix_slack_config_path }}/config.yaml"
|
dest: "{{ matrix_mautrix_slack_config_path }}/config.yaml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure mautrix-slack registration.yaml installed
|
- name: Ensure mautrix-slack registration.yaml installed
|
||||||
ansible.builtin.copy:
|
ansible.builtin.copy:
|
||||||
content: "{{ matrix_mautrix_slack_registration | to_nice_yaml(indent=2, width=999999) }}"
|
content: "{{ matrix_mautrix_slack_registration | to_nice_yaml(indent=2, width=999999) }}"
|
||||||
dest: "{{ matrix_mautrix_slack_config_path }}/registration.yaml"
|
dest: "{{ matrix_mautrix_slack_config_path }}/registration.yaml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure matrix-mautrix-slack container network is created
|
- name: Ensure matrix-mautrix-slack container network is created
|
||||||
community.general.docker_network:
|
community.general.docker_network:
|
||||||
|
|||||||
@@ -371,6 +371,11 @@ encryption:
|
|||||||
# Whether to use MSC2409/MSC3202 instead of /sync long polling for receiving encryption-related data.
|
# Whether to use MSC2409/MSC3202 instead of /sync long polling for receiving encryption-related data.
|
||||||
# This option is not yet compatible with standard Matrix servers like Synapse and should not be used.
|
# This option is not yet compatible with standard Matrix servers like Synapse and should not be used.
|
||||||
appservice: false
|
appservice: false
|
||||||
|
# Whether to use MSC4190 instead of appservice login to create the bridge bot device.
|
||||||
|
# Requires the homeserver to support MSC4190 and the device masquerading parts of MSC3202.
|
||||||
|
# Only relevant when using end-to-bridge encryption, required when using encryption with next-gen auth (MSC3861).
|
||||||
|
# Changing this option requires updating the appservice registration file.
|
||||||
|
msc4190: {{ matrix_mautrix_slack_msc4190_enabled | to_json }}
|
||||||
# Enable key sharing? If enabled, key requests for rooms where users are in will be fulfilled.
|
# Enable key sharing? If enabled, key requests for rooms where users are in will be fulfilled.
|
||||||
# You must use a client that supports requesting keys from other users to use this feature.
|
# You must use a client that supports requesting keys from other users to use this feature.
|
||||||
allow_key_sharing: {{ matrix_mautrix_slack_bridge_encryption_key_sharing_allow | to_json }}
|
allow_key_sharing: {{ matrix_mautrix_slack_bridge_encryption_key_sharing_allow | to_json }}
|
||||||
|
|||||||
@@ -84,6 +84,8 @@ matrix_mautrix_telegram_appservice_public_external: '{{ matrix_mautrix_telegram_
|
|||||||
|
|
||||||
matrix_mautrix_telegram_appservice_bot_username: telegrambot
|
matrix_mautrix_telegram_appservice_bot_username: telegrambot
|
||||||
|
|
||||||
|
matrix_mautrix_telegram_msc4190_enabled: "{{ matrix_bridges_msc4190_enabled }}"
|
||||||
|
|
||||||
# Specifies the default log level for all bridge loggers.
|
# Specifies the default log level for all bridge loggers.
|
||||||
matrix_mautrix_telegram_logging_level: WARNING
|
matrix_mautrix_telegram_logging_level: WARNING
|
||||||
|
|
||||||
@@ -239,6 +241,8 @@ matrix_mautrix_telegram_registration_yaml: |
|
|||||||
url: {{ matrix_mautrix_telegram_appservice_address }}
|
url: {{ matrix_mautrix_telegram_appservice_address }}
|
||||||
rate_limited: false
|
rate_limited: false
|
||||||
de.sorunome.msc2409.push_ephemeral: true
|
de.sorunome.msc2409.push_ephemeral: true
|
||||||
|
receive_ephemeral: true
|
||||||
|
io.element.msc4190: {{ matrix_mautrix_telegram_msc4190_enabled | to_json }}
|
||||||
|
|
||||||
matrix_mautrix_telegram_registration: "{{ matrix_mautrix_telegram_registration_yaml | from_yaml }}"
|
matrix_mautrix_telegram_registration: "{{ matrix_mautrix_telegram_registration_yaml | from_yaml }}"
|
||||||
|
|
||||||
|
|||||||
@@ -49,8 +49,8 @@
|
|||||||
path: "{{ item.path }}"
|
path: "{{ item.path }}"
|
||||||
state: directory
|
state: directory
|
||||||
mode: 0750
|
mode: 0750
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- {path: "{{ matrix_mautrix_telegram_base_path }}", when: true}
|
- {path: "{{ matrix_mautrix_telegram_base_path }}", when: true}
|
||||||
- {path: "{{ matrix_mautrix_telegram_config_path }}", when: true}
|
- {path: "{{ matrix_mautrix_telegram_config_path }}", when: true}
|
||||||
@@ -77,7 +77,7 @@
|
|||||||
dest: "{{ matrix_mautrix_telegram_lottieconverter_docker_src_files_path }}"
|
dest: "{{ matrix_mautrix_telegram_lottieconverter_docker_src_files_path }}"
|
||||||
force: "yes"
|
force: "yes"
|
||||||
become: true
|
become: true
|
||||||
become_user: "{{ matrix_user_username }}"
|
become_user: "{{ matrix_user_name }}"
|
||||||
register: matrix_mautrix_telegram_lottieconverter_git_pull_results
|
register: matrix_mautrix_telegram_lottieconverter_git_pull_results
|
||||||
when: "matrix_mautrix_telegram_lottieconverter_container_image_self_build | bool and matrix_mautrix_telegram_container_image_self_build | bool"
|
when: "matrix_mautrix_telegram_lottieconverter_container_image_self_build | bool and matrix_mautrix_telegram_container_image_self_build | bool"
|
||||||
|
|
||||||
@@ -100,7 +100,7 @@
|
|||||||
dest: "{{ matrix_mautrix_telegram_docker_src_files_path }}"
|
dest: "{{ matrix_mautrix_telegram_docker_src_files_path }}"
|
||||||
force: "yes"
|
force: "yes"
|
||||||
become: true
|
become: true
|
||||||
become_user: "{{ matrix_user_username }}"
|
become_user: "{{ matrix_user_name }}"
|
||||||
register: matrix_mautrix_telegram_git_pull_results
|
register: matrix_mautrix_telegram_git_pull_results
|
||||||
when: "matrix_mautrix_telegram_container_image_self_build | bool"
|
when: "matrix_mautrix_telegram_container_image_self_build | bool"
|
||||||
|
|
||||||
@@ -144,24 +144,24 @@
|
|||||||
content: "{{ matrix_mautrix_telegram_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
content: "{{ matrix_mautrix_telegram_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
||||||
dest: "{{ matrix_mautrix_telegram_config_path }}/config.yaml"
|
dest: "{{ matrix_mautrix_telegram_config_path }}/config.yaml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure mautrix-telegram registration.yaml installed
|
- name: Ensure mautrix-telegram registration.yaml installed
|
||||||
ansible.builtin.copy:
|
ansible.builtin.copy:
|
||||||
content: "{{ matrix_mautrix_telegram_registration | to_nice_yaml(indent=2, width=999999) }}"
|
content: "{{ matrix_mautrix_telegram_registration | to_nice_yaml(indent=2, width=999999) }}"
|
||||||
dest: "{{ matrix_mautrix_telegram_config_path }}/registration.yaml"
|
dest: "{{ matrix_mautrix_telegram_config_path }}/registration.yaml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure mautrix-telegram support files installed
|
- name: Ensure mautrix-telegram support files installed
|
||||||
ansible.builtin.template:
|
ansible.builtin.template:
|
||||||
src: "{{ role_path }}/templates/{{ item }}.j2"
|
src: "{{ role_path }}/templates/{{ item }}.j2"
|
||||||
dest: "{{ matrix_mautrix_telegram_base_path }}/{{ item }}"
|
dest: "{{ matrix_mautrix_telegram_base_path }}/{{ item }}"
|
||||||
mode: 0640
|
mode: 0640
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- labels
|
- labels
|
||||||
|
|
||||||
|
|||||||
@@ -269,6 +269,11 @@ bridge:
|
|||||||
default: {{ matrix_mautrix_telegram_bridge_encryption_default|to_json }}
|
default: {{ matrix_mautrix_telegram_bridge_encryption_default|to_json }}
|
||||||
# Whether to use MSC2409/MSC3202 instead of /sync long polling for receiving encryption-related data.
|
# Whether to use MSC2409/MSC3202 instead of /sync long polling for receiving encryption-related data.
|
||||||
appservice: false
|
appservice: false
|
||||||
|
# Whether to use MSC4190 instead of appservice login to create the bridge bot device.
|
||||||
|
# Requires the homeserver to support MSC4190 and the device masquerading parts of MSC3202.
|
||||||
|
# Only relevant when using end-to-bridge encryption, required when using encryption with next-gen auth (MSC3861).
|
||||||
|
# Changing this option requires updating the appservice registration file.
|
||||||
|
msc4190: {{ matrix_mautrix_telegram_msc4190_enabled | to_json }}
|
||||||
# Require encryption, drop any unencrypted messages.
|
# Require encryption, drop any unencrypted messages.
|
||||||
require: false
|
require: false
|
||||||
# Enable key sharing? If enabled, key requests for rooms where users are in will be fulfilled.
|
# Enable key sharing? If enabled, key requests for rooms where users are in will be fulfilled.
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ matrix_mautrix_twitter_container_image_self_build_repo: "https://github.com/maut
|
|||||||
matrix_mautrix_twitter_container_image_self_build_repo_version: "{{ 'master' if matrix_mautrix_twitter_version == 'latest' else matrix_mautrix_twitter_version }}"
|
matrix_mautrix_twitter_container_image_self_build_repo_version: "{{ 'master' if matrix_mautrix_twitter_version == 'latest' else matrix_mautrix_twitter_version }}"
|
||||||
|
|
||||||
# renovate: datasource=docker depName=dock.mau.dev/mautrix/twitter
|
# renovate: datasource=docker depName=dock.mau.dev/mautrix/twitter
|
||||||
matrix_mautrix_twitter_version: v0.3.0
|
matrix_mautrix_twitter_version: v0.4.0
|
||||||
# See: https://mau.dev/tulir/mautrix-twitter/container_registry
|
# See: https://mau.dev/tulir/mautrix-twitter/container_registry
|
||||||
matrix_mautrix_twitter_docker_image: "{{ matrix_mautrix_twitter_docker_image_registry_prefix }}mautrix/twitter:{{ matrix_mautrix_twitter_version }}"
|
matrix_mautrix_twitter_docker_image: "{{ matrix_mautrix_twitter_docker_image_registry_prefix }}mautrix/twitter:{{ matrix_mautrix_twitter_version }}"
|
||||||
matrix_mautrix_twitter_docker_image_registry_prefix: "{{ 'localhost/' if matrix_mautrix_twitter_container_image_self_build else matrix_mautrix_twitter_docker_image_registry_prefix_upstream }}"
|
matrix_mautrix_twitter_docker_image_registry_prefix: "{{ 'localhost/' if matrix_mautrix_twitter_container_image_self_build else matrix_mautrix_twitter_docker_image_registry_prefix_upstream }}"
|
||||||
@@ -39,6 +39,8 @@ matrix_mautrix_twitter_homeserver_address: ""
|
|||||||
matrix_mautrix_twitter_homeserver_domain: '{{ matrix_domain }}'
|
matrix_mautrix_twitter_homeserver_domain: '{{ matrix_domain }}'
|
||||||
matrix_mautrix_twitter_appservice_address: 'http://matrix-mautrix-twitter:29327'
|
matrix_mautrix_twitter_appservice_address: 'http://matrix-mautrix-twitter:29327'
|
||||||
|
|
||||||
|
matrix_mautrix_twitter_msc4190_enabled: "{{ matrix_bridges_msc4190_enabled }}"
|
||||||
|
|
||||||
# A public address that external services can use to reach this appservice.
|
# A public address that external services can use to reach this appservice.
|
||||||
matrix_mautrix_twitter_appservice_public_address: ''
|
matrix_mautrix_twitter_appservice_public_address: ''
|
||||||
|
|
||||||
@@ -196,6 +198,7 @@ matrix_mautrix_twitter_registration_yaml: |
|
|||||||
rate_limited: false
|
rate_limited: false
|
||||||
de.sorunome.msc2409.push_ephemeral: true
|
de.sorunome.msc2409.push_ephemeral: true
|
||||||
receive_ephemeral: true
|
receive_ephemeral: true
|
||||||
|
io.element.msc4190: {{ matrix_mautrix_twitter_msc4190_enabled | to_json }}
|
||||||
|
|
||||||
matrix_mautrix_twitter_registration: "{{ matrix_mautrix_twitter_registration_yaml | from_yaml }}"
|
matrix_mautrix_twitter_registration: "{{ matrix_mautrix_twitter_registration_yaml | from_yaml }}"
|
||||||
|
|
||||||
|
|||||||
@@ -30,8 +30,8 @@
|
|||||||
path: "{{ item.path }}"
|
path: "{{ item.path }}"
|
||||||
state: directory
|
state: directory
|
||||||
mode: 0750
|
mode: 0750
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- {path: "{{ matrix_mautrix_twitter_base_path }}", when: true}
|
- {path: "{{ matrix_mautrix_twitter_base_path }}", when: true}
|
||||||
- {path: "{{ matrix_mautrix_twitter_config_path }}", when: true}
|
- {path: "{{ matrix_mautrix_twitter_config_path }}", when: true}
|
||||||
@@ -46,7 +46,7 @@
|
|||||||
dest: "{{ matrix_mautrix_twitter_docker_src_files_path }}"
|
dest: "{{ matrix_mautrix_twitter_docker_src_files_path }}"
|
||||||
force: "yes"
|
force: "yes"
|
||||||
become: true
|
become: true
|
||||||
become_user: "{{ matrix_user_username }}"
|
become_user: "{{ matrix_user_name }}"
|
||||||
register: matrix_mautrix_twitter_git_pull_results
|
register: matrix_mautrix_twitter_git_pull_results
|
||||||
when: "matrix_mautrix_twitter_enabled | bool and matrix_mautrix_twitter_container_image_self_build"
|
when: "matrix_mautrix_twitter_enabled | bool and matrix_mautrix_twitter_container_image_self_build"
|
||||||
|
|
||||||
@@ -66,24 +66,24 @@
|
|||||||
content: "{{ matrix_mautrix_twitter_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
content: "{{ matrix_mautrix_twitter_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
||||||
dest: "{{ matrix_mautrix_twitter_config_path }}/config.yaml"
|
dest: "{{ matrix_mautrix_twitter_config_path }}/config.yaml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure mautrix-twitter registration.yaml installed
|
- name: Ensure mautrix-twitter registration.yaml installed
|
||||||
ansible.builtin.copy:
|
ansible.builtin.copy:
|
||||||
content: "{{ matrix_mautrix_twitter_registration | to_nice_yaml(indent=2, width=999999) }}"
|
content: "{{ matrix_mautrix_twitter_registration | to_nice_yaml(indent=2, width=999999) }}"
|
||||||
dest: "{{ matrix_mautrix_twitter_config_path }}/registration.yaml"
|
dest: "{{ matrix_mautrix_twitter_config_path }}/registration.yaml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure mautrix-twitter support files installed
|
- name: Ensure mautrix-twitter support files installed
|
||||||
ansible.builtin.template:
|
ansible.builtin.template:
|
||||||
src: "{{ role_path }}/templates/{{ item }}.j2"
|
src: "{{ role_path }}/templates/{{ item }}.j2"
|
||||||
dest: "{{ matrix_mautrix_twitter_base_path }}/{{ item }}"
|
dest: "{{ matrix_mautrix_twitter_base_path }}/{{ item }}"
|
||||||
mode: 0640
|
mode: 0640
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- labels
|
- labels
|
||||||
|
|
||||||
|
|||||||
@@ -199,7 +199,7 @@ appservice:
|
|||||||
username: {{ matrix_mautrix_twitter_appservice_bot_username | to_json }}
|
username: {{ matrix_mautrix_twitter_appservice_bot_username | to_json }}
|
||||||
# Display name and avatar for bot. Set to "remove" to remove display name/avatar, leave empty
|
# Display name and avatar for bot. Set to "remove" to remove display name/avatar, leave empty
|
||||||
# to leave display name/avatar as-is.
|
# to leave display name/avatar as-is.
|
||||||
displayname: {{ matrix_mautrix_twitter_appservice_bot_displayname | to_json }}
|
displayname: {{ matrix_mautrix_twitter_appservice_bot_displayname | to_json(ensure_ascii=False) }}
|
||||||
avatar: {{ matrix_mautrix_twitter_appservice_bot_avatar | to_json }}
|
avatar: {{ matrix_mautrix_twitter_appservice_bot_avatar | to_json }}
|
||||||
|
|
||||||
# Whether to receive ephemeral events via appservice transactions.
|
# Whether to receive ephemeral events via appservice transactions.
|
||||||
@@ -212,7 +212,8 @@ appservice:
|
|||||||
# Whether to use MSC4190 instead of appservice login to create the bridge bot device.
|
# Whether to use MSC4190 instead of appservice login to create the bridge bot device.
|
||||||
# Requires the homeserver to support MSC4190 and the device masquerading parts of MSC3202.
|
# Requires the homeserver to support MSC4190 and the device masquerading parts of MSC3202.
|
||||||
# Only relevant when using end-to-bridge encryption, required when using encryption with next-gen auth (MSC3861).
|
# Only relevant when using end-to-bridge encryption, required when using encryption with next-gen auth (MSC3861).
|
||||||
msc4190: false
|
# Changing this option requires updating the appservice registration file.
|
||||||
|
msc4190: {{ matrix_mautrix_twitter_msc4190_enabled | to_json }}
|
||||||
|
|
||||||
# Authentication tokens for AS <-> HS communication. Autogenerated; do not modify.
|
# Authentication tokens for AS <-> HS communication. Autogenerated; do not modify.
|
||||||
as_token: {{ matrix_mautrix_twitter_appservice_token | to_json }}
|
as_token: {{ matrix_mautrix_twitter_appservice_token | to_json }}
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ matrix_mautrix_whatsapp_container_image_self_build_repo: "https://mau.dev/mautri
|
|||||||
matrix_mautrix_whatsapp_container_image_self_build_branch: "{{ 'master' if matrix_mautrix_whatsapp_version == 'latest' else matrix_mautrix_whatsapp_version }}"
|
matrix_mautrix_whatsapp_container_image_self_build_branch: "{{ 'master' if matrix_mautrix_whatsapp_version == 'latest' else matrix_mautrix_whatsapp_version }}"
|
||||||
|
|
||||||
# renovate: datasource=docker depName=dock.mau.dev/mautrix/whatsapp
|
# renovate: datasource=docker depName=dock.mau.dev/mautrix/whatsapp
|
||||||
matrix_mautrix_whatsapp_version: v0.11.4
|
matrix_mautrix_whatsapp_version: v0.12.0
|
||||||
|
|
||||||
# See: https://mau.dev/mautrix/whatsapp/container_registry
|
# See: https://mau.dev/mautrix/whatsapp/container_registry
|
||||||
matrix_mautrix_whatsapp_docker_image: "{{ matrix_mautrix_whatsapp_docker_image_registry_prefix }}mautrix/whatsapp:{{ matrix_mautrix_whatsapp_version }}"
|
matrix_mautrix_whatsapp_docker_image: "{{ matrix_mautrix_whatsapp_docker_image_registry_prefix }}mautrix/whatsapp:{{ matrix_mautrix_whatsapp_version }}"
|
||||||
@@ -46,6 +46,8 @@ matrix_mautrix_whatsapp_homeserver_address: ""
|
|||||||
matrix_mautrix_whatsapp_homeserver_domain: "{{ matrix_domain }}"
|
matrix_mautrix_whatsapp_homeserver_domain: "{{ matrix_domain }}"
|
||||||
matrix_mautrix_whatsapp_appservice_address: "http://matrix-mautrix-whatsapp:8080"
|
matrix_mautrix_whatsapp_appservice_address: "http://matrix-mautrix-whatsapp:8080"
|
||||||
|
|
||||||
|
matrix_mautrix_whatsapp_msc4190_enabled: "{{ matrix_bridges_msc4190_enabled }}"
|
||||||
|
|
||||||
matrix_mautrix_whatsapp_extev_polls: false
|
matrix_mautrix_whatsapp_extev_polls: false
|
||||||
|
|
||||||
matrix_mautrix_whatsapp_command_prefix: "!wa"
|
matrix_mautrix_whatsapp_command_prefix: "!wa"
|
||||||
@@ -224,10 +226,12 @@ matrix_mautrix_whatsapp_registration_yaml: |
|
|||||||
rate_limited: false
|
rate_limited: false
|
||||||
namespaces:
|
namespaces:
|
||||||
users:
|
users:
|
||||||
- regex: '^@whatsapp_[0-9]+:{{ matrix_mautrix_whatsapp_homeserver_domain | regex_escape }}$'
|
- regex: '^@whatsapp_.*:{{ matrix_mautrix_whatsapp_homeserver_domain | regex_escape }}$'
|
||||||
exclusive: true
|
exclusive: true
|
||||||
- exclusive: true
|
- exclusive: true
|
||||||
regex: '^@{{ matrix_mautrix_whatsapp_appservice_bot_username | regex_escape }}:{{ matrix_mautrix_whatsapp_homeserver_domain | regex_escape }}$'
|
regex: '^@{{ matrix_mautrix_whatsapp_appservice_bot_username | regex_escape }}:{{ matrix_mautrix_whatsapp_homeserver_domain | regex_escape }}$'
|
||||||
de.sorunome.msc2409.push_ephemeral: true
|
de.sorunome.msc2409.push_ephemeral: true
|
||||||
|
receive_ephemeral: true
|
||||||
|
io.element.msc4190: {{ matrix_mautrix_whatsapp_msc4190_enabled | to_json }}
|
||||||
|
|
||||||
matrix_mautrix_whatsapp_registration: "{{ matrix_mautrix_whatsapp_registration_yaml | from_yaml }}"
|
matrix_mautrix_whatsapp_registration: "{{ matrix_mautrix_whatsapp_registration_yaml | from_yaml }}"
|
||||||
|
|||||||
@@ -50,8 +50,8 @@
|
|||||||
path: "{{ item.path }}"
|
path: "{{ item.path }}"
|
||||||
state: directory
|
state: directory
|
||||||
mode: 0750
|
mode: 0750
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- {path: "{{ matrix_mautrix_whatsapp_base_path }}", when: true}
|
- {path: "{{ matrix_mautrix_whatsapp_base_path }}", when: true}
|
||||||
- {path: "{{ matrix_mautrix_whatsapp_config_path }}", when: true}
|
- {path: "{{ matrix_mautrix_whatsapp_config_path }}", when: true}
|
||||||
@@ -78,7 +78,7 @@
|
|||||||
version: "{{ matrix_mautrix_whatsapp_container_image_self_build_branch }}"
|
version: "{{ matrix_mautrix_whatsapp_container_image_self_build_branch }}"
|
||||||
force: "yes"
|
force: "yes"
|
||||||
become: true
|
become: true
|
||||||
become_user: "{{ matrix_user_username }}"
|
become_user: "{{ matrix_user_name }}"
|
||||||
register: matrix_mautrix_whatsapp_git_pull_results
|
register: matrix_mautrix_whatsapp_git_pull_results
|
||||||
when: "matrix_mautrix_whatsapp_container_image_self_build | bool"
|
when: "matrix_mautrix_whatsapp_container_image_self_build | bool"
|
||||||
|
|
||||||
@@ -132,24 +132,24 @@
|
|||||||
content: "{{ matrix_mautrix_whatsapp_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
content: "{{ matrix_mautrix_whatsapp_configuration | to_nice_yaml(indent=2, width=999999) }}"
|
||||||
dest: "{{ matrix_mautrix_whatsapp_config_path }}/config.yaml"
|
dest: "{{ matrix_mautrix_whatsapp_config_path }}/config.yaml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure mautrix-whatsapp registration.yaml installed
|
- name: Ensure mautrix-whatsapp registration.yaml installed
|
||||||
ansible.builtin.copy:
|
ansible.builtin.copy:
|
||||||
content: "{{ matrix_mautrix_whatsapp_registration | to_nice_yaml(indent=2, width=999999) }}"
|
content: "{{ matrix_mautrix_whatsapp_registration | to_nice_yaml(indent=2, width=999999) }}"
|
||||||
dest: "{{ matrix_mautrix_whatsapp_config_path }}/registration.yaml"
|
dest: "{{ matrix_mautrix_whatsapp_config_path }}/registration.yaml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure mautrix-whatsapp support files installed
|
- name: Ensure mautrix-whatsapp support files installed
|
||||||
ansible.builtin.template:
|
ansible.builtin.template:
|
||||||
src: "{{ role_path }}/templates/{{ item }}.j2"
|
src: "{{ role_path }}/templates/{{ item }}.j2"
|
||||||
dest: "{{ matrix_mautrix_whatsapp_base_path }}/{{ item }}"
|
dest: "{{ matrix_mautrix_whatsapp_base_path }}/{{ item }}"
|
||||||
mode: 0640
|
mode: 0640
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- labels
|
- labels
|
||||||
|
|
||||||
|
|||||||
@@ -445,6 +445,11 @@ encryption:
|
|||||||
# Whether to use MSC2409/MSC3202 instead of /sync long polling for receiving encryption-related data.
|
# Whether to use MSC2409/MSC3202 instead of /sync long polling for receiving encryption-related data.
|
||||||
# This option is not yet compatible with standard Matrix servers like Synapse and should not be used.
|
# This option is not yet compatible with standard Matrix servers like Synapse and should not be used.
|
||||||
appservice: false
|
appservice: false
|
||||||
|
# Whether to use MSC4190 instead of appservice login to create the bridge bot device.
|
||||||
|
# Requires the homeserver to support MSC4190 and the device masquerading parts of MSC3202.
|
||||||
|
# Only relevant when using end-to-bridge encryption, required when using encryption with next-gen auth (MSC3861).
|
||||||
|
# Changing this option requires updating the appservice registration file.
|
||||||
|
msc4190: {{ matrix_mautrix_whatsapp_msc4190_enabled | to_json }}
|
||||||
# Enable key sharing? If enabled, key requests for rooms where users are in will be fulfilled.
|
# Enable key sharing? If enabled, key requests for rooms where users are in will be fulfilled.
|
||||||
# You must use a client that supports requesting keys from other users to use this feature.
|
# You must use a client that supports requesting keys from other users to use this feature.
|
||||||
allow_key_sharing: {{ matrix_mautrix_whatsapp_bridge_encryption_key_sharing_allow | to_json }}
|
allow_key_sharing: {{ matrix_mautrix_whatsapp_bridge_encryption_key_sharing_allow | to_json }}
|
||||||
|
|||||||
@@ -26,8 +26,8 @@
|
|||||||
path: "{{ item.path }}"
|
path: "{{ item.path }}"
|
||||||
state: directory
|
state: directory
|
||||||
mode: 0750
|
mode: 0750
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- path: "{{ matrix_mautrix_wsproxy_base_path }}"
|
- path: "{{ matrix_mautrix_wsproxy_base_path }}"
|
||||||
when: true
|
when: true
|
||||||
@@ -38,8 +38,8 @@
|
|||||||
src: "{{ role_path }}/templates/{{ item }}.j2"
|
src: "{{ role_path }}/templates/{{ item }}.j2"
|
||||||
dest: "{{ matrix_mautrix_wsproxy_base_path }}/{{ item }}"
|
dest: "{{ matrix_mautrix_wsproxy_base_path }}/{{ item }}"
|
||||||
mode: 0640
|
mode: 0640
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- syncproxy-env
|
- syncproxy-env
|
||||||
- wsproxy-labels
|
- wsproxy-labels
|
||||||
@@ -63,8 +63,8 @@
|
|||||||
path: "{{ item }}"
|
path: "{{ item }}"
|
||||||
state: directory
|
state: directory
|
||||||
mode: 0750
|
mode: 0750
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
with_items:
|
with_items:
|
||||||
- "{{ matrix_mautrix_wsproxy_base_path }}"
|
- "{{ matrix_mautrix_wsproxy_base_path }}"
|
||||||
- "{{ matrix_mautrix_wsproxy_config_path }}"
|
- "{{ matrix_mautrix_wsproxy_config_path }}"
|
||||||
@@ -79,24 +79,24 @@
|
|||||||
content: "{{ matrix_mautrix_wsproxy_configuration | to_nice_yaml }}"
|
content: "{{ matrix_mautrix_wsproxy_configuration | to_nice_yaml }}"
|
||||||
dest: "{{ matrix_mautrix_wsproxy_config_path }}/config.yaml"
|
dest: "{{ matrix_mautrix_wsproxy_config_path }}/config.yaml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure mautrix-androidsms registration.yaml installed
|
- name: Ensure mautrix-androidsms registration.yaml installed
|
||||||
ansible.builtin.copy:
|
ansible.builtin.copy:
|
||||||
content: "{{ matrix_mautrix_androidsms_registration | to_nice_yaml }}"
|
content: "{{ matrix_mautrix_androidsms_registration | to_nice_yaml }}"
|
||||||
dest: "{{ matrix_mautrix_wsproxy_config_path }}/androidsms-registration.yaml"
|
dest: "{{ matrix_mautrix_wsproxy_config_path }}/androidsms-registration.yaml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure mautrix-imessage registration.yaml installed
|
- name: Ensure mautrix-imessage registration.yaml installed
|
||||||
ansible.builtin.copy:
|
ansible.builtin.copy:
|
||||||
content: "{{ matrix_mautrix_imessage_registration | to_nice_yaml }}"
|
content: "{{ matrix_mautrix_imessage_registration | to_nice_yaml }}"
|
||||||
dest: "{{ matrix_mautrix_wsproxy_config_path }}/imessage-registration.yaml"
|
dest: "{{ matrix_mautrix_wsproxy_config_path }}/imessage-registration.yaml"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: "{{ matrix_user_username }}"
|
owner: "{{ matrix_user_name }}"
|
||||||
group: "{{ matrix_user_groupname }}"
|
group: "{{ matrix_group_name }}"
|
||||||
|
|
||||||
- name: Ensure mautrix-wsproxy container network is created
|
- name: Ensure mautrix-wsproxy container network is created
|
||||||
community.general.docker_network:
|
community.general.docker_network:
|
||||||
|
|||||||
@@ -139,5 +139,6 @@ matrix_mx_puppet_discord_registration_yaml: |
|
|||||||
sender_localpart: _discordpuppet_bot
|
sender_localpart: _discordpuppet_bot
|
||||||
url: {{ matrix_mx_puppet_discord_appservice_address }}
|
url: {{ matrix_mx_puppet_discord_appservice_address }}
|
||||||
de.sorunome.msc2409.push_ephemeral: true
|
de.sorunome.msc2409.push_ephemeral: true
|
||||||
|
receive_ephemeral: true
|
||||||
|
|
||||||
matrix_mx_puppet_discord_registration: "{{ matrix_mx_puppet_discord_registration_yaml | from_yaml }}"
|
matrix_mx_puppet_discord_registration: "{{ matrix_mx_puppet_discord_registration_yaml | from_yaml }}"
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user