[email protected]Support 24/7 · Billing 09:00 – 00:00LinkedInXFacebook
NexonHost
Netherlands Dedicated ServersAmsterdam · Equinix AM6Germany Dedicated ServersFrankfurt · Equinix FR4Romania Dedicated ServersBucharest · VoxilityAustria Dedicated ServersVienna · Interxion VIEBulgaria Dedicated ServersSofia · TelepointFrance Dedicated ServersParis · Interxion PAR — Marseille · Digital Realty MRS3Ireland Dedicated ServersDublin · Equinix DB2Italy Dedicated ServersMilan · Irideos AvalonPoland Dedicated ServersWarsawSpain Dedicated ServersMadrid · Equinix MD2United States Dedicated ServersAshburn · Equinix DC
← All articles
BlogsNovember 7, 2026

Self-Hosted PaaS: Coolify vs Dokploy vs CapRover vs Kamal on Your Own Server

Self-Hosted PaaS: Coolify vs Dokploy vs CapRover vs Kamal on Your Own Server

A self-hosted PaaS gives you Heroku-style deploys (push to Git, get a running app with HTTPS) on a server you rent yourself, at a fixed monthly price. The four tools people compare are Coolify, Dokploy, CapRover and Kamal. They differ more than their landing pages suggest: one licence has a proprietary carve-out, the documented minimum servers range from 1 GiB of RAM to 2 cores and 2 GB, and one of the four is not a dashboard at all. This guide takes each project's own docs and repository as of 2 November 2026, sets out the work you take over from a managed platform, and sizes the server.

What a self-hosted PaaS actually is

All four do the same core job. They build your code into a container image (or pull one), start it under Docker, put a reverse proxy in front, and fetch a TLS certificate for your domain. Three of them (Coolify, Dokploy, CapRover) give you a web dashboard with one-click databases. Kamal is a command-line tool from 37signals, the company behind Basecamp: you write a config/deploy.yml, run kamal deploy from your laptop or CI, and it reaches your servers over SSH.

Coolify, Dokploy, CapRover and Kamal compared

Figures from each project's docs, licence file and GitHub releases, read 2 November 2026:

Licence Documented minimum Under the hood
Coolify v4.5.3 Apache License 2.0 2 cores, 2 GB RAM, 10 GB disk Docker, Traefik or Caddy
Dokploy v0.30.10 Apache 2.0, plus DSAL 1.0 for /proprietary 2 GB RAM, 30 GB disk Docker Swarm, Traefik
CapRover v1.15.5 Apache 2.0 with an appendix 1 GiB RAM, 5 GiB disk Docker Swarm, nginx, Let's Encrypt
Kamal v2.12.0 MIT none stated Docker, kamal-proxy
Multi-server Paid hosted version
Coolify Yes, servers added over SSH Coolify Cloud: $5 a month (2 servers), +$3 per extra server
Dokploy Remote servers and Swarm nodes Hobby $4.50 a month per server; Startup from $15 a month (up to 3 servers)
CapRover Swarm cluster, manager plus workers CapRover Pro, optional; no price on a page we could read
Kamal Yes, listed in deploy.yml None

Coolify Cloud and Dokploy Cloud host only the dashboard. Coolify's docs say your applications, databases and data "remain on the servers you connect"; Dokploy's say the control plane is hosted by them and your apps run on servers you supply over SSH. Either way you still rent the servers, so the cloud fee is on top of hosting, not instead of it.

Licences: read the file, not the badge

Coolify and Kamal are the plain cases: Apache License 2.0 and MIT respectively. The other two have conditions worth a minute.

Dokploy's LICENSE.MD puts everything under Apache 2.0 except content in a /proprietary directory, which falls under the "Dokploy Source Available license (DSAL) version 1.0". That licence says the covered software may only be used in production with a valid commercial agreement from Dokploy, though you may copy and modify it for development and testing. On 2 November 2026 the repository's proprietary folders held features such as audit logs, custom roles, SSO sign-in and licence keys. The core deploy features sit outside them.

