Coolify

A Vercel-style workflow we host ourselves

live on Coolify · preview smoke test #3

What is Coolify?

  • An open-source, self-hostable PaaS — think open-source Heroku / Netlify / Vercel.
  • Runs on any VPS you control, via Docker.
git pushbuilddeployHTTPS

How a push becomes a deploy

Three open pieces do the work — no Dockerfile, no CI to wire.

GitHub App
the trigger
Installed on the repo. Every push or PR fires a webhook; Coolify clones with a short-lived token — no deploy keys or personal access tokens to manage.
Nixpacks
the build
Inspects the repo, detects pnpm from the lockfile, and builds a container image — zero-config, no Dockerfile to write or maintain.
Traefik
the front door
The coolify-proxy. Routes each domain to the right container and terminates TLS, auto-issuing & renewing Let's Encrypt certs.

git push → build → deploy → HTTPS — each step handed to one piece.

What's running on the box

UsersHTTPS · Let's Encrypt
Hetzner VPS · Docker
coolify-proxy — Traefikterminates SSL · routes by domain
deckdemo.…
PR previewpr-123.demo.…
Coolify control plane
coolifypostgresredisrealtime

Two kinds of database

Everything's a container — but don't conflate these two.

Coolify's control plane
postgresredis
Coolify's own state — your projects, servers, deploy config. Ships with the install. You never touch it.
Your app's database
a separate container
Provisioned on demand, only if your app needs one — its own volume, backups and lifecycle.

Same Docker host · different containers · different jobs.

Why we're evaluating it

CoolifyVercel
CostFlat VPS billPer-seat + bandwidth + invocations
Lock-inOur Docker, our boxProprietary platform
Data residencyWe pick region & providerTheir regions

Trade-off, up front: we run the ops.

You're looking at it

🔒demo.yourdomain.com

A TanStack Start app in a GitHub repo, deployed on our Coolify box — served from this URL with automatic Let's Encrypt SSL.

Watch this: I'll open a PR

  1. Open a pull request against the repo.
  2. Coolify builds a preview at a unique subdomain.
  3. The preview URL is posted back on the PR.

The same per-branch preview flow as Vercel.

Trade-offs (being honest)

Trade-offMitigation
We own uptime, patching & backupsManaged backups
One box is a single point of failureA second node
No global edge CDN out of the boxA CDN in front when needed

Next steps

Pilot one real internal app on Coolifya few weeks · compare DX + cost vs Vercel · then decide

Questions?