Matrix Docker Ansible eploy
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

256 строки
14 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_admin_api_enabled %}
  110. ############################################################
  111. # #
  112. # Public Synapse Admin API (/_synapse/admin) #
  113. # #
  114. ############################################################
  115. traefik.http.routers.matrix-synapse-public-client-synapse-admin-api.rule={{ matrix_synapse_container_labels_public_client_synapse_admin_api_traefik_rule }}
  116. {% if matrix_synapse_container_labels_public_client_synapse_admin_api_traefik_priority | int > 0 %}
  117. traefik.http.routers.matrix-synapse-public-client-synapse-admin-api.priority={{ matrix_synapse_container_labels_public_client_synapse_admin_api_traefik_priority }}
  118. {% endif %}
  119. traefik.http.routers.matrix-synapse-public-client-synapse-admin-api.service=matrix-synapse-client-api
  120. traefik.http.routers.matrix-synapse-public-client-synapse-admin-api.entrypoints={{ matrix_synapse_container_labels_public_client_synapse_admin_api_traefik_entrypoints }}
  121. traefik.http.routers.matrix-synapse-public-client-synapse-admin-api.tls={{ matrix_synapse_container_labels_public_client_synapse_admin_api_traefik_tls | to_json }}
  122. {% if matrix_synapse_container_labels_public_client_synapse_admin_api_traefik_tls %}
  123. traefik.http.routers.matrix-synapse-public-client-synapse-admin-api.tls.certResolver={{ matrix_synapse_container_labels_public_client_synapse_admin_api_traefik_tls_certResolver }}
  124. {% endif %}
  125. ############################################################
  126. # #
  127. # /Public Synapse Admin API (/_synapse/admin) #
  128. # #
  129. ############################################################
  130. {% endif %}
  131. {% if matrix_synapse_container_labels_public_federation_api_enabled %}
  132. ############################################################
  133. # #
  134. # Public Federation-API (/_matrix) #
  135. # #
  136. ############################################################
  137. traefik.http.routers.matrix-synapse-public-federation-api.rule={{ matrix_synapse_container_labels_public_federation_api_traefik_rule }}
  138. {% if matrix_synapse_container_labels_public_federation_api_traefik_priority | int > 0 %}
  139. traefik.http.routers.matrix-synapse-public-federation-api.priority={{ matrix_synapse_container_labels_public_federation_api_traefik_priority }}
  140. {% endif %}
  141. traefik.http.routers.matrix-synapse-public-federation-api.service=matrix-synapse-federation-api
  142. traefik.http.routers.matrix-synapse-public-federation-api.entrypoints={{ matrix_synapse_container_labels_public_federation_api_traefik_entrypoints }}
  143. traefik.http.routers.matrix-synapse-public-federation-api.tls={{ matrix_synapse_container_labels_public_federation_api_traefik_tls | to_json }}
  144. {% if matrix_synapse_container_labels_public_federation_api_traefik_tls %}
  145. traefik.http.routers.matrix-synapse-public-federation-api.tls.certResolver={{ matrix_synapse_container_labels_public_federation_api_traefik_tls_certResolver }}
  146. {% endif %}
  147. ############################################################
  148. # #
  149. # /Public Federation-API (/_matrix) #
  150. # #
  151. ############################################################
  152. {% endif %}
  153. ############################################################
  154. # #
  155. # /MATRIX-RELATED (/_matrix, /_synapse/..) #
  156. # #
  157. ############################################################
  158. {% endif %} {# end of matrix_synapse_container_labels_matrix_related_labels_enabled if-check #}
  159. {% if matrix_synapse_container_labels_public_metrics_enabled %}
  160. ############################################################
  161. # #
  162. # Public Metrics (e.g. /metrics/synapse/main-process) #
  163. # #
  164. ############################################################
  165. {% set metrics_middlewares = [] %}
  166. {% if matrix_synapse_container_labels_public_metrics_middleware_basic_auth_enabled %}
  167. {% set metrics_middlewares = metrics_middlewares + ['matrix-synapse-metrics-basic-auth'] %}
  168. traefik.http.middlewares.matrix-synapse-metrics-basic-auth.basicauth.users={{ matrix_synapse_container_labels_public_metrics_middleware_basic_auth_users }}
  169. {% endif %}
  170. {% set metrics_middlewares = metrics_middlewares + ['matrix-synapse-metrics-replacepath'] %}
  171. traefik.http.middlewares.matrix-synapse-metrics-replacepath.replacepath.path=/_synapse/metrics
  172. traefik.http.routers.matrix-synapse-metrics.rule={{ matrix_synapse_container_labels_public_metrics_traefik_rule }}
  173. {% if metrics_middlewares | length > 0 %}
  174. traefik.http.routers.matrix-synapse-metrics.middlewares={{ metrics_middlewares | join(',') }}
  175. {% endif %}
  176. {% if matrix_synapse_container_labels_public_metrics_traefik_priority | int > 0 %}
  177. traefik.http.routers.matrix-synapse-metrics.priority={{ matrix_synapse_container_labels_public_metrics_traefik_priority }}
  178. {% endif %}
  179. traefik.http.routers.matrix-synapse-metrics.service=matrix-synapse-metrics
  180. traefik.http.routers.matrix-synapse-metrics.entrypoints={{ matrix_synapse_container_labels_public_metrics_traefik_entrypoints }}
  181. traefik.http.routers.matrix-synapse-metrics.tls={{ matrix_synapse_container_labels_public_metrics_traefik_tls | to_json }}
  182. {% if matrix_synapse_container_labels_public_metrics_traefik_tls %}
  183. traefik.http.routers.matrix-synapse-metrics.tls.certResolver={{ matrix_synapse_container_labels_public_metrics_traefik_tls_certResolver }}
  184. {% endif %}
  185. ############################################################
  186. # #
  187. # /Public Metrics (e.g. /metrics/synapse/main-process) #
  188. # #
  189. ############################################################
  190. {% endif %}
  191. {% endif %}
  192. {{ matrix_synapse_container_labels_additional_labels }}