These three roles have multiple variable prefixes each: - kakaotalk: matrix_appservice_kakaotalk + matrix_appservice_kakaotalk_node - telegram: matrix_mautrix_telegram + matrix_mautrix_telegram_lottieconverter - synapse: matrix_synapse + matrix_synapse_customized + matrix_synapse_rust_synapse_compress_state For each: renamed _docker_image* to _container_image* (and _docker_src*, _docker_repo* where applicable), added deprecation entries in validate_config.yml, updated group_vars references, and moved deprecation tasks to the front of validate_config.yml. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>pull/4945/head
| @@ -1279,9 +1279,9 @@ matrix_appservice_kakaotalk_systemd_required_services_list_auto: | | |||
| ([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_appservice_kakaotalk_database_hostname == postgres_connection_hostname) else []) | |||
| }} | |||
| matrix_appservice_kakaotalk_node_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_appservice_kakaotalk_node_docker_image_registry_prefix_upstream_default }}" | |||
| matrix_appservice_kakaotalk_node_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_appservice_kakaotalk_node_container_image_registry_prefix_upstream_default }}" | |||
| matrix_appservice_kakaotalk_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_appservice_kakaotalk_docker_image_registry_prefix_upstream_default }}" | |||
| matrix_appservice_kakaotalk_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_appservice_kakaotalk_container_image_registry_prefix_upstream_default }}" | |||
| matrix_appservice_kakaotalk_container_network: "{{ matrix_addons_container_network }}" | |||
| @@ -1916,9 +1916,9 @@ matrix_mautrix_telegram_systemd_required_services_list_auto: | | |||
| ([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_mautrix_telegram_database_hostname == postgres_connection_hostname) else []) | |||
| }} | |||
| matrix_mautrix_telegram_lottieconverter_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mautrix_telegram_lottieconverter_docker_image_registry_prefix_upstream_default }}" | |||
| matrix_mautrix_telegram_lottieconverter_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mautrix_telegram_lottieconverter_container_image_registry_prefix_upstream_default }}" | |||
| matrix_mautrix_telegram_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mautrix_telegram_docker_image_registry_prefix_upstream_default }}" | |||
| matrix_mautrix_telegram_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mautrix_telegram_container_image_registry_prefix_upstream_default }}" | |||
| # Images are multi-arch (amd64 and arm64, but not arm32). | |||
| matrix_mautrix_telegram_container_image_self_build: "{{ matrix_architecture not in ['arm64', 'amd64'] }}" | |||
| @@ -4629,11 +4629,11 @@ matrix_synapse_gid: "{{ matrix_user_gid }}" | |||
| matrix_synapse_federation_enabled: "{{ matrix_homeserver_federation_enabled }}" | |||
| matrix_synapse_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_synapse_docker_image_registry_prefix_upstream_default }}" | |||
| matrix_synapse_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_synapse_container_image_registry_prefix_upstream_default }}" | |||
| matrix_s3_goofys_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_s3_goofys_docker_image_registry_prefix_upstream_default }}" | |||
| matrix_synapse_rust_synapse_compress_state_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_synapse_rust_synapse_compress_state_docker_image_registry_prefix_upstream_default }}" | |||
| matrix_synapse_rust_synapse_compress_state_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_synapse_rust_synapse_compress_state_container_image_registry_prefix_upstream_default }}" | |||
| matrix_synapse_container_image_self_build: "{{ matrix_architecture not in ['arm64', 'amd64'] }}" | |||
| @@ -5336,7 +5336,7 @@ prometheus_config_scrape_configs_auto: | | |||
| matrix_prometheus_services_connect_synapse_enabled: "{{ prometheus_enabled and matrix_synapse_enabled }}" | |||
| matrix_prometheus_services_connect_synapse_rules_download_synapse_tag: "{{ matrix_synapse_docker_image_tag }}" | |||
| matrix_prometheus_services_connect_synapse_rules_download_synapse_tag: "{{ matrix_synapse_container_image_tag }}" | |||
| matrix_prometheus_services_connect_synapse_rules_download_dir_path: "{{ prometheus_config_path }}" | |||
| matrix_prometheus_services_connect_synapse_rules_download_owner: "{{ prometheus_uid }}" | |||
| matrix_prometheus_services_connect_synapse_rules_download_group: "{{ prometheus_gid }}" | |||
| @@ -35,23 +35,23 @@ matrix_appservice_kakaotalk_container_image_self_build_repo: "https://src.miscwo | |||
| matrix_appservice_kakaotalk_container_image_self_build_repo_version: "{{ 'master' if matrix_appservice_kakaotalk_version == 'latest' else matrix_appservice_kakaotalk_version }}" | |||
| matrix_appservice_kakaotalk_node_version: "{{ matrix_appservice_kakaotalk_version }}" | |||
| matrix_appservice_kakaotalk_node_docker_image: "{{ matrix_appservice_kakaotalk_node_docker_image_registry_prefix }}fair/matrix-appservice-kakaotalk-node:{{ matrix_appservice_kakaotalk_node_version }}" | |||
| matrix_appservice_kakaotalk_node_docker_image_registry_prefix: "{{ 'localhost/' if matrix_appservice_kakaotalk_container_image_self_build else matrix_appservice_kakaotalk_node_docker_image_registry_prefix_upstream }}" | |||
| matrix_appservice_kakaotalk_node_docker_image_registry_prefix_upstream: "{{ matrix_appservice_kakaotalk_node_docker_image_registry_prefix_upstream_default }}" | |||
| matrix_appservice_kakaotalk_node_docker_image_registry_prefix_upstream_default: "" | |||
| matrix_appservice_kakaotalk_node_docker_image_force_pull: "{{ matrix_appservice_kakaotalk_node_docker_image.endswith(':latest') }}" | |||
| matrix_appservice_kakaotalk_node_container_image: "{{ matrix_appservice_kakaotalk_node_container_image_registry_prefix }}fair/matrix-appservice-kakaotalk-node:{{ matrix_appservice_kakaotalk_node_version }}" | |||
| matrix_appservice_kakaotalk_node_container_image_registry_prefix: "{{ 'localhost/' if matrix_appservice_kakaotalk_container_image_self_build else matrix_appservice_kakaotalk_node_container_image_registry_prefix_upstream }}" | |||
| matrix_appservice_kakaotalk_node_container_image_registry_prefix_upstream: "{{ matrix_appservice_kakaotalk_node_container_image_registry_prefix_upstream_default }}" | |||
| matrix_appservice_kakaotalk_node_container_image_registry_prefix_upstream_default: "" | |||
| matrix_appservice_kakaotalk_node_container_image_force_pull: "{{ matrix_appservice_kakaotalk_node_container_image.endswith(':latest') }}" | |||
| matrix_appservice_kakaotalk_version: 86c038fd2ffee5e0aebf65136f085cce7e38b54e | |||
| matrix_appservice_kakaotalk_docker_image: "{{ matrix_appservice_kakaotalk_docker_image_registry_prefix }}fair/matrix-appservice-kakaotalk:{{ matrix_appservice_kakaotalk_version }}" | |||
| matrix_appservice_kakaotalk_docker_image_registry_prefix: "{{ 'localhost/' if matrix_appservice_kakaotalk_container_image_self_build else matrix_appservice_kakaotalk_docker_image_registry_prefix_upstream }}" | |||
| matrix_appservice_kakaotalk_docker_image_registry_prefix_upstream: "{{ matrix_appservice_kakaotalk_docker_image_registry_prefix_upstream_default }}" | |||
| matrix_appservice_kakaotalk_docker_image_registry_prefix_upstream_default: "" | |||
| matrix_appservice_kakaotalk_docker_image_force_pull: "{{ matrix_appservice_kakaotalk_docker_image.endswith(':latest') }}" | |||
| matrix_appservice_kakaotalk_container_image: "{{ matrix_appservice_kakaotalk_container_image_registry_prefix }}fair/matrix-appservice-kakaotalk:{{ matrix_appservice_kakaotalk_version }}" | |||
| matrix_appservice_kakaotalk_container_image_registry_prefix: "{{ 'localhost/' if matrix_appservice_kakaotalk_container_image_self_build else matrix_appservice_kakaotalk_container_image_registry_prefix_upstream }}" | |||
| matrix_appservice_kakaotalk_container_image_registry_prefix_upstream: "{{ matrix_appservice_kakaotalk_container_image_registry_prefix_upstream_default }}" | |||
| matrix_appservice_kakaotalk_container_image_registry_prefix_upstream_default: "" | |||
| matrix_appservice_kakaotalk_container_image_force_pull: "{{ matrix_appservice_kakaotalk_container_image.endswith(':latest') }}" | |||
| matrix_appservice_kakaotalk_base_path: "{{ matrix_base_data_path }}/appservice-kakaotalk" | |||
| matrix_appservice_kakaotalk_config_path: "{{ matrix_appservice_kakaotalk_base_path }}/config" | |||
| matrix_appservice_kakaotalk_data_path: "{{ matrix_appservice_kakaotalk_base_path }}/data" | |||
| matrix_appservice_kakaotalk_docker_src_files_path: "{{ matrix_appservice_kakaotalk_base_path }}/docker-src" | |||
| matrix_appservice_kakaotalk_container_src_files_path: "{{ matrix_appservice_kakaotalk_base_path }}/docker-src" | |||
| matrix_appservice_kakaotalk_command_prefix: "!kt" | |||
| @@ -8,10 +8,10 @@ | |||
| - name: Ensure matrix-appservice-kakaotalk image is pulled | |||
| community.docker.docker_image: | |||
| name: "{{ matrix_appservice_kakaotalk_docker_image }}" | |||
| name: "{{ matrix_appservice_kakaotalk_container_image }}" | |||
| source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}" | |||
| force_source: "{{ matrix_appservice_kakaotalk_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" | |||
| force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_appservice_kakaotalk_docker_image_force_pull }}" | |||
| force_source: "{{ matrix_appservice_kakaotalk_container_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" | |||
| force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_appservice_kakaotalk_container_image_force_pull }}" | |||
| when: not matrix_appservice_kakaotalk_container_image_self_build | |||
| register: result | |||
| retries: "{{ devture_playbook_help_container_retries_count }}" | |||
| @@ -20,10 +20,10 @@ | |||
| - name: Ensure matrix-appservice-kakaotalk-node image is pulled | |||
| community.docker.docker_image: | |||
| name: "{{ matrix_appservice_kakaotalk_node_docker_image }}" | |||
| name: "{{ matrix_appservice_kakaotalk_node_container_image }}" | |||
| source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}" | |||
| force_source: "{{ matrix_appservice_kakaotalk_node_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" | |||
| force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_appservice_kakaotalk_node_docker_image_force_pull }}" | |||
| force_source: "{{ matrix_appservice_kakaotalk_node_container_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" | |||
| force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_appservice_kakaotalk_node_container_image_force_pull }}" | |||
| when: not matrix_appservice_kakaotalk_container_image_self_build | |||
| register: result | |||
| retries: "{{ devture_playbook_help_container_retries_count }}" | |||
| @@ -41,13 +41,13 @@ | |||
| - {path: "{{ matrix_appservice_kakaotalk_base_path }}", when: true} | |||
| - {path: "{{ matrix_appservice_kakaotalk_config_path }}", when: true} | |||
| - {path: "{{ matrix_appservice_kakaotalk_data_path }}", when: true} | |||
| - {path: "{{ matrix_appservice_kakaotalk_docker_src_files_path }}", when: "{{ matrix_appservice_kakaotalk_container_image_self_build }}"} | |||
| - {path: "{{ matrix_appservice_kakaotalk_container_src_files_path }}", when: "{{ matrix_appservice_kakaotalk_container_image_self_build }}"} | |||
| when: item.when | bool | |||
| - name: Ensure matrix-appservice-kakaotalk repository is present on self-build | |||
| ansible.builtin.git: | |||
| repo: "{{ matrix_appservice_kakaotalk_container_image_self_build_repo }}" | |||
| dest: "{{ matrix_appservice_kakaotalk_docker_src_files_path }}" | |||
| dest: "{{ matrix_appservice_kakaotalk_container_src_files_path }}" | |||
| version: "{{ matrix_appservice_kakaotalk_container_image_self_build_repo_version }}" | |||
| force: "yes" | |||
| become: true | |||
| @@ -57,25 +57,25 @@ | |||
| - name: Ensure matrix-appservice-kakaotalk-node Docker image is built | |||
| community.docker.docker_image: | |||
| name: "{{ matrix_appservice_kakaotalk_node_docker_image }}" | |||
| name: "{{ matrix_appservice_kakaotalk_node_container_image }}" | |||
| source: build | |||
| force_source: "{{ matrix_appservice_kakaotalk_git_pull_results.changed if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" | |||
| force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_appservice_kakaotalk_git_pull_results.changed }}" | |||
| build: | |||
| dockerfile: Dockerfile | |||
| path: "{{ matrix_appservice_kakaotalk_docker_src_files_path }}/node" | |||
| path: "{{ matrix_appservice_kakaotalk_container_src_files_path }}/node" | |||
| pull: true | |||
| when: "matrix_appservice_kakaotalk_container_image_self_build | bool" | |||
| - name: Ensure matrix-appservice-kakaotalk Docker image is built | |||
| community.docker.docker_image: | |||
| name: "{{ matrix_appservice_kakaotalk_docker_image }}" | |||
| name: "{{ matrix_appservice_kakaotalk_container_image }}" | |||
| source: build | |||
| force_source: "{{ matrix_appservice_kakaotalk_git_pull_results.changed if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" | |||
| force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_appservice_kakaotalk_git_pull_results.changed }}" | |||
| build: | |||
| dockerfile: Dockerfile | |||
| path: "{{ matrix_appservice_kakaotalk_docker_src_files_path }}" | |||
| path: "{{ matrix_appservice_kakaotalk_container_src_files_path }}" | |||
| pull: true | |||
| when: "matrix_appservice_kakaotalk_container_image_self_build | bool" | |||
| @@ -5,6 +5,27 @@ | |||
| --- | |||
| - name: (Deprecation) Catch and report renamed appservice-kakaotalk variables | |||
| 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_appservice_kakaotalk_node_docker_image_name_prefix', 'new': 'matrix_appservice_kakaotalk_node_container_image_registry_prefix'} | |||
| - {'old': 'matrix_appservice_kakaotalk_docker_image_name_prefix', 'new': 'matrix_appservice_kakaotalk_container_image_registry_prefix'} | |||
| - {'old': 'matrix_appservice_kakaotalk_docker_image', 'new': 'matrix_appservice_kakaotalk_container_image'} | |||
| - {'old': 'matrix_appservice_kakaotalk_docker_image_force_pull', 'new': 'matrix_appservice_kakaotalk_container_image_force_pull'} | |||
| - {'old': 'matrix_appservice_kakaotalk_docker_image_registry_prefix', 'new': 'matrix_appservice_kakaotalk_container_image_registry_prefix'} | |||
| - {'old': 'matrix_appservice_kakaotalk_docker_image_registry_prefix_upstream', 'new': 'matrix_appservice_kakaotalk_container_image_registry_prefix_upstream'} | |||
| - {'old': 'matrix_appservice_kakaotalk_docker_image_registry_prefix_upstream_default', 'new': 'matrix_appservice_kakaotalk_container_image_registry_prefix_upstream_default'} | |||
| - {'old': 'matrix_appservice_kakaotalk_docker_src_files_path', 'new': 'matrix_appservice_kakaotalk_container_src_files_path'} | |||
| - {'old': 'matrix_appservice_kakaotalk_node_docker_image', 'new': 'matrix_appservice_kakaotalk_node_container_image'} | |||
| - {'old': 'matrix_appservice_kakaotalk_node_docker_image_force_pull', 'new': 'matrix_appservice_kakaotalk_node_container_image_force_pull'} | |||
| - {'old': 'matrix_appservice_kakaotalk_node_docker_image_registry_prefix', 'new': 'matrix_appservice_kakaotalk_node_container_image_registry_prefix'} | |||
| - {'old': 'matrix_appservice_kakaotalk_node_docker_image_registry_prefix_upstream', 'new': 'matrix_appservice_kakaotalk_node_container_image_registry_prefix_upstream'} | |||
| - {'old': 'matrix_appservice_kakaotalk_node_docker_image_registry_prefix_upstream_default', 'new': 'matrix_appservice_kakaotalk_node_container_image_registry_prefix_upstream_default'} | |||
| - name: Fail if required appservice-kakaotalk settings not defined | |||
| ansible.builtin.fail: | |||
| msg: >- | |||
| @@ -16,13 +37,3 @@ | |||
| - {'name': 'matrix_appservice_kakaotalk_homeserver_token', when: true} | |||
| - {'name': 'matrix_appservice_kakaotalk_database_hostname', when: "{{ matrix_appservice_kakaotalk_database_engine == 'postgres' }}"} | |||
| - {'name': 'matrix_appservice_kakaotalk_container_network', when: true} | |||
| - name: (Deprecation) Catch and report renamed appservice-kakaotalk variables | |||
| 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_appservice_kakaotalk_node_docker_image_name_prefix', 'new': 'matrix_appservice_kakaotalk_node_docker_image_registry_prefix'} | |||
| - {'old': 'matrix_appservice_kakaotalk_docker_image_name_prefix', 'new': 'matrix_appservice_kakaotalk_docker_image_registry_prefix'} | |||
| @@ -27,7 +27,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ | |||
| {% for arg in matrix_appservice_kakaotalk_node_container_extra_arguments %} | |||
| {{ arg }} \ | |||
| {% endfor %} | |||
| {{ matrix_appservice_kakaotalk_node_docker_image }} \ | |||
| {{ matrix_appservice_kakaotalk_node_container_image }} \ | |||
| node src/main.js --config /config.json | |||
| {% for network in matrix_appservice_kakaotalk_container_additional_networks %} | |||
| @@ -28,7 +28,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ | |||
| {% for arg in matrix_appservice_kakaotalk_container_extra_arguments %} | |||
| {{ arg }} \ | |||
| {% endfor %} | |||
| {{ matrix_appservice_kakaotalk_docker_image }} \ | |||
| {{ matrix_appservice_kakaotalk_container_image }} \ | |||
| python3 -m matrix_appservice_kakaotalk -c /config/config.yaml --no-update | |||
| {% for network in matrix_appservice_discord_container_additional_networks %} | |||
| @@ -27,27 +27,27 @@ matrix_mautrix_telegram_path_prefix: '' | |||
| matrix_mautrix_telegram_lottieconverter_container_image_self_build: false | |||
| matrix_mautrix_telegram_lottieconverter_container_image_self_build_mask_arch: false | |||
| matrix_mautrix_telegram_lottieconverter_docker_repo: "https://mau.dev/tulir/lottieconverter.git" | |||
| matrix_mautrix_telegram_lottieconverter_docker_repo_version: "master" | |||
| matrix_mautrix_telegram_lottieconverter_docker_src_files_path: "{{ matrix_base_data_path }}/lotticonverter/docker-src" | |||
| matrix_mautrix_telegram_lottieconverter_docker_image: "{{ matrix_mautrix_telegram_lottieconverter_docker_image_registry_prefix }}tulir/lottieconverter:alpine-3.16" # needs to be adjusted according to the FROM clause of Dockerfile of mautrix-telegram | |||
| matrix_mautrix_telegram_lottieconverter_docker_image_registry_prefix: "{{ 'localhost/' if matrix_mautrix_telegram_lottieconverter_container_image_self_build else matrix_mautrix_telegram_lottieconverter_docker_image_registry_prefix_upstream }}" | |||
| matrix_mautrix_telegram_lottieconverter_docker_image_registry_prefix_upstream: "{{ matrix_mautrix_telegram_lottieconverter_docker_image_registry_prefix_upstream_default }}" | |||
| matrix_mautrix_telegram_lottieconverter_docker_image_registry_prefix_upstream_default: "dock.mau.dev/" | |||
| matrix_mautrix_telegram_lottieconverter_container_repo: "https://mau.dev/tulir/lottieconverter.git" | |||
| matrix_mautrix_telegram_lottieconverter_container_repo_version: "master" | |||
| matrix_mautrix_telegram_lottieconverter_container_src_files_path: "{{ matrix_base_data_path }}/lotticonverter/docker-src" | |||
| matrix_mautrix_telegram_lottieconverter_container_image: "{{ matrix_mautrix_telegram_lottieconverter_container_image_registry_prefix }}tulir/lottieconverter:alpine-3.16" # needs to be adjusted according to the FROM clause of Dockerfile of mautrix-telegram | |||
| matrix_mautrix_telegram_lottieconverter_container_image_registry_prefix: "{{ 'localhost/' if matrix_mautrix_telegram_lottieconverter_container_image_self_build else matrix_mautrix_telegram_lottieconverter_container_image_registry_prefix_upstream }}" | |||
| matrix_mautrix_telegram_lottieconverter_container_image_registry_prefix_upstream: "{{ matrix_mautrix_telegram_lottieconverter_container_image_registry_prefix_upstream_default }}" | |||
| matrix_mautrix_telegram_lottieconverter_container_image_registry_prefix_upstream_default: "dock.mau.dev/" | |||
| matrix_mautrix_telegram_container_image_self_build: false | |||
| matrix_mautrix_telegram_docker_repo: "https://mau.dev/mautrix/telegram.git" | |||
| matrix_mautrix_telegram_docker_repo_version: "{{ 'master' if matrix_mautrix_telegram_version == 'latest' else matrix_mautrix_telegram_version }}" | |||
| matrix_mautrix_telegram_docker_src_files_path: "{{ matrix_base_data_path }}/mautrix-telegram/docker-src" | |||
| matrix_mautrix_telegram_container_repo: "https://mau.dev/mautrix/telegram.git" | |||
| matrix_mautrix_telegram_container_repo_version: "{{ 'master' if matrix_mautrix_telegram_version == 'latest' else matrix_mautrix_telegram_version }}" | |||
| matrix_mautrix_telegram_container_src_files_path: "{{ matrix_base_data_path }}/mautrix-telegram/docker-src" | |||
| # renovate: datasource=docker depName=dock.mau.dev/mautrix/telegram | |||
| matrix_mautrix_telegram_version: v0.15.3 | |||
| # See: https://mau.dev/mautrix/telegram/container_registry | |||
| matrix_mautrix_telegram_docker_image: "{{ matrix_mautrix_telegram_docker_image_registry_prefix }}mautrix/telegram:{{ matrix_mautrix_telegram_version }}" | |||
| matrix_mautrix_telegram_docker_image_registry_prefix: "{{ 'localhost/' if matrix_mautrix_telegram_container_image_self_build else matrix_mautrix_telegram_docker_image_registry_prefix_upstream }}" | |||
| matrix_mautrix_telegram_docker_image_registry_prefix_upstream: "{{ matrix_mautrix_telegram_docker_image_registry_prefix_upstream_default }}" | |||
| matrix_mautrix_telegram_docker_image_registry_prefix_upstream_default: "dock.mau.dev/" | |||
| matrix_mautrix_telegram_docker_image_force_pull: "{{ matrix_mautrix_telegram_docker_image.endswith(':latest') }}" | |||
| matrix_mautrix_telegram_container_image: "{{ matrix_mautrix_telegram_container_image_registry_prefix }}mautrix/telegram:{{ matrix_mautrix_telegram_version }}" | |||
| matrix_mautrix_telegram_container_image_registry_prefix: "{{ 'localhost/' if matrix_mautrix_telegram_container_image_self_build else matrix_mautrix_telegram_container_image_registry_prefix_upstream }}" | |||
| matrix_mautrix_telegram_container_image_registry_prefix_upstream: "{{ matrix_mautrix_telegram_container_image_registry_prefix_upstream_default }}" | |||
| matrix_mautrix_telegram_container_image_registry_prefix_upstream_default: "dock.mau.dev/" | |||
| matrix_mautrix_telegram_container_image_force_pull: "{{ matrix_mautrix_telegram_container_image.endswith(':latest') }}" | |||
| matrix_mautrix_telegram_base_path: "{{ matrix_base_data_path }}/mautrix-telegram" | |||
| matrix_mautrix_telegram_config_path: "{{ matrix_mautrix_telegram_base_path }}/config" | |||
| @@ -55,15 +55,15 @@ | |||
| - {path: "{{ matrix_mautrix_telegram_base_path }}", when: true} | |||
| - {path: "{{ matrix_mautrix_telegram_config_path }}", when: true} | |||
| - {path: "{{ matrix_mautrix_telegram_data_path }}", when: true} | |||
| - {path: "{{ matrix_mautrix_telegram_docker_src_files_path }}", when: "{{ matrix_mautrix_telegram_container_image_self_build }}"} | |||
| - {path: "{{ matrix_mautrix_telegram_container_src_files_path }}", when: "{{ matrix_mautrix_telegram_container_image_self_build }}"} | |||
| when: item.when | bool | |||
| - name: Ensure Mautrix Telegram image is pulled | |||
| community.docker.docker_image: | |||
| name: "{{ matrix_mautrix_telegram_docker_image }}" | |||
| name: "{{ matrix_mautrix_telegram_container_image }}" | |||
| source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}" | |||
| force_source: "{{ matrix_mautrix_telegram_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" | |||
| force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_mautrix_telegram_docker_image_force_pull }}" | |||
| force_source: "{{ matrix_mautrix_telegram_container_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" | |||
| force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_mautrix_telegram_container_image_force_pull }}" | |||
| when: "not matrix_mautrix_telegram_container_image_self_build | bool" | |||
| register: matrix_mautrix_telegram_container_image_pull_result | |||
| retries: "{{ devture_playbook_help_container_retries_count }}" | |||
| @@ -72,9 +72,9 @@ | |||
| - name: Ensure lottieconverter is present when self-building | |||
| ansible.builtin.git: | |||
| repo: "{{ matrix_mautrix_telegram_lottieconverter_docker_repo }}" | |||
| version: "{{ matrix_mautrix_telegram_lottieconverter_docker_repo_version }}" | |||
| dest: "{{ matrix_mautrix_telegram_lottieconverter_docker_src_files_path }}" | |||
| repo: "{{ matrix_mautrix_telegram_lottieconverter_container_repo }}" | |||
| version: "{{ matrix_mautrix_telegram_lottieconverter_container_repo_version }}" | |||
| dest: "{{ matrix_mautrix_telegram_lottieconverter_container_src_files_path }}" | |||
| force: "yes" | |||
| become: true | |||
| become_user: "{{ matrix_user_name }}" | |||
| @@ -83,21 +83,21 @@ | |||
| - name: Ensure lottieconverter Docker image is built | |||
| community.docker.docker_image: | |||
| name: "{{ matrix_mautrix_telegram_lottieconverter_docker_image }}" | |||
| name: "{{ matrix_mautrix_telegram_lottieconverter_container_image }}" | |||
| source: build | |||
| force_source: "{{ matrix_mautrix_telegram_lottieconverter_git_pull_results.changed if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" | |||
| force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_mautrix_telegram_lottieconverter_git_pull_results.changed }}" | |||
| build: | |||
| dockerfile: Dockerfile | |||
| path: "{{ matrix_mautrix_telegram_lottieconverter_docker_src_files_path }}" | |||
| path: "{{ matrix_mautrix_telegram_lottieconverter_container_src_files_path }}" | |||
| pull: true | |||
| when: "matrix_mautrix_telegram_lottieconverter_container_image_self_build | bool and matrix_mautrix_telegram_lottieconverter_git_pull_results.changed and matrix_mautrix_telegram_container_image_self_build | bool" | |||
| - name: Ensure matrix-mautrix-telegram repository is present when self-building | |||
| ansible.builtin.git: | |||
| repo: "{{ matrix_mautrix_telegram_docker_repo }}" | |||
| version: "{{ matrix_mautrix_telegram_docker_repo_version }}" | |||
| dest: "{{ matrix_mautrix_telegram_docker_src_files_path }}" | |||
| repo: "{{ matrix_mautrix_telegram_container_repo }}" | |||
| version: "{{ matrix_mautrix_telegram_container_repo_version }}" | |||
| dest: "{{ matrix_mautrix_telegram_container_src_files_path }}" | |||
| force: "yes" | |||
| become: true | |||
| become_user: "{{ matrix_user_name }}" | |||
| @@ -106,13 +106,13 @@ | |||
| - name: Ensure matrix-mautrix-telegram Docker image is built | |||
| community.docker.docker_image: | |||
| name: "{{ matrix_mautrix_telegram_docker_image }}" | |||
| name: "{{ matrix_mautrix_telegram_container_image }}" | |||
| source: build | |||
| force_source: "{{ matrix_mautrix_telegram_git_pull_results.changed if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" | |||
| force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_mautrix_telegram_git_pull_results.changed }}" | |||
| build: | |||
| dockerfile: Dockerfile | |||
| path: "{{ matrix_mautrix_telegram_docker_src_files_path }}" | |||
| path: "{{ matrix_mautrix_telegram_container_src_files_path }}" | |||
| pull: "{{ not matrix_mautrix_telegram_lottieconverter_container_image_self_build_mask_arch | bool }}" | |||
| args: | |||
| TARGETARCH: "" | |||
| @@ -6,6 +6,42 @@ | |||
| --- | |||
| - name: (Deprecation) Catch and report renamed mautrix-telegram variables | |||
| 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_mautrix_telegram_container_exposed_port_number', 'new': '<superseded by matrix_mautrix_telegram_container_http_host_bind_port>'} | |||
| - {'old': 'matrix_mautrix_telegram_container_self_build', 'new': 'matrix_mautrix_telegram_container_image_self_build'} | |||
| - {'old': 'matrix_mautrix_telegram_lottieconverter_container_self_build', 'new': 'matrix_mautrix_telegram_container_image_self_build'} | |||
| - {'old': 'matrix_mautrix_telegram_lottieconverter_container_self_build_mask_arch', 'new': 'matrix_mautrix_telegram_lottieconverter_container_image_self_build_mask_arch'} | |||
| - {'old': 'matrix_mautrix_telegram_login_shared_secret', 'new': '<removed>'} | |||
| - {'old': 'matrix_mautrix_telegram_lottieconverter_docker_image_name_prefix', 'new': 'matrix_mautrix_telegram_lottieconverter_container_image_registry_prefix'} | |||
| - {'old': 'matrix_mautrix_telegram_docker_image_name_prefix', 'new': 'matrix_mautrix_telegram_container_image_registry_prefix'} | |||
| - {'old': 'matrix_telegram_lottieconverter_container_image_self_build', 'new': 'matrix_mautrix_telegram_lottieconverter_container_image_self_build'} | |||
| - {'old': 'matrix_telegram_lottieconverter_container_image_self_build_mask_arch', 'new': 'matrix_mautrix_telegram_lottieconverter_container_image_self_build_mask_arch'} | |||
| - {'old': 'matrix_telegram_lottieconverter_docker_repo', 'new': 'matrix_mautrix_telegram_lottieconverter_container_repo'} | |||
| - {'old': 'matrix_telegram_lottieconverter_docker_repo_version', 'new': 'matrix_mautrix_telegram_lottieconverter_container_repo_version'} | |||
| - {'old': 'matrix_telegram_lottieconverter_docker_src_files_path', 'new': 'matrix_mautrix_telegram_lottieconverter_container_src_files_path'} | |||
| - {'old': 'matrix_telegram_lottieconverter_docker_image', 'new': 'matrix_mautrix_telegram_lottieconverter_container_image'} | |||
| - {'old': 'matrix_mautrix_telegram_docker_repo', 'new': 'matrix_mautrix_telegram_container_repo'} | |||
| - {'old': 'matrix_mautrix_telegram_docker_repo_version', 'new': 'matrix_mautrix_telegram_container_repo_version'} | |||
| - {'old': 'matrix_mautrix_telegram_docker_src_files_path', 'new': 'matrix_mautrix_telegram_container_src_files_path'} | |||
| - {'old': 'matrix_mautrix_telegram_docker_image', 'new': 'matrix_mautrix_telegram_container_image'} | |||
| - {'old': 'matrix_mautrix_telegram_docker_image_force_pull', 'new': 'matrix_mautrix_telegram_container_image_force_pull'} | |||
| - {'old': 'matrix_mautrix_telegram_docker_image_registry_prefix', 'new': 'matrix_mautrix_telegram_container_image_registry_prefix'} | |||
| - {'old': 'matrix_mautrix_telegram_docker_image_registry_prefix_upstream', 'new': 'matrix_mautrix_telegram_container_image_registry_prefix_upstream'} | |||
| - {'old': 'matrix_mautrix_telegram_docker_image_registry_prefix_upstream_default', 'new': 'matrix_mautrix_telegram_container_image_registry_prefix_upstream_default'} | |||
| - {'old': 'matrix_mautrix_telegram_lottieconverter_docker_image', 'new': 'matrix_mautrix_telegram_lottieconverter_container_image'} | |||
| - {'old': 'matrix_mautrix_telegram_lottieconverter_docker_image_registry_prefix', 'new': 'matrix_mautrix_telegram_lottieconverter_container_image_registry_prefix'} | |||
| - {'old': 'matrix_mautrix_telegram_lottieconverter_docker_image_registry_prefix_upstream', 'new': 'matrix_mautrix_telegram_lottieconverter_container_image_registry_prefix_upstream'} | |||
| - {'old': 'matrix_mautrix_telegram_lottieconverter_docker_image_registry_prefix_upstream_default', 'new': 'matrix_mautrix_telegram_lottieconverter_container_image_registry_prefix_upstream_default'} | |||
| - {'old': 'matrix_mautrix_telegram_lottieconverter_docker_repo', 'new': 'matrix_mautrix_telegram_lottieconverter_container_repo'} | |||
| - {'old': 'matrix_mautrix_telegram_lottieconverter_docker_repo_version', 'new': 'matrix_mautrix_telegram_lottieconverter_container_repo_version'} | |||
| - {'old': 'matrix_mautrix_telegram_lottieconverter_docker_src_files_path', 'new': 'matrix_mautrix_telegram_lottieconverter_container_src_files_path'} | |||
| - name: Fail if required mautrix-telegram settings not defined | |||
| ansible.builtin.fail: | |||
| msg: >- | |||
| @@ -24,24 +60,3 @@ | |||
| - {'name': 'matrix_mautrix_telegram_database_hostname', when: "{{ matrix_mautrix_telegram_database_engine == 'postgres' }}"} | |||
| - {'name': 'matrix_mautrix_telegram_metrics_proxying_hostname', when: "{{ matrix_mautrix_telegram_metrics_proxying_enabled }}"} | |||
| - {'name': 'matrix_mautrix_telegram_metrics_proxying_path_prefix', when: "{{ matrix_mautrix_telegram_metrics_proxying_enabled }}"} | |||
| - name: (Deprecation) Catch and report renamed mautrix-telegram variables | |||
| 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_mautrix_telegram_container_exposed_port_number', 'new': '<superseded by matrix_mautrix_telegram_container_http_host_bind_port>'} | |||
| - {'old': 'matrix_mautrix_telegram_container_self_build', 'new': 'matrix_mautrix_telegram_container_image_self_build'} | |||
| - {'old': 'matrix_mautrix_telegram_lottieconverter_container_self_build', 'new': 'matrix_mautrix_telegram_container_image_self_build'} | |||
| - {'old': 'matrix_mautrix_telegram_lottieconverter_container_self_build_mask_arch', 'new': 'matrix_mautrix_telegram_lottieconverter_container_image_self_build_mask_arch'} | |||
| - {'old': 'matrix_mautrix_telegram_login_shared_secret', 'new': '<removed>'} | |||
| - {'old': 'matrix_mautrix_telegram_lottieconverter_docker_image_name_prefix', 'new': 'matrix_mautrix_telegram_lottieconverter_docker_image_registry_prefix'} | |||
| - {'old': 'matrix_mautrix_telegram_docker_image_name_prefix', 'new': 'matrix_mautrix_telegram_docker_image_registry_prefix'} | |||
| - {'old': 'matrix_telegram_lottieconverter_container_image_self_build', 'new': 'matrix_mautrix_telegram_lottieconverter_container_image_self_build'} | |||
| - {'old': 'matrix_telegram_lottieconverter_container_image_self_build_mask_arch', 'new': 'matrix_mautrix_telegram_lottieconverter_container_image_self_build_mask_arch'} | |||
| - {'old': 'matrix_telegram_lottieconverter_docker_repo', 'new': 'matrix_mautrix_telegram_lottieconverter_docker_repo'} | |||
| - {'old': 'matrix_telegram_lottieconverter_docker_repo_version', 'new': 'matrix_mautrix_telegram_lottieconverter_docker_repo_version'} | |||
| - {'old': 'matrix_telegram_lottieconverter_docker_src_files_path', 'new': 'matrix_mautrix_telegram_lottieconverter_docker_src_files_path'} | |||
| - {'old': 'matrix_telegram_lottieconverter_docker_image', 'new': 'matrix_mautrix_telegram_lottieconverter_docker_image'} | |||
| @@ -32,7 +32,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ | |||
| {% for arg in matrix_mautrix_telegram_container_extra_arguments %} | |||
| {{ arg }} \ | |||
| {% endfor %} | |||
| {{ matrix_mautrix_telegram_docker_image }} \ | |||
| {{ matrix_mautrix_telegram_container_image }} \ | |||
| python3 -m mautrix_telegram -c /config/config.yaml --no-update | |||
| {% for network in matrix_mautrix_telegram_container_additional_networks %} | |||
| @@ -7,7 +7,7 @@ matrix_synapse_enabled: true | |||
| # Specifies which Github organization and repository name Synapse lives at. | |||
| # | |||
| # This influences: | |||
| # - the Github Container Image registry that container images are pulled from (see `matrix_synapse_docker_image_name`) | |||
| # - the Github Container Image registry that container images are pulled from (see `matrix_synapse_container_image_name`) | |||
| # - the git repository to code is pulled from when self-building is used (see `matrix_synapse_container_image_self_build_repo`) | |||
| # - potentially other roles which need to reference the Synapse git repository | |||
| # | |||
| @@ -33,8 +33,8 @@ matrix_synapse_container_image_self_build_repo: "https://github.com/{{ matrix_sy | |||
| # See: | |||
| # - `roles/custom/matrix-synapse/templates/synapse/customizations/Dockerfile.j2` | |||
| # - `matrix_synapse_container_image_customizations_dockerfile_body_custom` | |||
| # - `matrix_synapse_docker_image_customized` | |||
| # - `matrix_synapse_docker_image_final` | |||
| # - `matrix_synapse_container_image_customized` | |||
| # - `matrix_synapse_container_image_final` | |||
| matrix_synapse_container_image_customizations_enabled: |- | |||
| {{ | |||
| matrix_synapse_container_image_customizations_s3_storage_provider_installation_enabled | |||
| @@ -71,7 +71,7 @@ matrix_synapse_container_image_customizations_templates_git_repository_keyscan_e | |||
| matrix_synapse_container_image_customizations_templates_git_repository_keyscan_hostname: '' | |||
| # matrix_synapse_container_image_customizations_dockerfile_body contains your custom Dockerfile steps | |||
| # for building your customized Synapse image based on the original (upstream) image (`matrix_synapse_docker_image`). | |||
| # for building your customized Synapse image based on the original (upstream) image (`matrix_synapse_container_image`). | |||
| # A `FROM …` clause is included automatically so you don't have to. | |||
| # | |||
| # For this to take effect, you need to enable customizations (`matrix_synapse_container_image_customizations_enabled: true`). | |||
| @@ -83,35 +83,35 @@ matrix_synapse_container_image_customizations_templates_git_repository_keyscan_h | |||
| # RUN echo 'You do NOT need to include a FROM clause yourself.' | |||
| matrix_synapse_container_image_customizations_dockerfile_body_custom: '' | |||
| matrix_synapse_docker_image: "{{ matrix_synapse_docker_image_registry_prefix }}{{ matrix_synapse_docker_image_name }}:{{ matrix_synapse_docker_image_tag }}" | |||
| matrix_synapse_docker_image_name: "{{ matrix_synapse_github_org_and_repo }}" | |||
| matrix_synapse_docker_image_tag: "{{ matrix_synapse_version }}" | |||
| matrix_synapse_docker_image_force_pull: "{{ matrix_synapse_docker_image.endswith(':latest') }}" | |||
| matrix_synapse_docker_image_registry_prefix: "{{ 'localhost/' if matrix_synapse_container_image_self_build else matrix_synapse_docker_image_registry_prefix_upstream }}" | |||
| matrix_synapse_docker_image_registry_prefix_upstream: "{{ matrix_synapse_docker_image_registry_prefix_upstream_default }}" | |||
| matrix_synapse_docker_image_registry_prefix_upstream_default: "ghcr.io/" | |||
| matrix_synapse_container_image: "{{ matrix_synapse_container_image_registry_prefix }}{{ matrix_synapse_container_image_name }}:{{ matrix_synapse_container_image_tag }}" | |||
| matrix_synapse_container_image_name: "{{ matrix_synapse_github_org_and_repo }}" | |||
| matrix_synapse_container_image_tag: "{{ matrix_synapse_version }}" | |||
| matrix_synapse_container_image_force_pull: "{{ matrix_synapse_container_image.endswith(':latest') }}" | |||
| matrix_synapse_container_image_registry_prefix: "{{ 'localhost/' if matrix_synapse_container_image_self_build else matrix_synapse_container_image_registry_prefix_upstream }}" | |||
| matrix_synapse_container_image_registry_prefix_upstream: "{{ matrix_synapse_container_image_registry_prefix_upstream_default }}" | |||
| matrix_synapse_container_image_registry_prefix_upstream_default: "ghcr.io/" | |||
| # matrix_synapse_docker_image_customized is the name of the locally built Synapse image | |||
| # matrix_synapse_container_image_customized is the name of the locally built Synapse image | |||
| # which adds various customizations on top of the original (upstream) Synapse image. | |||
| # This image will be based on the upstream `matrix_synapse_docker_image` image, only if `matrix_synapse_container_image_customizations_enabled: true`. | |||
| matrix_synapse_docker_image_customized: "localhost/matrixdotorg/synapse:{{ matrix_synapse_docker_image_tag }}-customized" | |||
| # This image will be based on the upstream `matrix_synapse_container_image` image, only if `matrix_synapse_container_image_customizations_enabled: true`. | |||
| matrix_synapse_container_image_customized: "localhost/matrixdotorg/synapse:{{ matrix_synapse_container_image_tag }}-customized" | |||
| # Controls whether the customized image (`matrix_synapse_docker_image_customized`) is to be force-built without layer caching enabled. | |||
| # Controls whether the customized image (`matrix_synapse_container_image_customized`) is to be force-built without layer caching enabled. | |||
| # This is useful if you've enabled customizations (e.g. `matrix_synapse_container_image_customizations_templates_enabled`), | |||
| # which clone some branch of some repository, and you'd like for each Ansible run to pull new revisions from that branch. | |||
| matrix_synapse_docker_image_customized_build_nocache: false | |||
| matrix_synapse_container_image_customized_build_nocache: false | |||
| # Controls whether the customized image (`matrix_synapse_docker_image_customized`) is to be built, even if it already exists. | |||
| # Related to: matrix_synapse_docker_image_customized_build_nocache | |||
| matrix_synapse_docker_image_customized_force_source: "{{ matrix_synapse_docker_image_customized_build_nocache }}" | |||
| # Controls whether the customized image (`matrix_synapse_container_image_customized`) is to be built, even if it already exists. | |||
| # Related to: matrix_synapse_container_image_customized_build_nocache | |||
| matrix_synapse_container_image_customized_force_source: "{{ matrix_synapse_container_image_customized_build_nocache }}" | |||
| # matrix_synapse_docker_image_final holds the name of the Synapse image to run depending on whether or not customizations are enabled. | |||
| matrix_synapse_docker_image_final: "{{ matrix_synapse_docker_image_customized if matrix_synapse_container_image_customizations_enabled else matrix_synapse_docker_image }} " | |||
| # matrix_synapse_container_image_final holds the name of the Synapse image to run depending on whether or not customizations are enabled. | |||
| matrix_synapse_container_image_final: "{{ matrix_synapse_container_image_customized if matrix_synapse_container_image_customizations_enabled else matrix_synapse_container_image }} " | |||
| matrix_synapse_base_path: "{{ matrix_base_data_path }}/synapse" | |||
| matrix_synapse_docker_src_files_path: "{{ matrix_synapse_base_path }}/docker-src" | |||
| matrix_synapse_customized_docker_src_files_path: "{{ matrix_synapse_base_path }}/customized-docker-src" | |||
| matrix_synapse_container_src_files_path: "{{ matrix_synapse_base_path }}/docker-src" | |||
| matrix_synapse_customized_container_src_files_path: "{{ matrix_synapse_base_path }}/customized-docker-src" | |||
| matrix_synapse_config_dir_path: "{{ matrix_synapse_base_path }}/config" | |||
| matrix_synapse_storage_path: "{{ matrix_synapse_base_path }}/storage" | |||
| matrix_synapse_media_store_path: "{{ matrix_synapse_storage_path }}/media-store" | |||
| @@ -1649,13 +1649,13 @@ matrix_synapse_forgotten_room_retention_period: 28d | |||
| matrix_synapse_user_ips_max_age: 28d | |||
| matrix_synapse_rust_synapse_compress_state_docker_image: "{{ matrix_synapse_rust_synapse_compress_state_docker_image_registry_prefix }}mb-saces/rust-synapse-tools:{{ matrix_synapse_rust_synapse_compress_state_docker_image_version }}" | |||
| matrix_synapse_rust_synapse_compress_state_container_image: "{{ matrix_synapse_rust_synapse_compress_state_container_image_registry_prefix }}mb-saces/rust-synapse-tools:{{ matrix_synapse_rust_synapse_compress_state_container_image_version }}" | |||
| # renovate: datasource=docker depName=registry.gitlab.com/mb-saces/rust-synapse-tools | |||
| matrix_synapse_rust_synapse_compress_state_docker_image_version: v0.0.3 | |||
| matrix_synapse_rust_synapse_compress_state_docker_image_registry_prefix: "{{ matrix_synapse_rust_synapse_compress_state_docker_image_registry_prefix_upstream }}" | |||
| matrix_synapse_rust_synapse_compress_state_docker_image_registry_prefix_upstream: "{{ matrix_synapse_rust_synapse_compress_state_docker_image_registry_prefix_upstream_default }}" | |||
| matrix_synapse_rust_synapse_compress_state_docker_image_registry_prefix_upstream_default: "registry.gitlab.com/" | |||
| matrix_synapse_rust_synapse_compress_state_docker_image_force_pull: "{{ matrix_synapse_rust_synapse_compress_state_docker_image.endswith(':stable') or matrix_synapse_rust_synapse_compress_state_docker_image.endswith(':latest') }}" | |||
| matrix_synapse_rust_synapse_compress_state_container_image_version: v0.0.3 | |||
| matrix_synapse_rust_synapse_compress_state_container_image_registry_prefix: "{{ matrix_synapse_rust_synapse_compress_state_container_image_registry_prefix_upstream }}" | |||
| matrix_synapse_rust_synapse_compress_state_container_image_registry_prefix_upstream: "{{ matrix_synapse_rust_synapse_compress_state_container_image_registry_prefix_upstream_default }}" | |||
| matrix_synapse_rust_synapse_compress_state_container_image_registry_prefix_upstream_default: "registry.gitlab.com/" | |||
| matrix_synapse_rust_synapse_compress_state_container_image_force_pull: "{{ matrix_synapse_rust_synapse_compress_state_container_image.endswith(':stable') or matrix_synapse_rust_synapse_compress_state_container_image.endswith(':latest') }}" | |||
| matrix_synapse_rust_synapse_compress_state_base_path: "{{ matrix_base_data_path }}/rust-synapse-compress-state" | |||
| matrix_synapse_rust_synapse_compress_state_synapse_compress_state_in_container_path: "/usr/local/bin/synapse_compress_state" | |||
| @@ -38,7 +38,7 @@ | |||
| --mount type=bind,src={{ matrix_synapse_config_dir_path }},dst=/data | |||
| --mount type=bind,src={{ matrix_synapse_config_dir_path }},dst=/matrix-media-store-parent/media-store | |||
| --mount type=bind,src={{ server_path_homeserver_db }},dst=/{{ server_path_homeserver_db | basename }} | |||
| {{ matrix_synapse_docker_image_final }} | |||
| {{ matrix_synapse_container_image_final }} | |||
| /usr/local/bin/synapse_port_db --sqlite-database /{{ server_path_homeserver_db | basename }} --postgres-config /data/homeserver.yaml | |||
| register: matrix_postgres_import_synapse_sqlite_db_result | |||
| changed_when: matrix_postgres_import_synapse_sqlite_db_result.rc == 0 | |||
| @@ -17,7 +17,7 @@ | |||
| --cap-drop=ALL | |||
| --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_container_image }} | |||
| {{ matrix_synapse_rust_synapse_compress_state_synapse_compress_state_in_container_path }} -t -o /work/state-compressor.sql | |||
| -p "host={{ matrix_synapse_database_host }} user={{ matrix_synapse_database_user }} password={{ matrix_synapse_database_password }} dbname={{ matrix_synapse_database_database }}" | |||
| -r '{{ room_details.room_id }}' | |||
| @@ -52,10 +52,10 @@ | |||
| - name: Ensure rust-synapse-compress-state image is pulled | |||
| community.docker.docker_image: | |||
| name: "{{ matrix_synapse_rust_synapse_compress_state_docker_image }}" | |||
| name: "{{ matrix_synapse_rust_synapse_compress_state_container_image }}" | |||
| source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}" | |||
| force_source: "{{ matrix_synapse_rust_synapse_compress_state_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" | |||
| force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_synapse_rust_synapse_compress_state_docker_image_force_pull }}" | |||
| force_source: "{{ matrix_synapse_rust_synapse_compress_state_container_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" | |||
| force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_synapse_rust_synapse_compress_state_container_image_force_pull }}" | |||
| register: result | |||
| retries: "{{ devture_playbook_help_container_retries_count }}" | |||
| delay: "{{ devture_playbook_help_container_retries_delay }}" | |||
| @@ -22,8 +22,8 @@ | |||
| - {path: "{{ matrix_synapse_config_dir_path }}", when: true} | |||
| - {path: "{{ matrix_synapse_ext_path }}", when: true} | |||
| - {path: "{{ matrix_synapse_bin_path }}", when: true} | |||
| - {path: "{{ matrix_synapse_docker_src_files_path }}", when: "{{ matrix_synapse_container_image_self_build }}"} | |||
| - {path: "{{ matrix_synapse_customized_docker_src_files_path }}", when: "{{ matrix_synapse_container_image_customizations_enabled }}"} | |||
| - {path: "{{ matrix_synapse_container_src_files_path }}", when: "{{ matrix_synapse_container_image_self_build }}"} | |||
| - {path: "{{ matrix_synapse_customized_container_src_files_path }}", when: "{{ matrix_synapse_container_image_customizations_enabled }}"} | |||
| - {path: "{{ matrix_synapse_ext_s3_storage_provider_base_path }}", when: "{{ matrix_synapse_ext_synapse_s3_storage_provider_enabled }}"} | |||
| - {path: "{{ matrix_synapse_ext_s3_storage_provider_bin_path }}", when: "{{ matrix_synapse_ext_synapse_s3_storage_provider_enabled }}"} | |||
| @@ -38,16 +38,16 @@ | |||
| - name: Ensure Synapse repository is present on self-build | |||
| ansible.builtin.git: | |||
| repo: "{{ matrix_synapse_container_image_self_build_repo }}" | |||
| dest: "{{ matrix_synapse_docker_src_files_path }}" | |||
| version: "{{ matrix_synapse_docker_image.split(':')[1] }}" | |||
| dest: "{{ matrix_synapse_container_src_files_path }}" | |||
| version: "{{ matrix_synapse_container_image.split(':')[1] }}" | |||
| force: "yes" | |||
| become: true | |||
| become_user: "{{ matrix_synapse_username }}" | |||
| register: matrix_synapse_git_pull_results | |||
| - name: Check if Synapse Docker image exists | |||
| ansible.builtin.command: "{{ devture_systemd_docker_base_host_command_docker }} images --quiet --filter 'reference={{ matrix_synapse_docker_image }}'" | |||
| register: matrix_synapse_docker_image_check_result | |||
| ansible.builtin.command: "{{ devture_systemd_docker_base_host_command_docker }} images --quiet --filter 'reference={{ matrix_synapse_container_image }}'" | |||
| register: matrix_synapse_container_image_check_result | |||
| changed_when: false | |||
| # Invoking the `docker build` command here, instead of calling the `docker_image` Ansible module, | |||
| @@ -55,23 +55,23 @@ | |||
| # See: https://github.com/ansible-collections/community.general/issues/514 | |||
| - name: Ensure Synapse Docker image is built | |||
| ansible.builtin.shell: | |||
| chdir: "{{ matrix_synapse_docker_src_files_path }}" | |||
| chdir: "{{ matrix_synapse_container_src_files_path }}" | |||
| cmd: | | |||
| {{ devture_systemd_docker_base_host_command_docker }} build \ | |||
| -t "{{ matrix_synapse_docker_image }}" \ | |||
| -t "{{ matrix_synapse_container_image }}" \ | |||
| -f docker/Dockerfile \ | |||
| . | |||
| environment: | |||
| DOCKER_BUILDKIT: 1 | |||
| changed_when: true | |||
| when: "matrix_synapse_git_pull_results.changed | bool or matrix_synapse_docker_image_check_result.stdout == ''" | |||
| when: "matrix_synapse_git_pull_results.changed | bool or matrix_synapse_container_image_check_result.stdout == ''" | |||
| - name: Ensure Synapse Docker image is pulled | |||
| community.docker.docker_image: | |||
| name: "{{ matrix_synapse_docker_image }}" | |||
| name: "{{ matrix_synapse_container_image }}" | |||
| source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}" | |||
| force_source: "{{ matrix_synapse_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" | |||
| force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_synapse_docker_image_force_pull }}" | |||
| force_source: "{{ matrix_synapse_container_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" | |||
| force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_synapse_container_image_force_pull }}" | |||
| when: "not matrix_synapse_container_image_self_build" | |||
| register: result | |||
| retries: "{{ devture_playbook_help_container_retries_count }}" | |||
| @@ -83,7 +83,7 @@ | |||
| - name: Ensure customizations Dockerfile is created | |||
| ansible.builtin.template: | |||
| src: "{{ role_path }}/templates/synapse/customizations/Dockerfile.j2" | |||
| dest: "{{ matrix_synapse_customized_docker_src_files_path }}/Dockerfile" | |||
| dest: "{{ matrix_synapse_customized_container_src_files_path }}/Dockerfile" | |||
| owner: "{{ matrix_synapse_uid }}" | |||
| group: "{{ matrix_synapse_gid }}" | |||
| mode: '0640' | |||
| @@ -91,13 +91,13 @@ | |||
| - name: Ensure customized Docker image for Synapse is built | |||
| community.docker.docker_image: | |||
| name: "{{ matrix_synapse_docker_image_customized }}" | |||
| name: "{{ matrix_synapse_container_image_customized }}" | |||
| source: build | |||
| force_source: "{{ matrix_synapse_container_image_customizations_dockerfile_result.changed or matrix_synapse_docker_image_customized_force_source }}" | |||
| force_source: "{{ matrix_synapse_container_image_customizations_dockerfile_result.changed or matrix_synapse_container_image_customized_force_source }}" | |||
| build: | |||
| dockerfile: Dockerfile | |||
| path: "{{ matrix_synapse_customized_docker_src_files_path }}" | |||
| nocache: "{{ matrix_synapse_docker_image_customized_build_nocache }}" | |||
| path: "{{ matrix_synapse_customized_container_src_files_path }}" | |||
| nocache: "{{ matrix_synapse_container_image_customized_build_nocache }}" | |||
| # We do this so that the signing key would get generated. | |||
| # | |||
| @@ -118,7 +118,7 @@ | |||
| -e SYNAPSE_CONFIG_PATH=/data/homeserver.yaml | |||
| -e SYNAPSE_SERVER_NAME={{ matrix_server_fqn_matrix }} | |||
| -e SYNAPSE_REPORT_STATS=no | |||
| {{ matrix_synapse_docker_image }} | |||
| {{ matrix_synapse_container_image }} | |||
| generate | |||
| creates: "{{ matrix_synapse_config_dir_path }}/{{ matrix_server_fqn_matrix }}.signing.key" | |||
| @@ -6,65 +6,6 @@ | |||
| --- | |||
| - name: Fail if required Synapse settings not defined | |||
| ansible.builtin.fail: | |||
| msg: >- | |||
| You need to define a required configuration setting (`{{ item.name }}`). | |||
| when: "item.when | bool and lookup('vars', item.name, default='') | string | length == 0" | |||
| with_items: | |||
| - {'name': 'matrix_synapse_username', when: true} | |||
| - {'name': 'matrix_synapse_uid', when: true} | |||
| - {'name': 'matrix_synapse_gid', when: true} | |||
| - {'name': 'matrix_synapse_container_network', when: true} | |||
| - {'name': 'matrix_synapse_macaroon_secret_key', when: true} | |||
| - {'name': 'matrix_synapse_database_host', when: true} | |||
| - {'name': 'matrix_synapse_database_user', when: true} | |||
| - {'name': 'matrix_synapse_database_password', when: true} | |||
| - {'name': 'matrix_synapse_database_database', when: true} | |||
| - {'name': 'matrix_synapse_container_labels_public_client_root_traefik_hostname', when: "{{ matrix_synapse_container_labels_public_client_root_enabled }}"} | |||
| - {'name': 'matrix_synapse_container_labels_public_client_root_redirection_url', when: "{{ matrix_synapse_container_labels_public_client_root_redirection_enabled }}"} | |||
| - {'name': 'matrix_synapse_container_labels_public_client_api_traefik_hostname', when: "{{ matrix_synapse_container_labels_public_client_api_enabled }}"} | |||
| - {'name': 'matrix_synapse_container_labels_internal_client_api_traefik_entrypoints', when: "{{ matrix_synapse_container_labels_internal_client_api_enabled }}"} | |||
| - {'name': 'matrix_synapse_container_labels_internal_client_synapse_admin_api_traefik_entrypoints', when: "{{ matrix_synapse_container_labels_internal_client_synapse_admin_api_enabled }}"} | |||
| - {'name': 'matrix_synapse_container_labels_public_client_synapse_client_api_traefik_hostname', when: "{{ matrix_synapse_container_labels_public_client_synapse_client_api_enabled }}"} | |||
| - {'name': 'matrix_synapse_container_labels_public_client_synapse_admin_api_traefik_hostname', when: "{{ matrix_synapse_container_labels_public_client_synapse_admin_api_enabled }}"} | |||
| - {'name': 'matrix_synapse_container_labels_public_federation_api_traefik_hostname', when: "{{ matrix_synapse_container_labels_public_federation_api_enabled }}"} | |||
| - {'name': 'matrix_synapse_container_labels_public_federation_api_traefik_entrypoints', when: "{{ matrix_synapse_container_labels_public_federation_api_enabled }}"} | |||
| - {'name': 'matrix_synapse_metrics_proxying_hostname', when: "{{ matrix_synapse_metrics_proxying_enabled }}"} | |||
| - {'name': 'matrix_synapse_metrics_proxying_path_prefix', when: "{{ matrix_synapse_metrics_proxying_enabled }}"} | |||
| - {'name': 'matrix_synapse_matrix_authentication_service_endpoint', when: "{{ matrix_synapse_matrix_authentication_service_enabled }}"} | |||
| - {'name': 'matrix_synapse_matrix_authentication_service_secret', when: "{{ matrix_synapse_matrix_authentication_service_enabled }}"} | |||
| - {'name': 'matrix_synapse_container_labels_traefik_compression_middleware_name', when: "{{ matrix_synapse_container_labels_traefik_compression_middleware_enabled }}"} | |||
| - name: Fail if asking for more than 1 instance of single-instance workers | |||
| ansible.builtin.fail: | |||
| msg: >- | |||
| `{{ item }}` cannot be more than 1. This is a single-instance worker. | |||
| when: "lookup('vars', item, default='') | int > 1" | |||
| with_items: | |||
| - "matrix_synapse_workers_appservice_workers_count" | |||
| - "matrix_synapse_workers_user_dir_workers_count" | |||
| - "matrix_synapse_workers_background_workers_count" | |||
| - "matrix_synapse_workers_stream_writer_typing_stream_workers_count" | |||
| - "matrix_synapse_workers_stream_writer_to_device_stream_workers_count" | |||
| - "matrix_synapse_workers_stream_writer_account_data_stream_workers_count" | |||
| - "matrix_synapse_workers_stream_writer_receipts_stream_workers_count" | |||
| - "matrix_synapse_workers_stream_writer_presence_stream_workers_count" | |||
| - name: Fail when mixing generic workers with new specialized workers | |||
| ansible.builtin.fail: | |||
| msg: >- | |||
| Generic workers should not be mixed with the new specialized worker types (room workers, sync workers, client readers, and federation readers) | |||
| when: matrix_synapse_workers_generic_workers_count | int > 0 and ((matrix_synapse_workers_room_workers_count | int + matrix_synapse_workers_sync_workers_count | int + matrix_synapse_workers_client_reader_workers_count | int + matrix_synapse_workers_federation_reader_workers_count | int) > 0) | |||
| - name: (Deprecation) Catch and report renamed settings | |||
| ansible.builtin.fail: | |||
| msg: >- | |||
| @@ -105,9 +46,28 @@ | |||
| - {'old': 'matrix_synapse_caches_autotuning_target_cache_memory_usage', 'new': 'matrix_synapse_cache_autotuning_target_cache_memory_usage'} | |||
| - {'old': 'matrix_synapse_caches_autotuning_min_cache_ttl', 'new': 'matrix_synapse_cache_autotuning_min_cache_ttl'} | |||
| - {'old': 'matrix_synapse_memtotal_kb', 'new': '<superseded by matrix_synapse_cache_size_calculations_memtotal_bytes>'} | |||
| - {'old': 'matrix_synapse_docker_image_name_prefix', 'new': 'matrix_synapse_docker_image_registry_prefix'} | |||
| - {'old': 'matrix_synapse_docker_image_name_prefix', 'new': 'matrix_synapse_container_image_registry_prefix'} | |||
| - {'old': 'matrix_s3_goofys_docker_image_name_prefix', 'new': 'matrix_s3_goofys_docker_image_registry_prefix'} | |||
| - {'old': 'matrix_synapse_rust_synapse_compress_state_docker_image_name_prefix', 'new': 'matrix_synapse_rust_synapse_compress_state_docker_image_registry_prefix'} | |||
| - {'old': 'matrix_synapse_rust_synapse_compress_state_docker_image_name_prefix', 'new': 'matrix_synapse_rust_synapse_compress_state_container_image_registry_prefix'} | |||
| - {'old': 'matrix_synapse_docker_image', 'new': 'matrix_synapse_container_image'} | |||
| - {'old': 'matrix_synapse_docker_image_name', 'new': 'matrix_synapse_container_image_name'} | |||
| - {'old': 'matrix_synapse_docker_image_tag', 'new': 'matrix_synapse_container_image_tag'} | |||
| - {'old': 'matrix_synapse_docker_image_force_pull', 'new': 'matrix_synapse_container_image_force_pull'} | |||
| - {'old': 'matrix_synapse_docker_image_registry_prefix', 'new': 'matrix_synapse_container_image_registry_prefix'} | |||
| - {'old': 'matrix_synapse_docker_image_registry_prefix_upstream', 'new': 'matrix_synapse_container_image_registry_prefix_upstream'} | |||
| - {'old': 'matrix_synapse_docker_image_registry_prefix_upstream_default', 'new': 'matrix_synapse_container_image_registry_prefix_upstream_default'} | |||
| - {'old': 'matrix_synapse_docker_src_files_path', 'new': 'matrix_synapse_container_src_files_path'} | |||
| - {'old': 'matrix_synapse_docker_image_customized', 'new': 'matrix_synapse_container_image_customized'} | |||
| - {'old': 'matrix_synapse_docker_image_customized_build_nocache', 'new': 'matrix_synapse_container_image_customized_build_nocache'} | |||
| - {'old': 'matrix_synapse_docker_image_customized_force_source', 'new': 'matrix_synapse_container_image_customized_force_source'} | |||
| - {'old': 'matrix_synapse_docker_image_final', 'new': 'matrix_synapse_container_image_final'} | |||
| - {'old': 'matrix_synapse_customized_docker_src_files_path', 'new': 'matrix_synapse_customized_container_src_files_path'} | |||
| - {'old': 'matrix_synapse_rust_synapse_compress_state_docker_image', 'new': 'matrix_synapse_rust_synapse_compress_state_container_image'} | |||
| - {'old': 'matrix_synapse_rust_synapse_compress_state_docker_image_version', 'new': 'matrix_synapse_rust_synapse_compress_state_container_image_version'} | |||
| - {'old': 'matrix_synapse_rust_synapse_compress_state_docker_image_force_pull', 'new': 'matrix_synapse_rust_synapse_compress_state_container_image_force_pull'} | |||
| - {'old': 'matrix_synapse_rust_synapse_compress_state_docker_image_registry_prefix', 'new': 'matrix_synapse_rust_synapse_compress_state_container_image_registry_prefix'} | |||
| - {'old': 'matrix_synapse_rust_synapse_compress_state_docker_image_registry_prefix_upstream', 'new': 'matrix_synapse_rust_synapse_compress_state_container_image_registry_prefix_upstream'} | |||
| - {'old': 'matrix_synapse_rust_synapse_compress_state_docker_image_registry_prefix_upstream_default', 'new': 'matrix_synapse_rust_synapse_compress_state_container_image_registry_prefix_upstream_default'} | |||
| - {'old': 'matrix_synapse_experimental_features_msc3202_device_masquerading_enabled', 'new': '<removed - this feature is enabled by default now'} | |||
| @@ -132,6 +92,65 @@ | |||
| with_items: | |||
| - {'old': 'federation_ip_range_blacklist', 'new': 'ip_range_blacklist'} | |||
| - name: Fail if required Synapse settings not defined | |||
| ansible.builtin.fail: | |||
| msg: >- | |||
| You need to define a required configuration setting (`{{ item.name }}`). | |||
| when: "item.when | bool and lookup('vars', item.name, default='') | string | length == 0" | |||
| with_items: | |||
| - {'name': 'matrix_synapse_username', when: true} | |||
| - {'name': 'matrix_synapse_uid', when: true} | |||
| - {'name': 'matrix_synapse_gid', when: true} | |||
| - {'name': 'matrix_synapse_container_network', when: true} | |||
| - {'name': 'matrix_synapse_macaroon_secret_key', when: true} | |||
| - {'name': 'matrix_synapse_database_host', when: true} | |||
| - {'name': 'matrix_synapse_database_user', when: true} | |||
| - {'name': 'matrix_synapse_database_password', when: true} | |||
| - {'name': 'matrix_synapse_database_database', when: true} | |||
| - {'name': 'matrix_synapse_container_labels_public_client_root_traefik_hostname', when: "{{ matrix_synapse_container_labels_public_client_root_enabled }}"} | |||
| - {'name': 'matrix_synapse_container_labels_public_client_root_redirection_url', when: "{{ matrix_synapse_container_labels_public_client_root_redirection_enabled }}"} | |||
| - {'name': 'matrix_synapse_container_labels_public_client_api_traefik_hostname', when: "{{ matrix_synapse_container_labels_public_client_api_enabled }}"} | |||
| - {'name': 'matrix_synapse_container_labels_internal_client_api_traefik_entrypoints', when: "{{ matrix_synapse_container_labels_internal_client_api_enabled }}"} | |||
| - {'name': 'matrix_synapse_container_labels_internal_client_synapse_admin_api_traefik_entrypoints', when: "{{ matrix_synapse_container_labels_internal_client_synapse_admin_api_enabled }}"} | |||
| - {'name': 'matrix_synapse_container_labels_public_client_synapse_client_api_traefik_hostname', when: "{{ matrix_synapse_container_labels_public_client_synapse_client_api_enabled }}"} | |||
| - {'name': 'matrix_synapse_container_labels_public_client_synapse_admin_api_traefik_hostname', when: "{{ matrix_synapse_container_labels_public_client_synapse_admin_api_enabled }}"} | |||
| - {'name': 'matrix_synapse_container_labels_public_federation_api_traefik_hostname', when: "{{ matrix_synapse_container_labels_public_federation_api_enabled }}"} | |||
| - {'name': 'matrix_synapse_container_labels_public_federation_api_traefik_entrypoints', when: "{{ matrix_synapse_container_labels_public_federation_api_enabled }}"} | |||
| - {'name': 'matrix_synapse_metrics_proxying_hostname', when: "{{ matrix_synapse_metrics_proxying_enabled }}"} | |||
| - {'name': 'matrix_synapse_metrics_proxying_path_prefix', when: "{{ matrix_synapse_metrics_proxying_enabled }}"} | |||
| - {'name': 'matrix_synapse_matrix_authentication_service_endpoint', when: "{{ matrix_synapse_matrix_authentication_service_enabled }}"} | |||
| - {'name': 'matrix_synapse_matrix_authentication_service_secret', when: "{{ matrix_synapse_matrix_authentication_service_enabled }}"} | |||
| - {'name': 'matrix_synapse_container_labels_traefik_compression_middleware_name', when: "{{ matrix_synapse_container_labels_traefik_compression_middleware_enabled }}"} | |||
| - name: Fail if asking for more than 1 instance of single-instance workers | |||
| ansible.builtin.fail: | |||
| msg: >- | |||
| `{{ item }}` cannot be more than 1. This is a single-instance worker. | |||
| when: "lookup('vars', item, default='') | int > 1" | |||
| with_items: | |||
| - "matrix_synapse_workers_appservice_workers_count" | |||
| - "matrix_synapse_workers_user_dir_workers_count" | |||
| - "matrix_synapse_workers_background_workers_count" | |||
| - "matrix_synapse_workers_stream_writer_typing_stream_workers_count" | |||
| - "matrix_synapse_workers_stream_writer_to_device_stream_workers_count" | |||
| - "matrix_synapse_workers_stream_writer_account_data_stream_workers_count" | |||
| - "matrix_synapse_workers_stream_writer_receipts_stream_workers_count" | |||
| - "matrix_synapse_workers_stream_writer_presence_stream_workers_count" | |||
| - name: Fail when mixing generic workers with new specialized workers | |||
| ansible.builtin.fail: | |||
| msg: >- | |||
| Generic workers should not be mixed with the new specialized worker types (room workers, sync workers, client readers, and federation readers) | |||
| when: matrix_synapse_workers_generic_workers_count | int > 0 and ((matrix_synapse_workers_room_workers_count | int + matrix_synapse_workers_sync_workers_count | int + matrix_synapse_workers_client_reader_workers_count | int + matrix_synapse_workers_federation_reader_workers_count | int) > 0) | |||
| - when: matrix_synapse_container_image_customizations_templates_enabled | bool | |||
| block: | |||
| - name: Fail if required `matrix_synapse_container_image_customizations_templates_*` settings not defined | |||
| @@ -1,6 +1,6 @@ | |||
| #jinja2: lstrip_blocks: True | |||
| {% if matrix_synapse_container_image_customizations_templates_enabled %} | |||
| FROM {{ matrix_synapse_docker_image }} AS templates-builder | |||
| FROM {{ matrix_synapse_container_image }} AS templates-builder | |||
| {# | |||
| This ugly script below does quite a lot: | |||
| @@ -38,7 +38,7 @@ RUN rm -rf {{ matrix_synapse_container_image_customizations_templates_in_contain | |||
| RUN chown -R {{ matrix_synapse_uid }}:{{ matrix_synapse_gid }} {{ matrix_synapse_container_image_customizations_templates_in_container_base_path }} | |||
| {% endif %} | |||
| FROM {{ matrix_synapse_docker_image }} | |||
| FROM {{ matrix_synapse_container_image }} | |||
| {% if matrix_synapse_container_image_customizations_s3_storage_provider_installation_enabled %} | |||
| RUN pip install synapse-s3-storage-provider=={{ matrix_synapse_ext_synapse_s3_storage_provider_version }} | |||
| @@ -14,7 +14,7 @@ container_id=$(\ | |||
| {% for arg in matrix_synapse_ext_s3_storage_provider_container_arguments %} | |||
| {{ arg }} \ | |||
| {% endfor %} | |||
| {{ matrix_synapse_docker_image_final }} \ | |||
| {{ matrix_synapse_container_image_final }} \ | |||
| -c 's3_media_upload update-db $UPDATE_DB_DURATION && s3_media_upload --no-progress check-deleted $MEDIA_PATH && s3_media_upload --no-progress upload $MEDIA_PATH $BUCKET --delete --storage-class $STORAGE_CLASS --endpoint-url $ENDPOINT {% if matrix_synapse_ext_synapse_s3_storage_provider_config_sse_customer_enabled %}--sse-customer-algo $SSE_CUSTOMER_ALGO --sse-customer-key $SSE_CUSTOMER_KEY{% endif %}' \ | |||
| ) | |||
| @@ -13,7 +13,7 @@ container_id=$(\ | |||
| --workdir=/data \ | |||
| --network={{ matrix_synapse_container_network }} \ | |||
| --entrypoint=/bin/bash \ | |||
| {{ matrix_synapse_docker_image_final }} \ | |||
| {{ matrix_synapse_container_image_final }} \ | |||
| ) | |||
| {# We need to connect to the Postgres network, which should be in this list. #} | |||
| @@ -74,7 +74,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ | |||
| {% for arg in matrix_synapse_container_worker_arguments %} | |||
| {{ arg }} \ | |||
| {% endfor %} | |||
| {{ matrix_synapse_docker_image_final }} \ | |||
| {{ matrix_synapse_container_image_final }} \ | |||
| run -m synapse.app.{{ matrix_synapse_worker_details.app }} -c /data/homeserver.yaml -c /data/{{ matrix_synapse_worker_config_file_name }} | |||
| {% for network in matrix_synapse_container_additional_networks %} | |||
| @@ -61,7 +61,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ | |||
| {% for arg in matrix_synapse_container_master_extra_arguments %} | |||
| {{ arg }} \ | |||
| {% endfor %} | |||
| {{ matrix_synapse_docker_image_final }} \ | |||
| {{ matrix_synapse_container_image_final }} \ | |||
| run -m synapse.app.homeserver -c /data/homeserver.yaml | |||
| {% for network in matrix_synapse_container_additional_networks %} | |||