🚀 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. Cuatro formas de entregarlo:
1. Crear tu app con IA (sin escribir código)
En el dashboard: Apps → Nueva app → Crear con IA → describís la app que querés y Claude Code la construye desde cero en un sandbox del servidor.
Al crearla entrás al Estudio (/panel/apps/<id>/estudio): a la izquierda chateás
—cada mensaje es un cambio— y a la derecha ves tu app corriendo de verdad, con vista
de escritorio o móvil. Antes de publicar cualquier cambio te muestra el diff; vos
aprobás y recién ahí se deploya. Cuando se aplica, la vista previa se recarga sola.
Podés volver al Estudio cuando quieras desde el menú (⋮) de la app en la lista, o desde la pestaña Tickets IA, que queda como historial con los diffs y los logs de cada run.
Cupo diario: cada prompt de IA cuenta contra un límite por día (lo fija el admin en Integraciones → Tickets IA; por defecto 5). El Estudio te muestra cuántos te quedan antes de escribir, y a qué hora se reinician.
La ventaja de este camino: como el código vive en CloudWapp (no en un repo externo),
la app se sigue editando para siempre. Lo mismo aplica a las apps de código subido
(opción 4). Las apps conectadas a git no admiten Estudio ni tickets: CloudWapp no puede
escribir en tu repo, así que ahí los cambios llegan con git push.
2. Conectar GitHub (recomendado si ya tenés el código en un repo)
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).
3. 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.
4. 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.