mirror of
https://github.com/spantaleev/matrix-docker-ansible-deploy.git
synced 2026-07-14 18:52:50 +03:00
c7819f576a
Element Web redesigned its welcome page into a built-in component (element-hq/element-web#33211, first released in spring 2026) and no longer falls back to loading welcome.html. The custom page the playbook installed had therefore silently stopped having any effect, and it was a fork of an upstream file that upstream has deleted (its button icon assets are already missing from current Element Web builds). Remove the welcome.html shipping and the variables that only applied to it (matrix_client_element_welcome_headline, _welcome_text, _welcome_logo_link, _page_template_welcome_path), rejecting them in validate_config.yml with pointers to the alternatives. Logo and background customization keep working through Element Web's branding options, which the new welcome page still honors. A fully custom page can be self-hosted and wired via embedded_pages.welcome_url. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
84 lines
6.9 KiB
YAML
84 lines
6.9 KiB
YAML
# SPDX-FileCopyrightText: 2020 - 2025 Slavi Pantaleev
|
|
# SPDX-FileCopyrightText: 2022 MDAD project contributors
|
|
# SPDX-FileCopyrightText: 2024 Suguru Hirahara
|
|
#
|
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
|
|
---
|
|
|
|
- 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 rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml).
|
|
when: "lookup('ansible.builtin.varnames', ('^' + item.old + '$'), wantlist=True) | length > 0"
|
|
with_items:
|
|
- {'old': 'matrix_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'}
|
|
- {'old': 'matrix_client_element_welcome_user_id', 'new': '<removed>'}
|
|
- {'old': 'matrix_client_element_docker_image_name_prefix', 'new': 'matrix_client_element_container_image_registry_prefix'}
|
|
- {'old': 'matrix_client_element_docker_image', 'new': 'matrix_client_element_container_image'}
|
|
- {'old': 'matrix_client_element_docker_image_force_pull', 'new': 'matrix_client_element_container_image_force_pull'}
|
|
- {'old': 'matrix_client_element_docker_image_registry_prefix', 'new': 'matrix_client_element_container_image_registry_prefix'}
|
|
- {'old': 'matrix_client_element_docker_image_registry_prefix_upstream', 'new': 'matrix_client_element_container_image_registry_prefix_upstream'}
|
|
- {'old': 'matrix_client_element_docker_image_registry_prefix_upstream_default', 'new': 'matrix_client_element_container_image_registry_prefix_upstream_default'}
|
|
- {'old': 'matrix_client_element_docker_src_files_path', 'new': 'matrix_client_element_container_src_files_path'}
|
|
- {'old': 'matrix_client_element_container_image_force_pull', 'new': '<removed> (the new community.docker.docker_image_pull module handles this natively)'}
|
|
- {'old': 'matrix_client_element_welcome_headline', 'new': '<removed> (Element Web now renders its own built-in welcome page and no longer loads the custom welcome.html this variable applied to; a logo and background can still be customized via matrix_client_element_branding_auth_header_logo_url and matrix_client_element_branding_welcome_background_url, and a fully custom page can be self-hosted and wired via embedded_pages.welcome_url in matrix_client_element_configuration_extension_json)'}
|
|
- {'old': 'matrix_client_element_welcome_text', 'new': '<removed> (Element Web now renders its own built-in welcome page and no longer loads the custom welcome.html this variable applied to; see matrix_client_element_welcome_headline for alternatives)'}
|
|
- {'old': 'matrix_client_element_welcome_logo_link', 'new': '<removed> (Element Web now renders its own built-in welcome page and no longer loads the custom welcome.html this variable applied to; see matrix_client_element_welcome_headline for alternatives)'}
|
|
- {'old': 'matrix_client_element_page_template_welcome_path', 'new': '<removed> (Element Web now renders its own built-in welcome page; a fully custom page can be self-hosted and wired via embedded_pages.welcome_url in matrix_client_element_configuration_extension_json)'}
|
|
|
|
- name: Fail if required Element Web settings not defined
|
|
ansible.builtin.fail:
|
|
msg: >
|
|
You need to define a required configuration setting (`{{ item }}`) for using Element Web.
|
|
when: "item.when | bool and lookup('vars', item.name, default='') | string | length == 0"
|
|
with_items:
|
|
- {'name': 'matrix_client_element_default_hs_url', when: true}
|
|
- {'name': 'matrix_client_element_container_network', when: true}
|
|
- {'name': 'matrix_client_element_container_labels_traefik_compression_middleware_name', when: "{{ matrix_client_element_container_labels_traefik_compression_middleware_enabled }}"}
|
|
|
|
- name: Fail if Element location sharing enabled, but no tile server defined
|
|
ansible.builtin.fail:
|
|
msg: >-
|
|
You need to define at least one map tile server in matrix_client_element_location_sharing_map_style_content_sources_localsource_tiles list
|
|
when:
|
|
- matrix_client_element_location_sharing_enabled | bool
|
|
- matrix_client_element_location_sharing_map_style_content_sources_localsource_tiles | length == 0
|
|
|
|
- name: (Deprecation) Catch and report riot-web variables
|
|
ansible.builtin.fail:
|
|
msg: >-
|
|
Riot has been renamed to Element (https://element.io/blog/welcome-to-element/).
|
|
The playbook will migrate your existing configuration and data automatically, but you need to adjust variable names.
|
|
Please rename these variable (`matrix_riot_web_*` -> `matrix_client_element_*`) on your configuration file (vars.yml): {{ lookup('ansible.builtin.varnames', '^matrix_riot_web_.+', wantlist=True) | join(', ') }}
|
|
Also note that DNS configuration changes may be necessary.
|
|
when: "lookup('ansible.builtin.varnames', '^matrix_riot_web_.+', wantlist=True) | length > 0"
|
|
|
|
- when: matrix_client_element_container_labels_traefik_enabled | bool
|
|
block:
|
|
- name: Fail if required matrix-client-element Traefik settings not defined
|
|
ansible.builtin.fail:
|
|
msg: >-
|
|
You need to define a required configuration setting (`{{ item }}`).
|
|
when: "lookup('vars', item, default='') | string | length == 0"
|
|
with_items:
|
|
- matrix_client_element_container_labels_traefik_hostname
|
|
- matrix_client_element_container_labels_traefik_path_prefix
|
|
|
|
# We ensure it doesn't end with a slash, because we handle both (slash and no-slash).
|
|
# Knowing that `matrix_client_element_container_labels_traefik_path_prefix` does not end with a slash
|
|
# ensures we know how to set these routes up without having to do "does it end with a slash" checks elsewhere.
|
|
- name: Fail if matrix_client_element_container_labels_traefik_path_prefix ends with a slash
|
|
ansible.builtin.fail:
|
|
msg: >-
|
|
matrix_client_element_container_labels_traefik_path_prefix (`{{ matrix_client_element_container_labels_traefik_path_prefix }}`) must either be `/` or not end with a slash (e.g. `/element`).
|
|
when: "matrix_client_element_container_labels_traefik_path_prefix != '/' and matrix_client_element_container_labels_traefik_path_prefix[-1] == '/'"
|