Servidor multimedia en casa con Plex y Docker (2026)
Prueba Plex con GPU Intel en Docker sin tocar tu servidor habitual: Compose local, vinculación, comprobación de transcodificación por hardware y límites reales.
En esta guía7 secciones

Plex organiza tus archivos y los reproduce desde otros dispositivos. Docker permite mantener su configuración separada del sistema, pero la GPU necesita acceso explícito dentro del contenedor. Aquí puedes montar una prueba local con carpetas propias y comprobar qué hace Plex al reproducir un vídeo, antes de mover tu biblioteca o comprar equipo.
Plex no incluye las películas de tu biblioteca: utiliza vídeos propios o archivos que tengas derecho a reproducir. Si ya tienes un servidor funcionando, conserva su instalación y prueba en un directorio y puerto distintos.
[aff]Hay enlaces de afiliado más abajo: si compras algo desde ellos me llevo una pequeña comisión y a ti no te cuesta ni un céntimo más. En calidad de Afiliado de Amazon, obtengo ingresos por las compras adscritas que cumplen los requisitos aplicables.
Actualizado el 5 de noviembre de 2026: montaje y comprobación de GPU · conectar otro equipo y preparar la TV.
Por qué Plex sobre Docker
Plex es el software que indexa tus archivos, descarga carátulas y metadatos, y los sirve con una interfaz tipo Netflix a cualquier dispositivo. Podrías instalarlo directamente sobre el sistema operativo, pero meterlo en un contenedor Docker permite dejar explícitas varias decisiones:
- Actualización controlada. Puedes fijar una imagen, respaldar la configuración y probar otra versión. Cambiar de imagen no garantiza que una base de datos ya migrada admita volver atrás.
- Carpetas explícitas. El ejemplo separa configuración y medios; los medios se montan en solo lectura.
- Montaje documentado. La red y las rutas quedan escritas en un archivo que puedes revisar antes de arrancar.
Una instalación nativa también puede funcionar bien. Si la tuya ya cumple, no hace falta migrarla por usar Docker. Nunca apuntes dos servidores a la misma carpeta de configuración.
Qué hardware necesitas de verdad
Aquí es donde más dinero se malgasta. La pregunta no es “qué es lo mejor”, sino “qué mueve tu biblioteca para tus dispositivos”.

