Skip to main content

Self-Host Coolify on Liquid Web

TL;DR

  • Coolify: self-hosted PaaS for deploying apps from Git. Apache-2.0, ~61.6k GitHub stars, v4.3.18 (2026-09-08)
  • Installs with one curl command; manages Docker containers, databases, and SSL certificates
  • Idle: ~800 MB RAM for Coolify itself; deployed apps add to this, so plan your VPS size by your app portfolio
  • Heroku Eco dynos: $5/mo per dyno; Coolify: host unlimited apps on a Liquid Web Self-Managed VPS from $17/mo (4 GB tier; $8.50/mo for the first two months)

Coolify (github.com/coollabsio/coolify) is a self-hosted PaaS that wraps Docker Compose and Docker Swarm behind a web UI. Connect your GitHub/GitLab/Bitbucket repo, define your build command, and Coolify handles: Docker image builds, SSL certificates via Let's Encrypt, reverse proxy setup (Caddy or Traefik), database provisioning, environment variable management, deployment webhooks, and team access control.

What Coolify is not: it's not a Kubernetes replacement. It runs Docker containers on one or more servers: straightforward, operationally low-effort, no kubectl required. For multi-region HA with auto-failover, you need Kubernetes or a managed cloud (ECS, Cloud Run, Fly.io). Coolify is ideal for small teams running 5–20 apps who want Heroku's developer experience without Heroku's per-dyno pricing. If you want a lighter footprint than Coolify's ~800 MB idle stack, see Dokploy, which runs at roughly 600 MB idle and covers the same core job — worth comparing before you commit a VPS to either one.

Version note: as of 2026-09-08, Coolify's latest release is v4.3.18 and the project has dropped the beta tag it carried through most of the v4 series. Earlier v4 releases shipped as v4.0.0-beta.X for roughly two years while remaining production-used by thousands of teams; that labeling question is now moot. Review the GitHub issues for any open known issues before deploying mission-critical workloads.

