Self-hosted PaaS · your servers, your rules

Deploy any app in seconds.

Your own Heroku — self-hosted. Git push to live HTTPS, any language, zero-downtime.

  • Open source
  • Runs on one VPS
  • No credit card
bash — myapp
# Procfileweb: node server.jsworker: node worker.jsrelease: npx prisma migrate deploy$ git push deploycloud main Building with Nixpacks… Releasing web.1 worker.1✓ Live at https://myapp.deploycloud.app
0s
downtime per deploy
3
add-ons built in
1 click
to roll back a release
100%
on your own servers

Dockerfile or auto-detected — deploy anything.

NodePythonGoRubyPHPRustJava

Everything you need to ship

A complete platform layer on your own infrastructure — no per-seat pricing, no lock-in.

Any language

Bring a Dockerfile or let Nixpacks auto-detect Node, Python, Go, Ruby, PHP, Rust, Java and more.

Zero-downtime deploys

Health-checked rolling releases behind Traefik. New version goes live only once it passes.

Preview deployments

Every branch gets its own live URL, built and torn down automatically. Review before you merge.

Scale on demand

Scale processes horizontally with one click, or let on-demand autoscaling ride your traffic.

One-click add-ons

Provision Postgres, Redis and MinIO in a click. Connection strings wired into your env for you.

Persistent volumes

Durable disk that survives deploys, restarts and rollbacks. Attach storage to any process.

Crons & process model

A real Procfile: web, worker and release processes, plus scheduled cron jobs out of the box.

Rollback, metrics & logs

One-click rollback to any release, with live CPU/memory metrics and streaming container logs.

Drive it your way:
GitHub push-to-deployREST APIdeploycloud CLI

Built for the whole lifecycle

Not just the first deploy — reviewing, configuring, watching and recovering, all in one place.

Preview deployments

Every branch gets a real URL

Push a branch and DeployCloud builds it into its own live environment on its own subdomain — production stays untouched. Share the link in the pull request, click around the actual app, then merge with confidence.

  • Built automatically on push, torn down when the branch is deleted
  • Isolated containers and env — previews can never touch production
  • Same build pipeline as production, so what you review is what ships
myapp — previews
  • main

    https://myapp.deploycloud.app

    production
  • feat/checkout

    https://myapp-pv-feat-checkout…

    live
  • fix/login-loop

    https://myapp-pv-fix-login-loop…

    building

Add-ons & configuration

Batteries included, secrets encrypted

Postgres, Redis and S3-compatible object storage are one click away. DeployCloud provisions the service, generates credentials and injects the connection string straight into your app’s environment.

  • DATABASE_URL, REDIS_URL and S3 credentials wired up for you
  • Env vars encrypted at rest with AES-256-GCM — the key never leaves your server
  • Persistent volumes for SQLite, uploads and anything else on disk
myapp — environment
PostgresRedisMinIO

DATABASE_URL=postgres://myapp:••••@10.0.0.4:5432/myapp

REDIS_URL=redis://:••••@10.0.0.4:6379

S3_ENDPOINT=http://10.0.0.4:9000

S3_ACCESS_KEY=••••••••

Encrypted at rest with AES-256-GCM

Rollback & observability

Bad deploy? Un-ship it in one click

Every release is kept, image and all, so rolling back is instant — no rebuild, no waiting. Live CPU and memory stats, streaming container logs and a full activity feed keep you certain about what is running and why.

  • One-click rollback to any previous release, images retained
  • A release only goes live after it passes its health check
  • Audit trail of every deploy, scale, env and add-on change
myapp — releases
  • v48

    deploy · main @ 4e91c2f

    live
  • v47

    rollback → v45

    supersededRollback
  • v46

    deploy · main @ b7d01aa

    failed health checkRollback

web.1 GET /api/orders 200 12ms

worker.1 processed job email:4192

Command line

A CLI that stays out of your way

One zero-dependency script, one API token. Deploy, watch builds stream in, tail logs, scale processes and run one-off commands — without leaving your terminal.

  • deploy --watch streams build logs and exits on success or failure — perfect for CI
  • logs, scale, env and run cover the daily loop
  • Everything the CLI does is a plain REST API you can script directly
bash
$ deploycloud deploy api --watchDeployment #42 queued for api.[build] detected Dockerfile[release] health check passed on /healthzok deployment #42 is running$ deploycloud scale api web=3ok api scaled to web=3$ deploycloud logs api --tail 2web.1 | GET /api/orders 200 12msweb.2 | GET /healthz 200 1ms

How it works

From a Git repo to a production URL in three steps.

  1. 1

    Point us at a Git repo

    Connect any repository and pick a branch — via GitHub push-to-deploy, the CLI, or the REST API.

  2. 2

    We build & release

    We build with your Dockerfile or Nixpacks, then release behind Traefik with automatic HTTPS.

  3. 3

    Your app is live

    It goes live on its own subdomain, health-checked and ready. Scale it out with one click.

The middle path you were looking for

Managed PaaS convenience without the bill. DIY control without the platform team.

DeployCloudManaged PaaSDIY on Kubernetes
Your data stays on your servers
their cloud
Git push to live HTTPS
you build the pipeline
Zero-downtime health-checked releases
if you wire it up
Preview environment per branch
often a paid tier
Databases, cache & storage add-ons
metered per add-on
operate them yourself
Cost at scale
flat: your VPS bill
per app, per seat, per GB
cheap infra, expensive time
Time to first deploy
minutes
minutes
days to weeks

Frequently asked questions

Short answers to the things people ask before their first deploy.

What do I need to run DeployCloud?

One Linux server with Docker. The whole platform — dashboard, deploy worker, Postgres and the Traefik proxy — ships as a docker-compose stack. Point an A record and a wildcard DNS entry at the box and you are in production, with Let’s Encrypt certificates issued automatically.

Which languages and frameworks are supported?

All of them. If your repo has a Dockerfile we build exactly that. If it doesn’t, Nixpacks auto-detects Node, Python, Go, Ruby, PHP, Rust, Java and more, and produces the image for you. If it runs in a container, it runs on DeployCloud.

Do preview deployments touch production?

Never. Each branch builds into its own containers on its own subdomain, with its own lifecycle. Production keeps running untouched, and the preview is torn down automatically when the branch is deleted.

How are secrets and env vars handled?

App environment variables and add-on credentials are encrypted at rest with AES-256-GCM under a secret key that only you hold. Nothing leaves your server — there is no third party to trust.

Can it grow beyond a single server?

Yes. Fleet mode turns your deployment into a Docker Swarm: apps become replicated services behind a single ingress, and on-demand autoscaling can provision and retire VPS nodes as traffic changes.

What does it cost?

DeployCloud is free and open source. Your only bill is the servers you already pay for — no per-app pricing, no per-seat pricing, no metered add-ons, no surprise egress fees.

Deploy your first app today.

Self-hosted, open, and yours. Point it at a repo and go — no credit card, no lock-in.

DeployCloud — Deploy any app in seconds