#SPDX-License-Identifier: MIT-0 --- # tasks file for talk (HPB) - name: Assert minimum configuration ansible.builtin.assert: that: - talk_domain | length > 0 - talk_nextcloud_url | length > 0 - talk_backend_secret | length > 0 - talk_turn_secret | length > 0 - talk_janus_public_ip | length > 0 - talk_session_hashkey | length > 0 - talk_session_blockkey | length > 0 fail_msg: > Required talk_* variables missing. Set talk_domain, talk_nextcloud_url, talk_janus_public_ip in host_vars and place backend/turn/session secrets in playbooks/secrets/{{ inventory_hostname }}/. - name: Create talk compose directory ansible.builtin.file: path: "{{ talk_docker_compose_dir }}" state: directory mode: "0755" - name: Create signaling subdirectories (signaling + janus configs) ansible.builtin.file: path: "{{ talk_docker_compose_dir }}/{{ item }}" state: directory mode: "0755" loop: - signaling - janus - name: Create signaling data directory ansible.builtin.file: path: "{{ talk_docker_volume_dir }}/signaling/data" state: directory mode: "0755" - name: Ensure proxy network exists (created externally by Traefik role normally) community.docker.docker_network: name: "{{ talk_traefik_network }}" state: present - name: Render signaling server.conf ansible.builtin.template: src: server.conf.j2 dest: "{{ talk_docker_compose_dir }}/signaling/server.conf" mode: "0640" no_log: true notify: Restart signaling stack - name: Render Janus main config ansible.builtin.template: src: janus.jcfg.j2 dest: "{{ talk_docker_compose_dir }}/janus/janus.jcfg" mode: "0644" notify: Restart signaling stack - name: Render Janus websockets transport config ansible.builtin.template: src: janus.transport.websockets.jcfg.j2 dest: "{{ talk_docker_compose_dir }}/janus/janus.transport.websockets.jcfg" mode: "0644" notify: Restart signaling stack - name: Render Janus logger config ansible.builtin.template: src: janus.logger.jcfg.j2 dest: "{{ talk_docker_compose_dir }}/janus/janus.logger.jcfg" mode: "0644" notify: Restart signaling stack - name: Render docker-compose.yml ansible.builtin.template: src: docker-compose.yml.j2 dest: "{{ talk_docker_compose_dir }}/docker-compose.yml" mode: "0644" notify: Restart signaling stack - name: Start signaling stack community.docker.docker_compose_v2: project_src: "{{ talk_docker_compose_dir }}" state: present