Matrix Docker Ansible eploy
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

138 строки
8.7 KiB

  1. # SPDX-FileCopyrightText: 2023 - 2024 Slavi Pantaleev
  2. # SPDX-FileCopyrightText: 2023 David Mehren
  3. # SPDX-FileCopyrightText: 2023 Kabir Kwatra
  4. # SPDX-FileCopyrightText: 2023 Nikita Chernyi
  5. # SPDX-FileCopyrightText: 2023 Samuel Meenzen
  6. # SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
  7. # SPDX-FileCopyrightText: 2024 HarHarLinks
  8. # SPDX-FileCopyrightText: 2024 MDAD project contributors
  9. #
  10. # SPDX-License-Identifier: AGPL-3.0-or-later
  11. ---
  12. # Sliding Sync proxy is an implementation of MSC3575 for the new sliding sync
  13. # Project source code URL: https://github.com/matrix-org/sliding-sync
  14. matrix_sliding_sync_enabled: true
  15. # renovate: datasource=docker depName=ghcr.io/matrix-org/sliding-sync
  16. matrix_sliding_sync_version: v0.99.19
  17. matrix_sliding_sync_scheme: https
  18. # The hostname at which sliding-sync is served.
  19. matrix_sliding_sync_hostname: ''
  20. # The path at which sliding-sync is served.
  21. # This value must either be `/` or not end with a slash (e.g. `/sliding-sync`).
  22. matrix_sliding_sync_path_prefix: /
  23. matrix_sliding_sync_base_path: "{{ matrix_base_data_path }}/sliding-sync"
  24. matrix_sliding_sync_container_image_self_build: false
  25. matrix_sliding_sync_container_image_self_build_repo: https://github.com/matrix-org/sliding-sync
  26. matrix_sliding_sync_container_image_self_build_repo_version: "{{ 'main' if matrix_sliding_sync_version == 'main' else matrix_sliding_sync_version }}"
  27. matrix_sliding_sync_container_src_path: "{{ matrix_sliding_sync_base_path }}/container-src"
  28. matrix_sliding_sync_container_image: "{{ matrix_sliding_sync_container_image_registry_prefix }}matrix-org/sliding-sync:{{ matrix_sliding_sync_container_image_tag }}"
  29. matrix_sliding_sync_container_image_registry_prefix: "{{ 'localhost/' if matrix_sliding_sync_container_image_self_build else matrix_sliding_sync_container_image_registry_prefix_upstream }}"
  30. matrix_sliding_sync_container_image_registry_prefix_upstream: "{{ matrix_sliding_sync_container_image_registry_prefix_upstream_default }}"
  31. matrix_sliding_sync_container_image_registry_prefix_upstream_default: "ghcr.io/"
  32. matrix_sliding_sync_container_image_tag: "{{ matrix_sliding_sync_version }}"
  33. matrix_sliding_sync_container_image_force_pull: "{{ matrix_sliding_sync_container_image.endswith(':main') }}"
  34. # The base container network. It will be auto-created by this role if it doesn't exist already.
  35. matrix_sliding_sync_container_network: ''
  36. # A list of additional container networks that the container would be connected to.
  37. # The role does not create these networks, so make sure they already exist.
  38. # Use this to expose this container to another reverse proxy, which runs in a different container network.
  39. matrix_sliding_sync_container_additional_networks: []
  40. # Enable the exposure of metrics to Prometheus
  41. # See https://github.com/matrix-org/sliding-sync/tree/main/grafana
  42. matrix_sliding_sync_metrics_enabled: false
  43. matrix_sliding_sync_metrics_port: 2112
  44. # Controls whether Sliding Sync metrics should be proxied (exposed) on `matrix.example.com/metrics/sliding-sync`
  45. matrix_sliding_sync_metrics_proxying_enabled: false
  46. matrix_sliding_sync_metrics_proxying_hostname: ''
  47. matrix_sliding_sync_metrics_proxying_path: /metrics/sliding-sync
  48. # matrix_sliding_sync_container_labels_traefik_enabled controls whether labels to assist a Traefik reverse-proxy will be attached to the container.
  49. # See `../templates/labels.j2` for details.
  50. #
  51. # To inject your own other container labels, see `matrix_sliding_sync_container_labels_additional_labels`.
  52. matrix_sliding_sync_container_labels_traefik_enabled: true
  53. matrix_sliding_sync_container_labels_traefik_docker_network: "{{ matrix_sliding_sync_container_network }}"
  54. matrix_sliding_sync_container_labels_traefik_hostname: "{{ matrix_sliding_sync_hostname }}"
  55. # The path prefix must either be `/` or not end with a slash (e.g. `/sliding-sync`).
  56. matrix_sliding_sync_container_labels_traefik_path_prefix: "{{ matrix_sliding_sync_path_prefix }}"
  57. 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 %}"
  58. matrix_sliding_sync_container_labels_traefik_priority: 0
  59. matrix_sliding_sync_container_labels_traefik_entrypoints: web-secure
  60. matrix_sliding_sync_container_labels_traefik_tls: "{{ matrix_sliding_sync_container_labels_traefik_entrypoints != 'web' }}"
  61. matrix_sliding_sync_container_labels_traefik_tls_certResolver: default # noqa var-naming
  62. # Controls whether labels will be added that expose metrics (see `matrix_sliding_sync_metrics_proxying_enabled`) for Sliding Sync
  63. matrix_sliding_sync_container_labels_public_metrics_enabled: "{{ matrix_sliding_sync_metrics_enabled and matrix_sliding_sync_metrics_proxying_enabled }}"
  64. matrix_sliding_sync_container_labels_public_metrics_traefik_path: "{{ matrix_sliding_sync_metrics_proxying_path }}"
  65. 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 }}`)"
  66. matrix_sliding_sync_container_labels_public_metrics_traefik_priority: 0
  67. matrix_sliding_sync_container_labels_public_metrics_traefik_entrypoints: "{{ matrix_sliding_sync_container_labels_traefik_entrypoints }}"
  68. matrix_sliding_sync_container_labels_public_metrics_traefik_tls: "{{ matrix_sliding_sync_container_labels_public_metrics_traefik_entrypoints != 'web' }}"
  69. matrix_sliding_sync_container_labels_public_metrics_traefik_tls_certResolver: "{{ matrix_sliding_sync_container_labels_traefik_tls_certResolver }}" # noqa var-naming
  70. matrix_sliding_sync_container_labels_public_metrics_middleware_basic_auth_enabled: false
  71. # See: https://doc.traefik.io/traefik/middlewares/http/basicauth/#users
  72. matrix_sliding_sync_container_labels_public_metrics_middleware_basic_auth_users: ''
  73. # Controls which additional headers to attach to all HTTP responses.
  74. # To add your own headers, use `matrix_sliding_sync_container_labels_traefik_additional_response_headers_custom`
  75. 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) }}"
  76. matrix_sliding_sync_container_labels_traefik_additional_response_headers_auto: {}
  77. matrix_sliding_sync_container_labels_traefik_additional_response_headers_custom: {}
  78. # matrix_sliding_sync_container_labels_additional_labels contains a multiline string with additional labels to add to the container label file.
  79. # See `../templates/labels.j2` for details.
  80. #
  81. # Example:
  82. # matrix_sliding_sync_container_labels_additional_labels: |
  83. # my.label=1
  84. # another.label="here"
  85. matrix_sliding_sync_container_labels_additional_labels: ''
  86. # A list of extra arguments to pass to the container
  87. matrix_sliding_sync_container_extra_arguments: []
  88. # List of systemd services that matrix-sliding-sync.service depends on
  89. 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 }}"
  90. matrix_sliding_sync_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
  91. matrix_sliding_sync_systemd_required_services_list_auto: []
  92. matrix_sliding_sync_systemd_required_services_list_custom: []
  93. # List of systemd services that matrix-sliding-sync.service wants
  94. matrix_sliding_sync_systemd_wanted_services_list: []
  95. # Controls the SYNCV3_SERVER environment variable
  96. matrix_sliding_sync_environment_variable_syncv3_server: ""
  97. # Controls the SYNCV3_SECRET environment variable
  98. matrix_sliding_sync_environment_variable_syncv3_secret: ''
  99. # Controls the SYNCV3_DB environment variable
  100. 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 }}'
  101. # Controls the SYNCV3_PROM environment variable
  102. matrix_sliding_sync_environment_variable_syncv3_prom: ':{{ matrix_sliding_sync_metrics_port }}'
  103. # Additional environment variables.
  104. matrix_sliding_sync_environment_variables_additional_variables: ''
  105. matrix_sliding_sync_database_username: 'matrix_sliding_sync'
  106. matrix_sliding_sync_database_password: ''
  107. matrix_sliding_sync_database_hostname: ''
  108. matrix_sliding_sync_database_port: 5432
  109. matrix_sliding_sync_database_name: 'matrix_sliding_sync'
  110. matrix_sliding_sync_database_sslmode: disable