| @@ -5,6 +5,7 @@ | |||||
| /roles/**/files/scratchpad | /roles/**/files/scratchpad | ||||
| .DS_Store | .DS_Store | ||||
| .python-version | .python-version | ||||
| .idea/ | |||||
| flake.lock | flake.lock | ||||
| # ignore roles pulled by ansible-galaxy | # ignore roles pulled by ansible-galaxy | ||||
| @@ -1,3 +1,14 @@ | |||||
| # 2023-07-24 | |||||
| ## matrix-registration-bot usage changed | |||||
| [matrix-registration-bot](docs/configuring-playbook-bot-matrix-registration-bot.md) got some updates and now supports password-only-based login. Therefore the bot now doesn't need any manual configuration except setting a password in your `vars.yml`. The bot will be registered as admin and access tokens will be obtained automatically by the bot. | |||||
| **For existing users** You need to set `matrix_bot_matrix_registration_bot_bot_password` if you previously only used `matrix_bot_matrix_registration_bot_bot_access_token`. Please also remove the following deprecated settings | |||||
| * `matrix_bot_matrix_registration_bot_bot_access_token` | |||||
| * `matrix_bot_matrix_registration_bot_api_token` | |||||
| # 2023-07-21 | # 2023-07-21 | ||||
| ## mautrix-gmessages support | ## mautrix-gmessages support | ||||
| @@ -43,6 +43,11 @@ matrix_bot_chatgpt_openai_api_key: '' | |||||
| # Matrix access token (from bot user above) | # Matrix access token (from bot user above) | ||||
| # see: https://webapps.stackexchange.com/questions/131056/how-to-get-an-access-token-for-element-riot-matrix | # see: https://webapps.stackexchange.com/questions/131056/how-to-get-an-access-token-for-element-riot-matrix | ||||
| matrix_bot_chatgpt_matrix_access_token: '' | matrix_bot_chatgpt_matrix_access_token: '' | ||||
| # Configuring the system promt used, needed if the bot is used for special tasks. | |||||
| # More information: https://github.com/mustvlad/ChatGPT-System-Prompts | |||||
| matrix_bot_chatgpt_matrix_bot_prompt_prefix: 'Instructions:\nYou are ChatGPT, a large language model trained by OpenAI.' | |||||
| ``` | ``` | ||||
| You will need to get tokens for ChatGPT. | You will need to get tokens for ChatGPT. | ||||
| @@ -2,40 +2,28 @@ | |||||
| The playbook can install and configure [matrix-registration-bot](https://github.com/moan0s/matrix-registration-bot) for you. | The playbook can install and configure [matrix-registration-bot](https://github.com/moan0s/matrix-registration-bot) for you. | ||||
| The bot allows you to easily **create and manage registration tokens**. It can be used for an invitation-based server, | |||||
| where you invite someone by sending them a registration token. They can register as normal but have to provide a valid | |||||
| registration token in a final step of the registration. | |||||
| The bot allows you to easily **create and manage registration tokens** aka. invitation codes. | |||||
| It can be used for an invitation-based server, | |||||
| where you invite someone by sending them a registration token (loook like this: `rbalQ0zkaDSRQCOp`). They can register as normal but have to provide a valid registration token in a final step of the registration. | |||||
| See the project's [documentation](https://github.com/moan0s/matrix-registration-bot#supported-commands) to learn what it | See the project's [documentation](https://github.com/moan0s/matrix-registration-bot#supported-commands) to learn what it | ||||
| does and why it might be useful to you. | does and why it might be useful to you. | ||||
| ## Registering the bot user | |||||
| ## Configuration | |||||
| By default, the playbook will set use the bot with a username like this: `@bot.matrix-registration-bot:DOMAIN`. | |||||
| (to use a different username, adjust the `matrix_bot_matrix_registration_bot_matrix_user_id_localpart` variable). | |||||
| For [other bots supported by the playbook](configuring-playbook.md#bots), Matrix bot user accounts are created and put to use automatically. For `matrix-registration-bot`, however, this is not the case - you **need to register the bot user manually** before setting up the bot. You can use the playbook to [register a new user](registering-users.md): | |||||
| ``` | |||||
| ansible-playbook -i inventory/hosts setup.yml --extra-vars='username=bot.matrix-registration-bot password=PASSWORD_FOR_THE_BOT admin=yes' --tags=register-user | |||||
| ``` | |||||
| Choose a strong password for the bot. You can generate a good password with a command like this: `pwgen -s 64 1`. | |||||
| ## Obtaining an admin access token | |||||
| In order to use the bot you need to add an admin user's access token token to the configuration. Refer to the documentation on [how to obtain an access token](obtaining-access-tokens.md). | |||||
| ## Adjusting the playbook configuration | |||||
| Add the following configuration to your `inventory/host_vars/matrix.DOMAIN/vars.yml` file: | |||||
| To enable the bot, add the following configuration to your `inventory/host_vars/matrix.DOMAIN/vars.yml` file: | |||||
| ```yaml | ```yaml | ||||
| matrix_bot_matrix_registration_bot_enabled: true | matrix_bot_matrix_registration_bot_enabled: true | ||||
| # Token obtained via logging into the bot account (see above) | |||||
| matrix_bot_matrix_registration_bot_bot_access_token: "syt_bW9hbm9z_XXXXXXXXXXXXXr_2kuzbE" | |||||
| #By default, the playbook will set use the bot with a username like | |||||
| ## this: `@bot.matrix-registration-bot:DOMAIN`. | |||||
| # To use a different username, uncomment & adjust the variable. | |||||
| # matrix_bot_matrix_registration_bot_matrix_user_id_localpart: bot.matrix-registration-bot | |||||
| # Generate a strong password here. Consider generating it with `pwgen -s 64 1` | |||||
| matrix_bot_matrix_registration_bot_bot_password: PASSWORD_FOR_THE_BOT | |||||
| # Enables registration | # Enables registration | ||||
| matrix_synapse_enable_registration: true | matrix_synapse_enable_registration: true | ||||
| @@ -44,6 +32,7 @@ matrix_synapse_enable_registration: true | |||||
| matrix_synapse_registration_requires_token: true | matrix_synapse_registration_requires_token: true | ||||
| ``` | ``` | ||||
| The bot account will be automatically created. | |||||
| ## Installing | ## Installing | ||||
| @@ -56,10 +45,16 @@ ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start | |||||
| ## Usage | ## Usage | ||||
| To use the bot, create a **non-encrypted** room and invite `@bot.matrix-registration-bot:DOMAIN` (where `DOMAIN` is your base domain, not the `matrix.` domain). | |||||
| To use the bot, message `@bot.matrix-registration-bot:DOMAIN` (where `DOMAIN` is your base domain, not the `matrix.` domain). | |||||
| In this room send `help` and the bot will reply with all options. | In this room send `help` and the bot will reply with all options. | ||||
| You can also refer to the upstream [Usage documentation](https://github.com/moan0s/matrix-registration-bot#supported-commands). | You can also refer to the upstream [Usage documentation](https://github.com/moan0s/matrix-registration-bot#supported-commands). | ||||
| If you have any questions, or if you need help setting it up, read the [troublshooting guide](https://github.com/moan0s/matrix-registration-bot/blob/main/docs/troubleshooting.md) | If you have any questions, or if you need help setting it up, read the [troublshooting guide](https://github.com/moan0s/matrix-registration-bot/blob/main/docs/troubleshooting.md) | ||||
| or join [#matrix-registration-bot:hyteck.de](https://matrix.to/#/#matrix-registration-bot:hyteck.de). | or join [#matrix-registration-bot:hyteck.de](https://matrix.to/#/#matrix-registration-bot:hyteck.de). | ||||
| To clean the cache (session&encryption data) after you changed the bot's username, changed the login methon form access_token to password etc.. you can use | |||||
| ```bash | |||||
| just run-tags bot-matrix-registration-bot-clean-cache | |||||
| ``` | |||||
| @@ -32,7 +32,7 @@ Alternatively, **if there is no pre-defined variable** for an Element setting yo | |||||
| ## Themes | ## Themes | ||||
| To change the look of Element, you can define your own themes manually by using the `matrix_client_element_settingDefaults_custom_themes` setting. | |||||
| To change the look of Element, you can define your own themes manually by using the `matrix_client_element_setting_defaults_custom_themes` setting. | |||||
| Or better yet, you can automatically pull it all themes provided by the [aaronraimist/element-themes](https://github.com/aaronraimist/element-themes) project by simply flipping a flag (`matrix_client_element_themes_enabled: true`). | Or better yet, you can automatically pull it all themes provided by the [aaronraimist/element-themes](https://github.com/aaronraimist/element-themes) project by simply flipping a flag (`matrix_client_element_themes_enabled: true`). | ||||
| @@ -3,6 +3,8 @@ | |||||
| **[Dimension](https://dimension.t2bot.io) can only be installed after Matrix services are installed and running.** | **[Dimension](https://dimension.t2bot.io) can only be installed after Matrix services are installed and running.** | ||||
| If you're just installing Matrix services for the first time, please continue with the [Configuration](configuring-playbook.md) / [Installation](installing.md) flow and come back here later. | If you're just installing Matrix services for the first time, please continue with the [Configuration](configuring-playbook.md) / [Installation](installing.md) flow and come back here later. | ||||
| **Note**: Dimension is **[officially unmaintained](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/2806#issuecomment-1673559299)**. We recommend not bothering with installing it. | |||||
| **Note**: This playbook now supports running [Dimension](https://dimension.t2bot.io) in both a federated and [unfederated](https://github.com/turt2live/matrix-dimension/blob/master/docs/unfederated.md) environments. This is handled automatically based on the value of `matrix_synapse_federation_enabled`. Enabling Dimension, means that the `openid` API endpoints will be exposed on the Matrix Federation port (usually `8448`), even if [federation](configuring-playbook-federation.md) is disabled. It's something to be aware of, especially in terms of firewall whitelisting (make sure port `8448` is accessible). | **Note**: This playbook now supports running [Dimension](https://dimension.t2bot.io) in both a federated and [unfederated](https://github.com/turt2live/matrix-dimension/blob/master/docs/unfederated.md) environments. This is handled automatically based on the value of `matrix_synapse_federation_enabled`. Enabling Dimension, means that the `openid` API endpoints will be exposed on the Matrix Federation port (usually `8448`), even if [federation](configuring-playbook-federation.md) is disabled. It's something to be aware of, especially in terms of firewall whitelisting (make sure port `8448` is accessible). | ||||
| @@ -12,6 +12,7 @@ Element X Android requires manual compilation to get it working with a non-`matr | |||||
| **NOTE**: The Sliding Sync proxy **only works with the Traefik reverse-proxy**. If you have an old server installation (from the time `matrix-nginx-proxy` was our default reverse-proxy - `matrix_playbook_reverse_proxy_type: playbook-managed-nginx`), you won't be able to use Sliding Sync. | **NOTE**: The Sliding Sync proxy **only works with the Traefik reverse-proxy**. If you have an old server installation (from the time `matrix-nginx-proxy` was our default reverse-proxy - `matrix_playbook_reverse_proxy_type: playbook-managed-nginx`), you won't be able to use Sliding Sync. | ||||
| **NOTE**: The sliding-sync proxy is **not required** when using the **Conduit homeserver**. Starting from version `0.6.0` Conduit has native support for some sliding sync features. If there are issues with the native implementation, you might have a better experience when enabling the sliding-sync proxy anyway. | |||||
| ## Decide on a domain and path | ## Decide on a domain and path | ||||
| @@ -30,7 +30,7 @@ When you're done with all the configuration you'd like to do, continue with [Ins | |||||
| ### Additional useful services | ### Additional useful services | ||||
| - [Setting up the Dimension Integration Manager](configuring-playbook-dimension.md) (optional, but recommended; after [installing](installing.md)) | |||||
| - [Setting up the Dimension Integration Manager](configuring-playbook-dimension.md) (optional; [unmaintained](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/2806#issuecomment-1673559299); after [installing](installing.md)) | |||||
| - [Setting up the Jitsi video-conferencing platform](configuring-playbook-jitsi.md) (optional) | - [Setting up the Jitsi video-conferencing platform](configuring-playbook-jitsi.md) (optional) | ||||
| @@ -3341,7 +3341,7 @@ matrix_client_element_enable_presence_by_hs_url: | | |||||
| matrix_client_element_welcome_user_id: ~ | matrix_client_element_welcome_user_id: ~ | ||||
| matrix_client_element_jitsi_preferredDomain: "{{ matrix_server_fqn_jitsi if jitsi_enabled else '' }}" | |||||
| matrix_client_element_jitsi_preferred_domain: "{{ matrix_server_fqn_jitsi if jitsi_enabled else '' }}" | |||||
| ###################################################################### | ###################################################################### | ||||
| # | # | ||||
| @@ -4018,6 +4018,9 @@ matrix_sliding_sync_environment_variable_syncv3_secret: "{{ '%s' | format(matrix | |||||
| matrix_sliding_sync_database_hostname: "{{ devture_postgres_connection_hostname if devture_postgres_enabled else '' }}" | matrix_sliding_sync_database_hostname: "{{ devture_postgres_connection_hostname if devture_postgres_enabled else '' }}" | ||||
| matrix_sliding_sync_database_password: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'ss.db', rounds=655555) | to_uuid }}" | matrix_sliding_sync_database_password: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'ss.db', rounds=655555) | to_uuid }}" | ||||
| # 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_conduit_enabled else '' }}" | |||||
| ###################################################################### | ###################################################################### | ||||
| # | # | ||||
| # /matrix-sliding-sync | # /matrix-sliding-sync | ||||
| @@ -4107,7 +4110,6 @@ matrix_conduit_systemd_required_services_list: | | |||||
| (['docker.service']) | (['docker.service']) | ||||
| }} | }} | ||||
| ###################################################################### | ###################################################################### | ||||
| # | # | ||||
| # /matrix-conduit | # /matrix-conduit | ||||
| @@ -4123,6 +4125,12 @@ matrix_conduit_systemd_required_services_list: | | |||||
| matrix_user_creator_users_auto: | | matrix_user_creator_users_auto: | | ||||
| {{ | {{ | ||||
| ([{ | |||||
| 'username': matrix_bot_matrix_registration_bot_matrix_user_id_localpart, | |||||
| 'initial_password': matrix_bot_matrix_registration_bot_bot_password, | |||||
| 'initial_type': 'admin', | |||||
| }] if matrix_bot_matrix_registration_bot_enabled else []) | |||||
| + | |||||
| ([{ | ([{ | ||||
| 'username': matrix_bot_matrix_reminder_bot_matrix_user_id_localpart, | 'username': matrix_bot_matrix_reminder_bot_matrix_user_id_localpart, | ||||
| 'initial_password': matrix_bot_matrix_reminder_bot_matrix_user_password, | 'initial_password': matrix_bot_matrix_reminder_bot_matrix_user_password, | ||||
| @@ -4166,13 +4174,20 @@ matrix_user_verification_service_docker_image: "{{ matrix_user_verification_serv | |||||
| matrix_user_verification_service_enabled: false | matrix_user_verification_service_enabled: false | ||||
| matrix_user_verification_service_systemd_required_services_list: | | matrix_user_verification_service_systemd_required_services_list: | | ||||
| {{ | |||||
| ['docker.service'] | |||||
| + | |||||
| (['matrix-synapse.service'] if matrix_synapse_enabled else []) | |||||
| + | |||||
| ([devture_postgres_identifier ~ '.service'] if devture_postgres_enabled else []) | |||||
| }} | |||||
| {{ | |||||
| ['docker.service'] | |||||
| + | |||||
| (['matrix-' + matrix_homeserver_implementation + '.service']) | |||||
| }} | |||||
| matrix_user_verification_service_container_additional_networks: | | |||||
| {{ | |||||
| ( | |||||
| ([matrix_playbook_reverse_proxyable_services_additional_network] if matrix_playbook_reverse_proxyable_services_additional_network else []) | |||||
| + | |||||
| ([matrix_homeserver_container_network] if matrix_homeserver_container_network != matrix_user_verification_service_container_network else []) | |||||
| ) | unique | |||||
| }} | |||||
| # If Jitsi is managed by this playbook we can use the docker network - no need to expose a port. | # If Jitsi is managed by this playbook we can use the docker network - no need to expose a port. | ||||
| # If Jitsi is not managed by this playbook, or you otherwise have a need for it, you can expose | # If Jitsi is not managed by this playbook, or you otherwise have a need for it, you can expose | ||||
| @@ -4,7 +4,7 @@ | |||||
| version: v1.0.0-1 | version: v1.0.0-1 | ||||
| name: auxiliary | name: auxiliary | ||||
| - src: git+https://gitlab.com/etke.cc/roles/backup_borg.git | - src: git+https://gitlab.com/etke.cc/roles/backup_borg.git | ||||
| version: v1.2.4-1.7.15-1 | |||||
| version: v1.2.4-1.7.15-3 | |||||
| - src: git+https://github.com/devture/com.devture.ansible.role.container_socket_proxy.git | - src: git+https://github.com/devture/com.devture.ansible.role.container_socket_proxy.git | ||||
| version: v0.1.1-2 | version: v0.1.1-2 | ||||
| - src: git+https://github.com/devture/com.devture.ansible.role.docker_sdk_for_python.git | - src: git+https://github.com/devture/com.devture.ansible.role.docker_sdk_for_python.git | ||||
| @@ -26,28 +26,28 @@ | |||||
| - src: git+https://github.com/devture/com.devture.ansible.role.timesync.git | - src: git+https://github.com/devture/com.devture.ansible.role.timesync.git | ||||
| version: v1.0.0-0 | version: v1.0.0-0 | ||||
| - src: git+https://github.com/devture/com.devture.ansible.role.traefik.git | - src: git+https://github.com/devture/com.devture.ansible.role.traefik.git | ||||
| version: v2.10.3-0 | |||||
| version: v2.10.4-1 | |||||
| - src: git+https://github.com/devture/com.devture.ansible.role.traefik_certs_dumper.git | - src: git+https://github.com/devture/com.devture.ansible.role.traefik_certs_dumper.git | ||||
| version: v2.8.1-0 | version: v2.8.1-0 | ||||
| - src: git+https://gitlab.com/etke.cc/roles/etherpad.git | - src: git+https://gitlab.com/etke.cc/roles/etherpad.git | ||||
| version: v1.9.0-0 | |||||
| version: v1.9.2-0 | |||||
| - src: git+https://github.com/geerlingguy/ansible-role-docker | - src: git+https://github.com/geerlingguy/ansible-role-docker | ||||
| version: 6.1.0 | |||||
| version: 6.2.0 | |||||
| name: geerlingguy.docker | name: geerlingguy.docker | ||||
| - src: git+https://gitlab.com/etke.cc/roles/grafana.git | - src: git+https://gitlab.com/etke.cc/roles/grafana.git | ||||
| version: v10.0.2-1 | |||||
| version: v10.0.3-0 | |||||
| - 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: v8615-2 | version: v8615-2 | ||||
| name: jitsi | name: jitsi | ||||
| - src: git+https://gitlab.com/etke.cc/roles/ntfy.git | - src: git+https://gitlab.com/etke.cc/roles/ntfy.git | ||||
| version: v2.6.2-0 | |||||
| version: v2.7.0-0 | |||||
| - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus.git | - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus.git | ||||
| version: v2.45.0-0 | |||||
| version: v2.45.0-1 | |||||
| name: prometheus | name: prometheus | ||||
| - src: git+https://gitlab.com/etke.cc/roles/prometheus_node_exporter.git | - src: git+https://gitlab.com/etke.cc/roles/prometheus_node_exporter.git | ||||
| version: v1.6.0-0 | |||||
| version: v1.6.1-0 | |||||
| - 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.13.1-0 | |||||
| version: v0.13.2-0 | |||||
| name: prometheus_postgres_exporter | name: prometheus_postgres_exporter | ||||
| - src: git+https://gitlab.com/etke.cc/roles/redis.git | - src: git+https://gitlab.com/etke.cc/roles/redis.git | ||||
| version: v7.0.10-0 | |||||
| version: v7.2.0-0 | |||||
| @@ -150,6 +150,12 @@ matrix_homeserver_container_url: "" | |||||
| # This likely gets overriden elsewhere. | # This likely gets overriden elsewhere. | ||||
| matrix_homeserver_container_federation_url: "" | matrix_homeserver_container_federation_url: "" | ||||
| # Specifies the public url of the Sync v3 (sliding-sync) API. | |||||
| # This will be used to set the `org.matrix.msc3575.proxy` property in `/.well-known/matrix/client`. | |||||
| # Once the API is stabilized, this will no longer be required. | |||||
| # See MSC3575: https://github.com/matrix-org/matrix-spec-proposals/blob/kegan/sync-v3/proposals/3575-sync.md | |||||
| matrix_homeserver_sliding_sync_url: "" | |||||
| matrix_identity_server_url: ~ | matrix_identity_server_url: ~ | ||||
| matrix_integration_manager_rest_url: ~ | matrix_integration_manager_rest_url: ~ | ||||
| @@ -158,7 +164,7 @@ matrix_integration_manager_ui_url: ~ | |||||
| # The domain name where a Jitsi server is self-hosted. | # The domain name where a Jitsi server is self-hosted. | ||||
| # If set, `/.well-known/matrix/client` will suggest Element clients to use that Jitsi server. | # If set, `/.well-known/matrix/client` will suggest Element clients to use that Jitsi server. | ||||
| # See: https://github.com/vector-im/element-web/blob/develop/docs/jitsi.md#configuring-element-to-use-your-self-hosted-jitsi-server | # See: https://github.com/vector-im/element-web/blob/develop/docs/jitsi.md#configuring-element-to-use-your-self-hosted-jitsi-server | ||||
| matrix_client_element_jitsi_preferredDomain: '' # noqa var-naming | |||||
| matrix_client_element_jitsi_preferred_domain: '' # noqa var-naming | |||||
| # Controls whether Element should use End-to-End Encryption by default. | # Controls whether Element should use End-to-End Encryption by default. | ||||
| # Setting this to false will update `/.well-known/matrix/client` and tell Element clients to avoid E2EE. | # Setting this to false will update `/.well-known/matrix/client` and tell Element clients to avoid E2EE. | ||||
| @@ -18,17 +18,17 @@ | |||||
| ] | ] | ||||
| } | } | ||||
| {% endif %} | {% endif %} | ||||
| {% if matrix_client_element_jitsi_preferredDomain %}, | |||||
| {% if matrix_client_element_jitsi_preferred_domain %}, | |||||
| "io.element.jitsi": { | "io.element.jitsi": { | ||||
| "preferredDomain": {{ matrix_client_element_jitsi_preferredDomain|to_json }} | |||||
| "preferredDomain": {{ matrix_client_element_jitsi_preferred_domain|to_json }} | |||||
| }, | }, | ||||
| "im.vector.riot.jitsi": { | "im.vector.riot.jitsi": { | ||||
| "preferredDomain": {{ matrix_client_element_jitsi_preferredDomain|to_json }} | |||||
| "preferredDomain": {{ matrix_client_element_jitsi_preferred_domain|to_json }} | |||||
| } | } | ||||
| {% endif %} | {% endif %} | ||||
| {% if matrix_sliding_sync_enabled %}, | |||||
| {% if matrix_homeserver_sliding_sync_url %}, | |||||
| "org.matrix.msc3575.proxy": { | "org.matrix.msc3575.proxy": { | ||||
| "url": "{{ matrix_sliding_sync_base_url }}" | |||||
| "url": "{{ matrix_homeserver_sliding_sync_url }}" | |||||
| } | } | ||||
| {% endif %} | {% endif %} | ||||
| {% if matrix_client_element_location_sharing_enabled %}, | {% if matrix_client_element_location_sharing_enabled %}, | ||||
| @@ -88,3 +88,5 @@ matrix_bot_chatgpt_matrix_rich_text: true # MATRIX_RICH_TEXT=true | |||||
| # matrix_bot_chatgpt_environment_variables_extension: | | # matrix_bot_chatgpt_environment_variables_extension: | | ||||
| # chatgpt_TEXT_DONE=Done | # chatgpt_TEXT_DONE=Done | ||||
| matrix_bot_chatgpt_environment_variables_extension: '' | matrix_bot_chatgpt_environment_variables_extension: '' | ||||
| matrix_bot_chatgpt_matrix_bot_prompt_prefix: 'Instructions:\nYou are ChatGPT, a large language model trained by OpenAI.' | |||||
| @@ -25,6 +25,8 @@ MATRIX_ENCRYPTION={{ matrix_bot_chatgpt_matrix_encryption|lower }} | |||||
| MATRIX_THREADS={{ matrix_bot_chatgpt_matrix_threads|lower }} | MATRIX_THREADS={{ matrix_bot_chatgpt_matrix_threads|lower }} | ||||
| MATRIX_RICH_TEXT={{ matrix_bot_chatgpt_matrix_rich_text|lower }} | MATRIX_RICH_TEXT={{ matrix_bot_chatgpt_matrix_rich_text|lower }} | ||||
| CHATGPT_PROMPT_PREFIX={{ matrix_bot_chatgpt_matrix_bot_prompt_prefix }} | |||||
| DATA_PATH=/data/ | DATA_PATH=/data/ | ||||
| {{ matrix_bot_chatgpt_environment_variables_extension }} | {{ matrix_bot_chatgpt_environment_variables_extension }} | ||||
| @@ -20,7 +20,7 @@ matrix_bot_honoroit_docker_repo: "https://gitlab.com/etke.cc/honoroit.git" | |||||
| matrix_bot_honoroit_docker_repo_version: "{{ matrix_bot_honoroit_version }}" | 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" | ||||
| matrix_bot_honoroit_version: v0.9.17 | |||||
| matrix_bot_honoroit_version: v0.9.18 | |||||
| matrix_bot_honoroit_docker_image: "{{ matrix_bot_honoroit_docker_image_name_prefix }}etke.cc/honoroit:{{ matrix_bot_honoroit_version }}" | matrix_bot_honoroit_docker_image: "{{ matrix_bot_honoroit_docker_image_name_prefix }}etke.cc/honoroit:{{ matrix_bot_honoroit_version }}" | ||||
| matrix_bot_honoroit_docker_image_name_prefix: "{{ 'localhost/' if matrix_bot_honoroit_container_image_self_build else 'registry.gitlab.com/' }}" | matrix_bot_honoroit_docker_image_name_prefix: "{{ 'localhost/' if matrix_bot_honoroit_container_image_self_build else 'registry.gitlab.com/' }}" | ||||
| matrix_bot_honoroit_docker_image_force_pull: "{{ matrix_bot_honoroit_docker_image.endswith(':latest') }}" | matrix_bot_honoroit_docker_image_force_pull: "{{ matrix_bot_honoroit_docker_image.endswith(':latest') }}" | ||||
| @@ -8,8 +8,10 @@ matrix_bot_matrix_registration_bot_docker_repo: "https://github.com/moan0s/matri | |||||
| matrix_bot_matrix_registration_bot_docker_repo_version: "{{ matrix_bot_matrix_registration_bot_version if matrix_bot_matrix_registration_bot_version != 'latest' else 'main' }}" | matrix_bot_matrix_registration_bot_docker_repo_version: "{{ matrix_bot_matrix_registration_bot_version if matrix_bot_matrix_registration_bot_version != 'latest' else 'main' }}" | ||||
| matrix_bot_matrix_registration_bot_docker_src_files_path: "{{ matrix_bot_matrix_registration_bot_base_path }}/docker-src" | matrix_bot_matrix_registration_bot_docker_src_files_path: "{{ matrix_bot_matrix_registration_bot_base_path }}/docker-src" | ||||
| matrix_bot_matrix_registration_bot_version: latest | |||||
| matrix_bot_matrix_registration_bot_docker_image: "{{ matrix_container_global_registry_prefix }}moanos/matrix-registration-bot:{{ matrix_bot_matrix_registration_bot_version }}" | |||||
| matrix_bot_matrix_registration_bot_version: 1.3.0 | |||||
| matrix_bot_matrix_registration_bot_docker_iteration: 0 | |||||
| matrix_bot_matrix_registration_bot_docker_tag: "{{ matrix_bot_matrix_registration_bot_version }}-{{ matrix_bot_matrix_registration_bot_docker_iteration}}" | |||||
| matrix_bot_matrix_registration_bot_docker_image: "{{ matrix_container_global_registry_prefix }}moanos/matrix-registration-bot:{{ matrix_bot_matrix_registration_bot_docker_tag }}" | |||||
| matrix_bot_matrix_registration_bot_docker_image_force_pull: "{{ matrix_bot_matrix_registration_bot_docker_image.endswith(':latest') }}" | matrix_bot_matrix_registration_bot_docker_image_force_pull: "{{ matrix_bot_matrix_registration_bot_docker_image.endswith(':latest') }}" | ||||
| matrix_bot_matrix_registration_bot_base_path: "{{ matrix_base_data_path }}/matrix-registration-bot" | matrix_bot_matrix_registration_bot_base_path: "{{ matrix_base_data_path }}/matrix-registration-bot" | ||||
| @@ -19,15 +21,15 @@ matrix_bot_matrix_registration_bot_data_path: "{{ matrix_bot_matrix_registration | |||||
| matrix_bot_matrix_registration_bot_bot_server: "https://{{ matrix_server_fqn_matrix }}" | matrix_bot_matrix_registration_bot_bot_server: "https://{{ matrix_server_fqn_matrix }}" | ||||
| matrix_bot_matrix_registration_bot_api_base_url: "https://{{ matrix_server_fqn_matrix }}" | matrix_bot_matrix_registration_bot_api_base_url: "https://{{ matrix_server_fqn_matrix }}" | ||||
| # The access token that the bot uses to communicate in Matrix chats | |||||
| # This does not necessarily need to be a privileged (admin) access token. | |||||
| matrix_bot_matrix_registration_bot_bot_access_token: '' | |||||
| # The access token that the bot uses to call the Matrix API for creating registration tokens. | |||||
| # This needs to be a privileged (admin) access token. | |||||
| # By default, we assume `matrix_bot_matrix_registration_bot_bot_access_token` is such a privileged token and we use it as is. | |||||
| # If necessary, you can define your own other access token here, which might even be for a different Matrix user. | |||||
| matrix_bot_matrix_registration_bot_api_token: "{{ matrix_bot_matrix_registration_bot_bot_access_token }}" | |||||
| # The bot's password (can also be used to login via a client like element) | |||||
| matrix_bot_matrix_registration_bot_bot_password: '' | |||||
| # Optional variable that only needs to be set if the bot account is not admin | |||||
| # Needs to be a valid access token of an admin account | |||||
| matrix_bot_matrix_registration_bot_api_token: '' | |||||
| matrix_bot_matrix_registration_bot_device_id: "matrix-docker-ansible-deploy" | |||||
| matrix_bot_matrix_registration_bot_logging_level: info | matrix_bot_matrix_registration_bot_logging_level: info | ||||
| matrix_bot_matrix_registration_environment_variables_extension: '' | matrix_bot_matrix_registration_environment_variables_extension: '' | ||||
| @@ -0,0 +1,12 @@ | |||||
| --- | |||||
| - name: Delete cache files | |||||
| ansible.builtin.file: | |||||
| state: "{{ item }}" | |||||
| path: "{{ matrix_bot_matrix_registration_bot_data_path }}" | |||||
| mode: 0750 | |||||
| owner: "{{ matrix_user_username }}" | |||||
| group: "{{ matrix_user_groupname }}" | |||||
| with_items: | |||||
| - absent | |||||
| - directory | |||||
| @@ -18,3 +18,9 @@ | |||||
| block: | block: | ||||
| - when: not matrix_bot_matrix_registration_bot_enabled | bool | - when: not matrix_bot_matrix_registration_bot_enabled | bool | ||||
| ansible.builtin.include_tasks: "{{ role_path }}/tasks/setup_uninstall.yml" | ansible.builtin.include_tasks: "{{ role_path }}/tasks/setup_uninstall.yml" | ||||
| - tags: | |||||
| - bot-matrix-registration-bot-clean-cache | |||||
| block: | |||||
| - when: matrix_bot_matrix_registration_bot_enabled | bool | |||||
| ansible.builtin.include_tasks: "{{ role_path }}/tasks/clean_cache.yml" | |||||
| @@ -9,7 +9,7 @@ | |||||
| group: "{{ matrix_user_groupname }}" | group: "{{ matrix_user_groupname }}" | ||||
| 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} | |||||
| - {path: "{{ matrix_bot_matrix_registration_bot_docker_src_files_path }}", when: true} | - {path: "{{ matrix_bot_matrix_registration_bot_docker_src_files_path }}", when: true} | ||||
| when: "item.when | bool" | when: "item.when | bool" | ||||
| @@ -5,6 +5,13 @@ | |||||
| msg: >- | msg: >- | ||||
| You need to define a required configuration setting (`{{ item }}`). | You need to define a required configuration setting (`{{ item }}`). | ||||
| when: "vars[item] == ''" | when: "vars[item] == ''" | ||||
| with_items: | |||||
| - "matrix_bot_matrix_registration_bot_bot_password" | |||||
| - name: (Deprecation) Catch and report old settings | |||||
| ansible.builtin.fail: | |||||
| msg: >- | |||||
| Your configuration contains a variable, which is deprecated - Please check the documentation on how to configure the matrix-registration-bot. | |||||
| when: "item in vars" | |||||
| with_items: | with_items: | ||||
| - "matrix_bot_matrix_registration_bot_bot_access_token" | - "matrix_bot_matrix_registration_bot_bot_access_token" | ||||
| - "matrix_bot_matrix_registration_bot_api_token" | |||||
| @@ -1,12 +1,16 @@ | |||||
| bot: | bot: | ||||
| server: {{ matrix_bot_matrix_registration_bot_bot_server|to_json }} | server: {{ matrix_bot_matrix_registration_bot_bot_server|to_json }} | ||||
| username: {{ matrix_bot_matrix_registration_bot_matrix_user_id_localpart|to_json }} | username: {{ matrix_bot_matrix_registration_bot_matrix_user_id_localpart|to_json }} | ||||
| access_token: {{ matrix_bot_matrix_registration_bot_bot_access_token|to_json }} | |||||
| password: {{ matrix_bot_matrix_registration_bot_bot_password|to_json }} | |||||
| api: | api: | ||||
| # API endpoint of the registration tokens | # API endpoint of the registration tokens | ||||
| base_url: {{ matrix_bot_matrix_registration_bot_api_base_url|to_json }} | base_url: {{ matrix_bot_matrix_registration_bot_api_base_url|to_json }} | ||||
| # Access token of an administrator on the server | # Access token of an administrator on the server | ||||
| {% if matrix_bot_matrix_registration_bot_api_token | length > 0 %} | |||||
| token: {{ matrix_bot_matrix_registration_bot_api_token|to_json }} | token: {{ matrix_bot_matrix_registration_bot_api_token|to_json }} | ||||
| {% endif %} | |||||
| logging: | logging: | ||||
| level: {{ matrix_bot_matrix_registration_bot_logging_level|to_json }} | level: {{ matrix_bot_matrix_registration_bot_logging_level|to_json }} | ||||
| @@ -60,7 +60,7 @@ server: | |||||
| homeservers: | homeservers: | ||||
| {{ matrix_domain }}: | {{ matrix_domain }}: | ||||
| # Client-server API URL | # Client-server API URL | ||||
| url: "https://{{ matrix_server_fqn_matrix }}" | |||||
| url: {{ matrix_homeserver_container_url | to_json }} | |||||
| # registration_shared_secret from synapse config | # registration_shared_secret from synapse config | ||||
| # You can leave this empty if you don't have access to the homeserver. | # You can leave this empty if you don't have access to the homeserver. | ||||
| # When this is empty, `mbc auth --register` won't work, but `mbc auth` (login) will. | # When this is empty, `mbc auth --register` won't work, but `mbc auth` (login) will. | ||||
| @@ -11,7 +11,7 @@ matrix_appservice_irc_docker_src_files_path: "{{ matrix_base_data_path }}/appser | |||||
| # matrix_appservice_irc_version used to contain the full Docker image tag (e.g. `release-X.X.X`). | # matrix_appservice_irc_version used to contain the full Docker image tag (e.g. `release-X.X.X`). | ||||
| # It's a bare version number now. We try to somewhat retain compatibility below. | # It's a bare version number now. We try to somewhat retain compatibility below. | ||||
| matrix_appservice_irc_version: 0.38.0 | |||||
| matrix_appservice_irc_version: 1.0.1 | |||||
| matrix_appservice_irc_docker_image: "{{ matrix_container_global_registry_prefix }}matrixdotorg/matrix-appservice-irc:{{ matrix_appservice_irc_docker_image_tag }}" | matrix_appservice_irc_docker_image: "{{ matrix_container_global_registry_prefix }}matrixdotorg/matrix-appservice-irc:{{ matrix_appservice_irc_docker_image_tag }}" | ||||
| matrix_appservice_irc_docker_image_tag: "{{ 'latest' if matrix_appservice_irc_version == 'latest' else ('release-' + matrix_appservice_irc_version) }}" | matrix_appservice_irc_docker_image_tag: "{{ 'latest' if matrix_appservice_irc_version == 'latest' else ('release-' + matrix_appservice_irc_version) }}" | ||||
| matrix_appservice_irc_docker_image_force_pull: "{{ matrix_appservice_irc_docker_image.endswith(':latest') }}" | matrix_appservice_irc_docker_image_force_pull: "{{ matrix_appservice_irc_docker_image.endswith(':latest') }}" | ||||
| @@ -11,7 +11,7 @@ matrix_appservice_slack_docker_src_files_path: "{{ matrix_base_data_path }}/apps | |||||
| # matrix_appservice_slack_version used to contain the full Docker image tag (e.g. `release-X.X.X`). | # matrix_appservice_slack_version used to contain the full Docker image tag (e.g. `release-X.X.X`). | ||||
| # It's a bare version number now. We try to somewhat retain compatibility below. | # It's a bare version number now. We try to somewhat retain compatibility below. | ||||
| matrix_appservice_slack_version: 2.0.2 | |||||
| matrix_appservice_slack_version: 2.1.2 | |||||
| matrix_appservice_slack_docker_image: "{{ matrix_container_global_registry_prefix }}matrixdotorg/matrix-appservice-slack:{{ matrix_appservice_slack_docker_image_tag }}" | matrix_appservice_slack_docker_image: "{{ matrix_container_global_registry_prefix }}matrixdotorg/matrix-appservice-slack:{{ matrix_appservice_slack_docker_image_tag }}" | ||||
| matrix_appservice_slack_docker_image_tag: "{{ 'latest' if matrix_appservice_slack_version == 'latest' else ('release-' + matrix_appservice_slack_version) }}" | matrix_appservice_slack_docker_image_tag: "{{ 'latest' if matrix_appservice_slack_version == 'latest' else ('release-' + matrix_appservice_slack_version) }}" | ||||
| matrix_appservice_slack_docker_image_force_pull: "{{ matrix_appservice_slack_docker_image.endswith(':latest') }}" | matrix_appservice_slack_docker_image_force_pull: "{{ matrix_appservice_slack_docker_image.endswith(':latest') }}" | ||||
| @@ -4,7 +4,7 @@ | |||||
| matrix_heisenbridge_enabled: true | matrix_heisenbridge_enabled: true | ||||
| matrix_heisenbridge_version: 1.14.3 | |||||
| matrix_heisenbridge_version: 1.14.5 | |||||
| matrix_heisenbridge_docker_image: "{{ matrix_container_global_registry_prefix }}hif1/heisenbridge:{{ matrix_heisenbridge_version }}" | matrix_heisenbridge_docker_image: "{{ matrix_container_global_registry_prefix }}hif1/heisenbridge:{{ matrix_heisenbridge_version }}" | ||||
| matrix_heisenbridge_docker_image_force_pull: "{{ matrix_heisenbridge_docker_image.endswith(':latest') }}" | matrix_heisenbridge_docker_image_force_pull: "{{ matrix_heisenbridge_docker_image.endswith(':latest') }}" | ||||
| @@ -10,7 +10,7 @@ matrix_hookshot_container_image_self_build: false | |||||
| matrix_hookshot_container_image_self_build_repo: "https://github.com/matrix-org/matrix-hookshot.git" | matrix_hookshot_container_image_self_build_repo: "https://github.com/matrix-org/matrix-hookshot.git" | ||||
| matrix_hookshot_container_image_self_build_branch: "{{ 'main' if matrix_hookshot_version == 'latest' else matrix_hookshot_version }}" | matrix_hookshot_container_image_self_build_branch: "{{ 'main' if matrix_hookshot_version == 'latest' else matrix_hookshot_version }}" | ||||
| matrix_hookshot_version: 4.4.0 | |||||
| matrix_hookshot_version: 4.4.1 | |||||
| matrix_hookshot_docker_image: "{{ matrix_hookshot_docker_image_name_prefix }}halfshot/matrix-hookshot:{{ matrix_hookshot_version }}" | matrix_hookshot_docker_image: "{{ matrix_hookshot_docker_image_name_prefix }}halfshot/matrix-hookshot:{{ matrix_hookshot_version }}" | ||||
| matrix_hookshot_docker_image_name_prefix: "{{ 'localhost/' if matrix_hookshot_container_image_self_build else matrix_container_global_registry_prefix }}" | matrix_hookshot_docker_image_name_prefix: "{{ 'localhost/' if matrix_hookshot_container_image_self_build else matrix_container_global_registry_prefix }}" | ||||
| @@ -8,7 +8,7 @@ matrix_mautrix_discord_container_image_self_build: false | |||||
| matrix_mautrix_discord_container_image_self_build_repo: "https://mau.dev/mautrix/discord.git" | matrix_mautrix_discord_container_image_self_build_repo: "https://mau.dev/mautrix/discord.git" | ||||
| 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 }}" | ||||
| matrix_mautrix_discord_version: v0.6.0 | |||||
| matrix_mautrix_discord_version: v0.6.1 | |||||
| # 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_name_prefix }}mautrix/discord:{{ matrix_mautrix_discord_version }}" | matrix_mautrix_discord_docker_image: "{{ matrix_mautrix_discord_docker_image_name_prefix }}mautrix/discord:{{ matrix_mautrix_discord_version }}" | ||||
| matrix_mautrix_discord_docker_image_name_prefix: "{{ 'localhost/' if matrix_mautrix_discord_container_image_self_build else 'dock.mau.dev/' }}" | matrix_mautrix_discord_docker_image_name_prefix: "{{ 'localhost/' if matrix_mautrix_discord_container_image_self_build else 'dock.mau.dev/' }}" | ||||
| @@ -8,7 +8,7 @@ matrix_mautrix_gmessages_container_image_self_build: false | |||||
| matrix_mautrix_gmessages_container_image_self_build_repo: "https://github.com/mautrix/gmessages.git" | matrix_mautrix_gmessages_container_image_self_build_repo: "https://github.com/mautrix/gmessages.git" | ||||
| matrix_mautrix_gmessages_container_image_self_build_branch: "{{ 'master' if matrix_mautrix_gmessages_version == 'latest' else matrix_mautrix_gmessages_version }}" | matrix_mautrix_gmessages_container_image_self_build_branch: "{{ 'master' if matrix_mautrix_gmessages_version == 'latest' else matrix_mautrix_gmessages_version }}" | ||||
| matrix_mautrix_gmessages_version: latest | |||||
| matrix_mautrix_gmessages_version: v0.1.0 | |||||
| # See: https://mau.dev/mautrix/gmessages/container_registry | # See: https://mau.dev/mautrix/gmessages/container_registry | ||||
| matrix_mautrix_gmessages_docker_image: "{{ matrix_mautrix_gmessages_docker_image_name_prefix }}mautrix/gmessages:{{ matrix_mautrix_gmessages_version }}" | matrix_mautrix_gmessages_docker_image: "{{ matrix_mautrix_gmessages_docker_image_name_prefix }}mautrix/gmessages:{{ matrix_mautrix_gmessages_version }}" | ||||
| matrix_mautrix_gmessages_docker_image_name_prefix: "{{ 'localhost/' if matrix_mautrix_gmessages_container_image_self_build else 'dock.mau.dev/' }}" | matrix_mautrix_gmessages_docker_image_name_prefix: "{{ 'localhost/' if matrix_mautrix_gmessages_container_image_self_build else 'dock.mau.dev/' }}" | ||||
| @@ -286,13 +286,7 @@ bridge: | |||||
| # Logging config. See https://github.com/tulir/zeroconfig for details. | # Logging config. See https://github.com/tulir/zeroconfig for details. | ||||
| logging: | logging: | ||||
| min_level: debug | |||||
| min_level: {{ matrix_mautrix_gmessages_logging_level }} | |||||
| writers: | writers: | ||||
| - type: stdout | |||||
| format: pretty-colored | |||||
| - type: file | |||||
| format: json | |||||
| filename: ./logs/mautrix-gmessages.log | |||||
| max_size: 100 | |||||
| max_backups: 10 | |||||
| compress: true | |||||
| - type: stdout | |||||
| format: pretty-colored | |||||
| @@ -8,7 +8,7 @@ matrix_mautrix_whatsapp_container_image_self_build: false | |||||
| matrix_mautrix_whatsapp_container_image_self_build_repo: "https://mau.dev/mautrix/whatsapp.git" | matrix_mautrix_whatsapp_container_image_self_build_repo: "https://mau.dev/mautrix/whatsapp.git" | ||||
| 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 }}" | ||||
| matrix_mautrix_whatsapp_version: v0.9.0 | |||||
| matrix_mautrix_whatsapp_version: v0.10.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_name_prefix }}mautrix/whatsapp:{{ matrix_mautrix_whatsapp_version }}" | matrix_mautrix_whatsapp_docker_image: "{{ matrix_mautrix_whatsapp_docker_image_name_prefix }}mautrix/whatsapp:{{ matrix_mautrix_whatsapp_version }}" | ||||
| matrix_mautrix_whatsapp_docker_image_name_prefix: "{{ 'localhost/' if matrix_mautrix_whatsapp_container_image_self_build else 'dock.mau.dev/' }}" | matrix_mautrix_whatsapp_docker_image_name_prefix: "{{ 'localhost/' if matrix_mautrix_whatsapp_container_image_self_build else 'dock.mau.dev/' }}" | ||||
| @@ -10,7 +10,7 @@ matrix_client_element_container_image_self_build_repo: "https://github.com/vecto | |||||
| # - https://github.com/vector-im/element-web/issues/19544 | # - https://github.com/vector-im/element-web/issues/19544 | ||||
| matrix_client_element_container_image_self_build_low_memory_system_patch_enabled: "{{ ansible_memtotal_mb < 4096 }}" | matrix_client_element_container_image_self_build_low_memory_system_patch_enabled: "{{ ansible_memtotal_mb < 4096 }}" | ||||
| matrix_client_element_version: v1.11.36 | |||||
| matrix_client_element_version: v1.11.39 | |||||
| matrix_client_element_docker_image: "{{ matrix_client_element_docker_image_name_prefix }}vectorim/element-web:{{ matrix_client_element_version }}" | matrix_client_element_docker_image: "{{ matrix_client_element_docker_image_name_prefix }}vectorim/element-web:{{ matrix_client_element_version }}" | ||||
| matrix_client_element_docker_image_name_prefix: "{{ 'localhost/' if matrix_client_element_container_image_self_build else matrix_container_global_registry_prefix }}" | matrix_client_element_docker_image_name_prefix: "{{ 'localhost/' if matrix_client_element_container_image_self_build else matrix_container_global_registry_prefix }}" | ||||
| matrix_client_element_docker_image_force_pull: "{{ matrix_client_element_docker_image.endswith(':latest') }}" | matrix_client_element_docker_image_force_pull: "{{ matrix_client_element_docker_image.endswith(':latest') }}" | ||||
| @@ -149,17 +149,17 @@ matrix_client_element_integrations_ui_url: "https://scalar.vector.im/" | |||||
| matrix_client_element_integrations_rest_url: "https://scalar.vector.im/api" | matrix_client_element_integrations_rest_url: "https://scalar.vector.im/api" | ||||
| matrix_client_element_integrations_widgets_urls: ["https://scalar.vector.im/api"] | matrix_client_element_integrations_widgets_urls: ["https://scalar.vector.im/api"] | ||||
| matrix_client_element_integrations_jitsi_widget_url: "https://scalar.vector.im/api/widgets/jitsi.html" | matrix_client_element_integrations_jitsi_widget_url: "https://scalar.vector.im/api/widgets/jitsi.html" | ||||
| matrix_client_element_permalinkPrefix: "https://matrix.to" # noqa var-naming | |||||
| matrix_client_element_permalink_prefix: "https://matrix.to" # noqa var-naming | |||||
| matrix_client_element_bug_report_endpoint_url: "https://element.io/bugreports/submit" | matrix_client_element_bug_report_endpoint_url: "https://element.io/bugreports/submit" | ||||
| matrix_client_element_showLabsSettings: true # noqa var-naming | |||||
| matrix_client_element_show_lab_settings: true # noqa var-naming | |||||
| # Element public room directory server(s) | # Element public room directory server(s) | ||||
| matrix_client_element_roomdir_servers: ['matrix.org'] | |||||
| matrix_client_element_room_directory_servers: ['matrix.org'] | |||||
| matrix_client_element_welcome_user_id: ~ | matrix_client_element_welcome_user_id: ~ | ||||
| # Branding of Element | # Branding of Element | ||||
| matrix_client_element_brand: "Element" | matrix_client_element_brand: "Element" | ||||
| # URL to Logo on welcome page | # URL to Logo on welcome page | ||||
| matrix_client_element_welcome_logo: "welcome/images/logo.svg" | |||||
| matrix_client_element_welcome_logo: "themes/element/img/logos/element-logo.svg" | |||||
| # URL of link on welcome image | # URL of link on welcome image | ||||
| matrix_client_element_welcome_logo_link: "https://element.io" | matrix_client_element_welcome_logo_link: "https://element.io" | ||||
| @@ -169,13 +169,13 @@ matrix_client_element_welcome_text: "_t('Decentralised, encrypted chat & col | |||||
| # Links, shown in footer of welcome page: | # Links, shown in footer of welcome page: | ||||
| # [{"text": "Link text", "url": "https://link.target"}, {"text": "Other link"}] | # [{"text": "Link text", "url": "https://link.target"}, {"text": "Other link"}] | ||||
| matrix_client_element_branding_authFooterLinks: ~ # noqa var-naming | |||||
| matrix_client_element_branding_auth_footer_links: ~ # noqa var-naming | |||||
| # URL to image, shown during Login | # URL to image, shown during Login | ||||
| matrix_client_element_branding_authHeaderLogoUrl: "{{ matrix_client_element_welcome_logo }}" # noqa var-naming | |||||
| matrix_client_element_branding_auth_header_logo_url: "{{ matrix_client_element_welcome_logo }}" # noqa var-naming | |||||
| # URL to Wallpaper, shown in background of welcome page | # URL to Wallpaper, shown in background of welcome page | ||||
| matrix_client_element_branding_welcomeBackgroundUrl: ~ # noqa var-naming | |||||
| matrix_client_element_branding_welcome_background_url: ~ # noqa var-naming | |||||
| matrix_client_element_page_template_welcome_path: "{{ role_path }}/templates/welcome.html.j2" | matrix_client_element_page_template_welcome_path: "{{ role_path }}/templates/welcome.html.j2" | ||||
| @@ -183,7 +183,7 @@ matrix_client_element_page_template_welcome_path: "{{ role_path }}/templates/wel | |||||
| # point this to a `home.html` template file on your local filesystem. | # point this to a `home.html` template file on your local filesystem. | ||||
| matrix_client_element_embedded_pages_home_path: ~ | matrix_client_element_embedded_pages_home_path: ~ | ||||
| matrix_client_element_jitsi_preferredDomain: '' # noqa var-naming | |||||
| matrix_client_element_jitsi_preferred_domain: '' # noqa var-naming | |||||
| # Controls whether the self-check feature should validate SSL certificates. | # Controls whether the self-check feature should validate SSL certificates. | ||||
| matrix_client_element_self_check_validate_certificates: true | matrix_client_element_self_check_validate_certificates: true | ||||
| @@ -207,14 +207,14 @@ matrix_client_element_themes_repository_version: master | |||||
| # Controls the default theme | # Controls the default theme | ||||
| matrix_client_element_default_theme: 'light' | matrix_client_element_default_theme: 'light' | ||||
| # Controls the `settingsDefault.custom_themes` setting of the Element configuration. | |||||
| # Controls the `setting_defaults.custom_themes` setting of the Element configuration. | |||||
| # You can use this setting to define custom themes. | # You can use this setting to define custom themes. | ||||
| # | # | ||||
| # Also, look at `matrix_client_element_themes_enabled` for a way to pull in a bunch of custom themes automatically. | # Also, look at `matrix_client_element_themes_enabled` for a way to pull in a bunch of custom themes automatically. | ||||
| # If you define your own themes here and set `matrix_client_element_themes_enabled: true`, your themes will be preserved as well. | # If you define your own themes here and set `matrix_client_element_themes_enabled: true`, your themes will be preserved as well. | ||||
| # | # | ||||
| # Note that for a custom theme to work well, all Element instances that you use must have the same theme installed. | # Note that for a custom theme to work well, all Element instances that you use must have the same theme installed. | ||||
| matrix_client_element_settingDefaults_custom_themes: [] # noqa var-naming | |||||
| matrix_client_element_setting_defaults_custom_themes: [] # noqa var-naming | |||||
| # Default Element configuration template which covers the generic use case. | # Default Element configuration template which covers the generic use case. | ||||
| # You can customize it by controlling the various variables inside it. | # You can customize it by controlling the various variables inside it. | ||||
| @@ -30,7 +30,7 @@ | |||||
| - name: Load Element theme | - name: Load Element theme | ||||
| ansible.builtin.set_fact: | ansible.builtin.set_fact: | ||||
| matrix_client_element_settingDefaults_custom_themes: "{{ matrix_client_element_settingDefaults_custom_themes + [item['content'] | b64decode | from_json] }}" # noqa var-naming | |||||
| matrix_client_element_setting_defaults_custom_themes: "{{ matrix_client_element_setting_defaults_custom_themes + [item['content'] | b64decode | from_json] }}" # noqa var-naming | |||||
| with_items: "{{ matrix_client_element_theme_file_contents.results }}" | with_items: "{{ matrix_client_element_theme_file_contents.results }}" | ||||
| # | # | ||||
| @@ -27,6 +27,22 @@ | |||||
| with_items: | with_items: | ||||
| - {'old': 'matrix_riot_web_.*', 'new': 'matrix_client_element_.*'} | - {'old': 'matrix_riot_web_.*', 'new': 'matrix_client_element_.*'} | ||||
| - name: (Deprecation) Catch and report renamed element-web settings | |||||
| ansible.builtin.fail: | |||||
| msg: >- | |||||
| Your configuration contains a variable, which now has a different name. | |||||
| Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). | |||||
| when: "item.old in vars" | |||||
| with_items: | |||||
| - {'old': 'matrix_client_element_showLabsSettings', 'new': 'matrix_client_element_show_lab_settings'} | |||||
| - {'old': 'matrix_client_element_permalinkPrefix', 'new': 'matrix_client_element_permalink_prefix'} | |||||
| - {'old': 'matrix_client_element_roomdir_servers', 'new': 'matrix_client_element_room_directory_servers'} | |||||
| - {'old': 'matrix_client_element_settingDefaults_custom_themes', 'new': 'matrix_client_element_setting_defaults_custom_themes'} | |||||
| - {'old': 'matrix_client_element_branding_authFooterLinks', 'new': 'matrix_client_element_branding_auth_footer_links'} | |||||
| - {'old': 'matrix_client_element_branding_authHeaderLogoUrl', 'new': 'matrix_client_element_branding_auth_header_logo_url'} | |||||
| - {'old': 'matrix_client_element_branding_welcomeBackgroundUrl', 'new': 'matrix_client_element_branding_welcome_background_url'} | |||||
| - {'old': 'matrix_client_element_jitsi_preferredDomain', 'new': 'matrix_client_element_jitsi_preferred_domain'} | |||||
| - when: matrix_client_element_container_labels_traefik_enabled | bool | - when: matrix_client_element_container_labels_traefik_enabled | bool | ||||
| block: | block: | ||||
| - name: Fail if required matrix-client-element Traefik settings not defined | - name: Fail if required matrix-client-element Traefik settings not defined | ||||
| @@ -8,12 +8,12 @@ | |||||
| "base_url": {{ matrix_client_element_default_is_url | string | to_json }} | "base_url": {{ matrix_client_element_default_is_url | string | to_json }} | ||||
| } | } | ||||
| }, | }, | ||||
| "settingDefaults": { | |||||
| "custom_themes": {{ matrix_client_element_settingDefaults_custom_themes | to_json }} | |||||
| "setting_defaults": { | |||||
| "custom_themes": {{ matrix_client_element_setting_defaults_custom_themes | to_json }} | |||||
| }, | }, | ||||
| "default_theme": {{ matrix_client_element_default_theme | string | to_json }}, | "default_theme": {{ matrix_client_element_default_theme | string | to_json }}, | ||||
| "default_country_code": {{ matrix_client_element_default_country_code | string | to_json }}, | "default_country_code": {{ matrix_client_element_default_country_code | string | to_json }}, | ||||
| "permalinkPrefix": {{ matrix_client_element_permalinkPrefix | string | to_json }}, | |||||
| "permalink_prefix": {{ matrix_client_element_permalink_prefix | string | to_json }}, | |||||
| "disable_custom_urls": {{ matrix_client_element_disable_custom_urls | to_json }}, | "disable_custom_urls": {{ matrix_client_element_disable_custom_urls | to_json }}, | ||||
| "disable_guests": {{ matrix_client_element_disable_guests | to_json }}, | "disable_guests": {{ matrix_client_element_disable_guests | to_json }}, | ||||
| "brand": {{ matrix_client_element_brand | to_json }}, | "brand": {{ matrix_client_element_brand | to_json }}, | ||||
| @@ -22,28 +22,28 @@ | |||||
| "integrations_widgets_urls": {{ matrix_client_element_integrations_widgets_urls | to_json }}, | "integrations_widgets_urls": {{ matrix_client_element_integrations_widgets_urls | to_json }}, | ||||
| "integrations_jitsi_widget_url": {{ matrix_client_element_integrations_jitsi_widget_url | string | to_json }}, | "integrations_jitsi_widget_url": {{ matrix_client_element_integrations_jitsi_widget_url | string | to_json }}, | ||||
| "bug_report_endpoint_url": {{ matrix_client_element_bug_report_endpoint_url | to_json }}, | "bug_report_endpoint_url": {{ matrix_client_element_bug_report_endpoint_url | to_json }}, | ||||
| "showLabsSettings": {{ matrix_client_element_showLabsSettings | to_json }}, | |||||
| "roomDirectory": { | |||||
| "servers": {{ matrix_client_element_roomdir_servers | to_json }} | |||||
| "show_labs_settings": {{ matrix_client_element_show_lab_settings | to_json }}, | |||||
| "room_directory": { | |||||
| "servers": {{ matrix_client_element_room_directory_servers | to_json }} | |||||
| }, | }, | ||||
| "welcomeUserId": {{ matrix_client_element_welcome_user_id | to_json }}, | |||||
| "welcome_user_id": {{ matrix_client_element_welcome_user_id | to_json }}, | |||||
| {% if matrix_client_element_enable_presence_by_hs_url is not none %} | {% if matrix_client_element_enable_presence_by_hs_url is not none %} | ||||
| "enable_presence_by_hs_url": {{ matrix_client_element_enable_presence_by_hs_url | to_json }}, | "enable_presence_by_hs_url": {{ matrix_client_element_enable_presence_by_hs_url | to_json }}, | ||||
| {% endif %} | {% endif %} | ||||
| "embeddedPages": { | |||||
| "embedded_pages": { | |||||
| "homeUrl": {{ matrix_client_element_embedded_pages_home_url | string | to_json }} | "homeUrl": {{ matrix_client_element_embedded_pages_home_url | string | to_json }} | ||||
| }, | }, | ||||
| {% if matrix_client_element_jitsi_preferredDomain %} | |||||
| {% if matrix_client_element_jitsi_preferred_domain %} | |||||
| "jitsi": { | "jitsi": { | ||||
| "preferredDomain": {{ matrix_client_element_jitsi_preferredDomain | to_json }} | |||||
| "preferred_domain": {{ matrix_client_element_jitsi_preferred_domain | to_json }} | |||||
| }, | }, | ||||
| {% endif %} | {% endif %} | ||||
| {% if matrix_client_element_location_sharing_enabled %} | {% if matrix_client_element_location_sharing_enabled %} | ||||
| "map_style_url": "https://{{ matrix_server_fqn_element }}/map_style.json", | "map_style_url": "https://{{ matrix_server_fqn_element }}/map_style.json", | ||||
| {% endif %} | {% endif %} | ||||
| "branding": { | "branding": { | ||||
| "authFooterLinks": {{ matrix_client_element_branding_authFooterLinks | to_json }}, | |||||
| "authHeaderLogoUrl": {{ matrix_client_element_branding_authHeaderLogoUrl | to_json }}, | |||||
| "welcomeBackgroundUrl": {{ matrix_client_element_branding_welcomeBackgroundUrl | to_json }} | |||||
| "auth_footer_links": {{ matrix_client_element_branding_auth_footer_links | to_json }}, | |||||
| "auth_header_logo_url": {{ matrix_client_element_branding_auth_header_logo_url | to_json }}, | |||||
| "welcome_background_url": {{ matrix_client_element_branding_welcome_background_url | to_json }} | |||||
| } | } | ||||
| } | } | ||||
| @@ -6,7 +6,7 @@ matrix_conduit_enabled: true | |||||
| matrix_conduit_docker_image: "{{ matrix_conduit_docker_image_name_prefix }}matrixconduit/matrix-conduit:{{ matrix_conduit_docker_image_tag }}" | matrix_conduit_docker_image: "{{ matrix_conduit_docker_image_name_prefix }}matrixconduit/matrix-conduit:{{ matrix_conduit_docker_image_tag }}" | ||||
| matrix_conduit_docker_image_name_prefix: "docker.io/" | matrix_conduit_docker_image_name_prefix: "docker.io/" | ||||
| matrix_conduit_docker_image_tag: "v0.5.0" | |||||
| matrix_conduit_docker_image_tag: "v0.6.0" | |||||
| matrix_conduit_docker_image_force_pull: "{{ matrix_conduit_docker_image.endswith(':latest') }}" | matrix_conduit_docker_image_force_pull: "{{ matrix_conduit_docker_image.endswith(':latest') }}" | ||||
| matrix_conduit_base_path: "{{ matrix_base_data_path }}/conduit" | matrix_conduit_base_path: "{{ matrix_base_data_path }}/conduit" | ||||
| @@ -7,7 +7,7 @@ matrix_dynamic_dns_enabled: true | |||||
| # The dynamic dns daemon interval | # The dynamic dns daemon interval | ||||
| matrix_dynamic_dns_daemon_interval: '300' | matrix_dynamic_dns_daemon_interval: '300' | ||||
| matrix_dynamic_dns_version: v3.10.0-ls126 | |||||
| matrix_dynamic_dns_version: v3.10.0-ls131 | |||||
| # The docker container to use when in mode | # The docker container to use when in mode | ||||
| matrix_dynamic_dns_docker_image: "{{ matrix_dynamic_dns_docker_image_name_prefix }}linuxserver/ddclient:{{ matrix_dynamic_dns_version }}" | matrix_dynamic_dns_docker_image: "{{ matrix_dynamic_dns_docker_image_name_prefix }}linuxserver/ddclient:{{ matrix_dynamic_dns_version }}" | ||||
| @@ -1,7 +1,7 @@ | |||||
| --- | --- | ||||
| # Project source code URL: https://github.com/nginx/nginx | # Project source code URL: https://github.com/nginx/nginx | ||||
| matrix_nginx_proxy_enabled: true | matrix_nginx_proxy_enabled: true | ||||
| matrix_nginx_proxy_version: 1.25.1-alpine | |||||
| matrix_nginx_proxy_version: 1.25.2-alpine | |||||
| # We use an official nginx image, which we fix-up to run unprivileged. | # We use an official nginx image, which we fix-up to run unprivileged. | ||||
| # An alternative would be an `nginxinc/nginx-unprivileged` image, but | # An alternative would be an `nginxinc/nginx-unprivileged` image, but | ||||
| @@ -4,7 +4,7 @@ | |||||
| matrix_sliding_sync_enabled: true | matrix_sliding_sync_enabled: true | ||||
| matrix_sliding_sync_version: v0.99.4 | |||||
| matrix_sliding_sync_version: v0.99.5 | |||||
| matrix_sliding_sync_scheme: https | matrix_sliding_sync_scheme: https | ||||
| @@ -25,7 +25,7 @@ | |||||
| matrix_synapse_reverse_proxy_companion_enabled: true | matrix_synapse_reverse_proxy_companion_enabled: true | ||||
| matrix_synapse_reverse_proxy_companion_version: 1.25.1-alpine | |||||
| matrix_synapse_reverse_proxy_companion_version: 1.25.2-alpine | |||||
| matrix_synapse_reverse_proxy_companion_base_path: "{{ matrix_synapse_base_path }}/reverse-proxy-companion" | matrix_synapse_reverse_proxy_companion_base_path: "{{ matrix_synapse_base_path }}/reverse-proxy-companion" | ||||
| matrix_synapse_reverse_proxy_companion_confd_path: "{{ matrix_synapse_reverse_proxy_companion_base_path }}/conf.d" | matrix_synapse_reverse_proxy_companion_confd_path: "{{ matrix_synapse_reverse_proxy_companion_base_path }}/conf.d" | ||||
| @@ -4,7 +4,7 @@ | |||||
| matrix_synapse_enabled: true | matrix_synapse_enabled: true | ||||
| matrix_synapse_version: v1.88.0 | |||||
| matrix_synapse_version: v1.90.0 | |||||
| matrix_synapse_username: '' | matrix_synapse_username: '' | ||||
| matrix_synapse_uid: '' | matrix_synapse_uid: '' | ||||
| @@ -4,6 +4,8 @@ | |||||
| - tags: | - tags: | ||||
| - setup-all | - setup-all | ||||
| - setup-synapse | - setup-synapse | ||||
| - install-all | |||||
| - install-synapse | |||||
| block: | block: | ||||
| - when: matrix_synapse_ext_encryption_disabler_enabled | bool | - when: matrix_synapse_ext_encryption_disabler_enabled | bool | ||||
| ansible.builtin.include_tasks: "{{ role_path }}/tasks/ext/encryption-disabler/setup_install.yml" | ansible.builtin.include_tasks: "{{ role_path }}/tasks/ext/encryption-disabler/setup_install.yml" | ||||
| @@ -12,6 +14,8 @@ | |||||
| - tags: | - tags: | ||||
| - setup-all | - setup-all | ||||
| - setup-synapse | - setup-synapse | ||||
| - install-all | |||||
| - install-synapse | |||||
| block: | block: | ||||
| - when: matrix_synapse_ext_password_provider_rest_auth_enabled | bool | - when: matrix_synapse_ext_password_provider_rest_auth_enabled | bool | ||||
| ansible.builtin.include_tasks: "{{ role_path }}/tasks/ext/rest-auth/setup_install.yml" | ansible.builtin.include_tasks: "{{ role_path }}/tasks/ext/rest-auth/setup_install.yml" | ||||
| @@ -20,6 +24,8 @@ | |||||
| - tags: | - tags: | ||||
| - setup-all | - setup-all | ||||
| - setup-synapse | - setup-synapse | ||||
| - install-all | |||||
| - install-synapse | |||||
| block: | block: | ||||
| - when: matrix_synapse_ext_password_provider_shared_secret_auth_enabled | bool | - when: matrix_synapse_ext_password_provider_shared_secret_auth_enabled | bool | ||||
| ansible.builtin.include_tasks: "{{ role_path }}/tasks/ext/shared-secret-auth/setup_install.yml" | ansible.builtin.include_tasks: "{{ role_path }}/tasks/ext/shared-secret-auth/setup_install.yml" | ||||
| @@ -28,6 +34,8 @@ | |||||
| - tags: | - tags: | ||||
| - setup-all | - setup-all | ||||
| - setup-synapse | - setup-synapse | ||||
| - install-all | |||||
| - install-synapse | |||||
| block: | block: | ||||
| - when: matrix_synapse_ext_password_provider_ldap_enabled | bool | - when: matrix_synapse_ext_password_provider_ldap_enabled | bool | ||||
| ansible.builtin.include_tasks: "{{ role_path }}/tasks/ext/ldap-auth/setup_install.yml" | ansible.builtin.include_tasks: "{{ role_path }}/tasks/ext/ldap-auth/setup_install.yml" | ||||
| @@ -36,6 +44,8 @@ | |||||
| - tags: | - tags: | ||||
| - setup-all | - setup-all | ||||
| - setup-synapse | - setup-synapse | ||||
| - install-all | |||||
| - install-synapse | |||||
| block: | block: | ||||
| - when: matrix_synapse_ext_spam_checker_synapse_simple_antispam_enabled | bool | - when: matrix_synapse_ext_spam_checker_synapse_simple_antispam_enabled | bool | ||||
| ansible.builtin.include_tasks: "{{ role_path }}/tasks/ext/synapse-simple-antispam/setup_install.yml" | ansible.builtin.include_tasks: "{{ role_path }}/tasks/ext/synapse-simple-antispam/setup_install.yml" | ||||
| @@ -44,6 +54,8 @@ | |||||
| - tags: | - tags: | ||||
| - setup-all | - setup-all | ||||
| - setup-synapse | - setup-synapse | ||||
| - install-all | |||||
| - install-synapse | |||||
| block: | block: | ||||
| - when: matrix_synapse_ext_spam_checker_mjolnir_antispam_enabled | bool | - when: matrix_synapse_ext_spam_checker_mjolnir_antispam_enabled | bool | ||||
| ansible.builtin.include_tasks: "{{ role_path }}/tasks/ext/mjolnir-antispam/setup_install.yml" | ansible.builtin.include_tasks: "{{ role_path }}/tasks/ext/mjolnir-antispam/setup_install.yml" | ||||
| @@ -52,6 +64,8 @@ | |||||
| - tags: | - tags: | ||||
| - setup-all | - setup-all | ||||
| - setup-synapse | - setup-synapse | ||||
| - install-all | |||||
| - install-synapse | |||||
| block: | block: | ||||
| - when: matrix_synapse_ext_synapse_s3_storage_provider_enabled | bool | - when: matrix_synapse_ext_synapse_s3_storage_provider_enabled | bool | ||||
| ansible.builtin.include_tasks: "{{ role_path }}/tasks/ext/s3-storage-provider/validate_config.yml" | ansible.builtin.include_tasks: "{{ role_path }}/tasks/ext/s3-storage-provider/validate_config.yml" | ||||
| @@ -26,6 +26,8 @@ | |||||
| - tags: | - tags: | ||||
| - setup-all | - setup-all | ||||
| - setup-synapse | - setup-synapse | ||||
| - install-all | |||||
| - install-synapse | |||||
| block: | block: | ||||
| - ansible.builtin.include_tasks: "{{ role_path }}/tasks/ext/setup_install.yml" | - ansible.builtin.include_tasks: "{{ role_path }}/tasks/ext/setup_install.yml" | ||||
| @@ -34,6 +36,8 @@ | |||||
| - tags: | - tags: | ||||
| - setup-all | - setup-all | ||||
| - setup-synapse | - setup-synapse | ||||
| - install-all | |||||
| - install-synapse | |||||
| block: | block: | ||||
| - when: matrix_synapse_workers_enabled | bool | - when: matrix_synapse_workers_enabled | bool | ||||
| ansible.builtin.include_tasks: "{{ role_path }}/tasks/synapse/workers/setup_install.yml" | ansible.builtin.include_tasks: "{{ role_path }}/tasks/synapse/workers/setup_install.yml" | ||||
| @@ -41,12 +45,16 @@ | |||||
| - tags: | - tags: | ||||
| - setup-all | - setup-all | ||||
| - setup-synapse | - setup-synapse | ||||
| - install-all | |||||
| - install-synapse | |||||
| block: | block: | ||||
| - ansible.builtin.include_tasks: "{{ role_path }}/tasks/synapse/setup_install.yml" | - ansible.builtin.include_tasks: "{{ role_path }}/tasks/synapse/setup_install.yml" | ||||
| - tags: | - tags: | ||||
| - setup-all | - setup-all | ||||
| - setup-synapse | - setup-synapse | ||||
| - install-all | |||||
| - install-synapse | |||||
| block: | block: | ||||
| - when: matrix_s3_media_store_enabled | bool | - when: matrix_s3_media_store_enabled | bool | ||||
| ansible.builtin.include_tasks: "{{ role_path }}/tasks/goofys/setup_install.yml" | ansible.builtin.include_tasks: "{{ role_path }}/tasks/goofys/setup_install.yml" | ||||
| @@ -2351,7 +2351,7 @@ email: | |||||
| # must present a certificate that is valid for 'smtp_host'. If this option | # must present a certificate that is valid for 'smtp_host'. If this option | ||||
| # is set to false, TLS will not be used. | # is set to false, TLS will not be used. | ||||
| # | # | ||||
| #enable_tls: false | |||||
| enable_tls: {{ matrix_synapse_email_smtp_enable_tls|to_json }} | |||||
| # notif_from defines the "From" address to use when sending emails. | # notif_from defines the "From" address to use when sending emails. | ||||
| # It must be set if email sending is enabled. | # It must be set if email sending is enabled. | ||||
| @@ -5,6 +5,9 @@ matrix_synapse_federation_api_url_endpoint_public: "https://{{ matrix_server_fqn | |||||
| matrix_synapse_media_store_directory_name: "{{ matrix_synapse_media_store_path | basename }}" | matrix_synapse_media_store_directory_name: "{{ matrix_synapse_media_store_path | basename }}" | ||||
| # Optionally: `false` to fully disable tls on outbound smtp | |||||
| matrix_synapse_email_smtp_enable_tls: true | |||||
| # A Synapse generic worker can handle both federation and client-server API endpoints. | # A Synapse generic worker can handle both federation and client-server API endpoints. | ||||
| # We wish to split these, as we normally serve federation separately and don't want them mixed up. | # We wish to split these, as we normally serve federation separately and don't want them mixed up. | ||||
| # | # | ||||
| @@ -18,6 +18,14 @@ matrix_user_verification_service_docker_image_name_prefix: "{{ matrix_container_ | |||||
| matrix_user_verification_service_docker_image: "{{ matrix_user_verification_service_docker_image_name_prefix }}matrixdotorg/matrix-user-verification-service:{{ matrix_user_verification_service_version }}" | matrix_user_verification_service_docker_image: "{{ matrix_user_verification_service_docker_image_name_prefix }}matrixdotorg/matrix-user-verification-service:{{ matrix_user_verification_service_version }}" | ||||
| matrix_user_verification_service_docker_image_force_pull: "{{ matrix_user_verification_service_docker_image.endswith(':latest') }}" | matrix_user_verification_service_docker_image_force_pull: "{{ matrix_user_verification_service_docker_image.endswith(':latest') }}" | ||||
| # The base container network. It will be auto-created by this role if it doesn't exist already. | |||||
| matrix_user_verification_service_container_network: "{{ matrix_docker_network }}" | |||||
| # A list of additional container networks that the container would be connected to. | |||||
| # The role does not create these networks, so make sure they already exist. | |||||
| # Use this to expose this container to another reverse proxy, which runs in a different container network. | |||||
| matrix_user_verification_service_container_additional_networks: [] | |||||
| matrix_user_verification_service_container_name: "matrix-user-verification-service" | matrix_user_verification_service_container_name: "matrix-user-verification-service" | ||||
| # This will be set in group vars | # This will be set in group vars | ||||
| matrix_user_verification_service_container_http_host_bind_port: '' | matrix_user_verification_service_container_http_host_bind_port: '' | ||||
| @@ -30,6 +30,11 @@ | |||||
| group: "{{ matrix_user_groupname }}" | group: "{{ matrix_user_groupname }}" | ||||
| mode: 0644 | mode: 0644 | ||||
| - name: Ensure matrix-user-verification-service container network is created | |||||
| community.general.docker_network: | |||||
| name: "{{ matrix_user_verification_service_container_network }}" | |||||
| driver: bridge | |||||
| - name: Ensure matrix-user-verification-service.service installed | - name: Ensure matrix-user-verification-service.service installed | ||||
| ansible.builtin.template: | ansible.builtin.template: | ||||
| src: "{{ role_path }}/templates/systemd/matrix-user-verification-service.service.j2" | src: "{{ role_path }}/templates/systemd/matrix-user-verification-service.service.j2" | ||||
| @@ -17,12 +17,14 @@ ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_s | |||||
| ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm {{ matrix_user_verification_service_container_name }} 2>/dev/null' | ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm {{ matrix_user_verification_service_container_name }} 2>/dev/null' | ||||
| ExecStart={{ devture_systemd_docker_base_host_command_docker }} run --rm --name {{ matrix_user_verification_service_container_name }}\ | |||||
| ExecStart={{ devture_systemd_docker_base_host_command_docker }} run \ | |||||
| --rm \ | |||||
| --name={{ matrix_user_verification_service_container_name }} \ | |||||
| --log-driver=none \ | --log-driver=none \ | ||||
| --user={{ matrix_user_uid }}:{{ matrix_user_gid }} \ | --user={{ matrix_user_uid }}:{{ matrix_user_gid }} \ | ||||
| --cap-drop=ALL \ | --cap-drop=ALL \ | ||||
| --read-only \ | --read-only \ | ||||
| --network={{ matrix_docker_network }} \ | |||||
| --network={{ matrix_user_verification_service_container_network }} \ | |||||
| {% if matrix_user_verification_service_container_http_host_bind_port %} | {% if matrix_user_verification_service_container_http_host_bind_port %} | ||||
| -p {{ matrix_user_verification_service_container_http_host_bind_port }}:3000 \ | -p {{ matrix_user_verification_service_container_http_host_bind_port }}:3000 \ | ||||
| {% endif %} | {% endif %} | ||||
| @@ -32,6 +34,10 @@ ExecStart={{ devture_systemd_docker_base_host_command_docker }} run --rm --name | |||||
| {% endfor %} | {% endfor %} | ||||
| {{ matrix_user_verification_service_docker_image }} | {{ matrix_user_verification_service_docker_image }} | ||||
| {% for network in matrix_user_verification_service_container_additional_networks %} | |||||
| ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network connect {{ network }} {{ matrix_user_verification_service_container_name }} | |||||
| {% endfor %} | |||||
| ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} kill {{ matrix_user_verification_service_container_name }} 2>/dev/null' | ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} kill {{ matrix_user_verification_service_container_name }} 2>/dev/null' | ||||
| ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm {{ matrix_user_verification_service_container_name }} 2>/dev/null' | ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm {{ matrix_user_verification_service_container_name }} 2>/dev/null' | ||||
| Restart=always | Restart=always | ||||