Ir al contenido principal

TrueNAS SCALE

Traducción Beta No Oficial

Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →

Jellyfin puede instalarse en TrueNAS SCALE de iX-systems.

Este documento está escrito para TrueNAS SCALE v24.10.0 (Electric Eel) o superior.

Te recomendamos revisar la documentación de Apps de TrueNAS si no has configurado aplicaciones previamente en tu sistema.

  • Nota: TrueNAS CORE y TrueNAS SCALE son diferentes. Jellyfin no es compatible con TrueNAS CORE.

Introducción y preparación

TrueNAS SCALE permite ejecutar aplicaciones usando Docker.

Existen dos métodos soportados para instalar Jellyfin en tu servidor TrueNAS SCALE:

  1. Aplicación personalizada

  2. Aplicación de terceros de la comunidad proporcionada por ix-systems

Ambos métodos utilizan la imagen Docker oficial de Jellyfin. Este documento cubrirá ambos métodos de instalación.

Puedes configurar variables de entorno en cualquier momento después de implementar la aplicación.

Se recomienda configurar el sistema de Apps de TrueNAS SCALE en un grupo de almacenamiento compuesto por SSD.


Conjuntos de datos (datasets) y Jellyfin

La imagen Docker oficial de Jellyfin crea internamente los siguientes directorios necesarios:

  1. cache

  2. config

  3. cache/transcodes

Si usas la aplicación de la comunidad, puedes permitir que SCALE cree conjuntos de datos para los directorios que requiere Jellyfin automáticamente durante la instalación. También puedes elegir crear un conjunto de datos estático transcodes o usar almacenamiento temporal en disco o en memoria (RAM del sistema) para la transcodificación.

  • Ten en cuenta que usar RAM para transcodificaciones puede ser una mala idea, ya que pueden ocupar mucho espacio. Si no hay suficiente memoria disponible en RAM para una transcodificación, esta fallará. Se recomienda colocar el directorio de transcodificación en una unidad con suficiente espacio libre para evitar este problema. Considera usar un SSD en lugar de un HDD para evitar posibles ralentizaciones.

También puedes crear tus propios conjuntos de datos personalizados para usarlos en la sección Configuración de almacenamiento como host paths durante la instalación.

Puedes organizar conjuntos de datos como un principal con dos conjuntos secundarios, por ejemplo /mnt/tank/jellyfin/config, /mnt/tank/jellyfin/cache, etc. Con Docker, puedes organizarlos como prefieras siempre que los montes con el nombre correcto en el contenedor Docker.

Se recomienda configurar el directorio config de Jellyfin en un conjunto de datos accesible. Esto facilitará las copias de seguridad y restauración de tu servidor.

También se recomienda usar conjuntos de datos ubicados en un grupo de almacenamiento SSD para los datos de configuración y caché de Jellyfin.


Usuarios y permisos

Puedes establecer el usuario y grupo que ejecutará tu contenedor al configurar Jellyfin. Si deseas ejecutar la aplicación con un usuario o grupo diferente al predeterminado apps (568), créalos ahora.

Asegúrate de que tus conjuntos de datos tengan permisos adecuados para permitir que el usuario del contenedor Jellyfin acceda a ellos.


Instalación como aplicación personalizada

Usando YAML

Dirígete a la sección Apps de SCALE.

Botón de App personalizada

Haz clic en el botón Discover Apps en la esquina superior derecha de la página. Esto te llevará a la tienda de aplicaciones de la comunidad.

Botón YAML

Allí, haz clic en el menú de tres puntos en la esquina superior derecha y luego en Install via YAML.

  • Ten en cuenta que también puedes instalar una aplicación personalizada usando la GUI del lanzador de aplicaciones guiado de SCALE. Consulta los pasos de instalación de la aplicación de la comunidad ya que el diseño es prácticamente el mismo.
    • Si eliges esta ruta, tu contenedor de Jellyfin final solo será editable a través de esta GUI. Si deseas acceder al editor de YAML de Compose posteriormente, necesitas iniciar tu contenedor con la opción YAML.
    • Necesitarás extraer la imagen de Jellyfin en tu servidor SCALE dependiendo de la configuración que elijas en la GUI guiada.

Se abrirá una pestaña desde el lado derecho de la página donde puedes lanzar tu aplicación personalizada usando un archivo Docker Compose.

Archivo YAML de Compose

Página de instalación de aplicación personalizada

Aquí, asigna un nombre a la aplicación personalizada y escribe/pega las líneas para tu archivo compose.

