ajoute le relais TURN sur 443 pour la visio (ADR 0006), avec coturn et le routage Nginx par nom
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
parent
ee079ddffb
commit
45f8a69e26
19 changed files with 457 additions and 14 deletions
|
|
@ -3,6 +3,12 @@
|
|||
visio_version: stable-11248
|
||||
visio_domaine: meet.syllabuslab.fr
|
||||
visio_dossier: /opt/visio
|
||||
# Bloc A (ADR 0006) : relais TURN sur 443, activé seulement si le rôle `turn`
|
||||
# est déjà passé sur ce serveur (son secret existe). Nom dupliqué depuis
|
||||
# `portail_domaine_turn`/`turn_domaine_certificat`, pour que `visio` reste
|
||||
# autonome (même principe que pour `turn_domaine_certificat`).
|
||||
visio_domaine_turn: turn.syllabuslab.fr
|
||||
visio_turn_secret_fichier: /etc/turnserver-secret
|
||||
visio_port_web: 8090
|
||||
visio_ip_publique: 163.172.4.195
|
||||
visio_port_media: 10000
|
||||
|
|
|
|||
|
|
@ -45,6 +45,33 @@
|
|||
JWT_APP_SECRET={{ lookup('community.general.random_string', length=64, special=false) }}
|
||||
no_log: true
|
||||
|
||||
# Bloc A (ADR 0006) : le relais TURN est un rôle à part (coturn, pas
|
||||
# Docker) ; ici on se contente de lire s'il existe déjà et de transmettre
|
||||
# son secret à Prosody — jamais l'inverse (le rôle turn ne connaît pas la visio).
|
||||
- name: vérifier si le relais TURN est déjà configuré sur ce serveur
|
||||
ansible.builtin.stat:
|
||||
path: "{{ visio_turn_secret_fichier }}"
|
||||
register: visio_turn_secret_stat
|
||||
|
||||
- name: noter si le relais TURN peut être annoncé aux participants
|
||||
ansible.builtin.set_fact:
|
||||
visio_turn_actif: "{{ visio_turn_secret_stat.stat.exists }}"
|
||||
|
||||
- name: lire le secret du relais TURN
|
||||
ansible.builtin.slurp:
|
||||
src: "{{ visio_turn_secret_fichier }}"
|
||||
register: visio_turn_secret_lu
|
||||
when: visio_turn_actif
|
||||
no_log: true
|
||||
|
||||
- name: transmettre le secret du relais TURN à Prosody
|
||||
ansible.builtin.lineinfile:
|
||||
path: /etc/visio/secrets.env
|
||||
regexp: "^TURN_CREDENTIALS="
|
||||
line: "TURN_CREDENTIALS={{ visio_turn_secret_lu.content | b64decode | trim }}"
|
||||
when: visio_turn_actif
|
||||
no_log: true
|
||||
|
||||
- name: déployer la configuration de la visio
|
||||
ansible.builtin.template:
|
||||
src: visio.env.j2
|
||||
|
|
|
|||
|
|
@ -40,5 +40,17 @@ TOOLBAR_BUTTONS=microphone,camera,desktop,raisehand,participants-pane,tileview,s
|
|||
|
||||
JVB_ADVERTISE_IPS={{ visio_ip_publique }}
|
||||
JVB_PORT={{ visio_port_media }}
|
||||
{% if visio_turn_actif | default(false) %}
|
||||
|
||||
# Bloc A (ADR 0006) : relais TURN sur 443 pour les réseaux scolaires qui
|
||||
# bloquent l'UDP. Prosody calcule lui-même, pour chaque participant, un
|
||||
# couple nom d'utilisateur/mot de passe valable 24 h (TURN_CREDENTIALS,
|
||||
# secret partagé avec coturn — dans secrets.env, jamais ici). Lu directement
|
||||
# dans prosody.cfg.lua (confirmé dans le fichier source de l'image, pas
|
||||
# deviné) : aucun module ni plugin personnalisé à écrire.
|
||||
TURNS_HOST={{ visio_domaine_turn }}
|
||||
TURNS_PORT=443
|
||||
TURN_TTL=86400
|
||||
{% endif %}
|
||||
VIDEOBRIDGE_MAX_MEMORY={{ visio_memoire_jvb }}
|
||||
JICOFO_MAX_MEMORY={{ visio_memoire_jicofo }}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue