Self-Hosting Guide: Deploy Coolify as Your Own PaaS
Self-Hosting Guide: Deploy Coolify as Your Own PaaS
Coolify is your own Vercel, Netlify, and Heroku — an open source PaaS with a beautiful web UI. Deploy any app from Git, provision databases with one click, get automatic SSL, and manage multiple servers. All self-hosted.
Requirements
- VPS with 2 GB RAM minimum (4 GB recommended)
- Ubuntu 22.04+ or Debian 12+
- Root access
- Domain name (e.g.,
coolify.yourdomain.com) - 30+ GB disk
Step 1: One-Line Install
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash
This installs Docker, Docker Compose, and Coolify. Takes ~2 minutes.
Step 2: Access Dashboard
- Open
http://your-server-ip:8000 - Create your admin account
- Add your SSH key (for server management)
Step 3: Configure Domain
In Settings → Configuration:
- Set instance URL to
https://coolify.yourdomain.com
DNS: Add an A record: coolify.yourdomain.com → your server IP
Coolify automatically provisions SSL for all domains.
Step 4: Deploy Your First App
From GitHub:
- Projects → New Project → New Resource → Public Repository (or connect GitHub)
- Enter repository URL
- Coolify auto-detects the framework:
| Framework | Auto-Detection |
|---|---|
| Next.js | ✅ Nixpacks |
| Nuxt | ✅ Nixpacks |
| SvelteKit | ✅ Nixpacks |
| Remix | ✅ Nixpacks |
| Astro | ✅ Nixpacks |
| Django | ✅ Nixpacks |
| Rails | ✅ Nixpacks |
| Go | ✅ Nixpacks |
| Rust | ✅ Nixpacks |
| Static | ✅ Nginx |
| Dockerfile | ✅ Docker |
| Docker Compose | ✅ Docker Compose |
- Set your domain (e.g.,
myapp.yourdomain.com) - Configure environment variables
- Click Deploy
DNS for each app: Add A records for each domain pointing to your Coolify server.
Step 5: Provision Databases
One-click databases:
| Database | Command |
|---|---|
| PostgreSQL | New Resource → Database → PostgreSQL |
| MySQL | New Resource → Database → MySQL |
| MariaDB | New Resource → Database → MariaDB |
| MongoDB | New Resource → Database → MongoDB |
| Redis | New Resource → Database → Redis |
| ClickHouse | New Resource → Database → ClickHouse |
Each database gets:
- Auto-generated credentials
- Internal network connectivity to your apps
- Backup configuration
- Connection string ready to paste
Step 6: Deploy One-Click Services
Coolify has 100+ one-click services:
| Service | What It Is |
|---|---|
| Plausible | Privacy analytics |
| Uptime Kuma | Monitoring |
| Mattermost | Team chat |
| n8n | Workflow automation |
| Gitea | Git hosting |
| MinIO | Object storage |
| Listmonk | Newsletter |
| Ghost | Blog |
| WordPress | CMS |
| Supabase | Backend |
To deploy: New Resource → Service → Select from list → Configure → Deploy
Step 7: Connect Multiple Servers
Coolify can manage apps across multiple servers:
- Servers → Add Server
- Enter server IP and SSH key
- Coolify installs Docker on the remote server
- Deploy apps to any connected server
Use cases:
- Separate production and staging servers
- Geographic distribution
- Dedicated database server
- Resource isolation
Step 8: Configure CI/CD
Automatic deployments on push:
- Connect your GitHub/GitLab account
- Enable Auto Deploy on your app
- Every push to your branch triggers a rebuild
Webhook deploys:
- Copy the webhook URL from your app settings
- Add it to your CI pipeline:
curl -X POST "https://coolify.yourdomain.com/api/v1/deploy?uuid=YOUR_APP_UUID&force=true" \
-H "Authorization: Bearer YOUR_API_TOKEN"
Preview deployments:
- Enable Preview Deployments in app settings
- Each PR gets its own deployment URL
- Auto-deleted when PR is merged/closed
Step 9: Monitoring and Logs
- Real-time logs: Click any app → Logs tab
- Resource usage: Dashboard shows CPU, RAM, disk per app
- Notifications: Settings → Notifications → Discord/Slack/Email
Production Hardening
Backups:
# Coolify stores config in /data/coolify
# Backup the entire directory
tar czf /backups/coolify-$(date +%Y%m%d).tar.gz /data/coolify
# Database backups are configured per-database in the UI
Updates:
# Coolify auto-updates (configured in Settings)
# Or manually:
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash
Security:
- Set up 2FA for admin account
- Restrict dashboard access by IP (firewall)
- Use SSH keys only (disable password auth)
- Keep Docker and Coolify updated
SSL:
- Automatic via Let's Encrypt
- Wildcard certificates supported
- Custom certificates can be uploaded
Resource Usage
| Apps | RAM | CPU | Disk |
|---|---|---|---|
| 1-5 | 2 GB | 2 cores | 30 GB |
| 5-15 | 4 GB | 4 cores | 60 GB |
| 15-30 | 8 GB | 8 cores | 120 GB |
Note: These are for Coolify itself. Each app uses additional resources.
VPS Recommendations
| Provider | Spec (10 apps) | Price |
|---|---|---|
| Hetzner | 4 vCPU, 8 GB RAM | €8/month |
| DigitalOcean | 4 vCPU, 8 GB RAM | $48/month |
| Linode | 4 vCPU, 8 GB RAM | $48/month |
vs Vercel Pro ($20/user/month): A $8/month Hetzner server replaces $100+/month in PaaS costs for a 5-person team.
Compare PaaS platforms on OSSAlt — features, ease of use, and pricing side by side.