Matrix Docker Ansible eploy
Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
 
 

238 righe
11 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. Root path (/)
  11. #}
  12. {% if matrix_synapse_container_labels_client_root_enabled %}
  13. {% set client_root_middlewares = [] %}
  14. {% if matrix_synapse_container_labels_client_root_redirection_enabled %}
  15. {% set client_root_middlewares = client_root_middlewares + ['matrix-synapse-client-root-redirect'] %}
  16. traefik.http.middlewares.matrix-synapse-client-root-redirect.redirectregex.regex=(.*)
  17. traefik.http.middlewares.matrix-synapse-client-root-redirect.redirectregex.replacement={{ matrix_synapse_container_labels_client_root_redirection_url }}
  18. {% else %}
  19. {% set client_root_middlewares = client_root_middlewares + ['matrix-synapse-client-root-replacepath'] %}
  20. traefik.http.middlewares.matrix-synapse-client-root-replacepath.replacepath.path=/_matrix/static/
  21. {% endif %}
  22. traefik.http.routers.matrix-synapse-client-root.rule={{ matrix_synapse_container_labels_client_root_traefik_rule }}
  23. traefik.http.routers.matrix-synapse-client-root.middlewares={{ client_root_middlewares | join(',') }}
  24. {% if matrix_synapse_container_labels_client_root_traefik_priority | int > 0 %}
  25. traefik.http.routers.matrix-synapse-client-root.priority={{ matrix_synapse_container_labels_client_root_traefik_priority }}
  26. {% endif %}
  27. traefik.http.routers.matrix-synapse-client-root.service=matrix-synapse-client-api
  28. traefik.http.routers.matrix-synapse-client-root.entrypoints={{ matrix_synapse_container_labels_client_root_traefik_entrypoints }}
  29. traefik.http.routers.matrix-synapse-client-root.tls={{ matrix_synapse_container_labels_client_root_traefik_tls | to_json }}
  30. {% if matrix_synapse_container_labels_client_root_traefik_tls %}
  31. traefik.http.routers.matrix-synapse-client-root.tls.certResolver={{ matrix_synapse_container_labels_client_root_traefik_tls_certResolver }}
  32. {% endif %}
  33. {% endif %}
  34. {#
  35. /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. Client-API (/_matrix)
  48. #}
  49. {% if matrix_synapse_container_labels_client_api_enabled %}
  50. traefik.http.routers.matrix-synapse-client-api.rule={{ matrix_synapse_container_labels_client_api_traefik_rule }}
  51. {% if matrix_synapse_container_labels_client_api_traefik_priority | int > 0 %}
  52. traefik.http.routers.matrix-synapse-client-api.priority={{ matrix_synapse_container_labels_client_api_traefik_priority }}
  53. {% endif %}
  54. traefik.http.routers.matrix-synapse-client-api.service=matrix-synapse-client-api
  55. traefik.http.routers.matrix-synapse-client-api.entrypoints={{ matrix_synapse_container_labels_client_api_traefik_entrypoints }}
  56. traefik.http.routers.matrix-synapse-client-api.tls={{ matrix_synapse_container_labels_client_api_traefik_tls | to_json }}
  57. {% if matrix_synapse_container_labels_client_api_traefik_tls %}
  58. traefik.http.routers.matrix-synapse-client-api.tls.certResolver={{ matrix_synapse_container_labels_client_api_traefik_tls_certResolver }}
  59. {% endif %}
  60. {% endif %}
  61. {#
  62. /Client-API (/_matrix)
  63. #}
  64. {#
  65. Synapse Admin API (/_synapse/client)
  66. #}
  67. {% if matrix_synapse_container_labels_client_synapse_client_api_enabled %}
  68. traefik.http.routers.matrix-synapse-client-synapse-client-api.rule={{ matrix_synapse_container_labels_client_synapse_client_api_traefik_rule }}
  69. {% if matrix_synapse_container_labels_client_synapse_client_api_traefik_priority | int > 0 %}
  70. traefik.http.routers.matrix-synapse-client-synapse-client-api.priority={{ matrix_synapse_container_labels_client_synapse_client_api_traefik_priority }}
  71. {% endif %}
  72. traefik.http.routers.matrix-synapse-client-synapse-client-api.service=matrix-synapse-client-api
  73. traefik.http.routers.matrix-synapse-client-synapse-client-api.entrypoints={{ matrix_synapse_container_labels_client_synapse_client_api_traefik_entrypoints }}
  74. traefik.http.routers.matrix-synapse-client-synapse-client-api.tls={{ matrix_synapse_container_labels_client_synapse_client_api_traefik_tls | to_json }}
  75. {% if matrix_synapse_container_labels_client_synapse_client_api_traefik_tls %}
  76. traefik.http.routers.matrix-synapse-client-synapse-client-api.tls.certResolver={{ matrix_synapse_container_labels_client_synapse_client_api_traefik_tls_certResolver }}
  77. {% endif %}
  78. {% endif %}
  79. {#
  80. /Synapse Admin API (/_synapse/client)
  81. #}
  82. {#
  83. Synapse OIDC API (/_synapse/oidc)
  84. #}
  85. {% if matrix_synapse_container_labels_client_synapse_oidc_api_enabled %}
  86. traefik.http.routers.matrix-synapse-client-synapse-oidc-api.rule={{ matrix_synapse_container_labels_client_synapse_oidc_api_traefik_rule }}
  87. {% if matrix_synapse_container_labels_client_synapse_oidc_api_traefik_priority | int > 0 %}
  88. traefik.http.routers.matrix-synapse-client-synapse-oidc-api.priority={{ matrix_synapse_container_labels_client_synapse_oidc_api_traefik_priority }}
  89. {% endif %}
  90. traefik.http.routers.matrix-synapse-client-synapse-oidc-api.service=matrix-synapse-client-api
  91. traefik.http.routers.matrix-synapse-client-synapse-oidc-api.entrypoints={{ matrix_synapse_container_labels_client_synapse_oidc_api_traefik_entrypoints }}
  92. traefik.http.routers.matrix-synapse-client-synapse-oidc-api.tls={{ matrix_synapse_container_labels_client_synapse_oidc_api_traefik_tls | to_json }}
  93. {% if matrix_synapse_container_labels_client_synapse_oidc_api_traefik_tls %}
  94. traefik.http.routers.matrix-synapse-client-synapse-oidc-api.tls.certResolver={{ matrix_synapse_container_labels_client_synapse_oidc_api_traefik_tls_certResolver }}
  95. {% endif %}
  96. {% endif %}
  97. {#
  98. /Synapse OIDC API (/_synapse/oidc)
  99. #}
  100. {#
  101. Synapse Admin API (/_synapse/admin)
  102. #}
  103. {% if matrix_synapse_container_labels_client_synapse_admin_api_enabled %}
  104. traefik.http.routers.matrix-synapse-client-synapse-admin-api.rule={{ matrix_synapse_container_labels_client_synapse_admin_api_traefik_rule }}
  105. {% if matrix_synapse_container_labels_client_synapse_admin_api_traefik_priority | int > 0 %}
  106. traefik.http.routers.matrix-synapse-client-synapse-admin-api.priority={{ matrix_synapse_container_labels_client_synapse_admin_api_traefik_priority }}
  107. {% endif %}
  108. traefik.http.routers.matrix-synapse-client-synapse-admin-api.service=matrix-synapse-client-api
  109. traefik.http.routers.matrix-synapse-client-synapse-admin-api.entrypoints={{ matrix_synapse_container_labels_client_synapse_admin_api_traefik_entrypoints }}
  110. traefik.http.routers.matrix-synapse-client-synapse-admin-api.tls={{ matrix_synapse_container_labels_client_synapse_admin_api_traefik_tls | to_json }}
  111. {% if matrix_synapse_container_labels_client_synapse_admin_api_traefik_tls %}
  112. traefik.http.routers.matrix-synapse-client-synapse-admin-api.tls.certResolver={{ matrix_synapse_container_labels_client_synapse_admin_api_traefik_tls_certResolver }}
  113. {% endif %}
  114. {% endif %}
  115. {#
  116. /Synapse Admin API (/_synapse/admin)
  117. #}
  118. {#
  119. Federation-API (/_matrix)
  120. #}
  121. {% if matrix_synapse_container_labels_federation_api_enabled %}
  122. traefik.http.routers.matrix-synapse-federation-api.rule={{ matrix_synapse_container_labels_federation_api_traefik_rule }}
  123. {% if matrix_synapse_container_labels_federation_api_traefik_priority | int > 0 %}
  124. traefik.http.routers.matrix-synapse-federation-api.priority={{ matrix_synapse_container_labels_federation_api_traefik_priority }}
  125. {% endif %}
  126. traefik.http.routers.matrix-synapse-federation-api.service=matrix-synapse-federation-api
  127. traefik.http.routers.matrix-synapse-federation-api.entrypoints={{ matrix_synapse_container_labels_federation_api_traefik_entrypoints }}
  128. traefik.http.routers.matrix-synapse-federation-api.tls={{ matrix_synapse_container_labels_federation_api_traefik_tls | to_json }}
  129. {% if matrix_synapse_container_labels_federation_api_traefik_tls %}
  130. traefik.http.routers.matrix-synapse-federation-api.tls.certResolver={{ matrix_synapse_container_labels_federation_api_traefik_tls_certResolver }}
  131. {% endif %}
  132. {% endif %}
  133. {#
  134. /Federation-API (/_matrix)
  135. #}
  136. {#
  137. #########################################################################
  138. # #
  139. # /Matrix-related labels #
  140. # See: `matrix_synapse_container_labels_matrix_related_labels_enabled` #
  141. # #
  142. #########################################################################
  143. #}
  144. {% endif %}
  145. {#
  146. Metrics (e.g. /metrics/synapse/main-process)
  147. #}
  148. {% if matrix_synapse_container_labels_metrics_enabled %}
  149. {% set metrics_middlewares = [] %}
  150. {% if matrix_synapse_container_labels_metrics_middleware_basic_auth_enabled %}
  151. {% set metrics_middlewares = metrics_middlewares + ['matrix-synapse-metrics-basic-auth'] %}
  152. traefik.http.middlewares.matrix-synapse-metrics-basic-auth.basicauth.users={{ matrix_synapse_container_labels_metrics_middleware_basic_auth_users }}
  153. {% endif %}
  154. {% set metrics_middlewares = metrics_middlewares + ['matrix-synapse-metrics-replacepath'] %}
  155. traefik.http.middlewares.matrix-synapse-metrics-replacepath.replacepath.path=/_synapse/metrics
  156. traefik.http.routers.matrix-synapse-metrics.rule={{ matrix_synapse_container_labels_metrics_traefik_rule }}
  157. {% if metrics_middlewares | length > 0 %}
  158. traefik.http.routers.matrix-synapse-metrics.middlewares={{ metrics_middlewares | join(',') }}
  159. {% endif %}
  160. {% if matrix_synapse_container_labels_metrics_traefik_priority | int > 0 %}
  161. traefik.http.routers.matrix-synapse-metrics.priority={{ matrix_synapse_container_labels_metrics_traefik_priority }}
  162. {% endif %}
  163. traefik.http.routers.matrix-synapse-metrics.service=matrix-synapse-metrics
  164. traefik.http.routers.matrix-synapse-metrics.entrypoints={{ matrix_synapse_container_labels_metrics_traefik_entrypoints }}
  165. traefik.http.routers.matrix-synapse-metrics.tls={{ matrix_synapse_container_labels_metrics_traefik_tls | to_json }}
  166. {% if matrix_synapse_container_labels_metrics_traefik_tls %}
  167. traefik.http.routers.matrix-synapse-metrics.tls.certResolver={{ matrix_synapse_container_labels_metrics_traefik_tls_certResolver }}
  168. {% endif %}
  169. {% endif %}
  170. {#
  171. /Metrics (e.g. /metrics/synapse/main-process)
  172. #}
  173. {% endif %}
  174. {{ matrix_synapse_container_labels_additional_labels }}