Matrix Docker Ansible eploy
Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
 
 

170 Zeilen
11 KiB

  1. # SPDX-FileCopyrightText: 2022 MDAD project contributors
  2. # SPDX-FileCopyrightText: 2024 wjbeckett
  3. # SPDX-FileCopyrightText: 2024 - 2026 Slavi Pantaleev
  4. #
  5. # SPDX-License-Identifier: AGPL-3.0-or-later
  6. ---
  7. # Project source code URL: https://github.com/element-hq/lk-jwt-service
  8. matrix_livekit_jwt_service_enabled: false
  9. matrix_livekit_jwt_service_scheme: https
  10. matrix_livekit_jwt_service_hostname: ""
  11. matrix_livekit_jwt_service_path_prefix: "/livekit-jwt-service"
  12. matrix_livekit_jwt_service_base_path: "{{ matrix_base_data_path }}/livekit-jwt-service"
  13. matrix_livekit_jwt_service_container_network: ''
  14. matrix_livekit_jwt_service_container_http_host_bind_port: ''
  15. matrix_livekit_jwt_service_container_additional_networks: "{{ (matrix_livekit_jwt_service_container_additional_networks_auto + matrix_livekit_jwt_service_container_additional_networks_custom) | unique }}"
  16. matrix_livekit_jwt_service_container_additional_networks_auto: []
  17. matrix_livekit_jwt_service_container_additional_networks_custom: []
  18. # renovate: datasource=docker depName=ghcr.io/element-hq/lk-jwt-service
  19. matrix_livekit_jwt_service_version: 0.6.0
  20. matrix_livekit_jwt_service_container_image_self_build: false
  21. matrix_livekit_jwt_service_container_repo: "https://github.com/element-hq/lk-jwt-service.git"
  22. matrix_livekit_jwt_service_container_repo_version: "{{ 'main' if matrix_livekit_jwt_service_version == 'latest' else ('v' + matrix_livekit_jwt_service_version) }}"
  23. matrix_livekit_jwt_service_container_src_files_path: "{{ matrix_livekit_jwt_service_base_path }}/container-src"
  24. matrix_livekit_jwt_service_container_image: "{{ matrix_livekit_jwt_service_container_image_registry_prefix }}element-hq/lk-jwt-service:{{ matrix_livekit_jwt_service_container_image_tag }}"
  25. matrix_livekit_jwt_service_container_image_registry_prefix: "{{ 'localhost/' if matrix_livekit_jwt_service_container_image_self_build else matrix_livekit_jwt_service_container_image_registry_prefix_upstream }}"
  26. matrix_livekit_jwt_service_container_image_registry_prefix_upstream: "{{ matrix_livekit_jwt_service_container_image_registry_prefix_upstream_default }}"
  27. matrix_livekit_jwt_service_container_image_registry_prefix_upstream_default: ghcr.io/
  28. matrix_livekit_jwt_service_container_image_tag: "{{ matrix_livekit_jwt_service_version }}"
  29. matrix_livekit_jwt_service_container_labels_traefik_enabled: true
  30. matrix_livekit_jwt_service_container_labels_traefik_docker_network: "{{ matrix_livekit_jwt_service_container_network }}"
  31. matrix_livekit_jwt_service_container_labels_traefik_hostname: "{{ matrix_livekit_jwt_service_hostname }}"
  32. # The path prefix must either be `/` or not end with a slash (e.g. `/livekit-jwt-service`).
  33. matrix_livekit_jwt_service_container_labels_traefik_path_prefix: "{{ matrix_livekit_jwt_service_path_prefix }}"
  34. matrix_livekit_jwt_service_container_labels_traefik_rule: "Host(`{{ matrix_livekit_jwt_service_container_labels_traefik_hostname }}`){% if matrix_livekit_jwt_service_container_labels_traefik_path_prefix != '/' %} && PathPrefix(`{{ matrix_livekit_jwt_service_container_labels_traefik_path_prefix }}`){% endif %}"
  35. matrix_livekit_jwt_service_container_labels_traefik_priority: 0
  36. matrix_livekit_jwt_service_container_labels_traefik_entrypoints: web-secure
  37. matrix_livekit_jwt_service_container_labels_traefik_tls: "{{ matrix_livekit_jwt_service_container_labels_traefik_entrypoints != 'web' }}"
  38. matrix_livekit_jwt_service_container_labels_traefik_tls_certResolver: default # noqa var-naming
  39. # Controls which additional headers to attach to all HTTP responses.
  40. # To add your own headers, use `matrix_livekit_jwt_service_container_labels_traefik_additional_response_headers_custom`
  41. matrix_livekit_jwt_service_container_labels_traefik_additional_response_headers: "{{ matrix_livekit_jwt_service_container_labels_traefik_additional_response_headers_auto | combine(matrix_livekit_jwt_service_container_labels_traefik_additional_response_headers_custom) }}"
  42. matrix_livekit_jwt_service_container_labels_traefik_additional_response_headers_auto: {}
  43. matrix_livekit_jwt_service_container_labels_traefik_additional_response_headers_custom: {}
  44. # matrix_livekit_jwt_service_container_labels_additional_labels contains a multiline string with additional labels to add to the container label file.
  45. # See `../templates/labels.j2` for details.
  46. #
  47. # Example:
  48. # matrix_livekit_jwt_service_container_labels_additional_labels: |
  49. # my.label=1
  50. # another.label="here"
  51. matrix_livekit_jwt_service_container_labels_additional_labels: ''
  52. # A list of extra arguments to pass to the container
  53. matrix_livekit_jwt_service_container_extra_arguments: []
  54. # Controls whether the container's built-in healthcheck is left enabled.
  55. #
  56. # lk-jwt-service v0.6.0 added a healthcheck which builds its URL as
  57. # `http://localhost:$LIVEKIT_JWT_BIND/healthz`, interpolating the bind address
  58. # into the port slot. Because LIVEKIT_JWT_BIND is a bind address (`:8080`), the
  59. # resulting URL is invalid and the check can never pass, leaving the container
  60. # permanently unhealthy. Traefik skips unhealthy containers, so the service
  61. # stops being routed and Element Call cannot obtain an SFU token.
  62. #
  63. # There is no way to correct the check from here: the image is built `FROM
  64. # scratch`, so it has no shell for a `--health-cmd` override to use.
  65. #
  66. # Re-enable this once upstream fixes the check.
  67. # See: https://github.com/element-hq/lk-jwt-service/pull/186
  68. matrix_livekit_jwt_service_container_healthcheck_enabled: false
  69. # Controls the port that the service listens on internally in the container.
  70. # This is still used for Traefik configuration and container port binding.
  71. matrix_livekit_jwt_service_container_port: 8080
  72. # Controls the LIVEKIT_JWT_BIND environment variable.
  73. # This is the preferred method in v0.4.0+, replacing the deprecated LIVEKIT_JWT_PORT.
  74. # Format: "host:port" or ":port" (to bind to all interfaces).
  75. # The default ":8080" binds to all interfaces on port 8080.
  76. matrix_livekit_jwt_service_environment_variable_livekit_jwt_bind: ":{{ matrix_livekit_jwt_service_container_port }}"
  77. # Controls the LIVEKIT_KEY environment variable
  78. matrix_livekit_jwt_service_environment_variable_livekit_key: ""
  79. # Controls the LIVEKIT_URL environment variable
  80. matrix_livekit_jwt_service_environment_variable_livekit_url: ""
  81. # Controls the LIVEKIT_SECRET environment variable
  82. matrix_livekit_jwt_service_environment_variable_livekit_secret: ""
  83. # Controls the LIVEKIT_FULL_ACCESS_HOMESERVERS environment variable.
  84. # Comma-separated list of Matrix homeservers whose users are authorized with full access to LiveKit SFU features
  85. # (like creating rooms on the SFU).
  86. #
  87. # This is a required setting and the service refuses to start without it.
  88. # Setting it to `*` grants full access to any federated Matrix user, but listing only the homeserver(s)
  89. # you intend to serve is strongly recommended.
  90. #
  91. # To add additional homeservers, use `matrix_livekit_jwt_service_environment_variable_livekit_full_access_homeservers_list_custom`.
  92. matrix_livekit_jwt_service_environment_variable_livekit_full_access_homeservers: "{{ matrix_livekit_jwt_service_environment_variable_livekit_full_access_homeservers_list | join(',') }}"
  93. matrix_livekit_jwt_service_environment_variable_livekit_full_access_homeservers_list: "{{ matrix_livekit_jwt_service_environment_variable_livekit_full_access_homeservers_list_default + matrix_livekit_jwt_service_environment_variable_livekit_full_access_homeservers_list_auto + matrix_livekit_jwt_service_environment_variable_livekit_full_access_homeservers_list_custom }}"
  94. matrix_livekit_jwt_service_environment_variable_livekit_full_access_homeservers_list_default: ["{{ matrix_domain }}"]
  95. matrix_livekit_jwt_service_environment_variable_livekit_full_access_homeservers_list_auto: []
  96. matrix_livekit_jwt_service_environment_variable_livekit_full_access_homeservers_list_custom: []
  97. # Controls the LIVEKIT_CS_API_URL_OVERRIDES environment variable.
  98. #
  99. # To learn where a user's homeserver serves its Client-Server API, the service performs `.well-known` discovery.
  100. # That is, it requests `https://<server-name>/.well-known/matrix/client` over the network and reads `m.homeserver.base_url` out of it.
  101. # Entries listed here are consulted first, so that the server names they cover are resolved without discovery.
  102. #
  103. # Keys are Matrix server names and values are Client-Server API base URLs (including the scheme).
  104. # A playbook may inject an entry for the homeserver it manages, pointing the service at it directly.
  105. #
  106. # To add your own entries, use `matrix_livekit_jwt_service_environment_variable_livekit_cs_api_url_overrides_map_custom`.
  107. matrix_livekit_jwt_service_environment_variable_livekit_cs_api_url_overrides: "{{ matrix_livekit_jwt_service_environment_variable_livekit_cs_api_url_overrides_map.items() | map('join', '=') | join(',') }}"
  108. matrix_livekit_jwt_service_environment_variable_livekit_cs_api_url_overrides_map: "{{ matrix_livekit_jwt_service_environment_variable_livekit_cs_api_url_overrides_map_auto | combine(matrix_livekit_jwt_service_environment_variable_livekit_cs_api_url_overrides_map_custom) }}"
  109. matrix_livekit_jwt_service_environment_variable_livekit_cs_api_url_overrides_map_auto: {}
  110. matrix_livekit_jwt_service_environment_variable_livekit_cs_api_url_overrides_map_custom: {}
  111. # Additional environment variables to pass to the container.
  112. #
  113. # Environment variables take priority over settings in the configuration file.
  114. #
  115. # Example:
  116. # matrix_livekit_jwt_service_environment_variables_extension: |
  117. # KEY=value
  118. matrix_livekit_jwt_service_environment_variables_extension: ''
  119. # List of systemd services that LiveKit JWT Service service depends on
  120. matrix_livekit_jwt_service_systemd_required_services_list: "{{ matrix_livekit_jwt_service_systemd_required_services_list_default + matrix_livekit_jwt_service_systemd_required_services_list_auto + matrix_livekit_jwt_service_systemd_required_services_list_custom }}"
  121. matrix_livekit_jwt_service_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
  122. matrix_livekit_jwt_service_systemd_required_services_list_auto: []
  123. matrix_livekit_jwt_service_systemd_required_services_list_custom: []
  124. # matrix_livekit_jwt_service_restart_necessary controls whether the service
  125. # will be restarted (when true) or merely started (when false) by the
  126. # systemd service manager role (when conditional restart is enabled).
  127. #
  128. # This value is automatically computed during installation based on whether
  129. # any configuration files, the systemd service file, or the container image changed.
  130. # The default of `false` means "no restart needed" — appropriate when the role's
  131. # installation tasks haven't run (e.g., due to --tags skipping them).
  132. matrix_livekit_jwt_service_restart_necessary: false
  133. # Support additional container arguments for the LiveKit JWT service
  134. matrix_livekit_jwt_service_container_additional_arguments: []
  135. # A list of additional "volumes" to mount in the container.
  136. # Contains definition objects like this: `{"type": "bind", "src": "/outside", "dst": "/inside", "options": "readonly"}.
  137. # See the `--mount` documentation for the `docker run` command.
  138. # Note: internally, this uses the `--mount` flag for mounting the specified volumes.
  139. matrix_livekit_jwt_service_container_additional_volumes: "{{ matrix_livekit_jwt_service_container_additional_volumes_auto + matrix_livekit_jwt_service_container_additional_volumes_custom }}"
  140. matrix_livekit_jwt_service_container_additional_volumes_auto: []
  141. matrix_livekit_jwt_service_container_additional_volumes_custom: []