Configuración de Jellyfin auto aloxado con Traefik
Introducción a Jellyfin
Levo xa un tempo querendo instalar Jellyfin, para utilizalo como centro multimedia. De xeito que funcione como unha biblioteca multimedia para as miñas películas, series e pode que mesmo música. Pero antes de ver como instalalo, imos ver en que consiste esta aplicación.
Jellyfin é unha aplicación de software libre e gratuíto, que nos permite controlar e retransmitir os nosos recursos. Estes recursos poden ser engadidos coma unha ou varias bibliotecas na aplicación. Onde nos permitirá engadir arquivos de tipo video, audio, libros, etc. Tamén poderemos crear usuarios, os cales accederán á aplicación coma se dun Plex, Emby ou outra plataforma se tratara. A ventaxa disto é que a aplicación recordará os contidos que vimos e mesmo en que punto nos quedamos. O cal é moi interesante, por exemplo no caso dos audiolibros. Non é algo que eu utilice, non teño. Pero si pode estar ben, se polo motivo que sexa tes que deixar unha película a medias ou cambiar de dispositivo para deixar libre a televisión ou o computador.
Admite tamén opcións de televisión en directo, supoño que con algunha capturadora. Ou tamén transcodificar os arquivos en tempo real. Vou instalar a aplicación nunha Raspberry, así que isto está descartado, xa que non terei potencia para facer iso. Pero a opción está aí.
Así por riba, outras opcións que inclúe son:
- Control parental
- Limitar o número de sesións activas por usuario
- Limitar o ancho de banda
- Limitar o acceso ás bibliotecas
- Creación de grupos de usuarios
- Xestión de permisos por usuarios (por exemplo permitir descargar ou eliminar contido)
En definitiva é unha aplicación que estaba desexando probar, para dispor dos meus contidos dun xeito centralizado.
Así poís imos ver como instalalo, dun xeito rápido e sinxelo.
Instalación de Jellyfin usando Docker-compose
Como ven sendo habitual instalarei Jellyfin con Docker. Neste caso utilizarei a imaxe oficial,
que teñen publicada en Docker Hub. Ven todo
empaquetado no mesmo contenedor, polo que non indicarei unha versión concreta, se non a
que utilizan como latest que usería jellyfin/jellyfin
.
O docker-compose quedaría do seguinte xeito:
services:
jellyfin:
image: jellyfin/jellyfin
container_name: jellyfin
init: true
hostname: jellyfin
networks:
- proxy
volumes:
- $CONFIG_PATH:/config
- $CACHE_PATH:/cache
- type: bind
source: $MEDIA_PATH
target: /media
environment:
- JELLYFIN_PublishedServerUrl=$URL
restart: unless-stopped
labels:
- "traefik.enable=true"
- "traefik.http.routers.jellyfin.entrypoints=http"
- "traefik.http.routers.jellyfin.rule=Host(`${URL:-localhost}`)"
networks:
proxy:
name: proxy
external: true
Comparado ca configuración doutras aplicacións, está é moi simple.
Ten definido un único servizo, o propio Jellyfin, que utilizará a imaxe que comentamos antes.
Indicamos o nome do contenedor e marcamos o flag init a true. Recordemos que o que fai isto
é que os procesos colguen dun proceso pai. Así no caso de erros, os posibles procesos zombie
que poidan quedar, colgarían deste proceso pai e non habería problema en rematalos.
Indicamos o nome do host e utilizamos a rede proxy, que está definida máis abaixo como externa.
Xa que é a rede que creamos co Traefik, para que este poida redirixir o tráfico a onde toque.
Na parte dos volumes, definimos tres. A ruta á configuración, á cache e aos ficheiros media.
Neste caso en lugar de definilo como un volume normal, indicamos que será un volume enlazado.
Segundo a propia documentación do proxecto isto ten que ser así, para enviar os directorios
dende o host ao contenedor, para que sexa máis doado facer as copias de seguridade e que sexan
manexados por outros programas.
Despois indicamos a URL pola que accederemos e nas etiquetas incluímos a configuración do Traefik.
Indicando que queremos que o servizo sexa detectado, que o acceso será por HTTP e a ruta de acceso.
Ficheiro .env.dist
CONFIG_PATH: a ruta a onde temos a configuración
CACHE_PATH: a ruta que queremos que funcione como caché
MEDIA_PATH: onde queremos aloxar os arquivos. Tan só utilizo unha, pero Jellyfin permite engadir
varias rutas.
URL: a URL para a aplicación
Jellyfin
A primeira vez que accedemos vainos pedir crear o usuario Administrador, paso necesario para poder engadir bibliotecas, usuarios, etc.
Unha vez creamos o usuario root e cando accedemos á web, este é o formulario de acceso:
Unha vez dentro veremos a pantalla do dashboard ou o listado de contidos, no caso de que xa engadísemos algún.
Non nos centraremos nesta parte agora, xa que imos ver primeiro que opcións temos para xestionar.
Dashboard
Para isto dende o dashboard, podemos acceder no menú das raias arriba a esquerda, temos varias opcións.
Dashboard
Nada máis entrar, ou se volvemos pulsar en dashboard, podemos ver un resumo da nosa instancia. Nome do servidor, versións do server, web ou a build. Podemos mesmo reiniciar ou apagar o servizo. A modo de rexistro podemos ver tamén a actividade recente, as alertas e as rutas que manexamos.
Xeral
Aquí poderemos indicar o nome do noso servidor, o idioma preferido de visualización ou mudar rutas. Podemos tamén personalizar a mensaxe amosada no login ou os estilos CSS.
Usuarios
No menú de usuarios poderemos dar de alta ou editar usuarios existentes, así como mudar os contrasinais.
Entre as opcións das que dispomos ao editar usuarios está darlles permisos para xestionar o servidor,
permitir eliminar ou descargar contidos, así como a qué bibliotecas poden acceder.
Para protexer o servidor tamén podemos pedir que o usuario se bloquee tras errar un número de veces,
por defecto ven desactivado. Podemos limitar o número de sesións simultáneas ou dende que
dispositivos admitimos conexións. Por exemplo podemos permitir o que se ve nesta captura:
Para os máis cativos, dispomos tamén de configuración para o control parental. Que nos permitirá limitar o acceso por calificación por idades, tipo de contidos a bloquear, por etiquetas ou mesmo indicar franxas horarias nas que o usuario pode utilizar a aplicación. Ideal se queremos limitar os horarios. O control horario pode definirse por días soltos, todo-los días, días de semana ou fin de semana.
Bibliotecas
Esta é a sección principal, dende o meu punto de vista, da aplicación. Xa que sen as bibliotecas de
contidos, o resto non tería sentido. Por defecto cando accedemos non temos nada máis aló da opción de
Engadir biblioteca multimedia.
O primeiro que se nos da a escoller, cando imos engadir, é o tipo de contido. Esta selección é importante,
xa que marca como se comportará a biblioteca despois.
Por exemplo se escollemos Mixed Movies and Shows, isto permitirá amosar os contidos cunha presentación específica. Doutro xeito se marcamos por exemplo o cartafol onde temos toda-las series, os contidos aparecerán todos ao mesmo nivel, sen separar por serie. Teremos a opción de marcar a vista por carpetas, pero se escollemos a opción de Mixed Movies and Shows e nomeamos as carpetas seguindo a nomenclatura do proxecto, teremos unha presentación co poster oficial, resumo, intérpretes, etc. Estes datos serán buscados en provedores online, que poderemos escoller na biblioteca, como TheMovieDB ou The Open Movie Database.
Unha vez escollido o tipo e contido, podemos darlle nome a biblioteca. Isto será un texto libre. As outras opcións, de xeito resumido para non alargar isto serán os cartafoles que formarán parte desta biblioteca, poden estar en distintos orixes. O idioma preferido para a descarga, así como os paises. Permite marcar que se amose o título que figura nos metadatos en troques do nome do ficheiro. Tipos de subtitulos, engadir os ficheiros a coleccións cando compartan nome, etc.
Entre as opcións de visualización podemos amosar os cartafoles, como indiquei antes, agrupar os especiais cas tempadas nas que foron emitidos. Por exemplo as OVAs de anime. Agrupar en coleccións, que aparecerán ao mesmo nivel que as bibliotecas e permitir suxerencias exteriores, coma trailers e programas en vivo que poden ser fornecidos dende internet.
Playback
Nas opcións de playback, temos o transcoding, que non entrarei a explicar. Como dixen a Raspberry non
ten potencia para facer transcodificación en tempo real.
Pero temos tamén a opción de Retomar, que é a que nos permitirá continuar nun punto a reproducción
se polo que for tivésemos que parar a reproducción. Isto vai a nivel de conta, polo que podemos retomar
o contido dende outro dispositivo no que teñamos iniciada a sesión. Aquí poderemos configurar cal é o
porcentaxe mínimo para retomar a reproducción, por defecto é un cinco por cento. En caso de levar menos,
volveremos comezar dende o principio. Tamén o tope, neste caso por defecto o noventa por cento. Superado
isto enténdese que só quedan os créditos e o contido finalizou. Todos estes valores son editables.
No apartado de Transmisión, podemos limitar a taxa de transferencia e impedir que un usuario cope todo o ancho de banda. Desgraciadamente, isto tamén require transcodificar o contido para baixar parámetros como o bitrate. O mesmo ocorre co Trickplay, que permite cousas como activar a aceleración por hardware.
Actividade
Rexistro de actividade do servidor. Aquí podemos ver quen está en liña, cando e dende que dispositivo e que acción está realizando. Por exemplo iniciar sesión, finalizar sesión, reproducir ou deter un contido, etc.
Televisión en directo
Non teño moito que comentar, xa que non capturo televisión en directo. Pero admitiría descargar as guías de contidos ou gravar a programación.
Plugins
Hai unha sección tamén de plugins, pero non os explorei. De momento co que trae a aplicación teño suficiente.
Avanzado
Non me puxen a explorar as opcións avanzadas, polo que tampouco vou comentar moito. Dicir simplemente que inclúe cousas como Networking para configurar portos, HTTPS, firewalls, etc. Claves da API para integracións, logs e tarefas programadas.
Pantalla de inicio de usuario
Non teño contidos todavía para amosar a pantalla principal dun usuario, así que o que vemos é
a imaxe que o proxecto Jellyfin amosa no seu sitio.
Conclusión
Como podemos ver está é unha aplicación excelente para xestionar os nosos contidos e poder compartilos, con familia e amigos. Xa sexan series, películas, libros, etc. Ademais é doada de xestionar e instalar. E ter a posibilidade crear diferentes usuarios ou mesmo do control parental, fai que sexa ideal cando temos pequenos na familia. Xa que poderán seguir vendo as súas películas ou debuxos, dende calquer sitio no que teñan acceso á nosa instancia. Por exemplo na nosa casa, ou na dos avós. Ou calquer lado, se temos este servizo publicado en internet.
Como último apunte. Para facilitar máis as cousas ten moreas de clientes para conectar. Só por resaltar, temos clientes para Android, iOS, Kodi, etc. Máis información dos clientes aquí.
Bibliografía
Artigo de Jellyfin na Wikipedia: https://es.wikipedia.org/wiki/Jellyfin
Sitio oficial Jellyfin: https://jellyfin.org/
Documentación de Jellyfin: https://jellyfin.org/docs/
Clientes: https://jellyfin.org/downloads/clients/
Artigos Relacionados:
- Actualizar Invidious despois de que me dese erro bastante tempo
- Instalación de News en Nextcloud
- Instalación de GPodder Sync en Nextcloud
- Actualizar Nextcloud en Docker
- Configuración de Calibre web auto aloxado con Traefik
- Copias de seguridade con Borgbackup
- Controlar la temperatura del equipo con bash y telegram
- Instalación de Nextcloud
- Instalación de Pi-hole
- Configuración de Invidious auto aloxado con Traefik
- Configuración de SearXNG auto aloxado con Traefik
- Cómo instalar Traefik con docker
- Instalando docker en modo rootless en Debian
- Instalando Jekyll con Docker