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.
 
 

98 lines
5.0 KiB

  1. {#
  2. SPDX-FileCopyrightText: 2024 wjbeckett
  3. SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev
  4. SPDX-License-Identifier: AGPL-3.0-or-later
  5. #}
  6. {% if livekit_server_container_labels_traefik_enabled %}
  7. traefik.enable=true
  8. {% if livekit_server_container_labels_traefik_docker_network %}
  9. traefik.docker.network={{ livekit_server_container_labels_traefik_docker_network }}
  10. {% endif %}
  11. traefik.http.services.{{ livekit_server_identifier }}.loadbalancer.server.port={{ livekit_server_config_port }}
  12. {% if livekit_server_config_prometheus_enabled %}
  13. traefik.http.services.{{ livekit_server_identifier }}-metrics.loadbalancer.server.port={{ livekit_server_config_prometheus_port }}
  14. {% endif %}
  15. {% set middlewares = [] %}
  16. {% if livekit_server_container_labels_traefik_path_prefix != '/' %}
  17. traefik.http.middlewares.{{ livekit_server_identifier }}-slashless-redirect.redirectregex.regex=^({{ livekit_server_container_labels_traefik_path_prefix | quote }})$
  18. traefik.http.middlewares.{{ livekit_server_identifier }}-slashless-redirect.redirectregex.replacement=${1}/
  19. {% set middlewares = middlewares + [livekit_server_identifier + '-slashless-redirect'] %}
  20. traefik.http.middlewares.{{ livekit_server_identifier }}-strip-prefix.stripprefix.prefixes={{ livekit_server_container_labels_traefik_path_prefix }}
  21. {% set middlewares = middlewares + [livekit_server_identifier + '-strip-prefix'] %}
  22. {% endif %}
  23. traefik.http.routers.{{ livekit_server_identifier }}.rule={{ livekit_server_container_labels_traefik_rule }}
  24. {% if livekit_server_container_labels_traefik_priority | int > 0 %}
  25. traefik.http.routers.{{ livekit_server_identifier }}.priority={{ livekit_server_container_labels_traefik_priority }}
  26. {% endif %}
  27. traefik.http.routers.{{ livekit_server_identifier }}.service={{ livekit_server_identifier }}
  28. {% if middlewares | length > 0 %}
  29. traefik.http.routers.{{ livekit_server_identifier }}.middlewares={{ middlewares | join(',') }}
  30. {% endif %}
  31. traefik.http.routers.{{ livekit_server_identifier }}.entrypoints={{ livekit_server_container_labels_traefik_entrypoints }}
  32. traefik.http.routers.{{ livekit_server_identifier }}.tls={{ livekit_server_container_labels_traefik_tls | to_json }}
  33. {% if livekit_server_container_labels_traefik_tls %}
  34. traefik.http.routers.{{ livekit_server_identifier }}.tls.certResolver={{ livekit_server_container_labels_traefik_tls_certResolver }}
  35. {% endif %}
  36. {% if livekit_server_container_labels_public_metrics_enabled %}
  37. ########################################################################
  38. # #
  39. # Metrics #
  40. # #
  41. ########################################################################
  42. {% set metrics_middlewares = [] %}
  43. {% if livekit_server_container_labels_public_metrics_middleware_basic_auth_enabled %}
  44. {% set metrics_middlewares = metrics_middlewares + [livekit_server_identifier + '-metrics-basic-auth'] %}
  45. traefik.http.middlewares.{{ livekit_server_identifier }}-metrics-basic-auth.basicauth.users={{ livekit_server_container_labels_public_metrics_middleware_basic_auth_users }}
  46. {% endif %}
  47. {% set metrics_middlewares = metrics_middlewares + [livekit_server_identifier + '-metrics-replacepath'] %}
  48. traefik.http.middlewares.{{ livekit_server_identifier }}-metrics-replacepath.replacepath.path={{ livekit_server_metrics_proxying_path_prefix }}
  49. traefik.http.routers.{{ livekit_server_identifier }}-metrics.rule={{ livekit_server_container_labels_public_metrics_traefik_rule }}
  50. {% if metrics_middlewares | length > 0 %}
  51. traefik.http.routers.{{ livekit_server_identifier }}-metrics.middlewares={{ metrics_middlewares | join(',') }}
  52. {% endif %}
  53. {% if livekit_server_container_labels_public_metrics_traefik_priority | int > 0 %}
  54. traefik.http.routers.{{ livekit_server_identifier }}-metrics.priority={{ livekit_server_container_labels_public_metrics_traefik_priority }}
  55. {% endif %}
  56. traefik.http.routers.{{ livekit_server_identifier }}-metrics.service={{ livekit_server_identifier }}-metrics
  57. traefik.http.routers.{{ livekit_server_identifier }}-metrics.entrypoints={{ livekit_server_container_labels_public_metrics_traefik_entrypoints }}
  58. traefik.http.routers.{{ livekit_server_identifier }}-metrics.tls={{ livekit_server_container_labels_public_metrics_traefik_tls | to_json }}
  59. {% if livekit_server_container_labels_public_metrics_traefik_tls %}
  60. traefik.http.routers.{{ livekit_server_identifier }}-metrics.tls.certResolver={{ livekit_server_container_labels_public_metrics_traefik_tls_certResolver }}
  61. {% endif %}
  62. ########################################################################
  63. # #
  64. # /Metrics #
  65. # #
  66. ########################################################################
  67. {% endif %}
  68. {% endif %}
  69. {% for arg in livekit_server_container_labels_additional_labels %}
  70. {{ arg }}
  71. {% endfor %}