Quay lại

Coolify - Từ lần bấm deploy đầu tiên đến 6 service trên một VPS

Coolify - Từ lần bấm deploy đầu tiên đến 6 service trên một VPS

Lần đầu thử deploy trên Coolify, mình nhìn trạng thái chạy từ build sang successful hơi lâu hơn cần thiết. Không phải app quan trọng gì. Chỉ là lần đầu mình đưa một service lên live mà không phải gõ từng lệnh rồi cầu mong mình nhớ đúng.

Với người chuyên chắc bình thường. Với người không chuyên như mình, cái cho mình thêm sự tự tin làm chuyện khó hơn.

Từ một nút deploy đến mono repo 6 service

Mình đang thử build một app SaaS multi-tenant. Cũng đua đòi chuyên nghiệp chia mono repo đồ, thành ra có 6 service chính chạy song song, cộng thêm database:

  • portal x2, gồm 2 giao diện cho end user
  • admin-ui x2, gồm 2 giao diện cho công ty khách hàng
  • api, backend chung
  • console, bảng điều khiển platform multi-tenant

Mình chưa từng deploy app có nhiều micro-services. Nếu phải tự đấu nối 6 service bằng command line, chắc mình sẽ bỏ cuộc khi gặp vấn đề cho nhẹ đầu. Vậy mà trên Coolify, mình tạo project, cấu hình từng service, theo dõi build và log trên cùng một giao diện.

Mình mất 2 ngày để làm quen, thực tế còn phải làm công việc khác. Claude rất nhiệt tình dụ mình đưa API Token cho nó. Mình liều tạo token, để nó tự móc nối rồi tự fix, cuối cùng setup khá gọn và chạy được luôn.

(Nhắc lại là không khuyến nghị.)

Góc cảnh báo về cấp quyền Coolify API Token hoặc đưa SSH cho Claude: nên quan sát Claude làm, đừng phó mặc. Khi bí, nó có thể đề xuất sửa hoặc xoá tùm lum. Nếu server đã có app production, phải đọc kỹ từng thay đổi; có điều kiện thì tách riêng server thử nghiệm. Không đưa quyền root nếu bạn chưa đủ nền tảng để hiểu nó đang làm gì.

Nếu không rành kỹ thuật, nên chọn tech stack đơn giản để deploy gọn hơn, khỏi kiểm tra một mớ service bị chia nhỏ như mình.

Trước đó mình có ý định trả 20 USD cho Vercel

Lần đầu deploy lên Vercel cũng rất đã. Mình mô tả cho Claude Code, nó setup gần hết. Push code lên là tự deploy, giao diện nhìn chuyên nghiệp, thế là ghiền. Mình đã định nhắm mắt nâng gói 20 USD/tháng.

Xem kỹ mới thấy Vercel lo phần build và chạy app. Database phải dùng dịch vụ khác. Gói miễn phí có giới hạn, nâng lên lại trả thêm tiền cho nền tảng nữa. Mùi hidden cost bắt đầu bay lên.

Mình hỏi Claude về giải pháp mã nguồn mở, nó đưa 2 đáp án. Giao diện Coolify ngon hơn nên mình đọc sâu, rồi lượn qua X xem feedback. Có người kể app scale trên Vercel xong hoá đơn đội lên không tưởng.

Hai case study làm mình chú ý: một team giảm từ 850 USD/tháng xuống 14 USD/tháng khi self-host; team khác có 500K khách/tháng, đang trả 601 USD cho Vercel, chuyển qua VPS còn 17 USD.

Con số hấp dẫn, nhưng self-host không tự nhiên tốt hơn. Nó đổi tiền thuê dịch vụ lấy thời gian vận hành và rủi ro bảo mật. Nhu cầu cá nhân đang ưu tiên tiết kiệm.

Mình đã đi từ SSH tới Coolify như thế nào

Ngày trước mình quản VPS bằng command line để chạy vài website WordPress. Sau đó có script quản lý PHP + MySQL như WordOps, HocVPS. Với mình lúc đó, có vậy đã quý lắm rồi.

Rồi đến aaPanel, FastPanel, CyberPanel, những panel cài thẳng lên VPS, có web UI và đỡ gõ lệnh được một khúc.

Sang thời vibe code, phần lớn tech stack AI gợi ý dùng TypeScript. Tuy AI viết nhanh nhưng đến lúc lỗi thì debug hơi lâu. Còn đối với PHP mình thử cho một số app nhỏ, dùng 1 lần, ít lỗi version thư viện hơn, chắc vì chức năng còn đơn giản. Giờ cái gì mình cũng gói vào Docker (một dạng đóng gói app kèm môi trường chạy, để chạy chỗ nào cũng giống nhau).

Một app thì còn dễ, lỗi thì copy log đưa AI. Đến app thứ 2, thứ 3, app nào cũng cần Postgres, hoặc có thêm Redis. Cấu hình không khéo, sửa app này lại ảnh hưởng production của app kia. Thêm staging là khối lượng quản lý tăng hẳn.

Người chuyên setup còn tốn kha khá thời gian, huống gì mình.

