Abstract illustration of glowing connected nodes on a dark background

How to Install and Use Coolify: A Step-by-Step Guide

This guide is based on the open-source project Coolify by coollabsio, licensed under Apache-2.0.

Coolify is a self-hosted platform as a service: a web dashboard that turns your own server into something that feels like Heroku, Vercel, or Netlify, without handing your apps to a hosted platform. You connect a Git repository, Coolify builds it into a container, and it serves it with a domain and automatic HTTPS. Databases and one-click services work the same way.

What Coolify is, and who it is for

Coolify sits on top of Docker. It manages the proxy, builds, deployments, rollbacks, and service containers for you, and it can deploy from GitHub, GitLab, Bitbucket, Gitea, a public repository, a Dockerfile, a Docker Compose file, or a prebuilt image. Builds use Nixpacks auto-detection, a Dockerfile you supply, or Docker Compose, depending on what the repository contains.

It suits developers and small teams who already run a VPS and want push-to-deploy without a hosted platform's pricing or limits, and people who want databases and apps on hardware they control. It is not a good first server project if you have never used Docker: the docs assume working Docker knowledge, and a Coolify server is a server you own, including its security updates.

One distinction matters: self-hosted Coolify is free and open source, while Coolify Cloud is a separate paid managed service. This guide covers the self-hosted install only, on a server you provide and pay for.

Prerequisites

Step 1: Install Coolify on a fresh server

Log in to your fresh server over SSH and run the official install script as root:

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

As with any install script, you can download it first and read it before piping it to a shell. The script installs Docker if it is missing, pulls the Coolify containers, and starts the dashboard. When it finishes, it prints the dashboard address, which uses port 8000 during setup.

Do not wait to do the next step. The dashboard on port 8000 has no account yet, and the first person to reach the registration page becomes the instance admin. Open it and create your account immediately, before anyone else finds the page.

Step 2: Complete first setup securely

Open the dashboard in your browser:

http://YOUR_SERVER_IP:8000

Replace YOUR_SERVER_IP with your server's public IP address. Create the root admin account with a strong password and an email address you actually check, since password resets go through email.

After registration, confirm your server is connected in the dashboard before deploying anything. In a single-server setup, this is the machine Coolify itself runs on; you can add more servers later as deployment targets, but get one server and one app working first.

Once the dashboard has its own domain, close the setup ports in your firewall. Port 8000, and 6001 and 6002 for IP access, are needed for the first setup, not for day-to-day use behind a domain, where 22, 80, and 443 are the ports that stay open. Also set up operating-system security updates on the server itself: Coolify manages your apps, not your OS patches.

Step 3: Deploy your first app from a public repository

Start with a small public repository, so a build failure is easy to diagnose. In the dashboard, add a new resource and choose a public Git repository. Paste the repository URL, and let Coolify detect the build method: Nixpacks for a typical app with no Dockerfile, your Dockerfile if the repository has one, or Docker Compose for a multi-service app.

Set the port your app listens on, if Coolify does not detect it, and add any environment variables the app needs. Then deploy, and watch the build logs in the dashboard. A successful deploy shows the app running; a failed deploy shows where the build stopped, which is far more useful than re-running the deploy and hoping.

For push-to-deploy on your own repositories, connect a Git provider through a GitHub App or a deploy key, following the docs for your provider. After that, a push to the tracked branch triggers a new build and deployment automatically. For a first test, a manual deploy from a public repository teaches you the same screens without the webhook setup.

Step 4: Add a domain, HTTPS, and a database

Domain and HTTPS. Add a domain to the deployed resource, and create a DNS A record pointing that domain at your server's IP address. Once DNS resolves to the server, Coolify's proxy provisions a Let's Encrypt certificate for the domain automatically, so the app is served over HTTPS without you managing certificates by hand. If the certificate does not appear, check DNS first, then that port 80 is reachable: both are needed for the certificate check.

Database. Add a database or service from the dashboard's one-click services, for example PostgreSQL, MySQL, MariaDB, MongoDB, or Redis. Coolify runs it as a container on your server, and you connect your app to it with the connection details and environment variables Coolify shows for that service. Back up database data on your own schedule: Coolify deploys the database, but your backups are still your responsibility.

Check the running app. After the first deploy, confirm three things: the app answers on its domain over HTTPS, its logs show no repeated restarts, and a second deploy, after a small change, replaces it without manual steps. Those three checks are the whole point of a platform as a service, and they are worth doing before you move a real project onto it.

Common errors and fixes

ProblemFix
Port 8000 does not loadCheck your cloud provider's firewall or security group, not just the server's own firewall. Port 8000 must be reachable for the first setup, and the installer must have finished.
Someone else registered firstDo not try to work around a compromised admin account. Start from a fresh install and create the admin account immediately, as in Step 2, before the dashboard is reachable by anyone else.
Ports 80 or 443 are already in useAnother web server, proxy, or Docker setup is holding them. Coolify needs those ports for its own proxy, so remove the conflicting service from this server, or use a different, fresh server.
Builds fail or the server becomes unresponsive during a buildBuilds run on the same server by default and compete with running apps for CPU and memory. Give the server more RAM, or move builds to a separate build server, and check the build logs for the exact failing step.
HTTPS certificate does not appearConfirm the DNS A record points at this server, DNS has propagated, and port 80 is reachable from the internet. A domain pointing elsewhere, or a blocked port 80, stops the certificate check.
An app deploys but does not answerCheck the port setting and the app's logs in the dashboard. A wrong port, a missing environment variable, or an app that binds only to localhost inside its container are the usual causes.
Disk fills upDocker images and build cache accumulate. Plan for more disk than the minimum, prune old images deliberately rather than blindly, and keep database backups off the same disk where you can.
Updates break a deploymentCheck Coolify's update notes and the dashboard's update section before updating a production instance, and back up your server and databases first. A platform update is a change to everything it manages.

FAQ

Is Coolify free? Self-hosted Coolify is free and open source under Apache-2.0. You still pay your VPS provider for the server, and Coolify Cloud, the managed service, is paid separately.

Do I need Docker knowledge? You do not need to write Dockerfiles for a typical app, since Nixpacks auto-detection handles many stacks. You do need working Docker knowledge to diagnose builds, ports, and storage problems when they happen, because Coolify is a layer over Docker, not a replacement for it.

Can Coolify host any app? Any app that runs as a Docker container, or that Coolify can build into one from a Git repository, a Dockerfile, or a Docker Compose file. Static sites, full-stack apps, databases, and one-click services are all in scope.

Can I run Coolify on a Raspberry Pi or a home server? Any server Coolify supports that meets the size and OS requirements can work, as long as it is reachable in the way your apps need, with ports 80 and 443 available and a domain for HTTPS. A home server behind a residential connection needs extra care with DNS, ports, and uptime.

What happens to my apps if Coolify is down? Running containers keep running, but you lose the dashboard, new deployments, and automatic management until Coolify is back. Keep server backups and know how to restart the Coolify containers from the server itself.

What to try next

Once one app and one database run behind a domain, deploy a second app from your own repository with push-to-deploy, add a staging copy of the same app, and practise a rollback to a previous deployment. That sequence tests the three things Coolify is actually for: repeatable deploys, connected services, and recovery, before a real project depends on them.

This guide was written with AI assistance and checked against the official documentation as of October 30, 2026.

Sources

Get the next guide first

One short email when a new guide or Weekly issue is published. No spam, and you can leave any time.