
676 - De Jellyfin a Plex. Tu multimedia perfecto
como tener un perfecto servidor multimedia de la mano de #plex y además estar informado de todo lo que sucede con #tautulli, utilizando #docker en #linux
En el episodio 641 te hablé de Jellyfin, un episodio titulado Crear un stack multimedia con Docker en Linux. El objetivo de este primer episodio era poner las bases para crear todo un stack multimedia con el que tener organizada desde la música, pasando por las fotografías hasta llegar al vídeo, películas y series. Y se quedó ahí, por lo menos en lo que a nuevos episodios se refiere. Esto es así, porque no me he terminado de encontrar cómodo con Jellyfin, y en los últimos días decidí volver a Plex, un software que ya había utilizado en el pasado y que me había dado muy buenos resultados, pero en esta ocasión había decidido decantarme por Jellyfin. Pero como te digo, no me he terminado de encontrar cómodo, y he decidido volver a Plex. Así, en este episodio te cuento mis aventuras y desventuras con Jellyfin y Plex, y cómo he migrado de uno a otro. Pero no solo eso, sino que también te cuento cómo monitorizo Plex con Tautulli.

De Jellyfin a Plex con Tautulli. Tu multimedia perfecto
Un paseo por el pasado
Como te decía en la introducción y te conté en el episodio 641, el objetivo era crear un servidor multimedia, con una serie de piezas dentro del stack que me permitieran gestionar toda mi colección multimedia. Y para ello, me decanté por Jellyfin, un software que me parecía muy completo y que además era libre. Pero, como te decía, no me he terminado de encontrar cómodo con Jellyfin, y he decidido volver a Plex.
Una de las razones principales para decantarme por Jellyfin, es que se trata de un proyecto liberado con licencia GPL v2.0, mientras que la licencia de Plex, que es uno de los servidores multimedia que había estado utilizando hasta el momento, lo cierto es que no sabía cual era su licencia.
He estado utilizando Jellyfin durante al menos cinco meses, y en este tiempo he tenido la oportunidad de trastear con él, y he de decir que me ha gustado, pero no me ha terminado de convencer. Y una de las razones principales es que no he terminado de encontrar la comodidad que necesito para gestionar mi colección de música, películas y series. Lo cierto, es que a pesar de modificar la visualización, no nos hemos terminado de acostumbrar.
¿Por qué Plex?
Como te decía llevo casi seis meses utilizando Jellyfin como servidor multimedia, y en este tiempo, no me he terminado de encontrar. La razón principal, es que hecho en falta determinadas características que actualmente si que están en Plex y que hacen que este último me resulte mucho mas intuitivo de utilizar.
Son todo pequeños detalles, pero detalles que se refieren a la usabilidad del servidor. Por ejemplo, algo típico con lo que nos encontrábamos es que no encontrabamos con facilidad lo último que estabamos viendo. Pero, como te digo, son pequeños detalles. Es como cuando te compras una camisa y no sabes por qué hay algo que no termina de encajar, eso mismo.
Pero hay un asunto que si me tenía preocupado y era el uso del servidor. Actualmente tengo un servidor en casa, un Slimbook One, que me sirve para muchas cosas, entre ellas para tener un servidor multimedia. Este servidor lo tengo en el estudio, con lo que normalmente no lo oigo. Sin embargo, por las tardes, mientras yo estoy en el estudio mi pareja utilizaba Jellyfin, y en esos casos lo oía bufar como si le fuera la vida en ello. Esto desde que he cambiado a Plex ha terminado. Con lo que o bien no tenía correctamente configurado Jellyfin, o bien Plex es mucho mas eficiente en el uso de los recursos.
La instalación de Plex
La realidad es que la instalación de Plex es realmente sencilla. En mi caso, he optado por instalarlo en un contenedor Docker, y para ello he utilizado el siguiente comando,
services:
plex:
container_name: plex
image: lscr.io/linuxserver/plex:latest
restart: unless-stopped
hostname: one
environment:
- PUID=1000
- PGID=1000
- VERSION=docker
- TZ=Europe/Madrid
volumes:
- config:/config
- peliculas:/movies
- series:/tv
network_mode: host
labels:
- traefik.http.services.plex.loadbalancer.server.port=32400
- traefik.http.routers.plex.rule=Host(`plex.one.belcar.corp`)
volumes:
config: {}
transcode: {}
peliculas:
external: true
series:
external: true
networks:
proxy:
external: true
hookbridge:
external: true
Estuve dando bastantes vueltas al tipo de instalación a realizar de las diferentes opciones que Plex offrece, y al final me decanté por utilizar la de linuxserver, que es una de las opciones que me parecía mas interesante.
La migración
El siguiente problema es como pasar todo el contenido de Jellyfin a Plex. Sin embargo, esto ha sido mucho mas fácil de lo que me podía pensar. Simplemente he puesto los volúmenes de Jellyfin en Plex, y Plex ha sido capaz de leer todo el contenido sin problemas.
Sobre los volúmenes
Quería hacer un inciso sobre esto de los volúmenes. Desde hace ya un tiempo que estoy utilizando los volúmenes de Docker en lugar de utilizar enlaces de montaje (volúmenes bind), y lo cierto es que estoy muy satisfecho de su desempeño, sobre todo porque me quita el problema de los permisos.
Los volúmenes son el mecanismo preferido para persistir datos generados y utilizados por los contenedores de Docker. Mientras que los enlaces de montaje (bind mounts) dependen de la estructura de directorios y del sistema operativo de la máquina anfitriona, los volúmenes son completamente gestionados por Docker. Los volúmenes son una buena opción en los siguientes casos de uso:
- Los volúmenes son más fáciles de respaldar o migrar que los enlaces de montaje.
- Puedes gestionar los volúmenes usando los comandos de la CLI de Docker o la API de Docker.
- Los volúmenes funcionan tanto en contenedores Linux como en Windows.
- Los volúmenes pueden compartirse de manera más segura entre varios contenedores.
- Los volúmenes nuevos pueden ser pre-poblados con contenido por un contenedor o una construcción (build).
- Cuando tu aplicación requiere un alto rendimiento de entrada/salida (I/O).
TauTulli
Tautulli es una herramienta de monitorización para servidores Plex. Permite hacer un seguimiento detallado del uso del servidor, incluyendo qué contenido se ha visto, quién lo ha reproducido, en qué dispositivo y desde qué ubicación. También ofrece notificaciones, informes personalizados y estadísticas avanzadas sobre la actividad del servidor. Tautulli ofrece un conjunto de herramientas avanzadas para monitorear y gestionar un servidor Plex, proporcionando estadísticas detalladas, notificaciones y control sobre el contenido.
Características
Algunas de las características de Tautulli son las siguientes,
- Monitorización y Estadísticas
- Registro de reproducciones con información detallada (usuario, dispositivo, calidad, ubicación, duración, etc.).
- Estadísticas sobre los contenidos más vistos, usuarios más activos y tendencias de reproducción.
- Historial de visualización con gráficos y resúmenes de actividad.
- Uso en tiempo real con información sobre lo que se está reproduciendo en cada momento.
- Notificaciones y Alertas
- Envío de alertas cuando se detectan nuevas reproducciones o eventos específicos.
- Integración con Telegram, Discord, correo electrónico, Slack y otros servicios.
- Notificaciones personalizadas según usuario, contenido o tipo de evento.
- Informes y Automatización
- Creación de informes personalizados con métricas detalladas sobre el uso de Plex.
- Posibilidad de programar informes periódicos para administradores o usuarios.
- Acciones automáticas basadas en eventos, como apagar el servidor si nadie está viendo contenido.
- Gestión de Usuarios
- Supervisión del comportamiento de los usuarios en Plex.
- Control sobre la calidad de transmisión utilizada por cada usuario.
- Restricciones de acceso según parámetros específicos.
- Integración y Control Avanzado
- Compatibilidad con Docker para una implementación sencilla.
- API para acceder a los datos y automatizar tareas.
- Interfaz web intuitiva y accesible desde cualquier dispositivo.
Instalación
services:
tautulli:
image: ghcr.io/tautulli/tautulli
container_name: tautulli
init: true
restart: unless-stopped
volumes:
- tautulli:/config
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Madrid
ports:
- 8181:8181
networks:
- proxy
- hookbridge
labels:
- traefik.http.services.tautulli.loadbalancer.server.port=8181
- traefik.http.routers.tautulli.rule=Host(`tautulli.one.micasa.corp`)
volumes:
tautulli: {}
networks:
proxy:
external: true
hookbridge:
external: true
Conclusión
Voy a probar esta nueva configuración durante los próximos meses y si todo cuadra, te contaré la experiencia y seguiré con el stack multimedia para completarlo.
Una pena que recomiendes cambiar de un programa de software libre a uno privativo, no le veo sentido. Yo utilizo Jellyfin desde hace años y me encanta su comunidad, desarrollo y ¡licencia! Sé que no soy el producto ni van a tratar de recopilar mis datos o monetizar el uso de ninguna manera. Respecto al tema del rendimiento, tiene pinta de que no se ha activado correctamente el transcoding para que la GPU sea quien gestione la decodificación de los códecs, y está usando CPU.
Hola Nacho,
Mi objetivo es contar mi experiencia, no tanto recomendar uno u otro software. De echo la razón de contarlo es porque, como explico, voy a continuar con una serie de servicios Open Source, y están relacionados con el reproductor, con lo que definitivamente no tendría sentido que no explicara la razón de cambiar de uno a otro.
Pero como digo, lo mejor es probar el software y adoptar el que mejor se adapta a tus necesidades.
Saludos y muchas gracias por tu comentario.