If you have ever run into a broken Coolify deployment and had no idea where to start, you are in the right place with this Coolify troubleshooting guide. Whether your installation failed, your domain isn't loading, or your GitHub webhook stopped firing, this guide walks you through each issue step by step.
Fix Coolify Issues: Docker Failures, DNS and Let's Encrypt Errors, Webhook Bugs
Table of Contents
- Before You Start: Check Your Server
- Problem 1. Docker Installation Fails During Coolify Setup
- Option A: Switch to an LTS OS (Recommended)
- Option B: Install Docker manually first, then run Coolify
- Problem 2. Coolify Dashboard Won't Open After Install
- Check 1: Are the Coolify containers actually running?
- Check 2: Is port 8000 open?
- Check 3: Check the Coolify container logs
- Problem 3. DNS Not Resolving for Your Domain
- Step 1: Verify your A record is set correctly
- Step 2: Check DNS propagation from the server
- Step 3: Check if Coolify can validate the domain
- Problem 4. HTTPS Certificate Not Generating (Let's Encrypt Fails)
- Check 1: Ports 80 and 443 must be open
- Check 2: Cloudflare proxy mode conflict
- Check 3: Wrong or corrupted acme.json permissions
- Check 4: Force regenerate the certificate
- Check 5: Wildcard SSL cert not being used
- Check 6: Rate limiting by Let's Encrypt
- Problem 5. Git Webhook Not Triggering Deployments
- Step 1: Enable Auto Deploy in Coolify
- Step 2: Set up the webhook in GitHub correctly
- Step 3: Check GitHub webhook delivery
- Step 4: Make sure ports are open for GitHub
- Step 5: GitHub App webhooks not working
- Problem 6. Builds Get Stuck or Fail Silently in Coolify
- Step 1: Enable verbose build logs
- Step 2: Check disk space
- Step 3: Check for port mismatches
- Step 4: Health check timeouts
- Step 5: View container logs directly
- Step 6: Container name conflict
- Problem 7. Coolify Dashboard Shows Unhealthy After Server Reboot
- Problem 8. No Available Server (503 Error) on Deployed App
- Quick Checklist for Coolify Troubleshooting Guide
- Installing Coolify the Right Way: Prevent Problems Before They Start
- Conclusion

Before You Start: Check Your Server
Before diving into any specific error, you must do a quick sanity check on the server itself. Many Coolify issues depend on low resources or a dirty environment, not on Coolify itself.
Minimum server requirements include:
- 2 CPU cores
- 2 GB RAM. 4 GB recommended for real workloads.
- 30+ GB disk space.
- Ubuntu 20.04 LTS, 22.04 LTS, 24.04 LTS, or Debian 12.
First, run the commands below to verify disk space, memory usage, and check if Docker is running:
If the disk is above 85%, you must clean up before doing anything else:
If you are on low resources or have a messy server, the best fix is to start fresh on a clean Linux VPS server. A fresh Ubuntu 24.04 LTS VPS removes all the noise so your Coolify install succeeds on the first try.
Once you have checked your server, you can proceed to the following steps to dive into the Coolify troubleshooting guide.
Problem 1. Docker Installation Fails During Coolify Setup
The symptom of this issue is that the Coolify install script stops at the installing Docker step. You see no Docker after the script finishes, or the script exits without any clear error.
This happens because the official Coolify install script only works automatically on Ubuntu LTS versions. If you are on a non-LTS Ubuntu version like 24.10, the Docker install step fails silently.
To fix this issue, you can use the following options:
Option A: Switch to an LTS OS (Recommended)
It is recommended to use Ubuntu 22.04 LTS or Ubuntu 24.04 LTS. These are the most tested, and the install script handles Docker automatically.
Option B: Install Docker manually first, then run Coolify
If you must stay on a non-LTS OS, you can install Docker 24+ manually before running the Coolify script:
Once Docker is confirmed working, run the Coolify install script:
Verify Docker is running after install:
Problem 2. Coolify Dashboard Won't Open After Install
In this issue, you ran the install script successfully, but when you go to http://YOUR_IP:8000, the browser shows nothing, connection refused, or a timeout.
Check 1: Are the Coolify containers actually running?
First, you must check the Coolify containers if they are running:
You should see the following containers all UP and have a Healthy status:
If Coolify shows as unhealthy, restart it:
Check 2: Is port 8000 open?
Coolify's dashboard runs on port 8000 by default. You must check if it is accessible:
Make sure your cloud provider's firewall, not just UFW, allows port 8000 inbound. Required ports for a fresh install are:
Important note about UFW: Docker bypasses UFW rules by modifying iptables directly. Always use your cloud provider's firewall panel to manage ports; do not rely on UFW alone.
Check 3: Check the Coolify container logs
Also, you can check the Coolify container logs to find the issue:
Problem 3. DNS Not Resolving for Your Domain
You set a domain in Coolify, but the browser just times out, or you see a "This site can't be reached" error. Your app is running, but the domain does not work. This is one of the most common issues covered in any Coolify troubleshooting guide, and it is almost always a DNS record problem.
Step 1: Verify your A record is set correctly
In your domain registrar or DNS panel, you need:
- An A record for your subdomain pointing to your server's public IP.
- Optionally, a wildcard A record if you want Coolify to auto-generate subdomains.
Example DNS setup:
Step 2: Check DNS propagation from the server
Check what your domain resolves to with the command below:
Or, you can use the nslookup:
Then, verify against a public DNS server:
If dig returns your server IP, DNS is working. If it returns nothing or a wrong IP, the record is not set correctly or has not propagated yet. DNS changes can take a few minutes to a few hours, depending on TTL.
Step 3: Check if Coolify can validate the domain
When you enter a domain in Coolify's Settings page and hit Save, it runs a DNS validation check. If it fails even though DNS looks right, make sure:
- You added
https://at the start of the domain in the Coolify settings. - Ports 80 and 443 are open so the reverse proxy can answer requests.
- You are not blocking Coolify's outbound HTTP checks with a strict firewall rule.
Problem 4. HTTPS Certificate Not Generating (Let's Encrypt Fails)
The symptom of this issue is that your domain loads over HTTP but not HTTPS. Coolify shows an SSL error, the browser shows a certificate warning, or the Traefik or Caddy proxy logs show a Let's Encrypt failure.
Check 1: Ports 80 and 443 must be open
Let's Encrypt needs to reach your server on port 80 for HTTP and port 443 for TLS-ALPN-01. If either is blocked, SSL will never work.
Check if ports are open and listening:
Test from outside, run from a different machine, or use an online port checker:
Check 2: Cloudflare proxy mode conflict
If your domain is behind Cloudflare with the orange cloud (proxy) turned on, Let's Encrypt HTTP often fails because Cloudflare intercepts the validation request. Fix this by either:
- Temporarily setting the DNS record to DNS only (grey cloud) during cert generation, then switching back.
- Using a DNS challenge with a Cloudflare API key instead of the HTTP.
Check 3: Wrong or corrupted acme.json permissions
The file /data/coolify/proxy/acme.json stores your SSL certificates. If its permissions are wrong, Traefik cannot read or write it.
Check the file and its permissions:
Fix permissions:
Check 4: Force regenerate the certificate
If the cert is corrupted or outdated, delete it and restart the proxy:
Check 5: Wildcard SSL cert not being used
If you uploaded a custom wildcard certificate and Coolify is ignoring it:
- Make sure the
.certand.keyfiles are in/data/coolify/proxy/certs/. - The cert file must have a
.certextension, the key file must have.key. Rename.pemfiles if needed. - After adding the cert in the Coolify proxy dashboard, click Restart Proxy.
Check 6: Rate limiting by Let's Encrypt
If you see a 429 error in the proxy logs, Let's Encrypt has rate-limited your server's IP. This happens when too many cert requests are made in a short time. The fix is to wait. Let's Encrypt rate limits reset after a few hours to 7 days.
Problem 5. Git Webhook Not Triggering Deployments
You push code to GitHub or GitLab, but Coolify does not pick it up. The deployment does not start automatically. This is a classic issue in any Coolify troubleshooting guide because the webhook pipeline has multiple points of failure.
Step 1: Enable Auto Deploy in Coolify
First, make sure Auto Deploy is actually turned on:
- Open your application in Coolify.
- Go to the Advanced tab.
- Enable Auto Deploy.
For more details on how GitHub Auto Deploy works in Coolify, you can check the official Auto Deploy documentation.
Step 2: Set up the webhook in GitHub correctly
For self-hosted Coolify with a manual webhook, not using the GitHub App:
- In Coolify, go to your app → Webhook page → copy the Deploy Webhook URL
- In GitHub, go to your repo → Settings → Webhooks → Add webhook
- Set:
- Payload URL: your Coolify webhook URL
- Content type: application/json
- Secret: the webhook secret from Coolify
- SSL verification: Enabled
- Events: Just the push event
- Active: Checked
Step 3: Check GitHub webhook delivery
In GitHub, go to Settings → Webhooks → Recent Deliveries. If you see a red sign, click it to see the response code and error. Common issues:
- 400 Bad Request: Webhook secret mismatch between GitHub and Coolify.
- 422 Unprocessable: Wrong content type, must be application/json.
- Connection timed out: Port 443 or 80 is blocked on your server.
Step 4: Make sure ports are open for GitHub
GitHub's webhook servers need to reach your Coolify instance on ports 80 and 443. If your server has a strict firewall, you can allowlist GitHub's webhook IPs:
Step 5: GitHub App webhooks not working
If you are using the official GitHub App integration in Coolify and webhooks still do not fire, this is a known bug in some Coolify versions. The workaround is to switch from the GitHub App to a manual webhook setup as described in Step 2 above, or use the Coolify API with a GitHub Action:
Problem 6. Builds Get Stuck or Fail Silently in Coolify
The deployment log shows activity, then freezes. Or the build is marked as failed, but there is no useful error message. Stuck builds are frustrating, but there is a clear way to debug them.
This Coolify troubleshooting guide recommends always enabling verbose logs first before anything else.
Step 1: Enable verbose build logs
By default, Coolify hides most build output. You can turn it on by going to Project → Configuration → Advanced, and add the environment variable:
Step 2: Check disk space
Running out of disk space is one of the most common hidden causes of stuck builds. Coolify accumulates Docker images and build caches over time:
If the disk is full, clean up:
You can set up a weekly cleanup cron job to prevent this from coming back:
Step 3: Check for port mismatches
If the build completes but the container is immediately marked unhealthy, the port your app listens on probably does not match what Coolify expects. Check Configuration → Ports in Coolify and make sure the port in your app code or Dockerfile matches.
Step 4: Health check timeouts
If your app takes more than 30 seconds to start, which is common with Next.js apps or apps that run heavy migrations, Coolify marks the deployment as failed. Increase the health check timeout:
Or in your Dockerfile:
Step 5: View container logs directly
If the Coolify UI logs are not helpful, check Docker logs directly on the server:
Step 6: Container name conflict
If a deployment fails with "container name already in use", a leftover helper container is blocking the new one:
Problem 7. Coolify Dashboard Shows Unhealthy After Server Reboot
You restarted your server, and now the Coolify dashboard itself is not loading or shows an unhealthy status, even though your deployed apps are still running fine.
This is a known issue where the coolify-redis data can get into a bad state after a hard reboot. The fix:
After reboot, run docker ps to confirm all Coolify containers are healthy. In some cases, just restarting Docker is enough:
Problem 8. No Available Server (503 Error) on Deployed App
Your deployment says it succeeded, but when you visit the domain, you get a 503 No Available Server or Bad Gateway error. This almost always means Traefik cannot reach your container. Use this checklist:
1. Check if the container is running:
2. Check port config: in Coolify, make sure the container port matches the port your app actually listens on.
3. Check domain config: make sure the domain in Coolify includes https:// and does not have a trailing slash.
4. Check Traefik labels: view proxy logs:
5. Restart the proxy: go to Coolify Dashboard → Your Server → Restart Proxy.
Quick Checklist for Coolify Troubleshooting Guide
You can use this when a deployment breaks and you are not sure where to start. Go through it in order:
df -h: Is disk space above 85%?docker ps: Are all Coolify containers healthy?docker logs coolify --tail 50: any errors in the Coolify container itself?- Enable
BUILDKIT_PROGRESS=plainto see the full build output. - Check the deployment logs in the Coolify UI.
docker logs your-app-container --tail 100: What does the app say?dig yourdomain.com @8.8.8.8 +short: Does DNS resolve to the right IP?docker logs coolify-proxy --tail 100: Any SSL or routing errors?- Check GitHub webhook delivery history for failed payloads.
- Check cloud provider firewall: are ports 80, 443, and 22 open?
Installing Coolify the Right Way: Prevent Problems Before They Start
Most of the problems in this guide can be avoided by starting with a clean server and following the correct installation steps. If you have not installed Coolify yet or want to start fresh, this tutorial provides the full process on Ubuntu: How to Install Coolify on Ubuntu VPS. It covers pre-install checks, firewall setup, DNS configuration, and first-run settings, all the things that prevent issues before they happen.
If your current VPS is already messy, including old Docker versions, conflicting packages, and low memory, the smartest move is to use a fresh Linux VPS and start clean. Coolify installs in under 5 minutes on a fresh Ubuntu 22.04 LTS server.
Conclusion
Most Coolify problems fall into a small set of categories:
- Docker is not installing correctly.
- DNS records are pointing to the wrong place.
- SSL permissions are off.
- Webhook secrets not matching.
- Builds timing out because of disk or memory issues.
This Coolify troubleshooting guide helps you spend less time guessing and more time fixing. Start with the quick checklist above, follow the symptom that matches your situation, and run the commands to verify each layer.
The most common reason is running a non-LTS Ubuntu version. The script only works automatically on Ubuntu 20.04, 22.04, and 24.04 LTS. Install Docker manually first if you are on a different version.
Enable BUILDKIT_PROGRESS=plain to see full logs, then check disk space with df -h. A full disk is the most common hidden cause of stuck builds.
It is a known issue caused by Redis data getting into a bad state. Stop Docker, clear the Redis data folder (/var/lib/docker/volumes/coolify-redis/_data/*), and reboot.