Matrix Docker Ansible eploy
Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.
 
 

304 řádky
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_traefik_compression_middleware_enabled %}
  17. {% set client_root_middlewares = client_root_middlewares + [matrix_synapse_container_labels_traefik_compression_middleware_name] %}
  18. {% endif %}
  19. {% if matrix_synapse_container_labels_public_client_root_redirection_enabled %}
  20. {% set client_root_middlewares = client_root_middlewares + ['matrix-synapse-public-client-root-redirect'] %}
  21. traefik.http.middlewares.matrix-synapse-public-client-root-redirect.redirectregex.regex=(.*)
  22. traefik.http.middlewares.matrix-synapse-public-client-root-redirect.redirectregex.replacement={{ matrix_synapse_container_labels_public_client_root_redirection_url }}
  23. {% else %}
  24. {% set client_root_middlewares = client_root_middlewares + ['matrix-synapse-public-client-root-replacepath'] %}
  25. traefik.http.middlewares.matrix-synapse-public-client-root-replacepath.replacepath.path=/_matrix/static/
  26. {% endif %}
  27. traefik.http.routers.matrix-synapse-public-client-root.rule={{ matrix_synapse_container_labels_public_client_root_traefik_rule }}
  28. traefik.http.routers.matrix-synapse-public-client-root.middlewares={{ client_root_middlewares | join(',') }}
  29. {% if matrix_synapse_container_labels_public_client_root_traefik_priority | int > 0 %}
  30. traefik.http.routers.matrix-synapse-public-client-root.priority={{ matrix_synapse_container_labels_public_client_root_traefik_priority }}
  31. {% endif %}
  32. traefik.http.routers.matrix-synapse-public-client-root.service=matrix-synapse-client-api
  33. traefik.http.routers.matrix-synapse-public-client-root.entrypoints={{ matrix_synapse_container_labels_public_client_root_traefik_entrypoints }}
  34. traefik.http.routers.matrix-synapse-public-client-root.tls={{ matrix_synapse_container_labels_public_client_root_traefik_tls | to_json }}
  35. {% if matrix_synapse_container_labels_public_client_root_traefik_tls %}
  36. traefik.http.routers.matrix-synapse-public-client-root.tls.certResolver={{ matrix_synapse_container_labels_public_client_root_traefik_tls_certResolver }}
  37. {% endif %}
  38. ############################################################
  39. # #
  40. # /Public Root path (/) #
  41. # #
  42. ############################################################
  43. {% endif %}
  44. {% if matrix_synapse_container_labels_matrix_related_labels_enabled %}
  45. ############################################################
  46. # #
  47. # MATRIX-RELATED (/_matrix, /_synapse/..) #
  48. # #
  49. ############################################################
  50. {% if matrix_synapse_container_labels_public_client_api_enabled %}
  51. ############################################################
  52. # #
  53. # Public Client-API (/_matrix) #
  54. # #
  55. ############################################################
  56. {% set client_api_middlewares = [] %}
  57. {% if matrix_synapse_container_labels_traefik_compression_middleware_enabled %}
  58. {% set client_api_middlewares = client_api_middlewares + [matrix_synapse_container_labels_traefik_compression_middleware_name] %}
  59. {% endif %}
  60. traefik.http.routers.matrix-synapse-public-client-api.rule={{ matrix_synapse_container_labels_public_client_api_traefik_rule }}
  61. {% if client_api_middlewares | length > 0 %}
  62. traefik.http.routers.matrix-synapse-public-client-api.middlewares={{ client_api_middlewares | join(',') }}
  63. {% endif %}
  64. {% if matrix_synapse_container_labels_public_client_api_traefik_priority | int > 0 %}
  65. traefik.http.routers.matrix-synapse-public-client-api.priority={{ matrix_synapse_container_labels_public_client_api_traefik_priority }}
  66. {% endif %}
  67. traefik.http.routers.matrix-synapse-public-client-api.service=matrix-synapse-client-api
  68. traefik.http.routers.matrix-synapse-public-client-api.entrypoints={{ matrix_synapse_container_labels_public_client_api_traefik_entrypoints }}
  69. traefik.http.routers.matrix-synapse-public-client-api.tls={{ matrix_synapse_container_labels_public_client_api_traefik_tls | to_json }}
  70. {% if matrix_synapse_container_labels_public_client_api_traefik_tls %}
  71. traefik.http.routers.matrix-synapse-public-client-api.tls.certResolver={{ matrix_synapse_container_labels_public_client_api_traefik_tls_certResolver }}
  72. {% endif %}
  73. ############################################################
  74. # #
  75. # /Public Client-API (/_matrix) #
  76. # #
  77. ############################################################
  78. {% endif %}
  79. {% if matrix_synapse_container_labels_internal_client_api_enabled %}
  80. ############################################################
  81. # #
  82. # Internal Client-API (/_matrix) #
  83. # #
  84. ############################################################
  85. traefik.http.routers.matrix-synapse-internal-client-api.rule={{ matrix_synapse_container_labels_internal_client_api_traefik_rule }}
  86. {% if matrix_synapse_container_labels_internal_client_api_traefik_priority | int > 0 %}
  87. traefik.http.routers.matrix-synapse-internal-client-api.priority={{ matrix_synapse_container_labels_internal_client_api_traefik_priority }}
  88. {% endif %}
  89. traefik.http.routers.matrix-synapse-internal-client-api.service=matrix-synapse-client-api
  90. traefik.http.routers.matrix-synapse-internal-client-api.entrypoints={{ matrix_synapse_container_labels_internal_client_api_traefik_entrypoints }}
  91. ############################################################
  92. # #
  93. # /Internal Client-API (/_matrix) #
  94. # #
  95. ############################################################
  96. {% endif %}
  97. {% if matrix_synapse_container_labels_public_client_synapse_client_api_enabled %}
  98. ############################################################
  99. # #
  100. # Public Synapse Client API (/_synapse/client) #
  101. # #
  102. ############################################################
  103. {% set synapse_client_api_middlewares = [] %}
  104. {% if matrix_synapse_container_labels_traefik_compression_middleware_enabled %}
  105. {% set synapse_client_api_middlewares = synapse_client_api_middlewares + [matrix_synapse_container_labels_traefik_compression_middleware_name] %}
  106. {% endif %}
  107. traefik.http.routers.matrix-synapse-public-client-synapse-client-api.rule={{ matrix_synapse_container_labels_public_client_synapse_client_api_traefik_rule }}
  108. {% if synapse_client_api_middlewares | length > 0 %}
  109. traefik.http.routers.matrix-synapse-public-client-synapse-client-api.middlewares={{ synapse_client_api_middlewares | join(',') }}
  110. {% endif %}
  111. {% if matrix_synapse_container_labels_public_client_synapse_client_api_traefik_priority | int > 0 %}
  112. traefik.http.routers.matrix-synapse-public-client-synapse-client-api.priority={{ matrix_synapse_container_labels_public_client_synapse_client_api_traefik_priority }}
  113. {% endif %}
  114. traefik.http.routers.matrix-synapse-public-client-synapse-client-api.service=matrix-synapse-client-api
  115. traefik.http.routers.matrix-synapse-public-client-synapse-client-api.entrypoints={{ matrix_synapse_container_labels_public_client_synapse_client_api_traefik_entrypoints }}
  116. traefik.http.routers.matrix-synapse-public-client-synapse-client-api.tls={{ matrix_synapse_container_labels_public_client_synapse_client_api_traefik_tls | to_json }}
  117. {% if matrix_synapse_container_labels_public_client_synapse_client_api_traefik_tls %}
  118. traefik.http.routers.matrix-synapse-public-client-synapse-client-api.tls.certResolver={{ matrix_synapse_container_labels_public_client_synapse_client_api_traefik_tls_certResolver }}
  119. {% endif %}
  120. ############################################################
  121. # #
  122. # /Public Synapse Client API (/_synapse/client) #
  123. # #
  124. ############################################################
  125. {% endif %}
  126. {% if matrix_synapse_container_labels_public_client_synapse_admin_api_enabled %}
  127. ############################################################
  128. # #
  129. # Public Synapse Admin API (/_synapse/admin) #
  130. # #
  131. ############################################################
  132. {% set synapse_admin_api_middlewares = [] %}
  133. {% if matrix_synapse_container_labels_traefik_compression_middleware_enabled %}
  134. {% set synapse_admin_api_middlewares = synapse_admin_api_middlewares + [matrix_synapse_container_labels_traefik_compression_middleware_name] %}
  135. {% endif %}
  136. traefik.http.routers.matrix-synapse-public-client-synapse-admin-api.rule={{ matrix_synapse_container_labels_public_client_synapse_admin_api_traefik_rule }}
  137. {% if synapse_admin_api_middlewares | length > 0 %}
  138. traefik.http.routers.matrix-synapse-public-client-synapse-admin-api.middlewares={{ synapse_admin_api_middlewares | join(',') }}
  139. {% endif %}
  140. {% if matrix_synapse_container_labels_public_client_synapse_admin_api_traefik_priority | int > 0 %}
  141. traefik.http.routers.matrix-synapse-public-client-synapse-admin-api.priority={{ matrix_synapse_container_labels_public_client_synapse_admin_api_traefik_priority }}
  142. {% endif %}
  143. traefik.http.routers.matrix-synapse-public-client-synapse-admin-api.service=matrix-synapse-client-api
  144. traefik.http.routers.matrix-synapse-public-client-synapse-admin-api.entrypoints={{ matrix_synapse_container_labels_public_client_synapse_admin_api_traefik_entrypoints }}
  145. traefik.http.routers.matrix-synapse-public-client-synapse-admin-api.tls={{ matrix_synapse_container_labels_public_client_synapse_admin_api_traefik_tls | to_json }}
  146. {% if matrix_synapse_container_labels_public_client_synapse_admin_api_traefik_tls %}
  147. traefik.http.routers.matrix-synapse-public-client-synapse-admin-api.tls.certResolver={{ matrix_synapse_container_labels_public_client_synapse_admin_api_traefik_tls_certResolver }}
  148. {% endif %}
  149. ############################################################
  150. # #
  151. # /Public Synapse Admin API (/_synapse/admin) #
  152. # #
  153. ############################################################
  154. {% endif %}
  155. {% if matrix_synapse_container_labels_public_federation_api_enabled %}
  156. ############################################################
  157. # #
  158. # Public Federation-API (/_matrix) #
  159. # #
  160. ############################################################
  161. {% set federation_api_middlewares = [] %}
  162. {% if matrix_synapse_container_labels_traefik_compression_middleware_enabled %}
  163. {% set federation_api_middlewares = federation_api_middlewares + [matrix_synapse_container_labels_traefik_compression_middleware_name] %}
  164. {% endif %}
  165. traefik.http.routers.matrix-synapse-public-federation-api.rule={{ matrix_synapse_container_labels_public_federation_api_traefik_rule }}
  166. {% if federation_api_middlewares | length > 0 %}
  167. traefik.http.routers.matrix-synapse-public-federation-api.middlewares={{ federation_api_middlewares | join(',') }}
  168. {% endif %}
  169. {% if matrix_synapse_container_labels_public_federation_api_traefik_priority | int > 0 %}
  170. traefik.http.routers.matrix-synapse-public-federation-api.priority={{ matrix_synapse_container_labels_public_federation_api_traefik_priority }}
  171. {% endif %}
  172. traefik.http.routers.matrix-synapse-public-federation-api.service=matrix-synapse-federation-api
  173. traefik.http.routers.matrix-synapse-public-federation-api.entrypoints={{ matrix_synapse_container_labels_public_federation_api_traefik_entrypoints }}
  174. traefik.http.routers.matrix-synapse-public-federation-api.tls={{ matrix_synapse_container_labels_public_federation_api_traefik_tls | to_json }}
  175. {% if matrix_synapse_container_labels_public_federation_api_traefik_tls %}
  176. traefik.http.routers.matrix-synapse-public-federation-api.tls.certResolver={{ matrix_synapse_container_labels_public_federation_api_traefik_tls_certResolver }}
  177. {% endif %}
  178. ############################################################
  179. # #
  180. # /Public Federation-API (/_matrix) #
  181. # #
  182. ############################################################
  183. {% endif %}
  184. ############################################################
  185. # #
  186. # /MATRIX-RELATED (/_matrix, /_synapse/..) #
  187. # #
  188. ############################################################
  189. {% endif %} {# end of matrix_synapse_container_labels_matrix_related_labels_enabled if-check #}
  190. {% if matrix_synapse_container_labels_public_metrics_enabled %}
  191. ############################################################
  192. # #
  193. # Public Metrics (e.g. /metrics/synapse/main-process) #
  194. # #
  195. ############################################################
  196. {% set metrics_middlewares = [] %}
  197. {% if matrix_synapse_container_labels_traefik_compression_middleware_enabled %}
  198. {% set metrics_middlewares = metrics_middlewares + [matrix_synapse_container_labels_traefik_compression_middleware_name] %}
  199. {% endif %}
  200. {% if matrix_synapse_container_labels_public_metrics_middleware_basic_auth_enabled %}
  201. {% set metrics_middlewares = metrics_middlewares + ['matrix-synapse-metrics-basic-auth'] %}
  202. traefik.http.middlewares.matrix-synapse-metrics-basic-auth.basicauth.users={{ matrix_synapse_container_labels_public_metrics_middleware_basic_auth_users }}
  203. {% endif %}
  204. {% set metrics_middlewares = metrics_middlewares + ['matrix-synapse-metrics-replacepath'] %}
  205. traefik.http.middlewares.matrix-synapse-metrics-replacepath.replacepath.path=/_synapse/metrics
  206. traefik.http.routers.matrix-synapse-metrics.rule={{ matrix_synapse_container_labels_public_metrics_traefik_rule }}
  207. {% if metrics_middlewares | length > 0 %}
  208. traefik.http.routers.matrix-synapse-metrics.middlewares={{ metrics_middlewares | join(',') }}
  209. {% endif %}
  210. {% if matrix_synapse_container_labels_public_metrics_traefik_priority | int > 0 %}
  211. traefik.http.routers.matrix-synapse-metrics.priority={{ matrix_synapse_container_labels_public_metrics_traefik_priority }}
  212. {% endif %}
  213. traefik.http.routers.matrix-synapse-metrics.service=matrix-synapse-metrics
  214. traefik.http.routers.matrix-synapse-metrics.entrypoints={{ matrix_synapse_container_labels_public_metrics_traefik_entrypoints }}
  215. traefik.http.routers.matrix-synapse-metrics.tls={{ matrix_synapse_container_labels_public_metrics_traefik_tls | to_json }}
  216. {% if matrix_synapse_container_labels_public_metrics_traefik_tls %}
  217. traefik.http.routers.matrix-synapse-metrics.tls.certResolver={{ matrix_synapse_container_labels_public_metrics_traefik_tls_certResolver }}
  218. {% endif %}
  219. ############################################################
  220. # #
  221. # /Public Metrics (e.g. /metrics/synapse/main-process) #
  222. # #
  223. ############################################################
  224. {% endif %}
  225. {% endif %}
  226. {{ matrix_synapse_container_labels_additional_labels }}