🚀 documentación
Apps — deploy desde git con CI/CD
El servicio de apps funciona como Railway en tu propio servidor: le das código y te devuelve una URL con SSL. Tres formas de entregarlo:
1. Conectar GitHub (recomendado)
En el dashboard: Apps → Connect GitHub → elegís el repo → deploy. Cada git push
al branch configurado redeploya automáticamente (webhook del GitHub App; sin
tokens que expiren).
2. Repo git por URL
cloudwapp apps create --name mi-api --repo https://github.com/usuario/mi-api \
--branch main --port 3000 --env NODE_ENV=production --deploy
Para repos privados sin GitHub App, pasá un PAT con --token.
3. Sin repo — apps up (estilo railway up)
cd mi-proyecto
cloudwapp apps up --name mi-proyecto -f
Empaqueta el directorio (excluye node_modules, .git, dist), lo sube y deploya.
Con -f seguís el build en vivo. Ideal para prototipos o código generado por un agente.
Cómo se buildea
- Con Dockerfile en la raíz →
docker builddirecto. - Sin Dockerfile → nixpacks detecta el stack (Node, Python, Go, Rust, PHP…) y genera el plan por vos.
El container corre con límites de memoria/CPU, red aislada, y tu app recibe PORT.
Operación diaria
cloudwapp apps list # estado y URL de tus apps
cloudwapp apps build-log mi-api -f # build en vivo
cloudwapp apps logs mi-api -f # logs runtime (SSE)
cloudwapp apps env mi-api --set KEY=valor
cloudwapp apps restart mi-api
| Endpoint | Descripción |
|---|---|
POST /api/v1/apps | Crear app |
POST /api/v1/apps/:id/deploy | Forzar deploy |
POST /api/v1/apps/:id/upload | Deploy por tarball (sin repo) |
GET /api/v1/apps/:id/deployments/:dep/logs | Log del build (incremental) |
GET /api/v1/apps/:id/logs/stream | Logs runtime en vivo (SSE) |
Volúmenes persistentes
Si tu app escribe a disco (SQLite, uploads), configurá --volume /app/data: sobrevive
redeploys y restarts.
Notificaciones del deploy
Activá las notificaciones push en el dashboard (🔔) y recibís un aviso cuando cada
deploy termina: ✅ Deploy exitoso o ❌ Deploy falló con el error.