- Coolify: UI đẹp nhất 2026, hỗ trợ nhiều resource (app, DB, service), backup S3, multi-server. Best cho team không thích CLI.
- CapRover: UI đơn giản, deploy git push, hỗ trợ Captain Cloud cluster, ổn định bền vững từ 2017.
- Dokku: CLI thuần, Heroku buildpack 100%, nhẹ nhất (RAM 200MB idle). Best cho dev yêu Heroku PaaS lifestyle.
- Chi phí giống nhau: free self-host, chạy được Cloud VPS 40-80 (399k-799k/tháng).
- Lựa chọn nhanh: Coolify nếu cần UI và team work, CapRover nếu cần cluster đơn giản, Dokku nếu thuần CLI và hiệu năng cao.
Heroku free tier chết từ 2022, từ đó dev indie và startup nhỏ đổ xô tìm alternative self-host. 3 cái tên đứng đầu Github hiện tại: Coolify (47k star), CapRover (13k star), Dokku (28k star). Cả 3 đều free, open source, deploy app từ git push, manage Docker container, có Let's Encrypt auto. Vậy chọn cái nào?
Mình đã dùng cả 3 cho client production trong 3 năm qua: Dokku từ 2022 (3 server), CapRover 2023 (5 server), Coolify 2024 (10 server). Bài này phân tích thật, không sponsor, dựa trên kinh nghiệm thực tế deploy app Node, Python, Rails, PHP, Next.js trên cả ba.
1. Triết lý và đối tượng user của mỗi PaaS
Coolify: nhắm tới user muốn alternative Vercel/Netlify/Render trên VPS riêng. UI modern, Nuxt 3 stack, hỗ trợ deploy nhiều loại resource (app, database, service, generic Docker). Founder Andras Bacsai từ Hungary, build full-time từ 2022.
CapRover: nhắm tới user muốn Heroku-like với Docker Swarm cluster. UI tối giản hơn Coolify, focus vào reliability và simple ops. Founder Kasra Bigdeli từ Canada, build từ 2017, đã có cộng đồng ổn định.
Dokku: nhắm tới Heroku-purist, CLI lover. Implement gần như 100% Heroku buildpack, deploy bằng git push y chang Heroku. Project lâu năm nhất (từ 2013), maintainer Jose Diaz-Gonzalez (cũng là Heroku ex-engineer).
2. Bảng so sánh tổng quan
| Tiêu chí | Coolify | CapRover | Dokku |
|---|---|---|---|
| GitHub star | 47k | 13k | 28k |
| Stack | Laravel + Nuxt 3 | Node.js + React | Bash + Go |
| UI quality | 10/10 | 7/10 | 5/10 (CLI primary) |
| RAM idle | 400MB | 500MB | 200MB |
| Install time | 5 phút | 10 phút | 5 phút |
| Deploy method | Git webhook, push, manual | Git, captainduckduck CLI, tarball | Git push (Heroku-style) |
| Database manage | UI built-in | Plugin one-click | CLI plugin |
| Multi-server | Có (v4) | Có (Swarm) | Không (single server) |
| Backup auto | S3 built-in | Plugin | Plugin |
| SSL auto | Let's Encrypt | Let's Encrypt | Let's Encrypt |
| License | Apache 2.0 | Apache 2.0 | MIT |
3. Cài đặt: tốc độ và phức tạp
Coolify install 1 lệnh, mọi thứ tự động (Docker, Postgres internal, Redis, FluentBit log, etc):
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | sudo bashCapRover cần Docker pre-install, sau đó:
docker run -p 80:80 -p 443:443 -p 3000:3000
-v /var/run/docker.sock:/var/run/docker.sock
-v /captain:/captain
caprover/caprover
# Sau đó install CLI tool và setup
npm install -g caprover
caprover serversetupDokku 2 lệnh:
wget -NP . https://dokku.com/install/v0.34.5/bootstrap.sh
sudo DOKKU_TAG=v0.34.5 bash bootstrap.sh
# Sau đó vào http://your-server-ip để setup SSH key và domainCả 3 đều dưới 10 phút. Coolify ít gây surprise nhất, Dokku đơn giản nhất về số dòng lệnh, CapRover phức tạp hơn vì cần CLI tool riêng.
4. UX deploy app đầu tiên
Coolify: vào dashboard, "Create New Resource", chọn "Public Repository" hoặc connect GitHub/GitLab, paste URL, chọn branch, chọn buildpack (Nixpacks auto-detect). Click Deploy. Tổng 8 click, 2 phút build.
CapRover: từ dashboard "Apps" tạo app mới, paste image hoặc setup git deploy. Setup git: download captain-definition.json, push lên repo. Build tự trigger khi push.
# captain-definition trong repo
{
"schemaVersion": 2,
"dockerfilePath": "./Dockerfile"
}
# Deploy từ local
caprover deployDokku: SSH vào server tạo app, add domain, push code:
ssh dokku@your-server-ip apps:create myapp
ssh dokku@your-server-ip domains:add myapp myapp.example.com
# Local
git remote add dokku dokku@your-server-ip:myapp
git push dokku mainDokku có cảm giác Heroku nhất, dev quen Heroku transit ngay lập tức. Coolify thì click-and-go thuần UI. CapRover ở giữa.
5. Database và service quản lý
Coolify hỗ trợ trực tiếp 10+ database: PostgreSQL, MySQL, MongoDB, Redis, MariaDB, ClickHouse, DragonFly, KeyDB, Convex, Elasticsearch... Tạo 1 click, có UI xem connection string, backup S3 auto.
CapRover dùng One-Click Apps: chọn template (Postgres, Redis, MongoDB...), fill version và password, deploy. Backup tự setup qua plugin Captain Backup.
Dokku dùng plugin riêng cho mỗi DB:
sudo dokku plugin:install https://github.com/dokku/dokku-postgres.git
dokku postgres:create mydb
dokku postgres:link mydb myapp
dokku config myapp # xem DATABASE_URL được set tự độngQuan điểm mình: Coolify dễ nhất cho non-DevOps. CapRover linh hoạt template. Dokku CLI mạnh nhất nhưng phải nhớ command.
6. Performance và resource overhead
Mình đo trên VPS Cloud VPS 80 (4GB RAM, 4 vCPU AlmaLinux 9):
| Metric | Coolify | CapRover | Dokku |
|---|---|---|---|
| RAM idle (no app) | 410MB | 520MB | 180MB |
| RAM with 5 small apps | 1.2GB | 1.4GB | 900MB |
| CPU idle | 3% | 5% (Swarm overhead) | 1% |
| Deploy time (Node app) | 90s (Nixpacks) | 60s | 50s (buildpack cache) |
| Cold restart | 15s | 10s | 5s |
Dokku rõ ràng nhẹ nhất, hợp VPS tiết kiệm (Cloud VPS 20-40). Coolify và CapRover tốn RAM hơn nhưng đổi lại có UI và tính năng nhiều hơn.
7. Multi-server và scaling
Coolify v4 hỗ trợ multi-server (add VPS khác làm worker), deploy app lên server cụ thể. Chưa có load balancer auto, nhưng có thể chạy cùng Traefik external.
CapRover dựa trên Docker Swarm, native multi-node clustering với load balancer built-in (NGINX). Best option khi cần real HA cho startup growing.
Dokku hiện tại single-server only. Đang có Dokku Pro paid hỗ trợ cluster nhưng community version chỉ chạy 1 node. Không hợp cho HA production.
8. Backup và disaster recovery
Coolify: built-in backup database tới S3-compatible (R2, MinIO, AWS), schedule hằng giờ/ngày, retention configurable. Backup app code thì không cần vì source ở git.
CapRover: Captain Backup plugin export config và DB lên local hoặc remote. Manual restore nhưng có docs rõ.
Dokku: backup qua plugin per-database (dokku postgres:export mydb > backup.sql). Combine với restic hoặc rclone push lên cloud.
Đối với mình, Coolify backup UX tốt nhất, set 1 lần xong quên. Dokku linh hoạt cho ai đã có pipeline backup riêng.
9. Monitoring và logging
Coolify: dashboard show realtime CPU/RAM/disk, log streaming inline. Không có alert built-in, cần external Uptime Kuma.
CapRover: Captain Cloud có dashboard monitoring riêng, log qua docker logs. Plugin Netdata cho metric chi tiết.
Dokku: chỉ có dokku logs myapp -t (tail). Cần integrate Vector/Promtail để forward log sang Loki/Elasticsearch. Metric phải tự setup Prometheus.
10. Community và tốc độ phát triển
| Metric | Coolify | CapRover | Dokku |
|---|---|---|---|
| Commits/tháng (2026) | 200+ | 30-50 | 40-60 |
| Release frequency | 2 tuần/release | 2 tháng/release | 1 tháng/release |
| Discord/Slack | 20k+ members | 5k members | 3k members |
| Trạng thái | Đang phát triển nhanh | Maintenance + small features | Stable, ít feature mới |
| Cộng đồng VN | Tăng nhanh 2025-2026 | Có nhưng nhỏ | Ít người dùng VN |
Coolify đang trend mạnh nhất 2026, founder full-time, có sponsor (CoolLabs). Dokku stable nhưng ít đổi mới. CapRover safe choice với users hiện có.
11. Use case nào phù hợp PaaS nào
- Indie hacker 1 app + 1 DB: Dokku nhẹ và nhanh, hoặc Coolify nếu thích UI.
- Agency host 10-30 site khách hàng: Coolify, UI hợp với client demo + multi-tenant tốt.
- Startup B2B 5-10 service cần HA: CapRover Swarm cluster 2-3 node.
- Team yêu Heroku culture, dùng buildpack: Dokku, tương thích Heroku-buildpack tốt nhất.
- Database-heavy app, cần backup tự động: Coolify built-in S3 backup.
- VPS tiết kiệm 1-2GB RAM: Dokku (200MB idle), Coolify cũng được nếu bỏ feature thừa.
12. Migration giữa các PaaS
Nếu chọn nhầm có thể đổi: tất cả đều dùng Docker container nên app code không cần thay đổi. Quan trọng là:
- Export environment variables từ PaSS cũ.
- Backup database, restore vào PaaS mới.
- Tạo Dockerfile (nếu PaaS cũ dùng buildpack mà mới yêu cầu Dockerfile, dùng Pack hoặc Buildah convert).
- Test trên staging trước, switch DNS A record khi confirm ok.
Mình từng migrate 8 client từ Dokku sang Coolify trong 2025, tổng thời gian 2 tuần, downtime mỗi site 5-10 phút khi switch DNS.
13. Bài học sau 3 năm dùng cả 3
- Backup là king: Coolify thắng vì built-in S3, đỡ phải setup riêng.
- UI tốt giảm support 70%: client tự click deploy thay vì gọi mình mỗi lần update code.
- Multi-server không phải lúc nào cũng cần: 80% client chỉ cần single server VPS 4-8GB RAM là quá đủ.
- Dokku stable nhất: 3 năm chưa downtime ngoài kế hoạch lần nào. Coolify đôi khi update break, CapRover thỉnh thoảng Swarm rớt.
- Cộng đồng Discord quan trọng: lỗi hỏi 5 phút có người trả lời. Coolify Discord active nhất.
14. Khuyến nghị cuối cùng cho dev Việt Nam 2026
Mình recommend theo thứ tự ưu tiên:
- Coolify cho 80% trường hợp: indie, startup, agency. UX và backup tốt nhất.
- CapRover nếu thật sự cần multi-server HA từ ngày đầu.
- Dokku nếu yêu CLI, từng dùng Heroku, hoặc VPS quá yếu (1GB RAM).
Test thử cả 3 trong 1 ngày trên VPS riêng, deploy cùng 1 app Next.js + Postgres, xem cảm giác nào hợp bạn nhất. Cả 3 đều free, đổi sau cũng không tốn nhiều.
15. Security: cập nhật và best practice
3 PaaS đều dùng Docker dưới hood, security tốt nếu update đúng cách:
- Auto-update OS: bật unattended-upgrades trên Ubuntu/Debian, dnf-automatic trên AlmaLinux. Patch CVE kernel mỗi tuần.
- Firewall chỉ mở 22, 80, 443: đóng port 3000 (Coolify), 80 internal Captain (CapRover), không expose Dokku admin port.
- SSH key only, disable password: bắt buộc. Bonus dùng Tailscale VPN cho admin access.
- Backup test restore: mỗi quý test restore từ backup, đừng đợi sự cố mới biết backup hỏng.
- Secret management: env var trong UI/CLI là plaintext file trên disk. Cân nhắc Vault/Bitwarden cho secret quan trọng.
16. Tích hợp CI/CD GitHub Actions
Cả 3 PaaS đều có webhook deploy on git push, nhưng đôi khi bạn muốn pipeline test trước rồi mới deploy. Workflow GitHub Actions cho Coolify:
name: Deploy to Coolify
on:
push:
branches: [main]
jobs:
test-and-deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with: { node-version: '20' }
- run: npm ci
- run: npm test
- name: Trigger Coolify deploy
run: |
curl -X GET "$COOLIFY_WEBHOOK_URL"
-H "Authorization: Bearer $COOLIFY_TOKEN"
env:
COOLIFY_WEBHOOK_URL: ${{ secrets.COOLIFY_WEBHOOK_URL }}
COOLIFY_TOKEN: ${{ secrets.COOLIFY_TOKEN }}CapRover dùng caprover deploy CLI, Dokku dùng git push qua SSH. Tất cả đều integrate dễ với GitHub Actions, GitLab CI hay Drone CI.
17. Khi nào nên skip PaaS và dùng Docker Compose thuần
- Setup quá đơn giản (1 container app + 1 DB): docker-compose.yml + Caddy là đủ, không cần PaaS overhead.
- Need full control fine-tuning: PaaS abstract nhiều thứ, đôi khi gây khó debug.
- Team đã có Kubernetes expertise: dùng K3s/K8s native power hơn.
- App đặc biệt như game server, P2P, IoT: requirement port/network mà PaaS không hỗ trợ tốt.
PaaS sweet spot là khi bạn host 5-50 app/service, không muốn manage Docker manually, và đề cao DX trên flexibility.
VPS chạy Coolify/CapRover/Dokku để host app indie
Cloud VPS TND sẵn AlmaLinux 9, Ubuntu 22/24, Debian 12/13. SSD CEPH, snapshot 1-click, backup hằng ngày, network 200Mbps trong nước. Cloud VPS 40 (2GB RAM, 399k/tháng) đủ chạy 5-10 app nhỏ với Coolify hoặc 15-20 app với Dokku.
Xem 8 cấu hình Cloud VPS →FAQ
Cái nào dễ học nhất cho người mới?
Coolify dễ học nhất vì UI rõ ràng, có wizard onboarding, deploy app đầu tiên trong 5 phút. CapRover có CLI và UI cần làm quen. Dokku yêu cầu hiểu SSH và git, hợp dev có nền tảng Linux.
Có thể chạy 2 PaaS trên cùng 1 VPS không?
Không khuyến nghị. Cả 3 đều dùng port 80/443 cho Traefik/NGINX, chạy chung sẽ conflict. Mỗi VPS chỉ nên có 1 PaaS. Nếu muốn test, dùng VPS staging riêng từ Cloud VPS 20 (199k/tháng).
Coolify v4 có ổn định cho production chưa?
Đã ổn định từ giữa 2025, mình chạy 10 server production không vấn đề lớn. Vẫn có bug nhỏ về UI thỉnh thoảng nhưng core deploy/database rock solid. Khuyến nghị pin version stable, không auto-update beta.
Dokku có hỗ trợ Docker Compose multi-container không?
Có với plugin dokku-docker-compose. Tuy nhiên Dokku triết lý "1 app = 1 container" nên ít người dùng. Nếu cần multi-container phức tạp, dùng Coolify (hỗ trợ docker-compose.yml native) hoặc tự setup Docker Compose trên VPS thuần.
Cả 3 có hỗ trợ deploy từ private GitHub repo không?
Coolify hỗ trợ GitHub App, OAuth GitLab, deploy private repo dễ dàng. CapRover dùng captain CLI hoặc deploy key SSH. Dokku dùng SSH key thêm vào GitHub deploy keys. Cả 3 đều làm được, Coolify UX mượt nhất.
18. Đừng over-think tooling, ship feature
Cuối cùng, chọn PaaS không phải quyết định một lần. Bạn hoàn toàn có thể bắt đầu với Coolify cho dự án mới hôm nay, chuyển sang CapRover khi cần scale multi-server sau 1 năm, hoặc fallback Dokku cho server backup. Cả 3 đều open source, không lock-in, code app vẫn ở repo git của bạn. Quan trọng nhất là chọn cái giúp bạn ship feature nhanh hơn, đừng over-think về tooling. Đầu tư 1 buổi tối setup, sau đó tập trung 99% thời gian build product. Khi product có traction thì DevOps cost gần như không đáng kể so với revenue.



