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)
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
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:
cat /etc/os-release uname -m -
Installation logs: (last 100 lines)
tail -100 /data/coolify/source/installation-*.log tail -100 /data/coolify/source/upgrade-*.log -
Docker status:
docker ps -a --filter "name=coolify" docker images | grep coolify -
Any 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!
Related Documentation
Troubleshooting Overview
Comprehensive Coolify troubleshooting guides covering deployment errors, server issues, proxy problems, SSL certificates, and application configuration fixes.
Docker Installation Failed
Fix Docker installation failures during Coolify setup by using Ubuntu LTS versions or manually installing Docker 24+ on non-LTS operating systems.