CapRover's LICENSE is Apache 2.0 with an appendix that "supersedes" it on conflict: paid features cannot be modified without a written agreement, nobody may redistribute another paid version, and modifications of free features should be distributed as free and open-source software. The terms describe CapRover Pro as "an optional service" on top of the free core.

This is a summary, not legal advice. If you plan to resell hosting built on one of these, read the licence and ask the project.

What you take on that a managed PaaS did for you

A managed PaaS runs the servers, the platform and usually the databases. Self-hosting moves all of that to your side:

Job Managed PaaS Self-hosted PaaS
OS patches and reboots Provider You
Updating the PaaS itself Provider You
Database backups and restores Usually provider You configure and test them
Hardware or host failure Provider moves you Your apps are down
Dashboard security Provider You, including its port

OS patching. The server underneath is a normal Linux box. NexonHost's IaaS page draws the line plainly: on a VPS, the operating system and patching are yours "or a management tier", and backups are yours. Our new server security checklist covers the first hour; don't skip it because a dashboard is installed.

The PaaS's own updates. Three of the four published a release in the two weeks before this was written (Kamal's latest, v2.12.0, is from June 2026). Each upgrade touches the proxy and the deploy logic, so read release notes before you click update.

Backups of the databases it deploys. Coolify schedules dumps for PostgreSQL, MySQL, MariaDB, MongoDB, ClickHouse and SQLite, writes them to /data/coolify/backups, and can upload copies to S3-compatible storage. Its own docs warn that a successful backup only proves a file was created, so test a restore. Dokploy backs up on a cron schedule to an S3 bucket. Kamal's docs say accessories (a database container, for example) are "not updated when you deploy" and say nothing about backing them up: that is yours entirely. NexonHost's IaaS page describes its backup storage as off-site capacity over SFTP and does not mention an S3 API, so either sync the dump folder to it over SFTP or point the tool at an S3-compatible store you run.

Dashboard exposure. Dokploy's UI listens on port 3000, and CapRover needs 3000 reachable during setup; CapRover's guide recommends restricting it afterwards. Firewall it to your own IPs.

One server is one point of failure

On a single server, the PaaS, every app and every database share one kernel, one disk and one power supply. When that host reboots for a kernel patch, everything is down until it comes back. Coolify's own README recommends one server for Coolify and one or more for your apps, which at least keeps a broken dashboard from taking production with it. It does not make the apps redundant.

CapRover's scaling docs say persistent apps are pinned to the node that holds their data, because local volumes are not shared between nodes. Kamal's docs say several servers need a load balancer in front, and its automatic Let's Encrypt certificates only work when you deploy to one server. Coolify describes its Docker Swarm support as "experimental and deprecated" and says it will be removed in Coolify v5.

If you need apps rescheduled automatically when a node dies, replicated storage and a three-member control plane, you have outgrown this category. That is Kubernetes, and what it costs on rented hardware is in Kubernetes on bare metal. For a dozen apps and a team of a few people, a self-hosted PaaS on one or two servers is usually the saner trade.

Sizing: control plane plus your apps

Start from the documented minimums, then add what your apps actually use. NexonHost VPS plans, prices as of 2 November 2026 (check the VPS page):

Plan vCPU / RAM / SSD Monthly
NEX1 1 / 2 GB / 40 GB €9 a month
NEX2 2 / 4 GB / 60 GB €18 a month
NEX3 4 / 8 GB / 80 GB €32 a month
NEX4 8 / 16 GB / 100 GB €64 a month

NEX1 is below Coolify's 2-core minimum, and it matches Dokploy's 2 GB floor exactly, leaving nothing for apps. It suits CapRover (1 GiB) or a Kamal target running one small app.

