Coolify vs CapRover vs Dokku: chọn self-host PaaS nào?

Chia sẻ bài viết

Mục lục
TL;DR
  • 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íCoolifyCapRoverDokku
GitHub star47k13k28k
StackLaravel + Nuxt 3Node.js + ReactBash + Go
UI quality10/107/105/10 (CLI primary)
RAM idle400MB500MB200MB
Install time5 phút10 phút5 phút
Deploy methodGit webhook, push, manualGit, captainduckduck CLI, tarballGit push (Heroku-style)
Database manageUI built-inPlugin one-clickCLI plugin
Multi-serverCó (v4)Có (Swarm)Không (single server)
Backup autoS3 built-inPluginPlugin
SSL autoLet's EncryptLet's EncryptLet's Encrypt
LicenseApache 2.0Apache 2.0MIT

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 bash

CapRover 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 serversetup

Dokku 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à domain

Cả 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 deploy

Dokku: 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 main

Dokku 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ự động

Quan đ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):

MetricCoolifyCapRoverDokku
RAM idle (no app)410MB520MB180MB
RAM with 5 small apps1.2GB1.4GB900MB
CPU idle3%5% (Swarm overhead)1%
Deploy time (Node app)90s (Nixpacks)60s50s (buildpack cache)
Cold restart15s10s5s

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

MetricCoolifyCapRoverDokku
Commits/tháng (2026)200+30-5040-60
Release frequency2 tuần/release2 tháng/release1 tháng/release
Discord/Slack20k+ members5k members3k members
Trạng tháiĐang phát triển nhanhMaintenance + small featuresStable, ít feature mới
Cộng đồng VNTăng nhanh 2025-2026Có 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à:

  1. Export environment variables từ PaSS cũ.
  2. Backup database, restore vào PaaS mới.
  3. 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).
  4. 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

  1. Backup là king: Coolify thắng vì built-in S3, đỡ phải setup riêng.
  2. UI tốt giảm support 70%: client tự click deploy thay vì gọi mình mỗi lần update code.
  3. 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á đủ.
  4. 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.
  5. 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:

  1. Coolify cho 80% trường hợp: indie, startup, agency. UX và backup tốt nhất.
  2. CapRover nếu thật sự cần multi-server HA từ ngày đầu.
  3. 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:

  1. Auto-update OS: bật unattended-upgrades trên Ubuntu/Debian, dnf-automatic trên AlmaLinux. Patch CVE kernel mỗi tuần.
  2. Firewall chỉ mở 22, 80, 443: đóng port 3000 (Coolify), 80 internal Captain (CapRover), không expose Dokku admin port.
  3. SSH key only, disable password: bắt buộc. Bonus dùng Tailscale VPN cho admin access.
  4. Backup test restore: mỗi quý test restore từ backup, đừng đợi sự cố mới biết backup hỏng.
  5. 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.

Cloud VPS cho vibe coder

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.

2009
15+ năm vận hành liên tục
10+
tập đoàn lớn tin dùng
100+
doanh nghiệp SMB Việt
30 ngày
đổi key lỗi miễn phí
Phần mềm bản quyền chính hãng chúng tôi cung cấp
Bản quyền chính hãng Hóa đơn VAT đầy đủ Đổi key lỗi 30 ngày Vận hành từ 2009 MST 0200994870 Hotline 0225.999.6666