Compare / self-hosted PaaS

Lizard vs self-hosted PaaS — the Lizard logo beside the self-hosted PaaS logo

Coolify, Dokploy, or a managed platform

A self-hosted PaaS puts a Heroku-shaped interface on a server you rent: Coolify and Dokploy both give you git-driven deploys, TLS, and one-click databases for the price of the VPS. The honest question is not which is better — it is whether owning the host is worth what it costs you, and that answer changes as the project grows.

Why developers look for a self-hosted PaaS alternative

Coolify is the mature one

Apache 2.0, over 60,000 GitHub stars, over 280 one-click services, and a v4.0 release in April 2026, with an MCP server added in v4.1 that May — the server speaks MCP itself rather than through a separate package.

Dokploy is the lean one

Source-available, around 37,000 stars since launching in April 2024, built on Docker Swarm with first-class Compose support. Faster to learn, smaller surface, fewer moving parts.

The server is cheap and the ownership is not

A $12 VPS runs several small apps. You also own kernel updates, firewall rules, certificate renewals, disk space, database backups, and a restore you have actually tested.

One box is one box

Scaling past it means a second server, a load balancer, shared storage, and session state that is not local — which is the work a platform was doing for you.

Lizard vs self-hosted PaaS

Every figure read off self-hosted PaaS’s published pricing and our own. Last verified: 27 August 2026.

Compared byLizardself-hosted PaaS
Infrastructure cost$0.0278 per vCPU-hour, $0.0139 per GB-hour, on measured useYour VPS bill — about $12 a month for a small server
Who patches the hostWe doYou do
Database backupsManaged Postgres — backups are yours to run todayYours to schedule, store off-box, and test
TLS certificatesIssued on the first deploy, renewed for youHandled by Coolify or Dokploy, until DNS moves
IsolationA pod per service, with a default-deny network policyDocker containers sharing one kernel
Scaling past one machinelizard scale, or another serviceA second server, a load balancer, and shared state
LicenceA hosted serviceCoolify is Apache 2.0; Dokploy is source-available
Who gets pagedWe doYou do

When self-hosting is the better choice

Side projects, homelabs, agencies running many small client apps, and anyone whose bill would otherwise be dominated by a dozen near-idle services. A $12 server running eight apps under Coolify is genuinely cheaper than any per-service platform, you keep full control of the data, and the software is good — Coolify in particular is a well-built project with a real community. If you enjoy running the box, run the box.

Moving from self-hosted PaaS

No Dockerfile required — lizardpack detects the stack and writes one on the build node. If your repo already has a Dockerfile, it is used as it stands.

$npm i -g @lizard-build/cli
$lizard up
$lizard add postgres redis
$lizard domain app.example.com
Container as a service, with the real 2026 prices

Frequently asked questions

Coolify if you want maturity and breadth: Apache 2.0, over 60,000 stars, over 280 one-click services, and an MCP server since v4.1 in May 2026. Dokploy if you want something leaner and quicker to learn, built on Docker Swarm with first-class Docker Compose support. Coolify has more features; Dokploy has fewer things to understand.

On the invoice, almost always — a $12 VPS running several apps beats per-service pricing. Once you count the hours spent on kernel updates, certificate renewals, backup testing, and the evening the disk fills, the gap narrows and often reverses. The break-even is your hourly rate, not the server price.

It does not own the machine underneath. Kernel patching, disk capacity, off-box backups, monitoring, and failover to a second host stay yours. It also cannot schedule across servers the way a real orchestrator does — scaling past one box means building the surrounding infrastructure yourself.

Yes, and the Dockerfile comes with you. Run lizard up in the repo — a Dockerfile with a real build step is used as it stands, and dockerfilePath forces it — then lizard add postgres redis for the managed pieces, pg_dump and pg_restore for the data, lizard secrets set for the environment, and lizard domain app.example.com for the domain and certificate.

Every service runs in its own pod with a default-deny network policy, so no other tenant can reach it and it cannot open connections into the platform itself. On a box you host, you configure that yourself, and one escaped container reaches everything else on the machine — including your other clients, if you host several. For untrusted or generated code, a Lizard sandbox goes further: its own Firecracker micro-VM, with its own kernel.

Build with AI. Ship with Lizard.

You don't need a platform team to go live. Your whole cloud, one CLI command away.

Try for free

No credit card required

We use cookies for essential site functionality and analytics. See our Cookie Policy.