Inicio rápido: instalá StreamHub con la línea única
De una máquina Linux nueva a un servidor de medios en vivo con auto-TLS en un comando. El instalador, qué aprovisiona y cómo verificarlo.
Un comando, toda la pila
StreamHub se instala como una única aplicación autocontenida bajo /opt/streamhub, gestionada como un solo servicio. No corrés docker compose crudo — el instalador aprovisiona todo y te entrega un CLI.
En un host Linux nuevo con un dominio apuntado a él:
# interactivo
curl -fsSL https://www.streamhub.studio/install.sh | sudo bash
# no interactivo
curl -fsSL https://www.streamhub.studio/install.sh | sudo bash -s -- \
--non-interactive --domain media.example.com --email vos@example.com
Qué hace el instalador
El instalador es idempotente — seguro de re-ejecutar — y en una pasada:
- baja el código más reciente,
- escribe un
.envcon secretos aleatorios fuertes (modo 600, nunca commiteado), - construye y levanta la pila (Redis, LiveKit, ingress, egress, core, Caddy),
- siembra el primer token de API
sk_, - instala el CLI
streamhubmás la unidad systemd gestionada y el timer de heartbeat, - estampa un archivo
VERSION.
Cada corrida se registra en logs/install.log, sin credenciales.
Auto-TLS de fábrica
Apuntá el DNS de tu dominio al servidor antes de instalar, y Caddy obtiene y renueva automáticamente un certificado de Let's Encrypt por vos. No hay paso manual de certbot ni cron de renovación que vigilar — TLS se maneja como parte de la pila. (La forma alternativa de despliegue con nginx existe para operadores que ponen su propio proxy adelante.)
Verificá que está arriba
streamhub status # estado de cada servicio
streamhub doctor # docker, salud del core, puertos, disco
curl https://media.example.com/api/v1/health
health devuelve { status, up, version, uptimeSeconds }. La UI de Swagger está en /api/v1/docs.
Upgrades del día 1
Los upgrades reutilizan el mismo camino idempotente, y tienen backup y son reversibles:
sudo streamhub upgrade # a la última versión publicada
sudo streamhub upgrade --version 2.2.0 # fijar una versión específica
Antes de migrar, el upgrade toma snapshots de las bases SQLite global y por app en backups/<sello>/, así un mal upgrade es recuperable.
Próximos pasos
Ya tenés un servidor de medios corriendo. El siguiente paso natural es crear tu primera app y generar un token — desde ahí podés ingestar un stream, grabarlo e integrar un reproductor.