Por qué abandonar Plex ahora
Plex se posicionó durante mucho tiempo como el estándar de facto para los servidores multimedia personales. El modelo freemium parecía razonable: el servidor local funcionaba de forma gratuita, y las funciones avanzadas como el streaming remoto o las descargas sin conexión estaban reservadas para los suscriptores o los poseedores del Lifetime Pass.
En julio de 2026, el precio del Lifetime Pass fue revisado al alza hasta los 749 $. Simultáneamente, el streaming remoto — la capacidad de ver sus propios archivos desde otra red — pasó a estar detrás de este muro de pago. Un usuario que había configurado su servidor Plex para acceder a su biblioteca mientras viajaba ya no puede hacerlo sin pagar.
Este cambio revela una dependencia estructural: aunque sus archivos permanezcan en su propio VPS, las funciones que hacen utilizable el acceso remoto están controladas por un servicio centralizado. Jellyfin se desarrolla bajo la licencia GPL-2.0, sin cuenta obligatoria, sin servidor de retransmisión de terceros, y sin ninguna función bloqueada por pago.
Lo que Jellyfin ofrece frente a Plex
- Sin cuenta obligatoria — el servidor Jellyfin funciona por completo sin crear una cuenta en un servicio de terceros, ni localmente ni de forma remota
- Streaming remoto sin suscripción — el acceso desde fuera de su red local es una función básica, no una opción de pago
- Licencia GPL-2.0 — el código fuente es auditable; el proyecto no puede ser adquirido o cerrado sin que la comunidad pueda bifurcarlo
- Compatibilidad con los mismos clientes — Infuse, Jellyfin for Android TV, Swiftfin (iOS) y los clientes web cubren los mismos casos de uso que Plex
- Sin telemetría por defecto — Jellyfin no envía datos de uso a un servicio central, al contrario que Plex, que envía estadísticas de reproducción
- Metadatos de las mismas fuentes — Jellyfin utiliza TheMovieDB y TheTVDB al igual que Plex; sus bibliotecas se reconstruirán con los mismos pósters y las mismas fichas
- Transcodificación por hardware en VPS — VAAPI, NVENC y QuickSync son compatibles siempre que el procesador o la tarjeta gráfica del VPS los exponga
Requisitos previos antes de comenzar
Esta guía asume que dispone de un VPS con Linux (se recomiendan Debian 12 o Ubuntu 22.04), acceso root por SSH, y que sus archivos multimedia ya están almacenados en este servidor o montados desde almacenamiento en red. Prevea al menos 2 vCPU y 2 GB de RAM para uso individual; para varios usuarios simultáneos con transcodificación, 4 vCPU y 4 GB son más adecuados.
Deben estar instalados Docker y Docker Compose. Si aún no es así, el comando de instalación oficial funciona en ambas distribuciones. Se necesita un nombre de dominio que apunte a la IP de su VPS para exponer Jellyfin a través de HTTPS — sin él, algunos clientes se niegan a conectarse o muestran advertencias de seguridad.
Mantenga su instancia de Plex en funcionamiento hasta el final de la migración: necesitará verificar la estructura de sus bibliotecas y anotar las rutas exactas a sus carpetas multimedia.
Migración paso a paso
Anotar la estructura de sus bibliotecas Plex
Abra la interfaz web de Plex, vaya a Ajustes → Bibliotecas y anote para cada biblioteca: su nombre (Películas, Series, Música...) y la ruta o rutas de carpeta asociadas. Estas son las mismas rutas que declarará en Jellyfin — no es necesario mover ningún archivo.
Anote también si alguna biblioteca apunta a carpetas montadas en NFS o CIFS: estos montajes deben estar activos al iniciar Jellyfin para que el análisis inicial tenga éxito.
Crear los directorios de configuración de Jellyfin
Conéctese a su VPS por SSH y cree los directorios de trabajo:
Estas dos carpetas contendrán respectivamente la base de datos de Jellyfin (cuentas, preferencias, historial de reproducción) y la caché de transcodificación. Sus medios permanecen en su ubicación actual — no los mueva.
Escribir el archivo Docker Compose
Cree
/opt/jellyfin/docker-compose.ymlcon el siguiente contenido, adaptando/mnt/mediaa la ruta real de sus archivos:El indicador
:ro(solo lectura) en el volumen de medios es una buena práctica: Jellyfin nunca necesita escribir en sus archivos. Exponer el puerto solo en127.0.0.1evita que el servicio sea directamente accesible sin TLS — el proxy inverso gestionará la exposición pública.Iniciar Jellyfin y crear la cuenta de administrador
Inicie el contenedor:
Abra
http://su-ip:8096en un navegador desde su máquina local (mediante túnel SSH si es necesario). El asistente le pide que elija un idioma, que cree una cuenta de administrador local — no se requiere dirección de correo electrónico externa ni cuenta de Jellyfin — y luego que declare sus bibliotecas. Apunte exactamente a las mismas rutas anotadas en el paso 1.Configurar el proxy inverso HTTPS
Para un acceso remoto seguro, necesita un proxy inverso que termine TLS y reenvíe las solicitudes a Jellyfin en el puerto 8096. Con nginx, cree
/etc/nginx/sites-available/jellyfin:Active el sitio y recargue nginx. Obtenga un certificado Let's Encrypt con
certbot --nginx -d media.yourdomain.com. Luego vuelva a los ajustes de Jellyfin (Panel de control → Red) para declarar la URL públicahttps://media.yourdomain.com.Detener Plex y verificar la migración
Una vez que Jellyfin responde correctamente desde el exterior y sus bibliotecas están analizadas, detenga Plex. En un despliegue Docker:
Verifique que Jellyfin resuelve los metadatos correctamente en algunos títulos: pósters presentes, sinopsis, fecha de estreno. Si los archivos permanecen sin metadatos, compruebe su nomenclatura — Jellyfin sigue la convención
Título (Año).extpara películas ySerie/Temporada N/Título S0NE0N.extpara series. Hacer clic en «Analizar archivos de biblioteca» fuerza un nuevo análisis.
Crear cuentas de usuario locales para su familia o amigos
Jellyfin admite múltiples cuentas de usuario, cada una con sus propias bibliotecas visibles, historial de reproducción y preferencias de calidad. Cree una cuenta por persona en Panel de control → Usuarios: ninguna de estas cuentas requiere dirección de correo electrónico ni validación externa. Cada usuario instala la aplicación Jellyfin en su televisor o teléfono, introduce la URL de su servidor y sus credenciales locales — eso es todo.
Plex vs Jellyfin: funciones clave tras el muro de pago de julio de 2026
Desplace la tabla
| Función | Plex (nivel gratuito) | Jellyfin |
|---|---|---|
| Streaming local (red local) | Incluido | Incluido |
| Streaming remoto (fuera de la red local) | Lifetime Pass de 749 $ requerido | Incluido sin coste adicional |
| Cuenta obligatoria | Sí (Plex.tv) | No |
| Licencia | Propietaria | GPL-2.0 (código abierto) |
| Descargas sin conexión | Lifetime Pass requerido | Incluido |
| Transcodificación por hardware | Lifetime Pass requerido para algunos formatos | Incluido (VAAPI, NVENC, QuickSync) |
| Clientes disponibles | iOS, Android, TV, web | iOS (Swiftfin), Android, TV, web, Infuse |
| Datos enviados a terceros | Estadísticas de reproducción a Plex.tv | Ninguno por defecto |
Resolución de errores comunes
El puerto 8096 no responde después de docker compose up. Compruebe que el contenedor está en ejecución con docker ps y revise los registros con docker logs jellyfin. El error más común es un conflicto de puertos si existía una instalación anterior de Jellyfin.
Los metadatos no se cargan. El análisis inicial puede tardar entre diez minutos y varias horas según el tamaño de la biblioteca. Supervise el progreso en Panel de control → Actividad. Si los archivos permanecen sin pósters después de varias horas, el problema es casi siempre la nomenclatura de los archivos: renombre según la convención y relance un análisis.
El acceso remoto falla mientras el servidor responde localmente. Compruebe tres puntos en orden: el cortafuegos permite el puerto 443 (ufw allow 443), el DNS apunta a la IP correcta del VPS, y la variable JELLYFIN_PublishedServerUrl en Docker Compose coincide exactamente con la URL declarada en los ajustes de red de Jellyfin.
La transcodificación por CPU se satura al 100%. Sin aceleración por hardware, un único flujo 4K puede saturar varios núcleos. Active VAAPI si su procesador lo admite: en Panel de control → Reproducción, seleccione «Video Acceleration API (VAAPI)» y asigne el dispositivo /dev/dri/renderD128 en su archivo Compose. Anime también a sus usuarios a activar la reproducción directa en los ajustes de su cliente cuando el ancho de banda lo permita.
Los pasos anteriores cubren un despliegue estándar en Debian o Ubuntu con Docker. Si utiliza una distribución diferente o un gestor de contenedores distinto (Podman, por ejemplo), la lógica sigue siendo la misma — solo cambian los comandos de instalación de Docker. La documentación oficial de Jellyfin (docs.jellyfin.org) mantiene guías de instalación para cada entorno, incluidos los paquetes nativos de Debian y las imágenes oficiales de Docker.
Ir más allá con su servidor Jellyfin
Una vez que Jellyfin sea estable, merece la pena explorar algunas extensiones. El complemento Jellyseerr (una bifurcación de Overseerr) añade una interfaz de solicitud de contenido: sus usuarios envían lo que quieren ver, y usted puede aprobar las solicitudes desde un panel centralizado.
Para colecciones musicales, el complemento Musicbrainz enriquece los metadatos mucho más allá de las portadas: etiquetas de género, fechas de lanzamiento, artistas relacionados. La reproducción en altavoces conectados es posible a través del complemento DLNA integrado o mediante Chromecast desde la aplicación web.
Por último, si aloja otros servicios en el mismo VPS, Jellyfin se integra de forma natural en una pila Docker multicontenedor con su propia red interna — nunca expone su puerto directamente; solo el proxy inverso es visible desde el exterior. Se trata de una arquitectura limpia que se adapta tanto al uso individual como a una docena de usuarios.