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.
 
 

115 lines
3.9 KiB

  1. ---
  2. # Main installation tasks for matrix-element-call
  3. # Ensure Required Directories Exist
  4. - name: Ensure matrix-element-call paths exist
  5. ansible.builtin.file:
  6. path: "{{ item.path }}"
  7. state: directory
  8. mode: 0750
  9. owner: "{{ matrix_user_username }}"
  10. group: "{{ matrix_user_groupname }}"
  11. with_items:
  12. - path: "{{ matrix_element_call_base_path }}"
  13. - path: "{{ matrix_element_call_config_path }}"
  14. - path: "{{ matrix_element_call_backend_path }}"
  15. # Ensure Configuration Files are in Place
  16. - name: Ensure matrix-element-call support files installed
  17. ansible.builtin.template:
  18. src: "{{ role_path }}/templates/{{ item }}.j2"
  19. dest: "{{ matrix_element_call_base_path }}/{{ item }}"
  20. mode: 0640
  21. owner: "{{ matrix_user_username }}"
  22. group: "{{ matrix_user_groupname }}"
  23. with_items:
  24. - config.json
  25. - env
  26. - labels
  27. - name: Ensure livekit.yaml is installed
  28. ansible.builtin.template:
  29. src: "{{ role_path }}/templates/livekit.yaml.j2"
  30. dest: "{{ matrix_element_call_backend_path }}/livekit.yaml"
  31. mode: 0640
  32. owner: "{{ matrix_user_username }}"
  33. group: "{{ matrix_user_groupname }}"
  34. - name: Ensure redis.conf is installed
  35. ansible.builtin.template:
  36. src: "{{ role_path }}/templates/redis.conf.j2"
  37. dest: "{{ matrix_element_call_backend_path }}/redis.conf"
  38. mode: 0640
  39. owner: "{{ matrix_user_username }}"
  40. group: "{{ matrix_user_groupname }}"
  41. # Ensure Docker Images are Pulled
  42. - name: Ensure matrix-element-call container image is pulled
  43. community.docker.docker_image:
  44. name: "{{ matrix_element_call_image }}"
  45. source: pull
  46. register: element_call_image_result
  47. retries: "{{ devture_playbook_help_container_retries_count }}"
  48. delay: "{{ devture_playbook_help_container_retries_delay }}"
  49. until: element_call_image_result is not failed
  50. - name: Ensure jwt-service container image is pulled
  51. community.docker.docker_image:
  52. name: "{{ matrix_jwt_service_image }}"
  53. source: pull
  54. register: jwt_image_result
  55. retries: 3
  56. delay: 10
  57. until: jwt_image_result is not failed
  58. - name: Ensure livekit container image is pulled
  59. community.docker.docker_image:
  60. name: "{{ matrix_livekit_image }}"
  61. source: pull
  62. register: livekit_image_result
  63. retries: 3
  64. delay: 10
  65. until: livekit_image_result is not failed
  66. - name: Ensure redis container image is pulled
  67. community.docker.docker_image:
  68. name: "{{ matrix_redis_image }}"
  69. source: pull
  70. register: redis_image_result
  71. retries: 3
  72. delay: 10
  73. until: redis_image_result is not failed
  74. # Ensure Docker Networks are Created
  75. - name: Ensure matrix-element-call container network is created
  76. community.general.docker_network:
  77. enable_ipv6: "{{ devture_systemd_docker_base_ipv6_enabled }}"
  78. name: "{{ matrix_element_call_container_network }}"
  79. driver: bridge
  80. driver_options: "{{ devture_systemd_docker_base_container_networks_driver_options }}"
  81. # Deploy Systemd Services for Containers
  82. - name: Ensure matrix-element-call systemd service is installed
  83. ansible.builtin.template:
  84. src: "{{ role_path }}/templates/systemd/matrix-element-call.service.j2"
  85. dest: "{{ devture_systemd_docker_base_systemd_path }}/matrix-element-call.service"
  86. mode: 0644
  87. - name: Ensure jwt-service systemd service is installed
  88. ansible.builtin.template:
  89. src: "{{ role_path }}/templates/systemd/matrix-jwt-service.service.j2"
  90. dest: "{{ devture_systemd_docker_base_systemd_path }}/matrix-jwt-service.service"
  91. mode: 0644
  92. - name: Ensure livekit systemd service is installed
  93. ansible.builtin.template:
  94. src: "{{ role_path }}/templates/systemd/matrix-livekit.service.j2"
  95. dest: "{{ devture_systemd_docker_base_systemd_path }}/matrix-livekit.service"
  96. mode: 0644
  97. - name: Ensure redis systemd service is installed
  98. ansible.builtin.template:
  99. src: "{{ role_path }}/templates/systemd/matrix-redis.service.j2"
  100. dest: "{{ devture_systemd_docker_base_systemd_path }}/matrix-redis.service"
  101. mode: 0644