Matrix Docker Ansible eploy
25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

317 lines
16 KiB

  1. {% if matrix_media_repo_container_labels_traefik_enabled %}
  2. traefik.enable=true
  3. {% if matrix_media_repo_container_labels_traefik_docker_network %}
  4. traefik.docker.network={{ matrix_media_repo_container_labels_traefik_docker_network }}
  5. {% endif %}
  6. traefik.http.services.matrix-media-repo.loadbalancer.server.port={{ matrix_media_repo_port }}
  7. {% set middlewares = [] %}
  8. {% if matrix_media_repo_container_labels_traefik_additional_request_headers.keys() | length > 0 %}
  9. {% for name, value in matrix_media_repo_container_labels_traefik_additional_request_headers.items() %}
  10. traefik.http.middlewares.matrix-media-repo-add-headers.headers.customrequestheaders.{{ name }}={{ value }}
  11. {% endfor %}
  12. {% set middlewares = middlewares + ['matrix-media-repo-add-headers'] %}
  13. {% endif %}
  14. # Matrix Client
  15. ############################################################
  16. # #
  17. # Public Media (/_matrix/media) #
  18. # #
  19. ############################################################
  20. traefik.http.routers.matrix-media-repo-public-media.rule={{ matrix_media_repo_container_labels_traefik_media_rule }}
  21. {% if matrix_media_repo_container_labels_traefik_media_priority | int > 0 %}
  22. traefik.http.routers.matrix-media-repo-public-media.priority={{ matrix_media_repo_container_labels_traefik_media_priority }}
  23. {% endif %}
  24. {% if middlewares | length > 0 %}
  25. traefik.http.routers.matrix-media-repo-public-media.middlewares={{ middlewares | join(',') }}
  26. {% endif %}
  27. traefik.http.routers.matrix-media-repo-public-media.service=matrix-media-repo
  28. traefik.http.routers.matrix-media-repo-public-media.entrypoints={{ matrix_media_repo_container_labels_traefik_media_entrypoints }}
  29. traefik.http.routers.matrix-media-repo-public-media.tls={{ matrix_media_repo_container_labels_traefik_media_tls | to_json }}
  30. {% if matrix_media_repo_container_labels_traefik_media_tls %}
  31. traefik.http.routers.matrix-media-repo-public-media.tls.certResolver={{ matrix_media_repo_container_labels_traefik_media_tls_certResolver }}
  32. {% endif %}
  33. ############################################################
  34. # #
  35. # /Public Media (/_matrix/media) #
  36. # #
  37. ############################################################
  38. {% if matrix_media_repo_container_labels_traefik_internal_media_enabled %}
  39. ############################################################
  40. # #
  41. # Internal Media (/_matrix/media) #
  42. # #
  43. ############################################################
  44. traefik.http.routers.matrix-media-repo-internal-media.rule={{ matrix_media_repo_container_labels_traefik_internal_media_rule }}
  45. {% if matrix_media_repo_container_labels_traefik_internal_media_priority | int > 0 %}
  46. traefik.http.routers.matrix-media-repo-internal-media.priority={{ matrix_media_repo_container_labels_traefik_internal_media_priority }}
  47. {% endif %}
  48. {% if middlewares | length > 0 %}
  49. traefik.http.routers.matrix-media-repo-internal-media.middlewares={{ middlewares | join(',') }}
  50. {% endif %}
  51. traefik.http.routers.matrix-media-repo-internal-media.service=matrix-media-repo
  52. traefik.http.routers.matrix-media-repo-internal-media.entrypoints={{ matrix_media_repo_container_labels_traefik_internal_media_entrypoints }}
  53. ############################################################
  54. # #
  55. # /Internal Media (/_matrix/media) #
  56. # #
  57. ############################################################
  58. {% endif %}
  59. {% if matrix_media_repo_access_tokens_max_cache_time_seconds > 0 %}
  60. ############################################################
  61. # #
  62. # Public Client Logout #
  63. # (/_matrix/client/r0/{logout,logout/all} #
  64. # #
  65. ############################################################
  66. traefik.http.routers.matrix-media-repo-public-logout.rule={{ matrix_media_repo_container_labels_traefik_logout_rule }}
  67. {% if matrix_media_repo_container_labels_traefik_logout_priority | int > 0 %}
  68. traefik.http.routers.matrix-media-repo-public-logout.priority={{ matrix_media_repo_container_labels_traefik_logout_priority }}
  69. {% endif %}
  70. {% if middlewares | length > 0 %}
  71. traefik.http.routers.matrix-media-repo-public-logout.middlewares={{ middlewares | join(',') }}
  72. {% endif %}
  73. traefik.http.routers.matrix-media-repo-public-logout.service=matrix-media-repo
  74. traefik.http.routers.matrix-media-repo-public-logout.entrypoints={{ matrix_media_repo_container_labels_traefik_logout_entrypoints }}
  75. traefik.http.routers.matrix-media-repo-public-logout.tls={{ matrix_media_repo_container_labels_traefik_logout_tls | to_json }}
  76. {% if matrix_media_repo_container_labels_traefik_logout_tls %}
  77. traefik.http.routers.matrix-media-repo-public-logout.tls.certResolver={{ matrix_media_repo_container_labels_traefik_logout_tls_certResolver }}
  78. {% endif %}
  79. ############################################################
  80. # #
  81. # /Public Client Logout #
  82. # (/_matrix/client/r0/{logout,logout/all} #
  83. # #
  84. ############################################################
  85. {% endif %}
  86. ############################################################
  87. # #
  88. # Public Client Admin (/_matrix/client/r0/admin/*) #
  89. # #
  90. ############################################################
  91. traefik.http.routers.matrix-media-repo-public-admin-federation.rule={{ matrix_media_repo_container_labels_traefik_admin_rule }}
  92. {% if matrix_media_repo_container_labels_traefik_admin_priority | int > 0 %}
  93. traefik.http.routers.matrix-media-repo-public-admin-federation.priority={{ matrix_media_repo_container_labels_traefik_admin_priority }}
  94. {% endif %}
  95. {% if middlewares | length > 0 %}
  96. traefik.http.routers.matrix-media-repo-public-admin-federation.middlewares={{ middlewares | join(',') }}
  97. {% endif %}
  98. traefik.http.routers.matrix-media-repo-public-admin-federation.service=matrix-media-repo
  99. traefik.http.routers.matrix-media-repo-public-admin-federation.entrypoints={{ matrix_media_repo_container_labels_traefik_admin_entrypoints }}
  100. traefik.http.routers.matrix-media-repo-public-admin-federation.tls={{ matrix_media_repo_container_labels_traefik_admin_tls | to_json }}
  101. {% if matrix_media_repo_container_labels_traefik_admin_tls %}
  102. traefik.http.routers.matrix-media-repo-public-admin-federation.tls.certResolver={{ matrix_media_repo_container_labels_traefik_admin_tls_certResolver }}
  103. {% endif %}
  104. ############################################################
  105. # #
  106. # /Public Client Admin (/_matrix/client/r0/admin/*) #
  107. # #
  108. ############################################################
  109. ############################################################
  110. # #
  111. # Public Client t2bot APIs #
  112. # (/_matrix/client/unstable/io.t2bot.media) #
  113. # #
  114. ############################################################
  115. traefik.http.routers.matrix-media-repo-public-t2bot.rule={{ matrix_media_repo_container_labels_traefik_t2bot_rule }}
  116. {% if matrix_media_repo_container_labels_traefik_t2bot_priority | int > 0 %}
  117. traefik.http.routers.matrix-media-repo-public-t2bot.priority={{ matrix_media_repo_container_labels_traefik_t2bot_priority }}
  118. {% endif %}
  119. {% if middlewares | length > 0 %}
  120. traefik.http.routers.matrix-media-repo-public-t2bot.middlewares={{ middlewares | join(',') }}
  121. {% endif %}
  122. traefik.http.routers.matrix-media-repo-public-t2bot.service=matrix-media-repo
  123. traefik.http.routers.matrix-media-repo-public-t2bot.entrypoints={{ matrix_media_repo_container_labels_traefik_t2bot_entrypoints }}
  124. traefik.http.routers.matrix-media-repo-public-t2bot.tls={{ matrix_media_repo_container_labels_traefik_t2bot_tls | to_json }}
  125. {% if matrix_media_repo_container_labels_traefik_t2bot_tls %}
  126. traefik.http.routers.matrix-media-repo-public-t2bot.tls.certResolver={{ matrix_media_repo_container_labels_traefik_t2bot_tls_certResolver }}
  127. {% endif %}
  128. ############################################################
  129. # #
  130. # /Public Client t2bot APIs #
  131. # (/_matrix/client/unstable/io.t2bot.media) #
  132. # #
  133. ############################################################
  134. {% if matrix_media_repo_homeserver_federation_enabled %}
  135. # Matrix Federation
  136. ############################################################
  137. # #
  138. # Public Federation Media (/_matrix/media) #
  139. # #
  140. ############################################################
  141. traefik.http.routers.matrix-media-repo-public-media-federation.rule={{ matrix_media_repo_container_labels_traefik_media_federation_rule }}
  142. {% if matrix_media_repo_container_labels_traefik_media_federation_priority | int > 0 %}
  143. traefik.http.routers.matrix-media-repo-public-media-federation.priority={{ matrix_media_repo_container_labels_traefik_media_federation_priority }}
  144. {% endif %}
  145. {% if middlewares | length > 0 %}
  146. traefik.http.routers.matrix-media-repo-public-media-federation.middlewares={{ middlewares | join(',') }}
  147. {% endif %}
  148. traefik.http.routers.matrix-media-repo-public-media-federation.service=matrix-media-repo
  149. traefik.http.routers.matrix-media-repo-public-media-federation.entrypoints={{ matrix_media_repo_container_labels_traefik_media_federation_entrypoints }}
  150. traefik.http.routers.matrix-media-repo-public-media-federation.tls={{ matrix_media_repo_container_labels_traefik_media_federation_tls | to_json }}
  151. {% if matrix_media_repo_container_labels_traefik_media_federation_tls %}
  152. traefik.http.routers.matrix-media-repo-public-media-federation.tls.certResolver={{ matrix_media_repo_container_labels_traefik_media_federation_tls_certResolver }}
  153. {% endif %}
  154. ############################################################
  155. # #
  156. # /Public Federation Media (/_matrix/media) #
  157. # #
  158. ############################################################
  159. {% if matrix_media_repo_access_tokens_max_cache_time_seconds > 0 %}
  160. ############################################################
  161. # #
  162. # Public Federation Logout #
  163. # (/_matrix/client/r0/{logout,logout/all} #
  164. # #
  165. ############################################################
  166. traefik.http.routers.matrix-media-repo-public-logout-federation.rule={{ matrix_media_repo_container_labels_traefik_logout_federation_rule }}
  167. {% if matrix_media_repo_container_labels_traefik_logout_federation_priority | int > 0 %}
  168. traefik.http.routers.matrix-media-repo-public-logout-federation.priority={{ matrix_media_repo_container_labels_traefik_logout_federation_priority }}
  169. {% endif %}
  170. {% if middlewares | length > 0 %}
  171. traefik.http.routers.matrix-media-repo-public-logout-federation.middlewares={{ middlewares | join(',') }}
  172. {% endif %}
  173. traefik.http.routers.matrix-media-repo-public-logout-federation.service=matrix-media-repo
  174. traefik.http.routers.matrix-media-repo-public-logout-federation.entrypoints={{ matrix_media_repo_container_labels_traefik_logout_federation_entrypoints }}
  175. traefik.http.routers.matrix-media-repo-public-logout-federation.tls={{ matrix_media_repo_container_labels_traefik_logout_federation_tls | to_json }}
  176. {% if matrix_media_repo_container_labels_traefik_logout_federation_tls %}
  177. traefik.http.routers.matrix-media-repo-public-logout-federation.tls.certResolver={{ matrix_media_repo_container_labels_traefik_logout_federation_tls_certResolver }}
  178. {% endif %}
  179. ############################################################
  180. # #
  181. # /Public Federation Logout #
  182. # (/_matrix/client/r0/{logout,logout/all} #
  183. # #
  184. ############################################################
  185. {% endif %}
  186. ############################################################
  187. # #
  188. # Public Federation Admin (/_matrix/client/r0/admin/*) #
  189. # #
  190. ############################################################
  191. traefik.http.routers.matrix-media-repo-public-admin.rule={{ matrix_media_repo_container_labels_traefik_admin_federation_rule }}
  192. {% if matrix_media_repo_container_labels_traefik_admin_federation_priority | int > 0 %}
  193. traefik.http.routers.matrix-media-repo-public-admin.priority={{ matrix_media_repo_container_labels_traefik_admin_federation_priority }}
  194. {% endif %}
  195. {% if middlewares | length > 0 %}
  196. traefik.http.routers.matrix-media-repo-public-admin.middlewares={{ middlewares | join(',') }}
  197. {% endif %}
  198. traefik.http.routers.matrix-media-repo-public-admin.service=matrix-media-repo
  199. traefik.http.routers.matrix-media-repo-public-admin.entrypoints={{ matrix_media_repo_container_labels_traefik_admin_federation_entrypoints }}
  200. traefik.http.routers.matrix-media-repo-public-admin.tls={{ matrix_media_repo_container_labels_traefik_admin_federation_tls | to_json }}
  201. {% if matrix_media_repo_container_labels_traefik_admin_federation_tls %}
  202. traefik.http.routers.matrix-media-repo-public-admin.tls.certResolver={{ matrix_media_repo_container_labels_traefik_admin_federation_tls_certResolver }}
  203. {% endif %}
  204. ############################################################
  205. # #
  206. # /Public Federation Admin (/_matrix/client/r0/admin/*) #
  207. # #
  208. ############################################################
  209. ############################################################
  210. # #
  211. # Public Federation t2bot APIs #
  212. # (/_matrix/client/unstable/io.t2bot.media) #
  213. # #
  214. ############################################################
  215. traefik.http.routers.matrix-media-repo-public-t2bot-federation.rule={{ matrix_media_repo_container_labels_traefik_t2bot_federation_rule }}
  216. {% if matrix_media_repo_container_labels_traefik_t2bot_federation_priority | int > 0 %}
  217. traefik.http.routers.matrix-media-repo-public-t2bot-federation.priority={{ matrix_media_repo_container_labels_traefik_t2bot_federation_priority }}
  218. {% endif %}
  219. {% if middlewares | length > 0 %}
  220. traefik.http.routers.matrix-media-repo-public-t2bot-federation.middlewares={{ middlewares | join(',') }}
  221. {% endif %}
  222. traefik.http.routers.matrix-media-repo-public-t2bot-federation.service=matrix-media-repo
  223. traefik.http.routers.matrix-media-repo-public-t2bot-federation.entrypoints={{ matrix_media_repo_container_labels_traefik_t2bot_federation_entrypoints }}
  224. traefik.http.routers.matrix-media-repo-public-t2bot-federation.tls={{ matrix_media_repo_container_labels_traefik_t2bot_federation_tls | to_json }}
  225. {% if matrix_media_repo_container_labels_traefik_t2bot_federation_tls %}
  226. traefik.http.routers.matrix-media-repo-public-t2bot-federation.tls.certResolver={{ matrix_media_repo_container_labels_traefik_t2bot_federation_tls_certResolver }}
  227. {% endif %}
  228. ############################################################
  229. # #
  230. # /Public Federation t2bot APIs #
  231. # (/_matrix/client/unstable/io.t2bot.media) #
  232. # #
  233. ############################################################
  234. {% endif %} {# end of matrix_media_repo_homeserver_federation_enabled if-check #}
  235. {% endif %} {# end of matrix_media_repo_container_labels_traefik_enabled if-check #}
  236. {{ matrix_media_repo_container_labels_additional_labels }}