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.

98 lines
3.4 KiB

  1. ---
  2. #
  3. # Tasks related to setting up jitsi-prosody
  4. #
  5. - name: Ensure Matrix jitsi-prosody environment 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_prosody_base_path }}", when: true}
  14. - {path: "{{ matrix_jitsi_prosody_config_path }}", when: true}
  15. - {path: "{{ matrix_jitsi_prosody_plugins_path }}", when: true}
  16. when: matrix_jitsi_enabled|bool and item.when
  17. - name: Ensure jitsi-prosody Docker image is pulled
  18. docker_image:
  19. name: "{{ matrix_jitsi_prosody_docker_image }}"
  20. source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}"
  21. force_source: "{{ matrix_jitsi_prosody_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
  22. force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_jitsi_prosody_docker_image_force_pull }}"
  23. when: matrix_jitsi_enabled|bool
  24. register: result
  25. retries: "{{ matrix_container_retries_count }}"
  26. delay: "{{ matrix_container_retries_delay }}"
  27. until: result is not failed
  28. - name: Ensure jitsi-prosody environment variables file is created
  29. template:
  30. src: "{{ role_path }}/templates/prosody/env.j2"
  31. dest: "{{ matrix_jitsi_prosody_base_path }}/env"
  32. mode: 0640
  33. when: matrix_jitsi_enabled|bool
  34. - name: Ensure matrix-jitsi-prosody.service file is installed
  35. template:
  36. src: "{{ role_path }}/templates/prosody/matrix-jitsi-prosody.service.j2"
  37. dest: "{{ matrix_systemd_path }}/matrix-jitsi-prosody.service"
  38. mode: 0644
  39. register: matrix_jitsi_prosody_systemd_service_result
  40. when: matrix_jitsi_enabled|bool
  41. - name: Ensure systemd service is reloaded after matrix-jitsi-prosody.service installation
  42. service:
  43. daemon_reload: true
  44. when: "matrix_jitsi_enabled and matrix_jitsi_prosody_systemd_service_result.changed"
  45. - name: Ensure authentication is properly configured
  46. include_tasks:
  47. file: "{{ role_path }}/tasks/util/setup_jitsi_auth.yml"
  48. when:
  49. - matrix_jitsi_enabled|bool
  50. - matrix_jitsi_enable_auth|bool
  51. #
  52. # Tasks related to getting rid of jitsi-prosody (if it was previously enabled)
  53. #
  54. - name: Ensure matrix-jitsi-prosody.service file exists
  55. stat:
  56. path: "{{ matrix_systemd_path }}/matrix-jitsi-prosody.service"
  57. register: matrix_jitsi_prosody_service_stat
  58. when: "not matrix_jitsi_enabled|bool"
  59. - name: Ensure matrix-jitsi-prosody is stopped
  60. service:
  61. name: matrix-jitsi-prosody
  62. state: stopped
  63. enabled: false
  64. daemon_reload: true
  65. register: stopping_result
  66. when: "not matrix_jitsi_enabled|bool and matrix_jitsi_prosody_service_stat.stat.exists"
  67. - name: Ensure matrix-jitsi-prosody.service file doesn't exist
  68. file:
  69. path: "{{ matrix_systemd_path }}/matrix-jitsi-prosody.service"
  70. state: absent
  71. when: "not matrix_jitsi_enabled|bool and matrix_jitsi_prosody_service_stat.stat.exists"
  72. - name: Ensure systemd is reloaded after matrix-jitsi-prosody.service removal
  73. service:
  74. daemon_reload: true
  75. when: "not matrix_jitsi_enabled|bool and matrix_jitsi_prosody_service_stat.stat.exists"
  76. - name: Ensure Matrix jitsi-prosody paths doesn't exist
  77. file:
  78. path: "{{ matrix_jitsi_prosody_base_path }}"
  79. state: absent
  80. when: "not matrix_jitsi_enabled|bool"
  81. # Intentionally not removing the Docker image when uninstalling.
  82. # We can't be sure it had been pulled by us in the first place.