Aquests dies, les necessitats de plataformes que cobreixin serveis de comunicació en línia han augmentat de manera exponencial. A Clouding som al teu costat per facilitar-te la vida en tot el que puguem durant l'emergència sanitària de la COVID-19.
Per això, ens fem ressò de l'article següent, on t'expliquem com instal·lar la plataforma lliure de videoconferència Jitsi, que pot servir d'alternativa a Skype, Webex o Zoom.
Jitsi ofereix una sèrie d'avantatges importants, entre d'altres:
- És un sistema P2P, és a dir, el vídeo i l'àudio de cadascun dels participants es comparteixen per cada node (cada participant), de manera que, com que no està centralitzat en un servidor (o VPS en el nostre cas), evitarem talls en les videoconferències.
- És escalable de manera personalitzada: si amb la configuració inicial del nostre VPS funciona malament, es poden assignar més recursos de manera puntual.
- És compatible amb WebRTC.
- Permet fer videoconferències xifrades.
En aquest tutorial, instal·larem Jitsi en un servidor d'1 vCore, 2GB de RAM i 5GB de disc ssd. Farem servir la imatge de Docker, atès que s'instal·larà en contenidors.
Abans d'instal·lar-lo, et recomanem provar-ne l'ús al web https://meet.jit.si, que permet fer una prova d'aquest servei implementat en un servidor públic.
Crear el VPS
Com hem comentat, triarem la imatge de Docker sobre Ubuntu 18.04, amb 1 vCore, 2GB de RAM i 5GB de SSD.
A més, has d'obrir els ports següents perquè funcioni correctament:
- 80/tcp per al servei web HTTP (redirigirà al 443)
- 443/tcp per a HTTPS
- 4443/tcp per a RTP media sobre TCP
- 10000/udp per a RTP media sobre UDP
Arquitectura de Jitsi
L'esquema de Jitsi és el següent:
Jitsi s'organitza en els components següents:
- Servidor web: la interfície gràfica de Jitsi Meet, basada en Nginx.
- Prosody: el servidor XMPP.
- Jicofo: component principal de XMPP.
- Jitsi Videobridge: el nucli del sistema.
- Jigasi: el SIP, per accedir a la videotrucada per accés telefònic (no el farem servir en aquest article, ja que requereix una subscripció amb una empresa telefònica).
Jitsi fa servir un servidor XMPP per retransmetre, però aquest no serà visible fora del sistema per defecte.
Farem servir Let's Encypt per generar un certificat HTTPS.
Configuracions
Per instal·lar-lo, farem servir Docker Compose per agilitzar el procés. El fitxer de configuració que s'utilitzarà és el següent: https://raw.githubusercontent.com/jitsi/docker-jitsi-meet/master/docker-compose.yml
El fitxer té força variables d'entorn per configurar la instal·lació. En el nostre cas, canviarem les següents:
Bàsiques:
- CONFIG: Directori on desarem la configuració
- TZ: Fus horari
- HTTP_PORT: Port per exposar el servei HTTP
- HTTPS_PORT: Port per exposar el servei HTTPS
- PUBLIC_URL: El web des d'on es podrà accedir a Jitsi
Let's Encrypt:
- ENABLE_LETSENCRYPT: Per generar un certificat HTTPS
- LETSENCRYPT_DOMAIN: El domini per al qual volem generar el certificat
- LETSENCRYPT_EMAIL: Per rebre notificacions sobre el nostre certificat.
Jibri:
- ENABLE_RECORDING: Per permetre que es gravin les videoconferències al disc
És possible modificar molts més paràmetres de la instal·lació; per fer-ho, pots consultar la documentació de les variables d'entorn
La manera més senzilla de personalitzar el fitxer és descarregar-lo des de https://raw.githubusercontent.com/jitsi/docker-jitsi-meet/master/env.example i canviar els valors explicats pels següents:
Configuració bàsica
CONFIG=~/.jitsi-conf
HTTP_PORT=80
HTTPS_PORT=443
TZ=Europe/Madrid
PUBLIC_URL=VPS.clouding.host
Let's Encrypt
ENABLE_LETSENCRYPT=1
LETSENCRYPT_DOMAIN=VPS.clouding.host
LETSENCRYPT_EMAIL=CORREO@DOMINIO.ES
Per rebre correus de Let's Encrypt cal activar el trànsit SMTP.
Instal·lació
Obtenir el Docker compose esmentat anteriorment des de GitHub:
wget https://raw.githubusercontent.com/jitsi/docker-jitsi-meet/master/docker-compose.yml
Descarregar el fitxer env d'exemple i canviar-li el nom a .env:
wget https://raw.githubusercontent.com/jitsi/docker-jitsi-meet/master/env.example
mv env.example .env
Modificar el fitxer .env amb la configuració desitjada; farem servir l'esmentada anteriorment com a exemple.
Crear els directoris necessaris per desar la configuració de Jitsi. Això es farà a la carpeta que s'hagi especificat al .env com a CONFIG, en el nostre cas, a ~/.jitsi-conf:
mkdir -p ~/.jitsi-conf/{web/letsencrypt,transcripts,prosody,jicofo,jvb}
Instal·lar Docker Compose:
apt install docker-compose
Executar Docker Compose:
docker-compose up -d
Avís
Si Docker Compose dona un error que indica que no admet la versió del fitxer docker-compose.yml segurament és perquè has instal·lat Ubuntu 16.04 en comptes d'Ubuntu 18.04, atès que cal com a mínim la versió 1.10.0 de docker-compose (la mínima que admet la versió 3 del fitxer).
Ús
Un cop instal·lat, només cal accedir a l'adreça URL del nostre servidor amb un navegador:
Com es pot veure, la interfície és molt simple: només apareix un camp de text per crear una sala. Les sales són reunions, on els diferents usuaris es poden unir a través de l'enllaç que es mostra en pantalla (https://VPS.clouding.host/NOMBRESALA):
La primera persona que s'hi uneix actua com a moderador i les persones que s'hi van afegint, com a convidats (amb menys permisos).
També és possible establir una contrasenya per a la sala per restringir l'accés als usuaris a qui la donem. També és possible fer servir un mètode d'autenticació i obligar els usuaris a identificar-se (per defecte no cal). Per fer-ho, pots consultar la documentació de les variables d'entorn.
És possible configurar la videoconferència amb opcions com ara modificar la qualitat de vídeo o fins i tot retransmetre-la en directe a través de YouTube a les opcions de configuració de la sala:
Com s'ha vist, Jitsi és una alternativa senzilla i potent a altres serveis de videoconferència al núvol, força personalitzable i independent de servidors de tercers.
L'autor d'aquest article és David Población, col·laborador habitual de Clouding.