Saltar a contenido

Runbook: Restaurar Jellyfin

Propósito

Restaurar el servicio Jellyfin tras fallo del servidor primario o pérdida de datos.

Síntomas

  • Jellyfin no responde en jellyfin.gntech.dev
  • Error 502/503
  • Base de datos de metadatos corrupta
  • Servidor primario (Jellyfin-01) caído

Prerrequisitos

  • Acceso SSH a Jellyfin-01 o Jellyfin-02
  • Backup disponible en PBS (datastore docker-services)
  • Acceso NFS a Storage

Procedimiento

Escenario A: Servicio caído (recuperación rápida)

# 1. Verificar estado
ssh usuario@192.168.20.10
cd /opt/jellyfin
docker compose ps

# 2. Verificar logs
docker compose logs --tail=50

# 3. Reiniciar servicio
docker compose restart

# 4. Verificar respuesta
curl -I http://localhost:8096

Escenario B: Jellyfin-01 caído irreparablemente

# 1. Activar Jellyfin-02 como servidor primario
ssh usuario@192.168.20.11
cd /opt/jellyfin

# 2. Verificar NFS montado
df -h | grep media

# 3. Iniciar servicio
docker compose up -d

# 4. Actualizar DNS/tunnel para apuntar a Jellyfin-02

Escenario C: Restaurar desde backup PBS

# 1. Restaurar datos desde PBS
# En la interfaz de PBS:
# - Seleccionar datastore docker-services
# - Buscar backup de jellyfin
# - Restaurar a Jellyfin-01

# 2. O desde CLI
proxmox-backup-client restore \
  --repository 192.168.10.20:docker-services \
  host/jellyfin.pxar /opt/jellyfin/data/

# 3. Recrear contenedor
cd /opt/jellyfin
docker compose down
docker compose up -d

# 4. Reconstruir metadatos
# Jellyfin reconstruirá metadatos desde los archivos multimedia

3. Validación

  • Jellyfin responde en jellyfin.gntech.dev
  • Biblioteca multimedia visible
  • Usuarios pueden hacer login
  • Transcodificación funciona
  • Clientes conectados sin errores
  • Monitoreo reporta estado OK

Post-recuperación

  • Registrar incidente en bitácora
  • Verificar sincronización entre Jellyfin-01 y Jellyfin-02
  • Ejecutar backup completo
  • Revisar causa raíz