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.
 
 

61 lines
1.9 KiB

  1. ---
  2. - name: Ensure Matrix group is created
  3. group:
  4. name: "{{ matrix_user_username }}"
  5. gid: "{{ matrix_user_gid }}"
  6. state: present
  7. - name: Ensure Matrix user is created
  8. user:
  9. name: "{{ matrix_user_username }}"
  10. uid: "{{ matrix_user_uid }}"
  11. state: present
  12. group: "{{ matrix_user_username }}"
  13. - name: Ensure Matrix base path exists
  14. file:
  15. path: "{{ item }}"
  16. state: directory
  17. mode: "{{ matrix_base_data_path_mode }}"
  18. owner: "{{ matrix_user_username }}"
  19. group: "{{ matrix_user_username }}"
  20. with_items:
  21. - "{{ matrix_base_data_path }}"
  22. - { src: "{{ matrix_docker_src_files_path }}", when: "{{ matrix_raspberry_pi }}" }
  23. - { src: "{{ matrix_docker_synapse_src_files_path }}", when: "{{ matrix_raspberry_pi }}" }
  24. - { src: "{{ matrix_docker_coturn_src_files_path }}", when: "{{ matrix_coturn_enabled }}"}
  25. # `docker_network` doesn't work as expected when the given network
  26. # is a substring of a network that already exists.
  27. #
  28. # See:
  29. # - https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/12
  30. # - https://github.com/ansible/ansible/issues/32926
  31. #
  32. # Due to that, we employ a workaround below.
  33. #
  34. # - name: Ensure Matrix network is created in Docker
  35. # docker_network:
  36. # name: "{{ matrix_docker_network }}"
  37. # driver: bridge
  38. - name: Check existence of Matrix network in Docker
  39. shell:
  40. cmd: "docker network ls -q --filter='name=^{{ matrix_docker_network }}$'"
  41. register: result_check_docker_network
  42. changed_when: false
  43. check_mode: no
  44. - name: Create Matrix network in Docker
  45. shell:
  46. cmd: "docker network create --driver=bridge {{ matrix_docker_network }}"
  47. when: "result_check_docker_network.stdout == '' and not ansible_check_mode"
  48. - name: Ensure matrix-remove-all script created
  49. template:
  50. src: "{{ role_path }}/templates/usr-local-bin/matrix-remove-all.j2"
  51. dest: "/usr/local/bin/matrix-remove-all"
  52. mode: 0750