Skip to Content

Self-Host Coolify: Your Own Heroku Alternative in 15 Minutes

Deploy apps with git push on your own infrastructure using Coolify — the open-source PaaS alternative to Heroku and Render.

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:

  1. Create an admin account — set your email and password
  2. Configure your instance — give it a name and set the public URL
  3. 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.

  1. Go to Servers in the sidebar
  2. Click Localhost (or add a new server)
  3. 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.

  1. Go to ProjectsCreate New Project
  2. Give it a name (e.g., "my-first-app")
  3. Click Add New ResourceApplication
  4. Select your Git source and repository
  5. 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:

  1. In your project, click Add New ResourceDatabase
  2. Select PostgreSQL
  3. Set a name and credentials (or let Coolify generate them)
  4. 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:

  1. Go to the Environment Variables tab
  2. Add keys and values (e.g., DATABASE_URL, JWT_SECRET)
  3. Mark sensitive values as Secret — they'll be encrypted
  4. Redeploy to apply changes

Verification Steps

Confirm everything is working:

  1. App responds: curl https://app.yourdomain.com should return your app's response
  2. SSL is active: Check the padlock in your browser — Let's Encrypt handles this automatically
  3. Database connects: Run docker ps — you should see PostgreSQL running
  4. Logs accessible: In Coolify UI, click Logs to view real-time application output
  5. 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:

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.

Self-Host Coolify: Deploy Any App in 15 Minutes