Matrix Docker Ansible eploy
Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
 
 

125 Zeilen
7.0 KiB

  1. {#
  2. SPDX-FileCopyrightText: 2024 Slavi Pantaleev
  3. SPDX-License-Identifier: AGPL-3.0-or-later
  4. #}
  5. {% if matrix_ma1sd_container_labels_traefik_enabled %}
  6. traefik.enable=true
  7. {% if matrix_ma1sd_container_labels_traefik_docker_network %}
  8. traefik.docker.network={{ matrix_ma1sd_container_labels_traefik_docker_network }}
  9. {% endif %}
  10. traefik.http.services.matrix-ma1sd.loadbalancer.server.port={{ matrix_ma1sd_container_port }}
  11. {% if matrix_ma1sd_container_labels_matrix_identity_enabled %}
  12. ############################################################
  13. # #
  14. # Matrix Identity APIs (/_matrix/identity) #
  15. # #
  16. ############################################################
  17. traefik.http.routers.matrix-ma1sd-matrix-identity.rule={{ matrix_ma1sd_container_labels_matrix_identity_traefik_rule }}
  18. {% if matrix_ma1sd_container_labels_matrix_identity_traefik_priority | int > 0 %}
  19. traefik.http.routers.matrix-ma1sd-matrix-identity.priority={{ matrix_ma1sd_container_labels_matrix_identity_traefik_priority }}
  20. {% endif %}
  21. traefik.http.routers.matrix-ma1sd-matrix-identity.service=matrix-ma1sd
  22. traefik.http.routers.matrix-ma1sd-matrix-identity.entrypoints={{ matrix_ma1sd_container_labels_matrix_identity_traefik_entrypoints }}
  23. traefik.http.routers.matrix-ma1sd-matrix-identity.tls={{ matrix_ma1sd_container_labels_matrix_identity_traefik_tls | to_json }}
  24. {% if matrix_ma1sd_container_labels_matrix_identity_traefik_tls %}
  25. traefik.http.routers.matrix-ma1sd-matrix-identity.tls.certResolver={{ matrix_ma1sd_container_labels_matrix_identity_traefik_tls_certResolver }}
  26. {% endif %}
  27. ############################################################
  28. # #
  29. # /Matrix Identity APIs (/_matrix/identity) #
  30. # #
  31. ############################################################
  32. {% endif %}
  33. {% if matrix_ma1sd_container_labels_matrix_client_user_directory_search_enabled %}
  34. ############################################################
  35. # #
  36. # Matrix Client user-directory search API endpoint #
  37. # (/_matrix/client/VERSION/user_directory/search) #
  38. # #
  39. ############################################################
  40. # ma1sd only supports /_matrix/client/r0/user_directory/search
  41. # while we potentially handle /_matrix/client/v3/user_directory/search as well,
  42. # so we need to transparently reroute.
  43. traefik.http.middlewares.matrix-ma1sd-matrix-client-user-directory-search-replacepath.replacepath.path=/_matrix/client/r0/user_directory/search
  44. traefik.http.routers.matrix-ma1sd-matrix-client-user-directory-search.rule={{ matrix_ma1sd_container_labels_matrix_client_user_directory_search_traefik_rule }}
  45. traefik.http.routers.matrix-ma1sd-matrix-client-user-directory-search.middlewares=matrix-ma1sd-matrix-client-user-directory-search-replacepath
  46. {% if matrix_ma1sd_container_labels_matrix_client_user_directory_search_traefik_priority | int > 0 %}
  47. traefik.http.routers.matrix-ma1sd-matrix-client-user-directory-search.priority={{ matrix_ma1sd_container_labels_matrix_client_user_directory_search_traefik_priority }}
  48. {% endif %}
  49. traefik.http.routers.matrix-ma1sd-matrix-client-user-directory-search.service=matrix-ma1sd
  50. traefik.http.routers.matrix-ma1sd-matrix-client-user-directory-search.entrypoints={{ matrix_ma1sd_container_labels_matrix_client_user_directory_search_traefik_entrypoints }}
  51. traefik.http.routers.matrix-ma1sd-matrix-client-user-directory-search.tls={{ matrix_ma1sd_container_labels_matrix_client_user_directory_search_traefik_tls | to_json }}
  52. {% if matrix_ma1sd_container_labels_matrix_client_user_directory_search_traefik_tls %}
  53. traefik.http.routers.matrix-ma1sd-matrix-client-user-directory-search.tls.certResolver={{ matrix_ma1sd_container_labels_matrix_client_user_directory_search_traefik_tls_certResolver }}
  54. {% endif %}
  55. ############################################################
  56. # #
  57. # /Matrix Client user-directory search API endpoint #
  58. # (/_matrix/client/VERSION/user_directory/search) #
  59. # #
  60. ############################################################
  61. {% endif %}
  62. {% if matrix_ma1sd_container_labels_matrix_client_user_directory_search_enabled %}
  63. ############################################################
  64. # #
  65. # Matrix Client 3pid registration API endpoint #
  66. # (/_matrix/client/VERSION/register/TYPE/requestToken) #
  67. # #
  68. ############################################################
  69. # ma1sd only supports /_matrix/client/r0/register/TYPE/requestToken
  70. # while we potentially handle /_matrix/client/v3/register/TYPE/requestToken as well,
  71. # so we need to transparently reroute.
  72. traefik.http.middlewares.matrix-ma1sd-matrix-client-3pid-registration-replacepathregex.replacepathregex.regex=^/_matrix/client/([^/]+)/register/([^/]+)/requestToken
  73. traefik.http.middlewares.matrix-ma1sd-matrix-client-3pid-registration-replacepathregex.replacepathregex.replacement=/_matrix/client/r0/register/${2}/requestToken
  74. traefik.http.routers.matrix-ma1sd-matrix-client-3pid-registration.rule={{ matrix_ma1sd_container_labels_matrix_client_3pid_registration_traefik_rule }}
  75. traefik.http.routers.matrix-ma1sd-matrix-client-3pid-registration.middlewares=matrix-ma1sd-matrix-client-3pid-registration-replacepathregex
  76. {% if matrix_ma1sd_container_labels_matrix_client_3pid_registration_traefik_priority | int > 0 %}
  77. traefik.http.routers.matrix-ma1sd-matrix-client-3pid-registration.priority={{ matrix_ma1sd_container_labels_matrix_client_3pid_registration_traefik_priority }}
  78. {% endif %}
  79. traefik.http.routers.matrix-ma1sd-matrix-client-3pid-registration.service=matrix-ma1sd
  80. traefik.http.routers.matrix-ma1sd-matrix-client-3pid-registration.entrypoints={{ matrix_ma1sd_container_labels_matrix_client_3pid_registration_traefik_entrypoints }}
  81. traefik.http.routers.matrix-ma1sd-matrix-client-3pid-registration.tls={{ matrix_ma1sd_container_labels_matrix_client_3pid_registration_traefik_tls | to_json }}
  82. {% if matrix_ma1sd_container_labels_matrix_client_3pid_registration_traefik_tls %}
  83. traefik.http.routers.matrix-ma1sd-matrix-client-3pid-registration.tls.certResolver={{ matrix_ma1sd_container_labels_matrix_client_3pid_registration_traefik_tls_certResolver }}
  84. {% endif %}
  85. ############################################################
  86. # #
  87. # /Matrix Client 3pid registration API endpoint #
  88. # (/_matrix/client/VERSION/register/TYPE/requestToken) #
  89. # #
  90. ############################################################
  91. {% endif %}
  92. {% endif %}
  93. {{ matrix_ma1sd_container_labels_additional_labels }}