All posts
July 2, 2026·7 min read

Self-hosting your own PaaS: the complete guide

What a Platform-as-a-Service really does, the open-source stack behind it (Docker, Traefik, PostgreSQL, Redis), and how to stand up your own self-hosted PaaS.

Self-hosting
DevOps
Docker

A Platform-as-a-Service turns a raw server into a “git push to deploy” experience. Running your own means no per-seat fees, no usage metering, and full control of your data. This guide explains what a self-hosted PaaS needs and how to stand one up with Darmi Cloud.

What a PaaS actually does

Under the hood, every PaaS combines the same building blocks:

  • Source integration — clone your repo on each push.
  • Build — turn source into a runnable artifact, almost always a Docker image.
  • Run — start the container and keep it healthy.
  • Route — a reverse proxy maps a domain to the container and terminates HTTPS.
  • Observe — logs, metrics, and one-click rollback.

The self-hosted stack

Darmi Cloud assembles these from proven open-source pieces:

  • Docker to build and run every app in isolation.
  • Traefik as the reverse proxy with automatic Let's Encrypt SSL.
  • PostgreSQL for platform state and Redis for the job queue.
  • A background worker that runs the clone → build → run pipeline.

Prerequisites

  • A VPS with 2 GB+ RAM and Docker installed.
  • A domain with an A record and a wildcard * record pointing at the VPS IP (for automatic subdomains).

Stand it up

  1. Clone the platform repository onto your VPS.
  2. Copy .env.example to .env and fill in your domain, database and OAuth credentials.
  3. Run docker compose up -d --build. This starts the web dashboard, the deploy worker, PostgreSQL, Redis and Traefik.
  4. Apply database migrations with docker compose run --rm migrate (or prisma migrate deploy).
  5. Open your domain and sign in — you now have your own PaaS.

Managed convenience vs. self-hosted control

You don't have to choose blindly. The exact same platform is available as a managed cloud at darmicloud.tech if you'd rather not babysit a server. The difference from proprietary platforms like Railway or Vercel is that self-hosting is a first-class option, not a locked door.

Operating tips

  • Keep your VPS updated and enable automatic security patches.
  • Back up the PostgreSQL volume regularly.
  • Monitor disk usage — Docker images accumulate; prune periodically.

Ready to try it? Deploy your first app on the managed cloud, or self-host for full control.

Deploy your app in minutes

Connect GitHub and ship any app — full backend, self-hostable, with flat pricing.

Get started free