Coolify Made Deployment Simple

Samir Saqer / September 14, 2025

coolifyself-hostingdockerdeployment

Deployment used to be the boring, annoying part of my workflow. Not because it was hard, but because it was scattered. Every project lived somewhere else, with its own rules and limits.

I spent more time managing platforms than actually building things.

Coolify was the first tool that removed that friction instead of adding more.

Coolify dashboard overview

So what is Coolify exactly?

It's an open source tool that lets you deploy apps, websites, and databases on your own server. Think Heroku, but you own everything. No monthly surprises. No vendor lock in. Your server, your data, your rules.

It works with Docker under the hood, but you don't need to know Docker to use it. You just connect your Git repo, click deploy, and it handles the rest.

Coolify is free. The software costs nothing. You only pay for the server it runs on. On my netcup VPS that's about €6 a month for everything.

What you need before you start

Not much, honestly.

WhatDetails
A VPSAny provider works. I use netcup. Ubuntu or Debian is fine.
2 vCPUsMinimum. More is better if you're running a lot of apps.
2GB RAMMinimum. I'd go with 4GB to be safe.
20GB storageFor Coolify itself. Your apps will need more on top of this.
A domain nameYou'll want this for SSL and a clean URL.

That's it. If you already have a VPS running, you're halfway there.

Let's install it

1

Connect to your server

Open your terminal and SSH into your VPS. Make sure you're logged in as root. If you're not, just run sudo -i and you're good. Coolify needs root to install properly.

2

Update everything first

Before you do anything, update your server. This takes a minute but it saves you from weird bugs later. Run apt update && apt upgrade -y and wait for it to finish.

Note for Ubuntu Users:

The automatic installation script only works with Ubuntu LTS versions (20.04, 22.04, 24.04). If you're using a non-LTS version (e.g., 24.10), please use the Manual Installation method below.

3

Run the install script

The install script does everything for you. It pulls the Docker images, sets up the containers, configures the ports. You just watch it run.

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

Open your browser

Once the install finishes, it'll show you a URL. Usually something like http://your-server-ip:8000. Open that in your browser and you'll see the Coolify login page.

Bash
Congratulations, Your Coolify instance is ready to use.

Please visit http://your-server-ip:8000 to get started.
5

Create your admin account

First time in, Coolify asks you to create an account. Pick a strong password. This is your main account for everything.

Want to set credentials upfront?

If you want to skip the registration screen and set your username and email during install, you can run this instead and replace the values with your own.

Bash
ROOT_USERNAME=yourusername ROOT_USER_EMAIL=you@email.com ROOT_USER_PASSWORD=yourpassword bash -c 'curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash'

Now set up your domain

Right now Coolify is running on HTTP with just your server IP. That works for testing, but it's not secure. Let's fix that.

1

Go to your domain settings

Log into wherever you bought your domain. Could be Cloudflare, Namecheap, GoDaddy, doesn't matter. Find the DNS settings.

2

Add two A records

You need two records pointing to your server IP. The first one is @ which covers your main domain. The second one is * which covers every subdomain. Both point to your VPS IP address. DNS records setup for Coolify

3

Tell Coolify about your domain

Go to Settings inside Coolify. Find the Domain field. Type in your domain with https:// at the start. Like this: https://yourdomain.com. The https:// part is important or SSL won't work.

DNS records setup for Coolify

source from Coolify official documentation

Once you save that, Coolify handles SSL by itself. No Let's Encrypt setup. No nginx config. It just works.

Wait a few minutes

DNS changes take a little time to kick in. If your domain doesn't work right away, just wait 2 to 5 minutes and try again.

Lock it down with a firewall

Now that your domain is set up, you should close off the ports you don't need. You only need three ports open.

PortWhat it's for
22SSH. You need this to connect to your server.
80HTTP. Coolify uses this to redirect to HTTPS.
443HTTPS. This is where your apps actually live.

If you're on Ubuntu, you can set this up with UFW:

Bash
sudo ufw allow ssh
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable

After you turn on the firewall, port 8000 will be blocked. That's fine. You'll only access Coolify through your domain from now on.

