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.
 
 
 

148 lines
9.3 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. {% set middlewares = [] %}
  7. {% if matrix_media_repo_container_labels_traefik_additional_request_headers.keys() | length > 0 %}
  8. {% for name, value in matrix_media_repo_container_labels_traefik_additional_request_headers.items() %}
  9. traefik.http.middlewares.matrix-media-repo-add-headers.headers.customrequestheaders.{{ name }}={{ value }}
  10. {% endfor %}
  11. {% set middlewares = middlewares + ['matrix-media-repo-add-headers'] %}
  12. {% endif %}
  13. # Matrix Client
  14. traefik.http.routers.matrix-media-repo-media.rule={{ matrix_media_repo_container_labels_traefik_media_rule }}
  15. {% if matrix_media_repo_container_labels_traefik_media_priority | int > 0 %}
  16. traefik.http.routers.matrix-media-repo-media.priority={{ matrix_media_repo_container_labels_traefik_media_priority }}
  17. {% endif %}
  18. {% if middlewares | length > 0 %}
  19. traefik.http.routers.matrix-media-repo-media.middlewares={{ middlewares | join(',') }}
  20. {% endif %}
  21. traefik.http.routers.matrix-media-repo-media.service=matrix-media-repo
  22. traefik.http.routers.matrix-media-repo-media.entrypoints={{ matrix_media_repo_container_labels_traefik_media_entrypoints }}
  23. traefik.http.routers.matrix-media-repo-media.tls={{ matrix_media_repo_container_labels_traefik_media_tls | to_json }}
  24. {% if matrix_media_repo_container_labels_traefik_media_tls %}
  25. traefik.http.routers.matrix-media-repo-media.tls.certResolver={{ matrix_media_repo_container_labels_traefik_media_tls_certResolver }}
  26. {% endif %}
  27. {% if matrix_media_repo_access_tokens_max_cache_time_seconds > 0 %}
  28. traefik.http.routers.matrix-media-repo-logout.rule={{ matrix_media_repo_container_labels_traefik_logout_rule }}
  29. {% if matrix_media_repo_container_labels_traefik_logout_priority | int > 0 %}
  30. traefik.http.routers.matrix-media-repo-logout.priority={{ matrix_media_repo_container_labels_traefik_logout_priority }}
  31. {% endif %}
  32. {% if middlewares | length > 0 %}
  33. traefik.http.routers.matrix-media-repo-logout.middlewares={{ middlewares | join(',') }}
  34. {% endif %}
  35. traefik.http.routers.matrix-media-repo-logout.service=matrix-media-repo
  36. traefik.http.routers.matrix-media-repo-logout.entrypoints={{ matrix_media_repo_container_labels_traefik_logout_entrypoints }}
  37. traefik.http.routers.matrix-media-repo-logout.tls={{ matrix_media_repo_container_labels_traefik_logout_tls | to_json }}
  38. {% if matrix_media_repo_container_labels_traefik_logout_tls %}
  39. traefik.http.routers.matrix-media-repo-logout.tls.certResolver={{ matrix_media_repo_container_labels_traefik_logout_tls_certResolver }}
  40. {% endif %}
  41. {% endif %}
  42. traefik.http.routers.matrix-media-repo-admin-federation.rule={{ matrix_media_repo_container_labels_traefik_admin_rule }}
  43. {% if matrix_media_repo_container_labels_traefik_admin_priority | int > 0 %}
  44. traefik.http.routers.matrix-media-repo-admin-federation.priority={{ matrix_media_repo_container_labels_traefik_admin_priority }}
  45. {% endif %}
  46. {% if middlewares | length > 0 %}
  47. traefik.http.routers.matrix-media-repo-admin-federation.middlewares={{ middlewares | join(',') }}
  48. {% endif %}
  49. traefik.http.routers.matrix-media-repo-admin-federation.service=matrix-media-repo
  50. traefik.http.routers.matrix-media-repo-admin-federation.entrypoints={{ matrix_media_repo_container_labels_traefik_admin_entrypoints }}
  51. traefik.http.routers.matrix-media-repo-admin-federation.tls={{ matrix_media_repo_container_labels_traefik_admin_tls | to_json }}
  52. {% if matrix_media_repo_container_labels_traefik_admin_tls %}
  53. traefik.http.routers.matrix-media-repo-admin-federation.tls.certResolver={{ matrix_media_repo_container_labels_traefik_admin_tls_certResolver }}
  54. {% endif %}
  55. traefik.http.routers.matrix-media-repo-t2bot.rule={{ matrix_media_repo_container_labels_traefik_t2bot_rule }}
  56. {% if matrix_media_repo_container_labels_traefik_t2bot_priority | int > 0 %}
  57. traefik.http.routers.matrix-media-repo-t2bot.priority={{ matrix_media_repo_container_labels_traefik_t2bot_priority }}
  58. {% endif %}
  59. {% if middlewares | length > 0 %}
  60. traefik.http.routers.matrix-media-repo-t2bot.middlewares={{ middlewares | join(',') }}
  61. {% endif %}
  62. traefik.http.routers.matrix-media-repo-t2bot.service=matrix-media-repo
  63. traefik.http.routers.matrix-media-repo-t2bot.entrypoints={{ matrix_media_repo_container_labels_traefik_t2bot_entrypoints }}
  64. traefik.http.routers.matrix-media-repo-t2bot.tls={{ matrix_media_repo_container_labels_traefik_t2bot_tls | to_json }}
  65. {% if matrix_media_repo_container_labels_traefik_t2bot_tls %}
  66. traefik.http.routers.matrix-media-repo-t2bot.tls.certResolver={{ matrix_media_repo_container_labels_traefik_t2bot_tls_certResolver }}
  67. {% endif %}
  68. # Matrix Federation
  69. {% if matrix_nginx_proxy_proxy_matrix_federation_api_enabled %}
  70. traefik.http.routers.matrix-media-repo-media-federation.rule={{ matrix_media_repo_container_labels_traefik_media_federation_rule }}
  71. {% if matrix_media_repo_container_labels_traefik_media_federation_priority | int > 0 %}
  72. traefik.http.routers.matrix-media-repo-media-federation.priority={{ matrix_media_repo_container_labels_traefik_media_federation_priority }}
  73. {% endif %}
  74. {% if middlewares | length > 0 %}
  75. traefik.http.routers.matrix-media-repo-media-federation.middlewares={{ middlewares | join(',') }}
  76. {% endif %}
  77. traefik.http.routers.matrix-media-repo-media-federation.service=matrix-media-repo
  78. traefik.http.routers.matrix-media-repo-media-federation.entrypoints={{ matrix_media_repo_container_labels_traefik_media_federation_entrypoints }}
  79. traefik.http.routers.matrix-media-repo-media-federation.tls={{ matrix_media_repo_container_labels_traefik_media_federation_tls | to_json }}
  80. {% if matrix_media_repo_container_labels_traefik_media_federation_tls %}
  81. traefik.http.routers.matrix-media-repo-media-federation.tls.certResolver={{ matrix_media_repo_container_labels_traefik_media_federation_tls_certResolver }}
  82. {% endif %}
  83. {% if matrix_media_repo_access_tokens_max_cache_time_seconds > 0 %}
  84. traefik.http.routers.matrix-media-repo-logout-federation.rule={{ matrix_media_repo_container_labels_traefik_logout_federation_rule }}
  85. {% if matrix_media_repo_container_labels_traefik_logout_federation_priority | int > 0 %}
  86. traefik.http.routers.matrix-media-repo-logout-federation.priority={{ matrix_media_repo_container_labels_traefik_logout_federation_priority }}
  87. {% endif %}
  88. {% if middlewares | length > 0 %}
  89. traefik.http.routers.matrix-media-repo-logout-federation.middlewares={{ middlewares | join(',') }}
  90. {% endif %}
  91. traefik.http.routers.matrix-media-repo-logout-federation.service=matrix-media-repo
  92. traefik.http.routers.matrix-media-repo-logout-federation.entrypoints={{ matrix_media_repo_container_labels_traefik_logout_federation_entrypoints }}
  93. traefik.http.routers.matrix-media-repo-logout-federation.tls={{ matrix_media_repo_container_labels_traefik_logout_federation_tls | to_json }}
  94. {% if matrix_media_repo_container_labels_traefik_logout_federation_tls %}
  95. traefik.http.routers.matrix-media-repo-logout-federation.tls.certResolver={{ matrix_media_repo_container_labels_traefik_logout_federation_tls_certResolver }}
  96. {% endif %}
  97. {% endif %}
  98. traefik.http.routers.matrix-media-repo-admin.rule={{ matrix_media_repo_container_labels_traefik_admin_federation_rule }}
  99. {% if matrix_media_repo_container_labels_traefik_admin_federation_priority | int > 0 %}
  100. traefik.http.routers.matrix-media-repo-admin.priority={{ matrix_media_repo_container_labels_traefik_admin_federation_priority }}
  101. {% endif %}
  102. {% if middlewares | length > 0 %}
  103. traefik.http.routers.matrix-media-repo-admin.middlewares={{ middlewares | join(',') }}
  104. {% endif %}
  105. traefik.http.routers.matrix-media-repo-admin.service=matrix-media-repo
  106. traefik.http.routers.matrix-media-repo-admin.entrypoints={{ matrix_media_repo_container_labels_traefik_admin_federation_entrypoints }}
  107. traefik.http.routers.matrix-media-repo-admin.tls={{ matrix_media_repo_container_labels_traefik_admin_federation_tls | to_json }}
  108. {% if matrix_media_repo_container_labels_traefik_admin_federation_tls %}
  109. traefik.http.routers.matrix-media-repo-admin.tls.certResolver={{ matrix_media_repo_container_labels_traefik_admin_federation_tls_certResolver }}
  110. {% endif %}
  111. traefik.http.routers.matrix-media-repo-t2bot-federation.rule={{ matrix_media_repo_container_labels_traefik_t2bot_federation_rule }}
  112. {% if matrix_media_repo_container_labels_traefik_t2bot_federation_priority | int > 0 %}
  113. traefik.http.routers.matrix-media-repo-t2bot-federation.priority={{ matrix_media_repo_container_labels_traefik_t2bot_federation_priority }}
  114. {% endif %}
  115. {% if middlewares | length > 0 %}
  116. traefik.http.routers.matrix-media-repo-t2bot-federation.middlewares={{ middlewares | join(',') }}
  117. {% endif %}
  118. traefik.http.routers.matrix-media-repo-t2bot-federation.service=matrix-media-repo
  119. traefik.http.routers.matrix-media-repo-t2bot-federation.entrypoints={{ matrix_media_repo_container_labels_traefik_t2bot_federation_entrypoints }}
  120. traefik.http.routers.matrix-media-repo-t2bot-federation.tls={{ matrix_media_repo_container_labels_traefik_t2bot_federation_tls | to_json }}
  121. {% if matrix_media_repo_container_labels_traefik_t2bot_federation_tls %}
  122. traefik.http.routers.matrix-media-repo-t2bot-federation.tls.certResolver={{ matrix_media_repo_container_labels_traefik_t2bot_federation_tls_certResolver }}
  123. {% endif %}
  124. {% endif %}
  125. traefik.http.services.matrix-media-repo.loadbalancer.server.port={{ matrix_media_repo_port }}
  126. {% endif %}
  127. {{ matrix_media_repo_container_labels_additional_labels }}