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.
 
 

141 lines
7.2 KiB

  1. {#
  2. SPDX-FileCopyrightText: 2024 MDAD Team and contributors
  3. SPDX-License-Identifier: AGPL-3.0-or-later
  4. #}
  5. {% if matrix_conduit_container_labels_traefik_enabled %}
  6. traefik.enable=true
  7. {% if matrix_conduit_container_labels_traefik_docker_network %}
  8. traefik.docker.network={{ matrix_conduit_container_labels_traefik_docker_network }}
  9. {% endif %}
  10. traefik.http.services.matrix-conduit.loadbalancer.server.port={{ matrix_conduit_port_number }}
  11. {% if matrix_conduit_container_labels_public_client_root_enabled %}
  12. ############################################################
  13. # #
  14. # Public Root path (/) #
  15. # #
  16. ############################################################
  17. {% set client_root_middlewares = [] %}
  18. {% if matrix_conduit_container_labels_public_client_root_redirection_enabled %}
  19. {% set client_root_middlewares = client_root_middlewares + ['matrix-conduit-client-root-redirect'] %}
  20. traefik.http.middlewares.matrix-conduit-client-root-redirect.redirectregex.regex=(.*)
  21. traefik.http.middlewares.matrix-conduit-client-root-redirect.redirectregex.replacement={{ matrix_conduit_container_labels_public_client_root_redirection_url }}
  22. {% endif %}
  23. traefik.http.routers.matrix-conduit-public-client-root.rule={{ matrix_conduit_container_labels_public_client_root_traefik_rule }}
  24. traefik.http.routers.matrix-conduit-public-client-root.middlewares={{ client_root_middlewares | join(',') }}
  25. {% if matrix_conduit_container_labels_public_client_root_traefik_priority | int > 0 %}
  26. traefik.http.routers.matrix-conduit-public-client-root.priority={{ matrix_conduit_container_labels_public_client_root_traefik_priority }}
  27. {% endif %}
  28. traefik.http.routers.matrix-conduit-public-client-root.service=matrix-conduit
  29. traefik.http.routers.matrix-conduit-public-client-root.entrypoints={{ matrix_conduit_container_labels_public_client_root_traefik_entrypoints }}
  30. traefik.http.routers.matrix-conduit-public-client-root.tls={{ matrix_conduit_container_labels_public_client_root_traefik_tls | to_json }}
  31. {% if matrix_conduit_container_labels_public_client_root_traefik_tls %}
  32. traefik.http.routers.matrix-conduit-public-client-root.tls.certResolver={{ matrix_conduit_container_labels_public_client_root_traefik_tls_certResolver }}
  33. {% endif %}
  34. ############################################################
  35. # #
  36. # /Public Root path (/) #
  37. # #
  38. ############################################################
  39. {% endif %}
  40. {% if matrix_conduit_container_labels_public_client_api_enabled %}
  41. ############################################################
  42. # #
  43. # Public Client-API (/_matrix) #
  44. # #
  45. ############################################################
  46. traefik.http.routers.matrix-conduit-public-client-api.rule={{ matrix_conduit_container_labels_public_client_api_traefik_rule }}
  47. {% if matrix_conduit_container_labels_public_client_api_traefik_priority | int > 0 %}
  48. traefik.http.routers.matrix-conduit-public-client-api.priority={{ matrix_conduit_container_labels_public_client_api_traefik_priority }}
  49. {% endif %}
  50. traefik.http.routers.matrix-conduit-public-client-api.service=matrix-conduit
  51. traefik.http.routers.matrix-conduit-public-client-api.entrypoints={{ matrix_conduit_container_labels_public_client_api_traefik_entrypoints }}
  52. traefik.http.routers.matrix-conduit-public-client-api.tls={{ matrix_conduit_container_labels_public_client_api_traefik_tls | to_json }}
  53. {% if matrix_conduit_container_labels_public_client_api_traefik_tls %}
  54. traefik.http.routers.matrix-conduit-public-client-api.tls.certResolver={{ matrix_conduit_container_labels_public_client_api_traefik_tls_certResolver }}
  55. {% endif %}
  56. ############################################################
  57. # #
  58. # /Public Client-API (/_matrix) #
  59. # #
  60. ############################################################
  61. {% endif %}
  62. {% if matrix_conduit_container_labels_internal_client_api_enabled %}
  63. ############################################################
  64. # #
  65. # Internal Client-API (/_matrix) #
  66. # #
  67. ############################################################
  68. traefik.http.routers.matrix-conduit-internal-client-api.rule={{ matrix_conduit_container_labels_internal_client_api_traefik_rule }}
  69. {% if matrix_conduit_container_labels_internal_client_api_traefik_priority | int > 0 %}
  70. traefik.http.routers.matrix-conduit-internal-client-api.priority={{ matrix_conduit_container_labels_internal_client_api_traefik_priority }}
  71. {% endif %}
  72. traefik.http.routers.matrix-conduit-internal-client-api.service=matrix-conduit
  73. traefik.http.routers.matrix-conduit-internal-client-api.entrypoints={{ matrix_conduit_container_labels_internal_client_api_traefik_entrypoints }}
  74. ############################################################
  75. # #
  76. # /Internal Client-API (/_matrix) #
  77. # #
  78. ############################################################
  79. {% endif %}
  80. {% if matrix_conduit_container_labels_public_federation_api_enabled %}
  81. ############################################################
  82. # #
  83. # Public Federation-API (/_matrix) #
  84. # #
  85. ############################################################
  86. traefik.http.routers.matrix-conduit-public-federation-api.rule={{ matrix_conduit_container_labels_public_federation_api_traefik_rule }}
  87. {% if matrix_conduit_container_labels_public_federation_api_traefik_priority | int > 0 %}
  88. traefik.http.routers.matrix-conduit-public-federation-api.priority={{ matrix_conduit_container_labels_public_federation_api_traefik_priority }}
  89. {% endif %}
  90. traefik.http.routers.matrix-conduit-public-federation-api.service=matrix-conduit
  91. traefik.http.routers.matrix-conduit-public-federation-api.entrypoints={{ matrix_conduit_container_labels_public_federation_api_traefik_entrypoints }}
  92. traefik.http.routers.matrix-conduit-public-federation-api.tls={{ matrix_conduit_container_labels_public_federation_api_traefik_tls | to_json }}
  93. {% if matrix_conduit_container_labels_public_federation_api_traefik_tls %}
  94. traefik.http.routers.matrix-conduit-public-federation-api.tls.certResolver={{ matrix_conduit_container_labels_public_federation_api_traefik_tls_certResolver }}
  95. {% endif %}
  96. ############################################################
  97. # #
  98. # /Public Federation-API (/_matrix) #
  99. # #
  100. ############################################################
  101. {% endif %}
  102. {% endif %}
  103. {{ matrix_conduit_container_labels_additional_labels }}