Matrix Docker Ansible eploy
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.
 
 

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