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.
 
 

285 wiersze
16 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_matrix_related_labels_enabled %}
  42. ############################################################
  43. # #
  44. # MATRIX-RELATED (/_matrix, /_synapse/..) #
  45. # #
  46. ############################################################
  47. {% if matrix_synapse_container_labels_public_client_api_enabled %}
  48. ############################################################
  49. # #
  50. # Public Client-API (/_matrix) #
  51. # #
  52. ############################################################
  53. traefik.http.routers.matrix-synapse-public-client-api.rule={{ matrix_synapse_container_labels_public_client_api_traefik_rule }}
  54. {% if matrix_synapse_container_labels_public_client_api_traefik_priority | int > 0 %}
  55. traefik.http.routers.matrix-synapse-public-client-api.priority={{ matrix_synapse_container_labels_public_client_api_traefik_priority }}
  56. {% endif %}
  57. traefik.http.routers.matrix-synapse-public-client-api.service=matrix-synapse-client-api
  58. traefik.http.routers.matrix-synapse-public-client-api.entrypoints={{ matrix_synapse_container_labels_public_client_api_traefik_entrypoints }}
  59. traefik.http.routers.matrix-synapse-public-client-api.tls={{ matrix_synapse_container_labels_public_client_api_traefik_tls | to_json }}
  60. {% if matrix_synapse_container_labels_public_client_api_traefik_tls %}
  61. traefik.http.routers.matrix-synapse-public-client-api.tls.certResolver={{ matrix_synapse_container_labels_public_client_api_traefik_tls_certResolver }}
  62. {% endif %}
  63. ############################################################
  64. # #
  65. # /Public Client-API (/_matrix) #
  66. # #
  67. ############################################################
  68. {% endif %}
  69. {% if matrix_synapse_container_labels_internal_client_api_enabled %}
  70. ############################################################
  71. # #
  72. # Internal Client-API (/_matrix) #
  73. # #
  74. ############################################################
  75. traefik.http.routers.matrix-synapse-internal-client-api.rule={{ matrix_synapse_container_labels_internal_client_api_traefik_rule }}
  76. {% if matrix_synapse_container_labels_internal_client_api_traefik_priority | int > 0 %}
  77. traefik.http.routers.matrix-synapse-internal-client-api.priority={{ matrix_synapse_container_labels_internal_client_api_traefik_priority }}
  78. {% endif %}
  79. traefik.http.routers.matrix-synapse-internal-client-api.service=matrix-synapse-client-api
  80. traefik.http.routers.matrix-synapse-internal-client-api.entrypoints={{ matrix_synapse_container_labels_internal_client_api_traefik_entrypoints }}
  81. ############################################################
  82. # #
  83. # /Internal Client-API (/_matrix) #
  84. # #
  85. ############################################################
  86. {% endif %}
  87. {% if matrix_synapse_container_labels_public_client_synapse_client_api_enabled %}
  88. ############################################################
  89. # #
  90. # Public Synapse Admin API (/_synapse/client) #
  91. # #
  92. ############################################################
  93. traefik.http.routers.matrix-synapse-public-client-synapse-client-api.rule={{ matrix_synapse_container_labels_public_client_synapse_client_api_traefik_rule }}
  94. {% if matrix_synapse_container_labels_public_client_synapse_client_api_traefik_priority | int > 0 %}
  95. traefik.http.routers.matrix-synapse-public-client-synapse-client-api.priority={{ matrix_synapse_container_labels_public_client_synapse_client_api_traefik_priority }}
  96. {% endif %}
  97. traefik.http.routers.matrix-synapse-public-client-synapse-client-api.service=matrix-synapse-client-api
  98. traefik.http.routers.matrix-synapse-public-client-synapse-client-api.entrypoints={{ matrix_synapse_container_labels_public_client_synapse_client_api_traefik_entrypoints }}
  99. traefik.http.routers.matrix-synapse-public-client-synapse-client-api.tls={{ matrix_synapse_container_labels_public_client_synapse_client_api_traefik_tls | to_json }}
  100. {% if matrix_synapse_container_labels_public_client_synapse_client_api_traefik_tls %}
  101. traefik.http.routers.matrix-synapse-public-client-synapse-client-api.tls.certResolver={{ matrix_synapse_container_labels_public_client_synapse_client_api_traefik_tls_certResolver }}
  102. {% endif %}
  103. ############################################################
  104. # #
  105. # /Public Synapse Admin API (/_synapse/client) #
  106. # #
  107. ############################################################
  108. {% endif %}
  109. {% if matrix_synapse_container_labels_public_client_synapse_oidc_api_enabled %}
  110. ############################################################
  111. # #
  112. # Public Synapse OIDC API (/_synapse/oidc) #
  113. # #
  114. ############################################################
  115. traefik.http.routers.matrix-synapse-public-client-synapse-oidc-api.rule={{ matrix_synapse_container_labels_public_client_synapse_oidc_api_traefik_rule }}
  116. {% if matrix_synapse_container_labels_public_client_synapse_oidc_api_traefik_priority | int > 0 %}
  117. traefik.http.routers.matrix-synapse-public-client-synapse-oidc-api.priority={{ matrix_synapse_container_labels_public_client_synapse_oidc_api_traefik_priority }}
  118. {% endif %}
  119. traefik.http.routers.matrix-synapse-public-client-synapse-oidc-api.service=matrix-synapse-client-api
  120. traefik.http.routers.matrix-synapse-public-client-synapse-oidc-api.entrypoints={{ matrix_synapse_container_labels_public_client_synapse_oidc_api_traefik_entrypoints }}
  121. traefik.http.routers.matrix-synapse-public-client-synapse-oidc-api.tls={{ matrix_synapse_container_labels_public_client_synapse_oidc_api_traefik_tls | to_json }}
  122. {% if matrix_synapse_container_labels_public_client_synapse_oidc_api_traefik_tls %}
  123. traefik.http.routers.matrix-synapse-public-client-synapse-oidc-api.tls.certResolver={{ matrix_synapse_container_labels_public_client_synapse_oidc_api_traefik_tls_certResolver }}
  124. {% endif %}
  125. ############################################################
  126. # #
  127. # /Public Synapse OIDC API (/_synapse/oidc) #
  128. # #
  129. ############################################################
  130. {% endif %}
  131. {% if matrix_synapse_container_labels_public_client_synapse_admin_api_enabled %}
  132. ############################################################
  133. # #
  134. # Public Synapse Admin API (/_synapse/admin) #
  135. # #
  136. ############################################################
  137. traefik.http.routers.matrix-synapse-public-client-synapse-admin-api.rule={{ matrix_synapse_container_labels_public_client_synapse_admin_api_traefik_rule }}
  138. {% if matrix_synapse_container_labels_public_client_synapse_admin_api_traefik_priority | int > 0 %}
  139. traefik.http.routers.matrix-synapse-public-client-synapse-admin-api.priority={{ matrix_synapse_container_labels_public_client_synapse_admin_api_traefik_priority }}
  140. {% endif %}
  141. traefik.http.routers.matrix-synapse-public-client-synapse-admin-api.service=matrix-synapse-client-api
  142. traefik.http.routers.matrix-synapse-public-client-synapse-admin-api.entrypoints={{ matrix_synapse_container_labels_public_client_synapse_admin_api_traefik_entrypoints }}
  143. traefik.http.routers.matrix-synapse-public-client-synapse-admin-api.tls={{ matrix_synapse_container_labels_public_client_synapse_admin_api_traefik_tls | to_json }}
  144. {% if matrix_synapse_container_labels_public_client_synapse_admin_api_traefik_tls %}
  145. traefik.http.routers.matrix-synapse-public-client-synapse-admin-api.tls.certResolver={{ matrix_synapse_container_labels_public_client_synapse_admin_api_traefik_tls_certResolver }}
  146. {% endif %}
  147. ############################################################
  148. # #
  149. # /Public Synapse Admin API (/_synapse/admin) #
  150. # #
  151. ############################################################
  152. {% endif %}
  153. {% if matrix_synapse_container_labels_public_federation_api_enabled %}
  154. ############################################################
  155. # #
  156. # Public Federation-API (/_matrix) #
  157. # #
  158. ############################################################
  159. traefik.http.routers.matrix-synapse-public-federation-api.rule={{ matrix_synapse_container_labels_public_federation_api_traefik_rule }}
  160. {% if matrix_synapse_container_labels_public_federation_api_traefik_priority | int > 0 %}
  161. traefik.http.routers.matrix-synapse-public-federation-api.priority={{ matrix_synapse_container_labels_public_federation_api_traefik_priority }}
  162. {% endif %}
  163. traefik.http.routers.matrix-synapse-public-federation-api.service=matrix-synapse-federation-api
  164. traefik.http.routers.matrix-synapse-public-federation-api.entrypoints={{ matrix_synapse_container_labels_public_federation_api_traefik_entrypoints }}
  165. traefik.http.routers.matrix-synapse-public-federation-api.tls={{ matrix_synapse_container_labels_public_federation_api_traefik_tls | to_json }}
  166. {% if matrix_synapse_container_labels_public_federation_api_traefik_tls %}
  167. traefik.http.routers.matrix-synapse-public-federation-api.tls.certResolver={{ matrix_synapse_container_labels_public_federation_api_traefik_tls_certResolver }}
  168. {% endif %}
  169. ############################################################
  170. # #
  171. # /Public Federation-API (/_matrix) #
  172. # #
  173. ############################################################
  174. {% endif %}
  175. ############################################################
  176. # #
  177. # /MATRIX-RELATED (/_matrix, /_synapse/..) #
  178. # #
  179. ############################################################
  180. {% endif %} {# end of matrix_synapse_container_labels_matrix_related_labels_enabled if-check #}
  181. {% if matrix_synapse_container_labels_public_metrics_enabled %}
  182. ############################################################
  183. # #
  184. # Public Metrics (e.g. /metrics/synapse/main-process) #
  185. # #
  186. ############################################################
  187. {% set metrics_middlewares = [] %}
  188. {% if matrix_synapse_container_labels_public_metrics_middleware_basic_auth_enabled %}
  189. {% set metrics_middlewares = metrics_middlewares + ['matrix-synapse-metrics-basic-auth'] %}
  190. traefik.http.middlewares.matrix-synapse-metrics-basic-auth.basicauth.users={{ matrix_synapse_container_labels_public_metrics_middleware_basic_auth_users }}
  191. {% endif %}
  192. {% set metrics_middlewares = metrics_middlewares + ['matrix-synapse-metrics-replacepath'] %}
  193. traefik.http.middlewares.matrix-synapse-metrics-replacepath.replacepath.path=/_synapse/metrics
  194. traefik.http.routers.matrix-synapse-metrics.rule={{ matrix_synapse_container_labels_public_metrics_traefik_rule }}
  195. {% if metrics_middlewares | length > 0 %}
  196. traefik.http.routers.matrix-synapse-metrics.middlewares={{ metrics_middlewares | join(',') }}
  197. {% endif %}
  198. {% if matrix_synapse_container_labels_public_metrics_traefik_priority | int > 0 %}
  199. traefik.http.routers.matrix-synapse-metrics.priority={{ matrix_synapse_container_labels_public_metrics_traefik_priority }}
  200. {% endif %}
  201. traefik.http.routers.matrix-synapse-metrics.service=matrix-synapse-metrics
  202. traefik.http.routers.matrix-synapse-metrics.entrypoints={{ matrix_synapse_container_labels_public_metrics_traefik_entrypoints }}
  203. traefik.http.routers.matrix-synapse-metrics.tls={{ matrix_synapse_container_labels_public_metrics_traefik_tls | to_json }}
  204. {% if matrix_synapse_container_labels_public_metrics_traefik_tls %}
  205. traefik.http.routers.matrix-synapse-metrics.tls.certResolver={{ matrix_synapse_container_labels_public_metrics_traefik_tls_certResolver }}
  206. {% endif %}
  207. ############################################################
  208. # #
  209. # /Public Metrics (e.g. /metrics/synapse/main-process) #
  210. # #
  211. ############################################################
  212. {% endif %}
  213. {% endif %}
  214. {{ matrix_synapse_container_labels_additional_labels }}