Matrix Docker Ansible eploy
Você não pode selecionar mais de 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.
 
 

60 linhas
3.2 KiB

  1. {#
  2. SPDX-FileCopyrightText: 2023 Slavi Pantaleev
  3. SPDX-FileCopyrightText: 2025 Suguru Hirahara
  4. SPDX-License-Identifier: AGPL-3.0-or-later
  5. #}
  6. {% if matrix_matrixto_container_labels_traefik_enabled %}
  7. traefik.enable=true
  8. {% if matrix_matrixto_container_labels_traefik_docker_network %}
  9. traefik.docker.network={{ matrix_matrixto_container_labels_traefik_docker_network }}
  10. {% endif %}
  11. {% set middlewares = [] %}
  12. {% if matrix_matrixto_container_labels_traefik_path_prefix != '/' %}
  13. traefik.http.middlewares.{{ matrix_matrixto_identifier }}-slashless-redirect.redirectregex.regex=^({{ matrix_matrixto_container_labels_traefik_path_prefix | quote }})$
  14. traefik.http.middlewares.{{ matrix_matrixto_identifier }}-slashless-redirect.redirectregex.replacement=${1}/
  15. {% set middlewares = middlewares + [matrix_matrixto_identifier + '-slashless-redirect'] %}
  16. {% endif %}
  17. {% if matrix_matrixto_container_labels_traefik_path_prefix != '/' %}
  18. traefik.http.middlewares.{{ matrix_matrixto_identifier }}-strip-prefix.stripprefix.prefixes={{ matrix_matrixto_container_labels_traefik_path_prefix }}
  19. {% set middlewares = middlewares + [matrix_matrixto_identifier + '-strip-prefix'] %}
  20. {% endif %}
  21. {% if matrix_matrixto_container_labels_traefik_additional_request_headers.keys() | length > 0 %}
  22. {% for name, value in matrix_matrixto_container_labels_traefik_additional_request_headers.items() %}
  23. traefik.http.middlewares.{{ matrix_matrixto_identifier }}-add-request-headers.headers.customrequestheaders.{{ name }}={{ value }}
  24. {% endfor %}
  25. {% set middlewares = middlewares + [matrix_matrixto_identifier + '-add-request-headers'] %}
  26. {% endif %}
  27. {% if matrix_matrixto_container_labels_traefik_additional_response_headers.keys() | length > 0 %}
  28. {% for name, value in matrix_matrixto_container_labels_traefik_additional_response_headers.items() %}
  29. traefik.http.middlewares.{{ matrix_matrixto_identifier }}-add-response-headers.headers.customresponseheaders.{{ name }}={{ value }}
  30. {% endfor %}
  31. {% set middlewares = middlewares + [matrix_matrixto_identifier + '-add-response-headers'] %}
  32. {% endif %}
  33. traefik.http.routers.{{ matrix_matrixto_identifier }}.rule={{ matrix_matrixto_container_labels_traefik_rule }}
  34. {% if matrix_matrixto_container_labels_traefik_priority | int > 0 %}
  35. traefik.http.routers.{{ matrix_matrixto_identifier }}.priority={{ matrix_matrixto_container_labels_traefik_priority }}
  36. {% endif %}
  37. traefik.http.routers.{{ matrix_matrixto_identifier }}.service={{ matrix_matrixto_identifier }}
  38. {% if middlewares | length > 0 %}
  39. traefik.http.routers.{{ matrix_matrixto_identifier }}.middlewares={{ middlewares | join(',') }}
  40. {% endif %}
  41. traefik.http.routers.{{ matrix_matrixto_identifier }}.entrypoints={{ matrix_matrixto_container_labels_traefik_entrypoints }}
  42. traefik.http.routers.{{ matrix_matrixto_identifier }}.tls={{ matrix_matrixto_container_labels_traefik_tls | to_json }}
  43. {% if matrix_matrixto_container_labels_traefik_tls %}
  44. traefik.http.routers.{{ matrix_matrixto_identifier }}.tls.certResolver={{ matrix_matrixto_container_labels_traefik_tls_certResolver }}
  45. {% endif %}
  46. traefik.http.services.{{ matrix_matrixto_identifier }}.loadbalancer.server.port={{ matrix_matrixto_container_http_port }}
  47. {% endif %}
  48. {{ matrix_matrixto_container_labels_additional_labels }}