La pila *arr con Jellyfin y Plex: cómo encaja todo
Nuestra guía de transcodificación por hardware con Jellyfin y Plex trata del servidor multimedia en sí. A su alrededor, la mayoría de quienes autoalojan usan una familia de herramientas cuyo nombre termina en arr: organizan la biblioteca, renombran archivos, buscan subtítulos y permiten que tu hogar pida títulos. Esta página recuerda brevemente quién hace qué y cómo se comunican.
Importante: no fomentamos la descarga de contenidos sobre los que no tienes derechos. Estas herramientas son neutras; lo que les des es tu responsabilidad. En los servidores Linux GPU, descargar, almacenar o compartir obras pirateadas (BitTorrent, Usenet, IPTV ilegal…) está prohibido por el artículo 6 de nuestras condiciones y conlleva la suspensión. Úsalas con tus propios archivos (tus copias, tu música), obras de dominio público (Internet Archive, Wikimedia Commons) y licencias libres (películas abiertas de la Blender Foundation, música Creative Commons).
El diagrama
- Tú (o alguien de tu hogar) pides una película o una serie en Seerr.
- Seerr pasa la petición a Radarr (películas) o Sonarr (series).
- La app *arr busca en las fuentes configuradas en Prowlarr.
- Envía el elemento elegido al cliente de descarga.
- El archivo llega a
/data/downloads/. - La app *arr lo importa: lo renombra y lo coloca en
/data/media/con un enlace duro (instantáneo, sin espacio extra). - Avisa a Jellyfin o Plex para que actualice la biblioteca; Bazarr añade los subtítulos que faltan junto al vídeo.
- Jellyfin o Plex lee
/data/media/. - Cuando un dispositivo no puede reproducir el formato original, el servidor transcodifica en la GPU (VAAPI / Quick Sync).
- El vídeo se emite a la tele, el móvil o el navegador.
¿Sin cliente de descarga? La pila funciona igual: deja tus propios archivos en una carpeta y usa la importación manual (Manual Import) de Sonarr, Radarr o Lidarr para renombrarlos y ordenarlos.
Quién hace qué
| Herramienta | Papel | Puerto por defecto |
|---|---|---|
| Jellyfin / Plex | Servidor multimedia: biblioteca, metadatos, streaming, transcodificación por GPU | 8096 / 32400 |
| Sonarr | Series: sigue los episodios, los importa y los renombra | 8989 |
| Radarr | Películas: el mismo trabajo para películas | 7878 |
| Lidarr | Música: álbumes y artistas, ideal para tus CD ripeados | 8686 |
| Prowlarr | Gestiona las fuentes (indexadores) una sola vez y las sincroniza con las apps *arr | 9696 |
| Bazarr | Subtítulos para todo lo que gestionan Sonarr y Radarr | 6767 |
| Seerr | Portal de peticiones para tu hogar, para Jellyfin, Plex y Emby | 5055 |
Seerr es la fusión de Overseerr (Plex) y Jellyseerr (Jellyfin):
los dos equipos se unieron y publicaron Seerr 3.0 en febrero de 2026
(ghcr.io/seerr-team/seerr). Las imágenes de Overseerr están obsoletas; si
todavía usas Overseerr o Jellyseerr, migra a Seerr con una carpeta de datos
nueva para conservar la antigua como respaldo.
Readarr (libros) fue abandonado por sus desarrolladores en 2025 y su repositorio está archivado: para libros y audiolibros, mira mejor Audiobookshelf o LazyLibrarian.
Las herramientas que suelen acompañarla
| Herramienta | Lo que aporta |
|---|---|
| Recyclarr | Sincroniza perfiles de calidad y reglas de nombres reconocidos (TRaSH Guides) en Sonarr y Radarr |
| Unpackerr | Descomprime archivos para que Sonarr / Radarr puedan importarlos |
| Tdarr | Recodifica la biblioteca en masa (por ejemplo a HEVC); puede usar la GPU Intel con VAAPI / QSV |
| Tautulli (Plex) / Jellystat (Jellyfin) | Estadísticas de reproducción, quién vio qué, notificaciones |
| Kometa | Colecciones, carteles y overlays para Plex (y en parte Jellyfin) |
| Maintainerr | Reglas para limpiar lo que nadie ve |
| Wizarr | Enlaces de invitación para dar acceso a Jellyfin o Plex |
| Audiobookshelf | Servidor de audiolibros y pódcasts |
| Homepage | Un panel con todos los servicios y su estado |
Un solo archivo Docker Compose
Todas las apps comparten una sola carpeta /data con downloads/ y
media/ dentro. Debe ser el mismo sistema de archivos para todos los
contenedores; si no, los enlaces duros se convierten en copias lentas que
duplican el espacio usado.
mkdir -p /srv/data/{downloads,media/{movies,tv,music}} /srv/arr
cd /srv/arr
docker-compose.yml:
x-common: &common
restart: unless-stopped
environment:
PUID: "1000"
PGID: "1000"
TZ: Europe/Madrid
volumes:
- /srv/data:/data
services:
sonarr:
<<: *common
image: lscr.io/linuxserver/sonarr:latest
volumes: [/srv/data:/data, ./sonarr:/config]
ports: ["127.0.0.1:8989:8989"]
radarr:
<<: *common
image: lscr.io/linuxserver/radarr:latest
volumes: [/srv/data:/data, ./radarr:/config]
ports: ["127.0.0.1:7878:7878"]
lidarr:
<<: *common
image: lscr.io/linuxserver/lidarr:latest
volumes: [/srv/data:/data, ./lidarr:/config]
ports: ["127.0.0.1:8686:8686"]
prowlarr:
<<: *common
image: lscr.io/linuxserver/prowlarr:latest
volumes: [./prowlarr:/config]
ports: ["127.0.0.1:9696:9696"]
bazarr:
<<: *common
image: lscr.io/linuxserver/bazarr:latest
volumes: [/srv/data:/data, ./bazarr:/config]
ports: ["127.0.0.1:6767:6767"]
seerr:
image: ghcr.io/seerr-team/seerr:latest
init: true
restart: unless-stopped
environment:
TZ: Europe/Madrid
volumes: [./seerr:/app/config]
ports: ["5055:5055"]
jellyfin: # o el servicio plex de abajo
image: jellyfin/jellyfin:latest
restart: unless-stopped
devices: [/dev/dri/renderD128:/dev/dri/renderD128]
group_add: ["${RENDER_GID}"]
volumes: [./jellyfin:/config, /srv/data/media:/data/media:ro]
ports: ["8096:8096"]
# plex:
# image: plexinc/pms-docker:latest
# restart: unless-stopped
# network_mode: host
# devices: [/dev/dri:/dev/dri]
# volumes: [./plex:/config, /srv/data/media:/data/media:ro]
echo "RENDER_GID=$(stat -c %g /dev/dri/renderD128)" > .env
docker compose up -d
Añade al mismo archivo el cliente de descarga que prefieras, con
/srv/data:/data como volumen y /data/downloads como carpeta de destino,
solo para fuentes legales.
Conectar las apps entre sí
- Prowlarr → Settings → Apps: añade Sonarr, Radarr y Lidarr con su clave API (en Settings → General de cada app). Prowlarr les envía después las mismas fuentes.
- Sonarr / Radarr / Lidarr → Settings → Media Management: carpetas raíz
/data/media/tv,/data/media/movies,/data/media/music; deja activado Use Hardlinks instead of Copy. - Sonarr / Radarr → Settings → Connect: añade Emby / Jellyfin o Plex Media Server para que la biblioteca se actualice tras cada importación.
- Bazarr → Settings → Sonarr / Radarr: las mismas claves API, y luego elige idiomas y proveedores de subtítulos.
- Seerr: el asistente inicial pide Jellyfin o Plex; después, en Settings → Services, añade Radarr y Sonarr.
- Jellyfin o Plex: bibliotecas en
/data/media/...y transcodificación por GPU como en nuestra guía.
Seguridad
- Solo Jellyfin/Plex y Seerr necesitan ser accesibles. Las demás apps
escuchan en
127.0.0.1: ábrelas con un túnel SSH (ssh -L 8989:localhost:8989 support@tu-servidor) o detrás de un proxy inverso con autenticación. - Activa la autenticación en cada app *arr (Settings → General → Authentication).
- Deja la carpeta media en solo lectura para el servidor multimedia (
:roarriba).
Almacenamiento
Las ofertas incluyen 60 GB (Start), 120 GB (Power) o 240 GB SSD (Pro). Es de sobra para las apps y una biblioteca de música o vídeos personales; para una gran colección de películas, planifica el tamaño del disco desde el principio, porque los enlaces duros solo funcionan dentro de un mismo sistema de archivos.
Probar
Servidor Linux GPU con Intel UHD 770 dentro de la VM, Docker ya instalado, VAAPI y Quick Sync listos para Jellyfin y Plex. Desde 14,99 €/mes sin IVA, acceso root.