Matrix Docker Ansible eploy
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
 
 

271 lignes
15 KiB

  1. {% if matrix_synapse_container_labels_traefik_enabled %}
  2. traefik.enable=true
  3. {% if matrix_synapse_container_labels_traefik_docker_network %}
  4. traefik.docker.network={{ matrix_synapse_container_labels_traefik_docker_network }}
  5. {% endif %}
  6. traefik.http.services.matrix-synapse-client-api.loadbalancer.server.port={{ matrix_synapse_container_client_api_port }}
  7. traefik.http.services.matrix-synapse-federation-api.loadbalancer.server.port={{ matrix_synapse_container_federation_api_plain_port }}
  8. traefik.http.services.matrix-synapse-metrics.loadbalancer.server.port={{ matrix_synapse_metrics_port }}
  9. {% if matrix_synapse_container_labels_public_client_root_enabled %}
  10. ############################################################
  11. # #
  12. # Public Root path (/) #
  13. # #
  14. ############################################################
  15. {% set client_root_middlewares = [] %}
  16. {% if matrix_synapse_container_labels_public_client_root_redirection_enabled %}
  17. {% set client_root_middlewares = client_root_middlewares + ['matrix-synapse-public-client-root-redirect'] %}
  18. traefik.http.middlewares.matrix-synapse-public-client-root-redirect.redirectregex.regex=(.*)
  19. traefik.http.middlewares.matrix-synapse-public-client-root-redirect.redirectregex.replacement={{ matrix_synapse_container_labels_public_client_root_redirection_url }}
  20. {% else %}
  21. {% set client_root_middlewares = client_root_middlewares + ['matrix-synapse-public-client-root-replacepath'] %}
  22. traefik.http.middlewares.matrix-synapse-public-client-root-replacepath.replacepath.path=/_matrix/static/
  23. {% endif %}
  24. traefik.http.routers.matrix-synapse-public-client-root.rule={{ matrix_synapse_container_labels_public_client_root_traefik_rule }}
  25. traefik.http.routers.matrix-synapse-public-client-root.middlewares={{ client_root_middlewares | join(',') }}
  26. {% if matrix_synapse_container_labels_public_client_root_traefik_priority | int > 0 %}
  27. traefik.http.routers.matrix-synapse-public-client-root.priority={{ matrix_synapse_container_labels_public_client_root_traefik_priority }}
  28. {% endif %}
  29. traefik.http.routers.matrix-synapse-public-client-root.service=matrix-synapse-client-api
  30. traefik.http.routers.matrix-synapse-public-client-root.entrypoints={{ matrix_synapse_container_labels_public_client_root_traefik_entrypoints }}
  31. traefik.http.routers.matrix-synapse-public-client-root.tls={{ matrix_synapse_container_labels_public_client_root_traefik_tls | to_json }}
  32. {% if matrix_synapse_container_labels_public_client_root_traefik_tls %}
  33. traefik.http.routers.matrix-synapse-public-client-root.tls.certResolver={{ matrix_synapse_container_labels_public_client_root_traefik_tls_certResolver }}
  34. {% endif %}
  35. ############################################################
  36. # #
  37. # /Public Root path (/) #
  38. # #
  39. ############################################################
  40. {% endif %}
  41. {% if matrix_synapse_container_labels_public_client_api_enabled %}
  42. ############################################################
  43. # #
  44. # Public Client-API (/_matrix) #
  45. # #
  46. ############################################################
  47. traefik.http.routers.matrix-synapse-public-client-api.rule={{ matrix_synapse_container_labels_public_client_api_traefik_rule }}
  48. {% if matrix_synapse_container_labels_public_client_api_traefik_priority | int > 0 %}
  49. traefik.http.routers.matrix-synapse-public-client-api.priority={{ matrix_synapse_container_labels_public_client_api_traefik_priority }}
  50. {% endif %}
  51. traefik.http.routers.matrix-synapse-public-client-api.service=matrix-synapse-client-api
  52. traefik.http.routers.matrix-synapse-public-client-api.entrypoints={{ matrix_synapse_container_labels_public_client_api_traefik_entrypoints }}
  53. traefik.http.routers.matrix-synapse-public-client-api.tls={{ matrix_synapse_container_labels_public_client_api_traefik_tls | to_json }}
  54. {% if matrix_synapse_container_labels_public_client_api_traefik_tls %}
  55. traefik.http.routers.matrix-synapse-public-client-api.tls.certResolver={{ matrix_synapse_container_labels_public_client_api_traefik_tls_certResolver }}
  56. {% endif %}
  57. ############################################################
  58. # #
  59. # /Public Client-API (/_matrix) #
  60. # #
  61. ############################################################
  62. {% endif %}
  63. {% if matrix_synapse_container_labels_internal_client_api_enabled %}
  64. ############################################################
  65. # #
  66. # Internal Client-API (/_matrix) #
  67. # #
  68. ############################################################
  69. traefik.http.routers.matrix-synapse-internal-client-api.rule={{ matrix_synapse_container_labels_internal_client_api_traefik_rule }}
  70. {% if matrix_synapse_container_labels_internal_client_api_traefik_priority | int > 0 %}
  71. traefik.http.routers.matrix-synapse-internal-client-api.priority={{ matrix_synapse_container_labels_internal_client_api_traefik_priority }}
  72. {% endif %}
  73. traefik.http.routers.matrix-synapse-internal-client-api.service=matrix-synapse-client-api
  74. traefik.http.routers.matrix-synapse-internal-client-api.entrypoints={{ matrix_synapse_container_labels_internal_client_api_traefik_entrypoints }}
  75. ############################################################
  76. # #
  77. # /Internal Client-API (/_matrix) #
  78. # #
  79. ############################################################
  80. {% endif %}
  81. {% if matrix_synapse_container_labels_public_client_synapse_client_api_enabled %}
  82. ############################################################
  83. # #
  84. # Public Synapse Admin API (/_synapse/client) #
  85. # #
  86. ############################################################
  87. traefik.http.routers.matrix-synapse-public-client-synapse-client-api.rule={{ matrix_synapse_container_labels_public_client_synapse_client_api_traefik_rule }}
  88. {% if matrix_synapse_container_labels_public_client_synapse_client_api_traefik_priority | int > 0 %}
  89. traefik.http.routers.matrix-synapse-public-client-synapse-client-api.priority={{ matrix_synapse_container_labels_public_client_synapse_client_api_traefik_priority }}
  90. {% endif %}
  91. traefik.http.routers.matrix-synapse-public-client-synapse-client-api.service=matrix-synapse-client-api
  92. traefik.http.routers.matrix-synapse-public-client-synapse-client-api.entrypoints={{ matrix_synapse_container_labels_public_client_synapse_client_api_traefik_entrypoints }}
  93. traefik.http.routers.matrix-synapse-public-client-synapse-client-api.tls={{ matrix_synapse_container_labels_public_client_synapse_client_api_traefik_tls | to_json }}
  94. {% if matrix_synapse_container_labels_public_client_synapse_client_api_traefik_tls %}
  95. traefik.http.routers.matrix-synapse-public-client-synapse-client-api.tls.certResolver={{ matrix_synapse_container_labels_public_client_synapse_client_api_traefik_tls_certResolver }}
  96. {% endif %}
  97. ############################################################
  98. # #
  99. # /Public Synapse Admin API (/_synapse/client) #
  100. # #
  101. ############################################################
  102. {% endif %}
  103. {% if matrix_synapse_container_labels_public_client_synapse_oidc_api_enabled %}
  104. ############################################################
  105. # #
  106. # Public Synapse OIDC API (/_synapse/oidc) #
  107. # #
  108. ############################################################
  109. traefik.http.routers.matrix-synapse-public-client-synapse-oidc-api.rule={{ matrix_synapse_container_labels_public_client_synapse_oidc_api_traefik_rule }}
  110. {% if matrix_synapse_container_labels_public_client_synapse_oidc_api_traefik_priority | int > 0 %}
  111. traefik.http.routers.matrix-synapse-public-client-synapse-oidc-api.priority={{ matrix_synapse_container_labels_public_client_synapse_oidc_api_traefik_priority }}
  112. {% endif %}
  113. traefik.http.routers.matrix-synapse-public-client-synapse-oidc-api.service=matrix-synapse-client-api
  114. traefik.http.routers.matrix-synapse-public-client-synapse-oidc-api.entrypoints={{ matrix_synapse_container_labels_public_client_synapse_oidc_api_traefik_entrypoints }}
  115. traefik.http.routers.matrix-synapse-public-client-synapse-oidc-api.tls={{ matrix_synapse_container_labels_public_client_synapse_oidc_api_traefik_tls | to_json }}
  116. {% if matrix_synapse_container_labels_public_client_synapse_oidc_api_traefik_tls %}
  117. traefik.http.routers.matrix-synapse-public-client-synapse-oidc-api.tls.certResolver={{ matrix_synapse_container_labels_public_client_synapse_oidc_api_traefik_tls_certResolver }}
  118. {% endif %}
  119. ############################################################
  120. # #
  121. # /Public Synapse OIDC API (/_synapse/oidc) #
  122. # #
  123. ############################################################
  124. {% endif %}
  125. {% if matrix_synapse_container_labels_public_client_synapse_admin_api_enabled %}
  126. ############################################################
  127. # #
  128. # Public Synapse Admin API (/_synapse/admin) #
  129. # #
  130. ############################################################
  131. traefik.http.routers.matrix-synapse-public-client-synapse-admin-api.rule={{ matrix_synapse_container_labels_public_client_synapse_admin_api_traefik_rule }}
  132. {% if matrix_synapse_container_labels_public_client_synapse_admin_api_traefik_priority | int > 0 %}
  133. traefik.http.routers.matrix-synapse-public-client-synapse-admin-api.priority={{ matrix_synapse_container_labels_public_client_synapse_admin_api_traefik_priority }}
  134. {% endif %}
  135. traefik.http.routers.matrix-synapse-public-client-synapse-admin-api.service=matrix-synapse-client-api
  136. traefik.http.routers.matrix-synapse-public-client-synapse-admin-api.entrypoints={{ matrix_synapse_container_labels_public_client_synapse_admin_api_traefik_entrypoints }}
  137. traefik.http.routers.matrix-synapse-public-client-synapse-admin-api.tls={{ matrix_synapse_container_labels_public_client_synapse_admin_api_traefik_tls | to_json }}
  138. {% if matrix_synapse_container_labels_public_client_synapse_admin_api_traefik_tls %}
  139. traefik.http.routers.matrix-synapse-public-client-synapse-admin-api.tls.certResolver={{ matrix_synapse_container_labels_public_client_synapse_admin_api_traefik_tls_certResolver }}
  140. {% endif %}
  141. ############################################################
  142. # #
  143. # /Public Synapse Admin API (/_synapse/admin) #
  144. # #
  145. ############################################################
  146. {% endif %}
  147. {% if matrix_synapse_container_labels_public_federation_api_enabled %}
  148. ############################################################
  149. # #
  150. # Public Federation-API (/_matrix) #
  151. # #
  152. ############################################################
  153. traefik.http.routers.matrix-synapse-public-federation-api.rule={{ matrix_synapse_container_labels_public_federation_api_traefik_rule }}
  154. {% if matrix_synapse_container_labels_public_federation_api_traefik_priority | int > 0 %}
  155. traefik.http.routers.matrix-synapse-public-federation-api.priority={{ matrix_synapse_container_labels_public_federation_api_traefik_priority }}
  156. {% endif %}
  157. traefik.http.routers.matrix-synapse-public-federation-api.service=matrix-synapse-federation-api
  158. traefik.http.routers.matrix-synapse-public-federation-api.entrypoints={{ matrix_synapse_container_labels_public_federation_api_traefik_entrypoints }}
  159. traefik.http.routers.matrix-synapse-public-federation-api.tls={{ matrix_synapse_container_labels_public_federation_api_traefik_tls | to_json }}
  160. {% if matrix_synapse_container_labels_public_federation_api_traefik_tls %}
  161. traefik.http.routers.matrix-synapse-public-federation-api.tls.certResolver={{ matrix_synapse_container_labels_public_federation_api_traefik_tls_certResolver }}
  162. {% endif %}
  163. ############################################################
  164. # #
  165. # /Public Federation-API (/_matrix) #
  166. # #
  167. ############################################################
  168. {% endif %}
  169. {% if matrix_synapse_container_labels_public_metrics_enabled %}
  170. ############################################################
  171. # #
  172. # Public Metrics (e.g. /metrics/synapse/main-process) #
  173. # #
  174. ############################################################
  175. {% set metrics_middlewares = [] %}
  176. {% if matrix_synapse_container_labels_public_metrics_middleware_basic_auth_enabled %}
  177. {% set metrics_middlewares = metrics_middlewares + ['matrix-synapse-metrics-basic-auth'] %}
  178. traefik.http.middlewares.matrix-synapse-metrics-basic-auth.basicauth.users={{ matrix_synapse_container_labels_public_metrics_middleware_basic_auth_users }}
  179. {% endif %}
  180. {% set metrics_middlewares = metrics_middlewares + ['matrix-synapse-metrics-replacepath'] %}
  181. traefik.http.middlewares.matrix-synapse-metrics-replacepath.replacepath.path=/_synapse/metrics
  182. traefik.http.routers.matrix-synapse-metrics.rule={{ matrix_synapse_container_labels_public_metrics_traefik_rule }}
  183. {% if metrics_middlewares | length > 0 %}
  184. traefik.http.routers.matrix-synapse-metrics.middlewares={{ metrics_middlewares | join(',') }}
  185. {% endif %}
  186. {% if matrix_synapse_container_labels_public_metrics_traefik_priority | int > 0 %}
  187. traefik.http.routers.matrix-synapse-metrics.priority={{ matrix_synapse_container_labels_public_metrics_traefik_priority }}
  188. {% endif %}
  189. traefik.http.routers.matrix-synapse-metrics.service=matrix-synapse-metrics
  190. traefik.http.routers.matrix-synapse-metrics.entrypoints={{ matrix_synapse_container_labels_public_metrics_traefik_entrypoints }}
  191. traefik.http.routers.matrix-synapse-metrics.tls={{ matrix_synapse_container_labels_public_metrics_traefik_tls | to_json }}
  192. {% if matrix_synapse_container_labels_public_metrics_traefik_tls %}
  193. traefik.http.routers.matrix-synapse-metrics.tls.certResolver={{ matrix_synapse_container_labels_public_metrics_traefik_tls_certResolver }}
  194. {% endif %}
  195. ############################################################
  196. # #
  197. # /Public Metrics (e.g. /metrics/synapse/main-process) #
  198. # #
  199. ############################################################
  200. {% endif %}
  201. {% endif %}
  202. {{ matrix_synapse_container_labels_additional_labels }}