Deploying an app with a simple git push, getting automatic HTTPS and spinning up a database in two clicks: that is what PaaS platforms like Heroku or Vercel promise. Coolify and Dokploy bring the same experience to your own Linux VPS, without pay-per-use billing. Here is how to choose between them in 2026, based on official figures.
What a self-hosted PaaS is
A PaaS (Platform as a Service) hides the server side: you provide a Git repository or an image, and the platform builds, runs, exposes and monitors the application. Coolify and Dokploy both rely on Docker and on a reverse proxy (Traefik) that routes domains and issues certificates. You stay in control of the machine, the data and the cost, which is limited to the price of the VPS.
In practice, both tools can:
- build an application from a Git repository, a Dockerfile or a Docker Compose file;
- create and manage databases (PostgreSQL, MySQL, MariaDB, MongoDB, Redis…);
- deploy ready-made open source applications (one-click templates);
- manage domains, HTTPS and environment variables from a web interface;
- back up databases to external S3-compatible storage.
Coolify at a glance
Coolify is developed by coolLabs and released under the Apache 2.0 license. It is the more popular of the two on GitHub, with over 60,000 stars. The current branch is v4: version 4.5.0, released in late October, adds Gitea as a Git source, a file browser for applications and databases, passkey sign-in, custom error pages with a maintenance mode, and encryption at rest for stored secrets.
Its strengths:
- A very large catalog: more than 360 one-click services.
- Varied builds: Nixpacks, Railpack (beta), Dockerfile, Docker Compose and static sites. Nixpacks is now marked as deprecated in favor of Railpack.
- Multi-server: a single instance manages several servers over SSH.
- Scheduled backups for PostgreSQL, MySQL, MariaDB, MongoDB, ClickHouse and SQLite, with a copy to S3 storage. Redis, Dragonfly and KeyDB are not covered by this mechanism.
- Deploy on every push and preview environments for pull requests (GitHub, GitLab, Bitbucket, Gitea).
Dokploy at a glance
Dokploy is younger and deliberately leaner. Its code is mostly licensed under Apache 2.0, with a dedicated directory covered by a separate proprietary license. The project has over 38,000 stars and the latest release is 0.30.10: the version number is still below 1.0, which is worth keeping in mind for critical workloads.
Its strengths:
- Built-in Docker Swarm: add nodes to spread applications across several servers.
- Native Docker Compose, handy to reuse an existing stack as is.
- Five build types: Nixpacks (default), Railpack, Dockerfile, Heroku or Paketo Buildpacks, and static files served by NGINX.
- Per-resource monitoring (CPU, memory, storage, network) and deployment notifications to Slack, Discord, Telegram or email.
- A CLI and an API to drive deployments from a script or a CI pipeline.
Coolify vs Dokploy comparison table
| Criterion | Coolify | Dokploy |
|---|---|---|
| Current version | 4.5.0 | 0.30.10 |
| License | Apache 2.0 | Apache 2.0, with a proprietary part |
| Official minimum RAM | 2 GB | 2 GB |
| Official minimum CPU | 2 cores | Not specified |
| Official minimum disk | 10 GB free, plus images and volumes | 30 GB |
| Architectures | amd64 and arm64 | Not specified in the install docs |
| Dashboard port | 8000 (plus 6001 and 6002) | 3000 |
| Multiple servers | Yes, over SSH | Yes, via Docker Swarm |
| One-click templates | More than 360 services | Catalog of open source templates |
| S3 backups | Yes, main databases | Yes, to an external destination |
Requirements to check before installing
A supported distribution
Coolify runs on Linux only: Debian, Ubuntu (LTS 20.04, 22.04 and 24.04 for the automatic script), Red Hat derivatives such as AlmaLinux or Rocky, SUSE, Arch, Alpine and 64-bit Raspberry Pi OS. Dokploy is tested on Ubuntu (18.04 to 24.04), Debian 10 to 12, Fedora 40 and CentOS 8 and 9. On a non-LTS Ubuntu release, plan for the manual Coolify installation.
Preferably a clean VPS
Both platforms install their own reverse proxy on ports 80 and 443. The Dokploy installation even fails if port 80, 443 or 3000 is already in use. If Apache or Nginx is already running on the machine, start from a fresh VPS rather than trying to make everything coexist. Check which ports are in use before running anything:
sudo ss -tlnp | grep -E ':(80|443|3000|8000) '
Both scripts install Docker themselves if it is missing. The only exception flagged by Coolify: Docker installed via snap must be removed first.
Installing Coolify on a Linux VPS
Log in as root (or a sudo user) and run the official script:
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash
The script prints the next steps in the terminal. The dashboard then answers on port 8000 of the server IP. Create the admin account right away: the first person to reach the registration page becomes the instance administrator.
Ports to open in the firewall, according to the documentation:
22/tcpfor SSH (or your custom port);80/tcpand443/tcpfor web traffic and certificates;8000/tcp,6001/tcpand6002/tcpfor the dashboard, real-time updates and the web terminal when accessed directly by IP.
Once the dashboard is reachable through an HTTPS domain, you can close 8000, 6001 and 6002. Finally, back up the file holding the instance secrets (including APP_KEY), which you need for any restore:
sudo cp /data/coolify/source/.env ~/coolify-env-backup
Installing Dokploy on a Linux VPS
Same approach, with Dokploy's official script:
curl -sSL https://dokploy.com/install.sh | sh
The dashboard is then available on port 3000. To update Dokploy later, the same script takes an argument:
curl -sSL https://dokploy.com/install.sh | sh -s update
On some minimal distributions whose kernel lacks IPVS, the documentation says to switch to DNSRR mode:
curl -sSL https://dokploy.com/install.sh | sudo ENDPOINT_MODE=dnsrr sh
Once your HTTPS domain works, you can close direct access to port 3000. Careful: doing it before the domain is working will lock you out.
docker service update --publish-rm "published=3000,target=3000,mode=host" dokploy
The Docker firewall trap
On a Linux VPS, Docker writes its own iptables rules to publish container ports. As a result, a port published by a container can remain reachable even if UFW appears to block it. With a PaaS, do not publish database ports on the public IP: keep them on the internal Docker network and only expose what goes through the reverse proxy. For admin access, prefer an SSH tunnel.
Which VPS size to choose
Both projects state a 2 GB RAM minimum, but that only covers the platform itself. Every application, every database and above all every build (Node.js compilation, multi-stage Docker image) uses more on top. Community feedback generally describes Dokploy as lighter at idle than Coolify, but no independent benchmark on identical hardware puts a reliable number on the gap. The most reliable approach is to measure on your own machine, right after installation and then with your applications:
free -h
docker stats --no-stream --format "table {{.Name}}\t{{.MemUsage}}\t{{.CPUPerc}}"
Practical guidelines with SoLinux Linux VPS plans (NVMe storage):
- VPS Linux 04G (2 vCPU, 4 GB RAM, 45 GB NVMe, €7/month): enough to try Coolify or Dokploy with a few small apps and a database. The 45 GB meet Dokploy's 30 GB minimum, but keep an eye on space used by Docker images.
- VPS Linux 08G (3 vCPU, 8 GB RAM, 50 GB NVMe, €9.59/month): the sweet spot for real production with several apps, a PostgreSQL database and regular builds.
- VPS Linux 12G (4 vCPU, 12 GB RAM, 70 GB NVMe, €16.99/month): to host many services, heavy builds or several environments (production and staging) on the same machine.
Plans are available in France, Germany and New York, so you can place your PaaS close to your users. Also remember to prune unused images regularly, as disk space often runs out before RAM:
docker system df
docker image prune -a
Coolify or Dokploy: how to decide
Choose Coolify if…
- you want the largest catalog of ready-to-deploy applications;
- you need preview environments for each pull request;
- you are targeting an arm64 machine;
- you prefer an older project with a larger community, fully under Apache 2.0.
Choose Dokploy if…
- you want a cleaner interface and a quick learning curve;
- you already work with Docker Compose and Docker Swarm;
- you want Heroku or Paketo Buildpacks on top of Nixpacks;
- you are starting on a small VPS and want to keep as many resources as possible for your apps (check with your own measurements).
Either way, the tool installs with one command and can be tested in minutes. The simplest approach is to order a clean Linux VPS, install one and then the other (reinstalling the system in between), and keep the one whose workflow suits you best.
Best practices after installation
- Create the admin account immediately after installation.
- Attach a domain to the dashboard and enable HTTPS, then close the direct access ports.
- Set up an S3 destination and scheduled database backups.
- Also back up the platform's own configuration (the
.envfile for Coolify). - Update the system and the platform regularly, reading the release notes: Coolify 4.5.0, for example, introduces breaking changes to API tokens.