Self-Host Coolify: Your Own Heroku Alternative in 15 Minutes
Tired of paying Heroku's prices? Want a self-hosted PaaS that deploys your apps with a git push? Coolify is an open-source, self-hostable Platform-as-a-Service that automates deployments, manages SSL certificates, and handles databases — all from a clean web UI. In this guide, you'll have Coolify running on your VPS and deploying your first app in under 15 minutes.
What Problem Does Coolify Solve?
Deploying applications shouldn't require a DevOps degree. Yet every time you want to host a side project, you're stuck configuring Nginx, managing SSL certs, setting up CI/CD, and praying nothing breaks on a Friday night.
Coolify changes the game. It gives you:
- One-click deployments from GitHub/GitLab repositories
- Automatic SSL via Let's Encrypt
- Built-in databases (PostgreSQL, MySQL, Redis, MongoDB)
- Environment variable management without touching .env files
- Preview deployments for every pull request
- No vendor lock-in — it runs on your infrastructure
If you liked Heroku's developer experience but hated the bill, Coolify is what you've been waiting for.
Prerequisites
- A VPS with 2 CPU cores, 4GB RAM, 20GB SSD (minimum; 4GB RAM recommended)
- Docker & Docker Compose installed
- A domain name pointed at your server (for SSL)
- Ports 80 and 443 open
Don't have Docker yet? One-liner:
curl -fsSL https://get.docker.com | sh
Step 1: Install Coolify
Coolify provides a one-line installer that handles everything:
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash
This script will:
- Pull the latest Coolify Docker images
- Set up the required Docker networks
- Configure the Coolify daemon
- Start the web UI on port 8000
Wait about 2-3 minutes for the installation to complete. You'll see progress output in your terminal.
Step 2: Initial Setup
Open your browser and navigate to http://your-server-ip:8000.
On first launch, Coolify will ask you to:
- Create an admin account — set your email and password
- Configure your instance — give it a name and set the public URL
- Connect your Git provider — GitHub, GitLab, or generic Git
For GitHub integration, generate a Personal Access Token with repo scope and paste it into Coolify.
Step 3: Add Your Server
Coolify needs to know which server(s) to deploy to. By default, it uses the local server where it's installed.
- Go to Servers in the sidebar
- Click Localhost (or add a new server)
- Verify the connection status shows ● Healthy
If you see connection issues, ensure Docker is running and the Coolify daemon has proper permissions.
Step 4: Deploy Your First Application
Let's deploy a simple Node.js app. If you don't have one, fork this example repo.
- Go to Projects → Create New Project
- Give it a name (e.g., "my-first-app")
- Click Add New Resource → Application
- Select your Git source and repository
- Coolify will auto-detect the build pack (Node.js, Python, PHP, etc.)
Configure the following:
- Build Pack: Auto-detected (or select manually)
- Port: The port your app listens on (e.g., 3000)
- Domain:
app.yourdomain.com(Coolify handles SSL automatically)
Click Deploy and watch the magic happen.
Step 5: Add a Database
Need PostgreSQL? One click away:
- In your project, click Add New Resource → Database
- Select PostgreSQL
- Set a name and credentials (or let Coolify generate them)
- Click Start
Coolify will:
- Spin up a PostgreSQL container
- Create persistent volumes for data
- Expose connection details in the UI
- Auto-backup to your configured S3 (optional)
Connection string format:
postgresql://user:password@localhost:5432/dbname
Step 6: Environment Variables & Secrets
Never commit .env files again. In your application settings:
- Go to the Environment Variables tab
- Add keys and values (e.g.,
DATABASE_URL,JWT_SECRET) - Mark sensitive values as Secret — they'll be encrypted
- Redeploy to apply changes
Verification Steps
Confirm everything is working:
- App responds:
curl https://app.yourdomain.comshould return your app's response - SSL is active: Check the padlock in your browser — Let's Encrypt handles this automatically
- Database connects: Run
docker ps— you should see PostgreSQL running - Logs accessible: In Coolify UI, click Logs to view real-time application output
- Auto-deploy works: Push a commit to your repo — Coolify should rebuild automatically
Next Steps
Now that Coolify is running, explore these power features:
- Preview deployments: Every PR gets its own URL for testing
- Scheduled tasks: Run cron jobs directly from the UI
- Multi-server: Deploy to multiple servers from one dashboard
- Service templates: One-click deploy Plausible, NocoDB, WordPress, and 100+ apps
- Teams: Invite collaborators with role-based access
Related guides:
- Self-Host Portainer: Manage All Your Docker Containers
- Self-Host Traefik: The Ultimate Reverse Proxy
- Self-Host n8n: Build Powerful AI Workflows
Conclusion
Coolify bridges the gap between "I just want to deploy my app" and "I need enterprise-grade infrastructure." It gives you the Heroku experience — git push, automatic builds, managed databases — without the per-dyno pricing or platform constraints.
Your VPS is now a fully capable application platform. Deploy something.
Questions? Drop a comment below or reach out on Twitter.