Consulta aquí la documentación sobre uso de Docker Compose con Jellyfin. Alternativamente, aquí tienes un archivo compose básico donde debes editar los volúmenes para usar en tu sistema, luego copiarlo y pegarlo en el editor para lanzar Jellyfin:

services:
jellyfin:
container_name: jellyfin
image: ghcr.io/jellyfin/jellyfin:latest
user: '568:568'
# group_add:
# - '107'
# devices:
# - /dev/dri/renderD128:/dev/dri/renderD128
# - /dev/dri/card0:/dev/dri/card0
environment:
- TZ=America/Los_Angeles
network_mode: bridge
ports:
- 8096:8096/tcp
# cpus: '8' # optional
# mem_limit: 16G # optional
restart: unless-stopped
volumes:
- /mnt/path/to/config:/config:rw
- /mnt/path/to/cache:/cache:rw
# rw = read & write
# ro = read only
  • Recuerda agregar tus conjuntos de datos de medios como volúmenes adicionales en tu archivo compose para que el contenedor pueda acceder a ellos.

  • El usuario y grupo que configures son solo para ejecutar el contenedor. No se utilizan para crear una cuenta de Jellyfin.

  • Asegúrate de que el espaciado sea correcto para cada opción. Los archivos compose usan espaciado para analizar las opciones correctamente.

  • Puedes determinar el identificador de zona horaria para tu región en Wikipedia.

  • Ten en cuenta que las líneas con # al principio indican un comentario. No se aplicarán hasta que lo elimines.

  • Descomenta las opciones group_add y devices si tienes una GPU y deseas usar aceleración por hardware.

    • Si tienes una GPU NVIDIA, lee esto por favor.
    • A menos que configures el contenedor para ejecutarse como root, necesitas agregar el ID del grupo render al contenedor con group_add.
    • En caso de que el ID del grupo render no sea 107 en todos los servidores SCALE por defecto, ve a la shell de tu sistema y ejecuta este comando para obtener el ID de tu grupo render: cat /etc/group | grep render
  • Los puertos de descubrimiento automático de Jellyfin también deben configurarse si es posible.

Docker Compose Options
OptionUsageDescription
container_name"jellyfin"The name of your Docker container.
imageghcr.io/jellyfin/jellyfin:latestThe Docker image to use for the container.
user'UID:GID'The user:group IDs of the user that will run the container.
group_addGIDID of additional group to add.
devices<host-path>:<container-path>Devices (ex. GPU) to pass into the container.
environmentTZ=<timezone-name>Environment variables that affect the container. You can set variables here such as TZ for declaring a time zone. See more environment configs here.
network_modebridge, hostNetwork mode to use for the container. If set to host, remove your forwarded ports.
portshost-port:container-portForward the host port to the container port. Refer to the TrueNAS default port list for a list of assigned port numbers.
cpus'#'Assign # amount of CPU threads to the container. You can't assign more threads than there exists on the installed CPU.
mem_limit#GLimit memory usage by the container. Can also specify different units: K=KB, M=MB, G=GB
restartno, always, failure, unless-stoppedDeclare how to handle automatic container restarts.
volumes/mnt/tank/jellyfin/my-config-dataset:/config:rwHost mount paths on the host system onto the container

Página de la aplicación

Una vez instalado, volverás a la pantalla principal de aplicaciones. Aquí podrás ver el estado de tu contenedor de Jellyfin, así como editar el archivo compose existente que usaste para lanzarlo y agregar más al contenedor.

  • La interfaz YAML de TrueNAS SCALE reordenará y eliminará cualquier comentario en tu archivo YAML.

Una vez que el icono de estado de tu contenedor de Jellyfin cambie al icono verde Running en la UI, tu servidor de Jellyfin estará en funcionamiento.

Ahora puedes acceder a tu servidor Jellyfin abriendo un navegador web en tu red local y utilizando la dirección IP de tu servidor SCALE junto con el número de puerto que configuraste para Jellyfin (el puerto HTTP predeterminado es 8096). Si usaste el archivo compose del ejemplo anterior y la dirección IP de tu servidor es 192.168.1.10, ingresa esta URL en el navegador: http://192.168.1.10:8096

Portal web de Jellyfin

Una vez que accedas a tu servidor desde un navegador web, estarás dentro de tu servidor Jellyfin. Completa el asistente de configuración inicial para configurar tu servidor Jellyfin. También puedes consultar la documentación de Jellyfin para obtener más ayuda.

Agregar el logotipo de Jellyfin a aplicaciones personalizadas

Cuando instalas una aplicación personalizada en SCALE, esta mostrará un icono genérico de SCALE en lugar del logotipo oficial de la aplicación.

