- ---
- # Main installation tasks for matrix-element-call
-
- # Ensure Required Directories Exist
- - name: Ensure matrix-element-call paths exist
- ansible.builtin.file:
- path: "{{ item.path }}"
- state: directory
- mode: 0750
- owner: "{{ matrix_user_username }}"
- group: "{{ matrix_user_groupname }}"
- with_items:
- - path: "{{ matrix_element_call_base_path }}"
- - path: "{{ matrix_element_call_config_path }}"
- - path: "{{ matrix_element_call_backend_path }}"
-
- # Ensure Configuration Files are in Place
- - name: Ensure matrix-element-call support files installed
- ansible.builtin.template:
- src: "{{ role_path }}/templates/{{ item }}.j2"
- dest: "{{ matrix_element_call_base_path }}/{{ item }}"
- mode: 0640
- owner: "{{ matrix_user_username }}"
- group: "{{ matrix_user_groupname }}"
- with_items:
- - config.json
- - env
- - labels
-
- - name: Ensure livekit.yaml is installed
- ansible.builtin.template:
- src: "{{ role_path }}/templates/livekit.yaml.j2"
- dest: "{{ matrix_element_call_backend_path }}/livekit.yaml"
- mode: 0640
- owner: "{{ matrix_user_username }}"
- group: "{{ matrix_user_groupname }}"
-
- - name: Ensure redis.conf is installed
- ansible.builtin.template:
- src: "{{ role_path }}/templates/redis.conf.j2"
- dest: "{{ matrix_element_call_backend_path }}/redis.conf"
- mode: 0640
- owner: "{{ matrix_user_username }}"
- group: "{{ matrix_user_groupname }}"
-
- # Ensure Docker Images are Pulled
- - name: Ensure matrix-element-call container image is pulled
- community.docker.docker_image:
- name: "{{ matrix_element_call_image }}"
- source: pull
- register: element_call_image_result
- retries: "{{ devture_playbook_help_container_retries_count }}"
- delay: "{{ devture_playbook_help_container_retries_delay }}"
- until: element_call_image_result is not failed
-
- - name: Ensure jwt-service container image is pulled
- community.docker.docker_image:
- name: "{{ matrix_jwt_service_image }}"
- source: pull
- register: jwt_image_result
- retries: 3
- delay: 10
- until: jwt_image_result is not failed
-
- - name: Ensure livekit container image is pulled
- community.docker.docker_image:
- name: "{{ matrix_livekit_image }}"
- source: pull
- register: livekit_image_result
- retries: 3
- delay: 10
- until: livekit_image_result is not failed
-
- - name: Ensure redis container image is pulled
- community.docker.docker_image:
- name: "{{ matrix_redis_image }}"
- source: pull
- register: redis_image_result
- retries: 3
- delay: 10
- until: redis_image_result is not failed
-
- # Ensure Docker Networks are Created
- - name: Ensure matrix-element-call container network is created
- community.general.docker_network:
- enable_ipv6: "{{ devture_systemd_docker_base_ipv6_enabled }}"
- name: "{{ matrix_element_call_container_network }}"
- driver: bridge
- driver_options: "{{ devture_systemd_docker_base_container_networks_driver_options }}"
-
- # Deploy Systemd Services for Containers
- - name: Ensure matrix-element-call systemd service is installed
- ansible.builtin.template:
- src: "{{ role_path }}/templates/systemd/matrix-element-call.service.j2"
- dest: "{{ devture_systemd_docker_base_systemd_path }}/matrix-element-call.service"
- mode: 0644
-
- - name: Ensure jwt-service systemd service is installed
- ansible.builtin.template:
- src: "{{ role_path }}/templates/systemd/matrix-jwt-service.service.j2"
- dest: "{{ devture_systemd_docker_base_systemd_path }}/matrix-jwt-service.service"
- mode: 0644
-
- - name: Ensure livekit systemd service is installed
- ansible.builtin.template:
- src: "{{ role_path }}/templates/systemd/matrix-livekit.service.j2"
- dest: "{{ devture_systemd_docker_base_systemd_path }}/matrix-livekit.service"
- mode: 0644
-
- - name: Ensure redis systemd service is installed
- ansible.builtin.template:
- src: "{{ role_path }}/templates/systemd/matrix-redis.service.j2"
- dest: "{{ devture_systemd_docker_base_systemd_path }}/matrix-redis.service"
- mode: 0644
|