mirror of
https://github.com/spantaleev/matrix-docker-ansible-deploy.git
synced 2026-06-08 02:03:23 +03:00
Compare commits
5 Commits
d923e46b27
...
192c722a4c
| Author | SHA1 | Date | |
|---|---|---|---|
| 192c722a4c | |||
| 1df14f5177 | |||
| 554ad4ec67 | |||
| 5085313a3b | |||
| d2070bd6d8 |
@@ -1,3 +1,11 @@
|
||||
# 2026-05-24
|
||||
|
||||
## matrix-ldap-registration-proxy has been removed from the playbook
|
||||
|
||||
The [matrix-ldap-registration-proxy](./docs/configuring-playbook-matrix-ldap-registration-proxy.md) service has been removed from the playbook, as the source code and the container image have become unavailable.
|
||||
|
||||
The playbook will let you know if you're using any `matrix_ldap_registration_proxy_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the component manually](./docs/configuring-playbook-matrix-ldap-registration-proxy.md#uninstalling-the-component-manually).
|
||||
|
||||
# 2026-05-23
|
||||
|
||||
## Go-NEB has been removed from the playbook
|
||||
|
||||
@@ -92,7 +92,6 @@ Extend and modify how users are authenticated on your homeserver.
|
||||
| [matrix-synapse-rest-auth](https://github.com/ma1uta/matrix-synapse-rest-password-provider) (advanced) | ❌ | REST authentication password provider module | [Link](docs/configuring-playbook-rest-auth.md) |
|
||||
|[matrix-synapse-shared-secret-auth](https://github.com/devture/matrix-synapse-shared-secret-auth) (advanced) | ❌ | Password provider module | [Link](docs/configuring-playbook-shared-secret-auth.md) |
|
||||
| [matrix-synapse-ldap3](https://github.com/matrix-org/matrix-synapse-ldap3) (advanced) | ❌ | LDAP Auth password provider module | [Link](docs/configuring-playbook-ldap-auth.md) |
|
||||
| [matrix-ldap-registration-proxy](https://gitlab.com/activism.international/matrix_ldap_registration_proxy) (advanced) | ❌ | Proxy that handles Matrix registration requests and forwards them to LDAP | [Link](docs/configuring-playbook-matrix-ldap-registration-proxy.md) |
|
||||
| [Matrix User Verification Service](https://github.com/matrix-org/matrix-user-verification-service) | ❌ | Service to verify details of a user based on an Open ID token | [Link](docs/configuring-playbook-user-verification-service.md) |
|
||||
| [synapse-simple-antispam](https://github.com/t2bot/synapse-simple-antispam) (advanced) | ❌ | Spam checker module | [Link](docs/configuring-playbook-synapse-simple-antispam.md) |
|
||||
|
||||
|
||||
@@ -52,9 +52,3 @@ ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start
|
||||
The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`
|
||||
|
||||
`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too.
|
||||
|
||||
## Usage
|
||||
|
||||
### Handling user registration
|
||||
|
||||
If you wish for users to also be able to make new registrations against LDAP, you may **also** wish to [set up the ldap-registration-proxy](configuring-playbook-matrix-ldap-registration-proxy.md).
|
||||
|
||||
@@ -1,69 +1,32 @@
|
||||
<!--
|
||||
SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev
|
||||
SPDX-FileCopyrightText: 2019 Edgars Voroboks
|
||||
SPDX-FileCopyrightText: 2019 Eduardo Beltrame
|
||||
SPDX-FileCopyrightText: 2019-2025 MDAD project contributors
|
||||
SPDX-FileCopyrightText: 2019-2025 Slavi Pantaleev
|
||||
SPDX-FileCopyrightText: 2020 Chris van Dijk
|
||||
SPDX-FileCopyrightText: 2020 Tulir Asokan
|
||||
SPDX-FileCopyrightText: 2020 jens quade
|
||||
SPDX-FileCopyrightText: 2022 Dennis Ciba
|
||||
SPDX-FileCopyrightText: 2022 Julian-Samuel Gebühr
|
||||
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
|
||||
SPDX-FileCopyrightText: 2022 Kim Brose
|
||||
SPDX-FileCopyrightText: 2022 Travis Ralston
|
||||
SPDX-FileCopyrightText: 2022 Vladimir Panteleev
|
||||
SPDX-FileCopyrightText: 2022 Yan Minagawa
|
||||
SPDX-FileCopyrightText: 2024-2026 Suguru Hirahara
|
||||
|
||||
SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
-->
|
||||
|
||||
# Setting up matrix-ldap-registration-proxy (optional)
|
||||
# Setting up matrix-ldap-registration-proxy (optional, removed)
|
||||
|
||||
The playbook can install and configure [matrix-ldap-registration-proxy](https://gitlab.com/activism.international/matrix_ldap_registration_proxy) for you.
|
||||
🪦 The playbook used to be able to install and configure [matrix-ldap-registration-proxy](https://gitlab.com/activism.international/matrix_ldap_registration_proxy), but no longer includes this component, as it has become unavailable.
|
||||
|
||||
This proxy handles Matrix registration requests and forwards them to LDAP.
|
||||
## Uninstalling the component manually
|
||||
|
||||
See the project's [documentation](https://gitlab.com/activism.international/matrix_ldap_registration_proxy/-/blob/main/README.md) to learn what it does and why it might be useful to you.
|
||||
If you still have matrix-ldap-registration-proxy installed on your Matrix server, the playbook can no longer help you uninstall it and you will need to do it manually. To uninstall manually, run these commands on the server:
|
||||
|
||||
**Note**: This does support the full Matrix specification for registrations. It only provide a very coarse implementation of a basic password registration.
|
||||
|
||||
## Adjusting the playbook configuration
|
||||
|
||||
To enable the component, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file (adapt to your needs):
|
||||
|
||||
```yaml
|
||||
matrix_ldap_registration_proxy_enabled: true
|
||||
|
||||
# LDAP credentials
|
||||
matrix_ldap_registration_proxy_ldap_uri: YOUR_URI_HERE
|
||||
matrix_ldap_registration_proxy_ldap_base_dn: YOUR_DN_HERE
|
||||
matrix_ldap_registration_proxy_ldap_user: YOUR_USER_HERE
|
||||
matrix_ldap_registration_proxy_ldap_password: YOUR_PASSWORD_HERE
|
||||
```
|
||||
|
||||
If you already use the [synapse external password provider via LDAP](configuring-playbook-ldap-auth.md) (that is, you have `matrix_synapse_ext_password_provider_ldap_enabled: true` and other options in your configuration) you can use the following values as configuration:
|
||||
|
||||
```yaml
|
||||
# Use the LDAP values specified for the synapse role to setup LDAP proxy
|
||||
matrix_ldap_registration_proxy_ldap_uri: "{{ matrix_synapse_ext_password_provider_ldap_uri }}"
|
||||
matrix_ldap_registration_proxy_ldap_base_dn: "{{ matrix_synapse_ext_password_provider_ldap_base }}"
|
||||
matrix_ldap_registration_proxy_ldap_user: "{{ matrix_synapse_ext_password_provider_ldap_bind_dn }}"
|
||||
matrix_ldap_registration_proxy_ldap_password: "{{ matrix_synapse_ext_password_provider_ldap_bind_password }}"
|
||||
|
||||
matrix_ldap_registration_proxy_systemd_wanted_services_list_custom:
|
||||
- matrix-synapse.service
|
||||
```
|
||||
|
||||
### Extending the configuration
|
||||
|
||||
There are some additional things you may wish to configure about the component.
|
||||
|
||||
Take a look at:
|
||||
|
||||
- `roles/custom/matrix-ldap-registration-proxy/defaults/main.yml` for some variables that you can customize via your `vars.yml` file
|
||||
|
||||
## Installing
|
||||
|
||||
After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below:
|
||||
|
||||
<!-- 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
|
||||
systemctl disable --now matrix-ldap-registration-proxy.service
|
||||
|
||||
rm -rf /matrix/matrix_ldap_registration_proxy
|
||||
```
|
||||
|
||||
The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`
|
||||
|
||||
`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-ldap-registration-proxy`.
|
||||
|
||||
@@ -112,8 +112,6 @@ Extend and modify how users are authenticated on your homeserver.
|
||||
|
||||
- [Setting up the LDAP authentication password provider module](configuring-playbook-ldap-auth.md) (advanced)
|
||||
|
||||
- [Setting up matrix-ldap-registration-proxy](configuring-playbook-matrix-ldap-registration-proxy.md) (advanced)
|
||||
|
||||
- [Setting up Synapse Simple Antispam](configuring-playbook-synapse-simple-antispam.md) (advanced)
|
||||
|
||||
- [Setting up Matrix User Verification Service](configuring-playbook-user-verification-service.md) (advanced)
|
||||
@@ -279,6 +277,8 @@ Various services that don't fit any other categories.
|
||||
|
||||
- [Setting up matrix-bot-chatgpt](configuring-playbook-bot-chatgpt.md) (unmaintained; the bridge's author suggests taking a look at [baibot](https://github.com/etkecc/baibot) as a replacement, which can also be [installed using this playbook](configuring-playbook-bot-baibot.md))
|
||||
|
||||
- [Setting up matrix-ldap-registration-proxy](configuring-playbook-matrix-ldap-registration-proxy.md) (removed; the repository of the source code has been removed)
|
||||
|
||||
- [Setting up matrix-registration](configuring-playbook-matrix-registration.md) (removed; this component has been unmaintained)
|
||||
|
||||
- [Setting up Mautrix Facebook bridging](configuring-playbook-bridge-mautrix-facebook.md) (deprecated in favor of the Messenger/Instagram bridge with [mautrix-meta-messenger](configuring-playbook-bridge-mautrix-meta-messenger.md))
|
||||
|
||||
@@ -67,7 +67,6 @@ Extend and modify how users are authenticated on your homeserver.
|
||||
| [matrix-synapse-rest-auth](configuring-playbook-rest-auth.md) | (N/A) | ❌ | REST authentication password provider module |
|
||||
| [matrix-synapse-shared-secret-auth](configuring-playbook-shared-secret-auth.md) | (N/A) | ❌ | Password provider module |
|
||||
| [matrix-synapse-ldap3](configuring-playbook-ldap-auth.md) (advanced) | (N/A) | ❌ | LDAP Auth password provider module |
|
||||
| [matrix-ldap-registration-proxy](configuring-playbook-matrix-ldap-registration-proxy.md) | [activism.international/matrix_ldap_registration_proxy](https://gitlab.com/activism.international/matrix_ldap_registration_proxy/container_registry) | ❌ | Proxy that handles Matrix registration requests and forwards them to LDAP |
|
||||
| [Matrix User Verification Service](configuring-playbook-user-verification-service.md) | [matrixdotorg/matrix-user-verification-service](https://hub.docker.com/r/atrixdotorg/matrix-user-verification-service) | ❌ | Service to verify details of a user based on an Open ID token |
|
||||
| [synapse-simple-antispam](configuring-playbook-synapse-simple-antispam.md) (advanced) | (N/A) | ❌ | Spam checker module |
|
||||
|
||||
@@ -178,6 +177,7 @@ The list of the deprecated or unmaintained services is available [here](configur
|
||||
| [matrix-appservice-slack](configuring-playbook-bridge-appservice-slack.md) | [matrixdotorg/matrix-appservice-slack](https://hub.docker.com/r/matrixdotorg/matrix-appservice-slack) | ❌ | Bridge to [Slack](https://slack.com/) |
|
||||
| [matrix-appservice-webhooks](configuring-playbook-bridge-appservice-webhooks.md) | [turt2live/matrix-appservice-webhooks](https://hub.docker.com/r/turt2live/matrix-appservice-webhooks) | ❌ | Bridge for slack compatible webhooks ([ConcourseCI](https://concourse-ci.org/), [Slack](https://slack.com/) etc. pp.) |
|
||||
| [matrix-chatgpt-bot](configuring-playbook-bot-chatgpt.md) | [matrixgpt/matrix-chatgpt-bot](https://ghcr.io/matrixgpt/matrix-chatgpt-bot) | ❌ | Accessing ChatGPT via your favourite Matrix client |
|
||||
| [matrix-ldap-registration-proxy](configuring-playbook-matrix-ldap-registration-proxy.md) | [activism.international/matrix_ldap_registration_proxy](https://gitlab.com/activism.international/matrix_ldap_registration_proxy/container_registry) | ❌ | Proxy that handles Matrix registration requests and forwards them to LDAP |
|
||||
| [matrix-registration](configuring-playbook-matrix-registration.md) | [zeratax/matrix-registration](https://hub.docker.com/r/devture/zeratax-matrix-registration/) | ❌ | Simple python application to have a token based Matrix registration |
|
||||
| [mautrix-facebook](configuring-playbook-bridge-mautrix-facebook.md) | [mautrix/facebook](https://mau.dev/mautrix/facebook/container_registry) | ❌ | Bridge to [Facebook](https://facebook.com/) |
|
||||
| [mautrix-instagram](configuring-playbook-bridge-mautrix-instagram.md) | [mautrix/instagram](https://mau.dev/mautrix/instagram/container_registry) | ❌ | Bridge to [Instagram](https://instagram.com/) |
|
||||
|
||||
@@ -715,13 +715,6 @@ devture_systemd_service_manager_services_list_auto: |
|
||||
'groups': ['matrix', 'jitsi', 'jitsi-jvb'],
|
||||
}] if jitsi_enabled else [])
|
||||
+
|
||||
([{
|
||||
'name': 'matrix-ldap-registration-proxy.service',
|
||||
'priority': 2000,
|
||||
'restart_necessary': (matrix_ldap_registration_proxy_restart_necessary | bool),
|
||||
'groups': ['matrix', 'ldap-registration-proxy'],
|
||||
}] if matrix_ldap_registration_proxy_enabled else [])
|
||||
+
|
||||
([{
|
||||
'name': (matrix_media_repo_identifier + '.service'),
|
||||
'priority': 4000,
|
||||
@@ -3765,50 +3758,6 @@ jitsi_disable_gravatar: true
|
||||
#
|
||||
######################################################################
|
||||
|
||||
|
||||
######################################################################
|
||||
#
|
||||
# matrix-ldap-registration-proxy
|
||||
#
|
||||
######################################################################
|
||||
|
||||
# This is only for users with a specific LDAP setup
|
||||
matrix_ldap_registration_proxy_enabled: false
|
||||
|
||||
matrix_ldap_registration_proxy_hostname: "{{ matrix_server_fqn_matrix }}"
|
||||
|
||||
matrix_ldap_registration_proxy_matrix_server_url: "{{ matrix_addons_homeserver_client_api_url }}"
|
||||
|
||||
matrix_ldap_registration_proxy_systemd_required_services_list_auto: |
|
||||
{{
|
||||
matrix_addons_homeserver_systemd_services_list
|
||||
}}
|
||||
|
||||
matrix_ldap_registration_proxy_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_ldap_registration_proxy_container_image_registry_prefix_upstream_default }}"
|
||||
|
||||
matrix_ldap_registration_proxy_container_network: "{{ matrix_addons_container_network }}"
|
||||
|
||||
matrix_ldap_registration_proxy_container_additional_networks_auto: |-
|
||||
{{
|
||||
(
|
||||
([] if matrix_addons_homeserver_container_network == '' else [matrix_addons_homeserver_container_network])
|
||||
+
|
||||
([matrix_playbook_reverse_proxyable_services_additional_network] if (matrix_playbook_reverse_proxyable_services_additional_network and matrix_ldap_registration_proxy_container_labels_traefik_enabled) else [])
|
||||
) | unique
|
||||
}}
|
||||
|
||||
matrix_ldap_registration_proxy_container_labels_traefik_enabled: "{{ matrix_playbook_reverse_proxy_type in ['playbook-managed-traefik', 'other-traefik-container'] }}"
|
||||
matrix_ldap_registration_proxy_container_labels_traefik_docker_network: "{{ matrix_playbook_reverse_proxyable_services_additional_network }}"
|
||||
matrix_ldap_registration_proxy_container_labels_traefik_entrypoints: "{{ traefik_entrypoint_primary }}"
|
||||
matrix_ldap_registration_proxy_container_labels_traefik_tls_certResolver: "{{ traefik_certResolver_primary }}"
|
||||
|
||||
######################################################################
|
||||
#
|
||||
# /matrix-ldap-registration-proxy
|
||||
#
|
||||
######################################################################
|
||||
|
||||
|
||||
########################################################################
|
||||
# #
|
||||
# exim-relay #
|
||||
|
||||
@@ -1,112 +0,0 @@
|
||||
# SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev
|
||||
# SPDX-FileCopyrightText: 2022 Julian-Samuel Gebühr
|
||||
# SPDX-FileCopyrightText: 2022 MDAD project contributors
|
||||
#
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
---
|
||||
# matrix_ldap_registration_proxy - Want to build a large-scale Matrix server using external registration on LDAP?
|
||||
# Project source code URL: https://gitlab.com/activism.international/matrix_ldap_registration_proxy
|
||||
|
||||
matrix_ldap_registration_proxy_enabled: true
|
||||
|
||||
matrix_ldap_registration_proxy_hostname: ''
|
||||
|
||||
matrix_ldap_registration_proxy_container_image: "{{ matrix_ldap_registration_proxy_container_image_registry_prefix }}matrix_ldap_registration_proxy"
|
||||
matrix_ldap_registration_proxy_container_image_registry_prefix: "{{ 'localhost/' if matrix_ldap_registration_proxy_container_image_self_build else matrix_ldap_registration_proxy_container_image_registry_prefix_upstream }}"
|
||||
matrix_ldap_registration_proxy_container_image_registry_prefix_upstream: "{{ matrix_ldap_registration_proxy_container_image_registry_prefix_upstream_default }}"
|
||||
matrix_ldap_registration_proxy_container_image_registry_prefix_upstream_default: ""
|
||||
|
||||
matrix_ldap_registration_proxy_container_image_self_build: true
|
||||
matrix_ldap_registration_proxy_container_image_self_build_repo: "https://gitlab.com/activism.international/matrix_ldap_registration_proxy.git"
|
||||
matrix_ldap_registration_proxy_container_image_self_build_branch: "{{ matrix_ldap_registration_proxy_version }}"
|
||||
|
||||
matrix_ldap_registration_proxy_version: "296246afc6a9b3105e67fcf6621cf05ebc74b873"
|
||||
|
||||
matrix_ldap_registration_proxy_base_path: "{{ matrix_base_data_path }}/matrix_ldap_registration_proxy"
|
||||
# We need the docker src directory to be named matrix_ldap_registration_proxy.
|
||||
matrix_ldap_registration_proxy_container_src_files_path: "{{ matrix_ldap_registration_proxy_base_path }}/docker-src/matrix_ldap_registration_proxy"
|
||||
matrix_ldap_registration_proxy_config_path: "{{ matrix_ldap_registration_proxy_base_path }}/config"
|
||||
|
||||
matrix_ldap_registration_proxy_ldap_uri: ""
|
||||
matrix_ldap_registration_proxy_ldap_base_dn: ""
|
||||
matrix_ldap_registration_proxy_ldap_user: ""
|
||||
matrix_ldap_registration_proxy_ldap_password: ""
|
||||
matrix_ldap_registration_proxy_matrix_server_name: "{{ matrix_domain }}"
|
||||
matrix_ldap_registration_proxy_matrix_server_url: ""
|
||||
|
||||
# Controls whether the self-check feature should validate SSL certificates.
|
||||
matrix_matrix_ldap_registration_proxy_self_check_validate_certificates: true
|
||||
|
||||
matrix_ldap_registration_listen_port: 8080
|
||||
|
||||
# Controls whether the matrix_ldap_registration_proxy container exposes its HTTP port (tcp/{{ matrix_ldap_registration_listen_port }} in the container).
|
||||
#
|
||||
# Takes an "<ip>:<port>" or "<port>" value (e.g. "127.0.0.1:8080"), or empty string to not expose.
|
||||
matrix_ldap_registration_proxy_container_http_host_bind_port: ''
|
||||
|
||||
matrix_ldap_registration_proxy_container_network: ""
|
||||
|
||||
matrix_ldap_registration_proxy_container_additional_networks: "{{ matrix_ldap_registration_proxy_container_additional_networks_auto + matrix_ldap_registration_proxy_container_additional_networks_custom }}"
|
||||
matrix_ldap_registration_proxy_container_additional_networks_auto: []
|
||||
matrix_ldap_registration_proxy_container_additional_networks_custom: []
|
||||
|
||||
# matrix_ldap_registration_proxy_container_labels_traefik_enabled controls whether labels to assist a Traefik reverse-proxy will be attached to the container.
|
||||
# See `../templates/labels.j2` for details.
|
||||
#
|
||||
# To inject your own other container labels, see `matrix_ldap_registration_proxy_container_labels_additional_labels`.
|
||||
matrix_ldap_registration_proxy_container_labels_traefik_enabled: true
|
||||
matrix_ldap_registration_proxy_container_labels_traefik_docker_network: "{{ matrix_ldap_registration_proxy_container_network }}"
|
||||
matrix_ldap_registration_proxy_container_labels_traefik_entrypoints: web-secure
|
||||
matrix_ldap_registration_proxy_container_labels_traefik_tls_certResolver: default # noqa var-naming
|
||||
|
||||
# Controls whether labels will be added that expose ldap-registration-proxy's registration endpoint (matrix_ldap_registration_proxy_container_labels_registration_endpoint_path)
|
||||
matrix_ldap_registration_proxy_container_labels_registration_endpoint_enabled: true
|
||||
matrix_ldap_registration_proxy_container_labels_registration_endpoint_hostname: "{{ matrix_ldap_registration_proxy_hostname }}"
|
||||
matrix_ldap_registration_proxy_container_labels_registration_endpoint_path: "/_matrix/client/{version:(r0|v3)}/register"
|
||||
matrix_ldap_registration_proxy_container_labels_registration_endpoint_traefik_rule: "Host(`{{ matrix_ldap_registration_proxy_container_labels_registration_endpoint_hostname }}`) && Path(`{{ matrix_ldap_registration_proxy_container_labels_registration_endpoint_path }}`)"
|
||||
matrix_ldap_registration_proxy_container_labels_registration_endpoint_traefik_priority: 0
|
||||
matrix_ldap_registration_proxy_container_labels_registration_endpoint_traefik_entrypoints: "{{ matrix_ldap_registration_proxy_container_labels_traefik_entrypoints }}"
|
||||
matrix_ldap_registration_proxy_container_labels_registration_endpoint_traefik_tls: "{{ matrix_ldap_registration_proxy_container_labels_registration_endpoint_traefik_entrypoints != 'web' }}"
|
||||
matrix_ldap_registration_proxy_container_labels_registration_endpoint_traefik_tls_certResolver: "{{ matrix_ldap_registration_proxy_container_labels_traefik_tls_certResolver }}" # noqa var-naming
|
||||
|
||||
# matrix_ldap_registration_proxy_container_labels_additional_labels contains a multiline string with additional labels to add to the container label file.
|
||||
# See `../templates/labels.j2` for details.
|
||||
#
|
||||
# Example:
|
||||
# matrix_ldap_registration_proxy_container_labels_additional_labels: |
|
||||
# my.label=1
|
||||
# another.label="here"
|
||||
matrix_ldap_registration_proxy_container_labels_additional_labels: ''
|
||||
|
||||
# A list of extra arguments to pass to the container
|
||||
matrix_ldap_registration_proxy_container_extra_arguments: []
|
||||
|
||||
# List of systemd services that matrix-ldap-registration-proxy.service depends on.
|
||||
matrix_ldap_registration_proxy_systemd_required_services_list: "{{ matrix_ldap_registration_proxy_systemd_required_services_list_default + matrix_ldap_registration_proxy_systemd_required_services_list_auto + matrix_ldap_registration_proxy_systemd_required_services_list_custom }}"
|
||||
matrix_ldap_registration_proxy_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
|
||||
matrix_ldap_registration_proxy_systemd_required_services_list_auto: []
|
||||
matrix_ldap_registration_proxy_systemd_required_services_list_custom: []
|
||||
|
||||
# List of systemd services that matrix-ldap-registration-proxy.service wants
|
||||
matrix_ldap_registration_proxy_systemd_wanted_services_list: "{{ matrix_ldap_registration_proxy_systemd_wanted_services_list_default + matrix_ldap_registration_proxy_systemd_wanted_services_list_auto + matrix_ldap_registration_proxy_systemd_wanted_services_list_custom }}"
|
||||
matrix_ldap_registration_proxy_systemd_wanted_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
|
||||
matrix_ldap_registration_proxy_systemd_wanted_services_list_auto: []
|
||||
matrix_ldap_registration_proxy_systemd_wanted_services_list_custom: []
|
||||
|
||||
# Additional environment variables to pass to the LDAP proxy environment variables.
|
||||
#
|
||||
# Example:
|
||||
# matrix_ldap_registration_proxy_env_variables_extension: |
|
||||
# KEY=value
|
||||
matrix_ldap_registration_proxy_env_variables_extension: ''
|
||||
|
||||
# matrix_ldap_registration_proxy_restart_necessary controls whether the service
|
||||
# will be restarted (when true) or merely started (when false) by the
|
||||
# systemd service manager role (when conditional restart is enabled).
|
||||
#
|
||||
# This value is automatically computed during installation based on whether
|
||||
# any configuration files, the systemd service file, or the container image changed.
|
||||
# The default of `false` means "no restart needed" — appropriate when the role's
|
||||
# installation tasks haven't run (e.g., due to --tags skipping them).
|
||||
matrix_ldap_registration_proxy_restart_necessary: false
|
||||
@@ -1,26 +0,0 @@
|
||||
# SPDX-FileCopyrightText: 2022 Julian-Samuel Gebühr
|
||||
# SPDX-FileCopyrightText: 2022 MDAD project contributors
|
||||
# SPDX-FileCopyrightText: 2023 - 2024 Slavi Pantaleev
|
||||
#
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
---
|
||||
|
||||
- tags:
|
||||
- setup-all
|
||||
- setup-matrix-ldap-registration-proxy
|
||||
- install-all
|
||||
- install-matrix-ldap-registration-proxy
|
||||
block:
|
||||
- when: matrix_ldap_registration_proxy_enabled | bool
|
||||
ansible.builtin.include_tasks: "{{ role_path }}/tasks/validate_config.yml"
|
||||
|
||||
- when: matrix_ldap_registration_proxy_enabled | bool
|
||||
ansible.builtin.include_tasks: "{{ role_path }}/tasks/setup_install.yml"
|
||||
|
||||
- tags:
|
||||
- setup-all
|
||||
- setup-matrix-ldap-registration-proxy
|
||||
block:
|
||||
- when: not matrix_ldap_registration_proxy_enabled | bool
|
||||
ansible.builtin.include_tasks: "{{ role_path }}/tasks/setup_uninstall.yml"
|
||||
@@ -1,85 +0,0 @@
|
||||
# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev
|
||||
# SPDX-FileCopyrightText: 2022 Julian-Samuel Gebühr
|
||||
# SPDX-FileCopyrightText: 2022 MDAD project contributors
|
||||
# SPDX-FileCopyrightText: 2022 Sebastian Gumprich
|
||||
# SPDX-FileCopyrightText: 2024 David Mehren
|
||||
#
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
---
|
||||
|
||||
- name: Ensure matrix_ldap_registration_proxy paths exist
|
||||
ansible.builtin.file:
|
||||
path: "{{ item.path }}"
|
||||
state: directory
|
||||
mode: '0750'
|
||||
owner: "{{ matrix_user_name }}"
|
||||
group: "{{ matrix_group_name }}"
|
||||
with_items:
|
||||
- {path: "{{ matrix_ldap_registration_proxy_config_path }}", when: true}
|
||||
- {path: "{{ matrix_ldap_registration_proxy_container_src_files_path }}", when: true}
|
||||
when: "item.when | bool"
|
||||
|
||||
- name: Ensure matrix_ldap_registration_proxy repository is present on self-build
|
||||
ansible.builtin.git:
|
||||
repo: "{{ matrix_ldap_registration_proxy_container_image_self_build_repo }}"
|
||||
dest: "{{ matrix_ldap_registration_proxy_container_src_files_path }}"
|
||||
version: "{{ matrix_ldap_registration_proxy_container_image_self_build_branch }}"
|
||||
force: "yes"
|
||||
become: true
|
||||
become_user: "{{ matrix_user_name }}"
|
||||
register: matrix_ldap_registration_proxy_git_pull_results
|
||||
|
||||
- name: Ensure matrix_ldap_registration_proxy Docker image is built
|
||||
community.docker.docker_image_build:
|
||||
name: "{{ matrix_ldap_registration_proxy_container_image }}"
|
||||
dockerfile: Dockerfile
|
||||
path: "{{ matrix_ldap_registration_proxy_container_src_files_path }}"
|
||||
pull: true
|
||||
rebuild: "{{ 'always' if matrix_ldap_registration_proxy_git_pull_results.changed | bool else 'never' }}"
|
||||
when: true
|
||||
register: matrix_ldap_registration_proxy_container_image_build_result
|
||||
|
||||
- name: Ensure matrix_ldap_registration_proxy config installed
|
||||
ansible.builtin.template:
|
||||
src: "{{ role_path }}/templates/ldap-registration-proxy.env.j2"
|
||||
dest: "{{ matrix_ldap_registration_proxy_config_path }}/ldap-registration-proxy.env"
|
||||
mode: '0644'
|
||||
owner: "{{ matrix_user_name }}"
|
||||
group: "{{ matrix_group_name }}"
|
||||
register: matrix_ldap_registration_proxy_config_result
|
||||
|
||||
- name: Ensure matrix-ldap-registration-proxy support files installed
|
||||
ansible.builtin.template:
|
||||
src: "{{ role_path }}/templates/{{ item }}.j2"
|
||||
dest: "{{ matrix_ldap_registration_proxy_base_path }}/{{ item }}"
|
||||
mode: '0640'
|
||||
owner: "{{ matrix_user_name }}"
|
||||
group: "{{ matrix_group_name }}"
|
||||
with_items:
|
||||
- labels
|
||||
register: matrix_ldap_registration_proxy_support_files_result
|
||||
|
||||
- name: Ensure matrix-ldap-registration-proxy container network is created
|
||||
community.general.docker_network:
|
||||
enable_ipv6: "{{ devture_systemd_docker_base_ipv6_enabled }}"
|
||||
name: "{{ matrix_ldap_registration_proxy_container_network }}"
|
||||
driver: bridge
|
||||
driver_options: "{{ devture_systemd_docker_base_container_networks_driver_options }}"
|
||||
|
||||
- name: Ensure matrix-ldap-registration-proxy.service installed
|
||||
ansible.builtin.template:
|
||||
src: "{{ role_path }}/templates/systemd/matrix-ldap-registration-proxy.service.j2"
|
||||
dest: "{{ devture_systemd_docker_base_systemd_path }}/matrix-ldap-registration-proxy.service"
|
||||
mode: '0644'
|
||||
register: matrix_ldap_registration_proxy_systemd_service_result
|
||||
|
||||
- name: Determine whether matrix-ldap-registration-proxy needs a restart
|
||||
ansible.builtin.set_fact:
|
||||
matrix_ldap_registration_proxy_restart_necessary: >-
|
||||
{{
|
||||
matrix_ldap_registration_proxy_config_result.changed | default(false)
|
||||
or matrix_ldap_registration_proxy_support_files_result.changed | default(false)
|
||||
or matrix_ldap_registration_proxy_systemd_service_result.changed | default(false)
|
||||
or matrix_ldap_registration_proxy_container_image_build_result.changed | default(false)
|
||||
}}
|
||||
@@ -1,31 +0,0 @@
|
||||
# SPDX-FileCopyrightText: 2022 - 2023 Slavi Pantaleev
|
||||
# SPDX-FileCopyrightText: 2022 MDAD project contributors
|
||||
# SPDX-FileCopyrightText: 2022 Sebastian Gumprich
|
||||
#
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
---
|
||||
|
||||
- name: Check existence of matrix-matrix_ldap_registration_proxy service
|
||||
ansible.builtin.stat:
|
||||
path: "{{ devture_systemd_docker_base_systemd_path }}/matrix-ldap-registration-proxy.service"
|
||||
register: matrix_ldap_registration_proxy_service_stat
|
||||
|
||||
- when: matrix_ldap_registration_proxy_service_stat.stat.exists | bool
|
||||
block:
|
||||
- name: Ensure matrix-matrix_ldap_registration_proxy is stopped
|
||||
ansible.builtin.service:
|
||||
name: matrix-ldap-registration-proxy
|
||||
state: stopped
|
||||
enabled: false
|
||||
daemon_reload: true
|
||||
|
||||
- name: Ensure matrix-ldap-registration-proxy.service doesn't exist
|
||||
ansible.builtin.file:
|
||||
path: "{{ devture_systemd_docker_base_systemd_path }}/matrix-ldap-registration-proxy.service"
|
||||
state: absent
|
||||
|
||||
- name: Ensure Matrix matrix_ldap_registration_proxy paths don't exist
|
||||
ansible.builtin.file:
|
||||
path: "{{ matrix_ldap_registration_proxy_base_path }}"
|
||||
state: absent
|
||||
@@ -1,38 +0,0 @@
|
||||
# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev
|
||||
# SPDX-FileCopyrightText: 2022 Julian-Samuel Gebühr
|
||||
# SPDX-FileCopyrightText: 2022 MDAD project contributors
|
||||
# SPDX-FileCopyrightText: 2025 Suguru Hirahara
|
||||
#
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
---
|
||||
|
||||
- name: (Deprecation) Catch and report renamed matrix-ldap-registration-proxy settings
|
||||
ansible.builtin.fail:
|
||||
msg: >-
|
||||
Your configuration contains a variable, which now has a different name.
|
||||
Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml).
|
||||
when: "lookup('ansible.builtin.varnames', ('^' + item.old + '$'), wantlist=True) | length > 0"
|
||||
with_items:
|
||||
- {'old': 'matrix_ldap_registration_proxy_registration_addr_with_container', 'new': '<removed>'}
|
||||
- {'old': 'matrix_ldap_registration_proxy_registration_addr_sans_container', 'new': '<removed>'}
|
||||
- {'old': 'matrix_ldap_registration_proxy_container_port', 'new': 'matrix_ldap_registration_listen_port'}
|
||||
- {'old': 'matrix_ldap_registration_proxy_registration_endpoint', 'new': 'matrix_ldap_registration_proxy_container_labels_registration_endpoint_path'}
|
||||
- {'old': 'matrix_ldap_registration_proxy_docker_image', 'new': 'matrix_ldap_registration_proxy_container_image'}
|
||||
- {'old': 'matrix_ldap_registration_proxy_docker_image_registry_prefix', 'new': 'matrix_ldap_registration_proxy_container_image_registry_prefix'}
|
||||
- {'old': 'matrix_ldap_registration_proxy_docker_image_registry_prefix_upstream', 'new': 'matrix_ldap_registration_proxy_container_image_registry_prefix_upstream'}
|
||||
- {'old': 'matrix_ldap_registration_proxy_docker_image_registry_prefix_upstream_default', 'new': 'matrix_ldap_registration_proxy_container_image_registry_prefix_upstream_default'}
|
||||
- {'old': 'matrix_ldap_registration_proxy_docker_src_files_path', 'new': 'matrix_ldap_registration_proxy_container_src_files_path'}
|
||||
|
||||
- name: Fail if required matrix-ldap-registration-proxy settings not defined
|
||||
ansible.builtin.fail:
|
||||
msg: >-
|
||||
You need to define a required configuration setting (`{{ item }}`).
|
||||
when: "lookup('vars', item, default='') == ''"
|
||||
with_items:
|
||||
- "matrix_ldap_registration_proxy_hostname"
|
||||
- "matrix_ldap_registration_proxy_ldap_uri"
|
||||
- "matrix_ldap_registration_proxy_ldap_base_dn"
|
||||
- "matrix_ldap_registration_proxy_ldap_user"
|
||||
- "matrix_ldap_registration_proxy_ldap_password"
|
||||
- "matrix_ldap_registration_proxy_container_network"
|
||||
@@ -1,51 +0,0 @@
|
||||
{#
|
||||
SPDX-FileCopyrightText: 2024 Slavi Pantaleev
|
||||
|
||||
SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
#}
|
||||
|
||||
{% if matrix_ldap_registration_proxy_container_labels_traefik_enabled %}
|
||||
traefik.enable=true
|
||||
|
||||
{% if matrix_ldap_registration_proxy_container_labels_traefik_docker_network %}
|
||||
traefik.docker.network={{ matrix_ldap_registration_proxy_container_labels_traefik_docker_network }}
|
||||
{% endif %}
|
||||
|
||||
{% if matrix_ldap_registration_proxy_container_labels_registration_endpoint_enabled %}
|
||||
############################################################
|
||||
# #
|
||||
# Registration #
|
||||
# #
|
||||
############################################################
|
||||
|
||||
traefik.http.services.matrix-ldap-registration-proxy.loadbalancer.server.port={{ matrix_ldap_registration_listen_port }}
|
||||
|
||||
traefik.http.middlewares.matrix-ldap-registration-proxy-registration-endpoint-replacepath.replacepath.path=/register
|
||||
|
||||
traefik.http.routers.matrix-ldap-registration-proxy-registration.rule={{ matrix_ldap_registration_proxy_container_labels_registration_endpoint_traefik_rule }}
|
||||
|
||||
traefik.http.routers.matrix-ldap-registration-proxy-registration.middlewares=matrix-ldap-registration-proxy-registration-endpoint-replacepath
|
||||
|
||||
{% if matrix_ldap_registration_proxy_container_labels_registration_endpoint_traefik_priority | int > 0 %}
|
||||
traefik.http.routers.matrix-ldap-registration-proxy-registration.priority={{ matrix_ldap_registration_proxy_container_labels_registration_endpoint_traefik_priority }}
|
||||
{% endif %}
|
||||
|
||||
traefik.http.routers.matrix-ldap-registration-proxy-registration.service=matrix-ldap-registration-proxy
|
||||
traefik.http.routers.matrix-ldap-registration-proxy-registration.entrypoints={{ matrix_ldap_registration_proxy_container_labels_registration_endpoint_traefik_entrypoints }}
|
||||
|
||||
traefik.http.routers.matrix-ldap-registration-proxy-registration.tls={{ matrix_ldap_registration_proxy_container_labels_registration_endpoint_traefik_tls | to_json }}
|
||||
{% if matrix_ldap_registration_proxy_container_labels_registration_endpoint_traefik_tls %}
|
||||
traefik.http.routers.matrix-ldap-registration-proxy-registration.tls.certResolver={{ matrix_ldap_registration_proxy_container_labels_registration_endpoint_traefik_tls_certResolver }}
|
||||
{% endif %}
|
||||
|
||||
############################################################
|
||||
# #
|
||||
# /Registration #
|
||||
# #
|
||||
############################################################
|
||||
{% endif %}
|
||||
|
||||
|
||||
{% endif %}
|
||||
|
||||
{{ matrix_ldap_registration_proxy_container_labels_additional_labels }}
|
||||
@@ -1,43 +0,0 @@
|
||||
{#
|
||||
SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev
|
||||
SPDX-FileCopyrightText: 2022 Julian-Samuel Gebühr
|
||||
SPDX-FileCopyrightText: 2022 MDAD project contributors
|
||||
|
||||
SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
#}
|
||||
|
||||
# please specify the configuration here
|
||||
#
|
||||
# these settings are mandatory
|
||||
|
||||
# The server to connect to. Please note it must be accessible from the Docker network
|
||||
# example: `ldap://127.0.0.1:389`
|
||||
LDAP_SERVER={{ matrix_ldap_registration_proxy_ldap_uri }}
|
||||
|
||||
# the base DN used for user creation
|
||||
|
||||
LDAP_BASE_DN={{ matrix_ldap_registration_proxy_ldap_base_dn }}
|
||||
|
||||
# the privileged user used for user creation including it's DN
|
||||
# example: `uid=admin,cn=users,cn=accounts,dc=example,dc=org`
|
||||
|
||||
LDAP_USER={{ matrix_ldap_registration_proxy_ldap_user }}
|
||||
|
||||
# the password of the `LDAP_USER` used for authentication
|
||||
LDAP_PASSWORD={{ matrix_ldap_registration_proxy_ldap_password }}
|
||||
|
||||
# the human-readable server name of your Matrix server as used in the Matrix ID
|
||||
# example: `example.org`
|
||||
MATRIX_SERVER_NAME={{ matrix_ldap_registration_proxy_matrix_server_name }}
|
||||
|
||||
# the url to access the Matrix server API without trailing `/`
|
||||
# example: `https://matrix.example.org`
|
||||
MATRIX_SERVER_URL={{ matrix_ldap_registration_proxy_matrix_server_url }}
|
||||
|
||||
# these settings are optional:
|
||||
|
||||
# Specify the port to listen on. Default to 8080
|
||||
LISTEN_PORT={{ matrix_ldap_registration_listen_port }}
|
||||
|
||||
# Use this to extend the configuration with custom variables
|
||||
{{ matrix_ldap_registration_proxy_env_variables_extension }}
|
||||
-52
@@ -1,52 +0,0 @@
|
||||
#jinja2: lstrip_blocks: True
|
||||
[Unit]
|
||||
Description=matrix_ldap_registration_proxy
|
||||
{% for service in matrix_ldap_registration_proxy_systemd_required_services_list %}
|
||||
Requires={{ service }}
|
||||
After={{ service }}
|
||||
{% endfor %}
|
||||
{% for service in matrix_ldap_registration_proxy_systemd_wanted_services_list %}
|
||||
Wants={{ service }}
|
||||
{% endfor %}
|
||||
DefaultDependencies=no
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}"
|
||||
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-ldap-registration-proxy 2>/dev/null || true'
|
||||
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-ldap-registration-proxy 2>/dev/null || true'
|
||||
|
||||
# matrix_ldap_registration_proxy writes an SQLite shared library (libsqlitejdbc.so) to /tmp and executes it from there,
|
||||
# so /tmp needs to be mounted with an exec option.
|
||||
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
|
||||
--rm \
|
||||
--name=matrix-ldap-registration-proxy \
|
||||
--log-driver=none \
|
||||
--user={{ matrix_user_uid }}:{{ matrix_user_gid }} \
|
||||
--cap-drop=ALL \
|
||||
--read-only \
|
||||
--network={{ matrix_ldap_registration_proxy_container_network }} \
|
||||
{% if matrix_ldap_registration_proxy_container_http_host_bind_port %}
|
||||
-p {{ matrix_ldap_registration_proxy_container_http_host_bind_port }}:{{ matrix_ldap_registration_listen_port }} \
|
||||
{% endif %}
|
||||
--env-file {{ matrix_ldap_registration_proxy_config_path }}/ldap-registration-proxy.env \
|
||||
--label-file={{ matrix_ldap_registration_proxy_base_path }}/labels \
|
||||
{% for arg in matrix_ldap_registration_proxy_container_extra_arguments %}
|
||||
{{ arg }} \
|
||||
{% endfor %}
|
||||
{{ matrix_ldap_registration_proxy_container_image }}
|
||||
|
||||
{% for network in matrix_ldap_registration_proxy_container_additional_networks %}
|
||||
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network connect {{ network }} matrix-ldap-registration-proxy
|
||||
{% endfor %}
|
||||
|
||||
ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-ldap-registration-proxy
|
||||
|
||||
ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-ldap-registration-proxy 2>/dev/null || true'
|
||||
ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-ldap-registration-proxy 2>/dev/null || true'
|
||||
Restart=always
|
||||
RestartSec=30
|
||||
SyslogIdentifier=matrix-ldap-registration-proxy
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev
|
||||
SPDX-FileCopyrightText: 2022 Julian-Samuel Gebühr
|
||||
SPDX-FileCopyrightText: 2022 MDAD project contributors
|
||||
|
||||
SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
@@ -711,6 +711,18 @@
|
||||
The following variables in your configuration need to be renamed: {{ lookup('ansible.builtin.varnames', '^matrix_dynamic_dns_.+', wantlist=True) | join(', ') }}
|
||||
when: "lookup('ansible.builtin.varnames', '^matrix_dynamic_dns_.+', wantlist=True) | length > 0"
|
||||
|
||||
- name: (Deprecation) Catch and report matrix-ldap-registration-proxy variables
|
||||
ansible.builtin.fail:
|
||||
msg: |-
|
||||
matrix-ldap-registration-proxy was completely removed from the playbook in May 2026.
|
||||
|
||||
Please remove all `matrix_ldap_registration_proxy_*` variables from your configuration file (vars.yml).
|
||||
|
||||
You may also wish to uninstall the component manually. See `docs/configuring-playbook-matrix-ldap-registration-proxy.md` for more information.
|
||||
|
||||
The following variables in your configuration need to be removed: {{ lookup('ansible.builtin.varnames', '^matrix_ldap_registration_proxy_.+', wantlist=True) | join(', ') }}
|
||||
when: "lookup('ansible.builtin.varnames', '^matrix_ldap_registration_proxy_.+', wantlist=True) | length > 0"
|
||||
|
||||
- name: (Deprecation) Catch and report mautrix-facebook variables
|
||||
ansible.builtin.fail:
|
||||
msg: |-
|
||||
|
||||
Reference in New Issue
Block a user