Servidor multimedia
El uso de servicios de streaming tradicionales implica ceder información sobre nuestros hábitos de consumo. Esto permite a grandes compañías tecnológicas construir perfiles muy detallados, lo que plantea riesgos para la privacidad.
Como alternativa, podemos montar nuestro propio servidor multimedia.
Jellyfin
En este artículo veremos cómo desplegar una instancia de Jellyfin en un contenedor LXC en Proxmox, aprovechando la aceleración por GPU.
Creación del contenedor
Creamos un contenedor en Proxmox desde Crear CT.
Configuración inicial
Activamos Avanzado y configuramos:
| Campo | Valor |
|---|---|
| Nodo | proxmox01 |
| CT ID | 100 |
| Nombre del Host | jellyfin |
| Contenedores sin privilegios | Deshabilitado |
| Anidad | Deshabilitado |
| Agregar a HA | Deshabilitado |
| Conjunto de recursos | Sin seleccionar |
| Contraseña | escogemos una contraseña segura |
| Confirmar contraseña | repetimos la contraseña del campo anterior |
| Llave(s) públicas de SSH | insertamos nuestra clave pública de SSH si disponemos de ella |
| Etiquetas | a discreción, por ejemplo "debian" y "jellyfin" |
Plantilla
| Campo | Valor |
|---|---|
| Almacenamiento | local |
| Plantilla | debian-13-standard_13.1-2_amd64.tar.zst |
Disco
| Campo | Valor |
|---|---|
| Almacenamiento | local-zfs |
| Tamaño en disco (GiB) | 10 |
| ACLs | Desactivado |
| Opciones de montaje | noatime |
| Saltar replicación | desactivado |
CPU
| Campo | Valor |
|---|---|
| Núcleos | 1 |
| Límite de CPU | 1 |
| Unidades de CPU | 1024 |
Memoria
| Campo | Valor |
|---|---|
| Memoria (MiB) | 2048 |
| Swap (MiB) | 0 |
Red
| Campo | Valor |
|---|---|
| Nombre | eth0 |
| Dirección MAC | lo dejamos en auto |
| Puente | vmbr0 |
| Etiqueta VLAN | Ninguna |
| Cortafuego | Desactivado |
| IPv4 | Estático |
| IPv4/CIDR | 192.168.1.100/24 |
| Puerta de enlace (IPv4) | 192.168.1.1 |
| IPv6 | Estático |
| IPv6/CIDR | Ninguna |
| Puerta de enlace (IPv6) | Ninguna |
| Desconectar | Desactivado |
| Tasa límite (MB/s) | Unlimited |
| MTU | Igual que el puente |
| Gestionado por el host | Desactivado |
Pulsamos Siguiente y en la siguiente pantalla definimos las siguientes opciones:
| Campo | Valor |
|---|---|
| Dominio DNS | usar configuraciones del Host |
| Servidores DNS | usar configuraciones del Host |
Pulsamos Siguiente, desmarcamos la opción Iniciar después de la creación y pulsamos el botón Finalizar.
Aceleración por GPU
Con el contenedor LXC creado, comprobamos si disponemos de gráfica integrada listando el contenido del directorio /dev/dri dentro del propio Proxmox.
ls/dev/dri
En nuestro caso, al disponer de un procesador Intel® Celeron® N5095 , obtenemos la siguiente salida:
by-path card0 renderD128
Teniendo presente la gráfica integrada de la que disponemos, editamos el fichero de configuración del contenedor LXC:
nano /etc/pve/lxc/LXC_ID.conf
sustituyendo LXC_ID por el ID que hemos definido en el momento de la creación del contenedor LXC.
Incluimos al final el fichero el siguiente contenido:
lxc.cgroup2.devices.allow: c 226:0 rwm
lxc.cgroup2.devices.allow: c 226:128 rwm
lxc.mount.entry: /dev/dri dev/dri none bind,optional,create=dir
Arrancamos el contenedor LXC con el siguiente comando:
pct start LXC_ID
Una vez veamos el contenedor LXC arrancado, entramos dentro con el siguiente comando
pct enter LXC_ID
Dentro del contenedor LXC volvemos a listar el directorio /dev/dri y observamos que la salida es la misma:
root@jellyfin:~# ls /dev/dri
by-path card0 renderD128
Preparación del sistema
Sin salir del contenedor LXC, actualizamos los repositorios:
apt update
Observamos una salida similar a la siguiente:
Get:1 http://security.debian.org trixie-security InRelease [43.4 kB]
Get:2 http://deb.debian.org/debian trixie InRelease [140 kB]
Get:3 http://deb.debian.org/debian trixie-updates InRelease [47.3 kB]
Get:4 http://security.debian.org trixie-security/main amd64 Packages [111 kB]
Get:5 http://security.debian.org trixie-security/main Translation-en [72.5 kB]
Get:6 http://deb.debian.org/debian trixie/contrib amd64 Packages [53.8 kB]
Get:7 http://deb.debian.org/debian trixie/contrib Translation-en [49.6 kB]
Get:8 http://deb.debian.org/debian trixie/main amd64 Packages [9670 kB]
Get:9 http://deb.debian.org/debian trixie/main Translation-en [6484 kB]
Get:10 http://deb.debian.org/debian trixie-updates/main Translation-en [4096 B]
Fetched 16.7 MB in 2s (10.2 MB/s)
39 packages can be upgraded. Run 'apt list --upgradable' to see them.
Notice: Repository 'http://deb.debian.org/debian trixie InRelease' changed its 'Version' value from '13.1' to '13.3'
Con los repositorios actualizado, procedemos a actualizar la paquetería del contenedor LXC:
apt upgrade -y
Observamos una salida similar a la siguiente:
Upgrading:
base-files e2fsprogs libcom-err2 libssl3t64 logsave systemd-sysv
bash inetutils-telnet libext2fs2t64 libsystemd-shared openssl systemd-timesyncd
bind9-dnsutils libc-bin libgnutls30t64 libsystemd0 openssl-provider-legacy udev
bind9-host libc-l10n libnss-systemd libudev1 postfix wtmpdb
bind9-libs libc6 libpam-systemd libwtmpdb0 python3-urllib3
dhcpcd-base libcap2 libpam-wtmpdb libxml2 sqv
distro-info-data libcap2-bin libss2 locales systemd
Summary:
Upgrading: 39, Installing: 0, Removing: 0, Not Upgrading: 0
Download size: 29.2 MB
Space needed: 65.5 kB / 9981 MB available
Get:1 http://security.debian.org trixie-security/main amd64 openssl-provider-legacy amd64 3.5.4-1~deb13u2 [308 kB]
Get:2 http://deb.debian.org/debian trixie/main amd64 libc6 amd64 2.41-12+deb13u1 [2851 kB]
Get:3 http://security.debian.org trixie-security/main amd64 libssl3t64 amd64 3.5.4-1~deb13u2 [2442 kB]
Get:4 http://deb.debian.org/debian trixie/main amd64 base-files amd64 13.8+deb13u3 [73.3 kB]
Get:5 http://deb.debian.org/debian trixie/main amd64 bash amd64 5.2.37-2+b7 [1501 kB]
Get:6 http://security.debian.org trixie-security/main amd64 bind9-dnsutils amd64 1:9.20.18-1~deb13u1 [166 kB]
Get:7 http://security.debian.org trixie-security/main amd64 bind9-host amd64 1:9.20.18-1~deb13u1 [55.5 kB]
Get:8 http://security.debian.org trixie-security/main amd64 bind9-libs amd64 1:9.20.18-1~deb13u1 [1240 kB]
Get:9 http://deb.debian.org/debian trixie/main amd64 libc-bin amd64 2.41-12+deb13u1 [637 kB]
Get:10 http://deb.debian.org/debian trixie/main amd64 logsave amd64 1.47.2-3+b7 [24.9 kB]
Get:11 http://deb.debian.org/debian trixie/main amd64 libext2fs2t64 amd64 1.47.2-3+b7 [213 kB]
Get:12 http://deb.debian.org/debian trixie/main amd64 e2fsprogs amd64 1.47.2-3+b7 [591 kB]
Get:13 http://security.debian.org trixie-security/main amd64 inetutils-telnet amd64 2:2.6-3+deb13u2 [131 kB]
Get:14 http://deb.debian.org/debian trixie/main amd64 libcap2 amd64 1:2.75-10+b3 [28.8 kB]
Get:15 http://deb.debian.org/debian trixie/main amd64 libsystemd0 amd64 257.9-1~deb13u1 [453 kB]
Get:16 http://security.debian.org trixie-security/main amd64 libgnutls30t64 amd64 3.8.9-3+deb13u2 [1468 kB]
Get:17 http://deb.debian.org/debian trixie/main amd64 libnss-systemd amd64 257.9-1~deb13u1 [218 kB]
Get:18 http://deb.debian.org/debian trixie/main amd64 systemd-sysv amd64 257.9-1~deb13u1 [64.5 kB]
Get:19 http://deb.debian.org/debian trixie/main amd64 libpam-systemd amd64 257.9-1~deb13u1 [297 kB]
Get:20 http://deb.debian.org/debian trixie/main amd64 libsystemd-shared amd64 257.9-1~deb13u1 [2151 kB]
Get:21 http://security.debian.org trixie-security/main amd64 openssl amd64 3.5.4-1~deb13u2 [1495 kB]
Get:22 http://deb.debian.org/debian trixie/main amd64 systemd amd64 257.9-1~deb13u1 [3096 kB]
Get:23 http://security.debian.org trixie-security/main amd64 python3-urllib3 all 2.3.0-3+deb13u1 [115 kB]
Get:24 http://deb.debian.org/debian trixie/main amd64 systemd-timesyncd amd64 257.9-1~deb13u1 [93.0 kB]
Get:25 http://deb.debian.org/debian trixie/main amd64 udev amd64 257.9-1~deb13u1 [1392 kB]
Get:26 http://deb.debian.org/debian trixie/main amd64 libudev1 amd64 257.9-1~deb13u1 [152 kB]
Get:27 http://deb.debian.org/debian trixie/main amd64 postfix amd64 3.10.5-1~deb13u1 [1600 kB]
Get:28 http://deb.debian.org/debian trixie/main amd64 sqv amd64 1.3.0-3+b2 [661 kB]
Get:29 http://deb.debian.org/debian trixie/main amd64 dhcpcd-base amd64 1:10.1.0-11+deb13u2 [201 kB]
Get:30 http://deb.debian.org/debian trixie/main amd64 libxml2 amd64 2.12.7+dfsg+really2.9.14-2.1+deb13u2 [698 kB]
Get:31 http://deb.debian.org/debian trixie/main amd64 libcom-err2 amd64 1.47.2-3+b7 [25.0 kB]
Get:32 http://deb.debian.org/debian trixie/main amd64 libc-l10n all 2.41-12+deb13u1 [738 kB]
Get:33 http://deb.debian.org/debian trixie/main amd64 wtmpdb amd64 0.73.0-3+deb13u1 [21.8 kB]
Get:34 http://deb.debian.org/debian trixie/main amd64 libpam-wtmpdb amd64 0.73.0-3+deb13u1 [10.8 kB]
Get:35 http://deb.debian.org/debian trixie/main amd64 libwtmpdb0 amd64 0.73.0-3+deb13u1 [13.1 kB]
Get:36 http://deb.debian.org/debian trixie/main amd64 locales all 2.41-12+deb13u1 [3925 kB]
Get:37 http://deb.debian.org/debian trixie/main amd64 distro-info-data all 0.66+deb13u1 [6724 B]
Get:38 http://deb.debian.org/debian trixie/main amd64 libcap2-bin amd64 1:2.75-10+b3 [36.4 kB]
Get:39 http://deb.debian.org/debian trixie/main amd64 libss2 amd64 1.47.2-3+b7 [29.7 kB]
Fetched 29.2 MB in 0s (61.3 MB/s)
apt-listchanges: Can't set locale; make sure $LC_* and $LANG are correct!
apt-listchanges: Reading changelogs...
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_CTYPE = (unset),
LC_NUMERIC = (unset),
LC_COLLATE = (unset),
LC_TIME = (unset),
LC_MESSAGES = (unset),
LC_MONETARY = (unset),
LC_ADDRESS = (unset),
LC_IDENTIFICATION = (unset),
LC_MEASUREMENT = (unset),
LC_PAPER = (unset),
LC_TELEPHONE = (unset),
LC_NAME = (unset),
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
Extracting templates from packages: 100%
Preconfiguring packages ...
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_CTYPE = (unset),
LC_NUMERIC = (unset),
LC_COLLATE = (unset),
LC_TIME = (unset),
LC_MESSAGES = (unset),
LC_MONETARY = (unset),
LC_ADDRESS = (unset),
LC_IDENTIFICATION = (unset),
LC_MEASUREMENT = (unset),
LC_PAPER = (unset),
LC_TELEPHONE = (unset),
LC_NAME = (unset),
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
(Reading database ... 18923 files and directories currently installed.)
Preparing to unpack .../libc6_2.41-12+deb13u1_amd64.deb ...
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
Unpacking libc6:amd64 (2.41-12+deb13u1) over (2.41-12) ...
Setting up libc6:amd64 (2.41-12+deb13u1) ...
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
(Reading database ... 18923 files and directories currently installed.)
Preparing to unpack .../base-files_13.8+deb13u3_amd64.deb ...
Unpacking base-files (13.8+deb13u3) over (13.8+deb13u1) ...
Setting up base-files (13.8+deb13u3) ...
Installing new version of config file /etc/debian_version ...
(Reading database ... 18923 files and directories currently installed.)
Preparing to unpack .../bash_5.2.37-2+b7_amd64.deb ...
Unpacking bash (5.2.37-2+b7) over (5.2.37-2+b5) ...
Setting up bash (5.2.37-2+b7) ...
update-alternatives: using /usr/share/man/man7/bash-builtins.7.gz to provide /usr/share/man/man7/builtins.7.gz (builtins.7.gz) in auto mode
(Reading database ... 18923 files and directories currently installed.)
Preparing to unpack .../libc-bin_2.41-12+deb13u1_amd64.deb ...
Unpacking libc-bin (2.41-12+deb13u1) over (2.41-12) ...
Setting up libc-bin (2.41-12+deb13u1) ...
(Reading database ... 18923 files and directories currently installed.)
Preparing to unpack .../logsave_1.47.2-3+b7_amd64.deb ...
Unpacking logsave (1.47.2-3+b7) over (1.47.2-3+b3) ...
Preparing to unpack .../libext2fs2t64_1.47.2-3+b7_amd64.deb ...
Leaving 'diversion of /lib/x86_64-linux-gnu/libe2p.so.2 to /lib/x86_64-linux-gnu/libe2p.so.2.usr-is-merged by libext2fs2t64'
Leaving 'diversion of /lib/x86_64-linux-gnu/libe2p.so.2.3 to /lib/x86_64-linux-gnu/libe2p.so.2.3.usr-is-merged by libext2fs2t64'
Leaving 'diversion of /lib/x86_64-linux-gnu/libext2fs.so.2 to /lib/x86_64-linux-gnu/libext2fs.so.2.usr-is-merged by libext2fs2t64'
Leaving 'diversion of /lib/x86_64-linux-gnu/libext2fs.so.2.4 to /lib/x86_64-linux-gnu/libext2fs.so.2.4.usr-is-merged by libext2fs2t64'
Unpacking libext2fs2t64:amd64 (1.47.2-3+b7) over (1.47.2-3+b3) ...
Setting up libext2fs2t64:amd64 (1.47.2-3+b7) ...
(Reading database ... 18923 files and directories currently installed.)
Preparing to unpack .../e2fsprogs_1.47.2-3+b7_amd64.deb ...
Unpacking e2fsprogs (1.47.2-3+b7) over (1.47.2-3+b3) ...
Preparing to unpack .../libcap2_1%3a2.75-10+b3_amd64.deb ...
Unpacking libcap2:amd64 (1:2.75-10+b3) over (1:2.75-10+b1) ...
Setting up libcap2:amd64 (1:2.75-10+b3) ...
(Reading database ... 18923 files and directories currently installed.)
Preparing to unpack .../libsystemd0_257.9-1~deb13u1_amd64.deb ...
Unpacking libsystemd0:amd64 (257.9-1~deb13u1) over (257.8-1~deb13u2) ...
Setting up libsystemd0:amd64 (257.9-1~deb13u1) ...
(Reading database ... 18923 files and directories currently installed.)
Preparing to unpack .../libnss-systemd_257.9-1~deb13u1_amd64.deb ...
Unpacking libnss-systemd:amd64 (257.9-1~deb13u1) over (257.8-1~deb13u2) ...
Preparing to unpack .../systemd-sysv_257.9-1~deb13u1_amd64.deb ...
Unpacking systemd-sysv (257.9-1~deb13u1) over (257.8-1~deb13u2) ...
Preparing to unpack .../libpam-systemd_257.9-1~deb13u1_amd64.deb ...
Unpacking libpam-systemd:amd64 (257.9-1~deb13u1) over (257.8-1~deb13u2) ...
Preparing to unpack .../libsystemd-shared_257.9-1~deb13u1_amd64.deb ...
Unpacking libsystemd-shared:amd64 (257.9-1~deb13u1) over (257.8-1~deb13u2) ...
Setting up libsystemd-shared:amd64 (257.9-1~deb13u1) ...
(Reading database ... 18923 files and directories currently installed.)
Preparing to unpack .../systemd_257.9-1~deb13u1_amd64.deb ...
Unpacking systemd (257.9-1~deb13u1) over (257.8-1~deb13u2) ...
Preparing to unpack .../systemd-timesyncd_257.9-1~deb13u1_amd64.deb ...
Unpacking systemd-timesyncd (257.9-1~deb13u1) over (257.8-1~deb13u2) ...
Preparing to unpack .../udev_257.9-1~deb13u1_amd64.deb ...
Unpacking udev (257.9-1~deb13u1) over (257.8-1~deb13u2) ...
Preparing to unpack .../libudev1_257.9-1~deb13u1_amd64.deb ...
Unpacking libudev1:amd64 (257.9-1~deb13u1) over (257.8-1~deb13u2) ...
Setting up libudev1:amd64 (257.9-1~deb13u1) ...
(Reading database ... 18923 files and directories currently installed.)
Preparing to unpack .../openssl-provider-legacy_3.5.4-1~deb13u2_amd64.deb ...
Unpacking openssl-provider-legacy (3.5.4-1~deb13u2) over (3.5.1-1+deb13u1) ...
Setting up openssl-provider-legacy (3.5.4-1~deb13u2) ...
(Reading database ... 18923 files and directories currently installed.)
Preparing to unpack .../libssl3t64_3.5.4-1~deb13u2_amd64.deb ...
Unpacking libssl3t64:amd64 (3.5.4-1~deb13u2) over (3.5.1-1+deb13u1) ...
Setting up libssl3t64:amd64 (3.5.4-1~deb13u2) ...
(Reading database ... 18923 files and directories currently installed.)
Preparing to unpack .../postfix_3.10.5-1~deb13u1_amd64.deb ...
Unpacking postfix (3.10.5-1~deb13u1) over (3.10.4-1~deb13u1) ...
Preparing to unpack .../sqv_1.3.0-3+b2_amd64.deb ...
Unpacking sqv (1.3.0-3+b2) over (1.3.0-3) ...
Setting up sqv (1.3.0-3+b2) ...
(Reading database ... 18924 files and directories currently installed.)
Preparing to unpack .../00-dhcpcd-base_1%3a10.1.0-11+deb13u2_amd64.deb ...
Unpacking dhcpcd-base (1:10.1.0-11+deb13u2) over (1:10.1.0-11) ...
Preparing to unpack .../01-libxml2_2.12.7+dfsg+really2.9.14-2.1+deb13u2_amd64.deb ...
Unpacking libxml2:amd64 (2.12.7+dfsg+really2.9.14-2.1+deb13u2) over (2.12.7+dfsg+really2.9.14-2.1+deb13u1) ...
Preparing to unpack .../02-bind9-dnsutils_1%3a9.20.18-1~deb13u1_amd64.deb ...
Unpacking bind9-dnsutils (1:9.20.18-1~deb13u1) over (1:9.20.11-4) ...
Preparing to unpack .../03-bind9-host_1%3a9.20.18-1~deb13u1_amd64.deb ...
Unpacking bind9-host (1:9.20.18-1~deb13u1) over (1:9.20.11-4) ...
Preparing to unpack .../04-bind9-libs_1%3a9.20.18-1~deb13u1_amd64.deb ...
Unpacking bind9-libs:amd64 (1:9.20.18-1~deb13u1) over (1:9.20.11-4) ...
Preparing to unpack .../05-libcom-err2_1.47.2-3+b7_amd64.deb ...
Unpacking libcom-err2:amd64 (1.47.2-3+b7) over (1.47.2-3+b3) ...
Preparing to unpack .../06-inetutils-telnet_2%3a2.6-3+deb13u2_amd64.deb ...
Unpacking inetutils-telnet (2:2.6-3+deb13u2) over (2:2.6-3) ...
Preparing to unpack .../07-libc-l10n_2.41-12+deb13u1_all.deb ...
Unpacking libc-l10n (2.41-12+deb13u1) over (2.41-12) ...
Preparing to unpack .../08-wtmpdb_0.73.0-3+deb13u1_amd64.deb ...
Unpacking wtmpdb (0.73.0-3+deb13u1) over (0.73.0-3) ...
Preparing to unpack .../09-libpam-wtmpdb_0.73.0-3+deb13u1_amd64.deb ...
Unpacking libpam-wtmpdb:amd64 (0.73.0-3+deb13u1) over (0.73.0-3) ...
Preparing to unpack .../10-libwtmpdb0_0.73.0-3+deb13u1_amd64.deb ...
Unpacking libwtmpdb0:amd64 (0.73.0-3+deb13u1) over (0.73.0-3) ...
Preparing to unpack .../11-locales_2.41-12+deb13u1_all.deb ...
Unpacking locales (2.41-12+deb13u1) over (2.41-12) ...
Preparing to unpack .../12-distro-info-data_0.66+deb13u1_all.deb ...
Unpacking distro-info-data (0.66+deb13u1) over (0.66) ...
Preparing to unpack .../13-libcap2-bin_1%3a2.75-10+b3_amd64.deb ...
Unpacking libcap2-bin (1:2.75-10+b3) over (1:2.75-10+b1) ...
Preparing to unpack .../14-libgnutls30t64_3.8.9-3+deb13u2_amd64.deb ...
Unpacking libgnutls30t64:amd64 (3.8.9-3+deb13u2) over (3.8.9-3) ...
Preparing to unpack .../15-libss2_1.47.2-3+b7_amd64.deb ...
Unpacking libss2:amd64 (1.47.2-3+b7) over (1.47.2-3+b3) ...
Preparing to unpack .../16-openssl_3.5.4-1~deb13u2_amd64.deb ...
Unpacking openssl (3.5.4-1~deb13u2) over (3.5.1-1+deb13u1) ...
Preparing to unpack .../17-python3-urllib3_2.3.0-3+deb13u1_all.deb ...
Unpacking python3-urllib3 (2.3.0-3+deb13u1) over (2.3.0-3) ...
Setting up libgnutls30t64:amd64 (3.8.9-3+deb13u2) ...
Setting up libc-l10n (2.41-12+deb13u1) ...
Setting up distro-info-data (0.66+deb13u1) ...
Setting up systemd (257.9-1~deb13u1) ...
/usr/lib/tmpfiles.d/legacy.conf:14: Duplicate line for path "/run/lock", ignoring.
Setting up libcom-err2:amd64 (1.47.2-3+b7) ...
Setting up locales (2.41-12+deb13u1) ...
Generating locales (this might take a while)...
Generation complete.
Setting up libcap2-bin (1:2.75-10+b3) ...
Setting up systemd-timesyncd (257.9-1~deb13u1) ...
systemd-time-wait-sync.service is a disabled or a static unit not running, not starting it.
Setting up udev (257.9-1~deb13u1) ...
systemd-udevd.service is a disabled or a static unit not running, not starting it.
Setting up libss2:amd64 (1.47.2-3+b7) ...
Setting up dhcpcd-base (1:10.1.0-11+deb13u2) ...
Installing new version of config file /etc/dhcpcd.conf ...
Setting up logsave (1.47.2-3+b7) ...
Setting up python3-urllib3 (2.3.0-3+deb13u1) ...
Setting up postfix (3.10.5-1~deb13u1) ...
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
Postfix (main.cf) configuration was not modified by debconf. If you need to
make changes, edit /etc/postfix/main.cf (and others) as needed. To view
Postfix configuration values, see postconf(1).
After modifying main.cf, be sure to run 'systemctl reload postfix'.
Setting up libwtmpdb0:amd64 (0.73.0-3+deb13u1) ...
Setting up openssl (3.5.4-1~deb13u2) ...
Setting up libxml2:amd64 (2.12.7+dfsg+really2.9.14-2.1+deb13u2) ...
Setting up systemd-sysv (257.9-1~deb13u1) ...
Setting up bind9-libs:amd64 (1:9.20.18-1~deb13u1) ...
Setting up libpam-wtmpdb:amd64 (0.73.0-3+deb13u1) ...
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
Setting up inetutils-telnet (2:2.6-3+deb13u2) ...
Setting up libnss-systemd:amd64 (257.9-1~deb13u1) ...
Setting up e2fsprogs (1.47.2-3+b7) ...
Setting up wtmpdb (0.73.0-3+deb13u1) ...
Setting up libpam-systemd:amd64 (257.9-1~deb13u1) ...
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
Setting up bind9-host (1:9.20.18-1~deb13u1) ...
Setting up bind9-dnsutils (1:9.20.18-1~deb13u1) ...
Processing triggers for man-db (2.13.1-1) ...
Processing triggers for dbus (1.16.2-2) ...
Processing triggers for procps (2:4.0.4-9) ...
Processing triggers for debianutils (5.23.2) ...
Processing triggers for libc-bin (2.41-12+deb13u1) ...
Processing triggers for postfix (3.10.5-1~deb13u1) ...
Restarting postfix
Could not execute systemctl: at /usr/bin/deb-systemd-invoke line 148.
Con el contenedor LXC actualizado, instalamos la paquetería correspondiente a nuestra gráfica integrada:
apt install -y intel-media-va-driver vainfo
Observamos una salida similar a la siguiente:
Installing:
intel-media-va-driver vainfo
Installing dependencies:
libdrm-common libva-drm2 libva2 libx11-data libxcb-dri3-0 libxext6
libdrm2 libva-wayland2 libwayland-client0 libx11-xcb1 libxcb1 libxfixes3
libigdgmm12 libva-x11-2 libx11-6 libxau6 libxdmcp6
Summary:
Upgrading: 0, Installing: 19, Removing: 0, Not Upgrading: 0
Download size: 5623 kB
Space needed: 24.1 MB / 9964 MB available
Get:1 http://deb.debian.org/debian trixie/main amd64 libva2 amd64 2.22.0-3 [79.4 kB]
Get:2 http://deb.debian.org/debian trixie/main amd64 libigdgmm12 amd64 22.7.2+ds1-1 [176 kB]
Get:3 http://deb.debian.org/debian trixie/main amd64 intel-media-va-driver amd64 25.2.3+dfsg1-1 [3438 kB]
Get:4 http://deb.debian.org/debian trixie/main amd64 libdrm-common all 2.4.124-2 [8288 B]
Get:5 http://deb.debian.org/debian trixie/main amd64 libdrm2 amd64 2.4.124-2 [39.0 kB]
Get:6 http://deb.debian.org/debian trixie/main amd64 libva-drm2 amd64 2.22.0-3 [18.3 kB]
Get:7 http://deb.debian.org/debian trixie/main amd64 libwayland-client0 amd64 1.23.1-3 [26.8 kB]
Get:8 http://deb.debian.org/debian trixie/main amd64 libva-wayland2 amd64 2.22.0-3 [21.8 kB]
Get:9 http://deb.debian.org/debian trixie/main amd64 libxau6 amd64 1:1.0.11-1 [20.4 kB]
Get:10 http://deb.debian.org/debian trixie/main amd64 libxdmcp6 amd64 1:1.1.5-1 [27.8 kB]
Get:11 http://deb.debian.org/debian trixie/main amd64 libxcb1 amd64 1.17.0-2+b1 [144 kB]
Get:12 http://deb.debian.org/debian trixie/main amd64 libx11-data all 2:1.8.12-1 [343 kB]
Get:13 http://deb.debian.org/debian trixie/main amd64 libx11-6 amd64 2:1.8.12-1 [815 kB]
Get:14 http://deb.debian.org/debian trixie/main amd64 libx11-xcb1 amd64 2:1.8.12-1 [247 kB]
Get:15 http://deb.debian.org/debian trixie/main amd64 libxcb-dri3-0 amd64 1.17.0-2+b1 [107 kB]
Get:16 http://deb.debian.org/debian trixie/main amd64 libxext6 amd64 2:1.3.4-1+b3 [50.4 kB]
Get:17 http://deb.debian.org/debian trixie/main amd64 libxfixes3 amd64 1:6.0.0-2+b4 [20.2 kB]
Get:18 http://deb.debian.org/debian trixie/main amd64 libva-x11-2 amd64 2.22.0-3 [23.1 kB]
Get:19 http://deb.debian.org/debian trixie/main amd64 vainfo amd64 2.22.0+ds1-2 [16.7 kB]
Fetched 5623 kB in 0s (44.3 MB/s)
apt-listchanges: Can't set locale; make sure $LC_* and $LANG are correct!
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_CTYPE = (unset),
LC_NUMERIC = (unset),
LC_COLLATE = (unset),
LC_TIME = (unset),
LC_MESSAGES = (unset),
LC_MONETARY = (unset),
LC_ADDRESS = (unset),
LC_IDENTIFICATION = (unset),
LC_MEASUREMENT = (unset),
LC_PAPER = (unset),
LC_TELEPHONE = (unset),
LC_NAME = (unset),
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
Selecting previously unselected package libva2:amd64.
(Reading database ... 18923 files and directories currently installed.)
Preparing to unpack .../00-libva2_2.22.0-3_amd64.deb ...
Unpacking libva2:amd64 (2.22.0-3) ...
Selecting previously unselected package libigdgmm12:amd64.
Preparing to unpack .../01-libigdgmm12_22.7.2+ds1-1_amd64.deb ...
Unpacking libigdgmm12:amd64 (22.7.2+ds1-1) ...
Selecting previously unselected package intel-media-va-driver:amd64.
Preparing to unpack .../02-intel-media-va-driver_25.2.3+dfsg1-1_amd64.deb ...
Unpacking intel-media-va-driver:amd64 (25.2.3+dfsg1-1) ...
Selecting previously unselected package libdrm-common.
Preparing to unpack .../03-libdrm-common_2.4.124-2_all.deb ...
Unpacking libdrm-common (2.4.124-2) ...
Selecting previously unselected package libdrm2:amd64.
Preparing to unpack .../04-libdrm2_2.4.124-2_amd64.deb ...
Unpacking libdrm2:amd64 (2.4.124-2) ...
Selecting previously unselected package libva-drm2:amd64.
Preparing to unpack .../05-libva-drm2_2.22.0-3_amd64.deb ...
Unpacking libva-drm2:amd64 (2.22.0-3) ...
Selecting previously unselected package libwayland-client0:amd64.
Preparing to unpack .../06-libwayland-client0_1.23.1-3_amd64.deb ...
Unpacking libwayland-client0:amd64 (1.23.1-3) ...
Selecting previously unselected package libva-wayland2:amd64.
Preparing to unpack .../07-libva-wayland2_2.22.0-3_amd64.deb ...
Unpacking libva-wayland2:amd64 (2.22.0-3) ...
Selecting previously unselected package libxau6:amd64.
Preparing to unpack .../08-libxau6_1%3a1.0.11-1_amd64.deb ...
Unpacking libxau6:amd64 (1:1.0.11-1) ...
Selecting previously unselected package libxdmcp6:amd64.
Preparing to unpack .../09-libxdmcp6_1%3a1.1.5-1_amd64.deb ...
Unpacking libxdmcp6:amd64 (1:1.1.5-1) ...
Selecting previously unselected package libxcb1:amd64.
Preparing to unpack .../10-libxcb1_1.17.0-2+b1_amd64.deb ...
Unpacking libxcb1:amd64 (1.17.0-2+b1) ...
Selecting previously unselected package libx11-data.
Preparing to unpack .../11-libx11-data_2%3a1.8.12-1_all.deb ...
Unpacking libx11-data (2:1.8.12-1) ...
Selecting previously unselected package libx11-6:amd64.
Preparing to unpack .../12-libx11-6_2%3a1.8.12-1_amd64.deb ...
Unpacking libx11-6:amd64 (2:1.8.12-1) ...
Selecting previously unselected package libx11-xcb1:amd64.
Preparing to unpack .../13-libx11-xcb1_2%3a1.8.12-1_amd64.deb ...
Unpacking libx11-xcb1:amd64 (2:1.8.12-1) ...
Selecting previously unselected package libxcb-dri3-0:amd64.
Preparing to unpack .../14-libxcb-dri3-0_1.17.0-2+b1_amd64.deb ...
Unpacking libxcb-dri3-0:amd64 (1.17.0-2+b1) ...
Selecting previously unselected package libxext6:amd64.
Preparing to unpack .../15-libxext6_2%3a1.3.4-1+b3_amd64.deb ...
Unpacking libxext6:amd64 (2:1.3.4-1+b3) ...
Selecting previously unselected package libxfixes3:amd64.
Preparing to unpack .../16-libxfixes3_1%3a6.0.0-2+b4_amd64.deb ...
Unpacking libxfixes3:amd64 (1:6.0.0-2+b4) ...
Selecting previously unselected package libva-x11-2:amd64.
Preparing to unpack .../17-libva-x11-2_2.22.0-3_amd64.deb ...
Unpacking libva-x11-2:amd64 (2.22.0-3) ...
Selecting previously unselected package vainfo.
Preparing to unpack .../18-vainfo_2.22.0+ds1-2_amd64.deb ...
Unpacking vainfo (2.22.0+ds1-2) ...
Setting up libxau6:amd64 (1:1.0.11-1) ...
Setting up libxdmcp6:amd64 (1:1.1.5-1) ...
Setting up libxcb1:amd64 (1.17.0-2+b1) ...
Setting up libigdgmm12:amd64 (22.7.2+ds1-1) ...
Setting up libva2:amd64 (2.22.0-3) ...
Setting up libx11-data (2:1.8.12-1) ...
Setting up intel-media-va-driver:amd64 (25.2.3+dfsg1-1) ...
Setting up libx11-6:amd64 (2:1.8.12-1) ...
Setting up libdrm-common (2.4.124-2) ...
Setting up libwayland-client0:amd64 (1.23.1-3) ...
Setting up libxcb-dri3-0:amd64 (1.17.0-2+b1) ...
Setting up libx11-xcb1:amd64 (2:1.8.12-1) ...
Setting up libxext6:amd64 (2:1.3.4-1+b3) ...
Setting up libxfixes3:amd64 (1:6.0.0-2+b4) ...
Setting up libdrm2:amd64 (2.4.124-2) ...
Setting up libva-drm2:amd64 (2.22.0-3) ...
Setting up libva-x11-2:amd64 (2.22.0-3) ...
Setting up libva-wayland2:amd64 (2.22.0-3) ...
Setting up vainfo (2.22.0+ds1-2) ...
Processing triggers for man-db (2.13.1-1) ...
Processing triggers for libc-bin (2.41-12+deb13u1) ...
Con la paquetería instalada, comprobamos el funcionamiento de Quick Sync y visualizamos los perfiles disponibles en la tarjeta gráfica:
root@jellyfin:~# vainfo
Trying display: wayland
Trying display: x11
error: can't connect to X server!
Trying display: drm
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.22 (libva 2.22.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 25.2.3 ()
vainfo: Supported profile and entrypoints
VAProfileNone : VAEntrypointVideoProc
VAProfileNone : VAEntrypointStats
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSliceLP
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSliceLP
VAProfileJPEGBaseline : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointEncPicture
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
VAProfileVP8Version0_3 : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointEncSliceLP
VAProfileHEVCMain10 : VAEntrypointVLD
VAProfileHEVCMain10 : VAEntrypointEncSliceLP
VAProfileVP9Profile0 : VAEntrypointVLD
VAProfileVP9Profile1 : VAEntrypointVLD
VAProfileVP9Profile2 : VAEntrypointVLD
VAProfileVP9Profile3 : VAEntrypointVLD
VAProfileHEVCMain422_10 : VAEntrypointVLD
VAProfileHEVCMain444 : VAEntrypointVLD
VAProfileHEVCMain444 : VAEntrypointEncSliceLP
VAProfileHEVCMain444_10 : VAEntrypointVLD
VAProfileHEVCMain444_10 : VAEntrypointEncSliceLP
Con la salida anterior observamos que nuestra tarjeta gráfica dispone de los siguientes códecs:
| Estado | Códec |
|---|---|
| ✅ | H264 |
| ✅ | HEVC |
| ✅ | MPEG2 |
| ❌ | VC1 |
| ✅ | VP8 |
| ✅ | VP9 |
| ✅ | AV1 |
| ✅ | HEVC 10bit |
| ✅ | VP9 10bit |
| ✅ | HEVC RExt 8/10bit |
| ✅ | HEVC RExt 12bit |
Instalación de Jellyfin
Una vez hemos comprobado que la aceleración por hardware funciona correctamente mediante vainfo, procedemos a instalar Jellyfin.
Para ello, primero instalamos dos paquetes necesarios para poder añadir el repositorio oficial de Jellyfin:
apt install -y curl gnupg
Observamos una salida similar a la siguiente:
Installing:
curl gnupg
Installing dependencies:
dirmngr gpg gpgconf libassuan9 libgcrypt20 libksba8 libnghttp3-9 libssh2-1t64
gnupg-l10n gpg-agent gpgsm libbrotli1 libgpg-error-l10n libldap-common libnpth0t64 pinentry-curses
gnupg-utils gpg-wks-client gpgv libcurl4t64 libgpg-error0 libldap2 librtmp1
Suggested packages:
dbus-user-session tor parcimonie scdaemon rng-tools
pinentry-gnome3 gpg-wks-server xloadimage tpm2daemon pinentry-doc
Summary:
Upgrading: 0, Installing: 25, Removing: 0, Not Upgrading: 0
Download size: 6317 kB
Space needed: 19.3 MB / 9938 MB available
Get:1 http://deb.debian.org/debian trixie/main amd64 libbrotli1 amd64 1.1.0-2+b7 [307 kB]
Get:2 http://deb.debian.org/debian trixie/main amd64 libldap2 amd64 2.6.10+dfsg-1 [194 kB]
Get:3 http://deb.debian.org/debian trixie/main amd64 libnghttp3-9 amd64 1.8.0-1 [67.7 kB]
Get:4 http://deb.debian.org/debian trixie/main amd64 librtmp1 amd64 2.4+20151223.gitfa8646d.1-2+b5 [58.8 kB]
Get:5 http://deb.debian.org/debian trixie/main amd64 libssh2-1t64 amd64 1.11.1-1 [245 kB]
Get:6 http://deb.debian.org/debian trixie/main amd64 libcurl4t64 amd64 8.14.1-2+deb13u2 [391 kB]
Get:7 http://deb.debian.org/debian trixie/main amd64 curl amd64 8.14.1-2+deb13u2 [270 kB]
Get:8 http://deb.debian.org/debian trixie/main amd64 libgpg-error0 amd64 1.51-4 [82.1 kB]
Get:9 http://deb.debian.org/debian trixie/main amd64 libassuan9 amd64 3.0.2-2 [61.5 kB]
Get:10 http://deb.debian.org/debian trixie/main amd64 libgcrypt20 amd64 1.11.0-7 [843 kB]
Get:11 http://deb.debian.org/debian trixie/main amd64 gpgconf amd64 2.4.7-21+deb13u1+b1 [129 kB]
Get:12 http://deb.debian.org/debian trixie/main amd64 libksba8 amd64 1.6.7-2+b1 [136 kB]
Get:13 http://deb.debian.org/debian trixie/main amd64 libnpth0t64 amd64 1.8-3 [23.2 kB]
Get:14 http://deb.debian.org/debian trixie/main amd64 dirmngr amd64 2.4.7-21+deb13u1+b1 [384 kB]
Get:15 http://deb.debian.org/debian trixie/main amd64 gnupg-l10n all 2.4.7-21+deb13u1 [749 kB]
Get:16 http://deb.debian.org/debian trixie/main amd64 gpg amd64 2.4.7-21+deb13u1+b1 [634 kB]
Get:17 http://deb.debian.org/debian trixie/main amd64 pinentry-curses amd64 1.3.1-2 [86.4 kB]
Get:18 http://deb.debian.org/debian trixie/main amd64 gpg-agent amd64 2.4.7-21+deb13u1+b1 [271 kB]
Get:19 http://deb.debian.org/debian trixie/main amd64 gpgsm amd64 2.4.7-21+deb13u1+b1 [275 kB]
Get:20 http://deb.debian.org/debian trixie/main amd64 gnupg all 2.4.7-21+deb13u1 [417 kB]
Get:21 http://deb.debian.org/debian trixie/main amd64 gpg-wks-client amd64 2.4.7-21+deb13u1+b1 [109 kB]
Get:22 http://deb.debian.org/debian trixie/main amd64 gpgv amd64 2.4.7-21+deb13u1+b1 [241 kB]
Get:23 http://deb.debian.org/debian trixie/main amd64 libgpg-error-l10n all 1.51-4 [114 kB]
Get:24 http://deb.debian.org/debian trixie/main amd64 libldap-common all 2.6.10+dfsg-1 [35.1 kB]
Get:25 http://deb.debian.org/debian trixie/main amd64 gnupg-utils amd64 2.4.7-21+deb13u1+b1 [195 kB]
Fetched 6317 kB in 0s (38.7 MB/s)
apt-listchanges: Can't set locale; make sure $LC_* and $LANG are correct!
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_CTYPE = (unset),
LC_NUMERIC = (unset),
LC_COLLATE = (unset),
LC_TIME = (unset),
LC_MESSAGES = (unset),
LC_MONETARY = (unset),
LC_ADDRESS = (unset),
LC_IDENTIFICATION = (unset),
LC_MEASUREMENT = (unset),
LC_PAPER = (unset),
LC_TELEPHONE = (unset),
LC_NAME = (unset),
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
Selecting previously unselected package libbrotli1:amd64.
(Reading database ... 19291 files and directories currently installed.)
Preparing to unpack .../00-libbrotli1_1.1.0-2+b7_amd64.deb ...
Unpacking libbrotli1:amd64 (1.1.0-2+b7) ...
Selecting previously unselected package libldap2:amd64.
Preparing to unpack .../01-libldap2_2.6.10+dfsg-1_amd64.deb ...
Unpacking libldap2:amd64 (2.6.10+dfsg-1) ...
Selecting previously unselected package libnghttp3-9:amd64.
Preparing to unpack .../02-libnghttp3-9_1.8.0-1_amd64.deb ...
Unpacking libnghttp3-9:amd64 (1.8.0-1) ...
Selecting previously unselected package librtmp1:amd64.
Preparing to unpack .../03-librtmp1_2.4+20151223.gitfa8646d.1-2+b5_amd64.deb ...
Unpacking librtmp1:amd64 (2.4+20151223.gitfa8646d.1-2+b5) ...
Selecting previously unselected package libssh2-1t64:amd64.
Preparing to unpack .../04-libssh2-1t64_1.11.1-1_amd64.deb ...
Unpacking libssh2-1t64:amd64 (1.11.1-1) ...
Selecting previously unselected package libcurl4t64:amd64.
Preparing to unpack .../05-libcurl4t64_8.14.1-2+deb13u2_amd64.deb ...
Unpacking libcurl4t64:amd64 (8.14.1-2+deb13u2) ...
Selecting previously unselected package curl.
Preparing to unpack .../06-curl_8.14.1-2+deb13u2_amd64.deb ...
Unpacking curl (8.14.1-2+deb13u2) ...
Selecting previously unselected package libgpg-error0:amd64.
Preparing to unpack .../07-libgpg-error0_1.51-4_amd64.deb ...
Unpacking libgpg-error0:amd64 (1.51-4) ...
Selecting previously unselected package libassuan9:amd64.
Preparing to unpack .../08-libassuan9_3.0.2-2_amd64.deb ...
Unpacking libassuan9:amd64 (3.0.2-2) ...
Selecting previously unselected package libgcrypt20:amd64.
Preparing to unpack .../09-libgcrypt20_1.11.0-7_amd64.deb ...
Unpacking libgcrypt20:amd64 (1.11.0-7) ...
Selecting previously unselected package gpgconf.
Preparing to unpack .../10-gpgconf_2.4.7-21+deb13u1+b1_amd64.deb ...
Unpacking gpgconf (2.4.7-21+deb13u1+b1) ...
Selecting previously unselected package libksba8:amd64.
Preparing to unpack .../11-libksba8_1.6.7-2+b1_amd64.deb ...
Unpacking libksba8:amd64 (1.6.7-2+b1) ...
Selecting previously unselected package libnpth0t64:amd64.
Preparing to unpack .../12-libnpth0t64_1.8-3_amd64.deb ...
Unpacking libnpth0t64:amd64 (1.8-3) ...
Selecting previously unselected package dirmngr.
Preparing to unpack .../13-dirmngr_2.4.7-21+deb13u1+b1_amd64.deb ...
Unpacking dirmngr (2.4.7-21+deb13u1+b1) ...
Selecting previously unselected package gnupg-l10n.
Preparing to unpack .../14-gnupg-l10n_2.4.7-21+deb13u1_all.deb ...
Unpacking gnupg-l10n (2.4.7-21+deb13u1) ...
Selecting previously unselected package gpg.
Preparing to unpack .../15-gpg_2.4.7-21+deb13u1+b1_amd64.deb ...
Unpacking gpg (2.4.7-21+deb13u1+b1) ...
Selecting previously unselected package pinentry-curses.
Preparing to unpack .../16-pinentry-curses_1.3.1-2_amd64.deb ...
Unpacking pinentry-curses (1.3.1-2) ...
Selecting previously unselected package gpg-agent.
Preparing to unpack .../17-gpg-agent_2.4.7-21+deb13u1+b1_amd64.deb ...
Unpacking gpg-agent (2.4.7-21+deb13u1+b1) ...
Selecting previously unselected package gpgsm.
Preparing to unpack .../18-gpgsm_2.4.7-21+deb13u1+b1_amd64.deb ...
Unpacking gpgsm (2.4.7-21+deb13u1+b1) ...
Selecting previously unselected package gnupg.
Preparing to unpack .../19-gnupg_2.4.7-21+deb13u1_all.deb ...
Unpacking gnupg (2.4.7-21+deb13u1) ...
Selecting previously unselected package gpg-wks-client.
Preparing to unpack .../20-gpg-wks-client_2.4.7-21+deb13u1+b1_amd64.deb ...
Unpacking gpg-wks-client (2.4.7-21+deb13u1+b1) ...
Selecting previously unselected package gpgv.
Preparing to unpack .../21-gpgv_2.4.7-21+deb13u1+b1_amd64.deb ...
Unpacking gpgv (2.4.7-21+deb13u1+b1) ...
Selecting previously unselected package libgpg-error-l10n.
Preparing to unpack .../22-libgpg-error-l10n_1.51-4_all.deb ...
Unpacking libgpg-error-l10n (1.51-4) ...
Selecting previously unselected package libldap-common.
Preparing to unpack .../23-libldap-common_2.6.10+dfsg-1_all.deb ...
Unpacking libldap-common (2.6.10+dfsg-1) ...
Selecting previously unselected package gnupg-utils.
Preparing to unpack .../24-gnupg-utils_2.4.7-21+deb13u1+b1_amd64.deb ...
Unpacking gnupg-utils (2.4.7-21+deb13u1+b1) ...
Setting up libnpth0t64:amd64 (1.8-3) ...
Setting up libgpg-error0:amd64 (1.51-4) ...
Setting up libbrotli1:amd64 (1.1.0-2+b7) ...
Setting up libgcrypt20:amd64 (1.11.0-7) ...
Setting up libldap-common (2.6.10+dfsg-1) ...
Setting up gnupg-l10n (2.4.7-21+deb13u1) ...
Setting up librtmp1:amd64 (2.4+20151223.gitfa8646d.1-2+b5) ...
Setting up libnghttp3-9:amd64 (1.8.0-1) ...
Setting up gpgv (2.4.7-21+deb13u1+b1) ...
Setting up libassuan9:amd64 (3.0.2-2) ...
Setting up gpgconf (2.4.7-21+deb13u1+b1) ...
Setting up libssh2-1t64:amd64 (1.11.1-1) ...
Setting up libgpg-error-l10n (1.51-4) ...
Setting up libldap2:amd64 (2.6.10+dfsg-1) ...
Setting up libksba8:amd64 (1.6.7-2+b1) ...
Setting up pinentry-curses (1.3.1-2) ...
Setting up gpg-agent (2.4.7-21+deb13u1+b1) ...
Created symlink '/etc/systemd/user/sockets.target.wants/gpg-agent-browser.socket' → '/usr/lib/systemd/user/gpg-agent-browser.socket'.
Created symlink '/etc/systemd/user/sockets.target.wants/gpg-agent-extra.socket' → '/usr/lib/systemd/user/gpg-agent-extra.socket'.
Created symlink '/etc/systemd/user/sockets.target.wants/gpg-agent-ssh.socket' → '/usr/lib/systemd/user/gpg-agent-ssh.socket'.
Created symlink '/etc/systemd/user/sockets.target.wants/gpg-agent.socket' → '/usr/lib/systemd/user/gpg-agent.socket'.
Setting up libcurl4t64:amd64 (8.14.1-2+deb13u2) ...
Setting up gpgsm (2.4.7-21+deb13u1+b1) ...
Setting up dirmngr (2.4.7-21+deb13u1+b1) ...
Created symlink '/etc/systemd/user/sockets.target.wants/dirmngr.socket' → '/usr/lib/systemd/user/dirmngr.socket'.
Setting up curl (8.14.1-2+deb13u2) ...
Setting up gpg (2.4.7-21+deb13u1+b1) ...
Created symlink '/etc/systemd/user/sockets.target.wants/keyboxd.socket' → '/usr/lib/systemd/user/keyboxd.socket'.
Setting up gnupg-utils (2.4.7-21+deb13u1+b1) ...
Setting up gpg-wks-client (2.4.7-21+deb13u1+b1) ...
Setting up gnupg (2.4.7-21+deb13u1) ...
Processing triggers for man-db (2.13.1-1) ...
Processing triggers for libc-bin (2.41-12+deb13u1) ...
Importamos la clave del repositorio:
curl -fsSL https://repo.jellyfin.org/jellyfin_team.gpg.key | gpg --dearmor -o /etc/apt/keyrings/jellyfin.gpg
Añadimos el repositorio correspondiente a Debian:
echo "deb [signed-by=/etc/apt/keyrings/jellyfin.gpg] https://repo.jellyfin.org/debian trixie main" > /etc/apt/sources.list.d/jellyfin.list
Actualizamos nuevamente los repositorios:
apt update
Y observamos que ya aparece el repositorio de Jellyfin:
Hit:1 http://deb.debian.org/debian trixie InRelease
Hit:2 http://deb.debian.org/debian trixie-updates InRelease
Hit:3 http://security.debian.org trixie-security InRelease
Get:4 https://repo.jellyfin.org/debian trixie InRelease [8130 B]
Get:5 https://ams2.mirror.jellyfin.org/files/debian trixie/main amd64 Packages [8431 B]
Fetched 16.6 kB in 1s (19.3 kB/s)
All packages are up to date.
Instalamos Jellyfin:
apt install -y jellyfin
Installing:
jellyfin
Installing dependencies:
fontconfig-config libbluray2 libopenmpt0t64 libudfread0 libx265-215 libxshmfence1
fonts-dejavu-core libcairo2 libopus0 libvorbis0a libxcb-present0 libzvbi-common
fonts-dejavu-mono libfontconfig1 libpciaccess0 libvorbisenc2 libxcb-randr0 libzvbi0t64
jellyfin-ffmpeg7 libfreetype6 libpixman-1-0 libvorbisfile3 libxcb-render0 ocl-icd-libopencl1
jellyfin-server libmp3lame0 libpng16-16t64 libvpx9 libxcb-shm0 sudo
jellyfin-web libmpg123-0t64 libsharpyuv0 libwebp7 libxcb-sync1
libaacs0 libnuma1 libtheoradec1 libwebpmux3 libxcb-xfixes0
libbdplus0 libogg0 libtheoraenc1 libx264-164 libxrender1
Suggested packages:
intel-opencl-icd intel-opencl-icd-legacy libbluray-bdj opus-tools pciutils opencl-icd
Summary:
Upgrading: 0, Installing: 46, Removing: 0, Not Upgrading: 0
Download size: 146 MB
Space needed: 502 MB / 9915 MB available
Get:1 http://security.debian.org trixie-security/main amd64 libpng16-16t64 amd64 1.6.48-1+deb13u3 [283 kB]
Get:2 http://deb.debian.org/debian trixie/main amd64 sudo amd64 1.9.16p2-3 [2087 kB]
Get:3 http://security.debian.org trixie-security/main amd64 libvpx9 amd64 1.15.0-2.1+deb13u1 [1115 kB]
Get:4 http://deb.debian.org/debian trixie/main amd64 fonts-dejavu-mono all 2.37-8 [489 kB]
Get:5 http://deb.debian.org/debian trixie/main amd64 fonts-dejavu-core all 2.37-8 [840 kB]
Get:6 http://deb.debian.org/debian trixie/main amd64 fontconfig-config amd64 2.15.0-2.3 [318 kB]
Get:7 http://deb.debian.org/debian trixie/main amd64 libfreetype6 amd64 2.13.3+dfsg-1 [452 kB]
Get:8 http://deb.debian.org/debian trixie/main amd64 libfontconfig1 amd64 2.15.0-2.3 [392 kB]
Get:9 http://deb.debian.org/debian trixie/main amd64 libudfread0 amd64 1.1.2-1+b2 [17.7 kB]
Get:10 http://deb.debian.org/debian trixie/main amd64 libbluray2 amd64 1:1.3.4-1+b2 [138 kB]
Get:11 http://deb.debian.org/debian trixie/main amd64 libmp3lame0 amd64 3.100-6+b3 [363 kB]
Get:12 http://deb.debian.org/debian trixie/main amd64 libmpg123-0t64 amd64 1.32.10-1 [149 kB]
Get:13 http://deb.debian.org/debian trixie/main amd64 libogg0 amd64 1.3.5-3+b2 [23.8 kB]
Get:14 http://deb.debian.org/debian trixie/main amd64 libvorbis0a amd64 1.3.7-3 [90.0 kB]
Get:15 http://deb.debian.org/debian trixie/main amd64 libvorbisfile3 amd64 1.3.7-3 [20.9 kB]
Get:16 http://deb.debian.org/debian trixie/main amd64 libopenmpt0t64 amd64 0.7.13-1+b1 [855 kB]
Get:17 http://deb.debian.org/debian trixie/main amd64 libopus0 amd64 1.5.2-2 [2852 kB]
Get:18 http://deb.debian.org/debian trixie/main amd64 libpciaccess0 amd64 0.17-3+b3 [51.9 kB]
Get:19 http://deb.debian.org/debian trixie/main amd64 libpixman-1-0 amd64 0.44.0-3 [248 kB]
Get:20 http://deb.debian.org/debian trixie/main amd64 libxcb-render0 amd64 1.17.0-2+b1 [115 kB]
Get:21 http://deb.debian.org/debian trixie/main amd64 libxcb-shm0 amd64 1.17.0-2+b1 [105 kB]
Get:22 http://deb.debian.org/debian trixie/main amd64 libxrender1 amd64 1:0.9.12-1 [27.9 kB]
Get:23 http://deb.debian.org/debian trixie/main amd64 libcairo2 amd64 1.18.4-1+b1 [538 kB]
Get:24 http://deb.debian.org/debian trixie/main amd64 libtheoradec1 amd64 1.2.0~alpha1+dfsg-6 [58.4 kB]
Get:25 http://deb.debian.org/debian trixie/main amd64 libtheoraenc1 amd64 1.2.0~alpha1+dfsg-6 [108 kB]
Get:26 http://deb.debian.org/debian trixie/main amd64 libvorbisenc2 amd64 1.3.7-3 [75.4 kB]
Get:27 http://deb.debian.org/debian trixie/main amd64 libsharpyuv0 amd64 1.5.0-0.1 [116 kB]
Get:28 http://deb.debian.org/debian trixie/main amd64 libwebp7 amd64 1.5.0-0.1 [318 kB]
Get:29 http://deb.debian.org/debian trixie/main amd64 libwebpmux3 amd64 1.5.0-0.1 [126 kB]
Get:30 http://deb.debian.org/debian trixie/main amd64 libx264-164 amd64 2:0.164.3108+git31e19f9-2+b1 [558 kB]
Get:31 http://deb.debian.org/debian trixie/main amd64 libnuma1 amd64 2.0.19-1 [22.2 kB]
Get:32 http://deb.debian.org/debian trixie/main amd64 libx265-215 amd64 4.1-2 [1237 kB]
Get:33 http://deb.debian.org/debian trixie/main amd64 libxcb-present0 amd64 1.17.0-2+b1 [106 kB]
Get:34 http://deb.debian.org/debian trixie/main amd64 libxcb-randr0 amd64 1.17.0-2+b1 [117 kB]
Get:35 http://deb.debian.org/debian trixie/main amd64 libxcb-sync1 amd64 1.17.0-2+b1 [109 kB]
Get:36 http://deb.debian.org/debian trixie/main amd64 libxcb-xfixes0 amd64 1.17.0-2+b1 [109 kB]
Get:37 http://deb.debian.org/debian trixie/main amd64 libxshmfence1 amd64 1.3.3-1 [10.9 kB]
Get:38 http://deb.debian.org/debian trixie/main amd64 libzvbi-common all 0.2.44-1 [71.4 kB]
Get:39 http://deb.debian.org/debian trixie/main amd64 libzvbi0t64 amd64 0.2.44-1 [278 kB]
Get:40 http://deb.debian.org/debian trixie/main amd64 ocl-icd-libopencl1 amd64 2.3.3-1 [42.9 kB]
Get:41 http://deb.debian.org/debian trixie/main amd64 libaacs0 amd64 0.11.1-4+b1 [58.5 kB]
Get:42 http://deb.debian.org/debian trixie/main amd64 libbdplus0 amd64 0.2.0-4+b1 [54.9 kB]
Get:43 https://repo.jellyfin.org/debian trixie/main amd64 jellyfin-server amd64 10.11.6+deb13 [52.4 MB]
Get:44 https://repo.jellyfin.org/debian trixie/main amd64 jellyfin-web all 10.11.6+deb13 [31.9 MB]
Get:45 https://ams1.mirror.jellyfin.org/files/debian trixie/main amd64 jellyfin-ffmpeg7 amd64 7.1.3-3-trixie [46.1 MB]
Get:46 https://repo.jellyfin.org/debian trixie/main amd64 jellyfin all 10.11.6+deb13 [2442 B]
Fetched 146 MB in 7s (21.6 MB/s)
apt-listchanges: Can't set locale; make sure $LC_* and $LANG are correct!
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_CTYPE = (unset),
LC_NUMERIC = (unset),
LC_COLLATE = (unset),
LC_TIME = (unset),
LC_MESSAGES = (unset),
LC_MONETARY = (unset),
LC_ADDRESS = (unset),
LC_IDENTIFICATION = (unset),
LC_MEASUREMENT = (unset),
LC_PAPER = (unset),
LC_TELEPHONE = (unset),
LC_NAME = (unset),
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
Extracting templates from packages: 100%
Preconfiguring packages ...
Selecting previously unselected package sudo.
(Reading database ... 19667 files and directories currently installed.)
Preparing to unpack .../00-sudo_1.9.16p2-3_amd64.deb ...
Unpacking sudo (1.9.16p2-3) ...
Selecting previously unselected package fonts-dejavu-mono.
Preparing to unpack .../01-fonts-dejavu-mono_2.37-8_all.deb ...
Unpacking fonts-dejavu-mono (2.37-8) ...
Selecting previously unselected package fonts-dejavu-core.
Preparing to unpack .../02-fonts-dejavu-core_2.37-8_all.deb ...
Unpacking fonts-dejavu-core (2.37-8) ...
Selecting previously unselected package fontconfig-config.
Preparing to unpack .../03-fontconfig-config_2.15.0-2.3_amd64.deb ...
Unpacking fontconfig-config (2.15.0-2.3) ...
Selecting previously unselected package libpng16-16t64:amd64.
Preparing to unpack .../04-libpng16-16t64_1.6.48-1+deb13u3_amd64.deb ...
Unpacking libpng16-16t64:amd64 (1.6.48-1+deb13u3) ...
Selecting previously unselected package libfreetype6:amd64.
Preparing to unpack .../05-libfreetype6_2.13.3+dfsg-1_amd64.deb ...
Unpacking libfreetype6:amd64 (2.13.3+dfsg-1) ...
Selecting previously unselected package libfontconfig1:amd64.
Preparing to unpack .../06-libfontconfig1_2.15.0-2.3_amd64.deb ...
Unpacking libfontconfig1:amd64 (2.15.0-2.3) ...
Selecting previously unselected package jellyfin-server.
Preparing to unpack .../07-jellyfin-server_10.11.6+deb13_amd64.deb ...
Unpacking jellyfin-server (10.11.6+deb13) ...
Selecting previously unselected package jellyfin-web.
Preparing to unpack .../08-jellyfin-web_10.11.6+deb13_all.deb ...
Unpacking jellyfin-web (10.11.6+deb13) ...
Selecting previously unselected package libudfread0:amd64.
Preparing to unpack .../09-libudfread0_1.1.2-1+b2_amd64.deb ...
Unpacking libudfread0:amd64 (1.1.2-1+b2) ...
Selecting previously unselected package libbluray2:amd64.
Preparing to unpack .../10-libbluray2_1%3a1.3.4-1+b2_amd64.deb ...
Unpacking libbluray2:amd64 (1:1.3.4-1+b2) ...
Selecting previously unselected package libmp3lame0:amd64.
Preparing to unpack .../11-libmp3lame0_3.100-6+b3_amd64.deb ...
Unpacking libmp3lame0:amd64 (3.100-6+b3) ...
Selecting previously unselected package libmpg123-0t64:amd64.
Preparing to unpack .../12-libmpg123-0t64_1.32.10-1_amd64.deb ...
Unpacking libmpg123-0t64:amd64 (1.32.10-1) ...
Selecting previously unselected package libogg0:amd64.
Preparing to unpack .../13-libogg0_1.3.5-3+b2_amd64.deb ...
Unpacking libogg0:amd64 (1.3.5-3+b2) ...
Selecting previously unselected package libvorbis0a:amd64.
Preparing to unpack .../14-libvorbis0a_1.3.7-3_amd64.deb ...
Unpacking libvorbis0a:amd64 (1.3.7-3) ...
Selecting previously unselected package libvorbisfile3:amd64.
Preparing to unpack .../15-libvorbisfile3_1.3.7-3_amd64.deb ...
Unpacking libvorbisfile3:amd64 (1.3.7-3) ...
Selecting previously unselected package libopenmpt0t64:amd64.
Preparing to unpack .../16-libopenmpt0t64_0.7.13-1+b1_amd64.deb ...
Unpacking libopenmpt0t64:amd64 (0.7.13-1+b1) ...
Selecting previously unselected package libopus0:amd64.
Preparing to unpack .../17-libopus0_1.5.2-2_amd64.deb ...
Unpacking libopus0:amd64 (1.5.2-2) ...
Selecting previously unselected package libpciaccess0:amd64.
Preparing to unpack .../18-libpciaccess0_0.17-3+b3_amd64.deb ...
Unpacking libpciaccess0:amd64 (0.17-3+b3) ...
Selecting previously unselected package libpixman-1-0:amd64.
Preparing to unpack .../19-libpixman-1-0_0.44.0-3_amd64.deb ...
Unpacking libpixman-1-0:amd64 (0.44.0-3) ...
Selecting previously unselected package libxcb-render0:amd64.
Preparing to unpack .../20-libxcb-render0_1.17.0-2+b1_amd64.deb ...
Unpacking libxcb-render0:amd64 (1.17.0-2+b1) ...
Selecting previously unselected package libxcb-shm0:amd64.
Preparing to unpack .../21-libxcb-shm0_1.17.0-2+b1_amd64.deb ...
Unpacking libxcb-shm0:amd64 (1.17.0-2+b1) ...
Selecting previously unselected package libxrender1:amd64.
Preparing to unpack .../22-libxrender1_1%3a0.9.12-1_amd64.deb ...
Unpacking libxrender1:amd64 (1:0.9.12-1) ...
Selecting previously unselected package libcairo2:amd64.
Preparing to unpack .../23-libcairo2_1.18.4-1+b1_amd64.deb ...
Unpacking libcairo2:amd64 (1.18.4-1+b1) ...
Selecting previously unselected package libtheoradec1:amd64.
Preparing to unpack .../24-libtheoradec1_1.2.0~alpha1+dfsg-6_amd64.deb ...
Unpacking libtheoradec1:amd64 (1.2.0~alpha1+dfsg-6) ...
Selecting previously unselected package libtheoraenc1:amd64.
Preparing to unpack .../25-libtheoraenc1_1.2.0~alpha1+dfsg-6_amd64.deb ...
Unpacking libtheoraenc1:amd64 (1.2.0~alpha1+dfsg-6) ...
Selecting previously unselected package libvorbisenc2:amd64.
Preparing to unpack .../26-libvorbisenc2_1.3.7-3_amd64.deb ...
Unpacking libvorbisenc2:amd64 (1.3.7-3) ...
Selecting previously unselected package libvpx9:amd64.
Preparing to unpack .../27-libvpx9_1.15.0-2.1+deb13u1_amd64.deb ...
Unpacking libvpx9:amd64 (1.15.0-2.1+deb13u1) ...
Selecting previously unselected package libsharpyuv0:amd64.
Preparing to unpack .../28-libsharpyuv0_1.5.0-0.1_amd64.deb ...
Unpacking libsharpyuv0:amd64 (1.5.0-0.1) ...
Selecting previously unselected package libwebp7:amd64.
Preparing to unpack .../29-libwebp7_1.5.0-0.1_amd64.deb ...
Unpacking libwebp7:amd64 (1.5.0-0.1) ...
Selecting previously unselected package libwebpmux3:amd64.
Preparing to unpack .../30-libwebpmux3_1.5.0-0.1_amd64.deb ...
Unpacking libwebpmux3:amd64 (1.5.0-0.1) ...
Selecting previously unselected package libx264-164:amd64.
Preparing to unpack .../31-libx264-164_2%3a0.164.3108+git31e19f9-2+b1_amd64.deb ...
Unpacking libx264-164:amd64 (2:0.164.3108+git31e19f9-2+b1) ...
Selecting previously unselected package libnuma1:amd64.
Preparing to unpack .../32-libnuma1_2.0.19-1_amd64.deb ...
Unpacking libnuma1:amd64 (2.0.19-1) ...
Selecting previously unselected package libx265-215:amd64.
Preparing to unpack .../33-libx265-215_4.1-2_amd64.deb ...
Unpacking libx265-215:amd64 (4.1-2) ...
Selecting previously unselected package libxcb-present0:amd64.
Preparing to unpack .../34-libxcb-present0_1.17.0-2+b1_amd64.deb ...
Unpacking libxcb-present0:amd64 (1.17.0-2+b1) ...
Selecting previously unselected package libxcb-randr0:amd64.
Preparing to unpack .../35-libxcb-randr0_1.17.0-2+b1_amd64.deb ...
Unpacking libxcb-randr0:amd64 (1.17.0-2+b1) ...
Selecting previously unselected package libxcb-sync1:amd64.
Preparing to unpack .../36-libxcb-sync1_1.17.0-2+b1_amd64.deb ...
Unpacking libxcb-sync1:amd64 (1.17.0-2+b1) ...
Selecting previously unselected package libxcb-xfixes0:amd64.
Preparing to unpack .../37-libxcb-xfixes0_1.17.0-2+b1_amd64.deb ...
Unpacking libxcb-xfixes0:amd64 (1.17.0-2+b1) ...
Selecting previously unselected package libxshmfence1:amd64.
Preparing to unpack .../38-libxshmfence1_1.3.3-1_amd64.deb ...
Unpacking libxshmfence1:amd64 (1.3.3-1) ...
Selecting previously unselected package libzvbi-common.
Preparing to unpack .../39-libzvbi-common_0.2.44-1_all.deb ...
Unpacking libzvbi-common (0.2.44-1) ...
Selecting previously unselected package libzvbi0t64:amd64.
Preparing to unpack .../40-libzvbi0t64_0.2.44-1_amd64.deb ...
Unpacking libzvbi0t64:amd64 (0.2.44-1) ...
Selecting previously unselected package ocl-icd-libopencl1:amd64.
Preparing to unpack .../41-ocl-icd-libopencl1_2.3.3-1_amd64.deb ...
Unpacking ocl-icd-libopencl1:amd64 (2.3.3-1) ...
Selecting previously unselected package jellyfin-ffmpeg7.
Preparing to unpack .../42-jellyfin-ffmpeg7_7.1.3-3-trixie_amd64.deb ...
Unpacking jellyfin-ffmpeg7 (7.1.3-3-trixie) ...
Selecting previously unselected package jellyfin.
Preparing to unpack .../43-jellyfin_10.11.6+deb13_all.deb ...
Unpacking jellyfin (10.11.6+deb13) ...
Selecting previously unselected package libaacs0:amd64.
Preparing to unpack .../44-libaacs0_0.11.1-4+b1_amd64.deb ...
Unpacking libaacs0:amd64 (0.11.1-4+b1) ...
Selecting previously unselected package libbdplus0:amd64.
Preparing to unpack .../45-libbdplus0_0.2.0-4+b1_amd64.deb ...
Unpacking libbdplus0:amd64 (0.2.0-4+b1) ...
Setting up libpixman-1-0:amd64 (0.44.0-3) ...
Setting up libudfread0:amd64 (1.1.2-1+b2) ...
Setting up libsharpyuv0:amd64 (1.5.0-0.1) ...
Setting up libpciaccess0:amd64 (0.17-3+b3) ...
Setting up jellyfin-web (10.11.6+deb13) ...
Setting up libxcb-xfixes0:amd64 (1.17.0-2+b1) ...
Setting up libogg0:amd64 (1.3.5-3+b2) ...
Setting up libx264-164:amd64 (2:0.164.3108+git31e19f9-2+b1) ...
Setting up libxrender1:amd64 (1:0.9.12-1) ...
Setting up libxcb-render0:amd64 (1.17.0-2+b1) ...
Setting up libxcb-shm0:amd64 (1.17.0-2+b1) ...
Setting up libmpg123-0t64:amd64 (1.32.10-1) ...
Setting up libxcb-present0:amd64 (1.17.0-2+b1) ...
Setting up libtheoraenc1:amd64 (1.2.0~alpha1+dfsg-6) ...
Setting up libxcb-sync1:amd64 (1.17.0-2+b1) ...
Setting up libopus0:amd64 (1.5.2-2) ...
Setting up fonts-dejavu-mono (2.37-8) ...
Setting up libpng16-16t64:amd64 (1.6.48-1+deb13u3) ...
Setting up libvorbis0a:amd64 (1.3.7-3) ...
Setting up sudo (1.9.16p2-3) ...
Setting up fonts-dejavu-core (2.37-8) ...
Setting up libaacs0:amd64 (0.11.1-4+b1) ...
Setting up libwebp7:amd64 (1.5.0-0.1) ...
Setting up libbdplus0:amd64 (0.2.0-4+b1) ...
Setting up libnuma1:amd64 (2.0.19-1) ...
Setting up libvpx9:amd64 (1.15.0-2.1+deb13u1) ...
Setting up ocl-icd-libopencl1:amd64 (2.3.3-1) ...
Setting up libxshmfence1:amd64 (1.3.3-1) ...
Setting up libxcb-randr0:amd64 (1.17.0-2+b1) ...
Setting up libx265-215:amd64 (4.1-2) ...
Setting up libwebpmux3:amd64 (1.5.0-0.1) ...
Setting up libzvbi-common (0.2.44-1) ...
Setting up libmp3lame0:amd64 (3.100-6+b3) ...
Setting up libvorbisenc2:amd64 (1.3.7-3) ...
Setting up libzvbi0t64:amd64 (0.2.44-1) ...
Setting up fontconfig-config (2.15.0-2.3) ...
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
Setting up libvorbisfile3:amd64 (1.3.7-3) ...
Setting up libfreetype6:amd64 (2.13.3+dfsg-1) ...
Setting up libfontconfig1:amd64 (2.15.0-2.3) ...
Setting up libbluray2:amd64 (1:1.3.4-1+b2) ...
Setting up libopenmpt0t64:amd64 (0.7.13-1+b1) ...
Setting up libcairo2:amd64 (1.18.4-1+b1) ...
Setting up jellyfin-server (10.11.6+deb13) ...
Created symlink '/etc/systemd/system/multi-user.target.wants/jellyfin.service' → '/usr/lib/systemd/system/jellyfin.service'.
Setting up libtheoradec1:amd64 (1.2.0~alpha1+dfsg-6) ...
Setting up jellyfin-ffmpeg7 (7.1.3-3-trixie) ...
Setting up jellyfin (10.11.6+deb13) ...
Processing triggers for man-db (2.13.1-1) ...
Processing triggers for libc-bin (2.41-12+deb13u1) ...
Una vez completada la instalación, el servicio iniciaría automáticamente.
Podemos comprobar su estado con:
systemctl status jellyfin
Observamos que efectivamente está funcionando:
● jellyfin.service - Jellyfin Media Server
Loaded: loaded (/usr/lib/systemd/system/jellyfin.service; enabled; preset: enabled)
Drop-In: /etc/systemd/system/jellyfin.service.d
└─jellyfin.service.conf
Active: active (running) since Fri 2026-03-13 13:09:14 UTC; 1min 21s ago
Invocation: 9bd2471ef30d4319aa25a94b079bf857
Main PID: 3912 (jellyfin)
Tasks: 16 (limit: 38136)
Memory: 198.8M (peak: 205.3M)
CPU: 18.151s
CGroup: /system.slice/jellyfin.service
└─3912 /usr/bin/jellyfin --webdir=/usr/share/jellyfin/web --ffmpeg=/usr/lib/jellyfin-ffmpeg/ffmpeg
Configuración de Jellyfin
Acceso a la interfaz web
Con Jellyfin en ejecución ya podemos acceder a la interfaz web desde un navegador usando la dirección http://192.168.1.100:8096.
En la primera pantalla que nos aparece definimos el nombre del servidor y el idioma preferido de visualización y pulsamos el botón Siguiente.
En la siguiente pantalla definimos el nombre de usuario y la contraseña y pulsamos Siguiente.
En este momento de la instalación no contamos con ninguna biblioteca multimedia, lo añadiremos un paso posterior, por l que pulsamos Siguiente.
En el siguiente punto definimos el idioma preferido para los metadatos y el país de los mismos y pulsamos el botón Siguiente.
En la siguiente pantalla hailitamos, o no, el acceso remoto al servidor. Por razones de seguridad, es mejor desactivarlo. Pulsamos el botón Siguiente y después Terminar.
Tras ellos, nos aparece el formulario de inicio de sesión.
Configuración de aceleración por hardware
Para aprovechar la GPU integrada del procesador debemos activar la aceleración por hardware.
Para ello, en el Panel de control accedemos a la opción Conversión que se encuentra dentro del menú Reproducción y ajustamos las siguientes opciones:
| Opción | Valor |
|---|---|
| Aceleración por hardware | Video Acceleration API (VAAPI) |
| Dispositivo VA-API | /dev/dri/renderD128 |
| Activar decodificación hardware para |
|
| Opciones de codificación por hardware | Activar codificación por hardware |
| Opciones de formato de codificación | Permitir la codificación en formato HEVC |
| Habilitar mapeo de tonos VPP | Habilitado |
| Ganancia de brillo de mapeo de tonos VPP | 16 |
| Ganancia de contraste con el mapeado de tono VPP | 1 |
| Habilitar mapeo de Tono | Habilitado |
| Selecciones el algoritmo de mapeo de Tonos | BT.2390 |
| Modo de mapeo de tono | Automático |
| Rango de mapeo de tono | Automático |
| Mapeo de tonos desaturado | 0 |
| Pico del mapeo de tono | 100 |
| Parámetros del mapeo de tonos | vacío |
| Núcleo a utilizar durante la conversión | Automático |
| Ruta de ffmpeg | /usr/lib/jellyfin-ffmpeg/ffmpeg |
| Ruta para los archivos temporales de las conversiones | vacío |
| Dirección de la carpeta alternativa de fuentes | vacío |
| Activar fuentes alternativas | Deshabilitado |
| Habilitar codificación de audio VBR | Deshabilitado |
| Audio boost | 2 |
| Algoritmo de mezcla de estéreo | Nada |
| Tamño máximo de la cola de entremezclado | 2048 |
| Preajuste de codificación | vacío |
| CRF de la codificación H.265 | 28 |
| CRF de la codificación H.264 | 23 |
| Método de desentrelazar | Otro filtro de desentrelazado YADIF |
| Duplicar el número de cuadros por segundo al desentrelazar | Deshabilitado |
| Permitir la extración de subtítulos sobre la marcha | Habilitado |
| Limitar transcodificaciones | Deshabilitado |
| Borrar segmentos | Deshabilitado |
| Límite después de | 180 |
| Tiempo que se mantendrán los segmentos | 720 |
Asignación del disco
Disco con formato XFS
Insertamos el disco en el servidor y tras pinchar el nodo Proxmox accedemos al menú Discos. En ese menú veremos aparecer un nuevo disco que coincide con el que acabamos de insertar, en nuestro caso se llama /dev/sdx.
Preparación del disco
En la opción Directorio del mismo menú pulsamos el botón Crear: Directorio y rellenamos el formulario con lo siguiente:
| Opción | Valor |
|---|---|
| Disco | /dev/sdx |
| Sistema de archivos | xfs |
| Nombre | media |
| Agregar almacenamiento | Habilitado |
Pulsamos el botón Crear y observamos que el disco aparece montado con la ruta /mnt/pve/media.
Montaje del disco
En la consola del nodo Proxmox creamos un directorio para películas y otro para series ejecutando los siguientes comandos:
mkdir /mnt/pve/media/Movies /mnt/pve/media/Series
Con el contenedor LXC parado, abrimos su fichero de configuración.
nano /etc/pve/lxc/LXC_ID.conf
Introducimos las siguientes líneas:
mp0: /mnt/pve/media/Movies,mp=/media/Movies,backup=0
mp1: /mnt/pve/media/Series,mp=/media/Series,backup=0
Arrancamos el contenedor LXC.
pct start LXC_ID
Y accedemos al mismo.
pct enter LXC_ID
Y observamos que las rutas /media/Movies y /media/Series son accesibles.
Disco con formato btrfs
En el nodo Proxmox creamos el sistema de ficheros.
mkfs.btrfs /dev/sdx
Observamos como se crea el sistema de fichero.
btrfs-progs v6.14
See https://btrfs.readthedocs.io for more information.
NOTE: several default settings have changed in version 5.15, please make sure
this does not affect your deployments:
- DUP for metadata (-m dup)
- enabled no-holes (-O no-holes)
- enabled free-space-tree (-R free-space-tree)
Label: (null)
UUID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Node size: 16384
Sector size: 4096 (CPU page size: 4096)
Filesystem size: 18.19TiB
Block group profiles:
Data: single 8.00MiB
Metadata: DUP 1.00GiB
System: DUP 8.00MiB
SSD detected: no
Zoned device: no
Features: extref, skinny-metadata, no-holes, free-space-tree
Checksum: crc32c
Number of devices: 1
Devices:
ID SIZE PATH
1 18.19TiB /dev/sdx
Creamos el punto de montaje
mkdir /mnt/bay1
Montamos el disco
mount /dev/sdx /mnt/bay1
Creamos el subvolumen para, por ejemplo, jellyfin:
btrfs subvolume create /mnt/bay1/jellyfin
Nos saldrá un mensaje de este tipo:
Create subvolume '/mnt/bay1/jellyfin'
Comprobamos la lista de los volúmenes creados.
btrfs subvolume list /mnt/bay1
Veremos el subvolumen recién creado:
ID 256 gen 10 top level 5 path jellyfin
Desmontamos para preparar el montaje correcto:
umount /mnt/bay1
Montaje del sistema de ficheros
En el nodo Proxmox editamos el fichero de configuración de los puntos de montaje:
nano /etc/fstab
Añadimos el siguiente contenido:
# UUID -> es el identificador único del sistema de fichero,
# evita montar el disco equivocado
# /mnt/jellyfin -> punto de montaje en el sistema (Proxmox)
# btrfs -> indica el tipo del sistema de ficheros
# subvol -> btrfs permite subvolúmenes,
# indica montar un subvolumen concreto
# compression -> los archivos multimedia ya están comprimidos (H264/H265/AV1),
# por lo que intentar recomprimirlos apenas reduce tamaño
# y añade carga de CPU
# noatime -> no actualiza la fecha de último acceso a los ficheros,
# implica menos escrituras
# nodev -> impide que los archivos de tipo dispositivo (block/char)
# sean interpretados como dispositivos reales
# nosuid -> ignora el bit setuid/setgid de los binarios
# para evitar elevación de privilegios
# space_cache -> mantiene una caché de espacio libre, implica menos lecturas
# 0 -> dump (sistema antiguo de backup) desactivado
# 0 -> btrfs no usa fsck tradicional,
# por lo que no se realiza chequeo al arranque
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /mnt/jellyfin btrfs subvol=jellyfin,compress=none,noatime,nodev,nosuid,space_cache=v2 0 0
Donde el UUID es el que nos apareció al crear el sistema de ficheros. En el caso de no tener el histórico, podemos recuperar el dato ejecutando el comando:
blkid /dev/sdb
Creamos el punto de montaje:
mkdir /mnt/jellyfin
Montaje del disco
Recargamos la configuración de systemctl.
systemctl daemon-reload
Y montamos el sistema de fichero definido en la configuración.
mount -a
Comprobamos el punto de montaje.
df -hT
Y vemos algo similar a la siguiente:
Filesystem Type Size Used Avail Use% Mounted on
[...]
/dev/sdb btrfs 19T 5.9M 19T 1% /mnt/jellyfin
[...]
Paso del punto de montaje a LXC
Asignamos el punto de montaje al contenedor LXC:
pct set LXC_ID -mp0 /mnt/jellyfin,mp=/media
Sustituyendo LXC_ID por el ID del contenedor LXC.
Accedemos al contenedor LXC
pct enter LXC_ID
Y comprobamos el contenido del punto de montaje /media.
Configurar bibliotecas en Jellyfin
Dentro de Jellyfin accedemos al Panel de control y desplegamos el menú Bibliotecas y pulsamos la opción Bibliotecas. En esta pantalla pulsamos el botón Añadir biblioteca de medios y en el asistente que aparece procedemos de la siguiente forma.
Escogemos la opción Películas en el Tipo de Contenido. Seleccionamos el idioma preferido de visualizado y el país.
En la opción Carpetas pulsamos el botón + y seleccionamos la ruta /media/Movies y pulsamos el botón OK.
En la sección Formato de metadatos habilitamos la opción Nfo.
Habilitamos la opción Guardar imágenes en las carpetas de medio.
Dejamos el resto de las opciones por defecto y pulsamos el botón OK.
En cuanto a las Series procedemos de la misma forma cambiando el Tipo de contenido por Series.
De forma general Jellyfin escaneará los ficheros copiados a las carpetas definidas en el paso anterior, pero si no lo hiciera pulsando el botón Escanear todas las bibliotecas en esta carpeta podemos forzarlo.
Configuración HTTPS
Para no exponer el servidor Jellyfin a todo Internet emplearemos el método DNS challenge de Let's Encrypt en lugar del típico HTTP challenge. Para poder usar este método debemos contar con alguna API para modificar los registros DNS. En este artículo usaremos la API de Cloudflare.
Actualización del sistema
Dentro del contenedor LXC actualizamos los repositorios:
root@jellyfin:/# apt update
Vemos como los repositorios se actualizan:
Get:1 http://security.debian.org trixie-security InRelease [43.4 kB]
Get:2 http://deb.debian.org/debian trixie InRelease [140 kB]
Get:3 http://deb.debian.org/debian trixie-updates InRelease [47.3 kB]
Get:4 http://deb.debian.org/debian trixie/main amd64 Packages [9671 kB]
Get:5 http://deb.debian.org/debian trixie/main Translation-en [6484 kB]
Hit:6 https://repo.jellyfin.org/debian trixie InRelease
Fetched 16.4 MB in 2s (9562 kB/s)
35 packages can be upgraded. Run 'apt list --upgradable' to see them.
Notice: Repository 'http://deb.debian.org/debian trixie InRelease' changed its 'Version' value from '13.3' to '13.4'
Tras la actualización de los repositorios actualizamos la paquetería del contenedor LXC:
root@jellyfin:/# apt upgrade
Observamos una salida similar a la siguiente:
Upgrading:
base-files dpkg gpg gpgconf libc-bin libcap2 libext2fs2t64 libss2 locales openssh-server openssl-provider-legacy sudo
bash e2fsprogs gpg-agent gpgsm libc-l10n libcap2-bin libmpg123-0t64 libssl3t64 logsave openssh-sftp-server python3-requests tzdata
dirmngr gnupg-utils gpg-wks-client gpgv libc6 libcom-err2 libsqlite3-0 linux-sysctl-defaults openssh-client openssl ssh
Summary:
Upgrading: 35, Installing: 0, Removing: 0, Not Upgrading: 0
Download size: 24.0 MB
Space needed: 21.5 kB / 9347 MB available
Continue? [Y/n]
Aceptamos las condiciones tecleando Y y pulsando Intro.
Get:1 http://deb.debian.org/debian trixie/main amd64 libc6 amd64 2.41-12+deb13u2 [2847 kB]
Get:2 http://deb.debian.org/debian trixie/main amd64 base-files amd64 13.8+deb13u4 [73.3 kB]
Get:3 http://deb.debian.org/debian trixie/main amd64 bash amd64 5.2.37-2+b8 [1501 kB]
Get:4 http://deb.debian.org/debian trixie/main amd64 dpkg amd64 1.22.22 [1537 kB]
Get:5 http://deb.debian.org/debian trixie/main amd64 libc-bin amd64 2.41-12+deb13u2 [638 kB]
Get:6 http://deb.debian.org/debian trixie/main amd64 logsave amd64 1.47.2-3+b10 [24.9 kB]
Get:7 http://deb.debian.org/debian trixie/main amd64 libext2fs2t64 amd64 1.47.2-3+b10 [213 kB]
Get:8 http://deb.debian.org/debian trixie/main amd64 e2fsprogs amd64 1.47.2-3+b10 [590 kB]
Get:9 http://deb.debian.org/debian trixie/main amd64 openssl-provider-legacy amd64 3.5.5-1~deb13u1 [311 kB]
Get:10 http://deb.debian.org/debian trixie/main amd64 libssl3t64 amd64 3.5.5-1~deb13u1 [2442 kB]
Get:11 http://deb.debian.org/debian trixie/main amd64 openssh-sftp-server amd64 1:10.0p1-7+deb13u1 [65.3 kB]
Get:12 http://deb.debian.org/debian trixie/main amd64 openssh-server amd64 1:10.0p1-7+deb13u1 [602 kB]
Get:13 http://deb.debian.org/debian trixie/main amd64 openssh-client amd64 1:10.0p1-7+deb13u1 [986 kB]
Get:14 http://deb.debian.org/debian trixie/main amd64 libcom-err2 amd64 1.47.2-3+b10 [25.0 kB]
Get:15 http://deb.debian.org/debian trixie/main amd64 sudo amd64 1.9.16p2-3+deb13u1 [2087 kB]
Get:16 http://deb.debian.org/debian trixie/main amd64 libcap2 amd64 1:2.75-10+b8 [28.7 kB]
Get:17 http://deb.debian.org/debian trixie/main amd64 libsqlite3-0 amd64 3.46.1-7+deb13u1 [914 kB]
Get:18 http://deb.debian.org/debian trixie/main amd64 tzdata all 2026a-0+deb13u1 [264 kB]
Get:19 http://deb.debian.org/debian trixie/main amd64 linux-sysctl-defaults all 4.12.1 [5724 B]
Get:20 http://deb.debian.org/debian trixie/main amd64 libc-l10n all 2.41-12+deb13u2 [740 kB]
Get:21 http://deb.debian.org/debian trixie/main amd64 locales all 2.41-12+deb13u2 [3925 kB]
Get:22 http://deb.debian.org/debian trixie/main amd64 gpgsm amd64 2.4.7-21+deb13u1+b2 [276 kB]
Get:23 http://deb.debian.org/debian trixie/main amd64 gnupg-utils amd64 2.4.7-21+deb13u1+b2 [194 kB]
Get:24 http://deb.debian.org/debian trixie/main amd64 gpg-wks-client amd64 2.4.7-21+deb13u1+b2 [109 kB]
Get:25 http://deb.debian.org/debian trixie/main amd64 dirmngr amd64 2.4.7-21+deb13u1+b2 [384 kB]
Get:26 http://deb.debian.org/debian trixie/main amd64 gpg amd64 2.4.7-21+deb13u1+b2 [635 kB]
Get:27 http://deb.debian.org/debian trixie/main amd64 gpgconf amd64 2.4.7-21+deb13u1+b2 [129 kB]
Get:28 http://deb.debian.org/debian trixie/main amd64 gpg-agent amd64 2.4.7-21+deb13u1+b2 [271 kB]
Get:29 http://deb.debian.org/debian trixie/main amd64 gpgv amd64 2.4.7-21+deb13u1+b2 [241 kB]
Get:30 http://deb.debian.org/debian trixie/main amd64 libcap2-bin amd64 1:2.75-10+b8 [36.4 kB]
Get:31 http://deb.debian.org/debian trixie/main amd64 libmpg123-0t64 amd64 1.32.10-1+deb13u1 [149 kB]
Get:32 http://deb.debian.org/debian trixie/main amd64 libss2 amd64 1.47.2-3+b10 [29.8 kB]
Get:33 http://deb.debian.org/debian trixie/main amd64 openssl amd64 3.5.5-1~deb13u1 [1499 kB]
Get:34 http://deb.debian.org/debian trixie/main amd64 python3-requests all 2.32.3+dfsg-5+deb13u1 [72.2 kB]
Get:35 http://deb.debian.org/debian trixie/main amd64 ssh all 1:10.0p1-7+deb13u1 [143 kB]
Fetched 24.0 MB in 0s (55.0 MB/s)
apt-listchanges: Can't set locale; make sure $LC_* and $LANG are correct!
Reading changelogs... Done
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_CTYPE = (unset),
LC_NUMERIC = (unset),
LC_COLLATE = (unset),
LC_TIME = (unset),
LC_MESSAGES = (unset),
LC_MONETARY = (unset),
LC_ADDRESS = (unset),
LC_IDENTIFICATION = (unset),
LC_MEASUREMENT = (unset),
LC_PAPER = (unset),
LC_TELEPHONE = (unset),
LC_NAME = (unset),
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
Extracting templates from packages: 100%
Preconfiguring packages ...
(Reading database ... 23980 files and directories currently installed.)
Preparing to unpack .../libc6_2.41-12+deb13u2_amd64.deb ...
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
Unpacking libc6:amd64 (2.41-12+deb13u2) over (2.41-12+deb13u1) ...
Setting up libc6:amd64 (2.41-12+deb13u2) ...
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
(Reading database ... 23980 files and directories currently installed.)
Preparing to unpack .../base-files_13.8+deb13u4_amd64.deb ...
Unpacking base-files (13.8+deb13u4) over (13.8+deb13u3) ...
Setting up base-files (13.8+deb13u4) ...
Installing new version of config file /etc/debian_version ...
(Reading database ... 23980 files and directories currently installed.)
Preparing to unpack .../bash_5.2.37-2+b8_amd64.deb ...
Unpacking bash (5.2.37-2+b8) over (5.2.37-2+b7) ...
Setting up bash (5.2.37-2+b8) ...
update-alternatives: using /usr/share/man/man7/bash-builtins.7.gz to provide /usr/share/man/man7/builtins.7.gz (builtins.7.gz) in auto mode
(Reading database ... 23980 files and directories currently installed.)
Preparing to unpack .../dpkg_1.22.22_amd64.deb ...
Unpacking dpkg (1.22.22) over (1.22.21) ...
Setting up dpkg (1.22.22) ...
(Reading database ... 23980 files and directories currently installed.)
Preparing to unpack .../libc-bin_2.41-12+deb13u2_amd64.deb ...
Unpacking libc-bin (2.41-12+deb13u2) over (2.41-12+deb13u1) ...
Setting up libc-bin (2.41-12+deb13u2) ...
(Reading database ... 23980 files and directories currently installed.)
Preparing to unpack .../logsave_1.47.2-3+b10_amd64.deb ...
Unpacking logsave (1.47.2-3+b10) over (1.47.2-3+b7) ...
Preparing to unpack .../libext2fs2t64_1.47.2-3+b10_amd64.deb ...
Leaving 'diversion of /lib/x86_64-linux-gnu/libe2p.so.2 to /lib/x86_64-linux-gnu/libe2p.so.2.usr-is-merged by libext2fs2t64'
Leaving 'diversion of /lib/x86_64-linux-gnu/libe2p.so.2.3 to /lib/x86_64-linux-gnu/libe2p.so.2.3.usr-is-merged by libext2fs2t64'
Leaving 'diversion of /lib/x86_64-linux-gnu/libext2fs.so.2 to /lib/x86_64-linux-gnu/libext2fs.so.2.usr-is-merged by libext2fs2t64'
Leaving 'diversion of /lib/x86_64-linux-gnu/libext2fs.so.2.4 to /lib/x86_64-linux-gnu/libext2fs.so.2.4.usr-is-merged by libext2fs2t64'
Unpacking libext2fs2t64:amd64 (1.47.2-3+b10) over (1.47.2-3+b7) ...
Setting up libext2fs2t64:amd64 (1.47.2-3+b10) ...
(Reading database ... 23980 files and directories currently installed.)
Preparing to unpack .../e2fsprogs_1.47.2-3+b10_amd64.deb ...
Unpacking e2fsprogs (1.47.2-3+b10) over (1.47.2-3+b7) ...
Preparing to unpack .../openssl-provider-legacy_3.5.5-1~deb13u1_amd64.deb ...
Unpacking openssl-provider-legacy (3.5.5-1~deb13u1) over (3.5.4-1~deb13u2) ...
Setting up openssl-provider-legacy (3.5.5-1~deb13u1) ...
(Reading database ... 23980 files and directories currently installed.)
Preparing to unpack .../libssl3t64_3.5.5-1~deb13u1_amd64.deb ...
Unpacking libssl3t64:amd64 (3.5.5-1~deb13u1) over (3.5.4-1~deb13u2) ...
Setting up libssl3t64:amd64 (3.5.5-1~deb13u1) ...
(Reading database ... 23980 files and directories currently installed.)
Preparing to unpack .../0-openssh-sftp-server_1%3a10.0p1-7+deb13u1_amd64.deb ...
Unpacking openssh-sftp-server (1:10.0p1-7+deb13u1) over (1:10.0p1-7) ...
Preparing to unpack .../1-openssh-server_1%3a10.0p1-7+deb13u1_amd64.deb ...
Unpacking openssh-server (1:10.0p1-7+deb13u1) over (1:10.0p1-7) ...
Preparing to unpack .../2-openssh-client_1%3a10.0p1-7+deb13u1_amd64.deb ...
Unpacking openssh-client (1:10.0p1-7+deb13u1) over (1:10.0p1-7) ...
Preparing to unpack .../3-libcom-err2_1.47.2-3+b10_amd64.deb ...
Unpacking libcom-err2:amd64 (1.47.2-3+b10) over (1.47.2-3+b7) ...
Preparing to unpack .../4-sudo_1.9.16p2-3+deb13u1_amd64.deb ...
Unpacking sudo (1.9.16p2-3+deb13u1) over (1.9.16p2-3) ...
Preparing to unpack .../5-libcap2_1%3a2.75-10+b8_amd64.deb ...
Unpacking libcap2:amd64 (1:2.75-10+b8) over (1:2.75-10+b3) ...
Setting up libcap2:amd64 (1:2.75-10+b8) ...
(Reading database ... 23980 files and directories currently installed.)
Preparing to unpack .../libsqlite3-0_3.46.1-7+deb13u1_amd64.deb ...
Unpacking libsqlite3-0:amd64 (3.46.1-7+deb13u1) over (3.46.1-7) ...
Setting up libsqlite3-0:amd64 (3.46.1-7+deb13u1) ...
(Reading database ... 23980 files and directories currently installed.)
Preparing to unpack .../00-tzdata_2026a-0+deb13u1_all.deb ...
Unpacking tzdata (2026a-0+deb13u1) over (2025b-4+deb13u1) ...
Preparing to unpack .../01-linux-sysctl-defaults_4.12.1_all.deb ...
Unpacking linux-sysctl-defaults (4.12.1) over (4.12) ...
Preparing to unpack .../02-libc-l10n_2.41-12+deb13u2_all.deb ...
Unpacking libc-l10n (2.41-12+deb13u2) over (2.41-12+deb13u1) ...
Preparing to unpack .../03-locales_2.41-12+deb13u2_all.deb ...
Unpacking locales (2.41-12+deb13u2) over (2.41-12+deb13u1) ...
Preparing to unpack .../04-gpgsm_2.4.7-21+deb13u1+b2_amd64.deb ...
Unpacking gpgsm (2.4.7-21+deb13u1+b2) over (2.4.7-21+deb13u1+b1) ...
Preparing to unpack .../05-gnupg-utils_2.4.7-21+deb13u1+b2_amd64.deb ...
Unpacking gnupg-utils (2.4.7-21+deb13u1+b2) over (2.4.7-21+deb13u1+b1) ...
Preparing to unpack .../06-gpg-wks-client_2.4.7-21+deb13u1+b2_amd64.deb ...
Unpacking gpg-wks-client (2.4.7-21+deb13u1+b2) over (2.4.7-21+deb13u1+b1) ...
Preparing to unpack .../07-dirmngr_2.4.7-21+deb13u1+b2_amd64.deb ...
Unpacking dirmngr (2.4.7-21+deb13u1+b2) over (2.4.7-21+deb13u1+b1) ...
Preparing to unpack .../08-gpg_2.4.7-21+deb13u1+b2_amd64.deb ...
Unpacking gpg (2.4.7-21+deb13u1+b2) over (2.4.7-21+deb13u1+b1) ...
Preparing to unpack .../09-gpgconf_2.4.7-21+deb13u1+b2_amd64.deb ...
Unpacking gpgconf (2.4.7-21+deb13u1+b2) over (2.4.7-21+deb13u1+b1) ...
Preparing to unpack .../10-gpg-agent_2.4.7-21+deb13u1+b2_amd64.deb ...
Unpacking gpg-agent (2.4.7-21+deb13u1+b2) over (2.4.7-21+deb13u1+b1) ...
Preparing to unpack .../11-gpgv_2.4.7-21+deb13u1+b2_amd64.deb ...
Unpacking gpgv (2.4.7-21+deb13u1+b2) over (2.4.7-21+deb13u1+b1) ...
Preparing to unpack .../12-libcap2-bin_1%3a2.75-10+b8_amd64.deb ...
Unpacking libcap2-bin (1:2.75-10+b8) over (1:2.75-10+b3) ...
Preparing to unpack .../13-libmpg123-0t64_1.32.10-1+deb13u1_amd64.deb ...
Unpacking libmpg123-0t64:amd64 (1.32.10-1+deb13u1) over (1.32.10-1) ...
Preparing to unpack .../14-libss2_1.47.2-3+b10_amd64.deb ...
Unpacking libss2:amd64 (1.47.2-3+b10) over (1.47.2-3+b7) ...
Preparing to unpack .../15-openssl_3.5.5-1~deb13u1_amd64.deb ...
Unpacking openssl (3.5.5-1~deb13u1) over (3.5.4-1~deb13u2) ...
Preparing to unpack .../16-python3-requests_2.32.3+dfsg-5+deb13u1_all.deb ...
Unpacking python3-requests (2.32.3+dfsg-5+deb13u1) over (2.32.3+dfsg-5) ...
Preparing to unpack .../17-ssh_1%3a10.0p1-7+deb13u1_all.deb ...
Unpacking ssh (1:10.0p1-7+deb13u1) over (1:10.0p1-7) ...
Setting up libc-l10n (2.41-12+deb13u2) ...
Setting up openssh-client (1:10.0p1-7+deb13u1) ...
Setting up libcom-err2:amd64 (1.47.2-3+b10) ...
Setting up libmpg123-0t64:amd64 (1.32.10-1+deb13u1) ...
Setting up locales (2.41-12+deb13u2) ...
Generating locales (this might take a while)...
Generation complete.
Setting up tzdata (2026a-0+deb13u1) ...
Current default time zone: 'Etc/UTC'
Local time is now: Sun Mar 15 17:27:15 UTC 2026.
Universal Time is now: Sun Mar 15 17:27:15 UTC 2026.
Run 'dpkg-reconfigure tzdata' if you wish to change it.
Setting up libcap2-bin (1:2.75-10+b8) ...
Setting up linux-sysctl-defaults (4.12.1) ...
Setting up python3-requests (2.32.3+dfsg-5+deb13u1) ...
Setting up libss2:amd64 (1.47.2-3+b10) ...
Setting up sudo (1.9.16p2-3+deb13u1) ...
Setting up logsave (1.47.2-3+b10) ...
Setting up gpgv (2.4.7-21+deb13u1+b2) ...
Setting up gpgconf (2.4.7-21+deb13u1+b2) ...
Setting up openssl (3.5.5-1~deb13u1) ...
Setting up gpg (2.4.7-21+deb13u1+b2) ...
Setting up gnupg-utils (2.4.7-21+deb13u1+b2) ...
Setting up openssh-sftp-server (1:10.0p1-7+deb13u1) ...
Setting up gpg-agent (2.4.7-21+deb13u1+b2) ...
Setting up openssh-server (1:10.0p1-7+deb13u1) ...
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
Could not execute systemctl: at /usr/bin/deb-systemd-invoke line 148.
Setting up gpgsm (2.4.7-21+deb13u1+b2) ...
Setting up e2fsprogs (1.47.2-3+b10) ...
Setting up dirmngr (2.4.7-21+deb13u1+b2) ...
Setting up ssh (1:10.0p1-7+deb13u1) ...
Setting up gpg-wks-client (2.4.7-21+deb13u1+b2) ...
Processing triggers for systemd (257.9-1~deb13u1) ...
Job for systemd-sysctl.service failed because the control process exited with error code.
See "systemctl status systemd-sysctl.service" and "journalctl -xeu systemd-sysctl.service" for details.
Processing triggers for man-db (2.13.1-1) ...
Processing triggers for procps (2:4.0.4-9) ...
Processing triggers for debianutils (5.23.2) ...
Processing triggers for libc-bin (2.41-12+deb13u2) ...
Instalación de Certbot
Instalamos la utilidad junto a su módulo de Cloudflare
apt install certbot python3-certbot-dns-cloudflare -y
Observamos como se instalan los paquetes necesarios:
Installing:
certbot python3-certbot-dns-cloudflare
Installing dependencies:
libyaml-0-2 python3-acme python3-certbot python3-cloudflare python3-configobj python3-distro python3-josepy python3-parsedatetime python3-rfc3339
lsb-release python3-bcrypt python3-cffi-backend python3-configargparse python3-cryptography python3-icu python3-openssl python3-pytz python3-yaml
Suggested packages:
python-certbot-doc python3-certbot-apache python3-certbot-nginx python-acme-doc python-configobj-doc python-cryptography-doc python3-cryptography-vectors python-openssl-doc
Summary:
Upgrading: 0, Installing: 20, Removing: 0, Not Upgrading: 0
Download size: 2920 kB
Space needed: 13.3 MB / 9333 MB available
Get:1 http://deb.debian.org/debian trixie/main amd64 python3-bcrypt amd64 4.2.0-2.1+b1 [211 kB]
Get:2 http://deb.debian.org/debian trixie/main amd64 python3-cffi-backend amd64 1.17.1-3 [93.4 kB]
Get:3 http://deb.debian.org/debian trixie/main amd64 python3-cryptography amd64 43.0.0-3+deb13u1 [942 kB]
Get:4 http://deb.debian.org/debian trixie/main amd64 python3-openssl all 25.0.0-1 [52.1 kB]
Get:5 http://deb.debian.org/debian trixie/main amd64 python3-josepy all 2.0.0-1 [23.6 kB]
Get:6 http://deb.debian.org/debian trixie/main amd64 python3-pytz all 2025.2-3 [152 kB]
Get:7 http://deb.debian.org/debian trixie/main amd64 python3-rfc3339 all 2.0.1-1 [6272 B]
Get:8 http://deb.debian.org/debian trixie/main amd64 python3-acme all 4.0.0-1 [48.6 kB]
Get:9 http://deb.debian.org/debian trixie/main amd64 python3-configargparse all 1.7-2 [31.4 kB]
Get:10 http://deb.debian.org/debian trixie/main amd64 python3-configobj all 5.0.9-1 [34.0 kB]
Get:11 http://deb.debian.org/debian trixie/main amd64 lsb-release all 12.1-1 [5912 B]
Get:12 http://deb.debian.org/debian trixie/main amd64 python3-distro all 1.9.0-1 [20.3 kB]
Get:13 http://deb.debian.org/debian trixie/main amd64 python3-parsedatetime all 2.6-3 [41.2 kB]
Get:14 http://deb.debian.org/debian trixie/main amd64 python3-certbot all 4.0.0-2 [300 kB]
Get:15 http://deb.debian.org/debian trixie/main amd64 certbot all 4.0.0-2 [130 kB]
Get:16 http://deb.debian.org/debian trixie/main amd64 libyaml-0-2 amd64 0.2.5-2 [52.5 kB]
Get:17 http://deb.debian.org/debian trixie/main amd64 python3-yaml amd64 6.0.2-1+b2 [136 kB]
Get:18 http://deb.debian.org/debian trixie/main amd64 python3-cloudflare all 2.20.0-1 [114 kB]
Get:19 http://deb.debian.org/debian trixie/main amd64 python3-certbot-dns-cloudflare all 4.0.0-1 [10.5 kB]
Get:20 http://deb.debian.org/debian trixie/main amd64 python3-icu amd64 2.14-1+b3 [516 kB]
Fetched 2920 kB in 0s (33.5 MB/s)
apt-listchanges: Can't set locale; make sure $LC_* and $LANG are correct!
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_CTYPE = (unset),
LC_NUMERIC = (unset),
LC_COLLATE = (unset),
LC_TIME = (unset),
LC_MESSAGES = (unset),
LC_MONETARY = (unset),
LC_ADDRESS = (unset),
LC_IDENTIFICATION = (unset),
LC_MEASUREMENT = (unset),
LC_PAPER = (unset),
LC_TELEPHONE = (unset),
LC_NAME = (unset),
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
Preconfiguring packages ...
Selecting previously unselected package python3-bcrypt.
(Reading database ... 23980 files and directories currently installed.)
Preparing to unpack .../00-python3-bcrypt_4.2.0-2.1+b1_amd64.deb ...
Unpacking python3-bcrypt (4.2.0-2.1+b1) ...
Selecting previously unselected package python3-cffi-backend:amd64.
Preparing to unpack .../01-python3-cffi-backend_1.17.1-3_amd64.deb ...
Unpacking python3-cffi-backend:amd64 (1.17.1-3) ...
Selecting previously unselected package python3-cryptography.
Preparing to unpack .../02-python3-cryptography_43.0.0-3+deb13u1_amd64.deb ...
Unpacking python3-cryptography (43.0.0-3+deb13u1) ...
Selecting previously unselected package python3-openssl.
Preparing to unpack .../03-python3-openssl_25.0.0-1_all.deb ...
Unpacking python3-openssl (25.0.0-1) ...
Selecting previously unselected package python3-josepy.
Preparing to unpack .../04-python3-josepy_2.0.0-1_all.deb ...
Unpacking python3-josepy (2.0.0-1) ...
Selecting previously unselected package python3-pytz.
Preparing to unpack .../05-python3-pytz_2025.2-3_all.deb ...
Unpacking python3-pytz (2025.2-3) ...
Selecting previously unselected package python3-rfc3339.
Preparing to unpack .../06-python3-rfc3339_2.0.1-1_all.deb ...
Unpacking python3-rfc3339 (2.0.1-1) ...
Selecting previously unselected package python3-acme.
Preparing to unpack .../07-python3-acme_4.0.0-1_all.deb ...
Unpacking python3-acme (4.0.0-1) ...
Selecting previously unselected package python3-configargparse.
Preparing to unpack .../08-python3-configargparse_1.7-2_all.deb ...
Unpacking python3-configargparse (1.7-2) ...
Selecting previously unselected package python3-configobj.
Preparing to unpack .../09-python3-configobj_5.0.9-1_all.deb ...
Unpacking python3-configobj (5.0.9-1) ...
Selecting previously unselected package lsb-release.
Preparing to unpack .../10-lsb-release_12.1-1_all.deb ...
Unpacking lsb-release (12.1-1) ...
Selecting previously unselected package python3-distro.
Preparing to unpack .../11-python3-distro_1.9.0-1_all.deb ...
Unpacking python3-distro (1.9.0-1) ...
Selecting previously unselected package python3-parsedatetime.
Preparing to unpack .../12-python3-parsedatetime_2.6-3_all.deb ...
Unpacking python3-parsedatetime (2.6-3) ...
Selecting previously unselected package python3-certbot.
Preparing to unpack .../13-python3-certbot_4.0.0-2_all.deb ...
Unpacking python3-certbot (4.0.0-2) ...
Selecting previously unselected package certbot.
Preparing to unpack .../14-certbot_4.0.0-2_all.deb ...
Unpacking certbot (4.0.0-2) ...
Selecting previously unselected package libyaml-0-2:amd64.
Preparing to unpack .../15-libyaml-0-2_0.2.5-2_amd64.deb ...
Unpacking libyaml-0-2:amd64 (0.2.5-2) ...
Selecting previously unselected package python3-yaml.
Preparing to unpack .../16-python3-yaml_6.0.2-1+b2_amd64.deb ...
Unpacking python3-yaml (6.0.2-1+b2) ...
Selecting previously unselected package python3-cloudflare.
Preparing to unpack .../17-python3-cloudflare_2.20.0-1_all.deb ...
Unpacking python3-cloudflare (2.20.0-1) ...
Selecting previously unselected package python3-certbot-dns-cloudflare.
Preparing to unpack .../18-python3-certbot-dns-cloudflare_4.0.0-1_all.deb ...
Unpacking python3-certbot-dns-cloudflare (4.0.0-1) ...
Selecting previously unselected package python3-icu.
Preparing to unpack .../19-python3-icu_2.14-1+b3_amd64.deb ...
Unpacking python3-icu (2.14-1+b3) ...
Setting up python3-configargparse (1.7-2) ...
Setting up python3-parsedatetime (2.6-3) ...
Setting up python3-icu (2.14-1+b3) ...
Setting up libyaml-0-2:amd64 (0.2.5-2) ...
Setting up python3-bcrypt (4.2.0-2.1+b1) ...
Setting up python3-yaml (6.0.2-1+b2) ...
Setting up python3-pytz (2025.2-3) ...
Setting up python3-configobj (5.0.9-1) ...
Setting up python3-cloudflare (2.20.0-1) ...
Setting up lsb-release (12.1-1) ...
Setting up python3-rfc3339 (2.0.1-1) ...
Setting up python3-cffi-backend:amd64 (1.17.1-3) ...
Setting up python3-distro (1.9.0-1) ...
Setting up python3-cryptography (43.0.0-3+deb13u1) ...
Setting up python3-josepy (2.0.0-1) ...
Setting up python3-openssl (25.0.0-1) ...
Setting up python3-acme (4.0.0-1) ...
Setting up python3-certbot (4.0.0-2) ...
Setting up certbot (4.0.0-2) ...
Created symlink '/etc/systemd/system/timers.target.wants/certbot.timer' → '/usr/lib/systemd/system/certbot.timer'.
Setting up python3-certbot-dns-cloudflare (4.0.0-1) ...
Processing triggers for man-db (2.13.1-1) ...
Processing triggers for libc-bin (2.41-12+deb13u2) ...
Configuración API de Cloudflare
Creamos un archivo con las credenciales API:
root@jellyfin:~# nano /root/cloudflare.ini
Con el siguiente contenido:
dns_cloudflare_api_token=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Y finalmente le ajustamos los permisos para evitar lecturas no adecuadas:
root@jellyfin:~# chmod 600 /root/cloudflare.ini
Generar certificado
Generamos el certificado sin abrir puertos.
certbot certonly --dns-cloudflare --dns-cloudflare-credentials /root/cloudflare.ini -d jellyfin.dominio.tld --preferred-challenges dns-01 --non-interactive --agree-tos --email correo@dominio.tld
Observamos como se genera el certificado
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Account registered.
Requesting a certificate for jellyfin.dominio.tld
/usr/lib/python3/dist-packages/certbot_dns_cloudflare/_internal/dns_cloudflare.py:108: PendingDeprecationWarning:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! WARNING !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! You're seeing this warning because you've upgraded the Python package 'cloudflare' to version !!
!! 2.20.* via an automated upgrade without version pinning. Version 2.20.0 exists to catch any !!
!! of these upgrades before Cloudflare releases a new major release under the release number 3.x. !!
!! !!
!! Should you determine that you need to revert this upgrade and pin to v2.19.* it is recommended !!
!! you do the following: pip install --upgrade cloudflare==2.19.* or equivilant. !!
!! !!
!! Or you can upgrade to v3.x. NOTE: Release 3.x will not be code-compatible or call-compatible !!
!! with previous releases. To see more about upgrading to next major version, please see: !!
!! https://github.com/cloudflare/python-cloudflare/discussions/191 !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
self.cf = CloudFlare.CloudFlare(token=api_token)
Waiting 10 seconds for DNS changes to propagate
/usr/lib/python3/dist-packages/certbot_dns_cloudflare/_internal/dns_cloudflare.py:108: PendingDeprecationWarning:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! WARNING !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! You're seeing this warning because you've upgraded the Python package 'cloudflare' to version !!
!! 2.20.* via an automated upgrade without version pinning. Version 2.20.0 exists to catch any !!
!! of these upgrades before Cloudflare releases a new major release under the release number 3.x. !!
!! !!
!! Should you determine that you need to revert this upgrade and pin to v2.19.* it is recommended !!
!! you do the following: pip install --upgrade cloudflare==2.19.* or equivilant. !!
!! !!
!! Or you can upgrade to v3.x. NOTE: Release 3.x will not be code-compatible or call-compatible !!
!! with previous releases. To see more about upgrading to next major version, please see: !!
!! https://github.com/cloudflare/python-cloudflare/discussions/191 !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
self.cf = CloudFlare.CloudFlare(token=api_token)
Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/jellyfin.dominio.tld/fullchain.pem
Key is saved at: /etc/letsencrypt/live/jellyfin.dominio.tld/privkey.pem
This certificate expires on 2026-06-13.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
If you like Certbot, please consider supporting our work by:
* Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
* Donating to EFF: https://eff.org/donate-le
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
La renovación automática se configura un timer de forma automática. Podemos consultar los detalles con el siguiente comando:
systemctl cat certbot.timer
Podemos observar que se intentará realizar la renovación cada 12 horas:
# /usr/lib/systemd/system/certbot.timer
[Unit]
Description=Run certbot twice daily
[Timer]
OnCalendar=*-*-* 00,12:00:00
RandomizedDelaySec=43200
Persistent=true
[Install]
WantedBy=timers.target
Generar hooks de renovación
Construimos un fichero nuevo
nano /etc/letsencrypt/renewal-hooks/deploy/haproxy-pem.sh
Con el siguiente contenido:
#!/bin/bash
DOMAIN="jellyfin.echouniform.tech"
cat /etc/letsencrypt/live/$DOMAIN/privkey.pem /etc/letsencrypt/live/$DOMAIN/fullchain.pem > /etc/letsencrypt/live/$DOMAIN/haproxy.pem
chmod 600 /etc/letsencrypt/live/$DOMAIN/haproxy.pem
chown root:root /etc/letsencrypt/live/$DOMAIN/haproxy.pem
# Recargar HAProxy sin cortar conexiones
systemctl reload haproxy-lxc
Ajustamos los permisos del script para que se pueda ejecutar:
chmod +x /etc/letsencrypt/renewal-hooks/deploy/haproxy-pem.sh
Instalación HAProxy
Instalamos HAProxy
apt install haproxy -y
Observamos como se instalan los paquetes necesarios:
Installing:
haproxy
Installing dependencies:
liblua5.4-0 libopentracing-c-wrapper0t64 libopentracing1
Suggested packages:
vim-haproxy haproxy-doc
Summary:
Upgrading: 0, Installing: 4, Removing: 0, Not Upgrading: 0
Download size: 2860 kB
Space needed: 6707 kB / 9317 MB available
Get:1 http://deb.debian.org/debian trixie/main amd64 liblua5.4-0 amd64 5.4.7-1+b2 [147 kB]
Get:2 http://deb.debian.org/debian trixie/main amd64 libopentracing1 amd64 1.6.0-4+b2 [54.9 kB]
Get:3 http://deb.debian.org/debian trixie/main amd64 libopentracing-c-wrapper0t64 amd64 1.1.3-3.1+b1 [31.1 kB]
Get:4 http://deb.debian.org/debian trixie/main amd64 haproxy amd64 3.0.11-1+deb13u2 [2627 kB]
Fetched 2860 kB in 0s (21.3 MB/s)
apt-listchanges: Can't set locale; make sure $LC_* and $LANG are correct!
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_CTYPE = (unset),
LC_NUMERIC = (unset),
LC_COLLATE = (unset),
LC_TIME = (unset),
LC_MESSAGES = (unset),
LC_MONETARY = (unset),
LC_ADDRESS = (unset),
LC_IDENTIFICATION = (unset),
LC_MEASUREMENT = (unset),
LC_PAPER = (unset),
LC_TELEPHONE = (unset),
LC_NAME = (unset),
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
Selecting previously unselected package liblua5.4-0:amd64.
(Reading database ... 25184 files and directories currently installed.)
Preparing to unpack .../liblua5.4-0_5.4.7-1+b2_amd64.deb ...
Unpacking liblua5.4-0:amd64 (5.4.7-1+b2) ...
Selecting previously unselected package libopentracing1:amd64.
Preparing to unpack .../libopentracing1_1.6.0-4+b2_amd64.deb ...
Unpacking libopentracing1:amd64 (1.6.0-4+b2) ...
Selecting previously unselected package libopentracing-c-wrapper0t64:amd64.
Preparing to unpack .../libopentracing-c-wrapper0t64_1.1.3-3.1+b1_amd64.deb ...
Unpacking libopentracing-c-wrapper0t64:amd64 (1.1.3-3.1+b1) ...
Selecting previously unselected package haproxy.
Preparing to unpack .../haproxy_3.0.11-1+deb13u2_amd64.deb ...
Unpacking haproxy (3.0.11-1+deb13u2) ...
Setting up liblua5.4-0:amd64 (5.4.7-1+b2) ...
Setting up libopentracing1:amd64 (1.6.0-4+b2) ...
Setting up libopentracing-c-wrapper0t64:amd64 (1.1.3-3.1+b1) ...
Setting up haproxy (3.0.11-1+deb13u2) ...
logger: socket /dev/log: Connection refused
logging to syslog failed: command line logger --id=3554 --tag=adduser --priority=user.info -- Selecting UID from range 100 to 999 ...
returned error: 256
logger: socket /dev/log: Connection refused
logging to syslog failed: command line logger --id=3554 --tag=adduser --priority=user.info -- Selecting GID from range 100 to 999 ... returned error: 256
logger: socket /dev/log: Connection refused
logging to syslog failed: command line logger --id=3554 --tag=adduser --priority=user.info -- Adding system user `haproxy' (UID 103) ... returned error: 256
logger: socket /dev/log: Connection refused
logging to syslog failed: command line logger --id=3554 --tag=adduser --priority=user.info -- Adding new group `haproxy' (GID 106) ... returned error: 256
logger: socket /dev/log: Connection refused
logging to syslog failed: command line logger --id=3554 --tag=adduser --priority=user.info -- Adding new user `haproxy' (UID 103) with group `haproxy' ... returned error: 256
logger: socket /dev/log: Connection refused
logging to syslog failed: command line logger --id=3554 --tag=adduser --priority=user.info -- Not creating home directory `/var/lib/haproxy' as requested. returned error: 256
Created symlink '/etc/systemd/system/multi-user.target.wants/haproxy.service' → '/usr/lib/systemd/system/haproxy.service'.
Could not execute systemctl: at /usr/bin/deb-systemd-invoke line 148.
Processing triggers for libc-bin (2.41-12+deb13u2) ...
Processing triggers for man-db (2.13.1-1) ...
Preparación de certificado para HAProxy
Como en la primera generación del certificad el hook no se ha ejecutado, debemos ejecutarlo a mano
/etc/letsencrypt/renewal-hooks/deploy/haproxy-pem.sh
Como el servicio de HAProxy aún no se ha iniciado, es posible que veamos un error similar al siguiente:
Failed to reload patata.service: Unit patata.service not found.
Es normal, no es necesario que le prestemos atención.
Configuración de systemd
Debido a las limitaciones de los contenedores LXC, es necesario que generemos un servicio específico para HAProxy.
Para ello, en primer lugar generamos un script que arranque el servicio:
nano /usr/local/bin/start-haproxy.sh
Con el siguiente contenido:
#!/bin/bash
exec /usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg -db
Lo hacemos ejecutable:
chmod +x /usr/local/bin/start-haproxy.sh
Creamos un servicio específico:
nano /etc/systemd/system/haproxy-lxc.service
Con el siguiente contenido:
[Unit]
Description=HAProxy LXC-friendly
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/start-haproxy.sh
Restart=always
# Desactivar sandboxing
ProtectSystem=no
ProtectHome=no
NoNewPrivileges=no
ProtectKernelTunables=no
ProtectKernelModules=no
ProtectControlGroups=no
[Install]
WantedBy=multi-user.target
Tras guardar las modificaciones se debe recargar systemd ejecutando:
systemctl daemon-reload
Desactivamos el servicio original:
systemctl disable haproxy
Configuración HAProxy
Editamos el fichero de configuración de HAProxy
nano /etc/haproxy/haproxy.cfg
Añadimos al final el siguiente bloque de configuración:
frontend jellyfin_https
bind *:443 ssl crt /etc/letsencrypt/live/jellyfin.echouniform.tech/haproxy.pem
mode tcp
option tcplog
default_backend jellyfin_backend
backend jellyfin_backend
mode tcp
server jellyfin 127.0.0.1:8096
Arranque de HAProxy
Tras todas las configuraciones, habilitamos y arrancamos el servicio creado por nosotros mismos:
systemctl enable --now haproxy-lxc
Observamos como se habilita el servicio:
Created symlink '/etc/systemd/system/multi-user.target.wants/haproxy-lxc.service' → '/etc/systemd/system/haproxy-lxc.service'.
Y finalmente podemos ver el puerto 443 en marcha con el siguiente comando:
ss -tulnp
Observamos que se encuentran abiertos los puertos propios de Jellyfin y el puerto 443 gracias a HAProxy:
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
udp UNCONN 0 0 0.0.0.0:7359 0.0.0.0:* users:(("jellyfin",pid=3387,fd=455))
tcp LISTEN 0 4096 0.0.0.0:443 0.0.0.0:* users:(("haproxy",pid=4373,fd=5))
tcp LISTEN 0 512 0.0.0.0:8096 0.0.0.0:* users:(("jellyfin",pid=3387,fd=480))
tcp LISTEN 0 4096 *:22 *:* users:(("sshd",pid=2425,fd=3))