Prerequisites​

  • A Liquid Web Self-Managed VPS. Coolify's documented minimum is 2 CPU cores / 2 GB RAM / 30 GB storage, but there is no 2 GB tier on the Self-Managed line: the choice is the 1 GB entry tier ($5/mo), which is below Coolify's floor, or the 2 vCPU / 4 GB tier at $17/mo ($8.50/mo for the first two months). Take the 4 GB tier at minimum; the 4 vCPU / 8 GB tier ($45/mo, $22.50/mo for the first two months) is the comfortable pick once you are running several apps. Verify current pricing
  • Ubuntu 22.04 or Debian 12 (Coolify's install script is tested on these)
  • Root SSH access to the VPS
  • A domain with a wildcard A record pointing to the VPS IP (for app subdomains)
  • About 10 minutes

Install Coolify​

Coolify uses a one-command install script:

# Run on the VPS as root
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash

The script:

  1. Installs Docker Engine if not present
  2. Pulls the Coolify Docker images
  3. Starts the Coolify stack (coolify, proxy (Traefik), realtime, db (PostgreSQL), redis)
  4. Exposes the Coolify UI on port 8000

After install completes (~3 minutes):

# Coolify is accessible at http://your-vps-ip:8000
# Complete the setup wizard to:
# - Create your admin account
# - Register the local server (Coolify connects to Docker via socket)
# - Configure a wildcard domain (e.g., *.apps.yourdomain.com)

Point DNS at Coolify​

For app deployments to get automatic SSL, set up a wildcard A record:

# DNS records
*.apps.yourdomain.com. A <your-vps-ip>
coolify.yourdomain.com. A <your-vps-ip>

Then in Coolify: Settings → Configuration → FQDN → set to https://coolify.yourdomain.com. Coolify's built-in Traefik proxy handles SSL via Let's Encrypt for every deployed app automatically.

Deploy your first app​

# In the Coolify UI:
# 1. Projects → + New Project
# 2. + New Resource → Application
# 3. Select your Git provider (GitHub, GitLab, Bitbucket, or public Git URL)
# 4. Select repository + branch
# 5. Configure build pack (Nixpacks detects language automatically; or Docker/Docker Compose)
# 6. Set environment variables
# 7. Deploy

# Coolify auto-detects:
# - Node.js (npm/yarn/pnpm)
# - Python (pip/poetry)
# - PHP (composer)
# - Ruby (bundler)
# - Go
# - Java (Maven/Gradle)
# - Static sites (HTML/CSS/JS)

Deploy a database alongside an app​

# In the project, + New Resource → Database
# Choose: PostgreSQL / MySQL / MariaDB / MongoDB / Redis / KeyDB / Dragonfly
# Coolify provisions the container, sets a random password, and gives you:
# - The internal connection URL (for your app's environment variables)
# - A public connection URL (for external access, if enabled)
# - Automated daily backups (optional, to S3-compatible storage)

Runtime footprint​

Measured 2026-05-02 on local Docker (4 vCPU / 8 GB RAM).

Coolify stack itself (before deploying any apps):

ServiceIdle RAM
coolify (main UI + API)450 MB
proxy (Traefik)60 MB
realtime (Soketi)80 MB
db (PostgreSQL)160 MB
redis20 MB
Total (Coolify stack)770 MB

Add your app portfolio to this. A typical small Next.js app adds 200–400 MB; a Node.js API adds 100–300 MB; a static site is near zero. Size your VPS by: Coolify overhead (~800 MB) + sum of your app RAM needs.

For a VPS running Coolify + 3 Node.js microservices + 2 databases: plan for 4–6 GB total. An 8 GB Managed VPS is comfortable; a 4 GB Self-Managed VPS is the minimum for light workloads.

Upgrading Coolify​

# Coolify has a built-in update mechanism:
# Settings → Updates → Update to latest version
# (or Update to specific version)

# Or via CLI:
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash
# Re-running the install script updates to the latest version in-place

Coolify maintains backward compatibility across minor beta versions. Always check the release changelog for breaking changes before updating.

See the self-hosted DevOps & PaaS hub for how Coolify fits alongside the rest of the category.

Cost vs Heroku / Render​

Heroku Eco (3 dynos)Render Starter (3 services)Coolify on Liquid Web Self-Managed
Monthly cost$15/mo$21/mo$17–$45/mo VPS (4 GB–8 GB tiers; $8.50–$22.50/mo for the first two months)
Apps33Unlimited
Custom domains + SSL✓✓✓ (automatic)
Managed databases✓ (add-on $)✓ (add-on $)✓ (included, self-managed)
Auto-deploy on push✓✓✓ (via webhooks)
Preview environmentsHeroku Review Apps✓✓
Self-hostable✗✗✓

Prices subject to change. Verify at heroku.com/pricing, render.com/pricing, and liquidweb.com/vps-hosting/self-managed/, checked 2026-09-09.

When this isn't right for you​

If you're still deciding whether to self-host anything at all versus staying on a managed platform, our self-hosting decision guide walks through the trade-off before you commit to a specific tool.

  • You need multi-region HA or auto-failover. Coolify runs apps on one server (or a manually configured multi-server cluster). If your requirement is automatic failover when a region goes down, you need Kubernetes with a multi-region setup or a managed cloud platform.
  • You need built-in CI/CD pipelines with test runners. Coolify triggers deployments from Git and runs build commands, but it's not a full CI system. For test automation, branch protection gates, and complex pipeline logic, pair Coolify with a CI service (GitHub Actions, GitLab CI) that triggers Coolify deployments via the API.
  • Your team needs enterprise audit logs or SSO. Coolify's access control is role-based but doesn't support SAML/OIDC SSO or detailed audit trails in the current version. For compliance-heavy environments, evaluate whether this is a hard blocker.
  • You're not comfortable managing a VPS. Coolify handles app deployments, but the underlying VPS (OS updates, disk management, firewall) is still your responsibility on a Self-Managed VPS. If you want fully managed infrastructure including OS patching, use the Liquid Web Managed VPS or a platform like Render.

Exit strategy​

Apps deployed on Coolify are standard Docker containers. To migrate:

# Export your app's docker-compose.yml from Coolify:
# Project → Application → Configuration → Show Compose File → Export

# Databases are standard Docker volumes — dump and restore:
# Coolify → Database → Backup → Manual backup → Download

# Your code is in your Git repository — no vendor lock-in on app code

Since Coolify is just Docker under the hood, any app you deploy is portable to any other Docker host.

Frequently Asked Questions

Yes. Coolify supports GitHub Apps (recommended), GitHub/GitLab personal access tokens, and deploy keys for private repository access. The GitHub App integration is the most reliable: it grants Coolify access to specific repositories without needing a personal token. Configure it in Coolify: Sources → GitHub → + Add a GitHub App.

Yes, this is a first-class feature. Point Coolify at a repository with a `docker-compose.yml` and it deploys the entire stack. Coolify merges in its Traefik labels for SSL and routing automatically. You can also deploy raw Docker Compose files without a Git repository by pasting the compose file directly into the Coolify UI.

Coolify uses a built-in Traefik reverse proxy with Let's Encrypt integration. When you assign a domain to an app, Coolify automatically requests and renews an SSL certificate via Let's Encrypt's ACME protocol. Wildcard certificates (for `*.apps.yourdomain.com`) are supported via DNS challenge: configure your DNS provider API credentials in Coolify → Settings → SSL.

Yes. Coolify can manage remote servers via SSH. Add your second server in Coolify → Servers → + Add Server and provide the SSH credentials. You can then deploy apps to any registered server from the single Coolify UI. The servers run independently. Coolify doesn't implement cross-server load balancing; you manage that at the DNS or load-balancer level.

Common mistakes and fixes

Coolify installation script fails with 'curl: (6) Could not resolve host'.

The VPS has no internet access or DNS is misconfigured. Check: `curl -I https://cdn.coollabs.io` from the VPS. If that fails, verify `/etc/resolv.conf` has working nameservers (`nameserver 8.8.8.8`). On some Liquid Web configurations, the VPS firewall blocks outbound HTTP: open port 443 outbound or contact Liquid Web support.

Coolify shows 'Cannot connect to Docker socket'.

Coolify needs access to the Docker daemon socket at `/var/run/docker.sock`. This is configured automatically by the install script. If you're seeing this after the installation, run `systemctl restart coolify` and check that the coolify user is in the `docker` group: `groups coolify`. If the socket is at a non-standard location, set `DOCKER_HOST` in `/data/coolify/.env` to the correct socket path.

App deployments fail with 'No space left on device'.

Coolify caches Docker images and build layers on the VPS root partition. Check disk usage with `df -h`. If the root partition is full, prune old images: `docker system prune -a --volumes` (removes stopped containers, dangling images, and unused volumes; check what will be deleted first with `docker system df`). For recurring deployments, set `DOCKER_PRUNE_CRON` in Coolify settings to automatically prune on a schedule.