Puedes restaurar el logotipo de Jellyfin siguiendo estos pasos:

  1. Accede a la terminal del sistema

  2. Cambia a acceso root con este comando (para acceder a la carpeta de aplicaciones Docker): sudo -i

  3. Navega hasta la ubicación de configuración de la aplicación. El directorio debe tener el nombre que le diste al contenedor de Jellyfin al editar el archivo YAML: cd /mnt/.ix-apps/app_configs/jellyfin/

  4. Abre el archivo metadata.yaml con VIM para editarlo: vim metadata.yaml

  5. Ingresa al Modo Insertar tecleando i, luego ve al final de host_mounts: [] y presiona la tecla ENTER para crear una nueva línea.

  6. Agrega suficientes espacios (dos) para alinear el cursor con las opciones de metadatos. Escribe o pega esta nueva línea allí: icon: https://media.sys.truenas.net/apps/jellyfin/icons/icon.svg

  7. Presiona ESC para salir del Modo Insertar, luego escribe :wq y presiona ENTER para guardar y salir.

  • Notas:
    • Puedes pegar en la terminal de SCALE usando SHIFT + INSERT
    • Puedes forzar la salida sin guardar en vim presionando ESC, luego escribiendo :q!

El archivo debería verse ahora así:

custom_app: true
human_version: 1.0.0_custom
metadata:
app_version: custom
capabilities: []
description: This is a custom app where user can use his/her own docker compose
file for deploying services
home: ''
host_mounts: []
icon: https://media.sys.truenas.net/apps/jellyfin/icons/icon.svg
maintainers: []
name: custom-app
run_as_context: []
sources: []
title: Custom App
train: stable
version: 1.0.0
migrated: false
notes: null
portals: {}
version: 1.0.0

Después de esto, ve a la aplicación personalizada en la página de Aplicaciones. Abre la opción Editar en Información de la aplicación, luego haz clic en Guardar al final. Esto actualizará el icono de la aplicación personalizada con el logotipo de Jellyfin.


Instalación con la aplicación comunitaria de SCALE

Para instalar la aplicación Jellyfin, ve a Aplicaciones, haz clic en Descubrir aplicaciones, y escribe "Jellyfin" en el campo de búsqueda o desplázate para ubicar el widget de la aplicación Jellyfin. Es posible que necesites hacer clic en "Actualizar catálogo" si la aplicación Jellyfin no aparece en los resultados.

Widget de la aplicación Jellyfin

Haz clic en el widget para abrir la pantalla de detalles de la aplicación Jellyfin.

Pantalla de detalles de la aplicación Jellyfin

Haz clic en Instalar para abrir la pantalla de configuración de la aplicación Jellyfin.

La configuración de la aplicación se presenta en varias secciones, explicadas a continuación. Para encontrar campos específicos, utiliza el campo de búsqueda, desplázate hacia una sección particular o haz clic en el encabezado de sección en el área de navegación en la esquina superior derecha.

Pantalla de instalación de Jellyfin

Configuración del nombre de la aplicación

Acepta el valor predeterminado o ingresa un nombre en el campo Nombre de la aplicación. En la mayoría de los casos, usa el nombre predeterminado, pero si agregas una segunda implementación de la aplicación, debes cambiar este nombre.

Acepta el número de versión predeterminado en Versión. Cuando haya una nueva versión disponible, la aplicación mostrará un distintivo de actualización. La pantalla Aplicaciones instaladas mostrará la opción para actualizar aplicaciones.

Configuración de Jellyfin

Puedes aceptar los valores predeterminados en la configuración de Jellyfin Configuration, o ingresar los ajustes que prefieras.

Puedes ingresar una Published Server URL para el autodescubrimiento UDP, o dejarla en blanco.

Si es necesario, haz clic en Add para definir Additional Environment Variables, consulta Configuración para ver las opciones.

Configuración de usuario y grupo

Puedes aceptar el valor predeterminado 568 (apps) en User ID y Group ID o definir los tuyos propios.

Configuración de usuario y grupo

Este usuario y grupo se usan únicamente para ejecutar el contenedor de Jellyfin y no pueden utilizarse para iniciar sesión en la interfaz web de Jellyfin. Crea un usuario administrador en el asistente de configuración inicial de Jellyfin para acceder a la interfaz.

Configuración de red

Selecciona Host Network en Network Configuration si usas DLNA, para vincular la configuración de red a los ajustes de red del host. De lo contrario, deja Host Network sin seleccionar.

Red

Puedes aceptar el número de puerto predeterminado en WebUI Port, que es 30013.