Coolify đứng ở tầng nào

Một người bạn nhắc Portainer nên mình tìm hiểu. Nhưng xem lại thì 2 cái không so sánh nha. Portainer là container manager, quản container, image và volume. Coolify là PaaS (Platform as a Service, kiểu Heroku), lo Git, build, SSL, database và tên miền. Cả 2 chạy cùng server được, không đá nhau.

Cái mình cần là PaaS. Mình không muốn nhớ container nào chạy image nào.

Coolify gộp 3 thứ: giao diện quản lý, API Token để tự động hoá, terminal để lúc có chuyện vẫn gõ lệnh. Vừa tiện, vừa còn chỗ kiểm soát những case ngoài phạm vi Coolify xử lý.

Một số thông tin về Coolify mình tổng hợp được:

  • 52,200+ GitHub stars, 325,000+ users, tính đến 3/2026
  • v4.0 ra mắt ngày 18/5/2026, thiết kế lại giao diện và hỗ trợ điều phối nhiều server
  • 280+ service có thể deploy nhanh, gồm PostgreSQL, MySQL, MongoDB, Redis, ClickHouse, DragonFly, n8n, Activepieces, WordPress, Ghost, Grafana, Prometheus, Ollama...
  • License Apache 2.0

Một VPS 20 USD đang gánh những gì

Cấu hình tối thiểu khá nhẹ, nhưng mình chạy VPS Vultr 2 CPU 4GB RAM, giá 20 USD/tháng theo khuyến nghị để ổn định, tránh thiếu memory. Có swap, app nặng lúc build vẫn có thể thiếu RAM. Mình xem 4GB là ngưỡng dưới thực tế.

Vả lại đây cũng chính là 20 USD mình từng định đưa cho Vercel.

Trước đây, mỗi app mình mở một VPS riêng để tránh service đụng nhau. Tốn tiền, tốn công. Giờ một VPS chạy nhiều app, nên mình đang tính gom mớ VPS cũ lại. Có thể tiết kiệm thêm, còn bao nhiêu thì đường dài mới biết.

Những việc nhỏ làm mình chuyển hẳn. Tạo staging ngay trong project. Set biến môi trường qua giao diện. Trước kia phải SSH, copy env.example, mở nano gõ từng dòng, quên một biến là app fail. Giờ điền form, save, xong.

Coolify còn tự động backup, có script đấu nối database, cache và resource phổ biến. Vultr marketplace cho setup 1-click, không cần gõ lệnh cài từ đầu. Giao diện và command line vẫn dùng song song.

Cái mình quý nhất không phải một tính năng cụ thể. Là mở giao diện lên, thấy hết app đang chạy, cái nào ngốn RAM, staging nào đang deploy. Trước đây mọi thứ nằm trong đầu và trong terminal, vừa rối vừa dễ quên.

Khi nào đừng vội chọn Coolify

Nếu chưa biết Docker và biến môi trường, để AI setup là con dao hai lưỡi. Chạy được thì sướng. Hỏng thì không biết debug. Biết Docker căn bản trước sẽ đỡ hoảng hơn.

RAM dưới 4GB thì build app nặng có thể fail liên tục. Nâng VPS lên 8GB lại chạm bài toán kinh tế.

Nếu app đã có hàng triệu user, cần uptime cao, chịu tải tốt và bảo mật chặt, Coolify có thể không còn đủ. Khi đó nên làm hạ tầng nghiêm túc hơn. Mà có 1 triệu user thì chắc cũng đã có người chuyên lo, giờ mình cứ tồn tại được trước đã.

Vercel có thứ Coolify không có sẵn: CDN global, tự động tối ưu ảnh, ISR cho Next.js, edge functions. Nếu cần khách châu Âu load nhanh như ở Việt Nam mà không dựng thêm CDN, Vercel tiện hơn. Dựng CDN qua Cloudflare rồi thì đỡ phần này.

Còn ai có 1 đến 3 dự án phụ, muốn self-host, không muốn phụ thuộc người quản trị server thì Coolify khá sát nhu cầu. Em nó không xoá sạch việc vận hành, chỉ gom chúng về một nơi mình nhìn thấy được.

Vẫn phải hiểu thứ mình đưa lên live

Công cụ đắc lực không thay được người hiểu mình đang triển khai cái gì. Coolify làm dễ đi khoảng 80% công việc, nhưng 20% còn lại vẫn là mình phải biết Docker là gì, biến môi trường để làm gì, bản backup có những gì.

Cái đắt nhất Coolify cho mình không phải là đỡ gõ lệnh. Là nó làm cho lần bấm deploy tiếp theo bớt đáng ngại hơn lần đầu. Giờ mình có thể tạo project, đưa API Token cho Claude rồi ngồi quan sát, dù vẫn phải đọc kỹ nó đang làm gì. Cùng lắm sai thì làm lại, miễn đừng liều trên server production rồi tự tạo thêm một bài học có học phí.

Deploy không còn là rào cản. Rào cản chỉ còn là mình chưa nghĩ ra ý tưởng gì đáng để deploy.