Instalación y configuración de Plex Media Server en un VPS: acceso a la mediateca desde cualquier lugar
TL;DR
En esta guía detallada, configuraremos Plex Media Server en un servidor privado virtual (VPS), lo que le permitirá organizar y transmitir su mediateca personal (películas, series, música, fotos) a cualquier dispositivo desde cualquier parte del mundo. Obtendrá control total sobre su contenido multimedia, asegurando su seguridad y disponibilidad, evitando las restricciones y suscripciones de servicios de terceros.
- Plex Media Server se instalará en la versión actual de Ubuntu Server 24.04 LTS.
- Configuraremos un acceso seguro al servidor, incluyendo claves SSH, firewall y Fail2ban.
- Se proporcionará acceso seguro a la interfaz web de Plex a través de HTTPS usando Caddy.
- Aprenderá sobre los requisitos del VPS, la copia de seguridad y el mantenimiento de Plex.
- Obtendrá comandos listos para ejecutar y ejemplos de archivos de configuración.
Qué configuramos y por qué
Plex Media Server es una potente solución de software que le permite crear su propio servicio de streaming para su colección personal de archivos multimedia. Imagine que tiene una enorme biblioteca de películas, series, música y fotos, almacenada en su propio servidor. Plex organiza esta mediateca, descargando automáticamente carátulas, descripciones, calificaciones y metadatos, y luego la transmite a cualquiera de sus dispositivos: smartphone, tablet, Smart TV, consola de juegos o navegador web, dondequiera que se encuentre. Es su Netflix personal, completamente bajo su control.
En resumen, al finalizar esta guía, obtendrá un Plex Media Server completamente funcional, accesible desde cualquier parte del mundo. Su mediateca estará bellamente organizada, fácilmente accesible y almacenada de forma segura en su VPS. Podrá compartir el acceso con amigos y familiares, controlar la calidad del streaming y gestionar todo el sistema de forma independiente.
Existen diferentes enfoques para la gestión de contenido multimedia. Por un lado, existen servicios gestionados en la nube, como Netflix, Spotify, YouTube Premium. Son convenientes, pero le limitan a su catálogo, requieren una suscripción mensual y no le dan control total sobre los datos. Por otro lado, existen soluciones de autoalojamiento (self-hosted), como Plex, Jellyfin, Emby. Al elegir la opción self-hosted en un VPS, obtiene las siguientes ventajas:
- Control total: Usted es dueño de sus datos y decide cómo se almacenan y quién tiene acceso a ellos.
- Ahorro: Para una mediateca grande, los costos únicos de un VPS pueden ser menores que las suscripciones constantes a varios servicios de streaming.
- Privacidad: Sus archivos multimedia no son escaneados ni analizados por terceros.
- Disponibilidad: Su mediateca está disponible 24/7 desde cualquier parte del mundo con una conexión a internet.
- Flexibilidad: Puede configurar Plex según sus necesidades, integrarlo con otros servicios y ampliar su funcionalidad.
La instalación de Plex en un VPS es especialmente relevante si no tiene un canal de internet doméstico estable con alta velocidad de subida, o no desea mantener su computadora doméstica encendida constantemente. Un VPS proporciona una conexión estable, un alto ancho de banda y la fiabilidad necesaria para un streaming ininterrumpido.
Qué configuración de VPS se necesita para esta tarea
La elección de un VPS adecuado para Plex Media Server es crucial, ya que influye directamente en el rendimiento del streaming, especialmente durante la transcodificación. La transcodificación es el proceso de convertir un archivo multimedia a un formato compatible con el dispositivo de reproducción, a menudo con un cambio de resolución o bitrate "sobre la marcha".
Requisitos mínimos para Plex Media Server (válidos para 2026):
- Procesador (CPU):
- Para reproducción directa (sin transcodificación): 1-2 núcleos, 2 GHz. La mayoría de los dispositivos modernos son compatibles con H.264, por lo que a menudo no se requiere transcodificación.
- Para una transmisión de transcodificación 1080p: Intel Core i3 (7ª generación o superior) o AMD Ryzen equivalente, o 2-4 vCPU en un VPS. Es deseable contar con aceleración por hardware (Intel Quick Sync Video o NVENC/AMF).
- Para una transmisión de transcodificación 4K HDR: Intel Core i7 (7ª generación o superior) o un potente AMD Ryzen, o 4-6+ vCPU. La aceleración por hardware es altamente recomendada.
- Memoria RAM:
- Mínimo: 2 GB. Esto será suficiente para el funcionamiento básico y una o dos transmisiones sin transcodificación.
- Recomendado: 4-8 GB. Permitirá trabajar cómodamente con varias transmisiones y transcodificación, así como para el almacenamiento en caché de metadatos.
- Para 4K y múltiples usuarios: 8 GB o más.
- Espacio en disco:
- Para el SO y los metadatos de Plex: 20-40 GB SSD. Los metadatos de Plex (carátulas, descripciones, bases de datos) pueden ocupar un espacio considerable, especialmente para bibliotecas grandes (cientos de gigabytes). Un SSD garantizará un acceso rápido a ellos.
- Para archivos multimedia: Aquí no hay una respuesta universal. Los archivos multimedia pueden almacenarse directamente en el VPS (si el volumen lo permite), en un almacenamiento de bloques conectado, en un almacenamiento en la nube (por ejemplo, compatible con S3) o en un NAS remoto conectado a través de FUSE. Para bibliotecas significativas (terabytes de datos), el almacenamiento en el propio VPS se vuelve poco práctico y costoso.
- Red:
- Ancho de banda: 1 Gbit/s. Esto es estándar para la mayoría de los VPS y más que suficiente para el streaming.
- Tráfico saliente: Cuanto más, mejor. Para una transmisión 1080p se requieren aproximadamente 8-12 Mbit/s, para 4K — 25-50 Mbit/s. Si tiene varios usuarios, el tráfico se sumará. Asegúrese de que su plan de VPS incluya un volumen suficiente de tráfico saliente (por ejemplo, 2-5 TB al mes).
Plan de VPS específico para la tarea (ejemplo):
Para un funcionamiento cómodo de Plex Media Server, capaz de manejar varias transmisiones 1080p (incluyendo una transcodificación) y una extensa mediateca, recomendamos el siguiente conjunto mínimo de características:
- CPU: 4 vCPU (por ejemplo, AMD EPYC o Intel Xeon Gold), preferiblemente con soporte para aceleración por hardware (aunque en un VPS esto no siempre está disponible directamente, el proveedor puede ofrecer opciones).
- RAM: 8 GB.
- Disco: 100 GB NVMe SSD (para el SO y los metadatos de Plex). Se recomienda almacenar los archivos multimedia en un almacenamiento externo o discos conectados.
- Red: Puerto de 1 Gbit/s, 5 TB de tráfico saliente al mes.
Puede alquilar un VPS con estas características, asegurándose de que el proveedor elegido ofrezca un rendimiento estable y un volumen de tráfico suficiente. Siempre preste atención al tipo de procesador y la disponibilidad de transcodificación por hardware, si esto es crítico para sus tareas.
Cuándo se necesita un servidor dedicado y no un VPS
Un servidor dedicado se vuelve necesario cuando:
- Planea atender a un gran número de usuarios simultáneos (10+).
- Necesita una transcodificación 4K HDR estable para varias transmisiones, lo que requiere una potencia de cálculo significativamente mayor y, a menudo, hardware especializado (GPU con NVENC/AMF).
- Su mediateca se mide en decenas y cientos de terabytes, y desea almacenarla directamente en el servidor, utilizando arreglos RAID.
- Necesita control total sobre el hardware, incluida la capacidad de instalar tarjetas de video especializadas para la transcodificación.
Para la mayoría de los usuarios domésticos y pequeños equipos, un VPS será más que suficiente.
Ubicación: en qué influye
La elección de la ubicación del VPS es importante para la velocidad de acceso:
- Latencia: Cuanto más cerca esté el servidor de usted y sus usuarios principales, menor será la latencia. Una baja latencia es importante para un inicio rápido de la reproducción y la navegación por la interfaz de Plex.
- Velocidad de conexión: La proximidad física también influye en la velocidad máxima de transferencia de datos. Elija un centro de datos que esté geográficamente más cerca de la mayoría de sus espectadores.
- Restricciones geográficas: En algunas regiones puede haber restricciones de acceso a cierto contenido o servicios, aunque esto rara vez afecta a Plex.
Normalmente se recomienda elegir un centro de datos en su país o en un país grande cercano con buena infraestructura de red.
Preparación del servidor
Antes de instalar Plex, es necesario realizar una configuración básica de seguridad y actualizar el sistema operativo. Utilizaremos Ubuntu Server 24.04 LTS, como la versión actual y estable para el año 2026.
1. Conexión al servidor por SSH
Utilice un cliente SSH para conectarse a su VPS. Reemplace your_vps_ip con la dirección IP de su servidor.
ssh root@your_vps_ip
En la primera conexión, es posible que se le pida que confirme la huella digital de la clave del servidor e introduzca la contraseña de root.
2. Actualización del sistema
Siempre comience actualizando la lista de paquetes e instalando todas las actualizaciones disponibles. Esto garantiza que tendrá las versiones más recientes de las utilidades del sistema y los parches de seguridad.
sudo apt update && sudo apt upgrade -y
Si se requiere un reinicio después de la actualización del kernel, ejecútelo:
sudo reboot
Después del reinicio, vuelva a conectarse por SSH.
3. Creación de un nuevo usuario con permisos sudo
Trabajar como usuario root no es seguro. Crearemos un nuevo usuario y le daremos permisos sudo.
sudo adduser plexuser # Creamos un nuevo usuario llamado plexuser
sudo usermod -aG sudo plexuser # Añadimos el usuario al grupo sudo
Salga de la sesión de root e inicie sesión con el nuevo usuario:
exit
ssh plexuser@your_vps_ip
Ahora, todos los comandos posteriores que requieran privilegios de root se ejecutarán a través de sudo.
4. Configuración de claves SSH (recomendado)
Las claves SSH proporcionan un método de autenticación más seguro que las contraseñas. Si aún no las utiliza, genere un par de claves en su máquina local:
ssh-keygen -t rsa -b 4096 # En su máquina local
Luego, copie la clave pública al servidor para el usuario plexuser:
ssh-copy-id plexuser@your_vps_ip # En su máquina local
Después de esto, podrá iniciar sesión sin contraseña. Para aumentar la seguridad, desactive el inicio de sesión con contraseña para SSH:
sudo nano /etc/ssh/sshd_config
Encuentre las líneas:
#PasswordAuthentication yes
#PermitRootLogin yes
Cámbielas a:
PasswordAuthentication no
PermitRootLogin no
Guarde los cambios (Ctrl+O, Enter, Ctrl+X) y reinicie el servicio SSH:
sudo systemctl restart sshd
¡Asegúrese de poder iniciar sesión con la clave SSH antes de deshabilitar el inicio de sesión con contraseña!
5. Configuración del firewall (UFW)
UFW (Uncomplicated Firewall) es una utilidad conveniente para administrar el firewall Netfilter. Lo configuraremos para permitir solo los puertos necesarios.
sudo apt install ufw -y # Instalamos UFW
sudo ufw allow OpenSSH # Permitimos SSH (puerto 22)
sudo ufw allow 32400/tcp # Puerto de Plex Media Server
sudo ufw allow 80/tcp # Para HTTP (más tarde para Caddy/Let's Encrypt)
sudo ufw allow 443/tcp # Para HTTPS (más tarde para Caddy/Let's Encrypt)
sudo ufw enable # Habilitamos el firewall
sudo ufw status # Verificamos el estado
Asegúrese de que SSH (puerto 22) esté permitido, de lo contrario perderá el acceso al servidor.
6. Instalación de Fail2ban
Fail2ban escanea los registros del servidor en busca de actividad sospechosa (por ejemplo, múltiples intentos fallidos de inicio de sesión SSH) y bloquea temporalmente las direcciones IP de los atacantes.
sudo apt install fail2ban -y # Instalamos Fail2ban
sudo systemctl enable fail2ban # Habilitamos el inicio automático
sudo systemctl start fail2ban # Iniciamos el servicio
Fail2ban ya protege SSH por defecto. Puede configurarlo adicionalmente copiando el archivo de configuración:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local
En el archivo jail.local, puede cambiar bantime (tiempo de bloqueo) y findtime (período para detectar intentos). Para la mayoría de los casos, la configuración predeterminada es suficiente.
Instalación de software — paso a paso
Ahora que el servidor está preparado, pasemos a la instalación de Plex Media Server. Utilizaremos el repositorio oficial de Plex para Ubuntu, lo que garantizará una fácil actualización en el futuro.
1. Adición del repositorio oficial de Plex
Plex proporciona su propio repositorio para Debian/Ubuntu. Esto garantiza que siempre recibirá las últimas versiones estables de Plex Media Server.
# Instalamos los paquetes necesarios para trabajar con repositorios HTTPS
sudo apt install -y apt-transport-https curl gnupg2
# Añadimos la clave GPG del repositorio de Plex
curl https://downloads.plex.tv/plex-media-server/pool/dists/public/Release.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/plex.gpg
# Añadimos el repositorio de Plex a la lista de fuentes de apt
echo "deb [arch=amd64] https://downloads.plex.tv/plex-media-server/debian/ public main" | sudo tee /etc/apt/sources.list.d/plex.list
Estos comandos primero instalan las utilidades para trabajar con repositorios HTTPS, luego descargan y añaden la clave pública de Plex para verificar la autenticidad de los paquetes, y finalmente, añaden la URL del repositorio de Plex a la lista de fuentes de APT.
2. Actualización de la lista de paquetes e instalación de Plex Media Server
Después de añadir el repositorio, es necesario actualizar la lista de paquetes apt para que reconozca los nuevos paquetes disponibles del repositorio de Plex, y luego instalar Plex Media Server.
# Actualizamos la lista de paquetes
sudo apt update
# Instalamos Plex Media Server
sudo apt install -y plexmediaserver
Plex Media Server se instalará y se iniciará automáticamente como un servicio del sistema. La versión actual de Plex Media Server para 2026 se seleccionará automáticamente del repositorio (por ejemplo, Plex Media Server 1.40.x o posterior).
3. Verificación del estado del servicio Plex
Asegurémonos de que el servicio Plex Media Server se haya iniciado y esté funcionando correctamente.
# Verificamos el estado del servicio Plex Media Server
sudo systemctl status plexmediaserver
La salida debería mostrar active (running). Si el servicio no está iniciado, puede intentar iniciarlo manualmente:
# Iniciamos el servicio si no está activo
sudo systemctl start plexmediaserver
# Habilitamos el inicio automático al arrancar el sistema (si aún no está habilitado)
sudo systemctl enable plexmediaserver
4. Configuración de permisos de acceso a archivos multimedia (si ya existen o se van a montar)
Plex Media Server se ejecuta como el usuario plex. Asegúrese de que este usuario tenga permisos de lectura en los directorios donde se almacenarán sus archivos multimedia. Esto es especialmente importante si planea almacenar archivos multimedia en discos separados o en un almacenamiento en la nube conectado a su VPS.
Ejemplo: si sus archivos multimedia se encuentran en /mnt/media:
# Creamos el directorio para los archivos multimedia (si no existe)
sudo mkdir -p /mnt/media/movies
sudo mkdir -p /mnt/media/tvshows
# Establecemos el propietario de los directorios multimedia al usuario plex
sudo chown -R plex:plex /mnt/media
# Establecemos permisos de lectura y ejecución para los directorios
sudo chmod -R 755 /mnt/media
Estos comandos garantizan que el usuario plex podrá leer el contenido de sus directorios multimedia. Si va a añadir archivos a través de SFTP u otros métodos, asegúrese de que también tengan los permisos de acceso correctos.
5. Utilidades adicionales (opcional, pero útil)
Para la gestión de archivos y el diagnóstico, las siguientes utilidades pueden ser útiles:
# Instalamos mc (Midnight Commander) para un gestor de archivos conveniente
sudo apt install -y mc
# Instalamos htop para monitorear los recursos del sistema
sudo apt install -y htop
# Instalamos ffmpeg, si no se instaló como dependencia (Plex generalmente viene con su propia versión, pero para otras tareas puede ser necesario el del sistema)
sudo apt install -y ffmpeg
Ahora Plex Media Server está instalado y listo para la configuración inicial a través de la interfaz web.
Configuración
Después de instalar Plex Media Server, es necesario realizar la configuración inicial a través de la interfaz web, así como asegurar el acceso a él a través de HTTPS. Utilizaremos Caddy como un proxy inverso simple y potente con obtención automática de certificados SSL de Let's Encrypt.
1. Acceso a la interfaz web de Plex
En la etapa inicial, Plex está disponible a través de la dirección IP de su VPS y el puerto 32400. Abra en su navegador:
http://your_vps_ip:32400/web
Verá la página de inicio de sesión de Plex. Inicie sesión con su cuenta de Plex (si no tiene una, créela en plex.tv). Después de iniciar sesión, Plex detectará un nuevo servidor.
- Asigne un nombre a su servidor: Elija un nombre descriptivo, por ejemplo, "MyPlexVPS".
- Marque la casilla "Permitir acceso fuera de su red doméstica": Esto es crucial para acceder al servidor desde cualquier parte del mundo.
- Haga clic en "HECHO".
A continuación, podrá añadir bibliotecas multimedia:
- Haga clic en "AÑADIR BIBLIOTECA".
- Seleccione el tipo de medio (Películas, Series, Música, etc.).
- Haga clic en "EXPLORAR CARPETAS DE MEDIOS" e indique la ruta a sus archivos multimedia en el VPS (por ejemplo,
/mnt/media/movies). - Haga clic en "AÑADIR BIBLIOTECA".
Plex comenzará a escanear las carpetas especificadas, a descargar metadatos y a organizar su biblioteca. Este proceso puede tardar un tiempo, dependiendo del tamaño de su colección.
2. Configuración del nombre de dominio y DNS (paso preliminar para HTTPS)
Para usar HTTPS y un acceso conveniente, necesitará un nombre de dominio (por ejemplo, plex.yourdomain.com). Cree un registro A en la configuración DNS de su dominio que apunte a la dirección IP de su VPS.
Ejemplo de registro DNS:
Tipo: A
Nombre: plex
Valor: your_vps_ip
TTL: Automático
Espere un tiempo hasta que el registro DNS se actualice (normalmente de unos minutos a varias horas).
3. Instalación y configuración de Caddy para HTTPS
Caddy es un servidor web potente y fácil de usar que obtiene y renueva automáticamente los certificados SSL de Let's Encrypt. Es una solución ideal para proporcionar acceso HTTPS a Plex.
3.1. Instalación de Caddy
# Instalamos las dependencias
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
# Descargamos la clave GPG de Caddy
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
# Añadimos el repositorio de Caddy
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
# Actualizamos la lista de paquetes e instalamos Caddy
sudo apt update
sudo apt install -y caddy
Caddy se instalará como un servicio del sistema y se iniciará automáticamente.
3.2. Configuración de Caddyfile para Plex
Crearemos o editaremos el archivo de configuración de Caddy (Caddyfile) para que actúe como proxy de las solicitudes a Plex Media Server.
sudo nano /etc/caddy/Caddyfile
Elimine o comente el contenido existente y añada lo siguiente, reemplazando plex.yourdomain.com por su nombre de dominio:
plex.yourdomain.com {
# Hacemos proxy de todas las solicitudes a Plex Media Server
reverse_proxy localhost:32400
# Encabezados adicionales necesarios para Plex
header_up X-Plex-Product "Plex Web"
header_up X-Plex-Version "4.x" # Versión actual de Plex Web para 2026
header_up X-Plex-Client-Identifier "{http.request.header.X-Plex-Client-Identifier}"
header_up X-Plex-Platform "Web"
header_up X-Plex-Platform-Version "{http.request.header.X-Plex-Platform-Version}"
header_up X-Plex-Device "Browser"
header_up X-Plex-Device-Name "{http.request.header.X-Plex-Device-Name}"
header_up X-Plex-Device-Screen-Resolution "{http.request.header.X-Plex-Device-Screen-Resolution}"
header_up X-Plex-Token "{http.request.header.X-Plex-Token}"
header_up X-Plex-DTS "1"
# Habilitar compresión, si es necesario
# encode gzip zstd
# Registro (opcional)
# log {
# output file /var/log/caddy/plex_access.log
# }
}
Guarde el archivo (Ctrl+O, Enter, Ctrl+X).
3.3. Verificación y reinicio de Caddy
Verificaremos la sintaxis de Caddyfile y reiniciaremos el servicio Caddy.
sudo caddy validate --config /etc/caddy/Caddyfile # Verificamos la sintaxis
sudo systemctl reload caddy # Reiniciamos Caddy
Si la validación es exitosa, Caddy obtendrá automáticamente un certificado SSL de Let's Encrypt y comenzará a actuar como proxy para las solicitudes. Ahora puede acceder a Plex a través de https://plex.yourdomain.com.
4. Configuración de Plex para acceso remoto a través de Caddy
En la interfaz web de Plex (disponible en https://plex.yourdomain.com/web):
- Vaya a Configuración (Settings) -> Acceso remoto (Remote Access).
- Asegúrese de que el acceso remoto esté habilitado. Si Plex informa que "No se pudo acceder completamente a su servidor desde el exterior", esto es normal, ya que estamos utilizando un proxy inverso.
- Haga clic en "Mostrar configuración avanzada" (Show Advanced).
- En el campo "URL personalizadas para el acceso al servidor" (Custom server access URLs) añada
https://plex.yourdomain.com. - En el campo "Puerto público personalizado" (Custom public port) déjelo vacío o especifique
443. - Guarde los cambios.
5. Verificación del funcionamiento
Abra su dominio en el navegador:
https://plex.yourdomain.com
Debería ver la interfaz web de Plex, accesible a través de HTTPS, con un certificado SSL válido. Verifique que los archivos multimedia se reproduzcan y que pueda acceder al servidor desde diferentes dispositivos y redes.
También puede verificar la disponibilidad de los puertos desde su computadora local:
curl -v https://plex.yourdomain.com/web # Verificación de acceso HTTPS
Si ve una respuesta exitosa con código HTML, significa que Caddy está funcionando y actuando como proxy para las solicitudes a Plex.