Puedes cambiarlo al puerto 8096. La mayoría de clientes de Jellyfin tienen funciones de escaneo integradas que buscan el puerto 8096 por defecto.

Consulta la lista de puertos predeterminados de TrueNAS para ver los números de puerto asignados.

Configuración de almacenamiento

Jellyfin requiere tres conjuntos de datos (datasets) de almacenamiento para:

  1. Almacenamiento de configuración de Jellyfin

  2. Almacenamiento en caché de Jellyfin

  3. Almacenamiento de transcodificaciones de Jellyfin

Se recomienda almacenamiento de estado sólido (SSD) para configuración, caché y transcodificaciones. No uses conjuntos de datos ubicados en discos giratorios donde tengas tu almacenamiento de medios/bibliotecas para evitar ralentizaciones.

Puedes instalar Jellyfin usando el ajuste predeterminado ixVolume (dataset creado automáticamente por el sistema) o usar la opción host path con conjuntos de datos creados antes de instalar la aplicación.

Configurar almacenamiento ixVolumes

Selecciona Host Path (Path that already exists on the system) para navegar y seleccionar los conjuntos de datos.

Configurar rutas de host de almacenamiento

Para Jellyfin Transcodes Storage, en Type, selecciona:

  • Host Path (Path that already exists on the system) para usar un conjunto de datos existente creado en el sistema

  • ixVolume (dataset created automatically by the system) para que SCALE cree el conjunto de datos

  • Temporary (Temporary directory created on the disk) para usar un directorio temporal creado en el grupo de almacenamiento configurado para el sistema de Apps

  • tmpfs (Temporary directory created on the RAM) para usar un directorio temporal creado en la RAM del sistema

Se recomienda vincular el directorio de transcodificación a una ubicación con suficiente espacio disponible. Las transcodificaciones pueden ocupar mucho espacio dependiendo del tipo de contenido. Si no hay suficiente almacenamiento, tendrás problemas de reproducción cuando una transcodificación no tenga espacio para continuar.

Montaje de almacenamiento adicional

Haz clic en Add junto a Additional Storage para añadir las rutas de almacenamiento de tu biblioteca multimedia en el sistema.

Almacenamiento adicional

Seleccione Host Path (Ruta que ya existe en el sistema) o SMB/CIFS Share (Monta un volumen en un recurso compartido SMB) en Tipo. Puede seleccionar iXvolume (Dataset creado automáticamente por el sistema) para crear un nuevo dataset de biblioteca, aunque no se recomienda.

Montar un recurso compartido SMB permite sincronizar datos entre el recurso compartido y la aplicación. Actualmente, el montaje SMB no incluye protecciones ACL. Los permisos se limitan a los del usuario que montó el recurso compartido. Los flujos de datos alternativos (metadatos), etiquetas de colores del Finder, vistas previas, bifurcadores de recursos y metadatos de macOS se eliminan junto con los permisos del sistema de archivos. Esta funcionalidad está en desarrollo activo y se implementará en futuras versiones de TrueNAS SCALE.

  • Tenga en cuenta que para usar la función de exploración de medios en tiempo real de Jellyfin, debe montar sus medios directamente con Host Path, ya que las conexiones SMB no admiten esta característica.

Para todos los tipos, ingrese una Mount Path (Ruta de montaje) que se usará dentro del contenedor de Jellyfin.

  • Por ejemplo, la Host Path local /mnt/tank/video/movies podría asignarse a la Mount Path /media/movies.
    • Con este ejemplo, navegaría a /media/movies en Jellyfin para ver el contenido de /mnt/tank/video/movies en su servidor SCALE.
Additional Storage Fields
TypeFieldDescription
AllMount PathThe virtual path to mount the storage within the container.
Host PathHost PathThe local path to an existing dataset on the System.
ixVolumeDataset NameThe name for the dataset the system creates.
SMB ShareServerThe server for the SMB share.
SMB ShareShareThe name of the share.
SMB ShareDomain (Optional)The domain for the SMB share.
SMB ShareUsernameThe user name used to access the SMB share.
SMB SharePasswordThe password for the SMB share user.
SMB ShareSize (in Gi)The quota size for the share volume. You can edit the size after deploying the application if you need to increase the storage volume capacity for the share.

Configuración de recursos

Límites de recursos

Puede personalizar los límites de CPU y memoria asignados al contenedor donde residirá Jellyfin.

En Configuración de GPU, marque Passthrough available (non-NVIDIA) GPUs si necesita pasar una GPU para aceleración por hardware en Jellyfin.

