Aller au contenu

Variables d'environnement

L’installeur règle la plupart de ces variables automatiquement. Vous n’avez en général à y toucher que pour du réglage fin. Les valeurs « (aucune) » signifient qu’il n’y a pas de défaut (la variable est facultative ou fournie par l’installeur).

VariableDéfautRôle
VUISIO_EXTERNAL_IP(aucune)Adresse IP publique annoncée aux clients (candidat ICE, traversée de NAT)
VUISIO_UDP_PORT_BASE16384Port UDP de base des threads SFU
VUISIO_STUN_URL(aucune)Serveur STUN à annoncer aux clients
VUISIO_TURN_URL(aucune)Serveur(s) TURN (séparés par des virgules)
VUISIO_TURN_SECRET(aucune)Secret des identifiants TURN éphémères
VUISIO_TURN_CREDENTIAL_TTL86400Durée de vie des identifiants TURN (secondes)
VUISIO_ALLOWED_ORIGINS(aucune)Origines CORS autorisées (séparées par des virgules)
VUISIO_TRUSTED_PROXIES(aucune)IP des reverse-proxies de confiance (pour X-Forwarded-For)
VariableDéfautRôle
VUISIO_HTTP_HOST0.0.0.0Adresse d’écoute du serveur HTTP
VUISIO_GRPC_HOST0.0.0.0Adresse d’écoute des serveurs gRPC
VUISIO_REGISTRY_PORT50050Port gRPC du registre de modules

Le port HTTP du SFU est fixé à 3000.

