Back to Article List

How to install Coolify on Ubuntu 24.04

How to install Coolify on Ubuntu 24.04

Installing Coolify on Ubuntu 24.04 is a one-line command if everything goes right. About 10% of the time, something goes sideways and the script either bails or finishes cleanly but the dashboard isn't reachable, leaving you with a server that's been touched but isn't actually running anything useful. This guide walks through the install end to end, including the prerequisites the official docs assume you've already set up and the failure modes that catch first-timers.

Written against Coolify v4.0.0, the current stable as of April 2026. Works for Ubuntu 22.04 and Ubuntu 24.04 LTS, both supported by the official install script. If you're on a non-LTS Ubuntu version or a different distribution, a few of the steps differ.

Prerequisites for installing Coolify

The minimum requirements according to the official Coolify documentation:

  • Operating system, Ubuntu 20.04, 22.04, 24.04 LTS or Debian 11, 12. The install script supports these explicitly. Other distros (CentOS, Rocky, Arch) work in principle but aren't covered by the script and require manual steps
  • CPU, 2 cores minimum, AMD64 or ARM64 architecture
  • RAM, 2 GB minimum (Coolify itself uses about 600 MB, leaving 1.4 GB for your applications, which is tight). 4 GB is the realistic minimum for any production use, 8 GB is comfortable for multi-app setups
  • Disk space, 30 GB total with at least 20 GB free. The install script checks for this and will fail if you're under
  • Network, public IPv4 address, ports 22, 80, 443, 8000, 6001 and 6002 open in your firewall
  • Root access, the install script requires running as root or with sudo. Non-root setups aren't fully supported as of v4
  • curl, comes pre-installed on every modern Ubuntu, used to fetch the install script

If you're spinning up a fresh VPS for this, the LumaDock Coolify VPS ships with v4 already installed on Debian 12, so you can skip everything in this guide and go straight to the dashboard. If you want to install Coolify on a server you already have or you're following along on a fresh VPS from elsewhere, keep reading.

Step 1, prepare the Ubuntu 24.04 server

SSH into your fresh server as root (or as a user with sudo). Update the package lists and upgrade existing packages first:

apt update
apt upgrade -y

