Compare commits
57 Commits
6c46a6e893
...
d76d069ceb
Author | SHA1 | Date |
---|---|---|
Michael Hollister | d76d069ceb | |
Slavi Pantaleev | 96994055f0 | |
Aine | 11b76bd0c2 | |
Slavi Pantaleev | f98753e92a | |
Slavi Pantaleev | 54358cdfde | |
renovate[bot] | a10b68d2d5 | |
Slavi Pantaleev | c1241761fd | |
Slavi Pantaleev | f0319a4ff0 | |
adam-kress | b0014f05e7 | |
Slavi Pantaleev | 9d50ff7d01 | |
Slavi Pantaleev | 2723d29925 | |
renovate[bot] | ff251bf0fe | |
renovate[bot] | 9b18d75e1f | |
Slavi Pantaleev | 44355ebbb4 | |
Slavi Pantaleev | 2ead03597a | |
renovate[bot] | e5296c6023 | |
Slavi Pantaleev | a293858e1c | |
Slavi Pantaleev | 7de63270cb | |
Slavi Pantaleev | dd182e3514 | |
Slavi Pantaleev | b959e5354f | |
renovate[bot] | 397940aeab | |
krassle | 3d8fb3fc98 | |
krassle | 9f160856cc | |
Slavi Pantaleev | 5f7c665c98 | |
Slavi Pantaleev | 22ff9862a1 | |
Daniel Lo Nigro | 303b081cc8 | |
Aine | 6526a16e12 | |
Slavi Pantaleev | 4d91e8b579 | |
Slavi Pantaleev | d9598f0bbd | |
Slavi Pantaleev | 5dd450d690 | |
DevMiner | 759d0fa7ed | |
Slavi Pantaleev | 05ed4e1eb8 | |
renovate[bot] | 55a81ac368 | |
Slavi Pantaleev | e12a8ef3f8 | |
Slavi Pantaleev | 1774ed6e7d | |
Slavi Pantaleev | 7d9eb0893e | |
Slavi Pantaleev | 5977dcf0fc | |
Slavi Pantaleev | 5188bcab05 | |
renovate[bot] | 174dce2707 | |
renovate[bot] | b9de0aa64e | |
Slavi Pantaleev | 13846fcc76 | |
renovate[bot] | 2a546a1e07 | |
Slavi Pantaleev | 0106c016ee | |
Slavi Pantaleev | 0f6aba3aac | |
renovate[bot] | d8904eb36c | |
renovate[bot] | 2d1593f500 | |
Slavi Pantaleev | 4c36f9e532 | |
Slavi Pantaleev | 38aba951f4 | |
renovate[bot] | 951c06ebb5 | |
renovate[bot] | e1135b15e8 | |
Slavi Pantaleev | f60e4a8241 | |
Aine | 858b300a5a | |
Slavi Pantaleev | 328c3e0f26 | |
cksit | 88609a59b1 | |
Slavi Pantaleev | c89e437579 | |
Michael Hollister | 56880ad220 | |
Michael Hollister | b3655f439c |
|
@ -19,6 +19,14 @@
|
|||
# Also see `devture_docker_sdk_for_python_installation_enabled`.
|
||||
matrix_playbook_docker_installation_enabled: true
|
||||
|
||||
matrix_playbook_docker_installation_daemon_options: "{{ matrix_playbook_docker_installation_daemon_options_auto | combine(matrix_playbook_docker_installation_daemon_options_custom, recursive=True) }}"
|
||||
|
||||
matrix_playbook_docker_installation_daemon_options_auto:
|
||||
experimental: "{{ devture_systemd_docker_base_ipv6_enabled }}"
|
||||
ip6tables: "{{ devture_systemd_docker_base_ipv6_enabled }}"
|
||||
|
||||
matrix_playbook_docker_installation_daemon_options_custom: {}
|
||||
|
||||
# Controls whether to attach Traefik labels to services.
|
||||
# This is separate from `devture_traefik_enabled`, because you may wish to disable Traefik installation by the playbook,
|
||||
# yet still use Traefik installed in another way.
|
||||
|
@ -483,13 +491,7 @@ devture_playbook_state_preserver_commit_hash_preservation_dst: "{{ matrix_base_d
|
|||
# #
|
||||
########################################################################
|
||||
|
||||
docker_daemon_options: |
|
||||
{{
|
||||
{
|
||||
'experimental': devture_systemd_docker_base_ipv6_enabled,
|
||||
'ip6tables': devture_systemd_docker_base_ipv6_enabled,
|
||||
}
|
||||
}}
|
||||
docker_daemon_options: "{{ matrix_playbook_docker_installation_daemon_options }}"
|
||||
|
||||
########################################################################
|
||||
# #
|
||||
|
@ -1863,15 +1865,15 @@ matrix_hookshot_systemd_wanted_services_list: |
|
|||
{{
|
||||
matrix_addons_homeserver_systemd_services_list
|
||||
+
|
||||
([(redis_identifier + '.service')] if redis_enabled and matrix_hookshot_queue_host == redis_identifier else [])
|
||||
([(redis_identifier + '.service')] if redis_enabled and matrix_hookshot_cache_redis_host == redis_identifier else [])
|
||||
+
|
||||
([(keydb_identifier + '.service')] if keydb_enabled and matrix_hookshot_queue_host == keydb_identifier else [])
|
||||
([(keydb_identifier + '.service')] if keydb_enabled and matrix_hookshot_cache_redis_host == keydb_identifier else [])
|
||||
}}
|
||||
|
||||
# Hookshot's experimental encryption feature (and possibly others) may benefit from Redis, if available.
|
||||
# We only connect to Redis if encryption is enabled (not for everyone who has Redis enabled),
|
||||
# because connectivity is still potentially troublesome and is to be investigated.
|
||||
matrix_hookshot_queue_host: "{{ redis_identifier if redis_enabled and matrix_hookshot_experimental_encryption_enabled else (keydb_identifier if keydb_enabled and matrix_hookshot_experimental_encryption_enabled else '') }}"
|
||||
matrix_hookshot_cache_redis_host: "{{ redis_identifier if redis_enabled and matrix_hookshot_experimental_encryption_enabled else (keydb_identifier if keydb_enabled and matrix_hookshot_experimental_encryption_enabled else '') }}"
|
||||
|
||||
matrix_hookshot_container_network: "{{ matrix_addons_container_network }}"
|
||||
|
||||
|
@ -1880,9 +1882,9 @@ matrix_hookshot_container_additional_networks_auto: |
|
|||
(
|
||||
([] if matrix_addons_homeserver_container_network == '' else [matrix_addons_homeserver_container_network])
|
||||
+
|
||||
([redis_container_network] if redis_enabled and matrix_hookshot_queue_host == redis_identifier else [])
|
||||
([redis_container_network] if redis_enabled and matrix_hookshot_cache_redis_host == redis_identifier else [])
|
||||
+
|
||||
([keydb_container_network] if keydb_enabled and matrix_hookshot_queue_host == keydb_identifier else [])
|
||||
([keydb_container_network] if keydb_enabled and matrix_hookshot_cache_redis_host == keydb_identifier else [])
|
||||
+
|
||||
([matrix_playbook_reverse_proxyable_services_additional_network] if matrix_playbook_reverse_proxyable_services_additional_network and matrix_hookshot_container_labels_traefik_enabled else [])
|
||||
) | unique
|
||||
|
@ -3364,7 +3366,7 @@ exim_relay_container_image_self_build: "{{ matrix_architecture not in ['amd64',
|
|||
|
||||
exim_relay_hostname: "{{ matrix_server_fqn_matrix }}"
|
||||
|
||||
exim_relay_sender_address: "matrix@{{ matrix_domain }}"
|
||||
exim_relay_sender_address: "matrix@{{ exim_relay_hostname }}"
|
||||
|
||||
########################################################################
|
||||
# #
|
||||
|
|
|
@ -19,13 +19,13 @@
|
|||
version: v2.0.1-2
|
||||
name: etherpad
|
||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay.git
|
||||
version: v4.97.1-r0-0-1
|
||||
version: v4.97.1-r0-0-2
|
||||
name: exim_relay
|
||||
- src: git+https://gitlab.com/etke.cc/roles/grafana.git
|
||||
version: v10.4.2-0
|
||||
name: grafana
|
||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-jitsi.git
|
||||
version: v9364-1
|
||||
version: v9457-2
|
||||
name: jitsi
|
||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-keydb.git
|
||||
version: v6.3.4-1
|
||||
|
@ -52,7 +52,7 @@
|
|||
version: v2.51.2-0
|
||||
name: prometheus
|
||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-node-exporter.git
|
||||
version: v1.7.0-3
|
||||
version: v1.8.0-0
|
||||
name: prometheus_node_exporter
|
||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-postgres-exporter.git
|
||||
version: v0.14.0-4
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
matrix_bot_buscarron_enabled: true
|
||||
|
||||
# renovate: datasource=docker depName=registry.gitlab.com/etke.cc/buscarron
|
||||
matrix_bot_buscarron_version: v1.4.0
|
||||
matrix_bot_buscarron_version: v1.4.1
|
||||
|
||||
# The hostname at which Buscarron is served.
|
||||
matrix_bot_buscarron_hostname: ''
|
||||
|
|
|
@ -17,7 +17,7 @@ matrix_hookshot_container_additional_networks_auto: []
|
|||
matrix_hookshot_container_additional_networks_custom: []
|
||||
|
||||
# renovate: datasource=docker depName=halfshot/matrix-hookshot
|
||||
matrix_hookshot_version: 5.2.1
|
||||
matrix_hookshot_version: 5.3.0
|
||||
|
||||
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 }}"
|
||||
|
@ -40,15 +40,17 @@ matrix_hookshot_appservice_port: 9993
|
|||
matrix_hookshot_appservice_hostname: "{{ matrix_hookshot_public_hostname }}"
|
||||
matrix_hookshot_appservice_endpoint: "{{ matrix_hookshot_public_endpoint }}/_matrix/app"
|
||||
|
||||
# The variables below control the queue parameters and may optionally be pointed to a Redis instance.
|
||||
# These are required when experimental encryption is enabled (`matrix_hookshot_experimental_encryption_enabled`).
|
||||
matrix_hookshot_queue_host: ''
|
||||
matrix_hookshot_queue_port: 6739
|
||||
# The variables below control the Redis cache parameters.
|
||||
# Using caching is required when experimental encryption is enabled (`matrix_hookshot_experimental_encryption_enabled`)
|
||||
# but may also speed up Hookshot startup, etc.
|
||||
matrix_hookshot_cache_redis_host: ''
|
||||
matrix_hookshot_cache_redis_port: "6379"
|
||||
matrix_hookshot_cache_redisUri: "{{ ('redis://' + matrix_hookshot_cache_redis_host + ':' + matrix_hookshot_cache_redis_port) if matrix_hookshot_cache_redis_host else '' }}" # noqa var-naming
|
||||
|
||||
# Controls whether the experimental end-to-bridge encryption support is enabled.
|
||||
# This requires that:
|
||||
# - support to also be enabled in the homeserver, see the documentation of Hookshot.
|
||||
# - Hookshot to be pointed at a Redis instance via the `matrix_hookshot_queue_*` variables.
|
||||
# - Hookshot to be pointed at a Redis instance via the `matrix_hookshot_cache_redis*` variables.
|
||||
matrix_hookshot_experimental_encryption_enabled: false
|
||||
|
||||
# Controls whether metrics are enabled in the bridge configuration.
|
||||
|
|
|
@ -29,6 +29,8 @@
|
|||
- {'old': 'matrix_hookshot_jira_oauth_uri', 'new': 'matrix_hookshot_jira_oauth_client_secret'}
|
||||
- {'old': 'matrix_hookshot_gitlab_secret', 'new': 'matrix_hookshot_gitlab_webhook_secret'}
|
||||
- {'old': 'matrix_hookshot_ident', 'new': 'matrix_hookshot_identifier'}
|
||||
- {'old': 'matrix_hookshot_queue_host', 'new': 'matrix_hookshot_cache_redis_host'}
|
||||
- {'old': 'matrix_hookshot_queue_port', 'new': 'matrix_hookshot_cache_redis_port'}
|
||||
|
||||
- name: Fail if required Hookshot settings not defined
|
||||
ansible.builtin.fail:
|
||||
|
@ -93,8 +95,8 @@
|
|||
- name: Fail if no Redis queue enabled when Hookshot encryption is enabled
|
||||
ansible.builtin.fail:
|
||||
msg: >-
|
||||
You need to define a required configuration setting (`{{ item }}`) to enable Hookshot encryption.
|
||||
when: "matrix_hookshot_experimental_encryption_enabled and matrix_hookshot_queue_host == ''"
|
||||
You need to define a required configuration setting (`matrix_hookshot_cache_redis*`) to enable Hookshot encryption.
|
||||
when: "matrix_hookshot_experimental_encryption_enabled and matrix_hookshot_cache_redisUri == ''"
|
||||
|
||||
- name: (Deprecation) Catch and report old metrics usage
|
||||
ansible.builtin.fail:
|
||||
|
|
|
@ -107,11 +107,9 @@ metrics:
|
|||
# (Optional) Prometheus metrics support
|
||||
#
|
||||
enabled: {{ matrix_hookshot_metrics_enabled | to_json }}
|
||||
{% if matrix_hookshot_queue_host != '' %}
|
||||
queue:
|
||||
monolithic: true
|
||||
port: {{ matrix_hookshot_queue_port }}
|
||||
host: {{ matrix_hookshot_queue_host | to_json }}
|
||||
{% if matrix_hookshot_cache_redisUri %}
|
||||
cache:
|
||||
redisUri: {{ matrix_hookshot_cache_redisUri | to_json }}
|
||||
{% endif %}
|
||||
{% if matrix_hookshot_experimental_encryption_enabled %}
|
||||
experimentalEncryption:
|
||||
|
|
|
@ -9,7 +9,7 @@ matrix_mautrix_gmessages_container_image_self_build_repo: "https://github.com/ma
|
|||
matrix_mautrix_gmessages_container_image_self_build_branch: "{{ 'main' if matrix_mautrix_gmessages_version == 'latest' else matrix_mautrix_gmessages_version }}"
|
||||
|
||||
# renovate: datasource=docker depName=dock.mau.dev/mautrix/gmessages
|
||||
matrix_mautrix_gmessages_version: v0.3.0
|
||||
matrix_mautrix_gmessages_version: v0.4.0
|
||||
|
||||
# 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 }}"
|
||||
|
|
|
@ -13,7 +13,7 @@ matrix_mautrix_meta_instagram_enabled: true
|
|||
matrix_mautrix_meta_instagram_identifier: matrix-mautrix-meta-instagram
|
||||
|
||||
# renovate: datasource=docker depName=dock.mau.dev/mautrix/meta
|
||||
matrix_mautrix_meta_instagram_version: v0.2.0
|
||||
matrix_mautrix_meta_instagram_version: v0.3.0
|
||||
|
||||
matrix_mautrix_meta_instagram_base_path: "{{ matrix_base_data_path }}/mautrix-meta-instagram"
|
||||
matrix_mautrix_meta_instagram_config_path: "{{ matrix_mautrix_meta_instagram_base_path }}/config"
|
||||
|
|
|
@ -13,7 +13,7 @@ matrix_mautrix_meta_messenger_enabled: true
|
|||
matrix_mautrix_meta_messenger_identifier: matrix-mautrix-meta-messenger
|
||||
|
||||
# renovate: datasource=docker depName=dock.mau.dev/mautrix/meta
|
||||
matrix_mautrix_meta_messenger_version: v0.2.0
|
||||
matrix_mautrix_meta_messenger_version: v0.3.0
|
||||
|
||||
matrix_mautrix_meta_messenger_base_path: "{{ matrix_base_data_path }}/mautrix-meta-messenger"
|
||||
matrix_mautrix_meta_messenger_config_path: "{{ matrix_mautrix_meta_messenger_base_path }}/config"
|
||||
|
|
|
@ -9,7 +9,7 @@ matrix_mautrix_signal_container_image_self_build_repo: "https://mau.dev/mautrix/
|
|||
matrix_mautrix_signal_container_image_self_build_branch: "{{ 'main' if matrix_mautrix_signal_version == 'latest' else matrix_mautrix_signal_version }}"
|
||||
|
||||
# renovate: datasource=docker depName=dock.mau.dev/mautrix/signal
|
||||
matrix_mautrix_signal_version: v0.5.1
|
||||
matrix_mautrix_signal_version: v0.6.0
|
||||
|
||||
# See: https://mau.dev/mautrix/signal/container_registry
|
||||
matrix_mautrix_signal_docker_image: "{{ matrix_mautrix_signal_docker_image_name_prefix }}mautrix/signal:{{ matrix_mautrix_signal_docker_image_tag }}"
|
||||
|
|
|
@ -9,7 +9,7 @@ matrix_mautrix_whatsapp_container_image_self_build_repo: "https://mau.dev/mautri
|
|||
matrix_mautrix_whatsapp_container_image_self_build_branch: "{{ 'master' if matrix_mautrix_whatsapp_version == 'latest' else matrix_mautrix_whatsapp_version }}"
|
||||
|
||||
# renovate: datasource=docker depName=dock.mau.dev/mautrix/whatsapp
|
||||
matrix_mautrix_whatsapp_version: v0.10.6
|
||||
matrix_mautrix_whatsapp_version: v0.10.7
|
||||
|
||||
# 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 }}"
|
||||
|
|
|
@ -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.64
|
||||
matrix_client_element_version: v1.11.65
|
||||
|
||||
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 }}"
|
||||
|
@ -160,8 +160,8 @@ matrix_client_element_welcome_logo: "themes/element/img/logos/element-logo.svg"
|
|||
# URL of link on welcome image
|
||||
matrix_client_element_welcome_logo_link: "https://element.io"
|
||||
|
||||
matrix_client_element_welcome_headline: "_t('Welcome to Element')"
|
||||
matrix_client_element_welcome_text: "_t('Decentralised, encrypted chat & collaboration powered by [matrix]')"
|
||||
matrix_client_element_welcome_headline: "_t(\"welcome_to_element\")"
|
||||
matrix_client_element_welcome_text: "_t(\"powered_by_matrix_with_logo\")"
|
||||
|
||||
# Links, shown in footer of welcome page:
|
||||
# [{"text": "Link text", "url": "https://link.target"}, {"text": "Other link"}]
|
||||
|
|
|
@ -178,11 +178,11 @@ we don't have an account and should hide them. No account == no guest account ei
|
|||
<div class="mx_ButtonGroup">
|
||||
<div class="mx_ButtonRow">
|
||||
<a href="#/login" class="mx_ButtonParent mx_ButtonSignIn mx_Button_iconSignIn">
|
||||
<div class="mx_ButtonLabel">_t("Sign In")</div>
|
||||
<div class="mx_ButtonLabel">_t("action|sign_in")</div>
|
||||
</a>
|
||||
{% if matrix_client_element_registration_enabled %}
|
||||
<a href="#/register" class="mx_ButtonParent mx_ButtonCreateAccount mx_Button_iconCreateAccount">
|
||||
<div class="mx_ButtonLabel">_t("Create Account")</div>
|
||||
<div class="mx_ButtonLabel">_t("action|create_account")</div>
|
||||
</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
@ -195,7 +195,7 @@ we don't have an account and should hide them. No account == no guest account ei
|
|||
<div class="mx_ButtonRow mx_WelcomePage_guestFunctions">
|
||||
<div>
|
||||
<a href="#/directory" class="mx_ButtonParent mx_SecondaryButton mx_Button_iconRoomDirectory">
|
||||
<div class="mx_ButtonLabel">_t("Explore rooms")</div>
|
||||
<div class="mx_ButtonLabel">_t("action|explore_rooms")</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -10,7 +10,7 @@ matrix_conduit_hostname: ''
|
|||
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/"
|
||||
# renovate: datasource=docker depName=matrixconduit/matrix-conduit
|
||||
matrix_conduit_docker_image_tag: "v0.6.0"
|
||||
matrix_conduit_docker_image_tag: "v0.7.0"
|
||||
matrix_conduit_docker_image_force_pull: "{{ matrix_conduit_docker_image.endswith(':latest') }}"
|
||||
|
||||
matrix_conduit_base_path: "{{ matrix_base_data_path }}/conduit"
|
||||
|
|
|
@ -83,14 +83,14 @@ traefik.http.routers.matrix-conduit-public-client-api.tls.certResolver={{ matrix
|
|||
# #
|
||||
############################################################
|
||||
|
||||
traefik.http.routers.matrix-conduit-public-client-api.rule={{ matrix_conduit_container_labels_internal_client_api_traefik_rule }}
|
||||
traefik.http.routers.matrix-conduit-internal-client-api.rule={{ matrix_conduit_container_labels_internal_client_api_traefik_rule }}
|
||||
|
||||
{% if matrix_conduit_container_labels_internal_client_api_traefik_priority | int > 0 %}
|
||||
traefik.http.routers.matrix-conduit-public-client-api.priority={{ matrix_conduit_container_labels_internal_client_api_traefik_priority }}
|
||||
traefik.http.routers.matrix-conduit-internal-client-api.priority={{ matrix_conduit_container_labels_internal_client_api_traefik_priority }}
|
||||
{% endif %}
|
||||
|
||||
traefik.http.routers.matrix-conduit-public-client-api.service=matrix-conduit
|
||||
traefik.http.routers.matrix-conduit-public-client-api.entrypoints={{ matrix_conduit_container_labels_internal_client_api_traefik_entrypoints }}
|
||||
traefik.http.routers.matrix-conduit-internal-client-api.service=matrix-conduit
|
||||
traefik.http.routers.matrix-conduit-internal-client-api.entrypoints={{ matrix_conduit_container_labels_internal_client_api_traefik_entrypoints }}
|
||||
|
||||
############################################################
|
||||
# #
|
||||
|
|
|
@ -12,7 +12,7 @@ matrix_synapse_admin_container_image_self_build: false
|
|||
matrix_synapse_admin_container_image_self_build_repo: "https://github.com/Awesome-Technologies/synapse-admin.git"
|
||||
|
||||
# renovate: datasource=docker depName=awesometechnologies/synapse-admin
|
||||
matrix_synapse_admin_version: 0.8.7
|
||||
matrix_synapse_admin_version: 0.10.1
|
||||
matrix_synapse_admin_docker_image: "{{ matrix_synapse_admin_docker_image_name_prefix }}awesometechnologies/synapse-admin:{{ matrix_synapse_admin_version }}"
|
||||
matrix_synapse_admin_docker_image_name_prefix: "{{ 'localhost/' if matrix_synapse_admin_container_image_self_build else matrix_container_global_registry_prefix }}"
|
||||
matrix_synapse_admin_docker_image_force_pull: "{{ matrix_synapse_admin_docker_image.endswith(':latest') }}"
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
matrix_synapse_auto_compressor_enabled: true
|
||||
|
||||
# renovate: datasource=docker depName=registry.gitlab.com/etke.cc/rust-synapse-compress-state
|
||||
matrix_synapse_auto_compressor_version: "{{ 'latest' if matrix_synapse_auto_compressor_container_image_self_build else 'v0.1.3' }}"
|
||||
matrix_synapse_auto_compressor_version: v0.1.4
|
||||
|
||||
matrix_synapse_auto_compressor_base_path: "{{ matrix_base_data_path }}/synapse-auto-compressor"
|
||||
matrix_synapse_auto_compressor_container_src_files_path: "{{ matrix_synapse_auto_compressor_base_path }}/container-src"
|
||||
|
|
|
@ -7,11 +7,13 @@
|
|||
#
|
||||
# When Synapse workers are enabled, however, the reverse-proxying configuration is much more complicated - certain requests need to go to certain workers, etc.
|
||||
# matrix-synapse-reverse-proxy-companion is the central place services that need to reach Synapse could be pointed to.
|
||||
#
|
||||
# Project source code URL: https://github.com/nginx/nginx
|
||||
|
||||
matrix_synapse_reverse_proxy_companion_enabled: true
|
||||
|
||||
# renovate: datasource=docker depName=nginx
|
||||
matrix_synapse_reverse_proxy_companion_version: 1.25.4-alpine
|
||||
matrix_synapse_reverse_proxy_companion_version: 1.25.5-alpine
|
||||
|
||||
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"
|
||||
|
|
|
@ -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.104.0
|
||||
matrix_synapse_version: v1.105.1
|
||||
|
||||
matrix_synapse_username: ''
|
||||
matrix_synapse_uid: ''
|
||||
|
|
|
@ -94,7 +94,7 @@
|
|||
- name: Generate initial Synapse config and signing key
|
||||
ansible.builtin.command:
|
||||
cmd: |
|
||||
docker run
|
||||
{{ devture_systemd_docker_base_host_command_docker }} run
|
||||
--rm
|
||||
--name=matrix-config
|
||||
--user={{ matrix_synapse_uid }}:{{ matrix_synapse_gid }}
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
|
||||
- ansible.builtin.set_fact:
|
||||
matrix_synapse_enabled_worker_names: "{{ matrix_synapse_workers_enabled_list | map(attribute='name') }}"
|
||||
matrix_synapse_worker_template_job_status_result_list: []
|
||||
|
||||
# This also deletes some things which we need. They will be recreated below.
|
||||
- name: Ensure unnecessary worker configs are cleaned
|
||||
|
@ -59,3 +60,9 @@
|
|||
with_items: "{{ matrix_synapse_workers_enabled_list }}"
|
||||
loop_control:
|
||||
loop_var: matrix_synapse_worker_details
|
||||
|
||||
- name: Check status of worker systemd service files and configuration files creation
|
||||
ansible.builtin.include_tasks: "{{ role_path }}/tasks/synapse/workers/util/worker_setup_job_cleanup.yml"
|
||||
with_items: "{{ matrix_synapse_worker_template_job_status_result_list }}"
|
||||
loop_control:
|
||||
loop_var: matrix_synapse_worker_template_job_status
|
||||
|
|
|
@ -7,13 +7,31 @@
|
|||
matrix_synapse_worker_config_file_name: "worker.{{ matrix_synapse_worker_details.name }}.yaml"
|
||||
matrix_synapse_worker_labels_file_name: "worker.{{ matrix_synapse_worker_details.name }}.labels"
|
||||
|
||||
# ansible.builtin.template does not support async, so instead run async commands
|
||||
# that launch ad hoc template tasks on the controller.
|
||||
- name: Ensure configuration exists for {{ matrix_synapse_worker_systemd_service_name }}
|
||||
ansible.builtin.template:
|
||||
src: "{{ role_path }}/templates/synapse/worker.yaml.j2"
|
||||
dest: "{{ matrix_synapse_config_dir_path }}/{{ matrix_synapse_worker_config_file_name }}"
|
||||
mode: 0644
|
||||
owner: "{{ matrix_synapse_uid }}"
|
||||
group: "{{ matrix_synapse_gid }}"
|
||||
ansible.builtin.command: >
|
||||
ansible matrix_servers -i inventory/hosts -m template --become
|
||||
-e "{
|
||||
'matrix_synapse_worker_details':{{ matrix_synapse_worker_details }},
|
||||
'matrix_server_fqn_matrix':'{{ matrix_server_fqn_matrix }}',
|
||||
'matrix_synapse_replication_listener_enabled':'{{ matrix_synapse_replication_listener_enabled }}',
|
||||
'matrix_synapse_replication_http_port':'{{ matrix_synapse_replication_http_port }}',
|
||||
'matrix_synapse_metrics_enabled':'{{ matrix_synapse_metrics_enabled }}'
|
||||
}"
|
||||
-a "
|
||||
src={{ role_path }}/templates/synapse/worker.yaml.j2
|
||||
dest={{ matrix_synapse_config_dir_path }}/{{ matrix_synapse_worker_config_file_name }}
|
||||
mode=0644
|
||||
owner={{ matrix_synapse_uid }}
|
||||
group={{ matrix_synapse_gid }}
|
||||
"
|
||||
register: "configuration_result"
|
||||
delegate_to: localhost
|
||||
become: false
|
||||
async: 60
|
||||
poll: 0
|
||||
changed_when: false
|
||||
|
||||
- name: Ensure labels exists for {{ matrix_synapse_worker_systemd_service_name }}
|
||||
ansible.builtin.template:
|
||||
|
@ -24,7 +42,46 @@
|
|||
group: "{{ matrix_synapse_gid }}"
|
||||
|
||||
- name: Ensure systemd service exists for {{ matrix_synapse_worker_systemd_service_name }}
|
||||
ansible.builtin.template:
|
||||
src: "{{ role_path }}/templates/synapse/systemd/matrix-synapse-worker.service.j2"
|
||||
dest: "{{ devture_systemd_docker_base_systemd_path }}/{{ matrix_synapse_worker_systemd_service_name }}.service"
|
||||
mode: 0644
|
||||
ansible.builtin.command: >
|
||||
ansible matrix_servers -i inventory/hosts -m template --become
|
||||
-e "{
|
||||
'matrix_synapse_worker_details':{{ matrix_synapse_worker_details }},
|
||||
'matrix_synapse_worker_container_name':'{{ matrix_synapse_worker_container_name }}',
|
||||
'matrix_synapse_config_dir_path':'{{ matrix_synapse_config_dir_path }}',
|
||||
'matrix_synapse_worker_config_file_name':'{{ matrix_synapse_worker_config_file_name }}',
|
||||
'devture_systemd_docker_base_systemd_unit_home_path':'{{ devture_systemd_docker_base_systemd_unit_home_path }}',
|
||||
'devture_systemd_docker_base_host_command_sh':'{{ devture_systemd_docker_base_host_command_sh }}',
|
||||
'devture_systemd_docker_base_host_command_docker':'{{ devture_systemd_docker_base_host_command_docker }}',
|
||||
'matrix_host_command_sleep':'{{ matrix_host_command_sleep }}',
|
||||
'matrix_synapse_uid':'{{ matrix_synapse_uid }}',
|
||||
'matrix_synapse_gid':'{{ matrix_synapse_gid }}',
|
||||
'matrix_synapse_tmp_directory_size_mb':'{{ matrix_synapse_tmp_directory_size_mb }}',
|
||||
'matrix_synapse_container_network':'{{ matrix_synapse_container_network }}',
|
||||
'matrix_synapse_workers_enabled':'{{ matrix_synapse_workers_enabled }}',
|
||||
'matrix_synapse_workers_container_host_bind_address':'{{ matrix_synapse_workers_container_host_bind_address }}',
|
||||
'matrix_synapse_storage_path':'{{ matrix_synapse_storage_path }}',
|
||||
'matrix_synapse_container_additional_volumes':{{ matrix_synapse_container_additional_volumes }},
|
||||
'matrix_synapse_container_arguments':{{ matrix_synapse_container_arguments }},
|
||||
'matrix_synapse_docker_image_final':'{{ matrix_synapse_docker_image_final }}',
|
||||
'matrix_synapse_container_additional_networks':{{ matrix_synapse_container_additional_networks }}
|
||||
}"
|
||||
-a "
|
||||
src={{ role_path }}/templates/synapse/systemd/matrix-synapse-worker.service.j2
|
||||
dest={{ devture_systemd_docker_base_systemd_path }}/{{ matrix_synapse_worker_systemd_service_name }}.service
|
||||
mode=0644
|
||||
"
|
||||
register: "service_result"
|
||||
delegate_to: localhost
|
||||
become: false
|
||||
async: 60
|
||||
poll: 0
|
||||
changed_when: false
|
||||
|
||||
# Store job status results for checking later
|
||||
- ansible.builtin.set_fact:
|
||||
matrix_synapse_worker_template_job_status_result_list: "{{ matrix_synapse_worker_template_job_status_result_list + [item] }}"
|
||||
with_items:
|
||||
- result:
|
||||
name: "{{ matrix_synapse_worker_details.name }}"
|
||||
configuration: "{{ configuration_result }}"
|
||||
service: "{{ service_result }}"
|
||||
|
|
|
@ -0,0 +1,36 @@
|
|||
---
|
||||
|
||||
# Clean up Ansible controller temp files as a result of spawning async tasks
|
||||
- name: Check job status for configuration file {{ matrix_synapse_worker_template_job_status.result.name }}
|
||||
ansible.builtin.async_status:
|
||||
jid: "{{ matrix_synapse_worker_template_job_status.result.configuration.ansible_job_id }}"
|
||||
register: configuration_status
|
||||
until: configuration_status.finished
|
||||
retries: 60
|
||||
delay: 1
|
||||
delegate_to: localhost
|
||||
become: false
|
||||
|
||||
- name: Check job status for service file {{ matrix_synapse_worker_template_job_status.result.name }}
|
||||
ansible.builtin.async_status:
|
||||
jid: "{{ matrix_synapse_worker_template_job_status.result.service.ansible_job_id }}"
|
||||
register: service_status
|
||||
until: service_status.finished
|
||||
retries: 60
|
||||
delay: 1
|
||||
delegate_to: localhost
|
||||
become: false
|
||||
|
||||
- name: Cleanup job result for configuration file
|
||||
ansible.builtin.async_status:
|
||||
jid: "{{ matrix_synapse_worker_template_job_status.result.configuration.ansible_job_id }}"
|
||||
mode: "cleanup"
|
||||
delegate_to: localhost
|
||||
become: false
|
||||
|
||||
- name: Cleanup job result for service file
|
||||
ansible.builtin.async_status:
|
||||
jid: "{{ matrix_synapse_worker_template_job_status.result.service.ansible_job_id }}"
|
||||
mode: "cleanup"
|
||||
delegate_to: localhost
|
||||
become: false
|
|
@ -126,8 +126,6 @@
|
|||
- custom/matrix-media-repo
|
||||
- custom/matrix-pantalaimon
|
||||
|
||||
- role: galaxy/auxiliary
|
||||
|
||||
- role: galaxy/postgres_backup
|
||||
|
||||
- role: galaxy/backup_borg
|
||||
|
@ -141,6 +139,8 @@
|
|||
|
||||
- role: galaxy/traefik_certs_dumper
|
||||
|
||||
- role: galaxy/auxiliary
|
||||
|
||||
- when: devture_systemd_service_manager_enabled | bool
|
||||
role: galaxy/systemd_service_manager
|
||||
|
||||
|
|
Loading…
Reference in New Issue