// DevOps
Cómo instalar Jitsi Meet en tu servidor usando Docker
Publicado el 22.09.2026
Jitsi Meet — un sistema de videoconferencias de código abierto que se puede desplegar en su propio servidor. Es más sencillo hacerlo con Docker: el proyecto publica imágenes listas y archivos Compose. A continuación — instalación según la guía oficial docker-jitsi-meet. En qué se diferencia un Jitsi propio de Google Meet y cuándo tiene sentido, se explica en el artículo «Jitsi Meet contra Google Meet».
Paso 1: Preparación
Necesitará:
- un servidor con Linux, por ejemplo Ubuntu;
- un nombre de dominio con un registro A apuntando a la dirección IP del servidor, por ejemplo
meet.example.com; - Docker y el complemento Docker Compose.
Paso 2: Descarga del release
La guía exige descargar el archivo del último release, y no clonar el repositorio: en la rama de desarrollo hay imágenes de prueba.
wget $(wget -q -O - https://api.github.com/repos/jitsi/docker-jitsi-meet/releases/latest | grep zip | cut -d\" -f4)
unzip <nombre-del-archivo-descargado>.zip
cd <directorio-del-archivo>El nombre del archivo y del directorio depende de la versión del release, así que compruébelos después de la descarga con ls.
Paso 3: Configuración de .env
Cree el archivo a partir del ejemplo y genere contraseñas para las cuentas de servicio:
bashcp env.example .env ./gen-passwords.shIndique la dirección en la que se abrirá Jitsi. La variable se llama
PUBLIC_URL(la variableJITSI_DOMAIN, que puede encontrarse en instrucciones antiguas, no está enenv.example):dotenvPUBLIC_URL=https://meet.example.comPor defecto la interfaz web escucha los puertos
8000(HTTP) y8443(HTTPS) — esto está pensado para funcionar detrás de un proxy inverso. Si Jitsi va a aceptar HTTPS por sí mismo y obtener el certificado Let’s Encrypt, cambie los puertos a los estándar y habilite el certificado:dotenvHTTP_PORT=80 HTTPS_PORT=443 ENABLE_HTTP_REDIRECT=1 ENABLE_LETSENCRYPT=1 LETSENCRYPT_DOMAIN=meet.example.com LETSENCRYPT_EMAIL=admin@example.comSi ya hay un nginx delante de Jitsi, no cambie los puertos y no active Let’s Encrypt en Jitsi — la opción con proxy inverso se describe en el artículo «Jitsi Meet (Docker) con Nginx como proxy inverso».
Si el servidor está detrás de NAT, indique su dirección externa para el videobridge, de lo contrario los participantes desde Internet no recibirán vídeo:
dotenvJVB_ADVERTISE_IPS=203.0.113.10Cree los directorios de configuración. Desde el release
stable-11146los contenedores funcionan con un usuario sin privilegios (uid 1000) y un sistema de archivos de solo lectura, por lo que la estructura de directorios ha cambiado y los directoriosstorageytmpdeben ser accesibles en escritura:bashmkdir -p ~/.jitsi-meet-cfg/{web,prosody/config,prosody/prosody-plugins-custom,jicofo,jvb,jigasi,jibri,transcriber} mkdir -p ~/.jitsi-meet-cfg/storage/{jibri,prosody,transcripts,web} mkdir -p ~/.jitsi-meet-cfg/tmp/{web-crontabs,web-load-test} chmod 777 ~/.jitsi-meet-cfg/storage/{jibri,prosody,transcripts,web} chmod 777 ~/.jitsi-meet-cfg/tmp/{web-crontabs,web-load-test}Si no crea estos directorios de antemano, los contenedores que los necesiten no arrancarán y mostrarán un error.
Paso 4: Inicio
Inicio básico
docker compose up -d
docker compose psComponentes adicionales
Pasarela SIP (Jigasi):
bashdocker compose -f docker-compose.yml -f jigasi.yml up -dGrabación y transmisiones (Jibri):
bashdocker compose -f docker-compose.yml -f jibri.yml up -dEdición colaborativa (Etherpad):
bashdocker compose -f docker-compose.yml -f etherpad.yml up -d
Se pueden combinar archivos, por ejemplo -f docker-compose.yml -f jigasi.yml -f jibri.yml. Cómo funciona el flujo completo de grabación de reuniones se explica en el artículo «Flujo completo de grabación de reuniones en Jitsi Meet».
Paso 5: Verificación
Abra
https://meet.example.com— debería abrirse la interfaz de Jitsi Meet. Debe usar HTTPS: por HTTP el navegador no permitirá acceso a la cámara ni al micrófono.Abra los puertos en el cortafuegos:
80/tcpy443/tcp— interfaz web y emisión del certificado;10000/udp— flujos multimedia del videobridge. Sin él la página se abre, pero los participantes no se verán ni oirán entre sí.
Realice una reunión de prueba con dos participantes desde redes distintas, por ejemplo desde un ordenador y desde un teléfono usando datos móviles.
Por defecto cualquiera que abra la dirección puede crear una sala. Cómo habilitar la autenticación y optimizar el servidor — en el artículo «Jitsi Meet: Configuración de autenticación y optimización del servidor».
Actualización
Descargue el archivo del nuevo release en un directorio separado, traslade su .env allí y compárelo con el nuevo env.example: a veces se añaden o renombrán variables. Luego, en el nuevo directorio:
docker compose pull
docker compose up -dAntes de pasar por la versión stable-11146 cree la nueva estructura de directorios del paso 3 — las versiones antiguas usaban otra.
Resumen
Jitsi Meet en Docker se despliega en media hora: archivo del release, .env con PUBLIC_URL, directorios de configuración y tres puertos abiertos. Los errores más comunes — no indicar PUBLIC_URL, olvidar el puerto UDP 10000 y no establecer la dirección externa del videobridge en un servidor detrás de NAT.
// Reviews
Reseñas relacionadas
Mijaíl es un profesional excelente! Se nota que tiene mucha experiencia. El trabajo se hizo con precisión y a tiempo. Tuvimos que lidiar con algunos inconvenientes por las imperfecciones del proyecto que instalamos en el servidor, pero Mijaíl nos guió atentamente y con criterio sobre qué y cómo hacer. ¡Al final, todo funcionó! Lo recomiendo a quien valore la calidad del trabajo.
Mijaíl es un excelente profesional. Se nota que es una persona con una gran experiencia. El trabajo se realizó de forma clara y dentro del plazo. Hubo que trabajar más debido a las imperfecciones del proyecto que se …
// Contact
¿Necesitas ayuda?
Escríbeme y te ayudaré a resolver el problema
Respondo en un día laborable (03:00-13:00 GMT)
Или оставьте заявку здесь:
// Related