Gestionar apps
Todo lo que podés hacerle a una app ya desplegada. En el dashboard cada fila tiene Logs / Restart / Stop / Delete; las mismas acciones son llamadas a la API acá abajo.
Listar tus apps
curl -s $API/apps -H "authorization: Bearer $TOKEN"
Devuelve { apps: [{ id, name, image, domain, port, status, container_id, created_at }] }.
Detalle de una app (+ deployments recientes)
curl -s $API/apps/<appId> -H "authorization: Bearer $TOKEN"
Incluye la app, su webhook (para apps de repo) y los últimos 20 deployments con estado y errores. Los secrets/tokens cifrados nunca se incluyen.
Logs
Snapshot (últimas N líneas, default 200, máx 2000):
curl -s "$API/apps/<appId>/logs?tail=500" -H "authorization: Bearer $TOKEN"
Stream en vivo (WebSocket) — el botón “Logs” del dashboard usa esto:
wss://api.cynchro.cloud/apps/<appId>/logs/stream?token=<accessToken>
Restart / Stop / Delete
curl -s -X POST $API/apps/<appId>/restart -H "authorization: Bearer $TOKEN"
curl -s -X POST $API/apps/<appId>/stop -H "authorization: Bearer $TOKEN"
curl -s -X DELETE $API/apps/<appId> -H "authorization: Bearer $TOKEN"
- Restart — recrea el/los contenedor(es) en el lugar.
- Stop — para el/los contenedor(es); la app sigue definida (estado
stopped). - Delete — borra contenedor(es), la red privada (multi-servicio), los archivos de secrets staged y las imágenes de la app en el registry. La fila queda en soft-delete (
removed).
Para apps multi-servicio, esto actúa sobre todos los servicios a la vez.
Estados que vas a ver
| Estado | Significado |
|---|---|
queued / pending | aceptado, esperando al worker |
deploying | buildeando/pulleando y arrancando |
running | viva |
stopped | parada a propósito |
failed | falla terminal — ver last_error / error del deployment |
removed | borrada |
Auto-recuperación
Un reconciler chequea cada ~30s. Si el contenedor de una app running murió o desapareció, se reinicia/redesplega solo — no tenés que hacer nada.
Límites y cuotas
- Límites por contenedor:
cpu(cores, default 1, máx 8) ymemory(MB, default 512, mín 64, máx 16384). Configurables por app o por servicio. - Cuota de apps: cada org tiene un tope
max_apps(default 10). Crear una app nueva sobre el límite devuelve403 quota_exceeded. Los redeploys de apps existentes están exentos.
→ Errores explicados: Solución de problemas