-
Notifications
You must be signed in to change notification settings - Fork 0
Coolify Setup
This guide walks through setting up a Coolify Base Server and a Coolify Deploy Server (acting as your self-hosted VPS equivalent) on Proxmox using Debian 13 VMs. Everything is designed to stay fully self-hosted.
-
Use the community script to create the VM:
https://community-scripts.org/scripts/debian-13-vm -
Copy the run command and execute it on your Proxmox host.
-
Cloud-Init Note: If you enabled Cloud-Init, follow these instructions once the VM is running:
ProxmoxVE Cloud-Init Discussion -
Use Advanced Settings with the following values:
- Virtual Machine ID: Choose your preferred ID
-
Machine Type:
i440fx -
Disk Size:
100G -
Disk Cache:
None -
Hostname:
coolify-base -
CPU Model:
KVM64 -
CPU Cores:
4 -
RAM Size:
8192(8 GB) -
Bridge:
vmbr0(should auto-detect your active interface) - MAC Address: Use the automatically assigned address
- VLAN: Default
- Interface MTU Size: Default
- Cloud-Init: Enabled (see link above)
- Start VM when completed: Yes
Repeat the same process as Step 1 for the deployment server.
-
Use the same community script:
https://community-scripts.org/scripts/debian-13-vm -
Use Advanced Settings with these values:
- Virtual Machine ID: Choose your preferred ID
-
Machine Type:
i440fx -
Disk Size:
100G -
Disk Cache:
None -
Hostname:
coolify-deploy(or your preferred project name) -
CPU Model:
KVM64 -
CPU Cores:
4 -
RAM Size:
8192(8 GB) -
Bridge:
vmbr0 - MAC Address: Auto-assigned
- VLAN: Default
- Interface MTU Size: Default
- Cloud-Init: Enabled
- Start VM when completed: Yes
Note: This server functions as your self-hosted equivalent of a VPS used in most YouTube tutorials.
-
SSH into the
coolify-baseVM. -
Run the official installation script:
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | sudo bash -
Follow along with this excellent walkthrough video for completing the setup: Christian's Coolify Setup Video
If you're routing Coolify through Nginx Proxy Manager, add the following under the Advanced tab in your proxy host:
proxy_read_timeout 60;
proxy_connect_timeout 60;
proxy_redirect off;
location /app {
proxy_pass http://<coolifybaseIP>:6001;
}
location /terminal/ws {
proxy_pass http://<coolifybaseIP>:6002;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
Replace with the internal IP address of your Coolify Base VM.
-
Create a free Cloudflare account if you don't have one.
-
Follow the official guide (focus on manual steps):
-
Use the manual method for setup.
-
If following Christian's video, Steps 1, 2, 4, and 5 should already be complete (Base ↔ Deploy connection).
-
Complete Step 3 in the docs. When selecting the environment, choose Docker. Copy the generated docker run command.
-
Modify the Cloudflare tunnel command to look like this:
docker run -d \
--name cloudflare-tunnel \
--restart unless-stopped \
cloudflare/cloudflared:latest \
tunnel --no-autoupdate run --token 123aBc...your-long-token...
-
SSH into your Coolify Deploy server and run the modified command.
-
Return to Coolify UI → Servers → coolify-deploy → Cloudflare Tunnel.
-
Paste your long tunnel token and the SSH domain (e.g., ssh.yourdomain.com), then connect.