mirror of
https://github.com/spantaleev/matrix-docker-ansible-deploy.git
synced 2025-01-30 20:05:01 +01:00
Relocate /.well-known/element/element.json setup to matrix-static-files, instead of ugly patching from the Element Call role
This commit is contained in:
parent
3f52cec25c
commit
252ca52f60
@ -5930,6 +5930,8 @@ matrix_static_files_file_matrix_client_property_org_matrix_msc4143_rtc_foci_auto
|
||||
|
||||
matrix_static_files_file_matrix_server_property_m_server: "{{ matrix_server_fqn_matrix_federation }}:{{ matrix_federation_public_port }}"
|
||||
|
||||
matrix_static_files_file_element_element_json_property_call_widget_url: "{{ matrix_element_call_public_url if matrix_element_call_enabled else '' }}"
|
||||
|
||||
matrix_static_files_scheme: "{{ 'https' if matrix_playbook_ssl_enabled else 'http' }}"
|
||||
|
||||
matrix_static_files_self_check_hostname_matrix: "{{ matrix_server_fqn_matrix }}"
|
||||
@ -6044,10 +6046,12 @@ traefik_certs_dumper_ssl_dir_path: "{{ traefik_ssl_dir_path if traefik_enabled e
|
||||
# #
|
||||
########################################################################
|
||||
|
||||
# Matrix Element Call Configuration
|
||||
matrix_element_call_enabled: false # Default is false; should be enabled in host_vars as needed
|
||||
matrix_element_call_enabled: false
|
||||
|
||||
matrix_element_call_scheme: "{{ 'https' if matrix_playbook_ssl_enabled else 'http' }}"
|
||||
|
||||
matrix_element_call_version: "latest" # Default version; can be overridden in host_vars
|
||||
matrix_element_call_scheme: "https" # Scheme for Element Call (e.g., https)
|
||||
|
||||
matrix_element_call_hostname: "call.{{ matrix_domain }}" # Default hostname; should be overridden in host_vars if different
|
||||
matrix_element_call_path_prefix: "/" # Path prefix for Element Call
|
||||
matrix_element_call_base_path: "{{ matrix_base_data_path }}/element-call" # Base path for storing Element Call-related files
|
||||
|
@ -77,12 +77,3 @@
|
||||
owner: "{{ matrix_user_username }}"
|
||||
group: "{{ matrix_user_groupname }}"
|
||||
when: matrix_element_call_enabled | bool
|
||||
|
||||
# Create .well-known/element/element.json for Element Call
|
||||
- name: Create the well-known element.json file
|
||||
ansible.builtin.template:
|
||||
src: "{{ role_path }}/templates/well_known_element.json.j2"
|
||||
dest: "{{ matrix_base_data_path }}/static-files/public/.well-known/element/element.json"
|
||||
mode: '0644'
|
||||
owner: "{{ matrix_user_username }}"
|
||||
group: "{{ matrix_user_groupname }}"
|
||||
|
@ -1,5 +0,0 @@
|
||||
{
|
||||
"call": {
|
||||
"widget_url": "https://{{ matrix_element_call_hostname }}"
|
||||
}
|
||||
}
|
@ -15,6 +15,7 @@ matrix_static_files_config_path: "{{ matrix_static_files_base_path }}/config"
|
||||
matrix_static_files_public_path: "{{ matrix_static_files_base_path }}/public"
|
||||
matrix_static_files_public_well_known_path: "{{ matrix_static_files_public_path }}/.well-known"
|
||||
matrix_static_files_public_well_known_matrix_path: "{{ matrix_static_files_public_well_known_path }}/matrix"
|
||||
matrix_static_files_public_well_known_element_path: "{{ matrix_static_files_public_well_known_path }}/element"
|
||||
|
||||
# List of systemd services that matrix-static-files.service depends on
|
||||
matrix_static_files_systemd_required_services_list: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
|
||||
@ -360,6 +361,56 @@ matrix_static_files_file_matrix_support_configuration: "{{ matrix_static_files_f
|
||||
########################################################################
|
||||
|
||||
|
||||
########################################################################
|
||||
# #
|
||||
# Related to /.well-known/element/element.json #
|
||||
# #
|
||||
########################################################################
|
||||
|
||||
# Controls whether a `/.well-known/element/element.json` file is generated and used at all.
|
||||
matrix_static_files_file_element_element_json_enabled: true
|
||||
|
||||
# Controls the call.widget_url property in the /.well-known/element/element.json file
|
||||
matrix_static_files_file_element_element_json_property_call_widget_url: ''
|
||||
|
||||
# Default /.well-known/element/element.json configuration template which covers the generic use case.
|
||||
# You can customize it by controlling the various variables inside it.
|
||||
#
|
||||
# For a more advanced customization, you can extend the default (see `matrix_static_files_file_matrix_support_configuration_extension_json`)
|
||||
# or completely replace this variable with your own template.
|
||||
matrix_static_files_file_element_element_json_configuration_json: "{{ lookup('template', 'templates/public/.well-known/element/element.json.j2') }}"
|
||||
|
||||
# Your custom JSON configuration for /.well-known/element/element.json should go to `matrix_static_files_file_element_element_json_configuration_extension_json`.
|
||||
# This configuration extends the default starting configuration (`matrix_static_files_file_matrix_support_configuration_extension_json`).
|
||||
#
|
||||
# You can override individual variables from the default configuration, or introduce new ones.
|
||||
#
|
||||
# If you need something more special, you can take full control by
|
||||
# completely redefining `matrix_static_files_file_matrix_support_configuration_json`.
|
||||
#
|
||||
# Example configuration extension follows:
|
||||
#
|
||||
# matrix_static_files_file_element_element_json_configuration_extension_json: |
|
||||
# {
|
||||
# "call": {
|
||||
# "url": "value"
|
||||
# }
|
||||
# }
|
||||
matrix_static_files_file_element_element_json_configuration_extension_json: '{}'
|
||||
|
||||
matrix_static_files_file_element_element_json_configuration_extension: "{{ matrix_static_files_file_element_element_json_configuration_extension_json | from_json if matrix_static_files_file_element_element_json_configuration_extension_json | from_json is mapping else {} }}"
|
||||
|
||||
# Holds the final /.well-known/matrix/support configuration (a combination of the default and its extension).
|
||||
# You most likely don't need to touch this variable. Instead, see `matrix_static_files_file_element_element_json_configuration_json` or `matrix_static_files_file_element_element_json_configuration_extension_json`.
|
||||
matrix_static_files_file_element_element_json_configuration: "{{ matrix_static_files_file_element_element_json_configuration_json | combine(matrix_static_files_file_element_element_json_configuration_extension, recursive=True) }}"
|
||||
|
||||
########################################################################
|
||||
# #
|
||||
# /Related to /.well-known/element/element.json #
|
||||
# #
|
||||
########################################################################
|
||||
|
||||
|
||||
########################################################################
|
||||
# #
|
||||
# Related to index.html #
|
||||
|
@ -2,17 +2,19 @@
|
||||
|
||||
- name: Ensure matrix-static-files paths exist
|
||||
ansible.builtin.file:
|
||||
path: "{{ item }}"
|
||||
path: "{{ item.path }}"
|
||||
state: directory
|
||||
mode: 0750
|
||||
owner: "{{ matrix_user_username }}"
|
||||
group: "{{ matrix_user_groupname }}"
|
||||
with_items:
|
||||
- "{{ matrix_static_files_base_path }}"
|
||||
- "{{ matrix_static_files_config_path }}"
|
||||
- "{{ matrix_static_files_public_path }}"
|
||||
- "{{ matrix_static_files_public_well_known_path }}"
|
||||
- "{{ matrix_static_files_public_well_known_matrix_path }}"
|
||||
- {path: "{{ matrix_static_files_base_path }}", when: true}
|
||||
- {path: "{{ matrix_static_files_config_path }}", when: true}
|
||||
- {path: "{{ matrix_static_files_public_path }}", when: true}
|
||||
- {path: "{{ matrix_static_files_public_well_known_path }}", when: true}
|
||||
- {path: "{{ matrix_static_files_public_well_known_matrix_path }}", when: true}
|
||||
- {path: "{{ matrix_static_files_public_well_known_element_path }}", when: true}
|
||||
when: "item.when | bool"
|
||||
|
||||
- name: Ensure matrix-static-files is configured
|
||||
ansible.builtin.template:
|
||||
@ -52,6 +54,10 @@
|
||||
dest: "{{ matrix_static_files_public_well_known_matrix_path }}/support"
|
||||
when: "{{ matrix_static_files_file_matrix_support_enabled }}"
|
||||
|
||||
- content: "{{ matrix_static_files_file_element_element_json_configuration | to_nice_json }}"
|
||||
dest: "{{ matrix_static_files_public_well_known_element_path }}/element.json"
|
||||
when: "{{ matrix_static_files_file_element_element_json_enabled }}"
|
||||
|
||||
# This one will not be deleted if `matrix_static_files_file_index_html_enabled` flips to `false`.
|
||||
# See the comment for `matrix_static_files_file_index_html_enabled` to learn why.
|
||||
- content: "{{ matrix_static_files_file_index_html_template }}"
|
||||
@ -70,6 +76,12 @@
|
||||
state: absent
|
||||
when: "not matrix_static_files_file_matrix_support_enabled | bool"
|
||||
|
||||
- name: Ensure /.well-known/element/element.json file deleted if not enabled
|
||||
ansible.builtin.file:
|
||||
path: "{{ matrix_static_files_public_well_known_element_path }}/element.json"
|
||||
state: absent
|
||||
when: "not matrix_static_files_file_element_element_json_enabled | bool"
|
||||
|
||||
- name: Ensure matrix-static-files container image is pulled
|
||||
community.docker.docker_image:
|
||||
name: "{{ matrix_static_files_container_image }}"
|
||||
|
@ -0,0 +1,7 @@
|
||||
{
|
||||
{% if matrix_static_files_file_element_element_json_property_call_widget_url %}
|
||||
"call": {
|
||||
"widget_url": {{ matrix_static_files_file_element_element_json_property_call_widget_url | to_json }}
|
||||
}
|
||||
{% endif %}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user