Matrix Docker Ansible eploy
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 

236 linhas
13 KiB

  1. {% if matrix_dendrite_container_labels_traefik_enabled %}
  2. traefik.enable=true
  3. {% if matrix_dendrite_container_labels_traefik_docker_network %}
  4. traefik.docker.network={{ matrix_dendrite_container_labels_traefik_docker_network }}
  5. {% endif %}
  6. traefik.http.services.matrix-dendrite.loadbalancer.server.port={{ matrix_dendrite_http_bind_port }}
  7. {% if matrix_dendrite_container_labels_public_client_root_enabled %}
  8. ############################################################
  9. # #
  10. # Public Root path (/) #
  11. # #
  12. ############################################################
  13. {% set client_root_middlewares = [] %}
  14. {% if matrix_dendrite_container_labels_public_client_root_redirection_enabled %}
  15. {% set client_root_middlewares = client_root_middlewares + ['matrix-dendrite-client-root-redirect'] %}
  16. traefik.http.middlewares.matrix-dendrite-client-root-redirect.redirectregex.regex=(.*)
  17. traefik.http.middlewares.matrix-dendrite-client-root-redirect.redirectregex.replacement={{ matrix_dendrite_container_labels_public_client_root_redirection_url }}
  18. {% endif %}
  19. traefik.http.routers.matrix-dendrite-public-client-root.rule={{ matrix_dendrite_container_labels_public_client_root_traefik_rule }}
  20. traefik.http.routers.matrix-dendrite-public-client-root.middlewares={{ client_root_middlewares | join(',') }}
  21. {% if matrix_dendrite_container_labels_public_client_root_traefik_priority | int > 0 %}
  22. traefik.http.routers.matrix-dendrite-public-client-root.priority={{ matrix_dendrite_container_labels_public_client_root_traefik_priority }}
  23. {% endif %}
  24. traefik.http.routers.matrix-dendrite-public-client-root.service=matrix-dendrite
  25. traefik.http.routers.matrix-dendrite-public-client-root.entrypoints={{ matrix_dendrite_container_labels_public_client_root_traefik_entrypoints }}
  26. traefik.http.routers.matrix-dendrite-public-client-root.tls={{ matrix_dendrite_container_labels_public_client_root_traefik_tls | to_json }}
  27. {% if matrix_dendrite_container_labels_public_client_root_traefik_tls %}
  28. traefik.http.routers.matrix-dendrite-public-client-root.tls.certResolver={{ matrix_dendrite_container_labels_public_client_root_traefik_tls_certResolver }}
  29. {% endif %}
  30. ############################################################
  31. # #
  32. # /Public Root path (/) #
  33. # #
  34. ############################################################
  35. {% endif %}
  36. {% if matrix_dendrite_container_labels_public_client_api_enabled %}
  37. ############################################################
  38. # #
  39. # Public Client-API (/_matrix) #
  40. # #
  41. ############################################################
  42. traefik.http.routers.matrix-dendrite-public-client-api.rule={{ matrix_dendrite_container_labels_public_client_api_traefik_rule }}
  43. {% if matrix_dendrite_container_labels_public_client_api_traefik_priority | int > 0 %}
  44. traefik.http.routers.matrix-dendrite-public-client-api.priority={{ matrix_dendrite_container_labels_public_client_api_traefik_priority }}
  45. {% endif %}
  46. traefik.http.routers.matrix-dendrite-public-client-api.service=matrix-dendrite
  47. traefik.http.routers.matrix-dendrite-public-client-api.entrypoints={{ matrix_dendrite_container_labels_public_client_api_traefik_entrypoints }}
  48. traefik.http.routers.matrix-dendrite-public-client-api.tls={{ matrix_dendrite_container_labels_public_client_api_traefik_tls | to_json }}
  49. {% if matrix_dendrite_container_labels_public_client_api_traefik_tls %}
  50. traefik.http.routers.matrix-dendrite-public-client-api.tls.certResolver={{ matrix_dendrite_container_labels_public_client_api_traefik_tls_certResolver }}
  51. {% endif %}
  52. ############################################################
  53. # #
  54. # /Public Client-API (/_matrix) #
  55. # #
  56. ############################################################
  57. {% endif %}
  58. {% if matrix_dendrite_container_labels_internal_client_api_enabled %}
  59. ############################################################
  60. # #
  61. # Internal Client-API (/_matrix) #
  62. # #
  63. ############################################################
  64. traefik.http.routers.matrix-dendrite-internal-client-api.rule={{ matrix_dendrite_container_labels_internal_client_api_traefik_rule }}
  65. {% if matrix_dendrite_container_labels_internal_client_api_traefik_priority | int > 0 %}
  66. traefik.http.routers.matrix-dendrite-internal-client-api.priority={{ matrix_dendrite_container_labels_internal_client_api_traefik_priority }}
  67. {% endif %}
  68. traefik.http.routers.matrix-dendrite-internal-client-api.service=matrix-dendrite
  69. traefik.http.routers.matrix-dendrite-internal-client-api.entrypoints={{ matrix_dendrite_container_labels_internal_client_api_traefik_entrypoints }}
  70. ############################################################
  71. # #
  72. # /Internal Client-API (/_matrix) #
  73. # #
  74. ############################################################
  75. {% endif %}
  76. {% if matrix_dendrite_container_labels_public_client_synapse_admin_api_enabled %}
  77. ############################################################
  78. # #
  79. # Public Synapse Admin API (/_synapse/admin) #
  80. # #
  81. ############################################################
  82. traefik.http.routers.matrix-dendrite-public-client-synapse-admin-api.rule={{ matrix_dendrite_container_labels_public_client_synapse_admin_api_traefik_rule }}
  83. {% if matrix_dendrite_container_labels_public_client_synapse_admin_api_traefik_priority | int > 0 %}
  84. traefik.http.routers.matrix-dendrite-public-client-synapse-admin-api.priority={{ matrix_dendrite_container_labels_public_client_synapse_admin_api_traefik_priority }}
  85. {% endif %}
  86. traefik.http.routers.matrix-dendrite-public-client-synapse-admin-api.service=matrix-dendrite
  87. traefik.http.routers.matrix-dendrite-public-client-synapse-admin-api.entrypoints={{ matrix_dendrite_container_labels_public_client_synapse_admin_api_traefik_entrypoints }}
  88. traefik.http.routers.matrix-dendrite-public-client-synapse-admin-api.tls={{ matrix_dendrite_container_labels_public_client_synapse_admin_api_traefik_tls | to_json }}
  89. {% if matrix_dendrite_container_labels_public_client_synapse_admin_api_traefik_tls %}
  90. traefik.http.routers.matrix-dendrite-public-client-synapse-admin-api.tls.certResolver={{ matrix_dendrite_container_labels_public_client_synapse_admin_api_traefik_tls_certResolver }}
  91. {% endif %}
  92. ############################################################
  93. # #
  94. # /Public Synapse Admin API (/_synapse/admin) #
  95. # #
  96. ############################################################
  97. {% endif %}
  98. {% if matrix_dendrite_container_labels_public_client_dendrite_admin_api_enabled %}
  99. ############################################################
  100. # #
  101. # Public Dendrite Admin API (/_dendrite/admin) #
  102. # #
  103. ############################################################
  104. traefik.http.routers.matrix-dendrite-public-client-synapse-admin-api.rule={{ matrix_dendrite_container_labels_public_client_dendrite_admin_api_traefik_rule }}
  105. {% if matrix_dendrite_container_labels_public_client_dendrite_admin_api_traefik_priority | int > 0 %}
  106. traefik.http.routers.matrix-dendrite-public-client-synapse-admin-api.priority={{ matrix_dendrite_container_labels_public_client_dendrite_admin_api_traefik_priority }}
  107. {% endif %}
  108. traefik.http.routers.matrix-dendrite-public-client-synapse-admin-api.service=matrix-dendrite
  109. traefik.http.routers.matrix-dendrite-public-client-synapse-admin-api.entrypoints={{ matrix_dendrite_container_labels_public_client_dendrite_admin_api_traefik_entrypoints }}
  110. traefik.http.routers.matrix-dendrite-public-client-synapse-admin-api.tls={{ matrix_dendrite_container_labels_public_client_dendrite_admin_api_traefik_tls | to_json }}
  111. {% if matrix_dendrite_container_labels_public_client_dendrite_admin_api_traefik_tls %}
  112. traefik.http.routers.matrix-dendrite-public-client-synapse-admin-api.tls.certResolver={{ matrix_dendrite_container_labels_public_client_dendrite_admin_api_traefik_tls_certResolver }}
  113. {% endif %}
  114. ############################################################
  115. # #
  116. # /Public Dendrite Admin API (/_dendrite/admin) #
  117. # #
  118. ############################################################
  119. {% endif %}
  120. {% if matrix_dendrite_container_labels_public_federation_api_enabled %}
  121. ############################################################
  122. # #
  123. # Public Federation-API (/_matrix) #
  124. # #
  125. ############################################################
  126. traefik.http.routers.matrix-dendrite-public-federation-api.rule={{ matrix_dendrite_container_labels_public_federation_api_traefik_rule }}
  127. {% if matrix_dendrite_container_labels_public_federation_api_traefik_priority | int > 0 %}
  128. traefik.http.routers.matrix-dendrite-public-federation-api.priority={{ matrix_dendrite_container_labels_public_federation_api_traefik_priority }}
  129. {% endif %}
  130. traefik.http.routers.matrix-dendrite-public-federation-api.service=matrix-dendrite
  131. traefik.http.routers.matrix-dendrite-public-federation-api.entrypoints={{ matrix_dendrite_container_labels_public_federation_api_traefik_entrypoints }}
  132. traefik.http.routers.matrix-dendrite-public-federation-api.tls={{ matrix_dendrite_container_labels_public_federation_api_traefik_tls | to_json }}
  133. {% if matrix_dendrite_container_labels_public_federation_api_traefik_tls %}
  134. traefik.http.routers.matrix-dendrite-public-federation-api.tls.certResolver={{ matrix_dendrite_container_labels_public_federation_api_traefik_tls_certResolver }}
  135. {% endif %}
  136. ############################################################
  137. # #
  138. # /Public Federation-API (/_matrix) #
  139. # #
  140. ############################################################
  141. {% endif %}
  142. {% if matrix_dendrite_container_labels_public_metrics_enabled %}
  143. ############################################################
  144. # #
  145. # Public Metrics #
  146. # #
  147. ############################################################
  148. {% set metrics_middlewares = [] %}
  149. {% if matrix_dendrite_container_labels_public_metrics_middleware_basic_auth_enabled %}
  150. {% set metrics_middlewares = metrics_middlewares + ['matrix-dendrite-metrics-basic-auth'] %}
  151. traefik.http.middlewares.matrix-dendrite-metrics-basic-auth.basicauth.users={{ matrix_dendrite_container_labels_public_metrics_middleware_basic_auth_users }}
  152. {% endif %}
  153. {% set metrics_middlewares = metrics_middlewares + ['matrix-dendrite-metrics-replacepath'] %}
  154. traefik.http.middlewares.matrix-dendrite-metrics-replacepath.replacepath.path=/metrics
  155. traefik.http.routers.matrix-dendrite-metrics.rule={{ matrix_dendrite_container_labels_public_metrics_traefik_rule }}
  156. {% if metrics_middlewares | length > 0 %}
  157. traefik.http.routers.matrix-dendrite-metrics.middlewares={{ metrics_middlewares | join(',') }}
  158. {% endif %}
  159. {% if matrix_dendrite_container_labels_public_metrics_traefik_priority | int > 0 %}
  160. traefik.http.routers.matrix-dendrite-metrics.priority={{ matrix_dendrite_container_labels_public_metrics_traefik_priority }}
  161. {% endif %}
  162. traefik.http.routers.matrix-dendrite-metrics.service=matrix-dendrite
  163. traefik.http.routers.matrix-dendrite-metrics.entrypoints={{ matrix_dendrite_container_labels_public_metrics_traefik_entrypoints }}
  164. traefik.http.routers.matrix-dendrite-metrics.tls={{ matrix_dendrite_container_labels_public_metrics_traefik_tls | to_json }}
  165. {% if matrix_dendrite_container_labels_public_metrics_traefik_tls %}
  166. traefik.http.routers.matrix-dendrite-metrics.tls.certResolver={{ matrix_dendrite_container_labels_public_metrics_traefik_tls_certResolver }}
  167. {% endif %}
  168. ############################################################
  169. # #
  170. # /Public Metrics #
  171. # #
  172. ############################################################
  173. {% endif %}
  174. {% endif %}
  175. {{ matrix_dendrite_container_labels_additional_labels }}