mirror of
https://github.com/spantaleev/matrix-docker-ansible-deploy.git
synced 2025-06-26 03:07:51 +02:00
Merge branch 'spantaleev:master' into element-call-integration
This commit is contained in:
@ -6,7 +6,7 @@
|
||||
matrix_alertmanager_receiver_enabled: true
|
||||
|
||||
# renovate: datasource=docker depName=docker.io/metio/matrix-alertmanager-receiver
|
||||
matrix_alertmanager_receiver_version: 2024.9.18
|
||||
matrix_alertmanager_receiver_version: 2024.10.2
|
||||
|
||||
matrix_alertmanager_receiver_scheme: https
|
||||
|
||||
|
@ -216,15 +216,15 @@ matrix_metrics_exposure_http_basic_auth_users: ''
|
||||
#
|
||||
# - `playbook-managed-traefik`
|
||||
# - the playbook will run a managed Traefik instance (matrix-traefik)
|
||||
# - Traefik will do SSL termination, unless you disable it (e.g. `devture_traefik_config_entrypoint_web_secure_enabled: false`)
|
||||
# - if SSL termination is enabled (as it is by default), you need to populate: `devture_traefik_config_certificatesResolvers_acme_email`
|
||||
# - Traefik will do SSL termination, unless you disable it (e.g. `traefik_config_entrypoint_web_secure_enabled: false`)
|
||||
# - if SSL termination is enabled (as it is by default), you need to populate: `traefik_config_certificatesResolvers_acme_email`
|
||||
#
|
||||
# - `other-traefik-container`
|
||||
# - this playbook will not install Traefik
|
||||
# - nevertheless, the playbook expects that you would install Traefik yourself via other means
|
||||
# - you should make sure your Traefik configuration is compatible with what the playbook would have configured (web, web-secure, matrix-federation entrypoints, etc.)
|
||||
# - you need to set `matrix_playbook_reverse_proxyable_services_additional_network` to the name of your Traefik network
|
||||
# - Traefik certs dumper will be enabled by default (`devture_traefik_certs_dumper_enabled`). You need to point it to your Traefik's SSL certificates (`devture_traefik_certs_dumper_ssl_dir_path`)
|
||||
# - Traefik certs dumper will be enabled by default (`traefik_certs_dumper_enabled`). You need to point it to your Traefik's SSL certificates (`traefik_certs_dumper_ssl_dir_path`)
|
||||
#
|
||||
# - `none`
|
||||
# - no reverse-proxy will be installed
|
||||
@ -244,7 +244,7 @@ matrix_playbook_reverse_proxyable_services_additional_network: "{{ matrix_playbo
|
||||
|
||||
# Controls if various services think if SSL is enabled or not.
|
||||
# Disabling this does not actually disable Treafik's web-secure entrypoint and TLS termination settings.
|
||||
# For that, you'd need to use another variable (`devture_traefik_config_entrypoint_web_secure_enabled`).
|
||||
# For that, you'd need to use another variable (`traefik_config_entrypoint_web_secure_enabled`).
|
||||
# This variable merely serves as an indicator if SSL is used or not.
|
||||
matrix_playbook_ssl_enabled: true
|
||||
|
||||
@ -302,7 +302,7 @@ matrix_playbook_public_matrix_federation_api_traefik_entrypoint_definition:
|
||||
#
|
||||
# Routers enabled on this entrypoint should use Traefik rules which do NOT do Host-matching (Host/HostRegexp),
|
||||
# because addon services (e.g. bridges, bots) cannot properly pass a `Host` HTTP header when making
|
||||
# requests to the endpoint's address (e.g. `http://devture-traefik:8008/`).
|
||||
# requests to the endpoint's address (e.g. `http://matrix-traefik:8008/`).
|
||||
# This entrypoint only aims to handle a single "virtual host" - one dealing with the homeserver's Client-Server API.
|
||||
matrix_playbook_internal_matrix_client_api_traefik_entrypoint_enabled: "{{ matrix_playbook_reverse_proxy_type in ['playbook-managed-traefik', 'other-traefik-container'] }}"
|
||||
matrix_playbook_internal_matrix_client_api_traefik_entrypoint_name: matrix-internal-matrix-client-api
|
||||
|
@ -11,7 +11,7 @@ matrix_bot_baibot_container_repo_version: "{{ 'main' if matrix_bot_baibot_versio
|
||||
matrix_bot_baibot_container_src_files_path: "{{ matrix_base_data_path }}/baibot/container-src"
|
||||
|
||||
# renovate: datasource=docker depName=ghcr.io/etkecc/baibot
|
||||
matrix_bot_baibot_version: v1.1.1
|
||||
matrix_bot_baibot_version: v1.2.0
|
||||
matrix_bot_baibot_container_image: "{{ matrix_bot_baibot_container_image_name_prefix }}etkecc/baibot:{{ matrix_bot_baibot_version }}"
|
||||
matrix_bot_baibot_container_image_name_prefix: "{{ 'localhost/' if matrix_bot_baibot_container_image_self_build else 'ghcr.io/' }}"
|
||||
matrix_bot_baibot_container_image_force_pull: "{{ matrix_bot_baibot_container_image.endswith(':latest') }}"
|
||||
|
@ -15,7 +15,7 @@
|
||||
name: galaxy/com.devture.ansible.role.postgres
|
||||
tasks_from: migrate_db_to_postgres
|
||||
vars:
|
||||
devture_postgres_db_migration_request:
|
||||
postgres_db_migration_request:
|
||||
src: "{{ matrix_bot_buscarron_sqlite_database_path_local }}"
|
||||
dst: "{{ matrix_bot_buscarron_database_connection_string }}"
|
||||
caller: "{{ role_path | basename }}"
|
||||
|
@ -15,7 +15,7 @@
|
||||
name: galaxy/com.devture.ansible.role.postgres
|
||||
tasks_from: migrate_db_to_postgres
|
||||
vars:
|
||||
devture_postgres_db_migration_request:
|
||||
postgres_db_migration_request:
|
||||
src: "{{ matrix_bot_honoroit_sqlite_database_path_local }}"
|
||||
dst: "{{ matrix_bot_honoroit_database_connection_string }}"
|
||||
caller: "{{ role_path | basename }}"
|
||||
|
@ -16,7 +16,7 @@
|
||||
name: galaxy/com.devture.ansible.role.postgres
|
||||
tasks_from: migrate_db_to_postgres
|
||||
vars:
|
||||
devture_postgres_db_migration_request:
|
||||
postgres_db_migration_request:
|
||||
src: "{{ matrix_bot_matrix_reminder_bot_sqlite_database_path_local }}"
|
||||
dst: "{{ matrix_bot_matrix_reminder_bot_database_connection_string }}"
|
||||
caller: "{{ role_path | basename }}"
|
||||
|
@ -5,7 +5,7 @@
|
||||
matrix_bot_mjolnir_enabled: true
|
||||
|
||||
# renovate: datasource=docker depName=matrixdotorg/mjolnir
|
||||
matrix_bot_mjolnir_version: "v1.7.0"
|
||||
matrix_bot_mjolnir_version: "v1.8.1"
|
||||
|
||||
matrix_bot_mjolnir_container_image_self_build: false
|
||||
matrix_bot_mjolnir_container_image_self_build_repo: "https://github.com/matrix-org/mjolnir.git"
|
||||
|
@ -12,7 +12,7 @@
|
||||
name: galaxy/com.devture.ansible.role.postgres
|
||||
tasks_from: migrate_db_to_postgres
|
||||
vars:
|
||||
devture_postgres_db_migration_request:
|
||||
postgres_db_migration_request:
|
||||
src: "{{ matrix_bot_postmoogle_sqlite_database_path_local }}"
|
||||
dst: "{{ matrix_bot_postmoogle_database_connection_string }}"
|
||||
caller: "{{ role_path | basename }}"
|
||||
|
@ -16,7 +16,7 @@
|
||||
name: galaxy/com.devture.ansible.role.postgres
|
||||
tasks_from: migrate_db_to_postgres
|
||||
vars:
|
||||
devture_postgres_db_migration_request:
|
||||
postgres_db_migration_request:
|
||||
src: "{{ matrix_appservice_discord_sqlite_database_path_local }}"
|
||||
dst: "{{ matrix_appservice_discord_database_connString }}"
|
||||
caller: "{{ role_path | basename }}"
|
||||
|
@ -2,8 +2,8 @@
|
||||
|
||||
- name: Fail if Postgres not enabled
|
||||
ansible.builtin.fail:
|
||||
msg: "Postgres via the com.devture.ansible.role.postgres role is not enabled (`devture_postgres_enabled`). Cannot migrate."
|
||||
when: "not devture_postgres_enabled | bool"
|
||||
msg: "Postgres via the com.devture.ansible.role.postgres role is not enabled (`postgres_enabled`). Cannot migrate."
|
||||
when: "not postgres_enabled | bool"
|
||||
|
||||
# Defaults
|
||||
|
||||
@ -16,7 +16,7 @@
|
||||
|
||||
- name: Ensure Postgres is started
|
||||
ansible.builtin.service:
|
||||
name: "{{ devture_postgres_identifier }}"
|
||||
name: "{{ postgres_identifier }}"
|
||||
state: started
|
||||
daemon_reload: true
|
||||
register: postgres_service_start_result
|
||||
|
@ -2,8 +2,8 @@
|
||||
|
||||
- name: Fail if Postgres not enabled
|
||||
ansible.builtin.fail:
|
||||
msg: "Postgres via the com.devture.ansible.role.postgres role is not enabled (`devture_postgres_enabled`). Cannot migrate."
|
||||
when: "not devture_postgres_enabled | bool"
|
||||
msg: "Postgres via the com.devture.ansible.role.postgres role is not enabled (`postgres_enabled`). Cannot migrate."
|
||||
when: "not postgres_enabled | bool"
|
||||
|
||||
# Defaults
|
||||
|
||||
@ -16,7 +16,7 @@
|
||||
|
||||
- name: Ensure Postgres is started
|
||||
ansible.builtin.service:
|
||||
name: "{{ devture_postgres_identifier }}"
|
||||
name: "{{ postgres_identifier }}"
|
||||
state: started
|
||||
daemon_reload: true
|
||||
register: postgres_service_start_result
|
||||
|
@ -16,7 +16,7 @@
|
||||
name: galaxy/com.devture.ansible.role.postgres
|
||||
tasks_from: migrate_db_to_postgres
|
||||
vars:
|
||||
devture_postgres_db_migration_request:
|
||||
postgres_db_migration_request:
|
||||
src: "{{ matrix_go_skype_bridge_sqlite_database_path_local }}"
|
||||
dst: "{{ matrix_go_skype_bridge_database_connection_string }}"
|
||||
caller: "{{ role_path | basename }}"
|
||||
|
@ -153,6 +153,7 @@ matrix_hookshot_jira_oauth_redirect_uri: "{{ matrix_hookshot_urlprefix }}{{ matr
|
||||
|
||||
# No need to change these
|
||||
matrix_hookshot_generic_enabled: true
|
||||
matrix_hookshot_generic_outbound: true
|
||||
matrix_hookshot_generic_enableHttpGet: false # noqa var-naming
|
||||
# Default value of matrix_hookshot_generic_endpoint: "/hookshot/webhooks"
|
||||
matrix_hookshot_generic_endpoint: "{{ matrix_hookshot_webhook_endpoint }}/webhook"
|
||||
|
@ -74,6 +74,7 @@ generic:
|
||||
# (Optional) Support for generic webhook events. `allowJsTransformationFunctions` will allow users to write short transformation snippets in code, and thus is unsafe in untrusted environments
|
||||
#
|
||||
enabled: {{ matrix_hookshot_generic_enabled | to_json }}
|
||||
outbound: {{ matrix_hookshot_generic_outbound | to_json }}
|
||||
enableHttpGet: {{ matrix_hookshot_generic_enableHttpGet | to_json }}
|
||||
urlPrefix: {{ matrix_hookshot_generic_urlPrefix | to_json }}
|
||||
userIdPrefix: {{ matrix_hookshot_generic_userIdPrefix | to_json }}
|
||||
|
@ -16,7 +16,7 @@
|
||||
name: galaxy/com.devture.ansible.role.postgres
|
||||
tasks_from: migrate_db_to_postgres
|
||||
vars:
|
||||
devture_postgres_db_migration_request:
|
||||
postgres_db_migration_request:
|
||||
src: "{{ matrix_mautrix_discord_sqlite_database_path_local }}"
|
||||
dst: "{{ matrix_mautrix_discord_database_connection_string }}"
|
||||
caller: "{{ role_path | basename }}"
|
||||
|
@ -16,7 +16,7 @@
|
||||
name: galaxy/com.devture.ansible.role.postgres
|
||||
tasks_from: migrate_db_to_postgres
|
||||
vars:
|
||||
devture_postgres_db_migration_request:
|
||||
postgres_db_migration_request:
|
||||
src: "{{ matrix_mautrix_facebook_sqlite_database_path_local }}"
|
||||
dst: "{{ matrix_mautrix_facebook_database_connection_string }}"
|
||||
caller: "{{ role_path | basename }}"
|
||||
|
@ -16,7 +16,7 @@
|
||||
name: galaxy/com.devture.ansible.role.postgres
|
||||
tasks_from: migrate_db_to_postgres
|
||||
vars:
|
||||
devture_postgres_db_migration_request:
|
||||
postgres_db_migration_request:
|
||||
src: "{{ matrix_mautrix_gmessages_sqlite_database_path_local }}"
|
||||
dst: "{{ matrix_mautrix_gmessages_database_connection_string }}"
|
||||
caller: "{{ role_path | basename }}"
|
||||
|
@ -16,7 +16,7 @@
|
||||
name: galaxy/com.devture.ansible.role.postgres
|
||||
tasks_from: migrate_db_to_postgres
|
||||
vars:
|
||||
devture_postgres_db_migration_request:
|
||||
postgres_db_migration_request:
|
||||
src: "{{ matrix_mautrix_googlechat_sqlite_database_path_local }}"
|
||||
dst: "{{ matrix_mautrix_googlechat_database_connection_string }}"
|
||||
caller: "{{ role_path | basename }}"
|
||||
|
@ -16,7 +16,7 @@
|
||||
name: galaxy/com.devture.ansible.role.postgres
|
||||
tasks_from: migrate_db_to_postgres
|
||||
vars:
|
||||
devture_postgres_db_migration_request:
|
||||
postgres_db_migration_request:
|
||||
src: "{{ matrix_mautrix_hangouts_sqlite_database_path_local }}"
|
||||
dst: "{{ matrix_mautrix_hangouts_database_connection_string }}"
|
||||
caller: "{{ role_path | basename }}"
|
||||
|
@ -16,7 +16,7 @@
|
||||
name: galaxy/com.devture.ansible.role.postgres
|
||||
tasks_from: migrate_db_to_postgres
|
||||
vars:
|
||||
devture_postgres_db_migration_request:
|
||||
postgres_db_migration_request:
|
||||
src: "{{ matrix_mautrix_meta_instagram_sqlite_database_path_local }}"
|
||||
dst: "{{ matrix_mautrix_meta_instagram_database_connection_string }}"
|
||||
caller: "{{ role_path | basename }}"
|
||||
|
@ -16,7 +16,7 @@
|
||||
name: galaxy/com.devture.ansible.role.postgres
|
||||
tasks_from: migrate_db_to_postgres
|
||||
vars:
|
||||
devture_postgres_db_migration_request:
|
||||
postgres_db_migration_request:
|
||||
src: "{{ matrix_mautrix_meta_messenger_sqlite_database_path_local }}"
|
||||
dst: "{{ matrix_mautrix_meta_messenger_database_connection_string }}"
|
||||
caller: "{{ role_path | basename }}"
|
||||
|
@ -16,7 +16,7 @@
|
||||
name: galaxy/com.devture.ansible.role.postgres
|
||||
tasks_from: migrate_db_to_postgres
|
||||
vars:
|
||||
devture_postgres_db_migration_request:
|
||||
postgres_db_migration_request:
|
||||
src: "{{ matrix_mautrix_signal_sqlite_database_path_local }}"
|
||||
dst: "{{ matrix_mautrix_signal_database_connection_string }}"
|
||||
caller: "{{ role_path | basename }}"
|
||||
|
@ -148,6 +148,9 @@ matrix_mautrix_slack_registration: "{{ matrix_mautrix_slack_registration_yaml |
|
||||
matrix_mautrix_slack_bridge_encryption_allow: "{{ matrix_bridges_encryption_enabled }}"
|
||||
matrix_mautrix_slack_bridge_encryption_default: "{{ matrix_bridges_encryption_default }}"
|
||||
matrix_mautrix_slack_bridge_encryption_key_sharing_allow: "{{ matrix_mautrix_slack_bridge_encryption_allow }}"
|
||||
# This pickle key value is backward-compatible with the old bridge.
|
||||
# See: https://github.com/mautrix/slack/releases/tag/v0.1.0
|
||||
matrix_mautrix_slack_bridge_encryption_pickle_key: maunium.net/go/mautrix-whatsapp
|
||||
|
||||
matrix_mautrix_slack_provisioning_shared_secret: ''
|
||||
matrix_mautrix_slack_public_media_signing_key: ''
|
||||
|
@ -16,7 +16,7 @@
|
||||
name: galaxy/com.devture.ansible.role.postgres
|
||||
tasks_from: migrate_db_to_postgres
|
||||
vars:
|
||||
devture_postgres_db_migration_request:
|
||||
postgres_db_migration_request:
|
||||
src: "{{ matrix_mautrix_slack_sqlite_database_path_local }}"
|
||||
dst: "{{ matrix_mautrix_slack_database_connection_string }}"
|
||||
caller: "{{ role_path | basename }}"
|
||||
|
@ -376,7 +376,7 @@ encryption:
|
||||
allow_key_sharing: {{ matrix_mautrix_slack_bridge_encryption_key_sharing_allow | to_json }}
|
||||
# Pickle key for encrypting encryption keys in the bridge database.
|
||||
# If set to generate, a random key will be generated.
|
||||
pickle_key: generate
|
||||
pickle_key: {{ matrix_mautrix_slack_bridge_encryption_pickle_key | to_json }}
|
||||
# Options for deleting megolm sessions from the bridge.
|
||||
delete_keys:
|
||||
# Beeper-specific: delete outbound sessions when hungryserv confirms
|
||||
|
@ -16,7 +16,7 @@
|
||||
name: galaxy/com.devture.ansible.role.postgres
|
||||
tasks_from: migrate_db_to_postgres
|
||||
vars:
|
||||
devture_postgres_db_migration_request:
|
||||
postgres_db_migration_request:
|
||||
src: "{{ matrix_mautrix_telegram_sqlite_database_path_local }}"
|
||||
dst: "{{ matrix_mautrix_telegram_database_connection_string }}"
|
||||
caller: "{{ role_path | basename }}"
|
||||
|
@ -16,7 +16,7 @@
|
||||
name: galaxy/com.devture.ansible.role.postgres
|
||||
tasks_from: migrate_db_to_postgres
|
||||
vars:
|
||||
devture_postgres_db_migration_request:
|
||||
postgres_db_migration_request:
|
||||
src: "{{ matrix_mautrix_whatsapp_sqlite_database_path_local }}"
|
||||
dst: "{{ matrix_mautrix_whatsapp_database_connection_string }}"
|
||||
caller: "{{ role_path | basename }}"
|
||||
|
@ -50,7 +50,7 @@
|
||||
name: galaxy/com.devture.ansible.role.postgres
|
||||
tasks_from: migrate_db_to_postgres
|
||||
vars:
|
||||
devture_postgres_db_migration_request:
|
||||
postgres_db_migration_request:
|
||||
src: "{{ matrix_mx_puppet_discord_sqlite_database_path_local }}"
|
||||
dst: "{{ matrix_mx_puppet_discord_database_connection_string }}"
|
||||
caller: "{{ role_path | basename }}"
|
||||
|
@ -51,7 +51,7 @@
|
||||
name: galaxy/com.devture.ansible.role.postgres
|
||||
tasks_from: migrate_db_to_postgres
|
||||
vars:
|
||||
devture_postgres_db_migration_request:
|
||||
postgres_db_migration_request:
|
||||
src: "{{ matrix_mx_puppet_groupme_sqlite_database_path_local }}"
|
||||
dst: "{{ matrix_mx_puppet_groupme_database_connection_string }}"
|
||||
caller: "{{ role_path | basename }}"
|
||||
|
@ -16,7 +16,7 @@
|
||||
name: galaxy/com.devture.ansible.role.postgres
|
||||
tasks_from: migrate_db_to_postgres
|
||||
vars:
|
||||
devture_postgres_db_migration_request:
|
||||
postgres_db_migration_request:
|
||||
src: "{{ matrix_mx_puppet_instagram_sqlite_database_path_local }}"
|
||||
dst: "{{ matrix_mx_puppet_instagram_database_connection_string }}"
|
||||
caller: "{{ role_path | basename }}"
|
||||
|
@ -44,7 +44,7 @@
|
||||
name: galaxy/com.devture.ansible.role.postgres
|
||||
tasks_from: migrate_db_to_postgres
|
||||
vars:
|
||||
devture_postgres_db_migration_request:
|
||||
postgres_db_migration_request:
|
||||
src: "{{ matrix_mx_puppet_slack_sqlite_database_path_local }}"
|
||||
dst: "{{ matrix_mx_puppet_slack_database_connection_string }}"
|
||||
caller: "{{ role_path | basename }}"
|
||||
|
@ -51,7 +51,7 @@
|
||||
name: galaxy/com.devture.ansible.role.postgres
|
||||
tasks_from: migrate_db_to_postgres
|
||||
vars:
|
||||
devture_postgres_db_migration_request:
|
||||
postgres_db_migration_request:
|
||||
src: "{{ matrix_mx_puppet_steam_sqlite_database_path_local }}"
|
||||
dst: "{{ matrix_mx_puppet_steam_database_connection_string }}"
|
||||
caller: "{{ role_path | basename }}"
|
||||
|
@ -51,7 +51,7 @@
|
||||
name: galaxy/com.devture.ansible.role.postgres
|
||||
tasks_from: migrate_db_to_postgres
|
||||
vars:
|
||||
devture_postgres_db_migration_request:
|
||||
postgres_db_migration_request:
|
||||
src: "{{ matrix_mx_puppet_twitter_sqlite_database_path_local }}"
|
||||
dst: "{{ matrix_mx_puppet_twitter_database_connection_string }}"
|
||||
caller: "{{ role_path | basename }}"
|
||||
|
@ -11,7 +11,7 @@ matrix_client_element_container_image_self_build_repo: "https://github.com/eleme
|
||||
matrix_client_element_container_image_self_build_low_memory_system_patch_enabled: "{{ ansible_memtotal_mb < 4096 }}"
|
||||
|
||||
# renovate: datasource=docker depName=vectorim/element-web
|
||||
matrix_client_element_version: v1.11.78
|
||||
matrix_client_element_version: v1.11.79
|
||||
|
||||
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 }}"
|
||||
|
@ -16,7 +16,7 @@ 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 --time={{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-dendrite 2>/dev/null || true'
|
||||
ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-dendrite 2>/dev/null || true'
|
||||
|
||||
{% if (devture_postgres_identifier + '.service') in matrix_dendrite_systemd_required_services_list %}
|
||||
{% if (postgres_identifier + '.service') in matrix_dendrite_systemd_required_services_list %}
|
||||
# Dendrite is too quick to start in relation to its Postgres dependency.
|
||||
# Delay Dendrite startup to avoid failing with: "failed to connect to accounts db" ("pq: the database system is starting up").
|
||||
ExecStartPre={{ matrix_host_command_sleep }} 5
|
||||
|
@ -55,7 +55,7 @@
|
||||
name: galaxy/com.devture.ansible.role.postgres
|
||||
tasks_from: migrate_db_to_postgres
|
||||
vars:
|
||||
devture_postgres_db_migration_request:
|
||||
postgres_db_migration_request:
|
||||
src: "{{ matrix_dimension_sqlite_database_path_local }}"
|
||||
dst: "{{ matrix_dimension_database_connection_string }}"
|
||||
caller: "{{ role_path | basename }}"
|
||||
|
@ -31,7 +31,7 @@
|
||||
name: galaxy/com.devture.ansible.role.postgres
|
||||
tasks_from: migrate_db_to_postgres
|
||||
vars:
|
||||
devture_postgres_db_migration_request:
|
||||
postgres_db_migration_request:
|
||||
src: "{{ matrix_ma1sd_sqlite_database_path_local }}"
|
||||
dst: "{{ matrix_ma1sd_database_connection_string }}"
|
||||
caller: "{{ role_path | basename }}"
|
||||
|
@ -16,7 +16,7 @@
|
||||
name: galaxy/com.devture.ansible.role.postgres
|
||||
tasks_from: migrate_db_to_postgres
|
||||
vars:
|
||||
devture_postgres_db_migration_request:
|
||||
postgres_db_migration_request:
|
||||
src: "{{ matrix_registration_sqlite_database_path_local }}"
|
||||
dst: "{{ matrix_registration_database_connection_string }}"
|
||||
caller: "{{ role_path | basename }}"
|
||||
|
@ -14,7 +14,7 @@ matrix_synapse_admin_container_image_self_build: false
|
||||
matrix_synapse_admin_container_image_self_build_repo: "https://github.com/etkecc/synapse-admin.git"
|
||||
|
||||
# renovate: datasource=docker depName=ghcr.io/etkecc/synapse-admin
|
||||
matrix_synapse_admin_version: v0.10.3-etke16
|
||||
matrix_synapse_admin_version: v0.10.3-etke17
|
||||
matrix_synapse_admin_docker_image: "{{ matrix_synapse_admin_docker_image_name_prefix }}etkecc/synapse-admin:{{ matrix_synapse_admin_version }}"
|
||||
matrix_synapse_admin_docker_image_name_prefix: "{{ 'localhost/' if matrix_synapse_admin_container_image_self_build else 'ghcr.io/' }}"
|
||||
matrix_synapse_admin_docker_image_force_pull: "{{ matrix_synapse_admin_docker_image.endswith(':latest') }}"
|
||||
@ -175,6 +175,9 @@ matrix_synapse_admin_configuration: "{{ matrix_synapse_admin_configuration_defau
|
||||
# restricts the homeserver(s), so that the user can no longer define a homeserver manually during login.
|
||||
matrix_synapse_admin_config_restrictBaseUrl: "{{ [matrix_homeserver_url] }}" # noqa var-naming
|
||||
|
||||
# Controls the supportURL configuration setting, which, if defined, replaces the default link to the Synapse Admin GitHub repository.
|
||||
matrix_synapse_admin_config_supportURL: '' # noqa var-naming
|
||||
|
||||
# Controls the asManagedUsers configuration setting (managed by playbook), which, if defined,
|
||||
# restricts modifications of the specified users (e.g., bridge-managed).
|
||||
# You should use JS regex syntax to match the user IDs.
|
||||
|
@ -1,4 +1,5 @@
|
||||
{
|
||||
"restrictBaseUrl": {{ matrix_synapse_admin_config_restrictBaseUrl | to_json }},
|
||||
"asManagedUsers": {{ matrix_synapse_admin_config_asManagedUsers | to_json }}
|
||||
"asManagedUsers": {{ matrix_synapse_admin_config_asManagedUsers | to_json }},
|
||||
"supportURL": {{ matrix_synapse_admin_config_supportURL | to_json }},
|
||||
}
|
||||
|
@ -16,7 +16,7 @@ matrix_synapse_enabled: true
|
||||
matrix_synapse_github_org_and_repo: element-hq/synapse
|
||||
|
||||
# renovate: datasource=docker depName=ghcr.io/element-hq/synapse
|
||||
matrix_synapse_version: v1.115.0
|
||||
matrix_synapse_version: v1.116.0
|
||||
|
||||
matrix_synapse_username: ''
|
||||
matrix_synapse_uid: ''
|
||||
|
@ -9,7 +9,7 @@
|
||||
{{ devture_systemd_docker_base_host_command_docker }} run --rm --name matrix-rust-synapse-compress-state-compress-room
|
||||
--user={{ matrix_synapse_uid }}:{{ matrix_synapse_gid }}
|
||||
--cap-drop=ALL
|
||||
--network={{ devture_postgres_container_network }}
|
||||
--network={{ postgres_container_network }}
|
||||
--mount type=bind,src={{ matrix_synapse_rust_synapse_compress_state_base_path }},dst=/work
|
||||
{{ matrix_synapse_rust_synapse_compress_state_docker_image }}
|
||||
{{ matrix_synapse_rust_synapse_compress_state_synapse_compress_state_in_container_path }} -t -o /work/state-compressor.sql
|
||||
@ -31,15 +31,15 @@
|
||||
ansible.builtin.set_fact:
|
||||
matrix_synapse_rust_synapse_compress_state_psql_import_command: >-
|
||||
{{ devture_systemd_docker_base_host_command_docker }} run --rm --name matrix-rust-synapse-compress-state-psql-import
|
||||
--user={{ devture_postgres_uid }}:{{ devture_postgres_gid }}
|
||||
--user={{ postgres_uid }}:{{ postgres_gid }}
|
||||
--cap-drop=ALL
|
||||
--network={{ devture_postgres_container_network }}
|
||||
--env-file={{ devture_postgres_base_path }}/env-postgres-psql
|
||||
--network={{ postgres_container_network }}
|
||||
--env-file={{ postgres_base_path }}/env-postgres-psql
|
||||
--mount type=bind,src={{ matrix_synapse_rust_synapse_compress_state_base_path }},dst=/work,ro
|
||||
--entrypoint=/bin/sh
|
||||
{{ devture_postgres_container_image_latest }}
|
||||
{{ postgres_container_image_latest }}
|
||||
-c "cat /work/state-compressor.sql |
|
||||
psql -v ON_ERROR_STOP=1 -h {{ devture_postgres_connection_hostname }} -d {{ matrix_synapse_database_database }}"
|
||||
psql -v ON_ERROR_STOP=1 -h {{ postgres_connection_hostname }} -d {{ matrix_synapse_database_database }}"
|
||||
|
||||
- name: Import compression SQL into Postgres
|
||||
ansible.builtin.command: "{{ matrix_synapse_rust_synapse_compress_state_psql_import_command }}"
|
||||
|
@ -3,8 +3,8 @@
|
||||
|
||||
- name: Fail if Postgres not enabled
|
||||
ansible.builtin.fail:
|
||||
msg: "Postgres via the com.devture.ansible.role.postgres role is not enabled (`devture_postgres_enabled`). Cannot use rust-synapse-compress-state."
|
||||
when: "not devture_postgres_enabled | bool"
|
||||
msg: "Postgres via the com.devture.ansible.role.postgres role is not enabled (`postgres_enabled`). Cannot use rust-synapse-compress-state."
|
||||
when: "not postgres_enabled | bool"
|
||||
|
||||
|
||||
# Defaults
|
||||
@ -57,7 +57,7 @@
|
||||
- name: Generate rust-synapse-compress-state room find SQL command
|
||||
ansible.builtin.set_fact:
|
||||
matrix_synapse_rust_synapse_compress_state_find_rooms_command: >-
|
||||
{{ devture_postgres_bin_path }}/cli-non-interactive --dbname={{ matrix_synapse_database_database | quote }} -c "SELECT array_to_json(array_agg(row_to_json (r))) FROM (SELECT room_id, count(*) AS count FROM state_groups_state GROUP BY room_id HAVING count(*) > {{ matrix_synapse_rust_synapse_compress_state_min_state_groups_required }} ORDER BY count DESC) r;"
|
||||
{{ postgres_bin_path }}/cli-non-interactive --dbname={{ matrix_synapse_database_database | quote }} -c "SELECT array_to_json(array_agg(row_to_json (r))) FROM (SELECT room_id, count(*) AS count FROM state_groups_state GROUP BY room_id HAVING count(*) > {{ matrix_synapse_rust_synapse_compress_state_min_state_groups_required }} ORDER BY count DESC) r;"
|
||||
|
||||
- name: Find rooms eligible for compression with rust-synapse-compress-state
|
||||
ansible.builtin.command: "{{ matrix_synapse_rust_synapse_compress_state_find_rooms_command }}"
|
||||
|
@ -13,11 +13,11 @@
|
||||
- name: Fail if not using integrated Postgres database
|
||||
ansible.builtin.fail:
|
||||
msg: "This command is working only when Postgres is installed via the the integrated com.devture.ansible.role.postgres role"
|
||||
when: "not devture_postgres_enabled | bool"
|
||||
when: "not postgres_enabled | bool"
|
||||
|
||||
- name: Ensure Postgres is started
|
||||
ansible.builtin.service:
|
||||
name: "{{ devture_postgres_identifier }}"
|
||||
name: "{{ postgres_identifier }}"
|
||||
state: started
|
||||
daemon_reload: true
|
||||
register: postgres_start_result
|
||||
@ -42,7 +42,7 @@
|
||||
- name: Generate user password-change SQL command
|
||||
ansible.builtin.set_fact:
|
||||
matrix_synapse_user_password_change_command: >-
|
||||
{{ devture_postgres_bin_path }}/cli-non-interactive --dbname={{ matrix_synapse_database_database | quote }} -c "UPDATE users SET password_hash='{{ password_hash.stdout }}' WHERE name = '@{{ username }}:{{ matrix_domain }}'"
|
||||
{{ postgres_bin_path }}/cli-non-interactive --dbname={{ matrix_synapse_database_database | quote }} -c "UPDATE users SET password_hash='{{ password_hash.stdout }}' WHERE name = '@{{ username }}:{{ matrix_domain }}'"
|
||||
|
||||
- name: Update user password hash
|
||||
ansible.builtin.command:
|
||||
|
@ -1,20 +1,20 @@
|
||||
---
|
||||
|
||||
# This migrates Traefik from the old path (`/devture-traefik`) to the new path (`/matrix/traefik`, controlled by `devture_traefik_base_path`),
|
||||
# and from the old hardcoded systemd service name (`devture-traefik.service`) to the new one (`matrix-traefik.service`, controlled by `devture_traefik_identifier`).
|
||||
# This migrates Traefik from the old path (`/devture-traefik`) to the new path (`/matrix/traefik`, controlled by `traefik_base_path`),
|
||||
# and from the old hardcoded systemd service name (`devture-traefik.service`) to the new one (`matrix-traefik.service`, controlled by `traefik_identifier`).
|
||||
#
|
||||
# Here, we merely disable (and stop) the old systemd service and relocate the data (`/devture-traefik` directory).
|
||||
# The Traefik role itself (running later) will then ensure this data is up-to-date and will set up the new systemd service.
|
||||
|
||||
# It only makes sense to migrate if the identifier or path are different than the default (what we were using before).
|
||||
- when: "devture_traefik_identifier != 'devture-traefik' or devture_traefik_base_path != '/devture-traefik'"
|
||||
- when: "traefik_identifier != 'devture-traefik' or traefik_base_path != '/devture-traefik'"
|
||||
block:
|
||||
- name: Check existence of devture-traefik.service systemd service
|
||||
ansible.builtin.stat:
|
||||
path: "{{ devture_systemd_docker_base_systemd_path }}/devture-traefik.service"
|
||||
register: devture_traefik_service_stat
|
||||
register: traefik_service_stat
|
||||
|
||||
- when: devture_traefik_service_stat.stat.exists | bool
|
||||
- when: traefik_service_stat.stat.exists | bool
|
||||
block:
|
||||
- name: Ensure devture-traefik.service systemd service is stopped
|
||||
ansible.builtin.systemd:
|
||||
@ -25,8 +25,8 @@
|
||||
|
||||
- name: Ensure Traefik directory relocated
|
||||
ansible.builtin.command:
|
||||
cmd: "mv /devture-traefik {{ devture_traefik_base_path }}"
|
||||
creates: "{{ devture_traefik_base_path }}"
|
||||
cmd: "mv /devture-traefik {{ traefik_base_path }}"
|
||||
creates: "{{ traefik_base_path }}"
|
||||
removes: "/devture-traefik"
|
||||
|
||||
- name: Ensure Traefik systemd service doesn't exist
|
||||
|
@ -61,7 +61,7 @@
|
||||
block:
|
||||
- ansible.builtin.include_tasks: "{{ role_path }}/tasks/migrate_matrix_mailer.yml"
|
||||
|
||||
- when: devture_traefik_enabled | bool
|
||||
- when: traefik_enabled | bool
|
||||
tags:
|
||||
- setup-all
|
||||
- install-all
|
||||
|
@ -36,8 +36,8 @@
|
||||
- {'old': 'matrix_systemd_services_autostart_enabled', 'new': 'devture_systemd_service_manager_services_autostart_enabled'}
|
||||
- {'old': 'matrix_prometheus_node_exporter_metrics_proxying_enabled', 'new': '<prometheus_node_exporter_container_labels_traefik_enabled or matrix_metrics_exposure_enabled>'}
|
||||
- {'old': 'matrix_prometheus_postgres_exporter_metrics_proxying_enabled', 'new': '<prometheus_postgres_exporter_container_labels_traefik_enabled or matrix_metrics_exposure_enabled>'}
|
||||
- {'old': 'matrix_playbook_traefik_certs_dumper_role_enabled', 'new': 'devture_traefik_certs_dumper_enabled'}
|
||||
- {'old': 'matrix_playbook_traefik_role_enabled', 'new': 'devture_traefik_enabled'}
|
||||
- {'old': 'matrix_playbook_traefik_certs_dumper_role_enabled', 'new': 'traefik_certs_dumper_enabled'}
|
||||
- {'old': 'matrix_playbook_traefik_role_enabled', 'new': 'traefik_enabled'}
|
||||
|
||||
# Most important variables from the old Prometheus role here, for people who miss the changelog entry
|
||||
- {'old': 'matrix_prometheus_enabled', 'new': 'prometheus_enabled'}
|
||||
@ -72,7 +72,7 @@
|
||||
The matrix-postgres-backup role in the playbook has been replaced with the com.devture.ansible.role.postgres_backup role (https://github.com/devture/com.devture.ansible.role.postgres_backup).
|
||||
The new role is pretty much the same, but uses differently named variables.
|
||||
|
||||
Please change your configuration (vars.yml) to rename all `matrix_postgres`-prefixed variables (`matrix_postgres_*` -> `devture_postgres_*`).
|
||||
Please change your configuration (vars.yml) to rename all `matrix_postgres`-prefixed variables (`matrix_postgres_*` -> `postgres_*`).
|
||||
|
||||
The following variables in your configuration need to be renamed: {{ vars | dict2items | selectattr('key', 'match', 'matrix_postgres_.*') | map (attribute='key') | join(', ') }}
|
||||
when: "vars | dict2items | selectattr('key', 'match', 'matrix_postgres_.*') | list | items2dict"
|
||||
@ -300,7 +300,7 @@
|
||||
- {'old': 'matrix_nginx_proxy_proxy_synapse_federation_api_addr_sans_container', 'new': '<removed>'}
|
||||
- {'old': 'matrix_nginx_proxy_proxy_synapse_additional_server_configuration_blocks', 'new': '<removed>'}
|
||||
- {'old': 'matrix_nginx_proxy_proxy_matrix_additional_server_configuration_blocks', 'new': '<removed>'}
|
||||
- {'old': 'matrix_nginx_proxy_access_log_enabled', 'new': 'devture_traefik_config_accessLog_enabled'}
|
||||
- {'old': 'matrix_nginx_proxy_access_log_enabled', 'new': 'traefik_config_accessLog_enabled'}
|
||||
- {'old': 'matrix_nginx_proxy_container_labels_traefik_proxy_matrix_federation_hostname', 'new': 'matrix_server_fqn_matrix_federation'}
|
||||
- {'old': 'etherpad_nginx_proxy_dimension_integration_enabled', 'new': '<removed>'}
|
||||
- {'old': 'etherpad_nginx_proxy_dimension_integration_path_prefix', 'new': '<removed>'}
|
||||
@ -310,7 +310,7 @@
|
||||
- {'old': 'matrix_prometheus_services_proxy_connect_prometheus_postgres_exporter_matrix_nginx_proxy_not_enabled_proxy_pass_host', 'new': '<removed>'}
|
||||
- {'old': 'matrix_docker_network', 'new': '<removed in favor of various other variables - matrix_addons_container_network, matrix_monitoring_container_network, matrix_homeserver_container_network, etc.>'}
|
||||
- {'old': 'matrix_playbook_ssl_retrieval_method', 'new': '<removed; see docs/configuring-playbook-ssl-certificates.md for alternatives>'}
|
||||
- {'old': 'matrix_ssl_lets_encrypt_support_email', 'new': 'devture_traefik_config_certificatesResolvers_acme_email'}
|
||||
- {'old': 'matrix_ssl_lets_encrypt_support_email', 'new': 'traefik_config_certificatesResolvers_acme_email'}
|
||||
- {'old': 'matrix_federation_traefik_entrypoint', 'new': 'matrix_federation_traefik_entrypoint_name'}
|
||||
|
||||
- when: matrix_playbook_migration_matrix_nginx_proxy_leftover_variable_validation_checks_enabled | bool
|
||||
@ -362,3 +362,47 @@
|
||||
msg: >-
|
||||
We found usage of the following variables which are now removed: {{ matrix_playbook_migration_matrix_synapse_reverse_proxy_companion_container_labels_public_client_synapse_oidc_vars.keys() | join(', ') }}
|
||||
when: "matrix_playbook_migration_matrix_synapse_reverse_proxy_companion_container_labels_public_client_synapse_oidc_vars | length > 0"
|
||||
|
||||
- name: (Deprecation) Catch and report devture_postgres_backup variables
|
||||
ansible.builtin.fail:
|
||||
msg: |-
|
||||
The postgres-backup role in the playbook now lives under the MASH organization (https://github.com/mother-of-all-self-hosting/ansible-role-postgres-backup).
|
||||
The new role is pretty much the same, but uses differently named variables.
|
||||
|
||||
Please change your configuration (vars.yml) to rename all `devture_postgres_backup_`-prefixed variables (`devture_postgres_backup_*` -> `postgres_backup_*`).
|
||||
|
||||
The following variables in your configuration need to be renamed: {{ vars | dict2items | selectattr('key', 'match', 'devture_postgres_backup_.*') | map (attribute='key') | join(', ') }}
|
||||
when: "vars | dict2items | selectattr('key', 'match', 'devture_postgres_backup_.*') | list | items2dict"
|
||||
|
||||
- name: (Deprecation) Catch and report devture_postgres variables
|
||||
ansible.builtin.fail:
|
||||
msg: |-
|
||||
The postgres role in the playbook now lives under the MASH organization (https://github.com/mother-of-all-self-hosting/ansible-role-postgres).
|
||||
The new role is pretty much the same, but uses differently named variables.
|
||||
|
||||
Please change your configuration (vars.yml) to rename all `devture_postgres_`-prefixed variables (`devture_postgres_*` -> `postgres_*`).
|
||||
|
||||
The following variables in your configuration need to be renamed: {{ vars | dict2items | selectattr('key', 'match', 'devture_postgres_.*') | map (attribute='key') | join(', ') }}
|
||||
when: "vars | dict2items | selectattr('key', 'match', 'devture_postgres_.*') | list | items2dict"
|
||||
|
||||
- name: (Deprecation) Catch and report traefik_certs_dumper variables
|
||||
ansible.builtin.fail:
|
||||
msg: |-
|
||||
The traefik-certs-dumper role in the playbook now lives under the MASH organization (https://github.com/mother-of-all-self-hosting/ansible-role-traefik-certs-dumper).
|
||||
The new role is pretty much the same, but uses differently named variables.
|
||||
|
||||
Please change your configuration (vars.yml) to rename all `devture_traefik_certs_dumper_`-prefixed variables (`devture_traefik_certs_dumper_*` -> `traefik_certs_dumper_*`).
|
||||
|
||||
The following variables in your configuration need to be renamed: {{ vars | dict2items | selectattr('key', 'match', 'devture_traefik_certs_dumper_.*') | map (attribute='key') | join(', ') }}
|
||||
when: "vars | dict2items | selectattr('key', 'match', 'devture_traefik_certs_dumper_.*') | list | items2dict"
|
||||
|
||||
- name: (Deprecation) Catch and report devture_traefik variables
|
||||
ansible.builtin.fail:
|
||||
msg: |-
|
||||
The traefik role in the playbook now lives under the MASH organization (https://github.com/mother-of-all-self-hosting/ansible-role-traefik).
|
||||
The new role is pretty much the same, but uses differently named variables.
|
||||
|
||||
Please change your configuration (vars.yml) to rename all `devture_traefik_`-prefixed variables (`devture_traefik_*` -> `traefik_*`).
|
||||
|
||||
The following variables in your configuration need to be renamed: {{ vars | dict2items | selectattr('key', 'match', 'devture_traefik_.*') | map (attribute='key') | join(', ') }}
|
||||
when: "vars | dict2items | selectattr('key', 'match', 'devture_traefik_.*') | list | items2dict"
|
||||
|
Reference in New Issue
Block a user