Finalización de la instalación

Haga clic en Install.

Se lanza un contenedor con privilegios root para aplicar permisos correctos a los directorios de Jellyfin. Luego, el contenedor se ejecuta como usuario no root (predeterminado: 568). La propiedad del directorio de almacenamiento se cambia si el directorio padre no coincide con el usuario configurado.

El sistema abre la pantalla Installed Applications con la app Jellyfin en estado Deploying. Al completarse, cambia a Running.

Página de aplicaciones

Haga clic en Web UI en el widget Application Info para abrir el asistente de configuración inicial de Jellyfin y crear su cuenta de administrador.

Portal web de Jellyfin

Edición de la aplicación Jellyfin

Dirígete a la pantalla de Aplicaciones instaladas y selecciona Jellyfin de la lista de aplicaciones instaladas. Haz clic en Editar en el widget Información de la aplicación para abrir la pantalla Editar Jellyfin. Los ajustes en la pantalla de edición son los mismos que en la pantalla de instalación.

  • No puedes editar las rutas de Configuración de almacenamiento después de la instalación inicial de la aplicación si han sido creadas automáticamente por el sistema (ixVolume).
    • Aún puedes modificar los montajes de almacenamiento y rutas existentes de Rutas de host.

Haz clic en Actualizar para guardar los cambios. TrueNAS actualiza, recrea y vuelve a implementar automáticamente el contenedor de Jellyfin con las variables de entorno actualizadas.


Información de montajes de volumen y registros de Jellyfin en tiempo real

Puedes acceder a los registros en tiempo real de Jellyfin dirigiéndote al widget Workloads y haciendo clic en el icono de registros en la esquina inferior derecha.

Ubicación de la información de montajes de volumen

Si no especificaste una ubicación externa para montar tus directorios de configuración y caché, se crearán automáticamente en algún lugar de tu sistema. Para ver la ubicación actual de estos (y otros montajes al contenedor), haz clic en el icono de carpeta en la esquina inferior derecha dentro del widget Workloads.

Información de montajes de volumen abierta

Al abrirse, verás una lista de todos los montajes y sus rutas. Puedes usar esta información para navegar hasta ellos en la terminal de tu sistema. Ten en cuenta que necesitarás acceso root (sudo) para acceder a directorios relacionados con Docker en SCALE.

Gestión de imágenes de contenedor

Menú desplegable de configuración de aplicaciones

Si deseas ver las imágenes exactas instaladas en tu servidor TrueNAS SCALE, ve a la página principal de Aplicaciones, luego haz clic en el botón Configuration. En el menú desplegable, selecciona Gestionar imágenes de contenedor. Serás dirigido a una nueva página donde verás una lista de todas las imágenes de Docker instaladas.

También puedes extraer nuevas imágenes para usar en el futuro.

Interfaz gráfica para extraer imágenes

Puedes elegir extraer desde Docker Hub de Jellyfin o desde el GitHub Container Registry.

  • Para extraer desde Docker Hub, usa: jellyfin/jellyfin

  • Para extraer desde GHCR, usa: ghcr.io/jellyfin/jellyfin

  • Puedes consultar esta publicación del blog para más información sobre GHCR:

    • "Usuarios de Docker: Ahora ofrecemos GitHub Container Registry (GHCR) como registro alternativo además de Docker Hub. Puedes extraer imágenes del nuevo registro mediante URIs como ghcr.io/jellyfin/jellyfin:latest. No te preocupes, no planeamos abandonar Docker Hub como registro de contenedores, pero creemos que ofrecer ambas opciones brinda más elección y flexibilidad a los usuarios."
  • También revisa esta publicación del foro sobre cómo se pueden usar las etiquetas de imágenes de Docker.

Si tienes un contenedor usando cualquiera de tus imágenes, SCALE debería notificarte sobre actualizaciones disponibles a través de su interfaz gráfica, siempre que hayas usado la etiqueta latest u otras etiquetas que no apunten a un lanzamiento específico.

GPUs NVIDIA en SCALE (v24.10 o superior)

  • Para usuarios con GPU NVIDIA, consulte las notas de la versión v24.10 Electric Eel sobre su GPU:
    • "Starting in 24.10, TrueNAS does not include a default NVIDIA GPU driver and instead provides a simple NVIDIA driver download option in the web interface. This allows for driver updates between TrueNAS release versions."
    • "Users can enable driver installation from the Installed applications screen. Click Configure > Settings and select Install NVIDIA Drivers. This option is only available for users with a compatible NVIDIA GPU and no drivers installed or for users who have previously enabled the setting."