|
|
|
|
@@ -5944,6 +5944,8 @@ traefik_additional_entrypoints_auto: |
|
|
|
|
|
([matrix_playbook_public_matrix_federation_api_traefik_entrypoint_definition] if matrix_playbook_public_matrix_federation_api_traefik_entrypoint_enabled else [])
|
|
|
|
|
+
|
|
|
|
|
([matrix_playbook_internal_matrix_client_api_traefik_entrypoint_definition] if matrix_playbook_internal_matrix_client_api_traefik_entrypoint_enabled else [])
|
|
|
|
|
+
|
|
|
|
|
([matrix_playbook_livekit_turn_traefik_entrypoint_definition] if matrix_playbook_livekit_turn_traefik_entrypoint_enabled else [])
|
|
|
|
|
}}
|
|
|
|
|
|
|
|
|
|
traefik_config_providers_docker_endpoint: "{{ container_socket_proxy_endpoint if container_socket_proxy_enabled else 'unix:///var/run/docker.sock' }}"
|
|
|
|
|
@@ -6103,6 +6105,11 @@ livekit_server_container_image_registry_prefix_upstream: "{{ matrix_container_gl
|
|
|
|
|
livekit_server_container_network: "{{ matrix_addons_container_network }}"
|
|
|
|
|
livekit_server_container_additional_networks_auto: "{{ [matrix_playbook_reverse_proxyable_services_additional_network] if (livekit_server_container_labels_traefik_enabled and matrix_playbook_reverse_proxyable_services_additional_network) else [] }}"
|
|
|
|
|
|
|
|
|
|
# We expose LiveKit TURN/TLS via Traefik on a dedicated TCP entrypoint.
|
|
|
|
|
matrix_playbook_livekit_turn_traefik_entrypoint_enabled: "{{ matrix_playbook_reverse_proxy_type == 'playbook-managed-traefik' and livekit_server_config_turn_enabled and livekit_server_config_turn_external_tls and livekit_server_container_labels_traefik_enabled }}"
|
|
|
|
|
matrix_playbook_livekit_turn_traefik_entrypoint_port: "{{ livekit_server_config_turn_tls_port }}"
|
|
|
|
|
matrix_playbook_livekit_turn_traefik_entrypoint_host_bind_port: "{{ (matrix_playbook_service_host_bind_interface_prefix ~ (matrix_playbook_livekit_turn_traefik_entrypoint_port | string)) if matrix_playbook_service_host_bind_interface_prefix else (matrix_playbook_livekit_turn_traefik_entrypoint_port | string) }}"
|
|
|
|
|
|
|
|
|
|
livekit_server_container_additional_volumes_auto: |
|
|
|
|
|
{{
|
|
|
|
|
(
|
|
|
|
|
@@ -6117,7 +6124,7 @@ livekit_server_container_additional_volumes_auto: |
|
|
|
|
|
'dst': livekit_server_config_turn_key_file,
|
|
|
|
|
'options': 'ro',
|
|
|
|
|
},
|
|
|
|
|
] if (matrix_playbook_reverse_proxy_type in ['playbook-managed-traefik', 'other-traefik-container'] and traefik_certs_dumper_enabled and livekit_server_config_turn_enabled and (livekit_server_config_turn_cert_file and livekit_server_config_turn_key_file)) else []
|
|
|
|
|
] if (matrix_playbook_reverse_proxy_type in ['playbook-managed-traefik', 'other-traefik-container'] and traefik_certs_dumper_enabled and livekit_server_config_turn_enabled and not (livekit_server_config_turn_external_tls | bool) and (livekit_server_config_turn_cert_file and livekit_server_config_turn_key_file)) else []
|
|
|
|
|
)
|
|
|
|
|
}}
|
|
|
|
|
|
|
|
|
|
@@ -6125,6 +6132,9 @@ livekit_server_container_labels_traefik_enabled: "{{ matrix_playbook_reverse_pro
|
|
|
|
|
livekit_server_container_labels_traefik_docker_network: "{{ matrix_playbook_reverse_proxyable_services_additional_network }}"
|
|
|
|
|
livekit_server_container_labels_traefik_entrypoints: "{{ traefik_entrypoint_primary }}"
|
|
|
|
|
livekit_server_container_labels_traefik_tls_certResolver: "{{ traefik_certResolver_primary }}"
|
|
|
|
|
livekit_server_container_labels_turn_traefik_enabled: "{{ matrix_playbook_livekit_turn_traefik_entrypoint_enabled }}"
|
|
|
|
|
livekit_server_container_labels_turn_traefik_entrypoints: "{{ matrix_playbook_livekit_turn_traefik_entrypoint_name }}"
|
|
|
|
|
livekit_server_container_labels_turn_traefik_tls_certResolver: "{{ traefik_certResolver_primary }}"
|
|
|
|
|
|
|
|
|
|
livekit_server_container_labels_public_metrics_middleware_basic_auth_enabled: "{{ matrix_metrics_exposure_http_basic_auth_enabled }}"
|
|
|
|
|
livekit_server_container_labels_public_metrics_middleware_basic_auth_users: "{{ matrix_metrics_exposure_http_basic_auth_users }}"
|
|
|
|
|
@@ -6163,15 +6173,19 @@ livekit_server_config_turn_tls_port: 5350
|
|
|
|
|
# Note that TURN is not enabled by default. See `livekit_server_config_turn_enabled`.
|
|
|
|
|
livekit_server_config_turn_udp_port: 3479
|
|
|
|
|
|
|
|
|
|
# LiveKit's TURN implementation requires SSL certificates.
|
|
|
|
|
# We only enable it if we can provide them automatically via Traefik + Traefik Certs Dumper.
|
|
|
|
|
livekit_server_config_turn_enabled: "{{ matrix_playbook_reverse_proxy_type in ['playbook-managed-traefik', 'other-traefik-container'] and traefik_certs_dumper_enabled }}"
|
|
|
|
|
# In this mode, Traefik terminates TURN/TLS and forwards plaintext TCP to LiveKit's `turn.tls_port`.
|
|
|
|
|
# We only enable it automatically when Traefik is managed by this playbook.
|
|
|
|
|
livekit_server_config_turn_external_tls: "{{ matrix_playbook_reverse_proxy_type == 'playbook-managed-traefik' and matrix_playbook_ssl_enabled }}"
|
|
|
|
|
# TURN stays enabled for either mode:
|
|
|
|
|
# - external TLS termination by playbook-managed Traefik
|
|
|
|
|
# - in-container TLS using certificates from Traefik Certs Dumper
|
|
|
|
|
livekit_server_config_turn_enabled: "{{ matrix_playbook_reverse_proxy_type in ['playbook-managed-traefik', 'other-traefik-container'] and (livekit_server_config_turn_external_tls or traefik_certs_dumper_enabled) }}"
|
|
|
|
|
|
|
|
|
|
livekit_server_config_turn_cert_file: |-
|
|
|
|
|
{{
|
|
|
|
|
{
|
|
|
|
|
'playbook-managed-traefik': ('/certificate.crt' if traefik_certs_dumper_enabled else ''),
|
|
|
|
|
'other-traefik-container': ('/certificate.crt' if traefik_certs_dumper_enabled else ''),
|
|
|
|
|
'playbook-managed-traefik': ('/certificate.crt' if traefik_certs_dumper_enabled and not (livekit_server_config_turn_external_tls | bool) else ''),
|
|
|
|
|
'other-traefik-container': ('/certificate.crt' if traefik_certs_dumper_enabled and not (livekit_server_config_turn_external_tls | bool) else ''),
|
|
|
|
|
'none': '',
|
|
|
|
|
}[matrix_playbook_reverse_proxy_type]
|
|
|
|
|
}}
|
|
|
|
|
@@ -6179,15 +6193,15 @@ livekit_server_config_turn_cert_file: |-
|
|
|
|
|
livekit_server_config_turn_key_file: |-
|
|
|
|
|
{{
|
|
|
|
|
{
|
|
|
|
|
'playbook-managed-traefik': ('/privatekey.key' if traefik_certs_dumper_enabled else ''),
|
|
|
|
|
'other-traefik-container': ('/privatekey.key' if traefik_certs_dumper_enabled else ''),
|
|
|
|
|
'playbook-managed-traefik': ('/privatekey.key' if traefik_certs_dumper_enabled and not (livekit_server_config_turn_external_tls | bool) else ''),
|
|
|
|
|
'other-traefik-container': ('/privatekey.key' if traefik_certs_dumper_enabled and not (livekit_server_config_turn_external_tls | bool) else ''),
|
|
|
|
|
'none': '',
|
|
|
|
|
}[matrix_playbook_reverse_proxy_type]
|
|
|
|
|
}}
|
|
|
|
|
|
|
|
|
|
livekit_server_systemd_required_services_list_auto: |
|
|
|
|
|
{{
|
|
|
|
|
([traefik_certs_dumper_identifier + '-wait-for-domain@' + livekit_server_config_turn_domain + '.service'] if matrix_playbook_reverse_proxy_type in ['playbook-managed-traefik', 'other-traefik-container'] and traefik_certs_dumper_enabled and livekit_server_config_turn_enabled else [])
|
|
|
|
|
([traefik_certs_dumper_identifier + '-wait-for-domain@' + livekit_server_config_turn_domain + '.service'] if matrix_playbook_reverse_proxy_type in ['playbook-managed-traefik', 'other-traefik-container'] and traefik_certs_dumper_enabled and livekit_server_config_turn_enabled and not (livekit_server_config_turn_external_tls | bool) else [])
|
|
|
|
|
}}
|
|
|
|
|
|
|
|
|
|
########################################################################
|
|
|
|
|
|