85 lines
2.5 KiB
YAML
85 lines
2.5 KiB
YAML
#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
|