2023-03-07 09:57:56 +00:00
---
2024-10-22 18:18:25 +00:00
# Sliding Sync proxy is an implementation of MSC3575 for the new sliding sync
2023-08-29 04:04:55 +00:00
# Project source code URL: https://github.com/matrix-org/sliding-sync
2023-03-07 09:57:56 +00:00
matrix_sliding_sync_enabled : true
2023-10-06 12:14:03 +00:00
# renovate: datasource=docker depName=ghcr.io/matrix-org/sliding-sync
2024-06-28 16:18:15 +00:00
matrix_sliding_sync_version : v0.99.19
2023-03-07 09:57:56 +00:00
matrix_sliding_sync_scheme : https
# The hostname at which sliding-sync is served.
matrix_sliding_sync_hostname : ''
# The path at which sliding-sync is served.
# This value must either be `/` or not end with a slash (e.g. `/sliding-sync`).
matrix_sliding_sync_path_prefix : /
matrix_sliding_sync_base_path : "{{ matrix_base_data_path }}/sliding-sync"
matrix_sliding_sync_container_image_self_build : false
matrix_sliding_sync_container_image_self_build_repo : https://github.com/matrix-org/sliding-sync
matrix_sliding_sync_container_image_self_build_repo_version : "{{ 'main' if matrix_sliding_sync_version == 'main' else matrix_sliding_sync_version }}"
matrix_sliding_sync_container_src_path : "{{ matrix_sliding_sync_base_path }}/container-src"
matrix_sliding_sync_container_image : "{{ matrix_sliding_sync_container_image_name_prefix }}matrix-org/sliding-sync:{{ matrix_sliding_sync_container_image_tag }}"
matrix_sliding_sync_container_image_name_prefix : "{{ 'localhost/' if matrix_sliding_sync_container_image_self_build else matrix_sliding_sync_container_image_registry_prefix }}"
matrix_sliding_sync_container_image_tag : "{{ matrix_sliding_sync_version }}"
matrix_sliding_sync_container_image_force_pull : "{{ matrix_sliding_sync_container_image.endswith(':main') }}"
matrix_sliding_sync_container_image_registry_prefix : ghcr.io/
# The base container network. It will be auto-created by this role if it doesn't exist already.
2024-01-05 04:28:42 +00:00
matrix_sliding_sync_container_network : ''
2023-03-07 09:57:56 +00:00
# A list of additional container networks that the container would be connected to.
# The role does not create these networks, so make sure they already exist.
# Use this to expose this container to another reverse proxy, which runs in a different container network.
matrix_sliding_sync_container_additional_networks : [ ]
2024-06-10 21:30:22 +00:00
# Enable the exposure of metrics to Prometheus
# See https://github.com/matrix-org/sliding-sync/tree/main/grafana
matrix_sliding_sync_metrics_enabled : false
matrix_sliding_sync_metrics_port : 2112
2024-10-17 13:17:56 +00:00
# Controls whether Sliding Sync metrics should be proxied (exposed) on `matrix.example.com/metrics/sliding-sync`
2024-06-10 21:30:22 +00:00
matrix_sliding_sync_metrics_proxying_enabled : false
matrix_sliding_sync_metrics_proxying_hostname : ''
matrix_sliding_sync_metrics_proxying_path : /metrics/sliding-sync
2023-03-07 09:57:56 +00:00
# matrix_sliding_sync_container_labels_traefik_enabled controls whether labels to assist a Traefik reverse-proxy will be attached to the container.
# See `../templates/labels.j2` for details.
#
# To inject your own other container labels, see `matrix_sliding_sync_container_labels_additional_labels`.
matrix_sliding_sync_container_labels_traefik_enabled : true
matrix_sliding_sync_container_labels_traefik_docker_network : "{{ matrix_sliding_sync_container_network }}"
matrix_sliding_sync_container_labels_traefik_hostname : "{{ matrix_sliding_sync_hostname }}"
# The path prefix must either be `/` or not end with a slash (e.g. `/sliding-sync`).
matrix_sliding_sync_container_labels_traefik_path_prefix : "{{ matrix_sliding_sync_path_prefix }}"
matrix_sliding_sync_container_labels_traefik_rule : "Host(`{{ matrix_sliding_sync_container_labels_traefik_hostname }}`){% if matrix_sliding_sync_container_labels_traefik_path_prefix != '/' %} && PathPrefix(`{{ matrix_sliding_sync_container_labels_traefik_path_prefix }}`){% endif %}"
matrix_sliding_sync_container_labels_traefik_priority : 0
matrix_sliding_sync_container_labels_traefik_entrypoints : web-secure
matrix_sliding_sync_container_labels_traefik_tls : "{{ matrix_sliding_sync_container_labels_traefik_entrypoints != 'web' }}"
matrix_sliding_sync_container_labels_traefik_tls_certResolver : default # noqa var-naming
2024-06-10 21:30:22 +00:00
# Controls whether labels will be added that expose metrics (see `matrix_sliding_sync_metrics_proxying_enabled`) for Sliding Sync
matrix_sliding_sync_container_labels_public_metrics_enabled : "{{ matrix_sliding_sync_metrics_enabled and matrix_sliding_sync_metrics_proxying_enabled }}"
matrix_sliding_sync_container_labels_public_metrics_traefik_path : "{{ matrix_sliding_sync_metrics_proxying_path }}"
matrix_sliding_sync_container_labels_public_metrics_traefik_rule : "Host(`{{ matrix_sliding_sync_metrics_proxying_hostname }}`) && Path(`{{ matrix_sliding_sync_container_labels_public_metrics_traefik_path }}`)"
matrix_sliding_sync_container_labels_public_metrics_traefik_priority : 0
matrix_sliding_sync_container_labels_public_metrics_traefik_entrypoints : "{{ matrix_sliding_sync_container_labels_traefik_entrypoints }}"
matrix_sliding_sync_container_labels_public_metrics_traefik_tls : "{{ matrix_sliding_sync_container_labels_public_metrics_traefik_entrypoints != 'web' }}"
matrix_sliding_sync_container_labels_public_metrics_traefik_tls_certResolver : "{{ matrix_sliding_sync_container_labels_traefik_tls_certResolver }}" # noqa var-naming
matrix_sliding_sync_container_labels_public_metrics_middleware_basic_auth_enabled : false
# See: https://doc.traefik.io/traefik/middlewares/http/basicauth/#users
matrix_sliding_sync_container_labels_public_metrics_middleware_basic_auth_users : ''
2023-03-07 09:57:56 +00:00
# Controls which additional headers to attach to all HTTP responses.
# To add your own headers, use `matrix_sliding_sync_container_labels_traefik_additional_response_headers_custom`
matrix_sliding_sync_container_labels_traefik_additional_response_headers : "{{ matrix_sliding_sync_container_labels_traefik_additional_response_headers_auto | combine(matrix_sliding_sync_container_labels_traefik_additional_response_headers_custom) }}"
matrix_sliding_sync_container_labels_traefik_additional_response_headers_auto : {}
matrix_sliding_sync_container_labels_traefik_additional_response_headers_custom : {}
# matrix_sliding_sync_container_labels_additional_labels contains a multiline string with additional labels to add to the container label file.
# See `../templates/labels.j2` for details.
#
# Example:
# matrix_sliding_sync_container_labels_additional_labels: |
# my.label=1
# another.label="here"
matrix_sliding_sync_container_labels_additional_labels : ''
# A list of extra arguments to pass to the container
matrix_sliding_sync_container_extra_arguments : [ ]
# List of systemd services that matrix-sliding-sync-proxy.service depends on
2024-01-05 04:04:44 +00:00
matrix_sliding_sync_systemd_required_services_list : "{{ matrix_sliding_sync_systemd_required_services_list_default + matrix_sliding_sync_systemd_required_services_list_auto + matrix_sliding_sync_systemd_required_services_list_custom }}"
2024-06-05 18:22:21 +00:00
matrix_sliding_sync_systemd_required_services_list_default : "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
2024-01-05 04:04:44 +00:00
matrix_sliding_sync_systemd_required_services_list_auto : [ ]
matrix_sliding_sync_systemd_required_services_list_custom : [ ]
2023-03-07 09:57:56 +00:00
# List of systemd services that matrix-sliding-sync-proxy.service wants
matrix_sliding_sync_systemd_wanted_services_list : [ ]
# Controls the SYNCV3_SERVER environment variable
2024-01-05 04:28:42 +00:00
matrix_sliding_sync_environment_variable_syncv3_server : ""
2023-03-07 09:57:56 +00:00
# Controls the SYNCV3_SECRET environment variable
matrix_sliding_sync_environment_variable_syncv3_secret : ''
# Controls the SYNCV3_DB environment variable
2023-08-22 16:38:11 +00:00
matrix_sliding_sync_environment_variable_syncv3_db : 'user={{ matrix_sliding_sync_database_username }} password={{ matrix_sliding_sync_database_password }} host={{ matrix_sliding_sync_database_hostname }} port={{ matrix_sliding_sync_database_port }} dbname={{ matrix_sliding_sync_database_name }} sslmode={{ matrix_sliding_sync_database_sslmode }}'
2023-03-07 09:57:56 +00:00
2024-06-10 21:30:22 +00:00
# Controls the SYNCV3_PROM environment variable
matrix_sliding_sync_environment_variable_syncv3_prom : ':{{ matrix_sliding_sync_metrics_port }}'
2023-10-11 17:38:42 +00:00
# Additional environment variables.
matrix_sliding_sync_environment_variables_additional_variables : ''
2023-03-07 09:57:56 +00:00
matrix_sliding_sync_database_username : 'matrix_sliding_sync'
matrix_sliding_sync_database_password : ''
matrix_sliding_sync_database_hostname : ''
matrix_sliding_sync_database_port : 5432
matrix_sliding_sync_database_name : 'matrix_sliding_sync'
2023-08-22 16:38:11 +00:00
matrix_sliding_sync_database_sslmode : disable