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.
 
 

119 lines
3.7 KiB

  1. ---
  2. #
  3. # Generic tasks that we always want to happen, regardless
  4. # if the user wants matrix-nginx-proxy or not.
  5. #
  6. # If the user would set up their own nginx proxy server,
  7. # the config files from matrix-nginx-proxy can be reused.
  8. #
  9. # It doesn't hurt to put them in place, even if they turn out
  10. # to be unnecessary.
  11. #
  12. - name: Ensure Matrix nginx-proxy paths exist
  13. file:
  14. path: "{{ item }}"
  15. state: directory
  16. mode: 0750
  17. owner: "{{ matrix_user_username }}"
  18. group: "{{ matrix_user_username }}"
  19. with_items:
  20. - "{{ matrix_nginx_proxy_data_path }}"
  21. - "{{ matrix_nginx_proxy_confd_path }}"
  22. - name: Ensure Matrix nginx-proxy configured (main config override)
  23. template:
  24. src: "{{ role_path }}/templates/nginx/nginx.conf.j2"
  25. dest: "{{ matrix_nginx_proxy_data_path }}/nginx.conf"
  26. mode: 0644
  27. when: "matrix_nginx_proxy_enabled"
  28. - name: Ensure Matrix nginx-proxy configured (generic)
  29. template:
  30. src: "{{ role_path }}/templates/nginx/conf.d/nginx-http.conf.j2"
  31. dest: "{{ matrix_nginx_proxy_confd_path }}/nginx-http.conf"
  32. mode: 0644
  33. when: "matrix_nginx_proxy_enabled"
  34. - name: Ensure Matrix nginx-proxy configuration for matrix domain exists
  35. template:
  36. src: "{{ role_path }}/templates/nginx/conf.d/matrix-synapse.conf.j2"
  37. dest: "{{ matrix_nginx_proxy_confd_path }}/matrix-synapse.conf"
  38. mode: 0644
  39. when: "matrix_nginx_proxy_proxy_matrix_enabled"
  40. - name: Ensure Matrix nginx-proxy configuration for riot domain exists
  41. template:
  42. src: "{{ role_path }}/templates/nginx/conf.d/matrix-riot-web.conf.j2"
  43. dest: "{{ matrix_nginx_proxy_confd_path }}/matrix-riot-web.conf"
  44. mode: 0644
  45. when: "matrix_nginx_proxy_proxy_riot_enabled"
  46. #
  47. # Tasks related to setting up matrix-nginx-proxy
  48. #
  49. - name: Ensure nginx Docker image is pulled
  50. docker_image:
  51. name: "{{ matrix_nginx_proxy_docker_image }}"
  52. when: matrix_nginx_proxy_enabled
  53. - name: Allow access to nginx proxy ports in firewalld
  54. firewalld:
  55. service: "{{ item }}"
  56. state: enabled
  57. immediate: yes
  58. permanent: yes
  59. with_items:
  60. - "http"
  61. - "https"
  62. when: "matrix_nginx_proxy_enabled and ansible_os_family == 'RedHat'"
  63. - name: Ensure matrix-nginx-proxy.service installed
  64. template:
  65. src: "{{ role_path }}/templates/systemd/matrix-nginx-proxy.service.j2"
  66. dest: "/etc/systemd/system/matrix-nginx-proxy.service"
  67. mode: 0644
  68. when: matrix_nginx_proxy_enabled
  69. #
  70. # Tasks related to getting rid of matrix-nginx-proxy (if it was previously enabled)
  71. #
  72. - name: Check existence of matrix-nginx-proxy service
  73. stat:
  74. path: "/etc/systemd/system/matrix-nginx-proxy.service"
  75. register: matrix_nginx_proxy_service_stat
  76. - name: Ensure matrix-nginx-proxy is stopped
  77. service:
  78. name: matrix-nginx-proxy
  79. state: stopped
  80. daemon_reload: yes
  81. register: stopping_result
  82. when: "not matrix_nginx_proxy_enabled and matrix_nginx_proxy_service_stat.stat.exists"
  83. - name: Ensure matrix-nginx-proxy.service doesn't exist
  84. file:
  85. path: "/etc/systemd/system/matrix-nginx-proxy.service"
  86. state: absent
  87. when: "not matrix_nginx_proxy_enabled and matrix_nginx_proxy_service_stat.stat.exists"
  88. - name: Ensure Matrix nginx-proxy configuration for matrix domain deleted
  89. file:
  90. path: "{{ matrix_nginx_proxy_confd_path }}/matrix-synapse.conf"
  91. state: absent
  92. when: "not matrix_nginx_proxy_proxy_matrix_enabled"
  93. - name: Ensure Matrix nginx-proxy configuration for riot domain deleted
  94. file:
  95. path: "{{ matrix_nginx_proxy_confd_path }}/matrix-riot-web.conf"
  96. state: absent
  97. when: "not matrix_nginx_proxy_proxy_riot_enabled"
  98. - name: Ensure Matrix nginx-proxy configuration for main config override deleted
  99. file:
  100. path: "{{ matrix_nginx_proxy_data_path }}/nginx.conf"
  101. state: absent
  102. when: "not matrix_nginx_proxy_enabled"