linux:jitsi
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| linux:jitsi [2026/09/07 03:58] – root | linux:jitsi [2026/09/07 07:10] (Version actuelle) – root | ||
|---|---|---|---|
| Ligne 116: | Ligne 116: | ||
| </ | </ | ||
| - | ===== 8. Configuration TURN (coturn) ===== | + | ===== 8. Configuration TURN (coturn) |
| Le TURN sert de **relais média** quand un participant est derrière un NAT/ | Le TURN sert de **relais média** quand un participant est derrière un NAT/ | ||
| - | Jitsi installe coturn automatiquement. Le conflit vient du fait que le TURN/TLS veut aussi le port 443. Comme Caddy occupe le 443, on bascule le TURN sur **5349**. | + | Cette section décrit un TURN **sans |
| + | |||
| + | < | ||
| + | **Limite** : le TURN over TLS (5349) n'est utile que pour traverser les firewalls corporate les plus verrouillés, | ||
| + | </ | ||
| ==== 8.1 Config coturn ==== | ==== 8.1 Config coturn ==== | ||
| Ligne 128: | Ligne 132: | ||
| < | < | ||
| listening-port=3478 | listening-port=3478 | ||
| - | tls-listening-port=5349 | ||
| listening-ip=< | listening-ip=< | ||
| relay-ip=< | relay-ip=< | ||
| external-ip=< | external-ip=< | ||
| - | |||
| - | # Certificat TLS pour le TURN over TLS | ||
| - | cert=/ | ||
| - | pkey=/ | ||
| # Auth partagée avec Jitsi | # Auth partagée avec Jitsi | ||
| Ligne 141: | Ligne 140: | ||
| static-auth-secret=< | static-auth-secret=< | ||
| realm=meet.makeitsimple.be | realm=meet.makeitsimple.be | ||
| + | |||
| + | # Pas de TLS : on ne définit ni tls-listening-port, | ||
| + | no-tls | ||
| + | no-dtls | ||
| # Durcissement | # Durcissement | ||
| Ligne 149: | Ligne 152: | ||
| < | < | ||
| - | Le '' | + | Le '' |
| </ | </ | ||
| - | ==== 8.2 Certificat pour le TURN ==== | + | ==== 8.2 Pointer Jitsi vers le TURN/UDP ==== |
| - | coturn a besoin d'un vrai certificat pour le TURN/TLS sur 5349. Comme c'est Caddy qui émet les certificats, | + | Vérifier dans ''/ |
| - | + | ||
| - | === Option A — Copier le cert de Caddy (simple) === | + | |
| - | + | ||
| - | Caddy stocke ses certificats dans son data dir, ex : | + | |
| - | ''/ | + | |
| - | + | ||
| - | Script de synchro (à mettre en cron ou hook de renouvellement) : | + | |
| - | + | ||
| - | <code bash> | + | |
| - | # | + | |
| - | SRC=/ | + | |
| - | DST=/ | + | |
| - | cp " | + | |
| - | cp " | + | |
| - | chown turnserver: | + | |
| - | systemctl restart coturn | + | |
| - | </ | + | |
| - | + | ||
| - | === Option B — Laisser Jitsi gérer son propre cert === | + | |
| - | + | ||
| - | Si un certificat a été fourni à l' | + | |
| - | + | ||
| - | ==== 8.3 Pointer Jitsi vers le bon port TURN ==== | + | |
| - | + | ||
| - | Vérifier dans ''/ | + | |
| <code lua> | <code lua> | ||
| turncredentials = { | turncredentials = { | ||
| { type = " | { type = " | ||
| - | { type = " | + | { type = " |
| - | { type = " | + | |
| } | } | ||
| </ | </ | ||
| - | Ouvrir **3478/ | + | Ouvrir **3478/ |
| <code bash> | <code bash> | ||
| Ligne 208: | Ligne 185: | ||
| | 80 | tcp | Externe → VM | ACME / redirection (Caddy) | | | 80 | tcp | Externe → VM | ACME / redirection (Caddy) | | ||
| | 10000 | udp | Externe → VM | Média JVB (direct) | | | 10000 | udp | Externe → VM | Média JVB (direct) | | ||
| - | | 3478 | udp | Externe → VM | STUN / TURN | | + | | 3478 | udp | Externe → VM | STUN / TURN (relais |
| - | | 5349 | tcp+udp | Externe → VM | TURN over TLS (fallback | + | |
| ===== 11. Checklist de test de bout en bout ===== | ===== 11. Checklist de test de bout en bout ===== | ||
| Ligne 317: | Ligne 293: | ||
| - [ ] Se connecter avec un compte hôte → la salle s' | - [ ] Se connecter avec un compte hôte → la salle s' | ||
| - [ ] Un second onglet anonyme rejoint la salle ouverte → accès direct sans login. | - [ ] Un second onglet anonyme rejoint la salle ouverte → accès direct sans login. | ||
| + | |||
| + | ===== 14. Cacher le formulaire de la page d' | ||
| + | |||
| + | Objectif : sur la racine '' | ||
| + | |||
| + | Éditer ''/ | ||
| + | |||
| + | <code javascript> | ||
| + | // Masque la zone de saisie / le bouton de création sur la page d' | ||
| + | enableWelcomePage: | ||
| + | </ | ||
| + | |||
| + | * '' | ||
| + | |||
| + | <note tip> | ||
| + | Variante douce si tu veux garder une page d' | ||
| + | </ | ||
| + | |||
| + | Rediriger éventuellement la racine vers ta vitrine (au niveau Caddy) si tu veux que ''/'' | ||
| + | |||
| + | < | ||
| + | meet.makeitsimple.be { | ||
| + | @root path / | ||
| + | redir @root https:// | ||
| + | |||
| + | handle { | ||
| + | reverse_proxy 127.0.0.1: | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | Aucun redémarrage de service nécessaire pour '' | ||
| + | |||
| + | <code bash> | ||
| + | systemctl reload caddy | ||
| + | </ | ||
| + | |||
| + | ===== 15. Personnalisation (logo, taille, favicon, nom) ===== | ||
| + | |||
| + | ==== 15.1 Remplacer le logo (watermark en haut à gauche) ==== | ||
| + | |||
| + | Par défaut Jitsi utilise ''/ | ||
| + | |||
| + | <code bash> | ||
| + | # Sauvegarde de l' | ||
| + | cp / | ||
| + | # Déployer le logo (garder une copie source HORS du dossier packagé, cf. 15.5) | ||
| + | cp / | ||
| + | </ | ||
| + | |||
| + | ==== 15.2 Lien, affichage et logo par défaut ==== | ||
| + | |||
| + | Éditer ''/ | ||
| + | |||
| + | <code javascript> | ||
| + | var interfaceConfig = { | ||
| + | JITSI_WATERMARK_LINK: | ||
| + | SHOW_JITSI_WATERMARK: | ||
| + | DEFAULT_LOGO_URL: | ||
| + | DEFAULT_WELCOME_PAGE_LOGO_URL: | ||
| + | // ... | ||
| + | }; | ||
| + | </ | ||
| + | |||
| + | ==== 15.3 Modifier la taille du logo ==== | ||
| + | |||
| + | La taille du watermark est **contrôlée en CSS**, pas par les dimensions du fichier image. Le watermark est affiché par la classe '' | ||
| + | |||
| + | Créer un CSS de surcharge, ex. ''/ | ||
| + | |||
| + | <code css> | ||
| + | .watermark.leftwatermark { | ||
| + | width: 160px !important; | ||
| + | height: 60px !important; | ||
| + | background-size: | ||
| + | background-repeat: | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | Puis référencer ce CSS dans ''/ | ||
| + | |||
| + | <code html> | ||
| + | <link rel=" | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | Ajuster '' | ||
| + | </ | ||
| + | |||
| + | ==== 15.4 Favicon, nom de l' | ||
| + | |||
| + | Dans '' | ||
| + | |||
| + | <code javascript> | ||
| + | APP_NAME: 'Make IT Simple Meet', | ||
| + | NATIVE_APP_NAME: | ||
| + | PROVIDER_NAME: | ||
| + | </ | ||
| + | |||
| + | Favicon : remplacer ''/ | ||
| + | |||
| + | <code bash> | ||
| + | cp / | ||
| + | </ | ||
| + | |||
| + | ==== 15.5 Préserver la personnalisation aux mises à jour ==== | ||
| + | |||
| + | <note warning> | ||
| + | '' | ||
| + | </ | ||
| + | |||
| + | Garder les sources de branding dans un dossier dédié (idéalement versionné en git) : | ||
| + | |||
| + | < | ||
| + | / | ||
| + | ├── watermark.svg | ||
| + | ├── favicon.ico | ||
| + | ├── custom.css | ||
| + | └── redeploy.sh | ||
| + | </ | ||
| + | |||
| + | Script ''/ | ||
| + | |||
| + | <code bash> | ||
| + | #!/bin/bash | ||
| + | set -e | ||
| + | DST=/ | ||
| + | cp / | ||
| + | cp / | ||
| + | cp / | ||
| + | |||
| + | # Ré-injecter le lien CSS dans base.html s'il a été écrasé | ||
| + | grep -q ' | ||
| + | sed -i ' | ||
| + | |||
| + | echo " | ||
| + | </ | ||
| + | |||
| + | <code bash> | ||
| + | chmod +x / | ||
| + | # À relancer après chaque mise à jour de jitsi-meet-web | ||
| + | / | ||
| + | </ | ||
| + | |||
| + | <note tip> | ||
| + | Aucun redémarrage de service : les fichiers sont statiques (servis par nginx → Caddy) et rechargés côté navigateur. Vider le cache pour tester. | ||
| + | </ | ||
| ===== Notes de maintenance ===== | ===== Notes de maintenance ===== | ||
| - | * **Renouvellement TLS** : le cert TURN (coturn) | + | * **TURN** : configuration en TURN/UDP sans TLS (section 8) → **aucun certificat |
| + | * **Personnalisation** : après chaque | ||
| * **Montée en charge** : au-delà de ~20–25 participants simultanés sur une salle, envisager un JVB supplémentaire (scaling horizontal). | * **Montée en charge** : au-delà de ~20–25 participants simultanés sur une salle, envisager un JVB supplémentaire (scaling horizontal). | ||
| * **Mises à jour** : '' | * **Mises à jour** : '' | ||
linux/jitsi.1788753509.txt.gz · Dernière modification : de root
