deploy_app
shallowbe.vibedeploy/vibedeploy · Verify this server
Deploy or update the site's container services: the user's own backend server, a database (Postgres, MySQL, MongoDB, ...), Redis, background workers, from any public image. Applies the whole config: services missing from it are stopped (their volumes and data are kept). Waits until every service is ready, then returns per-service status; on failure call get_app_status with logs to debug. Each call restarts the services, which also picks up new source files. App config: { "services": { "<name>": { "image": "postgres:16-alpine", "port": 5432, "public": false, "command": [...], "args": [...], "workingDir": "/app", "env": { "KEY": "value" }, "volumes": { "/var/lib/postgresql/data": "1Gi" }, "source": false, "sourcePath": "/app", "memory": "256Mi", "cpu": "500m" } } }. Any public image works. Services reach each other by service name (e.g. host "db", port 5432). Exactly one service may be "public": true; it receives all HTTP traffic for the site's domains on its "port" (plain HTTP, TLS is terminated for you). "source": true copies the site's source tree (write_source_files) into sourcePath (default /app, writable) on every start, so e.g. {"image":"node:22-alpine","source":true,"command":["sh","-c","npm ci && node server.js"],"port":3000,"public":true}. "${generated:NAME}" as an env value is a random secret generated once and shared by every service that references it (use it for database passwords); "$(OTHER)" embeds an earlier variable of the same service, e.g. "DATABASE_URL": "postgres://app:$(DB_PASSWORD)@db:5432/app". Secrets from outside (API keys, OAuth client secrets, tokens) never go in the config, the source or the chat: the user adds them in the VibeDeploy dashboard (the site's Settings tab, section Secrets; get_app_status returns the direct link as secrets.manageUrl). Every service gets them as env vars and restarts automatically; an explicit env entry with the same name wins. get_app_status lists the secret names that are set, never their values. Volumes persist across deploys; everything else is recreated. For Postgres set PGDATA to a subdirectory of the volume. Outbound internet works (not SMTP port 25); private networks are blocked. Limits per site: 6 services, 2048Mi memory and 2000m CPU in total (default 256Mi / 500m per service), 4 volumes, 3Gi storage.
1 trials · measured 14 days ago
deploy_app scores 100.0/100 on Vouch's measured behaviour index, from 1 real invocation trials against be.vibedeploy/vibedeploy, measured 6 Oct 2026 under methodology v0.2.0. Every measured component scored 100.
Component breakdown
| Component | Weight | Value |
|---|---|---|
| Reliability | 35% | not applicable |
| Schema integrity | 25% | 100.0 |
| Failure behaviour | 15% | not applicable |
| Latency | 15% | not applicable |
| Concurrency | 10% | not applicable |
Tool details
- Transport
- remote
- Credential class
- gated
- Category
- Developer infrastructure
- Input schema
- not declared
- Output schema
- not declared
- Side-effect classification
- unclassified
Score history
| Day | Score | Tier | Methodology |
|---|---|---|---|
| 2026-10-06 | 100.0 | shallow | v0.2.0 |
Probe evidence
| Probe | Outcomes |
|---|---|
| schema_integrity | pass: 1 |
Raw request/response logs are not archived yet — the outcome counts above are drawn directly from every recorded trial.
Embed this score
Available for every tool, scored or not — not a verification perk. Always links back to this page.
[](https://vouch.tools/tools/522c09fe-16b1-4ff4-8b78-0e2f1d52aca9)