Matrix Docker Ansible eploy
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

115 line
7.1 KiB

  1. ---
  2. # Enable or disable matrix-livekit-server deployment
  3. matrix_livekit_server_enabled: false
  4. # Base path configuration
  5. matrix_livekit_server_base_path: "{{ matrix_base_data_path }}/livekit-server"
  6. # Docker network configuration
  7. matrix_livekit_server_container_network: ''
  8. matrix_livekit_server_container_http_host_bind_port: ''
  9. matrix_livekit_server_container_additional_networks: [] # No additional networks by default
  10. # Docker images
  11. matrix_livekit_server_image: "livekit/livekit-server:latest"
  12. # LiveKit configuration
  13. matrix_livekit_server_livekit_server_dev_key: "{{ matrix_livekit_server_dev_key }}" # Must be defined in host_vars
  14. matrix_livekit_server_jwt_secret: "{{ matrix_element_call_jwt_secret }}" # Must be defined in host_vars
  15. matrix_livekit_server_hostname: "sfu.{{ matrix_domain }}"
  16. # Traefik Configuration for Element Call
  17. matrix_livekit_server_container_labels_traefik_enabled: true
  18. matrix_livekit_server_container_labels_traefik_docker_network: "{{ matrix_livekit_server_container_network }}"
  19. matrix_livekit_server_container_labels_traefik_hostname: "{{ matrix_livekit_server_domain }}"
  20. # The path prefix must either be `/` or not end with a slash (e.g. `/element`).
  21. matrix_livekit_server_container_labels_traefik_path_prefix: "{{ matrix_livekit_server_path_prefix }}"
  22. matrix_livekit_server_container_labels_traefik_rule: "Host(`{{ matrix_livekit_server_container_labels_traefik_hostname }}`){% if matrix_livekit_server_container_labels_traefik_path_prefix != '/' %} && PathPrefix(`{{ matrix_livekit_server_container_labels_traefik_path_prefix }}`){% endif %}"
  23. matrix_livekit_server_container_labels_traefik_priority: 0
  24. matrix_livekit_server_container_labels_traefik_entrypoints: web-secure
  25. matrix_livekit_server_container_labels_traefik_tls: "{{ matrix_livekit_server_container_labels_traefik_entrypoints != 'web' }}"
  26. matrix_livekit_server_container_labels_traefik_tls_certResolver: default # noqa var-naming
  27. # Controls which additional headers to attach to all HTTP responses.
  28. # To add your own headers, use `matrix_livekit_server_container_labels_traefik_additional_response_headers_custom`
  29. matrix_livekit_server_container_labels_traefik_additional_response_headers: "{{ matrix_livekit_server_container_labels_traefik_additional_response_headers_auto | combine(matrix_livekit_server_container_labels_traefik_additional_response_headers_custom) }}"
  30. matrix_livekit_server_container_labels_traefik_additional_response_headers_auto: |
  31. {{
  32. {}
  33. | combine ({'X-XSS-Protection': matrix_livekit_server_http_header_xss_protection} if matrix_livekit_server_http_header_xss_protection else {})
  34. | combine ({'X-Frame-Options': matrix_livekit_server_http_header_frame_options} if matrix_livekit_server_http_header_frame_options else {})
  35. | combine ({'X-Content-Type-Options': matrix_livekit_server_http_header_content_type_options} if matrix_livekit_server_http_header_content_type_options else {})
  36. | combine ({'Content-Security-Policy': matrix_livekit_server_http_header_content_security_policy} if matrix_livekit_server_http_header_content_security_policy else {})
  37. | combine ({'Permission-Policy': matrix_livekit_server_http_header_content_permission_policy} if matrix_livekit_server_http_header_content_permission_policy else {})
  38. | combine ({'Strict-Transport-Security': matrix_livekit_server_http_header_strict_transport_security} if matrix_livekit_server_http_header_strict_transport_security and matrix_livekit_server_container_labels_traefik_tls else {})
  39. }}
  40. matrix_livekit_server_container_labels_traefik_additional_response_headers_custom: {}
  41. # matrix_client_element_container_labels_additional_labels contains a multiline string with additional labels to add to the container label file.
  42. # See `../templates/labels.j2` for details.
  43. #
  44. # Example:
  45. # matrix_client_element_container_labels_additional_labels: |
  46. # my.label=1
  47. # another.label="here"
  48. matrix_livekit_server_container_labels_additional_labels: ''
  49. # A list of extra arguments to pass to the container
  50. matrix_livekit_server_container_extra_arguments: []
  51. # Additional environment variables for the container
  52. matrix_livekit_server_environment_variables_additional: {}
  53. # List of systemd services that matrix-element-call.service depends on
  54. matrix_livekit_server_systemd_required_services_list: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
  55. # Specifies the value of the `X-XSS-Protection` header
  56. # Stops pages from loading when they detect reflected cross-site scripting (XSS) attacks.
  57. #
  58. # Learn more about it is here:
  59. # - https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection
  60. # - https://portswigger.net/web-security/cross-site-scripting/reflected
  61. matrix_livekit_server_http_header_xss_protection: "1; mode=block"
  62. # Specifies the value of the `X-Frame-Options` header which controls whether framing can happen.
  63. # See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options
  64. matrix_livekit_server_http_header_frame_options: SAMEORIGIN
  65. # Specifies the value of the `X-Content-Type-Options` header.
  66. # See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options
  67. matrix_livekit_server_http_header_content_type_options: nosniff
  68. # Specifies the value of the `Content-Security-Policy` header.
  69. # See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy
  70. matrix_livekit_server_http_header_content_security_policy: frame-ancestors 'self'
  71. # Specifies the value of the `Permission-Policy` header.
  72. # See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Permission-Policy
  73. matrix_livekit_server_http_header_content_permission_policy: "{{ 'interest-cohort=()' if matrix_livekit_server_floc_optout_enabled else '' }}"
  74. # Specifies the value of the `Strict-Transport-Security` header.
  75. # See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security
  76. matrix_livekit_server_http_header_strict_transport_security: "max-age=31536000; includeSubDomains{{ '; preload' if matrix_livekit_server_hsts_preload_enabled else '' }}"
  77. # Controls whether to send a "Permissions-Policy interest-cohort=();" header along with all responses
  78. #
  79. # Learn more about what it is here:
  80. # - https://www.eff.org/deeplinks/2021/03/googles-floc-terrible-idea
  81. # - https://paramdeo.com/blog/opting-your-website-out-of-googles-floc-network
  82. # - https://amifloced.org/
  83. #
  84. # Of course, a better solution is to just stop using browsers (like Chrome), which participate in such tracking practices.
  85. # See: `matrix_livekit_server_content_permission_policy`
  86. matrix_livekit_server_floc_optout_enabled: true
  87. # Controls if HSTS preloading is enabled
  88. #
  89. # In its strongest and recommended form, the [HSTS policy](https://www.chromium.org/hsts) includes all subdomains, and
  90. # indicates a willingness to be "preloaded" into browsers:
  91. # `Strict-Transport-Security: max-age=31536000; includeSubDomains; preload`
  92. # For more information visit:
  93. # - https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security
  94. # - https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security
  95. # - https://hstspreload.org/#opt-in
  96. # See: `matrix_livekit_server_http_header_strict_transport_security`
  97. matrix_livekit_server_hsts_preload_enabled: false