Coolify Installation Script Failed ​
If the Coolify installation script completes but you cannot access Coolify, or if containers are missing, this guide will help you debug and fix the issue.
Common Symptoms ​
- Installation script finishes but no access URL is displayed
- Script shows success but Coolify web interface is not accessible on port 8000
- Docker containers are missing or not running
- Installation appears to complete but something doesn't work
Important
Before following this guide, make sure you read the Installation Prerequisites to ensure your system meets all requirements.
Enable Verbose Mode for Debugging ​
If you're experiencing installation issues, you can run the installation script in verbose mode to see exactly what commands are being executed:
curl -fsSL https://cdn.coollabs.io/coolify/install.sh -o install.sh
bash -x install.sh 2>&1 | tee installation-debug.logThis will:
- Show every command as it executes (
bash -x) - Display both stdout and stderr (
2>&1) - Save all output to
installation-debug.logfor later review (tee)
TIP
Verbose mode is extremely helpful for identifying exactly where the installation fails. Include the verbose log when asking for help in Discord.
Step 1: Check Installation Logs ​
The installation script creates log files that contain valuable information about what happened during installation.
Finding Your Logs ​
The installation process creates two log files in /data/coolify/source/:
- Installation log:
installation-YYYYMMDD-HHMMSS.log - Upgrade log:
upgrade-YYYY-MM-DD-HH-MM-SS.log
TIP
The installation script calls the upgrade script internally, so both logs are created during initial installation.
View Your Logs ​
Find your most recent log files:
# List all log files sorted by date (most recent first)
ls -lt /data/coolify/source/*.log | head -5View the installation log:
# Replace the date/time with your actual log file
tail -100 /data/coolify/source/installation-YYYYMMDD-HHMMSS.log
# Or view the entire log
cat /data/coolify/source/installation-YYYYMMDD-HHMMSS.logView the upgrade log:
# Replace the date/time with your actual log file
tail -100 /data/coolify/source/upgrade-YYYY-MM-DD-HH-MM-SS.log
# Or view the entire log
cat /data/coolify/source/upgrade-YYYY-MM-DD-HH-MM-SS.logWhat to Look For ​
Look for error messages containing:
ERROR:Failed tocould notConnection refusedPermission deniedNo such file or directory
Step 2: Verify Docker Installation ​
Check if Docker is properly installed and running:
# Check Docker version
docker --version
# Check Docker Compose plugin
docker compose version
# Check if Docker daemon is running
sudo systemctl status dockerExpected output for docker --version:
Docker version 27.0.x, build xxxxxIf Docker is not installed or not running:
# Start Docker service
sudo systemctl start docker
# Enable Docker to start on boot
sudo systemctl enable dockerDocker via Snap Not Supported
If you installed Docker via snap, you must remove it and reinstall Docker properly. The installation script will detect and block snap-based Docker installations.
# Remove Docker snap
sudo snap remove docker
# Then re-run the Coolify installation script
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | sudo bashStep 3: Check Port Availability ​
Coolify requires specific ports to be available. The most critical port for initial installation is port 8000.
Check Port 8000 (Coolify Web Interface) ​
Critical Port
Port 8000 must be available for Coolify's web interface. If something else is using this port, installation will fail silently.
On Linux with ss (recommended):
sudo ss -tulpn | grep :8000On Linux with lsof:
sudo lsof -i :8000On Linux with netstat:
sudo netstat -tulpn | grep :8000If these commands return no output, the port is free ✓
If they show output, something is using port 8000. Example:
tcp LISTEN 0 4096 *:8000 *:* users:(("some-app",pid=1234,fd=3))Check Other Coolify Ports ​
# Port 6001 (Soketi/Real-time)
sudo ss -tulpn | grep :6001
# Port 5432 (PostgreSQL - usually internal only)
sudo ss -tulpn | grep :5432
# Port 6379 (Redis - usually internal only)
sudo ss -tulpn | grep :6379Fix Port Conflicts ​
If port 8000 is in use, you have two options:
Option 1: Stop the conflicting service
# Find the process ID (PID) from the ss/lsof output
sudo kill <PID>
# Or stop the service if you know what it is
sudo systemctl stop <service-name>Option 2: Change Coolify's port (Advanced)
Modify /data/coolify/source/.env and change the APP_PORT variable, then re-run the installation script.
Step 4: Validate Docker Containers ​
Check if all Coolify containers are running:
# List all containers (running and stopped)
docker ps -a
# Filter for Coolify containers only
docker ps -a --filter "name=coolify"Expected Containers ​
You should see these containers:
| Container Name | Status | Purpose |
|---|---|---|
coolify | Up | Main Coolify application |
coolify-realtime | Up | Real-time updates (Soketi) |
coolify-db | Up | PostgreSQL database |
coolify-redis | Up | Redis cache |
Note
The coolify-proxy container is NOT created during installation. It's created later when you deploy your first application or enable a proxy.
Check Container Status ​
If containers are stopped or exited, check their logs:
# View logs for specific container
docker logs coolify
docker logs coolify-realtime
docker logs coolify-db
docker logs coolify-redis
# Follow logs in real-time
docker logs -f coolifyRestart Stopped Containers ​
If containers are stopped, try starting them:
# Start all Coolify containers
cd /data/coolify/source
docker compose --env-file .env -f docker-compose.yml -f docker-compose.prod.yml up -dStep 5: Verify Docker Images ​
Check if all required Docker images were pulled successfully:
# List Coolify-related images
docker images | grep coolify
docker images | grep ghcr.io/coollabsioExpected Images ​
You should see at least:
ghcr.io/coollabsio/coolify(or your custom registry)ghcr.io/coollabsio/coolify-helperghcr.io/coollabsio/coolify-realtime
Missing Images ​
If images are missing, there may have been a network issue during installation. Try pulling them manually:
# Pull the latest Coolify images
docker pull ghcr.io/coollabsio/coolify:latest
docker pull ghcr.io/coollabsio/coolify-helper:latest
docker pull ghcr.io/coollabsio/coolify-realtime:latest
# Then restart Coolify
cd /data/coolify/source
docker compose --env-file .env -f docker-compose.yml -f docker-compose.prod.yml up -d --force-recreateRegistry Authentication
If you're using a custom Docker registry that requires authentication, you may need to run docker login first.
Step 6: Check Docker Networks ​
Verify that the Coolify Docker network exists:
# List Docker networks
docker network ls | grep coolifyExpected output:
<network-id> coolify bridge localIf the network doesn't exist, create it:
# Try creating with IPv6 support first
docker network create --attachable --ipv6 coolify
# If that fails, create without IPv6
docker network create --attachable coolifyStep 7: Verify Disk Space ​
Check available disk space:
df -h /Coolify requires:
- Minimum 30GB total disk space
- Minimum 20GB available space
Low Disk Space
If you have less than the required space, the installation may complete but fail during operation. Consider:
- Cleaning up unused Docker resources:
docker system prune -a - Expanding your disk/volume
- Using a larger server
Common Issues & Solutions ​
Issue: Script Completes But No Access URL Shown ​
Symptoms:
- Installation script finishes
- No error messages
- But no URL like
http://your-ip:8000is displayed
Possible causes:
- Container creation failed silently
- Network issues prevented fetching public IP
- Docker images failed to pull
Solution:
# Check if containers are running
docker ps --filter "name=coolify"
# If containers are missing, check upgrade log
cat /data/coolify/source/upgrade-*.log
# Look for errors in the log, then re-run upgrade
cd /data/coolify/source
bash upgrade.sh latest latest ghcr.io falseIssue: Port 8000 Already in Use ​
Symptoms:
- Installation completes
- Containers appear to be running
- But Coolify web interface is not accessible
Solution:
See Step 3: Check Port Availability above.
Issue: Docker Image Pull Failures ​
Symptoms:
- Installation takes very long time
- Errors like "failed to pull image" or "manifest unknown"
- Some Docker images are missing
Possible causes:
- Network connectivity issues
- DNS resolution problems
- Registry rate limiting
- Custom registry authentication issues
Solution:
# Test network connectivity to GitHub Container Registry
curl -I https://ghcr.io
# Check DNS resolution
nslookup ghcr.io
# Try pulling images manually
docker pull ghcr.io/coollabsio/coolify:latest
# If using custom registry, login first
docker login your-registry.comIssue: Insufficient Permissions ​
Symptoms:
- "Permission denied" errors in logs
- Cannot create directories
- Cannot modify files in
/data/coolify/
Solution:
The installation script must be run as root or with sudo:
# Re-run with sudo
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | sudo bashIssue: SSH Configuration Problems ​
Symptoms:
- Installation completes
- Coolify accessible but cannot connect to localhost server
- SSH-related errors in Coolify interface
Possible cause:
- SSH
PermitRootLoginis disabled - SSH keys not properly configured
Solution:
Check SSH configuration:
# Check PermitRootLogin setting
sudo sshd -T | grep permitrootloginShould show:
permitrootlogin yes, orpermitrootlogin prohibit-password, orpermitrootlogin without-password
If it shows permitrootlogin no, see the OpenSSH Configuration Guide.
Manual Verification Checklist ​
Run these commands to get a complete diagnostic report:
echo "=== COOLIFY INSTALLATION DIAGNOSTICS ==="
echo ""
echo "1. Installation Logs:"
ls -lt /data/coolify/source/*.log 2>/dev/null | head -5 || echo "No logs found"
echo ""
echo "2. Docker Version:"
docker --version
docker compose version
echo ""
echo "3. Docker Service Status:"
sudo systemctl status docker --no-pager -l
echo ""
echo "4. Coolify Containers:"
docker ps -a --filter "name=coolify" --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
echo ""
echo "5. Docker Images:"
docker images --format "table {{.Repository}}\t{{.Tag}}\t{{.Size}}" | grep -E "REPOSITORY|coolify"
echo ""
echo "6. Docker Networks:"
docker network ls | grep -E "NETWORK|coolify"
echo ""
echo "7. Port 8000 Status:"
sudo ss -tulpn | grep :8000 || echo "Port 8000 is free"
echo ""
echo "8. Disk Space:"
df -h /
echo ""
echo "9. Environment File:"
ls -lh /data/coolify/source/.env 2>/dev/null || echo ".env file not found"
echo ""Copy the output of this diagnostic script when asking for help.
Recovery Steps ​
Clean Re-installation ​
If you want to completely uninstall and start fresh:
Warning
This will remove all Coolify data including applications, databases, and settings!
Follow the Uninstallation Guide to properly remove Coolify, then re-run the installation script:
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | sudo bashRetry Installation Without Full Reset ​
If you just want to retry without losing data:
# Re-run the installation script
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | sudo bashThe script is designed to be idempotent (safe to run multiple times).
Use Manual Installation ​
If the automated script continues to fail, try the Manual Installation method.
Getting Help ​
If you've followed all the steps above and still have issues, please ask for help in our Discord community.
Information to Provide ​
When asking for help, include:
Your system information:
bashcat /etc/os-release uname -mInstallation logs: (last 100 lines)
bashtail -100 /data/coolify/source/installation-*.log tail -100 /data/coolify/source/upgrade-*.logDocker status:
bashdocker ps -a --filter "name=coolify" docker images | grep coolifyAny error messages you see in logs or on screen
What you've already tried to fix the issue
This information will help the community diagnose your problem much faster!
