# Deploy your app Run the whole stack

Deploy from Git, run web and worker processes, and connect managed data services. Logs, metrics, and traces are part of the same platform.

[Start building](https://dash.watasu.io/) [Read the quickstart](https://docs.watasu.io/getting-started/quickstart/)

## From Git to a running app

Connect GitHub or push to a Git remote. Watasu builds an image, runs your release tasks, and rolls out the application.

[Explore deployments](https://docs.watasu.io/apps/deploy/)

### Deploy with Git

Use `git push watasu main` and follow build and release output in your terminal. Or connect a GitHub branch for automatic deployments.

### Use a Dockerfile or buildpacks

A root Dockerfile gives you control of the image. Without one, Cloud Native Buildpacks detect your stack and build it for you.

### Run migrations before release

A Procfile release process runs before new code goes live. If it fails, the deployment stops before rollout.

## Web, workers and private services

Run public web, private TCP, background workers, and real-time services in the same app. Set the size and replica count for each process.

`web / *-web`

### Web apps & APIs

Public HTTP and WebSockets, managed TLS, and a separate URL for every public process.

`worker`

### Background work

Queues, consumers, and your schedulers run independently from the web process.

`*-tcp`

### Private services

Internal TCP and gRPC endpoints, reachable by the apps you explicitly trust.

`*-rtc`

### Voice & video

WebRTC workloads with a dedicated TURN gateway and stable hostnames for each replica.

### Scale each process independently

Add web replicas without sizing up every worker. Choose fixed-price Standard or usage-billed Dynamic capacity for each process.

### Spread replicas across zones

Processes with two or more replicas are automatically distributed across eligible EU zones for resilience.

[See how processes work](https://docs.watasu.io/apps/processes-and-scaling/)

## Managed data services Connected to your app

Attach a service and Watasu supplies the connection variables. Keep the clients, protocols, and libraries your application already uses.

[Application data](https://docs.watasu.io/addons/postgresql/)

### [PostgreSQL](https://docs.watasu.io/addons/postgresql/)

[A relational database for your application. Standard uses local NVMe; supported plans offer async followers, and Premium adds a synchronous standby.](https://docs.watasu.io/addons/postgresql/)

[Cache & coordination](https://docs.watasu.io/addons/valkey/)

### [Valkey](https://docs.watasu.io/addons/valkey/)

[Redis-compatible clients for caches, sessions, and queues. Premium adds persistence, a managed HA standby, and automatic failover.](https://docs.watasu.io/addons/valkey/)

[Product analytics](https://docs.watasu.io/addons/clickhouse/)

### [ClickHouse](https://docs.watasu.io/addons/clickhouse/)

[Analyze events and append-heavy datasets. Standard includes two-zone replication; Premium adds multiple shards.](https://docs.watasu.io/addons/clickhouse/)

[Event streaming](https://docs.watasu.io/addons/redpanda/)

### [Redpanda](https://docs.watasu.io/addons/redpanda/)

[Kafka-compatible streams with ordering and replay. Replicated Standard and Premium clusters for production event pipelines.](https://docs.watasu.io/addons/redpanda/)

[Uploads & media](https://docs.watasu.io/addons/object-storage/)

### [Object Storage](https://docs.watasu.io/addons/object-storage/)

[S3-compatible buckets for files, assets, and exports. Scoped credentials and geo-replicated Premium plans.](https://docs.watasu.io/addons/object-storage/)

Services belong to your team. Share them across apps, use aliases for multiple databases, and keep data independent of an app’s lifecycle.

[Explore all add-ons](https://watasu.io/addons)

### Check a restore before you switch

Supported PostgreSQL, Valkey, and ClickHouse plans offer backups. Restore into a replacement, inspect the data, then promote it when you’re ready.

[Backup workflow](https://docs.watasu.io/workflows/backups-and-restores/)

## See what happened Find what slowed down

Your first monitoring add-on creates a persistent Grafana workspace for the app. Query logs, metrics, and traces there as you add each service.

[Logs](https://docs.watasu.io/observability/logs/)

### [What happened?](https://docs.watasu.io/observability/logs/)

[Tail live output in your terminal. Attach a logs add-on to search and filter stored output in Grafana.](https://docs.watasu.io/observability/logs/)

[Metrics](https://docs.watasu.io/observability/metrics/)

### [What changed?](https://docs.watasu.io/observability/metrics/)

[Query app and runtime metrics, from CPU and memory to request latency. Build alerts in Grafana.](https://docs.watasu.io/observability/metrics/)

[Traces](https://docs.watasu.io/observability/traces/)

### [Where did it slow down?](https://docs.watasu.io/observability/traces/)

[Follow requests across services with OpenTelemetry. Inspect spans to find slow calls.](https://docs.watasu.io/observability/traces/)

### Your dashboards ship with your code

Commit Grafana dashboard JSON to your repository. Watasu keeps it synchronized with the app’s Grafana after successful releases.

`.watasu/dashboards/` [Dashboards as code](https://docs.watasu.io/observability/overview/#dashboards-from-your-repository)

### Stay in your terminal

Live logs, database sessions, metrics queries, and trace inspection are all part of the Watasu CLI.

[Explore the CLI](https://docs.watasu.io/cli/reference/)

## Connect to the world Keep internal services private

### Your domain, managed TLS

Every public web process gets a managed URL. Add custom, apex, or wildcard domains and Watasu provisions and renews the certificates.

[Custom domains](https://docs.watasu.io/apps/custom-domains/)

### Explicit trust between services

Private TCP endpoints are reachable only by apps you allow. Directional trust keeps internal services off the public internet.

[Private networking](https://docs.watasu.io/apps/private-networking/)

### TURN and UDP for real-time apps

Bring your WebRTC code. An `*-rtc` process gets a dedicated TURN gateway, public UDP allocation, and stable per-replica hostnames.

[Voice & WebRTC](https://docs.watasu.io/apps/realtime/)

## From pull request to production

Give each PR a preview environment. Test releases in staging, then promote the same image to production.

1. Pull request

   ### See the change running

   Review apps build the PR and provision its declared add-ons. The preview URL goes back to GitHub; cleanup follows the PR lifecycle.

   [Review apps](https://docs.watasu.io/workflows/review-apps/)

2. Staging

   ### Test the actual build

   Connect a branch for automatic deployment. Configure required GitHub checks to hold a release until CI passes. Keep each environment’s config and data separate.

   [GitHub integration](https://docs.watasu.io/workflows/connect-github/)

3. Production

   ### Promote the same artifact

   Move the image tested in staging into production without rebuilding. It runs with production’s own configuration and add-ons.

   [Pipelines](https://docs.watasu.io/workflows/pipelines/)

### Choose access for each collaborator

Grant Viewer, Deployer, Operator, or Maintainer access per app or pipeline. Pipeline permissions extend to its review apps.

[Teams & permissions](https://docs.watasu.io/admin/teams-and-access/)

### Let your assistant inspect the app

Connect through MCP to inspect app, build, and add-on state. Access is team-scoped and read-only, with no access to secrets.

[Connect an AI assistant](https://docs.watasu.io/workflows/mcp/)

## Give agents a place to work

Create isolated Linux environments for agent tasks and automation. Run commands, move files, expose previews, and save disk state in checkpoints.

[Explore sandboxes](https://watasu.io/sandboxes)

- **Reusable templates** Prepare dependencies once and start from a known environment.
- **Files, processes, and previews** Build through the API, SDKs, or an interactive SSH session.
- **Pause, resume, and checkpoints** Continue a workspace or branch from saved disk state.
- **Network controls** Set outbound policies and explicitly expose public HTTP ports.

## Put your next app on Watasu

Create an app, push your code, and add the services it needs.

[Deploy your first app](https://dash.watasu.io/) [Explore pricing](https://watasu.io/pricing)
