diff --git a/i18n/requirements.txt b/i18n/requirements.txt
index ed04fbf28..54ca471ed 100644
--- a/i18n/requirements.txt
+++ b/i18n/requirements.txt
@@ -2,8 +2,8 @@ alabaster==1.0.0
babel==2.17.0
certifi==2025.8.3
charset-normalizer==3.4.3
-click==8.2.2
-docutils==0.22
+click==8.3.0
+docutils==0.22.2
idna==3.10
imagesize==1.4.1
Jinja2==3.1.6
diff --git a/justfile b/justfile
index a2bab08f2..b44ac9b4f 100644
--- a/justfile
+++ b/justfile
@@ -6,7 +6,7 @@
# Shows help
default:
- @{{ just_executable() }} --list --justfile {{ justfile() }}
+ @{{ just_executable() }} --list --justfile "{{ justfile() }}"
# Pulls external Ansible roles
roles:
@@ -48,7 +48,7 @@ install-all *extra_args: (run-tags "install-all,ensure-matrix-users-created,star
# Runs installation tasks for a single service
install-service service *extra_args:
- {{ just_executable() }} --justfile {{ justfile() }} run \
+ {{ just_executable() }} --justfile "{{ justfile() }}" run \
--tags=install-{{ service }},start-group \
--extra-vars=group={{ service }} \
--extra-vars=devture_systemd_service_manager_service_restart_mode=one-by-one {{ extra_args }}
@@ -62,7 +62,7 @@ run +extra_args:
# Runs the playbook with the given list of comma-separated tags and optional arguments
run-tags tags *extra_args:
- {{ just_executable() }} --justfile {{ justfile() }} run --tags={{ tags }} {{ extra_args }}
+ {{ just_executable() }} --justfile "{{ justfile() }}" run --tags={{ tags }} {{ extra_args }}
# Runs the playbook in user-registration mode
register-user username password admin_yes_or_no *extra_args:
@@ -73,15 +73,15 @@ start-all *extra_args: (run-tags "start-all" extra_args)
# Starts a specific service group
start-group group *extra_args:
- @{{ just_executable() }} --justfile {{ justfile() }} run-tags start-group --extra-vars="group={{ group }}" {{ extra_args }}
+ @{{ just_executable() }} --justfile "{{ justfile() }}" run-tags start-group --extra-vars="group={{ group }}" {{ extra_args }}
# Stops all services
stop-all *extra_args: (run-tags "stop-all" extra_args)
# Stops a specific service group
stop-group group *extra_args:
- @{{ just_executable() }} --justfile {{ justfile() }} run-tags stop-group --extra-vars="group={{ group }}" {{ extra_args }}
+ @{{ just_executable() }} --justfile "{{ justfile() }}" run-tags stop-group --extra-vars="group={{ group }}" {{ extra_args }}
# Rebuilds the mautrix-meta-instagram Ansible role using the mautrix-meta-messenger role as a source
rebuild-mautrix-meta-instagram:
- /bin/bash {{ justfile_directory() }}/bin/rebuild-mautrix-meta-instagram.sh {{ justfile_directory() }}/roles/custom
+ /bin/bash "{{ justfile_directory() }}/bin/rebuild-mautrix-meta-instagram.sh" "{{ justfile_directory() }}/roles/custom"
diff --git a/requirements.yml b/requirements.yml
index 444aadb4e..2a14deb9d 100644
--- a/requirements.yml
+++ b/requirements.yml
@@ -10,7 +10,7 @@
version: v0.4.1-0
name: container_socket_proxy
- src: git+https://github.com/geerlingguy/ansible-role-docker
- version: 7.5.4
+ version: 7.5.5
name: docker
- src: git+https://github.com/devture/com.devture.ansible.role.docker_sdk_for_python.git
version: 129c8590e106b83e6f4c259649a613c6279e937a
@@ -19,7 +19,7 @@
version: v2.5.0-2
name: etherpad
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay.git
- version: v4.98.1-r0-2-1
+ version: v4.98.1-r0-2-2
name: exim_relay
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-grafana.git
version: v11.6.5-1
@@ -43,7 +43,7 @@
version: ff2fd42e1c1a9e28e3312bbd725395f9c2fc7f16
name: playbook_state_preserver
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-postgres.git
- version: v17.6-6
+ version: v17.6-7
name: postgres
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-postgres-backup.git
version: v17-8
diff --git a/roles/custom/matrix-alertmanager-receiver/defaults/main.yml b/roles/custom/matrix-alertmanager-receiver/defaults/main.yml
index e1b920435..60b65b2b6 100644
--- a/roles/custom/matrix-alertmanager-receiver/defaults/main.yml
+++ b/roles/custom/matrix-alertmanager-receiver/defaults/main.yml
@@ -11,7 +11,7 @@
matrix_alertmanager_receiver_enabled: true
# renovate: datasource=docker depName=docker.io/metio/matrix-alertmanager-receiver
-matrix_alertmanager_receiver_version: 2025.9.10
+matrix_alertmanager_receiver_version: 2025.9.17
matrix_alertmanager_receiver_scheme: https
@@ -159,30 +159,20 @@ matrix_alertmanager_receiver_config_templating_external_url_mapping: {}
# "http://prometheus:8081": https://another.prometheus.example.com
matrix_alertmanager_receiver_config_templating_generator_url_mapping: {}
-# Controls the `templating.computed-values` configuration setting.
-matrix_alertmanager_receiver_config_templating_computed_values: "{{ matrix_alertmanager_receiver_config_templating_computed_values_default + matrix_alertmanager_receiver_config_templating_computed_values_auto + matrix_alertmanager_receiver_config_templating_computed_values_custom }}"
-matrix_alertmanager_receiver_config_templating_computed_values_default:
- - values: # always set 'color' to 'yellow'
- color: yellow
- - values: # set 'color' to 'orange' when alert label 'severity' is 'warning'
- color: orange
- when-matching-labels:
- severity: warning
- - values: # set 'color' to 'red' when alert label 'severity' is 'critical'
- color: red
- when-matching-labels:
- severity: critical
- - values: # set 'color' to 'green' when alert status is 'resolved'
- color: green
- when-matching-status: resolved
-matrix_alertmanager_receiver_config_templating_computed_values_auto: []
-matrix_alertmanager_receiver_config_templating_computed_values_custom: []
-
# Controls the `templating.firing-template` configuration setting.
matrix_alertmanager_receiver_config_templating_firing_template: |-
{% raw %}
+ {{ $color := "yellow" }}
+ {{ if eq .Alert.Labels.severity "warning" }}
+ {{ $color = "orange" }}
+ {{ else if eq .Alert.Labels.severity "critical" }}
+ {{ $color = "red" }}
+ {{ end }}
+ {{ if eq .Alert.status "resolved" }}
+ {{ $color = "green" }}
+ {{ end }}
- {{ .Alert.Status | ToUpper }}
+ {{ .Alert.Status | ToUpper }}
{{ if .Alert.Labels.name }}
{{ .Alert.Labels.name }}
{{ else if .Alert.Labels.alertname }}
@@ -211,7 +201,7 @@ matrix_alertmanager_receiver_config_templating_firing_template: |-
# Controls the `templating.resolved-template` configuration setting.
matrix_alertmanager_receiver_config_templating_resolved_template: |-
{% raw %}
- {{ .Alert.Status | ToUpper }}
+ {{ .Alert.Status | ToUpper }}
{{ if .Alert.Labels.name }}
{{ .Alert.Labels.name }}
{{ else if .Alert.Labels.alertname }}
diff --git a/roles/custom/matrix-alertmanager-receiver/tasks/validate_config.yml b/roles/custom/matrix-alertmanager-receiver/tasks/validate_config.yml
index 3a75616d6..55b79d2a0 100644
--- a/roles/custom/matrix-alertmanager-receiver/tasks/validate_config.yml
+++ b/roles/custom/matrix-alertmanager-receiver/tasks/validate_config.yml
@@ -24,3 +24,6 @@
when: "lookup('ansible.builtin.varnames', ('^' + item.old + '$'), wantlist=True) | length > 0"
with_items:
- {'old': 'matrix_alertmanager_receiver_container_image_name_prefix', 'new': 'matrix_alertmanager_receiver_container_image_registry_prefix'}
+ - {'old': 'matrix_alertmanager_receiver_config_templating_computed_values', 'new': ''}
+ - {'old': 'matrix_static_files_file_matrix_client_property_io_element_e2ee_secure_backup_setup_methods', 'new': ''}
- {'old': 'matrix_container_global_registry_prefix', 'new': ''}
- {'old': 'matrix_user_username', 'new': 'matrix_user_name'}
- {'old': 'matrix_user_groupname', 'new': 'matrix_group_name'}
diff --git a/roles/custom/matrix-bot-matrix-reminder-bot/defaults/main.yml b/roles/custom/matrix-bot-matrix-reminder-bot/defaults/main.yml
index bf4176b1a..c53e5a739 100644
--- a/roles/custom/matrix-bot-matrix-reminder-bot/defaults/main.yml
+++ b/roles/custom/matrix-bot-matrix-reminder-bot/defaults/main.yml
@@ -20,7 +20,7 @@ matrix_bot_matrix_reminder_bot_docker_repo_version: "{{ 'master' if matrix_bot_m
matrix_bot_matrix_reminder_bot_docker_src_files_path: "{{ matrix_base_data_path }}/matrix-reminder-bot/docker-src"
# renovate: datasource=docker depName=ghcr.io/anoadragon453/matrix-reminder-bot
-matrix_bot_matrix_reminder_bot_version: v0.3.0
+matrix_bot_matrix_reminder_bot_version: v0.4.0
matrix_bot_matrix_reminder_bot_docker_image: "{{ matrix_bot_matrix_reminder_bot_docker_image_registry_prefix }}anoadragon453/matrix-reminder-bot:{{ matrix_bot_matrix_reminder_bot_version }}"
matrix_bot_matrix_reminder_bot_docker_image_registry_prefix: "{{ 'localhost/' if matrix_bot_matrix_reminder_bot_container_image_self_build else matrix_bot_matrix_reminder_bot_docker_image_registry_prefix_upstream }}"
matrix_bot_matrix_reminder_bot_docker_image_registry_prefix_upstream: "{{ matrix_bot_matrix_reminder_bot_docker_image_registry_prefix_upstream_default }}"
diff --git a/roles/custom/matrix-bridge-mautrix-gmessages/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-gmessages/defaults/main.yml
index d1196b29a..94c8d3040 100644
--- a/roles/custom/matrix-bridge-mautrix-gmessages/defaults/main.yml
+++ b/roles/custom/matrix-bridge-mautrix-gmessages/defaults/main.yml
@@ -18,7 +18,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.6.5
+matrix_mautrix_gmessages_version: v0.7.0
# See: https://mau.dev/mautrix/gmessages/container_registry
matrix_mautrix_gmessages_docker_image: "{{ matrix_mautrix_gmessages_docker_image_registry_prefix }}mautrix/gmessages:{{ matrix_mautrix_gmessages_version }}"
diff --git a/roles/custom/matrix-bridge-mautrix-gmessages/templates/systemd/matrix-mautrix-gmessages.service.j2 b/roles/custom/matrix-bridge-mautrix-gmessages/templates/systemd/matrix-mautrix-gmessages.service.j2
index e0fa1ab0d..8c93be942 100644
--- a/roles/custom/matrix-bridge-mautrix-gmessages/templates/systemd/matrix-mautrix-gmessages.service.j2
+++ b/roles/custom/matrix-bridge-mautrix-gmessages/templates/systemd/matrix-mautrix-gmessages.service.j2
@@ -31,7 +31,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
{{ arg }} \
{% endfor %}
{{ matrix_mautrix_gmessages_docker_image }} \
- /usr/bin/mautrix-gmessages -c /config/config.yaml -r /config/registration.yaml
+ /usr/bin/mautrix-gmessages -c /config/config.yaml -r /config/registration.yaml --no-update
{% for network in matrix_mautrix_gmessages_container_additional_networks %}
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network connect {{ network }} matrix-mautrix-gmessages
diff --git a/roles/custom/matrix-bridge-mautrix-whatsapp/templates/config.yaml.j2 b/roles/custom/matrix-bridge-mautrix-whatsapp/templates/config.yaml.j2
index e7187abd4..ed55cc586 100644
--- a/roles/custom/matrix-bridge-mautrix-whatsapp/templates/config.yaml.j2
+++ b/roles/custom/matrix-bridge-mautrix-whatsapp/templates/config.yaml.j2
@@ -16,12 +16,6 @@ network:
proxy_only_login: false
# Displayname template for WhatsApp users.
- # {% raw %}
- # {{.PushName}} - nickname set by the WhatsApp user
- # {{.BusinessName}} - validated WhatsApp business name
- # {{.Phone}} - phone number (international format)
- # {{.FullName}} - Name you set in the contacts list
- # {% endraw %}
displayname_template: {{ matrix_mautrix_whatsapp_network_displayname_template | to_json }}
# Should incoming calls send a message to the Matrix room?
diff --git a/roles/custom/matrix-bridge-mautrix-whatsapp/templates/systemd/matrix-mautrix-whatsapp.service.j2 b/roles/custom/matrix-bridge-mautrix-whatsapp/templates/systemd/matrix-mautrix-whatsapp.service.j2
index 4fe10a546..c496cf33f 100644
--- a/roles/custom/matrix-bridge-mautrix-whatsapp/templates/systemd/matrix-mautrix-whatsapp.service.j2
+++ b/roles/custom/matrix-bridge-mautrix-whatsapp/templates/systemd/matrix-mautrix-whatsapp.service.j2
@@ -31,7 +31,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
{{ arg }} \
{% endfor %}
{{ matrix_mautrix_whatsapp_docker_image }} \
- /usr/bin/mautrix-whatsapp -c /config/config.yaml -r /config/registration.yaml
+ /usr/bin/mautrix-whatsapp -c /config/config.yaml -r /config/registration.yaml --no-update
{% for network in matrix_mautrix_whatsapp_container_additional_networks %}
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network connect {{ network }} matrix-mautrix-whatsapp
diff --git a/roles/custom/matrix-client-element/defaults/main.yml b/roles/custom/matrix-client-element/defaults/main.yml
index f8e8517cf..236188b5e 100644
--- a/roles/custom/matrix-client-element/defaults/main.yml
+++ b/roles/custom/matrix-client-element/defaults/main.yml
@@ -29,7 +29,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=ghcr.io/element-hq/element-web
-matrix_client_element_version: v1.11.112
+matrix_client_element_version: v1.12.0
matrix_client_element_docker_image: "{{ matrix_client_element_docker_image_registry_prefix }}element-hq/element-web:{{ matrix_client_element_version }}"
matrix_client_element_docker_image_registry_prefix: "{{ 'localhost/' if matrix_client_element_container_image_self_build else matrix_client_element_docker_image_registry_prefix_upstream }}"
diff --git a/roles/custom/matrix-corporal/defaults/main.yml b/roles/custom/matrix-corporal/defaults/main.yml
index 38bf0f0a5..392c1b4c2 100644
--- a/roles/custom/matrix-corporal/defaults/main.yml
+++ b/roles/custom/matrix-corporal/defaults/main.yml
@@ -16,7 +16,7 @@
matrix_corporal_enabled: true
# renovate: datasource=docker depName=ghcr.io/devture/matrix-corporal
-matrix_corporal_version: 3.1.6
+matrix_corporal_version: 3.1.7
matrix_corporal_container_image_self_build: false
matrix_corporal_container_image_self_build_repo: "https://github.com/devture/matrix-corporal.git"
diff --git a/roles/custom/matrix-static-files/defaults/main.yml b/roles/custom/matrix-static-files/defaults/main.yml
index 127f006df..738f6da47 100644
--- a/roles/custom/matrix-static-files/defaults/main.yml
+++ b/roles/custom/matrix-static-files/defaults/main.yml
@@ -172,10 +172,9 @@ matrix_static_files_file_matrix_client_property_m_tile_server_map_style_url: ""
# Controls whether Element related entries (io.element.e2ee) should be added to the client well-known.
# By default if any of the following change from their default this would be set to true:
-# `matrix_static_files_file_matrix_client_property_io_element_e2ee_default`
-# `matrix_static_files_file_matrix_client_property_io_element_e2ee_secure_backup_required`
-# `matrix_static_files_file_matrix_client_property_io_element_e2ee_secure_backup_setup_methods`
-matrix_static_files_file_matrix_client_property_io_element_e2ee_entries_enabled: "{{ not matrix_static_files_file_matrix_client_property_io_element_e2ee_default or matrix_static_files_file_matrix_client_property_io_element_e2ee_secure_backup_required or matrix_static_files_file_matrix_client_property_io_element_e2ee_secure_backup_setup_methods | length > 0 }}"
+# - `matrix_static_files_file_matrix_client_property_io_element_e2ee_default`
+# - `matrix_static_files_file_matrix_client_property_io_element_e2ee_force_disable`
+matrix_static_files_file_matrix_client_property_io_element_e2ee_entries_enabled: "{{ not matrix_static_files_file_matrix_client_property_io_element_e2ee_default or matrix_static_files_file_matrix_client_property_io_element_e2ee_force_disable }}"
# Controls the io.element.e2ee/default property in the /.well-known/matrix/client file,
# which instructs Element clients whether they should use End-to-End Encryption by default.
@@ -183,19 +182,6 @@ matrix_static_files_file_matrix_client_property_io_element_e2ee_entries_enabled:
# See: https://github.com/element-hq/element-web/blob/develop/docs/e2ee.md
matrix_static_files_file_matrix_client_property_io_element_e2ee_default: true
-# Controls the io.element.e2ee/secure_backup_required property in the /.well-known/matrix/client file,
-# which instructs Element clients whether they should require a secure backup set up before they can be used.
-# Setting this to true will update `/.well-known/matrix/client` and tell Element clients require a secure backup.
-# See: https://github.com/element-hq/element-web/blob/develop/docs/e2ee.md
-matrix_static_files_file_matrix_client_property_io_element_e2ee_secure_backup_required: false
-
-# Controls the io.element.e2ee/secure_backup_setup_methods property in the /.well-known/matrix/client file,
-# which instructs Element clients which backup methods from ["key", "passphrase"] should be used.
-# When an empty list is provided, Element clients default to using both.
-# Setting this to other than empty will update `/.well-known/matrix/client` and tell Element clients which method to use.
-# See: https://github.com/element-hq/element-web/blob/develop/docs/e2ee.md
-matrix_static_files_file_matrix_client_property_io_element_e2ee_secure_backup_setup_methods: []
-
# Controls the io.element.e2ee/force_disable property in the /.well-known/matrix/client file,
# which can be set to `true` to instruct Element clients whether to disable End-to-End Encryption by default
# and to not show encryption related-settings in room settings.
diff --git a/roles/custom/matrix-static-files/templates/public/.well-known/matrix/client.j2 b/roles/custom/matrix-static-files/templates/public/.well-known/matrix/client.j2
index 600e8f4c7..feabaeb2b 100644
--- a/roles/custom/matrix-static-files/templates/public/.well-known/matrix/client.j2
+++ b/roles/custom/matrix-static-files/templates/public/.well-known/matrix/client.j2
@@ -44,8 +44,6 @@
{% if matrix_static_files_file_matrix_client_property_io_element_e2ee_entries_enabled %},
"io.element.e2ee": {
"default": {{ matrix_static_files_file_matrix_client_property_io_element_e2ee_default|to_json }},
- "secure_backup_required": {{ matrix_static_files_file_matrix_client_property_io_element_e2ee_secure_backup_required|to_json }},
- "secure_backup_setup_methods": {{ matrix_static_files_file_matrix_client_property_io_element_e2ee_secure_backup_setup_methods|to_json }},
"force_disable": {{ matrix_static_files_file_matrix_client_property_io_element_e2ee_force_disable|to_json }}
}
{% endif %}