VariableDéfautRôle
VUISIO_REDIS_URL(aucune)URL Redis. Sans elle, les salles sont éphémères (en mémoire)
VUISIO_ENCRYPTION_KEY(aucune)Clé AES-256-GCM (base64, 32 octets) chiffrant les données Redis
VUISIO_ALLOW_INSECUREfalseAutoriser le démarrage sans clé de chiffrement (développement seulement)
VUISIO_METRICS_TOKEN(aucune)Jeton bearer de l’endpoint /metrics (absent = endpoint désactivé)
VUISIO_GRPC_AUTH_TOKEN(aucune)Jeton d’authentification des services gRPC
VariableDéfautRôle
VUISIO_SFU_THREADSprocesseurs logiques moins 1 jusqu’à 4, moins 2 au-delàNombre de threads de traitement WebRTC. L’installeur l’écrit d’après la machine ; les processeurs laissés de côté servent au réseau du système, à nginx et au reste, et c’est ce qui garde le serveur réactif s’il est poussé au-delà de sa capacité
VUISIO_MAX_PARTICIPANTS_PER_ROOM0Plafond de participants par salle. 0 veut dire sans limite, et c’est le défaut : posez une valeur si vous voulez un plafond
VUISIO_ROOM_CREATIONS_PER_MINUTE30Salles qu’une même adresse IP peut créer par minute (on crée une salle en rejoignant une salle qui n’existe pas encore). Rejoindre une salle existante n’est jamais compté : une classe derrière l’adresse de son école entre aussi vite qu’elle clique. Au-delà, le serveur répond « trop de requêtes » et le client web réessaie seul. 0 = sans limite, par exemple sur un serveur dédié à un test de charge
VUISIO_VIDEO_SUBSCRIPTIONSactivéLe client web déclare au serveur les caméras qu’il affiche et la taille de chaque tuile. Le serveur ne lui relaie que celles-là, chacune à la qualité de sa tuile, sans plafond de nombre : seul le réseau du participant abaisse la qualité. 0 ou false ignore ces déclarations et remet tout le monde sous VUISIO_LAST_N_VIDEO, un retour arrière sans nouvelle version
VUISIO_LAST_N_VIDEO4Nombre de caméras relayées à un participant qui ne déclare pas celles qu’il affiche : un client web d’avant les déclarations, un robot de charge, ou tout le monde si VUISIO_VIDEO_SUBSCRIPTIONS est coupée. Ce sont les caméras des derniers orateurs. 0 = toutes
VUISIO_SDP_DEFLATEactivéCompresse les négociations (SDP) échangées avec un client qui le demande, ce que fait le client web. Sans compression, dans une salle de plus de 90 personnes environ, un participant n’entend pas les voix suivantes et ne reçoit aucune caméra. 0 ou false : négociations non compressées pour tous
VUISIO_AUDIO_RED1Audio redondant (RED) : chaque paquet audio porte aussi la trame précédente, si bien qu’un paquet perdu isolé se reconstitue au lieu d’être masqué. 1 : activé pour chaque participant qui perd 2 % des paquets ou plus, retiré sous 0,5 %. 0 : jamais, pas même proposé. force : toujours, pour mesurer son coût. Voir Audio sur un réseau qui perd des paquets
VUISIO_DISCARD_SILENCEtrueCesse de relayer l’audio d’un participant muet (son micro coupé). Le premier paquet de parole repasse immédiatement, aucune attaque de voix n’est coupée
VUISIO_DIAG_AUDIO_SECS(aucune)Diagnostic, coupé par défaut. Écrit toutes les N secondes une ligne de journal par participant qui publie : nombre de paquets audio, paquets sans extension de niveau, histogramme des niveaux et tours de parole ouverts et fermés. Sert à comprendre un temps de parole qui ne ressemble pas à la réunion. Rien n’en paraît côté navigateur ni dans le bilan d’une réunion
VUISIO_OPUS_PTIME20Durée d’une trame audio en millisecondes (10, 20, 40 ou 60). Une valeur plus élevée divise le nombre de paquets, au prix d’un peu de latence
VUISIO_BWE_INITIAL_KBPS1000Débit initial de l’estimation de bande passante (kbps)
VUISIO_SPEAKER_COOLDOWN_MS1500Délai minimal avant changement d’orateur actif (ms)
VUISIO_SPEAKER_ALPHA0.3Lissage du suivi des niveaux audio
VUISIO_REORDER_VIDEO8Taille du tampon de réordonnancement vidéo (paquets)
VUISIO_STATS_INTERVAL_SECS2Intervalle de collecte des statistiques (secondes)
VariableDéfautRôle
VUISIO_HAND_RAISE_TIMEOUT_SECS120Délai avant qu’une main levée retombe (secondes)
VUISIO_REACTION_RATE_LIMIT5Réactions maximum par fenêtre et par client
VUISIO_REACTION_RATE_WINDOW_SECS10Fenêtre de la limite de réactions (secondes)
NEXT_PUBLIC_GUEST_EXIT_URL(aucune)Où atterrit un invité qui quitte une réunion. Se pose sur le client web. Vide, on retourne au hall, comme avant
VariableDéfautRôle
VUISIO_SESSIONS_DIR/var/lib/vuisio/sessionsRépertoire des données de session (JSON)
VUISIO_SESSIONS_RETENTION_DAYS30Jours de conservation d’une réunion terminée ; 0 conserve indéfiniment
VUISIO_RECORDINGS_DIR/var/lib/vuisio/recordingsRépertoire des métadonnées d’enregistrement
VUISIO_PUBLIC_URL(aucune)Origine publique du serveur, pour les liens de tableau de bord servis à une application tierce
VUISIO_ROOM_DEFAULTS_FILE(aucune)Fichier TOML des défauts de salle et options de modules
VUISIO_TENANTS_FILE(aucune)Fichier JSON du registre des clés API par locataire. Sans lui, une seule clé primaire issue de VUISIO_ROOM_API_TOKEN. Géré par vuisio tenant ; voir Multi-locataires
VUISIO_DEFAULT_MAX_PARTICIPANTS0Plafond par défaut si absent du fichier de défauts. 0 veut dire sans limite
VUISIO_MODULES_ENABLED(tous)Liste des modules autorisés (séparés par des virgules)
VUISIO_MODULES_STARTUP_TIMEOUT30Attente de l’enregistrement des modules au démarrage (secondes)
VUISIO_MODULE_CONNECT_TIMEOUT_MS3000Délai maximal pour ouvrir une connexion vers un module (ms)
VUISIO_MODULE_CALL_TIMEOUT_MS10000Délai maximal d’un appel de l’orchestrateur vers un module, réponse comprise (ms). Les appels qui le dépassent sont comptés dans vuisio_module_call_timeouts_total
VUISIO_MODULES_DIRmodulesRépertoire de découverte des interfaces de modules
VUISIO_WEBCLIENT_DIRmodules/webclient/outRépertoire des fichiers statiques du client web