Matrix Docker Ansible eploy
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

225 lines
14 KiB

  1. {#
  2. SPDX-FileCopyrightText: 2024 Slavi Pantaleev
  3. SPDX-FileCopyrightText: 2024 - 2025 Catalan Lover <catalanlover@protonmail.com>
  4. SPDX-License-Identifier: AGPL-3.0-or-later
  5. #}
  6. {% if matrix_synapse_reverse_proxy_companion_container_labels_traefik_enabled %}
  7. traefik.enable=true
  8. {% if matrix_synapse_reverse_proxy_companion_container_labels_traefik_docker_network %}
  9. traefik.docker.network={{ matrix_synapse_reverse_proxy_companion_container_labels_traefik_docker_network }}
  10. {% endif %}
  11. traefik.http.services.matrix-synapse-reverse-proxy-companion-client-api.loadbalancer.server.port=8008
  12. traefik.http.services.matrix-synapse-reverse-proxy-companion-federation-api.loadbalancer.server.port=8048
  13. {% if matrix_synapse_reverse_proxy_companion_container_labels_public_client_api_enabled %}
  14. ############################################################
  15. # #
  16. # Public Client-API (/_matrix) #
  17. # #
  18. ############################################################
  19. {% set client_api_middlewares = [] %}
  20. {% if matrix_synapse_reverse_proxy_companion_container_labels_traefik_compression_middleware_enabled %}
  21. {% set client_api_middlewares = client_api_middlewares + [matrix_synapse_reverse_proxy_companion_container_labels_traefik_compression_middleware_name] %}
  22. {% endif %}
  23. traefik.http.routers.matrix-synapse-reverse-proxy-companion-public-client-api.rule={{ matrix_synapse_reverse_proxy_companion_container_labels_public_client_api_traefik_rule }}
  24. {% if client_api_middlewares | length > 0 %}
  25. traefik.http.routers.matrix-synapse-reverse-proxy-companion-public-client-api.middlewares={{ client_api_middlewares | join(',') }}
  26. {% endif %}
  27. {% if matrix_synapse_reverse_proxy_companion_container_labels_public_client_api_traefik_priority | int > 0 %}
  28. traefik.http.routers.matrix-synapse-reverse-proxy-companion-public-client-api.priority={{ matrix_synapse_reverse_proxy_companion_container_labels_public_client_api_traefik_priority }}
  29. {% endif %}
  30. traefik.http.routers.matrix-synapse-reverse-proxy-companion-public-client-api.service=matrix-synapse-reverse-proxy-companion-client-api
  31. traefik.http.routers.matrix-synapse-reverse-proxy-companion-public-client-api.entrypoints={{ matrix_synapse_reverse_proxy_companion_container_labels_public_client_api_traefik_entrypoints }}
  32. traefik.http.routers.matrix-synapse-reverse-proxy-companion-public-client-api.tls={{ matrix_synapse_reverse_proxy_companion_container_labels_public_client_api_traefik_tls | to_json }}
  33. {% if matrix_synapse_reverse_proxy_companion_container_labels_public_client_api_traefik_tls %}
  34. traefik.http.routers.matrix-synapse-reverse-proxy-companion-public-client-api.tls.certResolver={{ matrix_synapse_reverse_proxy_companion_container_labels_public_client_api_traefik_tls_certResolver }}
  35. {% endif %}
  36. ############################################################
  37. # #
  38. # /Public Client-API (/_matrix) #
  39. # #
  40. ############################################################
  41. {% endif %}
  42. {% if matrix_synapse_reverse_proxy_companion_container_labels_internal_client_api_enabled %}
  43. ############################################################
  44. # #
  45. # Internal Client-API (/_matrix) #
  46. # #
  47. ############################################################
  48. traefik.http.routers.matrix-synapse-reverse-proxy-companion-internal-client-api.rule={{ matrix_synapse_reverse_proxy_companion_container_labels_internal_client_api_traefik_rule }}
  49. {% if matrix_synapse_reverse_proxy_companion_container_labels_internal_client_api_traefik_priority | int > 0 %}
  50. traefik.http.routers.matrix-synapse-reverse-proxy-companion-internal-client-api.priority={{ matrix_synapse_reverse_proxy_companion_container_labels_internal_client_api_traefik_priority }}
  51. {% endif %}
  52. traefik.http.routers.matrix-synapse-reverse-proxy-companion-internal-client-api.service=matrix-synapse-reverse-proxy-companion-client-api
  53. traefik.http.routers.matrix-synapse-reverse-proxy-companion-internal-client-api.entrypoints={{ matrix_synapse_reverse_proxy_companion_container_labels_internal_client_api_traefik_entrypoints }}
  54. ############################################################
  55. # #
  56. # /Internal Client-API (/_matrix) #
  57. # #
  58. ############################################################
  59. {% endif %}
  60. {% if matrix_synapse_reverse_proxy_companion_container_labels_public_client_synapse_client_api_enabled %}
  61. ############################################################
  62. # #
  63. # Public Synapse Client API (/_synapse/client) #
  64. # #
  65. ############################################################
  66. {% set synapse_client_api_middlewares = [] %}
  67. {% if matrix_synapse_reverse_proxy_companion_container_labels_traefik_compression_middleware_enabled %}
  68. {% set synapse_client_api_middlewares = synapse_client_api_middlewares + [matrix_synapse_reverse_proxy_companion_container_labels_traefik_compression_middleware_name] %}
  69. {% endif %}
  70. traefik.http.routers.matrix-synapse-reverse-proxy-companion-public-client-synapse-client-api.rule={{ matrix_synapse_reverse_proxy_companion_container_labels_public_client_synapse_client_api_traefik_rule }}
  71. {% if synapse_client_api_middlewares | length > 0 %}
  72. traefik.http.routers.matrix-synapse-reverse-proxy-companion-public-client-synapse-client-api.middlewares={{ synapse_client_api_middlewares | join(',') }}
  73. {% endif %}
  74. {% if matrix_synapse_reverse_proxy_companion_container_labels_public_client_synapse_client_api_traefik_priority | int > 0 %}
  75. traefik.http.routers.matrix-synapse-reverse-proxy-companion-public-client-synapse-client-api.priority={{ matrix_synapse_reverse_proxy_companion_container_labels_public_client_synapse_client_api_traefik_priority }}
  76. {% endif %}
  77. traefik.http.routers.matrix-synapse-reverse-proxy-companion-public-client-synapse-client-api.service=matrix-synapse-reverse-proxy-companion-client-api
  78. traefik.http.routers.matrix-synapse-reverse-proxy-companion-public-client-synapse-client-api.entrypoints={{ matrix_synapse_reverse_proxy_companion_container_labels_public_client_synapse_client_api_traefik_entrypoints }}
  79. traefik.http.routers.matrix-synapse-reverse-proxy-companion-public-client-synapse-client-api.tls={{ matrix_synapse_reverse_proxy_companion_container_labels_public_client_synapse_client_api_traefik_tls | to_json }}
  80. {% if matrix_synapse_reverse_proxy_companion_container_labels_public_client_synapse_client_api_traefik_tls %}
  81. traefik.http.routers.matrix-synapse-reverse-proxy-companion-public-client-synapse-client-api.tls.certResolver={{ matrix_synapse_reverse_proxy_companion_container_labels_public_client_synapse_client_api_traefik_tls_certResolver }}
  82. {% endif %}
  83. ############################################################
  84. # #
  85. # /Public Synapse Client API (/_synapse/client) #
  86. # #
  87. ############################################################
  88. {% endif %}
  89. {% if matrix_synapse_reverse_proxy_companion_container_labels_public_client_synapse_admin_api_enabled %}
  90. ############################################################
  91. # #
  92. # Public Synapse Admin API (/_synapse/admin) #
  93. # #
  94. ############################################################
  95. {% set synapse_admin_api_middlewares = [] %}
  96. {% if matrix_synapse_reverse_proxy_companion_container_labels_traefik_compression_middleware_enabled %}
  97. {% set synapse_admin_api_middlewares = synapse_admin_api_middlewares + [matrix_synapse_reverse_proxy_companion_container_labels_traefik_compression_middleware_name] %}
  98. {% endif %}
  99. traefik.http.routers.matrix-synapse-reverse-proxy-companion-public-client-synapse-admin-api.rule={{ matrix_synapse_reverse_proxy_companion_container_labels_public_client_synapse_admin_api_traefik_rule }}
  100. {% if synapse_admin_api_middlewares | length > 0 %}
  101. traefik.http.routers.matrix-synapse-reverse-proxy-companion-public-client-synapse-admin-api.middlewares={{ synapse_admin_api_middlewares | join(',') }}
  102. {% endif %}
  103. {% if matrix_synapse_reverse_proxy_companion_container_labels_public_client_synapse_admin_api_traefik_priority | int > 0 %}
  104. traefik.http.routers.matrix-synapse-reverse-proxy-companion-public-client-synapse-admin-api.priority={{ matrix_synapse_reverse_proxy_companion_container_labels_public_client_synapse_admin_api_traefik_priority }}
  105. {% endif %}
  106. traefik.http.routers.matrix-synapse-reverse-proxy-companion-public-client-synapse-admin-api.service=matrix-synapse-reverse-proxy-companion-client-api
  107. traefik.http.routers.matrix-synapse-reverse-proxy-companion-public-client-synapse-admin-api.entrypoints={{ matrix_synapse_reverse_proxy_companion_container_labels_public_client_synapse_admin_api_traefik_entrypoints }}
  108. traefik.http.routers.matrix-synapse-reverse-proxy-companion-public-client-synapse-admin-api.tls={{ matrix_synapse_reverse_proxy_companion_container_labels_public_client_synapse_admin_api_traefik_tls | to_json }}
  109. {% if matrix_synapse_reverse_proxy_companion_container_labels_public_client_synapse_admin_api_traefik_tls %}
  110. traefik.http.routers.matrix-synapse-reverse-proxy-companion-public-client-synapse-admin-api.tls.certResolver={{ matrix_synapse_reverse_proxy_companion_container_labels_public_client_synapse_admin_api_traefik_tls_certResolver }}
  111. {% endif %}
  112. ############################################################
  113. # #
  114. # /Public Synapse Admin API (/_synapse/admin) #
  115. # #
  116. ############################################################
  117. {% endif %}
  118. {% if matrix_synapse_reverse_proxy_companion_container_labels_internal_client_synapse_admin_api_enabled %}
  119. ############################################################
  120. # #
  121. # Internal Synapse Admin API (/_synapse/admin) #
  122. # #
  123. ############################################################
  124. traefik.http.routers.matrix-synapse-reverse-proxy-companion-internal-client-synapse-admin-api.rule={{ matrix_synapse_reverse_proxy_companion_container_labels_internal_client_synapse_admin_api_traefik_rule }}
  125. {% if matrix_synapse_reverse_proxy_companion_container_labels_internal_client_synapse_admin_api_traefik_priority | int > 0 %}
  126. traefik.http.routers.matrix-synapse-reverse-proxy-companion-public-client-synapse-admin-api.priority={{ matrix_synapse_reverse_proxy_companion_container_labels_internal_client_synapse_admin_api_traefik_priority }}
  127. {% endif %}
  128. traefik.http.routers.matrix-synapse-reverse-proxy-companion-internal-client-synapse-admin-api.service=matrix-synapse-reverse-proxy-companion-client-api
  129. traefik.http.routers.matrix-synapse-reverse-proxy-companion-internal-client-synapse-admin-api.entrypoints={{ matrix_synapse_reverse_proxy_companion_container_labels_internal_client_synapse_admin_api_traefik_entrypoints }}
  130. ############################################################
  131. # #
  132. # /Internal Synapse Admin API (/_synapse/admin) #
  133. # #
  134. ############################################################
  135. {% endif %}
  136. {% if matrix_synapse_reverse_proxy_companion_container_labels_public_federation_api_enabled %}
  137. ############################################################
  138. # #
  139. # Public Federation-API (/_matrix) #
  140. # #
  141. ############################################################
  142. {% set federation_api_middlewares = [] %}
  143. {% if matrix_synapse_reverse_proxy_companion_container_labels_traefik_compression_middleware_enabled %}
  144. {% set federation_api_middlewares = federation_api_middlewares + [matrix_synapse_reverse_proxy_companion_container_labels_traefik_compression_middleware_name] %}
  145. {% endif %}
  146. traefik.http.routers.matrix-synapse-reverse-proxy-companion-public-federation-api.rule={{ matrix_synapse_reverse_proxy_companion_container_labels_public_federation_api_traefik_rule }}
  147. {% if federation_api_middlewares | length > 0 %}
  148. traefik.http.routers.matrix-synapse-reverse-proxy-companion-public-federation-api.middlewares={{ federation_api_middlewares | join(',') }}
  149. {% endif %}
  150. {% if matrix_synapse_reverse_proxy_companion_container_labels_public_federation_api_traefik_priority | int > 0 %}
  151. traefik.http.routers.matrix-synapse-reverse-proxy-companion-public-federation-api.priority={{ matrix_synapse_reverse_proxy_companion_container_labels_public_federation_api_traefik_priority }}
  152. {% endif %}
  153. traefik.http.routers.matrix-synapse-reverse-proxy-companion-public-federation-api.service=matrix-synapse-reverse-proxy-companion-federation-api
  154. traefik.http.routers.matrix-synapse-reverse-proxy-companion-public-federation-api.entrypoints={{ matrix_synapse_reverse_proxy_companion_container_labels_public_federation_api_traefik_entrypoints }}
  155. traefik.http.routers.matrix-synapse-reverse-proxy-companion-public-federation-api.tls={{ matrix_synapse_reverse_proxy_companion_container_labels_public_federation_api_traefik_tls | to_json }}
  156. {% if matrix_synapse_reverse_proxy_companion_container_labels_public_federation_api_traefik_tls %}
  157. traefik.http.routers.matrix-synapse-reverse-proxy-companion-public-federation-api.tls.certResolver={{ matrix_synapse_reverse_proxy_companion_container_labels_public_federation_api_traefik_tls_certResolver }}
  158. {% endif %}
  159. ############################################################
  160. # #
  161. # /Public Federation-API (/_matrix) #
  162. # #
  163. ############################################################
  164. {% endif %}
  165. {% endif %}
  166. {{ matrix_synapse_reverse_proxy_companion_container_labels_additional_labels }}