Matrix Docker Ansible eploy
Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 

65 linhas
3.5 KiB

  1. {% if matrix_element_call_container_labels_traefik_enabled %}
  2. traefik.enable=true
  3. {% if matrix_element_call_container_labels_traefik_docker_network %}
  4. traefik.docker.network={{ matrix_element_call_container_labels_traefik_docker_network }}
  5. {% endif %}
  6. # Element Call Labels
  7. traefik.http.routers.element-call-router.rule={{ matrix_element_call_container_labels_traefik_rule }}
  8. traefik.http.routers.element-call-router.entrypoints={{ matrix_element_call_container_labels_traefik_entrypoints }}
  9. traefik.http.routers.element-call-router.tls.certresolver={{ matrix_element_call_container_labels_traefik_tls_certResolver }}
  10. traefik.http.services.element-call-service.loadbalancer.server.port=8080
  11. {% set middlewares = [] %}
  12. # Path prefix handling for Element Call
  13. {% if matrix_element_call_container_labels_traefik_path_prefix != '/' %}
  14. traefik.http.middlewares.element-call-slashless-redirect.redirectregex.regex=({{ matrix_element_call_container_labels_traefik_path_prefix | quote }})$
  15. traefik.http.middlewares.element-call-slashless-redirect.redirectregex.replacement=${1}/
  16. {% set middlewares = middlewares + ['element-call-slashless-redirect'] %}
  17. traefik.http.middlewares.element-call-strip-prefix.stripprefix.prefixes={{ matrix_element_call_container_labels_traefik_path_prefix }}
  18. {% set middlewares = middlewares + ['element-call-strip-prefix'] %}
  19. {% endif %}
  20. # Additional response headers for Element Call
  21. {% if matrix_element_call_container_labels_traefik_additional_response_headers.keys() | length > 0 %}
  22. {% for name, value in matrix_element_call_container_labels_traefik_additional_response_headers.items() %}
  23. traefik.http.middlewares.element-call-add-headers.headers.customresponseheaders.{{ name }}={{ value }}
  24. {% endfor %}
  25. {% set middlewares = middlewares + ['element-call-add-headers'] %}
  26. {% endif %}
  27. # Add middlewares to the Element Call router
  28. {% if middlewares | length > 0 %}
  29. traefik.http.routers.element-call-router.middlewares={{ middlewares | join(',') }}
  30. {% endif %}
  31. # LiveKit Labels
  32. traefik.http.routers.sfu-router.rule=Host(`{{ matrix_element_call_livekit_service_url | regex_replace('^https?://', '') }}`)
  33. traefik.http.routers.sfu-router.entrypoints=websecure
  34. traefik.http.routers.sfu-router.tls.certresolver=default
  35. traefik.http.services.sfu-service.loadbalancer.server.port=7880
  36. traefik.http.middlewares.sfu-headers.headers.customFrameOptionsValue=SAMEORIGIN
  37. traefik.http.middlewares.sfu-headers.headers.customResponseHeaders.X-Content-Type-Options=nosniff
  38. traefik.http.middlewares.sfu-headers.headers.customResponseHeaders.Strict-Transport-Security=max-age=31536000; includeSubDomains; preload
  39. traefik.http.routers.sfu-router.middlewares=sfu-headers
  40. # JWT Labels
  41. traefik.http.routers.jwt-router.rule=Host(`{{ matrix_element_call_jwt_service_url | regex_replace('^https?://', '') }}`)
  42. traefik.http.routers.jwt-router.entrypoints=websecure
  43. traefik.http.routers.jwt-router.tls.certresolver=default
  44. traefik.http.services.jwt-service.loadbalancer.server.port=8881
  45. traefik.http.middlewares.jwt-headers.headers.customFrameOptionsValue=SAMEORIGIN
  46. traefik.http.middlewares.jwt-headers.headers.customResponseHeaders.X-Content-Type-Options=nosniff
  47. traefik.http.middlewares.jwt-headers.headers.customResponseHeaders.Strict-Transport-Security=max-age=31536000; includeSubDomains; preload
  48. traefik.http.routers.jwt-router.middlewares=jwt-headers
  49. {% endif %}
  50. # Additional labels (if any) specified by the user
  51. {% for key, value in matrix_element_call_container_extra_arguments.items() %}
  52. {{ key }}={{ value }}
  53. {% endfor %}