Outils pour utilisateurs

Outils du site


meet_jitsi_un_container_lxc

Ceci est une ancienne révision du document !


Meet jitsi dans un container LXC

Installation du container

En suivant ce déroulé

lxc-create -t download -n meet -- -d debian -r buster -a amd64

Pas d'ip fixe, config réseau par défaut pour le container

lxc-start visio
lxc-ls -f
lxc-attach visio
root@meet

Génération des certificats ssl letencrypt

Utilisation d'un vhost générique activé pour l'occasion pointant sur un répertoire du host accessible d'apache

certbot certonly --webroot -w /home/adminbox/www/ynh.futuretic.fr -d visio.futuretic.fr

bien sale, on génére le certificat la première fois après renouvelement auto, dans le vhost suivant, on utilise le certificat généré

Installation de meet jitsi

Configuration host hostname

Sur le host :

nano /etc/hosts
10.0.3.250 visio.futuretic.fr

Dans le container :

nano /etc/hosts
127.0.1.1       meet visio visio.futuretic.fr
root@meet /home # hostname
visio

Création des vhost apache pour proxy le traffic vers le container

nano /etc/apache2/sites-available/visio.futuretic.fr.conf
config
<VirtualHost *:80>
        ServerAdmin tech@futuretic.fr
        ServerName visio.futuretic.fr
 
        RewriteEngine on
        RewriteRule ^ https://visio.futuretic.fr%{REQUEST_URI} [END,QSA,R=permanent]
nano /etc/apache2/sites-available/visio.futuretic.fr-le-ssl.conf
config
<IfModule mod_ssl.c>
        <VirtualHost *:443>
               ServerAdmin     tech@futuretic.fr
               ServerName      visio.futuretic.fr
 
               SSLEngine on
               SSLProxyEngine On
 
               SSLCertificateFile /etc/letsencrypt/live/visio.futuretic.fr/fullchain.pem
               SSLCertificateKeyFile /etc/letsencrypt/live/visio.futuretic.fr/privkey.pem
               Include /etc/letsencrypt/options-ssl-apache.conf
 
         	ProxyPreserveHost       On
	        ProxyPass / https://visio.futuretic.fr/
		ProxyPassReverse / https://visio.futuretic.fr/
 
                # For WebSockets
                RewriteEngine on
                RewriteCond %{HTTP:Connection} Upgrade [NC]
                RewriteCond %{HTTP:Upgrade} websocket [NC]
                RewriteRule /(.*) wss://visio.futuretic.fr/$1  [P,L]
 
                RequestHeader set X-Forwarded-Proto “https”
                RequestHeader set X-Forwarded-Port “443#SetEnv proxy-sendchunks 1

		<Proxy *>
			Order deny,allow
			Allow from all
		</Proxy>
 
                ErrorLog /var/log/apache2/visio.futuretic.fr.error.log
                LogLevel error
                CustomLog /var/log/apache2/visio.futuretic.fr.access.log vhost_combined
 
        </VirtualHost>
 
</IfModule>

Réglages Firewall et réseau pour container LXC

Sur l'hote

Ouvrir les ports nécessaires au fonctionnement de jitsi avec ufw :

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 10000/udp
sudo ufw allow 22/tcp
sudo ufw allow 3478/udp
sudo ufw allow 5349/tcp
sudo ufw enable

Check du firewall status

sudo ufw status verbose

Il faut transférer certains de ces ports au container jitsi (pour 80 et 443, c'est l'apache du host qui fait le proxy vers le container) : ajouter en début de fichier

nano /etc/ufw/before.rules
*nat
:PREROUTING ACCEPT [0:0]
# jitsi specific rules
-A PREROUTING -i enp35s0 -p udp --dport 10000 -j DNAT --to 10.0.3.211:10000
-A PREROUTING -i enp35s0 -p tcp --dport 3478 -j DNAT --to 10.0.3.211:3478
-A PREROUTING -i enp35s0 -p tcp --dport 5349 -j DNAT --to 10.0.3.211:5349
COMMIT

10.0.3.211 étant l'ip du container

Redémarrer ufw avec

sudo ufw disable && sudo ufw enable

Dans le container Jitsi

Configurer le videobridge

nano /etc/jitsi/videobridge/sip-communicator.properties
org.ice4j.ice.harvest.DISABLE_AWS_HARVESTER=true
###org.ice4j.ice.harvest.STUN_MAPPING_HARVESTER_ADDRESSES=meet-jit-si-turnrelay.jitsi.net:443
org.ice4j.ice.harvest.NAT_HARVESTER_LOCAL_ADDRESS=10.0.3.211
org.ice4j.ice.harvest.NAT_HARVESTER_PUBLIC_ADDRESS=135.181.129.123

Redémarrer videobridge

 systemctl restart jitsi-videobridge2

Trouble shooting

Redémarrer lxc-net service sur l'hote

systemctl restart lxc-net.service

Dans le container

tail -f /var/log/jitsi/jicofo.log
tail -f /var/log/jitsi/jvb.log

Configurations complémentaires

Personnaliser l'interface

Désactiver ipv6 ?!

nano /etc/sysctl.conf

Ajouter la ligne suivante en fin de fichier

net.ipv6.conf.all.disable_ipv6 = 1

Appliquer les changements

sysctl -p
meet_jitsi_un_container_lxc.1607383228.txt.gz · Dernière modification : 2020/12/07 23:20 de Benjamin Labomedia