Reboot if the upgrade installed a new kernel (you'll see a notice if it did):

reboot

SSH back in after the reboot.

Configure the firewall

Ubuntu 24.04 ships with UFW available but not enabled by default. Enable it and open the ports Coolify needs:

ufw allow 22/tcp     # SSH
ufw allow 80/tcp     # HTTP
ufw allow 443/tcp    # HTTPS
ufw allow 8000/tcp   # Coolify dashboard
ufw allow 6001/tcp   # Coolify Realtime
ufw allow 6002/tcp   # Coolify Realtime
ufw enable

Confirm with ufw status. You should see all six rules listed. The dashboard port (8000) being open during initial setup is necessary, you can lock it down to your IP only after first login if you want.

Verify disk space

Before running the install script, check available space:

df -h /

Look at the "Avail" column for the root filesystem. You need at least 20 GB free. If your VPS came with a smaller disk that's mostly full from the OS install, the Coolify install script will fail with "insufficient disk space" partway through. Either resize the disk before continuing or pick a VPS plan with more space.

Confirm IPv4 routing

This is the gotcha that hits Hetzner and a few other providers. The Coolify install script downloads packages from GitHub Container Registry over IPv6 by default if the server has IPv6 routing. On some providers, IPv6 routing is broken for outbound connections, which causes the GitHub package fetch to time out and the install to fail.

Test outbound IPv6 by running:

curl -6 https://github.com

If this hangs or fails, you have an IPv6 routing problem. Force the system to prefer IPv4 by editing /etc/gai.conf:

echo "precedence ::ffff:0:0/96  100" >> /etc/gai.conf

This makes IPv4 the preferred outbound option. The Coolify install will work after this. You can revert the change after install if you want, but it doesn't hurt to leave it.

Step 2, run the Coolify install script

The official install command:

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

What this does:

  1. Downloads the install script from Coolify's CDN
  2. Runs it as root (via sudo bash)
  3. Checks system requirements (disk space, RAM, OS)
  4. Installs Docker if it's not already present, using Docker's official installer
  5. Installs Docker Compose plugin
  6. Creates the /data/coolify directory tree
  7. Pulls the Coolify Docker image
  8. Generates random secrets for the Coolify database, encryption key and admin user
  9. Starts the Coolify containers (coolify, coolify-db, coolify-redis, coolify-realtime, coolify-proxy)
  10. Prints the dashboard URL when done

The whole process takes 3 to 10 minutes depending on your network speed and disk performance. The slowest part is usually pulling the Docker images.

If the script reports success, you'll see a final message like:

Coolify is ready! Visit http://your-server-ip:8000

If it doesn't, see the troubleshooting section below.

Step 3, access the Coolify dashboard for the first time

Open http://your-server-ip:8000 in a browser. The first request takes 1-2 minutes after the install finishes because the containers are still starting. If you get a connection error immediately, wait 60 seconds and try again.

The first page is the admin signup. Pick an email and a strong password. There's no default username or password, you create the admin account on first visit. Save these credentials somewhere safe, recovery requires SSH access to the server and a manual database edit if you lose them.

After signup, you're in the dashboard. The first thing to do is connect the local server. The dashboard guides you through this on first visit or you can navigate to Servers → + Add a new server → Localhost. Coolify uses the Docker socket to connect to itself, no SSH key needed for the local server.

Step 4, immediate post-install hardening

Don't skip this. A fresh Coolify install with port 8000 open to the internet is a target. Two changes within the first hour:

Restrict port 8000 to your IP

Once you've logged in, lock down port 8000 so only your IP can reach the dashboard:

ufw delete allow 8000/tcp
ufw allow from YOUR.PUBLIC.IP/32 to any port 8000

Replace YOUR.PUBLIC.IP with your actual public IP. Find it at ifconfig.me or similar. After this, only requests from that IP can reach the Coolify dashboard. Application traffic still goes through Traefik on 80 and 443 for everyone.

If you have a dynamic IP (residential ISP), use a wider range or pair this with a VPN. The point is to take the dashboard off the public internet.

Set up a domain for the dashboard with HTTPS

Long-term, you want the dashboard reachable via HTTPS at a real domain instead of http://ip:8000. From the Coolify dashboard, go to Settings → General and set the Instance Domain to something like coolify.yourdomain.com. Point an A record at your server's IP. Coolify issues a Let's Encrypt cert for the domain (the Coolify SSL guide covers the cert flow in detail).

After the cert issues, you can reach the dashboard at https://coolify.yourdomain.com over HTTPS. The IP-based URL on port 8000 still works as a fallback, you can close port 8000 entirely once the domain works if you want.

Common Coolify install failures and how to fix them

Script finishes successfully but dashboard not reachable on port 8000

Most common failure mode according to the Coolify troubleshooting docs. Three possible causes:

Containers haven't started yet. Run docker ps on the server. You should see four Coolify containers (coolify, coolify-db, coolify-redis, coolify-realtime) all in the "running" state. If they aren't, wait 60 seconds and try again. If they're stuck in "starting" or "restarting" state, check docker logs coolify for the actual error.

Port 8000 not open. Run ufw status to verify the firewall rule is in place. If the port is open in UFW but still not reachable, check if your VPS provider has a separate cloud firewall (some providers like AWS, GCP, Hetzner Cloud do, distinct from the OS firewall).

Service binding to the wrong interface. Run netstat -tulpn | grep 8000 on the server. The result should show 0.0.0.0:8000 not 127.0.0.1:8000. If it's bound to localhost, Coolify's port mapping went wrong, usually because the install script didn't complete successfully despite reporting success. Re-run the install script.

Insufficient disk space

The install script checks for at least 20 GB free and bails if it's less. Free up space by removing unused packages, old log files and any leftover system snapshots. apt autoremove and journalctl --vacuum-time=7d are good starting points. If your disk is just too small, you'll need to resize the VPS or pick a different plan.

Docker version too old

Older Ubuntu 20.04 installations might have a Docker version older than 24, which Coolify doesn't support. The install script tries to install or upgrade Docker but if there's a conflict with an existing installation it can fail. Remove the old Docker first:

apt remove docker docker.io containerd runc
apt purge docker-ce docker-ce-cli containerd.io
rm -rf /var/lib/docker

Then re-run the Coolify install script, which will install a fresh Docker.

IPv6 timeout during package fetch

Covered in Step 1. The fix is the /etc/gai.conf change to prefer IPv4. If you skipped that step and the install fails with timeouts pulling images, edit gai.conf and re-run.

"Permission denied" or sudo errors

You're running as a non-root user without sudo or sudo isn't configured to allow your user. Switch to root with sudo -i or add your user to the sudo group with usermod -aG sudo yourusername.

SSL connection errors during install

Your server's clock is wrong. SSL certificate validation depends on accurate time. Sync the clock:

apt install -y systemd-timesyncd
timedatectl set-ntp true

Wait a minute, then re-run the install script.

"Cannot connect to the Docker daemon"

Docker is installed but not running. Start it:

systemctl enable docker
systemctl start docker

Re-run the Coolify install script.

Localhost server fails to connect after install

The dashboard loads but when you try to add the localhost server it errors with "cannot connect." This is usually a Docker socket permission issue. Verify the Coolify container can read the socket:

docker exec coolify ls -la /var/run/docker.sock

Should show the socket file. If it isn't visible, the docker socket isn't mounted into the Coolify container correctly, which usually means a partial install. Re-run the install script or recreate the Coolify container.

What the install script doesn't do

Worth being explicit about. After the install finishes, Coolify is running but you still need to:

  • Set up automated backups, the install script doesn't configure backups. The Coolify database backups guide covers Postgres, MySQL and MongoDB backups to S3-compatible storage
  • Configure SSH hardening, defaults are reasonable but not great. Disable password auth, require SSH keys, change the default SSH port if you want. The production server security guide covers SSH hardening, Fail2ban and firewall best practices
  • Set up monitoring, Coolify's built-in Sentinel provides basic metrics but for proper observability you want Prometheus and Grafana. The Coolify monitoring guide covers the full stack
  • Configure notifications, Coolify can send deploy alerts to Slack, Discord, Email and others, but you have to configure them. Profile → Notifications
  • Connect a Git source, before you can deploy anything, you need to connect GitHub, GitLab, Gitea or Bitbucket as a Source. The Coolify GitHub setup guide covers the GitHub App flow in detail

Updating Coolify after install

Coolify has a built-in update flow. From the dashboard, go to Settings → Update, click the update button when a new version is available. Coolify pulls the new image and restarts the dashboard container, the application containers keep running so your apps stay up during the update.

From the command line, you can also run the install script again, it detects an existing installation and updates in place:

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

Either path takes 1-2 minutes. The dashboard is briefly unavailable during the restart, then it comes back on the new version.

What I suggest you do next...

With Coolify running, the natural progression is: connect a GitHub Source, deploy your first application, set up SSL on a custom domain, configure backups, configure monitoring. Each of these has a dedicated guide:

For specific stacks, the deploy guides for Next.js, Laravel, Django and SvelteKit walk through deploying real applications.

Your idea deserves better hosting

24/7 support 30-day money-back guarantee Cancel anytime
Verrechnungszyklus

1 GB RAM VPS

$3.99 Save  25 %
$2.99 Monatlich
  • 1 vCPU AMD EPYC
  • 30 GB NVMe Speicher
  • Unbegrenzte Bandbreite
  • IPv4 & IPv6 inklusive IPv6-Unterstützung ist derzeit in Frankreich, Finnland und den Niederlanden nicht verfügbar.
  • 1 Gbps Netzwerk
  • Firewall-Verwaltung
  • Server-Überwachung

2 GB RAM VPS

$5.99 Save  17 %
$4.99 Monatlich
  • 2 vCPU AMD EPYC
  • 30 GB NVMe Speicher
  • Unbegrenzte Bandbreite
  • IPv4 & IPv6 inklusive IPv6-Unterstützung ist derzeit in Frankreich, Finnland und den Niederlanden nicht verfügbar.
  • 1 Gbps Netzwerk
  • Firewall-Verwaltung
  • Server-Überwachung

6 GB RAM VPS

$14.99 Save  33 %
$9.99 Monatlich
  • 6 vCPU AMD EPYC
  • 70 GB NVMe Speicher
  • Unbegrenzte Bandbreite
  • IPv4 & IPv6 inklusive IPv6-Unterstützung ist derzeit in Frankreich, Finnland und den Niederlanden nicht verfügbar.
  • 1 Gbps Netzwerk
  • Firewall-Verwaltung
  • Server-Überwachung

AMD EPYC VPS.P1

$7.99 Save  25 %
$5.99 Monatlich
  • 2 vCPU AMD EPYC
  • 4 GB RAM-speicher
  • 40 GB NVMe speicher
  • Unbegrenzte Bandbreite
  • IPv4 & IPv6 inklusive IPv6-Unterstützung ist derzeit in Frankreich, Finnland und den Niederlanden nicht verfügbar.
  • 1 Gbps Netzwerk
  • Auto-Backup enthalten
  • Firewall-Verwaltung
  • Server-Überwachung

AMD EPYC VPS.P2

$14.99 Save  27 %
$10.99 Monatlich
  • 2 vCPU AMD EPYC
  • 8 GB RAM-speicher
  • 80 GB NVMe speicher
  • Unbegrenzte Bandbreite
  • IPv4 & IPv6 inklusive IPv6-Unterstützung ist derzeit in Frankreich, Finnland und den Niederlanden nicht verfügbar.
  • 1 Gbps Netzwerk
  • Auto-Backup enthalten
  • Firewall-Verwaltung
  • Server-Überwachung

AMD EPYC VPS.P4

$29.99 Save  20 %
$23.99 Monatlich
  • 4 vCPU AMD EPYC
  • 16 GB RAM-speicher
  • 160 GB NVMe speicher
  • Unbegrenzte Bandbreite
  • IPv4 & IPv6 inklusive IPv6-Unterstützung ist derzeit in Frankreich, Finnland und den Niederlanden nicht verfügbar.
  • 1 Gbps Netzwerk
  • Auto-Backup enthalten
  • Firewall-Verwaltung
  • Server-Überwachung

AMD EPYC VPS.P5

$36.49 Save  21 %
$28.99 Monatlich
  • 8 vCPU AMD EPYC
  • 16 GB RAM-speicher
  • 180 GB NVMe speicher
  • Unbegrenzte Bandbreite
  • IPv4 & IPv6 inklusive IPv6-Unterstützung ist derzeit in Frankreich, Finnland und den Niederlanden nicht verfügbar.
  • 1 Gbps Netzwerk
  • Auto-Backup enthalten
  • Firewall-Verwaltung
  • Server-Überwachung

AMD EPYC VPS.P6

$56.99 Save  21 %
$44.99 Monatlich
  • 8 vCPU AMD EPYC
  • 32 GB RAM-speicher
  • 200 GB NVMe speicher
  • Unbegrenzte Bandbreite
  • IPv4 & IPv6 inklusive IPv6-Unterstützung ist derzeit in Frankreich, Finnland und den Niederlanden nicht verfügbar.
  • 1 Gbps Netzwerk
  • Auto-Backup enthalten
  • Firewall-Verwaltung
  • Server-Überwachung

AMD EPYC VPS.P7

$69.99 Save  20 %
$55.99 Monatlich
  • 16 vCPU AMD EPYC
  • 32 GB RAM-speicher
  • 240 GB NVMe speicher
  • Unbegrenzte Bandbreite
  • IPv4 & IPv6 inklusive IPv6-Unterstützung ist derzeit in Frankreich, Finnland und den Niederlanden nicht verfügbar.
  • 1 Gbps Netzwerk
  • Auto-Backup enthalten
  • Firewall-Verwaltung
  • Server-Überwachung

EPYC Genoa VPS.G1

$4.99 Save  20 %
$3.99 Monatlich
  • 1 vCPU AMD EPYC Gen4 AMD EPYC Genoa der 4. Generation 9xx4 mit 3,25 GHz oder ähnlich, basierend auf der Zen 4 Architektur.
  • 1 GB DDR5 RAM-speicher
  • 25 GB NVMe speicher
  • Unbegrenzte Bandbreite
  • IPv4 & IPv6 inklusive IPv6-Unterstützung ist derzeit in Frankreich, Finnland und den Niederlanden nicht verfügbar.
  • 1 Gbps Netzwerk
  • Auto-Backup enthalten
  • Firewall-Verwaltung
  • Server-Überwachung

EPYC Genoa VPS.G2

$12.99 Save  23 %
$9.99 Monatlich
  • 2 vCPU AMD EPYC Gen4 AMD EPYC Genoa der 4. Generation 9xx4 mit 3,25 GHz oder ähnlich, basierend auf der Zen 4 Architektur.
  • 4 GB DDR5 RAM-speicher
  • 50 GB NVMe speicher
  • Unbegrenzte Bandbreite
  • IPv4 & IPv6 inklusive IPv6-Unterstützung ist derzeit in Frankreich, Finnland und den Niederlanden nicht verfügbar.
  • 1 Gbps Netzwerk
  • Auto-Backup enthalten
  • Firewall-Verwaltung
  • Server-Überwachung

EPYC Genoa VPS.G4

$25.99 Save  27 %
$18.99 Monatlich
  • 4 vCPU AMD EPYC Gen4 AMD EPYC Genoa der 4. Generation 9xx4 mit 3,25 GHz oder ähnlich, basierend auf der Zen 4 Architektur.
  • 8 GB DDR5 RAM-speicher
  • 100 GB NVMe speicher
  • Unbegrenzte Bandbreite
  • IPv4 & IPv6 inklusive IPv6-Unterstützung ist derzeit in Frankreich, Finnland und den Niederlanden nicht verfügbar.
  • 1 Gbps Netzwerk
  • Auto-Backup enthalten
  • Firewall-Verwaltung
  • Server-Überwachung

EPYC Genoa VPS.G5

$44.99 Save  33 %
$29.99 Monatlich
  • 4 vCPU AMD EPYC Gen4 AMD EPYC Genoa der 4. Generation 9xx4 mit 3,25 GHz oder ähnlich, basierend auf der Zen 4 Architektur.
  • 16 GB DDR5 RAM-speicher
  • 150 GB NVMe speicher
  • Unbegrenzte Bandbreite
  • IPv4 & IPv6 inklusive IPv6-Unterstützung ist derzeit in Frankreich, Finnland und den Niederlanden nicht verfügbar.
  • 1 Gbps Netzwerk
  • Auto-Backup enthalten
  • Firewall-Verwaltung
  • Server-Überwachung

EPYC Genoa VPS.G6

$48.99 Save  31 %
$33.99 Monatlich
  • 8 vCPU AMD EPYC Gen4 AMD EPYC Genoa der 4. Generation 9xx4 mit 3,25 GHz oder ähnlich, basierend auf der Zen 4 Architektur.
  • 16 GB DDR5 RAM-speicher
  • 200 GB NVMe speicher
  • Unbegrenzte Bandbreite
  • IPv4 & IPv6 inklusive IPv6-Unterstützung ist derzeit in Frankreich, Finnland und den Niederlanden nicht verfügbar.
  • 1 Gbps Netzwerk
  • Auto-Backup enthalten
  • Firewall-Verwaltung
  • Server-Überwachung

EPYC Genoa VPS.G7

$74.99 Save  27 %
$54.99 Monatlich
  • 8 vCPU AMD EPYC Gen4 AMD EPYC Genoa der 4. Generation 9xx4 mit 3,25 GHz oder ähnlich, basierend auf der Zen 4 Architektur.
  • 32 GB DDR5 RAM-speicher
  • 250 GB NVMe speicher
  • Unbegrenzte Bandbreite
  • IPv4 & IPv6 inklusive IPv6-Unterstützung ist derzeit in Frankreich, Finnland und den Niederlanden nicht verfügbar.
  • 1 Gbps Netzwerk
  • Auto-Backup enthalten
  • Firewall-Verwaltung
  • Server-Überwachung

Frequently asked questions

What are the minimum requirements to install Coolify?

2 CPU cores, 2 GB RAM, 30 GB disk total with at least 20 GB free, AMD64 or ARM64 architecture. Ubuntu 20.04, 22.04, 24.04 LTS or Debian 11, 12 are officially supported. Realistic minimums for production are 4 GB RAM and 40 GB disk, since Coolify itself uses about 600 MB of memory and your applications need the rest. The install script checks the disk space requirement and bails if you're under, so don't try to skirt that one.

Stop installing. Start shipping.

LumaDock Coolify plans come with the dashboard pre-installed, unmetered bandwidth and a flat monthly bill. Try the server risk free with a 30-day refund guarantee.

GPU products are in high demand at the moment. Fill the form to get notified as soon as your preferred GPU server is back in stock.