Skip to content

Evert Arias

Jitsi-Meet en la red local

Jitsi-Meet, Red2 min read

Jitsi Meet en la red local

Jitsi es una aplicación de videoconferencia, VoIP, y mensajería instantánea con aplicaciones nativas para iOS y Android, y con soporte para Windows, Linux y Mac OS X a través de la web. Al ser de código abierto brida capacidades de videoconferencia seguras, fáciles de usar y fáciles de auto-hospedar.

En este tutorial veremos el auto-hospedaje de Jitsi en la red local completamente offline.

Requisitos

Instalar la imagen oficial de Jitsi-Meet en Docker

  1. Descargue y extraiga la última versión. NO clone el repositorio de git.

  2. Cree un archivo .env copiando env.example y ajuste los siguientes valores:

    VariableValor por defectoNuevo valor
    HTTP_PORT800080 **
    HTTPS_PORT8443443 **
    PUBLIC_URLhttps://meet.example.comURL de su dominio, ej: https://v.je
    DOCKER_HOST_ADDRESS192.168.1.1IP de la maquina anfitrión donde se esta ejecutando Docker

    ** Se pueden dejar los puertos por defecto si planeamos utilizar un reverse proxy como Traefik.

  3. Establezca contraseñas seguras en las opciones de la sección de seguridad del archivo .env ejecutando el siguiente script bash:

  4. Cree los directorios CONFIG necesarios

  5. Ejecute docker-compose up -d

A este punto ya se puede acceder a la interfaz de usuario web en https: // localhost.

Al acceder, el navegador dirá que su conexión no es segura y mostrará el error NET::ERR_CERT_COMMON_NAME_INVALID debido a que el servidor web de Jitsi-Meet no esta usando un certificado SSL valido y por tanto el navegador no podrá iniciar la aplicación web ni tampoco las aplicaciones móviles podrán acceder.

Para el correcto funcionamiento del servidor, debemos usar un nombre de dominio con su certificado SSL. Por suerte podemos lograrlo en nuestra red local, sin necesidad de exponer nuestro servidor a Internet.

DNS

Podemos asociar un nombre de dominio al IP de nuestro servidor Jitsi-Meet modificando el archivo hosts de nuestro router o utilizando un servidor DNS como Pi-hole, si disponemos de un Raspberry pi en nuestra red. Una vez que el IP del servidor este asociado a un nombre de dominio debemos obtener un certificado SSL para el mismo.

Certificado SSL

Para un dominio de nuestra propiedad, podemos obtener un certificado SSL con Let's Encrypt y Certbot, que se encuentran implícitos en Jitsi-Meet. Pero en este caso, como nuestro servidor no se encuentra expuesto a Internet, tendremos que obtener manualmente el certificado para nuestro dominio y copiarlo en el servidor de Jitsi.

Generar certificado SSL con Certbot

Para poder generar el certificado SSL en nuestro sistema, debemos instalar Certbot siguiendo la guía oficial de instalación para su sistema operativo. A continuación vamos a generar el certificado SSL para nuestro dominio con el siguiente comando:

Si no deseamos pasar por el proceso de obtener el certificado para nuestro dominio, podemos usar el certificado que Tom Butler dejó a disposición en su blog: Guide: Using Let's Encrypt SSL Certificates for a local or network server. Claro, si utilizamos este certificado debemos usar el dominio para el cual se generó: v.je, por tanto el IP de nuestro servidor Jitsi-Meet debe estar asociado al dominio v.je.

Copiar certificado al servidor web

Una vez que tenemos el certificado SSL para nuestro dominio, debemos incluirlo en el servidor web de Jitsi-Meet. Si el certificado lo generamos con Certbot, encontraremos los archivos del certificado en la siguiente ruta: /etc/letsencrypt/live/MY_DOMAIN

Si optamos por utilizar el certificado de Tom Butler o cualquier otro certificado generado manualmente en otro entorno, debemos cambiar la ruta fuente por la ruta del directorio donde se encuentran localizados los archivos del certificado.

Para finalizar, debemos reiniciar el contenedor del servidor web de Jitsi-Meet para que este cargue el nuevo certificado SSL.

Renovar certificado SSL

Los certificados Let's Encrypt tienen una validez de 90 días, durante los cuales se puede renovar en cualquier momento.

Para renovar el certificado, lo primero que debemos hacer es ejecutar el comando de Certbot para renovar el mismo.

Luego copiamos al servidor web los archivos del certificado ya renovado.

Por ultimo debemos reiniciar el contenedor del servidor web de Jitsi-Meet para que este cargue el certificado renovado.

Copyright

MIT © Evert Arias