Virteche
Guideschevron_rightServers

Servers · 7 min read · Updated

How to Install Coolify on a VPS

Coolify is a free, self-hosted platform that does what Heroku, Netlify or Vercel do, on your own server: connect a Git repository and it builds and deploys your app, gives it HTTPS, and redeploys on every push. It also runs databases and hundreds of one-click services. Install it with one command on a fresh Ubuntu or Debian server, create the admin account immediately, then give the dashboard a domain so you can close its temporary ports.

1. Start with a Fresh Server

A new Ubuntu 24.04 or Debian 12 server, with nothing else on ports 80 and 443. Do the first steps (SSH key, updates), but skip installing Docker yourself: Coolify does that.

Coolify manages the server over SSH as root, with a key it adds itself. If you turned root logins off, allow root with a key only (never a password) before installing:

echo 'PermitRootLogin prohibit-password' | sudo tee /etc/ssh/sshd_config.d/00-root-key.conf
sudo sshd -t && sudo systemctl restart ssh

SSH uses the first value it reads, so if 00-hardening.conf from the first-steps guide sets PermitRootLogin no, change that line there instead.

2. Open the Ports

Coolify's documentation lists these. If you turned on the firewall on your server's page in the dashboard, allow them there:

  • 80 and 443 from anywhere: your apps and their certificates.
  • 8000, 6001 and 6002, from your own address only: the dashboard, its live updates and its web terminal, until the dashboard has a domain.
  • 22: SSH, which Coolify also uses to manage the server.

3. Install

curl -fsSL https://cdn.coollabs.io/coolify/install.sh | sudo bash

It takes a few minutes. Then open http://203.0.113.10:8000 (your server's address) and create the admin account straight away: until you do, whoever reaches the registration page first becomes the admin.

Back up /data/coolify/source/.env somewhere safe. It holds the secrets Coolify needs to restore its own database.

4. Give the Dashboard a Domain

Point an A record such as coolify.example.com at the server, then set it as the instance's domain in Coolify's settings. Once the dashboard opens at https://coolify.example.com, close public access to ports 8000, 6001 and 6002: the dashboard now runs through the proxy on 443.

For apps, a wildcard record (*.apps.example.com) pointing at the server lets Coolify give each app its own name without another DNS change.

5. Deploy an App from Git

  1. Create a project, then a new resource from a public or private Git repository (GitHub, GitLab and others).
  2. Coolify detects how to build it (Node.js, Python, PHP, a Dockerfile, a Compose file) and proposes a domain.
  3. Deploy. Turn on automatic deploys and every push to the branch redeploys the app.

Databases (PostgreSQL, MySQL, Redis and others) are resources too, with scheduled backups that Coolify can send to S3-compatible storage. For settings, see Using object storage.

Common Questions

  • How big a server does Coolify need?

    Coolify itself asks for at least 2 cores, 2 GB of memory and 10 GB of disk. Your apps, databases and their builds come on top of that, so for anything real, start with 4 vCPU and 8 GB.

  • Is Coolify free?

    Self-hosted Coolify is free and open source. Its makers also sell a hosted version of the dashboard; you do not need it to run Coolify on your own server.

  • Should I use a fresh server?

    Yes. Coolify installs Docker and runs its own proxy on ports 80 and 443, which clashes with an existing Nginx or Apache. Give it a server of its own.

KVM servers with dedicated vCPU and NVMe storage, so builds and databases are not slowed down by noisy neighbours.

See VPS plans

Keep Reading

All guides
How to Install Coolify on a VPS | Virteche Cloud