El servidor: un mini PC es casi siempre la respuesta
Para servir archivos que tus clientes reproducen directamente, un mini PC moderno puede ser suficiente. Antes de elegirlo por potencia de transcodificación, comprueba formatos, número de sesiones y si Plex necesita convertir el vídeo. Frente a una torre, un equipo compacto puede ofrecer:
- Menor tamaño y, según configuración y discos, menor consumo. No atribuimos aquí vatios medidos a cualquier modelo.
- Menos ruido en algunos montajes; comprueba el equipo y sus discos si va a estar en el salón.
- Ocupa lo que un libro y no necesitas montar nada.
Si ya tienes un PC viejo dando vueltas, úsalo primero: no compres hasta saber que lo vas a aprovechar. Pero si partes de cero y quieres algo que encienda y funcione, un mini PC te ahorra quebraderos de cabeza. Si dudas del modelo, lo desglosamos por presupuesto en la guía de mini PC para homelab.
El punto clave: transcodificación
El error más común es obsesionarse con la CPU sin entender cuándo el servidor tiene que trabajar. El panel de Plex distingue tres rutas:
- Direct Play: el cliente recibe el archivo sin cambios.
- Direct Stream: Plex cambia el contenedor sin recodificar el vídeo.
- Transcode: convierte vídeo o audio por incompatibilidad o límites de calidad/red. Para vídeo puede usar CPU o aceleración compatible.
Prueba primero el archivo, cliente y subtítulos previstos. Si se corta, la guía de diagnóstico de transcodificación separa red, audio y vídeo antes de recomendar hardware. Quick Sync puede ayudar cuando Plex sí convierte vídeo, pero un nombre de CPU no garantiza varias sesiones.
El almacenamiento: separa sistema y datos
Aquí no hay milagro: las películas ocupan. Nuestra recomendación es sencilla y barata:
- Un SSD pequeño (o el propio del mini PC) para el sistema operativo y la base de datos de Plex. Las carátulas y los metadatos agradecen la velocidad.
- Uno o varios discos grandes para la biblioteca. Un disco externo conectado por USB es la forma más sencilla y económica de empezar: 8 TB dan para una colección muy seria, y ampliar es añadir otro disco.
Para un primer servidor, un disco externo USB va perfecto. Si más adelante creces y quieres tolerancia a fallos, ese es el momento de plantearte un NAS o un array con redundancia, no antes. Empieza simple.
Probar Plex con GPU en Docker
Este montaje es para Linux con una GPU Intel compatible y /dev/dri disponible. Necesitas Docker con Compose, permiso para usarlo y Plex Pass activo en la cuenta propietaria del servidor. Comprueba primero los requisitos de Plex. No compres una licencia solo para seguir el ejemplo: puedes probar reproducción directa sin aceleración o seguir la guía de Jellyfin.
1. Prepara un directorio nuevo
En el equipo donde ejecutará Docker:
mkdir plex-prueba
cd plex-prueba
mkdir config media transcode
id -u
id -g
ls -l /dev/dri
Copia un vídeo que puedas usar dentro de media. No copies la configuración ni montes la biblioteca de un Plex que ya esté funcionando. Si no existe /dev/dri, este ejemplo de aceleración Intel no puede aplicarse tal cual: revisa GPU y controlador en el host antes de continuar.
2. Guarda el Compose
Crea compose.yaml con este contenido. Sustituye los dos 1000 por los números de id -u e id -g, ejecutados como tu usuario habitual, no desde una shell root. No uses 0 en ambos campos. La imagen está fijada al digest utilizado en la prueba del 4 de noviembre de 2026, con Plex Media Server 1.43.5.11079; no es una promesa de que siga siendo la versión más reciente.
services:
plex:
image: plexinc/pms-docker@sha256:6d778d41daae68f89115aa87a44ae14a96b23e71a2093da173b5a9aac4091336
ports:
- '127.0.0.1:32490:32400'
environment:
TZ: Europe/Madrid
PLEX_UID: '1000'
PLEX_GID: '1000'
ADVERTISE_IP: 'http://127.0.0.1:32490/'
PLEX_CLAIM: '${PLEX_CLAIM:-}'
devices:
- /dev/dri:/dev/dri
volumes:
- ./config:/config
- ./media:/media:ro
- ./transcode:/transcode
cpus: 1.0
mem_limit: 1g
memswap_limit: 1g
pids_limit: 256
restart: 'no'
Descargar este compose.yaml — contiene el mismo ejemplo; adapta UID/GID antes de arrancarlo.
/config guarda la base de datos y las credenciales del servidor; /media solo permite leer tus vídeos y /transcode recibe los temporales. La imagen oficial de Plex añade su usuario a los grupos de los dispositivos gráficos. No hace falta abrir permisos con chmod 777 ni usar privileged para este montaje.
Los límites de CPU y memoria acotan este laboratorio de una sesión; no son un dimensionamiento recomendado para una biblioteca completa. La GPU física se comparte: estos límites no reservan su capacidad ni evitan competir con otro Plex. Haz la prueba cuando no perjudique una reproducción o tarea existente. El puerto 32490 evita ocupar el 32400 habitual y solo escucha en el propio equipo. Este Compose no publica el puerto en las interfaces de red ni permite entrar directamente desde la tele; Plex sí establece conexiones salientes con su servicio.
3. Vincula el servidor y arranca
Con la cuenta que será propietaria del servidor, abre la página oficial de claim. El código caduca en pocos minutos. Guárdalo en un archivo .env dentro de plex-prueba, sin publicarlo ni incluirlo en capturas:
PLEX_CLAIM=claim-SUSTITUYE_POR_TU_CODIGO
Arranca en ese mismo directorio:
chmod 600 .env
docker compose config --quiet
docker compose up -d
docker compose logs --tail=40 plex
Espera a que termine la inicialización. Abre http://127.0.0.1:32490/web en ese equipo, inicia sesión si lo pide y asigna un nombre reconocible, como Plex prueba, antes de añadir una biblioteca. Si Docker está en otra máquina a la que accedes por SSH, puedes mantener el puerto cerrado a la red y abrir este túnel desde tu ordenador:
ssh -L 32490:127.0.0.1:32490 usuario@servidor
Deja el túnel abierto y usa la misma dirección local en el navegador. Esta variante explica cómo acceder al puerto local; la prueba descrita abajo se hizo en el propio host, no a través de SSH.
Si el código caduca y el servidor no quedó vinculado, genera otro, actualiza .env y ejecuta docker compose up -d --force-recreate. Reiniciar el mismo contenedor no repite necesariamente su inicialización. Si ya figura vinculado pero aparece «No autorizado», comprueba la cuenta y la identidad del servidor antes de cambiar nada: un claim nuevo no corrige una credencial persistente incorrecta. No revoques tu servidor habitual.
Añade una biblioteca Otros vídeos que apunte a /media. Si no aparece tu archivo, comprueba que esté dentro de plex-prueba/media y que el UID/GID elegido pueda leerlo. Tras vincular correctamente el servidor, puedes quitar el código de .env: el claim solo se usa en el primer arranque. Protege y respalda config, donde queda la autenticación persistente.
4. Comprueba una conversión real
Selecciona primero Plex prueba, no tu servidor habitual. En Ajustes → Servidor → Transcodificador, pulsa Mostrar avanzado si no ves todas las opciones. Activa Usar aceleración por hardware cuando esté disponible y la codificación acelerada por hardware; pulsa Guardar cambios. Los nombres pueden variar con el idioma de Plex. Reproduce el vídeo, abre el engranaje del reproductor y elige una calidad inferior al original. En Plex Web puede ser necesario pulsar Mostrar todo para ver las opciones.
Abre el Panel de actividad, despliega la tarjeta de esa sesión y busca (hw) junto a la conversión de vídeo. Comprueba entrada y salida: Plex puede acelerar una parte y resolver otra por CPU. Si muestra Direct Play, no está convirtiendo el vídeo; eso es normal y puede ser lo que necesitas. Plex explica cómo forzar la prueba y reconocer el indicador.
Si convierte vídeo sin (hw), revisa licencia del propietario, las opciones del transcodificador, acceso del contenedor a /dev/dri y compatibilidad del formato. No cambies de CPU antes de separar esos casos. El diagnóstico de transcodificación ayuda a distinguir vídeo, audio, red y cliente.
Qué comprobamos con este montaje
El 4 de noviembre de 2026, un Intel N100 con Plex Media Server 1.43.5.11079 y Plex Pass convirtió un clip sintético H.264 SDR de 1080p a 720p y 4 Mbps. Plex Web llegó al final de sus 30,01 segundos; la sesión declaró VAAPI tanto para decodificar como para codificar. El contador del reproductor registró dos fotogramas descartados.
En una reproducción breve posterior, el panel mostró 720P (H264) — Transcodificar (hw). La captura de ese indicador corresponde a ese segundo pase, no al recorrido completo. Los medios y la configuración eran exclusivos de la prueba; el laboratorio quedó detenido al terminar.
Esto comprueba el funcionamiento de esa ruta de aceleración. No mide cuántas películas admite a la vez ni valida HDR, HEVC, subtítulos, reproducción en una TV o consumo eléctrico. Tampoco evaluamos el sonido: antes de trasladar tu biblioteca, prueba un archivo representativo y escucha la reproducción en el dispositivo que usarás.
5. Termina la prueba
Detén solo este Compose desde su directorio:
docker compose down
Las carpetas locales permanecen. Conserva config si vas a retomar la prueba; si retiras definitivamente el laboratorio, elimina solo ese servidor en Ajustes → Dispositivos autorizados de Plex. No borres ni revoques el servidor que ya utilizabas. Comprueba la entrada, su plataforma y la fecha de conexión: no te fíes solo del nombre, que puede ser genérico. Si no puedes identificarla con seguridad, déjala registrada y conserva el contenedor detenido. Instrucciones oficiales para quitar una entrada de servidor.
Pasar de localhost a la red de casa
Si Plex abre en el servidor pero no desde otro equipo, revisa primero la dirección: 127.0.0.1 siempre señala al dispositivo que estás usando. En la tele no señala al mini PC. El Compose de la prueba anterior sólo publica el puerto en el propio servidor.
Esta variante mantiene la red bridge de Docker y publica un único puerto TCP en una dirección del host. No configura acceso desde Internet ni publica los puertos de descubrimiento local GDM o DLNA. Antes de continuar, termina la vinculación del apartado anterior y comprueba que estás trabajando con Plex prueba, no con tu servidor habitual.
1. Elige una dirección que alcance el cliente
Busca la IPv4 del servidor en tu router o con ip -br -4 addr. Usa la de su Ethernet o Wi-Fi doméstica, no la de una interfaz docker0 o br-…. Por ejemplo, 192.168.1.50 sólo sirve si es realmente la dirección de tu servidor. Una reserva DHCP en el router evita que cambie al reiniciar.
Conecta el cliente a esa red, fuera de la Wi-Fi de invitados. El aislamiento entre dispositivos, una VLAN o un cortafuegos pueden impedir la conexión aunque ambos tengan Internet.
2. Cambia el puerto publicado y la dirección anunciada
Desde el mismo directorio plex-prueba, guarda primero el Compose local:
cp compose.yaml compose.local.yaml
Después sustituye esas dos entradas del servicio plex; conserva imagen, carpetas, UID/GID y el resto de ajustes:
ports:
- '${PLEX_BIND_IP:?Define PLEX_BIND_IP en .env}:32490:32400'
environment:
# Conserva también TZ, PLEX_UID, PLEX_GID y PLEX_CLAIM
ADVERTISE_IP: 'http://${PLEX_BIND_IP:?Define PLEX_BIND_IP en .env}:32490/'
El fragmento anterior no es un Compose completo. Si prefieres partir del archivo entero, descarga el compose.yaml para red local. Sustituye el archivo anterior, no lo añadas como segundo Compose: al combinar archivos, la lista de puertos podría conservar el puerto local. Revisa los UID/GID de la descarga antes de arrancar y mantén las carpetas de tu prueba.
Añade esta línea a .env, con la IPv4 real del servidor. Conserva las otras variables que aún necesites:
PLEX_BIND_IP=192.168.1.50
La descarga exige esa variable: sin ella, la validación falla en lugar de publicar en todas las direcciones. ADVERTISE_IP indica dónde pueden encontrar Plex los clientes; no abre un puerto ni crea una regla de cortafuegos. En este ejemplo, ambas entradas deben usar la misma IP y el puerto externo 32490.
chmod 600 .env
docker compose config --quiet
docker compose up -d --force-recreate plex
La recreación hace que la imagen vuelva a leer la dirección anunciada; un simple reinicio puede conservar la anterior. Ejecuta los comandos sólo en el proyecto de prueba y conserva su carpeta config. No hacen falta network_mode: host, privileged ni una red sin autenticación. No abras puertos del router para esta prueba dentro de casa.
3. Comprueba la ruta antes de ir a la tele
Desde otro ordenador o móvil de esa red, abre http://192.168.1.50:32490/web, sustituyendo la IP. Si aparece Plex Web o su acceso de cuenta, el puerto responde; eso todavía no demuestra que tengas permiso para ver la biblioteca.
En una TV compatible, instala la aplicación oficial Plex. Si presenta un código, sigue su pantalla de vinculación y usa inicialmente la misma cuenta propietaria del servidor de prueba. Plex explica la vinculación del cliente y del servidor y el requisito de tener también el servidor asociado. El código de la TV no es el claim del servidor. Comprueba el nombre del servidor elegido antes de reproducir. No todas las aplicaciones de TV permiten introducir una URL manual.
Selecciona tu biblioteca personal, no el catálogo gratuito de Plex. Cuando veas tus archivos, reproduce un vídeo conocido, escucha el sonido y prueba los subtítulos que uses. Mira en el panel si la sesión es directa o indirecta y si convierte audio o vídeo. El diagnóstico de transcodificación te ayuda a interpretar esa sesión antes de comprar equipo.
Si el navegador abre pero la tele no conecta
- La URL no abre desde ningún otro dispositivo: confirma IP, puerto 32490, contenedor en marcha, publicación del puerto y separación entre redes. Revisa las reglas del host y Docker para la subred de tus clientes; no desactives el cortafuegos entero. Ligar el puerto a una IP limita su dirección de destino, no sustituye un control de quién puede acceder.
- Plex abre, pero no aparece tu servidor: comprueba la cuenta de ambos extremos, la vinculación del servidor y
ADVERTISE_IP. Que cargue la web no garantiza descubrimiento ni acceso a una biblioteca. - Aparece «No autorizado»: revisa a qué servidor y cuenta estás entrando. No borres la configuración ni revoques servidores por nombre; no añadas toda la LAN a la lista de redes sin autenticación para ocultar el problema.
- El servidor aparece, pero la sesión va indirecta o se corta: examina la conexión y los formatos de esa reproducción. No fuerces conexiones inseguras en la tele como primer arreglo. Plex documenta las conexiones seguras y sus límites por cliente.
Si Plex clasifica como remota una sesión que debería ser local, revisa LAN Networks en los ajustes de red. Ese ajuste requiere Plex Pass y debe contener sólo la subred doméstica que corresponda. Es distinto de la lista de redes permitidas sin autenticación: no uses esta última como sustituto.
El puerto TCP 32400 del contenedor es el principal. Este montaje lo publica como 32490 del host. Los puertos UDP de descubrimiento y los de DLNA tienen otras funciones; no hace falta abrirlos todos para comprobar la URL de Plex Web. La imagen oficial explica el modo bridge y ADVERTISE_IP.
Al terminar
Detén sólo el proyecto de prueba, desde plex-prueba:
docker compose down
Las carpetas permanecen. Si quieres volver a la prueba local, restaura compose.local.yaml como compose.yaml antes de arrancarla de nuevo; así dejarás de publicar ese puerto en la dirección de red. Conserva la configuración y no retires ningún otro servidor de tu cuenta.
Qué parte está comprobada
El 5 de noviembre de 2026 probamos otro servidor Plex sin cuenta, medios ni GPU, con configuración independiente. Un segundo equipo obtuvo Plex Web por un puerto publicado en una dirección privada; la interfaz llegó a la pantalla de acceso sin iniciar sesión. El servidor permaneció sin vincular y se detuvo al terminar.
Los dos equipos estaban unidos por WireGuard, no en la misma Wi-Fi. La prueba confirma alcance HTTP entre esos equipos; no valida descubrimiento en una TV, vinculación de cuenta, reproducción, sonido ni clasificación local/remota de Plex. El primer intento con una red Docker internal no permitió entrar desde el segundo equipo; la prueba válida utilizó un bridge normal, con salida a Internet. No uses internal como equivalente de «sólo mi LAN».
Acceso desde fuera de casa (con cabeza)
Publicar el puerto en una dirección privada no configura por sí solo el acceso desde Internet. Mantén esa tarea separada de la comprobación local.
Plex documenta por separado el acceso remoto y los requisitos de reproducción de vídeo personal fuera de casa. Una VPN puede conectar tus dispositivos con casa, pero no garantiza por sí sola cómo Plex clasificará la sesión ni elimina los requisitos de la cuenta. Este ensayo no comprobó reproducción remota.
Errores típicos que te vas a ahorrar
- Comprar hardware carísimo “por si acaso”. Si tus archivos se reproducen en Direct Play y el equipo responde, conserva ese montaje. Prueba antes de gastar.
- Guardar la base de datos de Plex en un disco lento o en red. Para este montaje, usa almacenamiento local con bloqueo de archivos compatible; un SSD mejora la respuesta.
- Confundir nombres y acceso. Un nombre incorrecto puede producir una coincidencia equivocada; una ruta o permiso incorrectos puede impedir que Plex vea el archivo.
- Olvidar los backups. La carpeta
configcontiene toda tu biblioteca organizada, vistos, colecciones… Respáldala y conserva una copia independiente de tus vídeos: el respaldo de configuración no los sustituye.
Por dónde empezar, y cuándo crecer
Un servidor multimedia casero con Plex y Docker es de los proyectos de homelab que más se disfrutan: útil desde el primer día y con mantenimiento mínimo. Empieza con lo que tengas o con un mini PC eficiente, un disco externo grande y una biblioteca bien nombrada. Cuando eso funcione y lo tengas por casa unas semanas, ya sabrás si necesitas crecer hacia un NAS, más discos o aceleración por hardware. Ni antes, ni de más.
Si Plex Pass cambia tu decisión, Jellyfin ofrece otra ruta para organizar tus archivos y configurar aceleración sin esa licencia. Utiliza otra imagen y otra configuración; no intercambies sus carpetas de datos.