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.
 
 

101 regels
3.4 KiB

  1. ---
  2. #
  3. # Tasks related to setting up jitsi-web
  4. #
  5. - name: Ensure Matrix jitsi-web path exists
  6. file:
  7. path: "{{ item.path }}"
  8. state: directory
  9. mode: 0777
  10. owner: "{{ matrix_user_username }}"
  11. group: "{{ matrix_user_groupname }}"
  12. with_items:
  13. - {path: "{{ matrix_jitsi_web_base_path }}", when: true}
  14. - {path: "{{ matrix_jitsi_web_config_path }}", when: true}
  15. - {path: "{{ matrix_jitsi_web_transcripts_path }}", when: true}
  16. - {path: "{{ matrix_jitsi_web_crontabs_path }}", when: true}
  17. when: matrix_jitsi_enabled|bool and item.when
  18. - name: Ensure jitsi-web Docker image is pulled
  19. docker_image:
  20. name: "{{ matrix_jitsi_web_docker_image }}"
  21. source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}"
  22. force_source: "{{ matrix_jitsi_web_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
  23. force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_jitsi_web_docker_image_force_pull }}"
  24. when: matrix_jitsi_enabled|bool
  25. register: result
  26. retries: "{{ matrix_container_retries_count }}"
  27. delay: "{{ matrix_container_retries_delay }}"
  28. until: result is not failed
  29. - name: Ensure jitsi-web environment variables file created
  30. template:
  31. src: "{{ role_path }}/templates/web/env.j2"
  32. dest: "{{ matrix_jitsi_web_base_path }}/env"
  33. mode: 0640
  34. when: matrix_jitsi_enabled|bool
  35. - name: Ensure jitsi-web configuration files created
  36. template:
  37. src: "{{ role_path }}/templates/web/{{ item }}.j2"
  38. dest: "{{ matrix_jitsi_web_config_path }}/{{ item }}"
  39. mode: 0644
  40. with_items:
  41. - custom-config.js
  42. - custom-interface_config.js
  43. when: matrix_jitsi_enabled|bool
  44. - name: Ensure matrix-jitsi-web.service installed
  45. template:
  46. src: "{{ role_path }}/templates/web/matrix-jitsi-web.service.j2"
  47. dest: "{{ matrix_systemd_path }}/matrix-jitsi-web.service"
  48. mode: 0644
  49. register: matrix_jitsi_web_systemd_service_result
  50. when: matrix_jitsi_enabled|bool
  51. - name: Ensure systemd reloaded after matrix-jitsi-web.service installation
  52. service:
  53. daemon_reload: true
  54. when: "matrix_jitsi_enabled and matrix_jitsi_web_systemd_service_result.changed"
  55. #
  56. # Tasks related to getting rid of jitsi-web (if it was previously enabled)
  57. #
  58. - name: Check existence of matrix-jitsi-web service
  59. stat:
  60. path: "{{ matrix_systemd_path }}/matrix-jitsi-web.service"
  61. register: matrix_jitsi_web_service_stat
  62. when: "not matrix_jitsi_enabled|bool"
  63. - name: Ensure matrix-jitsi-web is stopped
  64. service:
  65. name: matrix-jitsi-web
  66. state: stopped
  67. enabled: false
  68. daemon_reload: true
  69. register: stopping_result
  70. when: "not matrix_jitsi_enabled|bool and matrix_jitsi_web_service_stat.stat.exists"
  71. - name: Ensure matrix-jitsi-web.service doesn't exist
  72. file:
  73. path: "{{ matrix_systemd_path }}/matrix-jitsi-web.service"
  74. state: absent
  75. when: "not matrix_jitsi_enabled|bool and matrix_jitsi_web_service_stat.stat.exists"
  76. - name: Ensure systemd reloaded after matrix-jitsi-web.service removal
  77. service:
  78. daemon_reload: true
  79. when: "not matrix_jitsi_enabled|bool and matrix_jitsi_web_service_stat.stat.exists"
  80. - name: Ensure Matrix jitsi-web paths doesn't exist
  81. file:
  82. path: "{{ matrix_jitsi_web_base_path }}"
  83. state: absent
  84. when: "not matrix_jitsi_enabled|bool"
  85. # Intentionally not removing the Docker image when uninstalling.
  86. # We can't be sure it had been pulled by us in the first place.