Skip to main content

Coolify on a VDS: self-hosted PaaS without Vercel

Cloud & DevOps · 18.10.2026 · 5 min read
Illustration for “Coolify on a VDS: self-hosted PaaS without Vercel”

Coolify is a self-hosted PaaS panel that takes a Git repository or a Docker image and deploys the application on your own server: it runs the build, starts the container, issues an SSL certificate, and configures the domain. For anyone who wants to deploy projects the way Vercel or Heroku do, but on their own VDS, Coolify removes most of that routine without writing Compose files by hand.

When Coolify fits, and when it does not

Coolify works well when a single VDS needs to run several independent applications — Node.js sites, PHP sites, or static pages — and you want to manage their deployment from a browser instead of connecting over SSH every time. The panel sets up its own Docker network, proxies domains through a reverse proxy, and updates the container on every push to the repository.

The panel is overkill for one simple site that already gets updated once a month with docker compose up -d: running a separate management process for a single container brings no real benefit. Do not expect Coolify to provide the isolation of separate virtual machines — every application still shares one server and its resources.

What the server needs for Coolify

Coolify is installed on a VDS with Docker — setting up Docker itself is covered in the article on setting up Docker on a VPS. The Coolify installer itself uses Docker Swarm mode inside a single node, so there is no need to run a separate cluster.

The minimum amount of memory stated by the project itself is 2 GB, but in practice two or three applications are easier to run with 4 GB: the panel and its own service containers (database, Redis, Traefik) also use memory. 30 GB of disk space is usually enough, unless the plan is to store images for dozens of versions in a row.

Comparing Coolify with manual Docker Compose

The difference between Coolify and plain Docker Compose is not about container capabilities, but about who handles the routine work around them.

TaskManually with ComposeWith Coolify
Deploy on Git pusha separate CI runner or scriptbuilt into the panel
Issuing a TLS certificatemanual Traefik or Certbot setupissued automatically
Rolling back to a previous versionrebuilding the old imagea button in the interface
Container logs and metricsdocker logs and third-party toolsbuilt-in panel view

Installing Coolify on a VDS

The Coolify installer ships as a single command that deploys all the service containers and creates the first administrator.

# Installing Coolify on a clean VDS with Docker
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash
# The panel becomes available on port 8000 right after installation

After installation, open the panel at the server's IP on port 8000, set an administrator password, and attach a domain — Coolify will then issue a certificate through its built-in Traefik, covered in more detail in the article on Traefik as a reverse proxy.

What to do when a deployment fails

Most deployment failures in Coolify come down to a handful of common causes.

  1. Check the build logs right in the interface — the error is usually visible there, whether it is in the Dockerfile or in the environment variables.
  2. Make sure the server has enough free memory: building large images sometimes needs more than 4 GB at the peak.
  3. Compare the port the application listens on inside the container with the port set in the service settings.
  4. Check that the domain actually points at this VDS's IP — without that, Traefik cannot issue a certificate.
  5. If a custom docker-compose.yml is used, check its syntax — a breakdown of the format is in the article on setting up Docker Compose.

Frequently asked questions

How is Coolify different from Vercel?

Vercel is a cloud service where Vercel itself provides the resources, while Coolify is software installed on your own VDS: you only pay for the server, but you also have to maintain it yourself.

Can Coolify run on a server with 2 GB of memory?

The installer will technically run on 2 GB, but that amount is only enough for the panel itself plus one lightweight application; adding a second or third project starts pushing the server against its memory limit.

Does the Coolify panel need its own domain?

Yes, it is more convenient to open the panel through its own subdomain with SSL rather than by IP and port 8000 — that way the connection is encrypted and there is no need to remember the port every time.

Was this article helpful?
← Back to Knowledge Base Ask Support