| @@ -4462,6 +4462,10 @@ matrix_synapse_app_service_config_files_auto: "{{ matrix_homeserver_app_service_ | |||
| # Disable creation of media repository Synapse worker when using media-repo | |||
| matrix_synapse_ext_media_repo_enabled: "{{ matrix_media_repo_enabled }}" | |||
| # Enable Synapse statistics reporting when using synapse-usage-exporter | |||
| matrix_synapse_report_stats: "{{ matrix_synapse_usage_exporter_enabled }}" | |||
| matrix_synapse_report_stats_endpoint: "http://{{ matrix_synapse_usage_exporter_identifier }}:{{ matrix_synapse_usage_exporter_container_port | string }}/report-usage-stats/push" | |||
| ###################################################################### | |||
| # | |||
| # /matrix-synapse | |||
| @@ -4611,9 +4615,6 @@ matrix_synapse_usage_exporter_container_labels_traefik_docker_network: "{{ matri | |||
| matrix_synapse_usage_exporter_container_labels_traefik_entrypoints: "{{ devture_traefik_entrypoint_primary }}" | |||
| matrix_synapse_usage_exporter_container_labels_traefik_tls_certResolver: "{{ devture_traefik_certResolver_primary }}" | |||
| matrix_synapse_report_stats: "{{ matrix_synapse_usage_exporter_enabled }}" | |||
| matrix_synapse_report_stats_endpoint: "http://{{ matrix_synapse_usage_exporter_identifier }}:{{ matrix_synapse_usage_exporter_container_port | string }}/report-usage-stats/push" | |||
| ###################################################################### | |||
| # | |||
| # /matrix-synapse-usage-exporter | |||
| @@ -15,11 +15,11 @@ matrix_synapse_usage_exporter_container_port: 5000 | |||
| matrix_synapse_usage_exporter_container_image_self_build: true | |||
| matrix_synapse_usage_exporter_container_image_self_build_repo: "https://github.com/loelkes/synapse-usage-exporter.git" | |||
| matrix_synapse_usage_exporter_docker_image_path: "loelkes/synapse-usage-exporter" | |||
| matrix_synapse_usage_exporter_docker_image: "{{ matrix_synapse_usage_exporter_docker_image_name_prefix }}{{ matrix_synapse_usage_exporter_docker_image_path }}:{{ matrix_synapse_usage_exporter_docker_image_tag }}" | |||
| matrix_synapse_usage_exporter_docker_image_name_prefix: "{{ 'localhost/' if matrix_synapse_usage_exporter_container_image_self_build else matrix_container_global_registry_prefix }}" | |||
| matrix_synapse_usage_exporter_docker_image_tag: "{{ 'main' if matrix_synapse_usage_exporter_container_image_self_build else 'latest' }}" | |||
| matrix_synapse_usage_exporter_docker_image_force_pull: "{{ matrix_synapse_usage_exporter_docker_image.endswith(':latest') }}" | |||
| matrix_synapse_usage_exporter_container_image_path: "loelkes/synapse-usage-exporter" | |||
| matrix_synapse_usage_exporter_container_image: "{{ matrix_synapse_usage_exporter_container_image_name_prefix }}{{ matrix_synapse_usage_exporter_container_image_path }}:{{ matrix_synapse_usage_exporter_container_image_tag }}" | |||
| matrix_synapse_usage_exporter_container_image_name_prefix: "{{ 'localhost/' if matrix_synapse_usage_exporter_container_image_self_build else matrix_container_global_registry_prefix }}" | |||
| matrix_synapse_usage_exporter_container_image_tag: "{{ 'main' if matrix_synapse_usage_exporter_container_image_self_build else 'latest' }}" | |||
| matrix_synapse_usage_exporter_container_image_force_pull: "{{ matrix_synapse_usage_exporter_container_image.endswith(':latest') }}" | |||
| matrix_synapse_usage_exporter_base_path: "{{ matrix_base_data_path }}/{{ matrix_synapse_usage_exporter_identifier }}" | |||
| matrix_synapse_usage_exporter_docker_src_files_path: "{{ matrix_synapse_usage_exporter_base_path }}/docker-src" | |||
| @@ -27,10 +27,10 @@ | |||
| - name: Ensure synapse-usage-exporter Docker image is pulled | |||
| community.docker.docker_image: | |||
| name: "{{ matrix_synapse_usage_exporter_docker_image }}" | |||
| name: "{{ matrix_synapse_usage_exporter_container_image }}" | |||
| source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}" | |||
| force_source: "{{ matrix_synapse_usage_exporter_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_usage_exporter_docker_image_force_pull }}" | |||
| force_source: "{{ matrix_synapse_usage_exporter_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_usage_exporter_container_image_force_pull }}" | |||
| when: "not matrix_synapse_usage_exporter_container_image_self_build | bool" | |||
| register: result | |||
| retries: "{{ devture_playbook_help_container_retries_count }}" | |||
| @@ -43,15 +43,15 @@ | |||
| ansible.builtin.git: | |||
| repo: "{{ matrix_synapse_usage_exporter_container_image_self_build_repo }}" | |||
| dest: "{{ matrix_synapse_usage_exporter_docker_src_files_path }}" | |||
| version: "{{ matrix_synapse_usage_exporter_docker_image.split(':')[1] }}" | |||
| version: "{{ matrix_synapse_usage_exporter_container_image.split(':')[1] }}" | |||
| force: "yes" | |||
| become: true | |||
| become_user: "{{ matrix_user_username }}" | |||
| register: matrix_synapse_usage_exporter_git_pull_results | |||
| - name: Check if synapse-usage-exporter Docker image exists | |||
| ansible.builtin.command: "{{ devture_systemd_docker_base_host_command_docker }} images --quiet --filter 'reference={{ matrix_synapse_usage_exporter_docker_image }}'" | |||
| register: matrix_synapse_usage_exporter_docker_image_check_result | |||
| ansible.builtin.command: "{{ devture_systemd_docker_base_host_command_docker }} images --quiet --filter 'reference={{ matrix_synapse_usage_exporter_container_image }}'" | |||
| register: matrix_synapse_usage_exporter_container_image_check_result | |||
| changed_when: false | |||
| # Invoking the `docker build` command here, instead of calling the `docker_image` Ansible module, | |||
| @@ -59,11 +59,11 @@ | |||
| # See: https://github.com/ansible-collections/community.general/issues/514 | |||
| - name: Ensure synapse-usage-exporter Docker image is built | |||
| ansible.builtin.command: | |||
| cmd: "{{ devture_systemd_docker_base_host_command_docker }} build -t {{ matrix_synapse_usage_exporter_docker_image }} -f {{ matrix_synapse_usage_exporter_docker_src_files_path }}/docker/Dockerfile {{ matrix_synapse_usage_exporter_docker_src_files_path }}" | |||
| cmd: "{{ devture_systemd_docker_base_host_command_docker }} build -t {{ matrix_synapse_usage_exporter_container_image }} -f {{ matrix_synapse_usage_exporter_docker_src_files_path }}/docker/Dockerfile {{ matrix_synapse_usage_exporter_docker_src_files_path }}" | |||
| environment: | |||
| DOCKER_BUILDKIT: 1 | |||
| changed_when: true | |||
| when: "matrix_synapse_usage_exporter_git_pull_results.changed | bool or matrix_synapse_usage_exporter_docker_image_check_result.stdout == ''" | |||
| when: "matrix_synapse_usage_exporter_git_pull_results.changed | bool or matrix_synapse_usage_exporter_container_image_check_result.stdout == ''" | |||
| - name: Ensure synapse-usage-exporter container network is created | |||
| community.general.docker_network: | |||
| @@ -28,7 +28,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ | |||
| {% for arg in matrix_synapse_usage_exporter_container_extra_arguments %} | |||
| {{ arg }} \ | |||
| {% endfor %} | |||
| {{ matrix_synapse_usage_exporter_docker_image }} | |||
| {{ matrix_synapse_usage_exporter_container_image }} | |||
| {% for network in matrix_synapse_usage_exporter_container_additional_networks %} | |||
| ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network connect {{ network }} {{ matrix_synapse_usage_exporter_identifier }} | |||