A worked estimate, with the assumptions labelled: assume the PaaS and the OS take the full documented 2 GB minimum; three small web apps at about 512 MB each take 1.5 GB; one PostgreSQL instance gets 1 GB. That is 2 + 1.5 + 1 = 4.5 GB before builds, which happen on the same box unless you move them (Dokploy supports separate build servers). That overflows NEX2's 4 GB, so the honest answer is NEX3: 8 GB for €32 a month, with about 3.5 GB of headroom for builds and growth. Measure your own apps with docker stats before you trust these numbers.

On disk, Dokploy's 30 GB minimum leaves 50 GB of NEX3's 80 GB for images, volumes and local dumps.

When to move to a dedicated server

NEX4 tops out at 16 GB. The entry dedicated server, 2× Xeon E5-2630 v4 with 20 cores and 128 GB of RAM, is €129 a month including a 1 Gbps unmetered port. That is about 2× NEX4's price (129 ÷ 64 ≈ 2.0) for 8× the RAM (128 ÷ 16). Per gigabyte of RAM: €64 ÷ 16 = €4.00 on NEX4, €129 ÷ 128 ≈ €1.01 on the dedicated server.

Move when your apps need more than about 12 GB together, when builds start slowing production, or when you want the Coolify-style split of a control server plus a worker. A NEX2 for the dashboard (€18) plus one dedicated server for apps (€129) is €147 a month. For the same server priced against a cloud VM, see bare metal vs cloud cost.

A self-hosted PaaS on NexonHost

NexonHost does not sell a managed PaaS; its IaaS page names managed WordPress and e-commerce hosting as its closest offer. What it sells is the layer underneath: VPS in Germany, the Netherlands and Romania, and dedicated servers in 12 cities, with root access, so you install Coolify, Dokploy, CapRover or Kamal yourself. Ubuntu 24.04 and Debian 12 are on the VPS OS menu, and both are on Dokploy's tested list. Every VPS and dedicated server includes 100 Gbps Layer 4 DDoS protection; HTTP-layer filtering is not part of it.

For a first self-hosted PaaS: NEX3 at €32 a month, started on a one-month term, firewall on port 3000, and a restore test before the first real customer. If you would rather not patch the box yourself, VPS management tiers start at €20 a month; managed vs unmanaged hosting explains what that buys. Prices as of 2 November 2026; check the product page before you order.

Sources

Keep reading
VoIP DDoS Protection: Why SIP and RTP Need a Different Plan
October 25, 2026

VoIP DDoS Protection: Why SIP and RTP Need a Different Plan

SIP and RTP mostly run over UDP, and a web proxy can carry neither. Here is what network-level DDoS filtering stops, what it can't, the packet arithmetic of a G.711 call, and the SIP-aware controls (pike, ratelimit, fail2ban, ACLs) your own server still needs.

Read article →
Bring Your Own IP to a Dedicated Server: Your /24, Your ASN and What It Costs
October 24, 2026

Bring Your Own IP to a Dedicated Server: Your /24, Your ASN and What It Costs

Your own /24 keeps its reputation and allowlists when you change provider, but it needs a route object, an RPKI ROA, an abuse contact and, to qualify for your own ASN, a second upstream. What each step involves, and the 12- and 24-month costs against renting addresses.

Read article →
Dedicated Database Server Sizing: RAM First, Then Disks, Then Cores
October 23, 2026

Dedicated Database Server Sizing: RAM First, Then Disks, Then Cores

Size a dedicated database server in the order the database uses it: memory for the working set, disks for commit latency, cores last. PostgreSQL and MySQL rules from the official docs, a worked 300 GB example, and which build fits at which price.

Read article →
Get in Touch

Together, Let’s Build a Faster, Safer Internet.

Build scalable infrastructure with NexonHost — high-performance dedicated servers, VPS hosting, cloud hosting, and DDoS protection across Europe.

Get Started →Contact Us
[email protected]Support 24/7 · Billing 09:00 – 00:00