Self-hosted PaaS in a single docker compose file.

Git-push deploys, custom domains with auto-TLS, managed Postgres, and horizontal scaling. Multi-tenant by default. Yours to run.

Git push to deploy

Add the paas remote and push. The platform builds your Dockerfile, rolls a new release, and routes traffic — no separate CI step.

Custom domains + auto-TLS

Point a CNAME at your host. Paas issues a Let's Encrypt cert and renews it before expiry.

Managed Postgres

Provision a database from the dashboard; the connection string is injected as DATABASE_URL into your env.

Multi-tenant

Orgs, projects, members, and roles. Run many apps for many teams on a single host.

Horizontal scaling

Set a replica count; the proxy load-balances across healthy instances and refreshes upstreams on every release.

Live logs

Stream container logs into the dashboard. Build logs live alongside each deployment.

Get going in five steps

  1. Install. Clone the repo and run ./deploy/installer/install.sh on a Linux VM with Docker. See Installation.
  2. Sign in. Open your platform hostname; log in with the bootstrap admin printed at the end of the installer.
  3. Create an org and an app. Click through the dashboard, or use the CLI. See Quickstart.
  4. Add a remote and push. git remote add paas git@host:org/app.git && git push paas main.
  5. Watch it deploy. The dashboard streams build logs and flips the deployment to Live once a replica is healthy.

Need more detail? Deploying apps walks through the full deploy lifecycle.

Self-hosted. MIT licensed.