Don't forget SSH

Always allow port 22 before you enable the firewall. If you lock yourself out, you'll need to reset your server through your VPS provider's console.

Deploy your first app

This is where it gets fun. Go back into your Coolify dashboard and hit the button to create a new app.

1

Pick your source

Connect your GitHub or GitLab account. Coolify will show you all your repos. Pick the one you want to deploy.

2

Let Coolify figure it out

It looks at your repo and detects what kind of project it is. Next.js, Laravel, a plain Docker app. It sets up the build settings automatically most of the time.

3

Hit deploy

That's it. Click deploy and watch it build. Coolify pulls your code, builds it, runs it, and gives you a URL. The whole thing takes about 30 seconds.

Coolify app deployment screen

You can also deploy databases straight from the dashboard. PostgreSQL, MySQL, Redis, MongoDB. All with one click. No setup scripts. No config files.

What I actually run on Coolify now

Since I switched, everything lives in one place:

AppBefore CoolifyNow
Next.js appsVercelCoolify
PostgreSQL databasesSupabase (paid)Coolify
RedisUpstashCoolify
WordPress sitesWP EngineCoolify
Monthly cost~$80€6 (just the VPS)

Yeah. That last row is the one that matters.

When things go wrong: Quick diagnostics

Coolify runs on Docker, so when something breaks, you need to check the containers. Most issues come down to three things: containers crashing, disk space running out, or network problems.

Here's how to figure out what's broken.

Check if containers are running

SSH into your server as root (sudo -i) and run this:

Bash
docker ps -a --filter "name=coolify"

You should see coolify, coolify-db, coolify-redis, and coolify-realtime all listed as "Up". If any of them say "Restarting" or "Exited", that's your problem.

Check the logs

If a container is down, check what it's complaining about:

Bash
docker logs --tail 100 coolify

This shows the last 100 lines. Usually the error is right at the bottom.

Check disk space

This is the most common issue. Run this:

Bash
df -h /

Coolify needs at least 30GB total space and 20GB free. If you're running low, the database will crash and nothing will work.

Out of space?

If you see "No space left on device" in the logs, you need to clean up old Docker images and build cache. The commands below will free up space fast.

Bash
docker image prune -af
docker container prune -f --filter "label=coolify.managed=true"
docker builder prune -af

Check if port 8000 is listening

If the dashboard won't load, make sure the port is actually open:

Bash
ss -tulpn | grep :8000

If this returns nothing, the web interface isn't bound to the port. Restart Coolify with the commands below.

Common problems and fixes

ProblemWhat to do
Error 500 on dashboardUsually the database crashed. Run docker restart coolify-db and wait 30 seconds.
502 Bad GatewayCheck if the app container is "unhealthy" in docker ps. Verify the health check path in your app settings.
Installation failedCheck /data/coolify/source/installation-YYYYMMDD-HHMMSS.log. Make sure Docker wasn't installed via Snap (not supported).

Restart everything

If you've tried the above and nothing works, restart all Coolify services:

Bash
cd /data/coolify/source
docker compose --env-file .env -f docker-compose.yml -f docker-compose.prod.yml down
docker compose --env-file .env -f docker-compose.yml -f docker-compose.prod.yml up -d

Wait about a minute for everything to start up again.

Custom domain issues

If your custom domain isn't working, check the proxy logs:

Bash
docker logs coolify-proxy --tail 50

This will show you SSL certificate errors or reverse proxy problems.

Is there anything I don't like?

Honestly? The docs could be better. Sometimes I had to dig around to find what I needed. And if something breaks, the error messages aren't always helpful.

But the discord community is solid. The GitHub repo is active. And once everything is running, it just sits there and works. I haven't had to touch it in weeks.

The bottom line

If you have a VPS and you're paying for multiple hosting platforms, install Coolify. It'll take you 10 minutes and it might save you a lot of money. Everything in one place: one dashboard, one server, plus automatic server updates, SSL certificates, and reverse proxy.

Check out Coolify


No affiliate links here. Coolify is free and open source. I'm just sharing what works for me. Go check it out for yourself.