Matrix Docker Ansible eploy
Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.
 
 

242 wiersze
13 KiB

  1. {#
  2. SPDX-FileCopyrightText: 2024 Slavi Pantaleev
  3. SPDX-License-Identifier: AGPL-3.0-or-later
  4. #}
  5. {% if matrix_dendrite_container_labels_traefik_enabled %}
  6. traefik.enable=true
  7. {% if matrix_dendrite_container_labels_traefik_docker_network %}
  8. traefik.docker.network={{ matrix_dendrite_container_labels_traefik_docker_network }}
  9. {% endif %}
  10. traefik.http.services.matrix-dendrite.loadbalancer.server.port={{ matrix_dendrite_http_bind_port }}
  11. {% if matrix_dendrite_container_labels_public_client_root_enabled %}
  12. ############################################################
  13. # #
  14. # Public Root path (/) #
  15. # #
  16. ############################################################
  17. {% set client_root_middlewares = [] %}
  18. {% if matrix_dendrite_container_labels_public_client_root_redirection_enabled %}
  19. {% set client_root_middlewares = client_root_middlewares + ['matrix-dendrite-client-root-redirect'] %}
  20. traefik.http.middlewares.matrix-dendrite-client-root-redirect.redirectregex.regex=(.*)
  21. traefik.http.middlewares.matrix-dendrite-client-root-redirect.redirectregex.replacement={{ matrix_dendrite_container_labels_public_client_root_redirection_url }}
  22. {% endif %}
  23. traefik.http.routers.matrix-dendrite-public-client-root.rule={{ matrix_dendrite_container_labels_public_client_root_traefik_rule }}
  24. traefik.http.routers.matrix-dendrite-public-client-root.middlewares={{ client_root_middlewares | join(',') }}
  25. {% if matrix_dendrite_container_labels_public_client_root_traefik_priority | int > 0 %}
  26. traefik.http.routers.matrix-dendrite-public-client-root.priority={{ matrix_dendrite_container_labels_public_client_root_traefik_priority }}
  27. {% endif %}
  28. traefik.http.routers.matrix-dendrite-public-client-root.service=matrix-dendrite
  29. traefik.http.routers.matrix-dendrite-public-client-root.entrypoints={{ matrix_dendrite_container_labels_public_client_root_traefik_entrypoints }}
  30. traefik.http.routers.matrix-dendrite-public-client-root.tls={{ matrix_dendrite_container_labels_public_client_root_traefik_tls | to_json }}
  31. {% if matrix_dendrite_container_labels_public_client_root_traefik_tls %}
  32. traefik.http.routers.matrix-dendrite-public-client-root.tls.certResolver={{ matrix_dendrite_container_labels_public_client_root_traefik_tls_certResolver }}
  33. {% endif %}
  34. ############################################################
  35. # #
  36. # /Public Root path (/) #
  37. # #
  38. ############################################################
  39. {% endif %}
  40. {% if matrix_dendrite_container_labels_public_client_api_enabled %}
  41. ############################################################
  42. # #
  43. # Public Client-API (/_matrix) #
  44. # #
  45. ############################################################
  46. traefik.http.routers.matrix-dendrite-public-client-api.rule={{ matrix_dendrite_container_labels_public_client_api_traefik_rule }}
  47. {% if matrix_dendrite_container_labels_public_client_api_traefik_priority | int > 0 %}
  48. traefik.http.routers.matrix-dendrite-public-client-api.priority={{ matrix_dendrite_container_labels_public_client_api_traefik_priority }}
  49. {% endif %}
  50. traefik.http.routers.matrix-dendrite-public-client-api.service=matrix-dendrite
  51. traefik.http.routers.matrix-dendrite-public-client-api.entrypoints={{ matrix_dendrite_container_labels_public_client_api_traefik_entrypoints }}
  52. traefik.http.routers.matrix-dendrite-public-client-api.tls={{ matrix_dendrite_container_labels_public_client_api_traefik_tls | to_json }}
  53. {% if matrix_dendrite_container_labels_public_client_api_traefik_tls %}
  54. traefik.http.routers.matrix-dendrite-public-client-api.tls.certResolver={{ matrix_dendrite_container_labels_public_client_api_traefik_tls_certResolver }}
  55. {% endif %}
  56. ############################################################
  57. # #
  58. # /Public Client-API (/_matrix) #
  59. # #
  60. ############################################################
  61. {% endif %}
  62. {% if matrix_dendrite_container_labels_internal_client_api_enabled %}
  63. ############################################################
  64. # #
  65. # Internal Client-API (/_matrix) #
  66. # #
  67. ############################################################
  68. traefik.http.routers.matrix-dendrite-internal-client-api.rule={{ matrix_dendrite_container_labels_internal_client_api_traefik_rule }}
  69. {% if matrix_dendrite_container_labels_internal_client_api_traefik_priority | int > 0 %}
  70. traefik.http.routers.matrix-dendrite-internal-client-api.priority={{ matrix_dendrite_container_labels_internal_client_api_traefik_priority }}
  71. {% endif %}
  72. traefik.http.routers.matrix-dendrite-internal-client-api.service=matrix-dendrite
  73. traefik.http.routers.matrix-dendrite-internal-client-api.entrypoints={{ matrix_dendrite_container_labels_internal_client_api_traefik_entrypoints }}
  74. ############################################################
  75. # #
  76. # /Internal Client-API (/_matrix) #
  77. # #
  78. ############################################################
  79. {% endif %}
  80. {% if matrix_dendrite_container_labels_public_client_synapse_admin_api_enabled %}
  81. ############################################################
  82. # #
  83. # Public Synapse Admin API (/_synapse/admin) #
  84. # #
  85. ############################################################
  86. traefik.http.routers.matrix-dendrite-public-client-synapse-admin-api.rule={{ matrix_dendrite_container_labels_public_client_synapse_admin_api_traefik_rule }}
  87. {% if matrix_dendrite_container_labels_public_client_synapse_admin_api_traefik_priority | int > 0 %}
  88. traefik.http.routers.matrix-dendrite-public-client-synapse-admin-api.priority={{ matrix_dendrite_container_labels_public_client_synapse_admin_api_traefik_priority }}
  89. {% endif %}
  90. traefik.http.routers.matrix-dendrite-public-client-synapse-admin-api.service=matrix-dendrite
  91. traefik.http.routers.matrix-dendrite-public-client-synapse-admin-api.entrypoints={{ matrix_dendrite_container_labels_public_client_synapse_admin_api_traefik_entrypoints }}
  92. traefik.http.routers.matrix-dendrite-public-client-synapse-admin-api.tls={{ matrix_dendrite_container_labels_public_client_synapse_admin_api_traefik_tls | to_json }}
  93. {% if matrix_dendrite_container_labels_public_client_synapse_admin_api_traefik_tls %}
  94. traefik.http.routers.matrix-dendrite-public-client-synapse-admin-api.tls.certResolver={{ matrix_dendrite_container_labels_public_client_synapse_admin_api_traefik_tls_certResolver }}
  95. {% endif %}
  96. ############################################################
  97. # #
  98. # /Public Synapse Admin API (/_synapse/admin) #
  99. # #
  100. ############################################################
  101. {% endif %}
  102. {% if matrix_dendrite_container_labels_public_client_dendrite_admin_api_enabled %}
  103. ############################################################
  104. # #
  105. # Public Dendrite Admin API (/_dendrite/admin) #
  106. # #
  107. ############################################################
  108. traefik.http.routers.matrix-dendrite-public-client-synapse-admin-api.rule={{ matrix_dendrite_container_labels_public_client_dendrite_admin_api_traefik_rule }}
  109. {% if matrix_dendrite_container_labels_public_client_dendrite_admin_api_traefik_priority | int > 0 %}
  110. traefik.http.routers.matrix-dendrite-public-client-synapse-admin-api.priority={{ matrix_dendrite_container_labels_public_client_dendrite_admin_api_traefik_priority }}
  111. {% endif %}
  112. traefik.http.routers.matrix-dendrite-public-client-synapse-admin-api.service=matrix-dendrite
  113. traefik.http.routers.matrix-dendrite-public-client-synapse-admin-api.entrypoints={{ matrix_dendrite_container_labels_public_client_dendrite_admin_api_traefik_entrypoints }}
  114. traefik.http.routers.matrix-dendrite-public-client-synapse-admin-api.tls={{ matrix_dendrite_container_labels_public_client_dendrite_admin_api_traefik_tls | to_json }}
  115. {% if matrix_dendrite_container_labels_public_client_dendrite_admin_api_traefik_tls %}
  116. traefik.http.routers.matrix-dendrite-public-client-synapse-admin-api.tls.certResolver={{ matrix_dendrite_container_labels_public_client_dendrite_admin_api_traefik_tls_certResolver }}
  117. {% endif %}
  118. ############################################################
  119. # #
  120. # /Public Dendrite Admin API (/_dendrite/admin) #
  121. # #
  122. ############################################################
  123. {% endif %}
  124. {% if matrix_dendrite_container_labels_public_federation_api_enabled %}
  125. ############################################################
  126. # #
  127. # Public Federation-API (/_matrix) #
  128. # #
  129. ############################################################
  130. traefik.http.routers.matrix-dendrite-public-federation-api.rule={{ matrix_dendrite_container_labels_public_federation_api_traefik_rule }}
  131. {% if matrix_dendrite_container_labels_public_federation_api_traefik_priority | int > 0 %}
  132. traefik.http.routers.matrix-dendrite-public-federation-api.priority={{ matrix_dendrite_container_labels_public_federation_api_traefik_priority }}
  133. {% endif %}
  134. traefik.http.routers.matrix-dendrite-public-federation-api.service=matrix-dendrite
  135. traefik.http.routers.matrix-dendrite-public-federation-api.entrypoints={{ matrix_dendrite_container_labels_public_federation_api_traefik_entrypoints }}
  136. traefik.http.routers.matrix-dendrite-public-federation-api.tls={{ matrix_dendrite_container_labels_public_federation_api_traefik_tls | to_json }}
  137. {% if matrix_dendrite_container_labels_public_federation_api_traefik_tls %}
  138. traefik.http.routers.matrix-dendrite-public-federation-api.tls.certResolver={{ matrix_dendrite_container_labels_public_federation_api_traefik_tls_certResolver }}
  139. {% endif %}
  140. ############################################################
  141. # #
  142. # /Public Federation-API (/_matrix) #
  143. # #
  144. ############################################################
  145. {% endif %}
  146. {% if matrix_dendrite_container_labels_public_metrics_enabled %}
  147. ############################################################
  148. # #
  149. # Public Metrics #
  150. # #
  151. ############################################################
  152. {% set metrics_middlewares = [] %}
  153. {% if matrix_dendrite_container_labels_public_metrics_middleware_basic_auth_enabled %}
  154. {% set metrics_middlewares = metrics_middlewares + ['matrix-dendrite-metrics-basic-auth'] %}
  155. traefik.http.middlewares.matrix-dendrite-metrics-basic-auth.basicauth.users={{ matrix_dendrite_container_labels_public_metrics_middleware_basic_auth_users }}
  156. {% endif %}
  157. {% set metrics_middlewares = metrics_middlewares + ['matrix-dendrite-metrics-replacepath'] %}
  158. traefik.http.middlewares.matrix-dendrite-metrics-replacepath.replacepath.path=/metrics
  159. traefik.http.routers.matrix-dendrite-metrics.rule={{ matrix_dendrite_container_labels_public_metrics_traefik_rule }}
  160. {% if metrics_middlewares | length > 0 %}
  161. traefik.http.routers.matrix-dendrite-metrics.middlewares={{ metrics_middlewares | join(',') }}
  162. {% endif %}
  163. {% if matrix_dendrite_container_labels_public_metrics_traefik_priority | int > 0 %}
  164. traefik.http.routers.matrix-dendrite-metrics.priority={{ matrix_dendrite_container_labels_public_metrics_traefik_priority }}
  165. {% endif %}
  166. traefik.http.routers.matrix-dendrite-metrics.service=matrix-dendrite
  167. traefik.http.routers.matrix-dendrite-metrics.entrypoints={{ matrix_dendrite_container_labels_public_metrics_traefik_entrypoints }}
  168. traefik.http.routers.matrix-dendrite-metrics.tls={{ matrix_dendrite_container_labels_public_metrics_traefik_tls | to_json }}
  169. {% if matrix_dendrite_container_labels_public_metrics_traefik_tls %}
  170. traefik.http.routers.matrix-dendrite-metrics.tls.certResolver={{ matrix_dendrite_container_labels_public_metrics_traefik_tls_certResolver }}
  171. {% endif %}
  172. ############################################################
  173. # #
  174. # /Public Metrics #
  175. # #
  176. ############################################################
  177. {% endif %}
  178. {% endif %}
  179. {{ matrix_dendrite_container_labels_additional_labels }}