Coolify lets you self-host almost any app on your own server through a single web dashboard — no proprietary cloud lock-in and no per-app fees. Point it at a fresh VPS, run one install command, connect your Git repo, and Coolify handles the containers, free SSL certificates, and automated backups for you.
Short answer
To self-host an app with Coolify, provision a Linux VPS with at least 2 CPU cores, 2 GB RAM, and open ports 22, 80, 443, and 8000. Run the official install script, create an admin account on port 8000, add your server, then deploy a Git repository or a one-click service. Coolify auto-provisions Let's Encrypt SSL and can schedule backups to S3-compatible storage.
I run open-source implementations at Mith Tech in Bengaluru, and Coolify is the tool I reach for whenever a client wants their own apps — internal dashboards, n8n, databases, even a Frappe stack — running on infrastructure they control instead of a locked platform. Honestly, the first deploy feels almost too easy, and the real work is the boring hygiene afterwards: firewall rules, backups, and knowing who holds the root SSH key.
What is Coolify and why self-host with it?
Coolify is an open-source, self-hostable Platform-as-a-Service that deploys static sites, databases, full-stack applications, and hundreds of prebuilt services onto servers you own. Created by Andras Bacsai and licensed under Apache 2.0, the project reached its formal v4.0 release in May 2026 after years of production use in beta. The appeal is control: your data, your server, your rules.
Self-hosting matters when compliance, cost predictability, or data residency rule out a managed platform. Coolify gives you the developer experience of a hosted PaaS — push to Git, get a live URL — while everything runs on a VPS or bare-metal box you administer. Licensing is simple: the software is free and open source, and you pay only your infrastructure provider (pricing varies by provider — check their official page).
| Concern | Managed PaaS | Self-hosting with Coolify |
|---|---|---|
| Licence model | Proprietary, usage-based | Free, open source (Apache 2.0) |
| Where data lives | Vendor's cloud | Your server / region |
| Vendor lock-in | High | Low — standard Docker under the hood |
| Ops responsibility | Vendor handles it | You handle updates and backups |
For a wider look at how this compares to hosted platforms, see our guide to the open-source Heroku alternative landscape.
Skimmable summary: Coolify is a free, Apache 2.0 PaaS that gives you a push-to-deploy workflow on servers you fully own.
What server do you need before you start?
A fresh Linux VPS is the ideal starting point. Coolify's official minimum is 2 CPU cores, 2 GB RAM, and 30 GB of free disk, running a supported OS such as Ubuntu, Debian, or a RHEL-family distribution like AlmaLinux or Rocky. Use a clean machine — installing on a server that already runs other apps invites port and Docker conflicts.
Coolify itself consumes roughly 1 GB of RAM before you deploy anything, so the bare minimum is fine for learning but tight for real workloads. If you plan to run several apps plus databases, give yourself more headroom on RAM and NVMe disk. For choosing an affordable box, our breakdown of the cheapest VPS options for self-hosting walks through what to look for.
Open the right ports first
Coolify needs four ports reachable from the internet: 22 (SSH), 80 and 443 (your deployed apps and SSL), and 8000 (the setup dashboard). If your provider has a cloud firewall, allow these before running the installer, or the dashboard will look unreachable.
Skimmable summary: Start with a clean Linux VPS — 2 CPU / 2 GB RAM minimum, more for production — and open ports 22, 80, 443, and 8000.
How do you install Coolify on a VPS?
Installation is a single command run as root over SSH, and it takes about fifteen minutes. The script installs Docker and supporting tools (curl, wget, git, jq, openssl), then brings up the Coolify stack. Follow these steps on a freshly provisioned server.
SSH into your server as root
Connect with ssh root@your-server-ip. A brand-new VPS with nothing else on it is the safest foundation.
Run the official install script
Execute the installer:
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | sudo bash
It installs dependencies, configures Docker, and starts Coolify. Always review a script before piping it to a shell if you are security-conscious.
Open the setup dashboard
When the script finishes, it prints a URL like http://your-server-ip:8000. Open it in a browser — you will land on a registration page.
Create your admin account
The first account you register becomes the root admin. Use a strong, unique password and store it in your password manager immediately.
Secure the dashboard early
Port 8000 is your control plane. Once you attach a domain and SSL, restrict access to it and never leave the admin credentials on defaults. Treat the Coolify dashboard like the keys to every app it manages.
Skimmable summary: One curl command installs Docker and Coolify; the first account you create at port 8000 becomes the admin.
How do you connect a server and deploy an app?
After installation, the machine you installed on is registered automatically as your first server, and you can attach more servers over SSH later. Deploying an app is a matter of pointing Coolify at a source — a Git repository or a one-click template.
Add a project and environment
Create a project in the dashboard. Projects group related resources and separate environments like production and staging.
Create a new resource
Click New Resource. Choose a public or private Git repository, a Docker image, or one of the 280+ one-click services (databases, n8n, WordPress, and more).
Let Coolify detect the stack
Paste your repository URL. Coolify auto-detects common frameworks — Node.js, Python, PHP, Go, Ruby, and static sites — and configures the build without a manual Dockerfile in most cases.
Connect Git for auto-deploys
Link GitHub, GitLab, Bitbucket, or Gitea so every push to your chosen branch triggers a fresh deployment. This is the push-to-deploy loop that makes a PaaS feel effortless.
Deploy and watch the logs
Hit Deploy. Coolify builds the image, starts the container, and streams live build logs so you can catch failures immediately.
To connect additional machines — say a separate database box — add them under Servers by supplying an SSH key. One Coolify install can then orchestrate several servers, including Docker Swarm clusters, from the same dashboard.
Skimmable summary: Create a project, add a resource from Git or a one-click template, connect your Git provider for auto-deploys, and Coolify builds and runs the container.
How do you add SSL and a custom domain?
SSL is automatic once you attach a domain. In your app's settings, set the FQDN (for example https://app.yourdomain.com), then create a DNS A record pointing that name at your server's public IP. Coolify requests a Let's Encrypt certificate, installs it, and renews it before expiry — no manual certbot commands.
The one prerequisite is that ports 80 and 443 are open and DNS has propagated, because Let's Encrypt validates the domain over HTTP before issuing the certificate. Once the record resolves, the padlock appears within a minute or two on most setups.
Wildcard and multiple domains
You can attach several domains to a single app and Coolify manages a certificate for each. Point every hostname's DNS at the same server IP and set them in the app's domain field, separated per Coolify's UI conventions.
Skimmable summary: Set the domain in app settings, add a DNS A record to your server IP, and Coolify auto-issues and renews a free Let's Encrypt certificate.
How do you set up backups?
Backups are built into Coolify and target S3-compatible object storage. For any database resource, open its Backup tab, enable a schedule (Coolify uses cron-style timing), and point it at an S3 bucket by supplying the endpoint, bucket name, and access keys. Snapshots run on schedule, and you can restore from one when needed.
Any S3-compatible provider works — AWS S3, MinIO you host yourself, Cloudflare R2, and others. Database snapshots are small, so a modest bucket covers most projects (storage pricing varies by provider — check their official page). Test a restore before you rely on the backups; an untested backup is only a hope, not a safety net.
Beyond database snapshots, keep server-level protection too: provider volume snapshots and an offsite copy of your Coolify configuration. If you self-host something business-critical like an ERP, backups stop being optional. We cover that discipline in our work on ERPNext deployments, where a recoverable database is the whole point.
Skimmable summary: Enable scheduled backups per database, push snapshots to any S3-compatible bucket, and always test a restore before you depend on it.
Frequently asked questions
Is Coolify really free to self-host?
Yes. Coolify is 100% open source under the Apache 2.0 licence, with no restrictions on forking, reselling, or building commercial products on top of it. There is no per-app or per-user fee for the software itself — you pay only your server or hosting provider, whose pricing varies by edition and should be checked on their official page.
Can Coolify deploy any type of application?
Almost. Coolify deploys static sites, full-stack apps in Node.js, Python, PHP, Go, and Ruby, plus databases like PostgreSQL, MySQL, MariaDB, MongoDB, and Redis. It also ships 280+ one-click services. Anything you can package as a Docker image or standard Git repo will generally run.
What are the minimum server requirements for Coolify?
Coolify's official minimum is 2 CPU cores, 2 GB RAM, and 30 GB of free disk on a supported Linux distribution such as Ubuntu, Debian, or a RHEL-family OS. Because Coolify uses roughly 1 GB of RAM itself, add more headroom before running real production workloads with several apps and databases.
Does Coolify handle SSL certificates automatically?
Yes. When you attach a custom domain and point its DNS at your server, Coolify requests a free Let's Encrypt certificate, installs it, and renews it automatically. You need ports 80 and 443 open and DNS resolving so Let's Encrypt can validate the domain.
Can I manage more than one server from a single Coolify install?
Yes. After the initial install, you can connect additional servers over SSH from the same dashboard, including multi-server and Docker Swarm setups. One control plane can orchestrate several machines, which is useful for separating app servers from database servers.
Is Coolify a good fit for hosting ERPNext or Frappe apps?
It can host containerised workloads well, and many teams run Frappe-based stacks on their own infrastructure this way. That said, a production ERP has specific worker, scheduler, and backup needs. If you want it done reliably, our Frappe and ERPNext team can advise on the right topology.
About the author
I'm Manoj, an ERPNext implementation consultant at Mith Tech, an independent open-source implementation studio in Bengaluru. I help Indian SMBs deploy and run open-source software — ERPNext, automation tools, and self-hosted infrastructure — on systems they actually own. I write these guides from real implementation work, not vendor brochures.
Want your apps self-hosted properly, without the guesswork?
If you would rather have someone set up Coolify, harden the server, and wire up dependable backups for you, get in touch — or explore how we approach Coolify deployments as part of a self-hosted stack.