Silo Server en Docker - Servidor de streaming media autohospedado
Silo Server en Docker: Servidor de streaming media autohospedado con backend Go, frontend React, transcoding acelerado por hardware, compatible Jellyfin/Emby (alternativa Plex, Jellyfin) 🎬🎞️
Silo Server es un servidor de streaming media profesional autohospedado con backend Go y frontend React. Streaming de películas y series. Direct play, remuxing, transcoding con aceleración hardware. Compatible con clientes Jellyfin/Emby (VidHub, Findroid). PostgreSQL para metadata. Redis para cache. FFmpeg integrado. Multi-usuario. Admin UI completo. AGPL-3.0 open source. Production-ready Docker.
¿Qué es Silo Server en Docker?
Silo Server es un servidor de streaming media profesional autohospedado con arquitectura moderna (Go + React + PostgreSQL) que proporciona streaming directo, remuxing automático, transcoding con aceleración hardware, multi-usuario, admin UI completo, y compatibilidad con clientes Jellyfin/Emby, todo bajo tu control en Docker sin dependencias de servicios terceros. Alternativa profesional a Plex y Jellyfin.
Propuesta clave: Media streaming server enterprise-grade self-hosted. Backend Go (rápido, eficiente). Frontend React moderno (Vite, Tailwind, shadcn/ui). Soporte películas y series. Direct play (sin conversión). Remuxing (cambiar container sin re-encode). Hardware-accelerated transcoding (NVIDIA NVENC, Intel Quick Sync, AMD VCE). Compatible APIs Jellyfin/Emby (usa clientes VidHub, Findroid, etc). PostgreSQL metadata database. Redis cache/coordination. Scanner automático librerías. Metadata matching. Multi-usuario con roles. Admin UI completo. Modo integrated (todo en uno). Modos distribuidos (proxy, transcode nodes). FFmpeg bundled. Direct database access (PostgreSQL). Logging, diagnostics, performance tuning. AGPL-3.0 open source. Production-ready.
Características principales
Direct play + remuxing
Stream directo sin conversión. Remuxing automático (cambiar container). Máxima velocidad.
Transcoding acelerado
Hardware-accelerated: NVIDIA NVENC, Intel Quick Sync, AMD VCE. FFmpeg bundled.
Compatible Jellyfin/Emby
APIs compatibles Jellyfin. Usa clientes VidHub, Findroid, etc sin cambios.
Scanner automático
Detecta media archivos automático. Metadata matching. Artwork, descripciones.
Multi-usuario seguro
Usuarios con roles. Control acceso. Permisos granulares. JWT auth.
Admin UI completo
Gestiona librerías, usuarios, metadata, transcoding settings desde web.
Modos distribuidos
Integrated (todo), API only, Proxy node, Transcode worker. Scale horizontalmente.
PostgreSQL + Redis
Stateless app. Metadata en PostgreSQL. Cache/coordination en Redis.
Requisitos del sistema
- Docker & Docker Compose v2+
- 4 GB - 16 GB RAM mínimo (depende carga, transcoding)
- 50 GB - 10+ TB espacio disco (según librería media)
- /mnt/media directorio accesible (ruta media)
- Puertos TCP: 8090 (web UI), 8096 (Jellyfin compatible)
- CPU: 4+ cores (6+ si transcoding hardware sin aceleración)
- PostgreSQL 18+ (bundled o externo)
- Redis (bundled o externo)
- FFmpeg (bundled en imagen)
- Opcional: NVIDIA GPU (transcoding NVENC), Intel Quick Sync, AMD VCE
Estructura directorios /mnt/media
Silo necesita ruta media. PostgreSQL y Redis se guardan en /opt/silo:
Instalación con Docker Compose
Paso 1: Preparar ruta media
Paso 2: Obtener docker-compose.yml oficial
Paso 3: Configurar .env
Paso 4: Iniciar Silo con Docker Compose
Acceder a Silo Server
🎬 Silo Web UI: http://localhost:8090
🎞️ Jellyfin Compatible API: http://localhost:8096
Setup inicial (primer acceso)
- Abre
http://localhost:8090 - Setup wizard automático aparece
- Crea usuario admin: email y contraseña
- Configura librerías (agregar /mnt/media/movies, /mnt/media/tv)
- Inicia scan automático
- ¡Listo para streamear!
http://192.168.1.100:8090 (web)http://192.168.1.100:8096 (compatible Jellyfin)Para obtener tu IP:
hostname -I
Usar con clientes Jellyfin (VidHub, Findroid, etc)
- Instala cliente: VidHub (Android/iOS), Findroid (Android), etc
- Configura servidor:
http://192.168.1.100:8096 - Usuario/contraseña Silo admin
- ¡Cliente automáticamente detecta librerías!
Primeros pasos
1. Agregar librerías
- Admin UI → Libraries → Add Library
- Path: /mnt/media/movies (películas) o /mnt/media/tv (series)
- Type: Movies o TV Shows
- Save → Inicia scan automático
2. Configurar metadata providers
- Admin UI → Settings → Metadata Providers
- Conecta TMDB (gratis, recomendado)
- API key TMDB:
https://www.themoviedb.org/settings/api - Salva → Silo auto-enriquece metadata
3. Configurar transcoding
- Admin UI → Settings → Transcoding
- Habilita hardware transcoding (si tienes GPU)
- Opción: NVIDIA NVENC, Intel Quick Sync, AMD VCE
- Quality profiles: 720p, 1080p, 4K
4. Crear usuarios
- Admin UI → Users → Add User
- Email, contraseña, rol (Admin, Member)
- Guarda → Usuario puede loguear
5. Streamear desde web
- Dashboard → selecciona película/serie
- Click play → abre player web
- Automatic quality (adapts to bandwidth)
- Subtítulos, audio tracks disponibles
6. Usar con clientes Jellyfin
- Instala app (VidHub, Findroid, etc)
- Agrega servidor: IP:8096
- Credenciales admin Silo
- Browse librerías, stream nativo app
Casos de uso
- Reemplazo Plex profesional: Servidor streaming robusto. Transcoding rápido. API compatible.
- Compatible clientes Jellyfin: Usa apps VidHub, Findroid, etc ya conocidas.
- Transcoding GPU: Hardware-accelerated NVIDIA, Intel, AMD. Máxima velocidad.
- Homelabs profesionales: Backend Go eficiente. PostgreSQL scales bien.
- Distributed setups: Proxy nodes, transcode workers separados. Multi-host.
Gestión y mantenimiento
Ver estado
Ver logs
Detener Silo
Actualizar a versión nueva
PostgreSQL tuning (importante!)
Backup database
Restore database
Monitorear consumo
Arquitectura
Integrated mode (default)
Todo en un contenedor: API + frontend + scanner + transcoding. Perfecto para single-host setup.
Distributed mode (avanzado)
- API node: Sirve web + API, sin transcoding local
- Proxy node: Reverse proxy, stream routing
- Transcode workers: FFmpeg, transcoding solo
Stack técnico
- Backend: Go (fast, efficient, single binary)
- Frontend: React + TypeScript (Vite, HMR, Tailwind, shadcn/ui)
- Database: PostgreSQL 18+ (metadata, users, config)
- Cache: Redis (coordination, cache)
- Streaming: FFmpeg (bundled, directplay, remux, transcode)
- Protocols: HTTP/HTTPS, Jellyfin/Emby API compatible
- Transcoding: NVIDIA NVENC, Intel Quick Sync, AMD VCE, software fallback
- Licencia: AGPL-3.0 open source
Comparativa con alternativas
vs Plex
Silo gana: Self-hosted, open source, sin cloud, sin paywalls, compatible clientes Jellyfin. Plex gana: UI pulida, cloud sharing remoto, features premium.
vs Jellyfin
Silo gana: Backend moderno Go (más eficiente), frontend React, distributed architecture. Jellyfin gana: Más features, UI establecida, comunidad grande.
vs Emby
Silo gana: Open source, gratis, compatible APIs. Emby gana: Features premium, soporte profesional, más maduro.
Comentarios
Publicar un comentario