lunes, 12 de febrero de 2024

Despliega tu servidor multimedia casero con Jellyfin + Portainer + Docker


Jellyfin es un sistema multimedia de software libre que le permite controlar la gestión y la transmisión de sus medios. Es una alternativa a los propietarios Emby y Plex, para proporcionar medios desde un servidor dedicado a los dispositivos del usuario final a través de múltiples aplicaciones. Jellyfin desciende de la versión 3.5.2 de Emby y se ha portado al .NET Core Framework para permitir soporte multiplataforma casi completo.

 

Hoy vamos a ver como desplegar un contenedor Docker con Jellyfin con el que podremos tener nuestro servidor multimedia online totalmente accesible desde cualquier sitio o cualquier dispositivo. 

 Jellyfin se puede desplegar por terminal con Podman y se podría también implementar como servicio systemd, e incluso se puede configurar para que aproveche las características de aceleración  de hardware de nuestra gráfica; pero yo voy a hacer un despliegue simple con Portainer y os redirijo a la documentación de Jellyfin si quieren algo mas complejo.  Asi pues, empezamos.

 

Despliegue en Portainer.

Tras logearnos en Portainer vamos al menú para crear contenedores y vamos rellenando los formularios: 




  • Le ponemos nombre al contenedor.
  • Ponemos el nombre de la imagen, en este caso jellyfin/jellyfin:latest 
  • Podriamos configurar el control de acceso aunque no es necesario porque podremos crear usuarios luego para el servicio.

En los ajustes avanzados del contenedor:



Configuramos un mapeo de volúmenes, en mi caso he creado con anterioridad un volúmen (en el menú de Volúmenes de Portainer) donde he dejado algunas pelis que tenía por ahi. 

Podéis pasarlos usando la terminal por ejemplo; o yo en mi caso, he usado una sesión de escritorio remoto para conectarme a un contenedor ubuntu con este volumen mapeado (hice un vídeo sobre esto hace poco )




 En la red elegimos el interfaz “host” y así no necesitamos mapear puertos.

 Podríamos darle un "hostname" al server e incluso incluirlo en dominio, para mas comodidad a la hora de acceder a él.



Politica de reinicio siempre uso “on failure”, pero ustedes usen la que mas les convenga.


Se puede afinar mas la configuración avanzada del contenedor para que se ajuste mejor a nuestras necesidades, pero en principio con esto ya podría levantar; hacemos clic en “Deploy the container” y esperamos a que arranque. Le cuesta un poco arrancar la primera vez así que paciencia.




Cuando este el banner en verde ya podemos acceder al server. Accedemos con la dirección ip y por el puerto, si tenéis algun dominio local funcionando; pues con el dominio y el puerto, el puerto es 8096.

 

Primer arranque.

 

Tras acceder al contenedor por http://ip-del-servidor:8096/, accederemos a un menú de configuración post-inicio, solo sale la primera vez que nos conectamos pero luego podremos reconfigurar estos menús si queremos. De hecho solo les voy a decir las que me han parecido “obligatorias” el resto lo pueden configurar a su gusto sin pensárselo mucho.

 


 

Lo primero que tenemos que seleccionar es el idioma y luego creamos un usuario con su correspondiente contraseña.

 


 

 Una de las características de Jellyfin es que podemos descargar subtítulos e incluso carátulas para los archivos de video o audio. Podemos configurar esto ahora para que en la primera carga haga una primera búsqueda o hacer luego mas adelante. También tenemos que elegir donde queremos que se monte el volumen que contiene los archivos. Os lo señalo en la foto que a mi la primera vez me costo verlo.

 


 

 


 

Tenemos que hacer clic en el checkbox “Permitir conexiones remotas …” que no se nos olvide.

 


 

Y bueno con todo terminado ya podemos logearnos en Jellyfin y acceder a nuestro catálogo de películas.



Como veis se ve como la típica plataforma de streaming de películas, además Jellyfin nos conseguirá las carátulas y los subtítulos en el caso de los vídeos, en base a los metadatos que obtenga de los archivos; si no encuentra nada, entonces sacará un frame para ilustrar el menú. Del mismo modo podemos añadir nosotros los datos, carátulas o subtítulos.


La verdad es que se ve bien verdad?


Ahora podemos hacer una visita al panel de control de Jellyfin con muchísimas opciones para configurar, no voy a entrar en todas porque el post sería eterna así que os dejo una lista de alguna de las “virtudes” de Jellyfin.

  • Administración de usuarios, además con cada login de usuario se pueden conectar varios; algo así como cuando en Netflix se podían compartir claves.
  • Configuración completa de la red del server, se puede configurar un puerto https (hace falta un certificado, obvio), personalizar la url o forzar https.
  • Televisión en vivo y DVR(Grabador digital) Jellyfin le permite ver y grabar televisión en vivo utilizando hardware compatible. El primer paso es configurar un sintonizador para enviar datos a Jellyfin y luego configurar una fuente para los datos de la guía de programas.
  • Control de los usuarios y dispositivos que se conectan.
  • Función DLNA. Detectar equipos dentro de su red y ofrecer la posibilidad de controlarlos remotamente. Esto es la bomba y las posibilidades son infinitas.


 


El reproductor de medios. 

 

La calidad y los codecs admitidos por el reproductor dependen mucho del dispositivo desde donde nos conectemos al servidor Jellyfin, así que os recomiendo que os paséis por la ayuda de Jellyfin para consultar las compatibilidades; pero si queréis/necesitáis compatibilidad completa podéis acceder a Jellyfin  desde Kodi aprovechando que se puede contenerizar.
Yo lo uso normalmente desde Firefox, y bueno, se dejar ver bastante bien y también he probado versión de escritorio para Debian/Ubuntu que viene para flatpak, y es el mismo reproductor que en el navegador y la calidad parece la misma. ¿Quizás se ve un poco oscura la imagen?  Lo que si es mejor la fluidez y la respuesta, mucho mejor en la app de escritorio.

 


 

De todas formas hay varios reproductores oficiales de Jellyfin para la mayoría de sistemas actuales: IOS, Kodi, Android, Firetv, Android TV, Roku y AppleTV. Así que yo creo que las compatibilidades no deberían ser ningún problema.

 


 

Y bueno para terminar, deciros que tenéis que probar Jellyfin, yo os lo he traído con portainer pero hay varias versiones para instalar en todos los principarles SO y es un programa de Código abierto totalmente gratuito y mantenido por una comunidad, a la que pueden unirse y/o contribuir con el proyecto. En un mundo de software propietario esto suena como música para mis oídos y es una garantía de seguridad y buen hacer.

 

No hay comentarios:

Publicar un comentario