Hướng dẫn deploy ứng dụng Vibe Coding lên VPS Ubuntu bằng Coolify
Mục lục
Các bài trong series Vibe Coding
- Bài 1: Vibe Coding là gì? Từ AI viết code đến triển khai ứng dụng lên VPS
- Bài 2: Vibe Coding thực chiến: Từ AI viết code đến GitHub
- Bài 3: Docker cho Vibe Coder: Từ source code đến container trên Ubuntu
- Bài 4: Hướng dẫn deploy ứng dụng Vibe Coding lên VPS Ubuntu bằng Coolify ← Bạn đang đọc
- Bài 5: CI/CD là gì? Hướng dẫn GitHub → Coolify → VPS tự động deploy (Đang cập nhật)
- Bài 6: Docker Production: Tối ưu Dockerfile, Docker Compose và bảo mật container (Đang cập nhật)
- Bài 7: Docker → Coolify → VPS: Hướng dẫn triển khai ứng dụng production (Đang cập nhật)
Deploy ứng dụng Vibe Coding lên VPS có khó không?
Với Vibe Coding, việc tạo ra một ứng dụng web chưa bao giờ dễ như hiện nay.
Bạn có thể sử dụng AI để xây dựng giao diện, tạo API, viết database schema, sửa lỗi hoặc thậm chí tạo gần như toàn bộ source code của một ứng dụng.
Nhưng sau khi AI đã viết xong code, một câu hỏi khác bắt đầu xuất hiện:
Ứng dụng này sẽ chạy ở đâu?
Chạy trên máy tính cá nhân chỉ phù hợp với quá trình phát triển. Khi muốn đưa ứng dụng lên Internet để người khác truy cập, bạn cần một môi trường production.
Một trong những lựa chọn linh hoạt là:
AI → GitHub → VPS Ubuntu → Coolify → Production
Trong bài viết này, chúng ta sẽ thực hiện toàn bộ quy trình deploy một ứng dụng Vibe Coding lên VPS Ubuntu bằng Coolify.
Bạn không cần tự cấu hình Nginx, SSL, Docker Compose hay phải SSH vào VPS để chạy hàng loạt câu lệnh deploy thủ công.
Coolify sẽ đứng giữa GitHub và VPS để đơn giản hóa phần triển khai.
1. Kiến trúc deploy ứng dụng Vibe Coding
Trước khi bắt tay vào thực hành, hãy hình dung kiến trúc mà chúng ta sẽ xây dựng:
┌─────────────────┐
│ AI │
│ Vibe Coding │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Source │
│ Code │
└────────┬────────┘
│ git push
▼
┌─────────────────┐
│ GitHub │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Coolify │
│ CI/CD + │
│ Deployment │
└────────┬────────┘
│
▼
┌─────────────────┐
│ VPS Ubuntu │
│ │
│ Docker │
│ App │
└────────┬────────┘
│
▼
https://domain.com
Điểm quan trọng là VPS không còn chỉ là một server để bạn SSH vào và chạy lệnh.
Khi kết hợp với Coolify, VPS trở thành một môi trường để bạn triển khai và quản lý nhiều ứng dụng web từ một giao diện tập trung.
Đây cũng chính là cách tiếp cận khá phù hợp với Vibe Coder: thay vì dành quá nhiều thời gian cho việc quản trị server, bạn tập trung vào source code và sản phẩm.

2. Cần chuẩn bị gì trước khi deploy?
Để thực hiện bài hướng dẫn này, bạn cần:
- Một ứng dụng đã được AI hỗ trợ xây dựng.
- Source code nằm trên GitHub.
- Một VPS chạy Ubuntu.
- Một domain hoặc subdomain.
- Tài khoản GitHub.
- Quyền truy cập SSH vào VPS.
Trong ví dụ này, chúng ta giả sử ứng dụng đã có repository:
https://github.com/username/my-vibe-app
và VPS sử dụng:
Ubuntu 24.04 LTS
Kiến trúc triển khai sẽ sử dụng Docker thông qua Coolify.
3. VPS cần cấu hình bao nhiêu cho Vibe Coding?
Đây là một câu hỏi rất thực tế.
Không phải ứng dụng nào được tạo bằng AI cũng cần một VPS mạnh.
Một landing page hoặc ứng dụng Node.js nhỏ có thể hoạt động tốt với cấu hình tương đối thấp. Trong khi đó, ứng dụng Next.js, database, Redis hoặc nhiều container chạy đồng thời sẽ cần nhiều tài nguyên hơn.
Có thể tham khảo:
| Loại ứng dụng | RAM nên có | CPU |
|---|---|---|
| Landing page / website nhỏ | 1-2 GB | 1-2 vCPU |
| Node.js / PHP app nhỏ | 2 GB | 2 vCPU |
| Next.js / Laravel | 2-4 GB | 2-4 vCPU |
| Next.js + Database + Redis | 4-8 GB | 4 vCPU trở lên |
| Nhiều ứng dụng Docker | 8 GB+ | 4-8 vCPU |
Điểm đáng chú ý là với Vibe Coding, chi phí hạ tầng ban đầu không nhất thiết phải quá cao.
Bạn có thể bắt đầu bằng một VPS giá rẻ để chạy MVP, sau đó nâng cấp CPU/RAM khi lượng truy cập tăng.
Nếu ứng dụng cần hiệu năng CPU tốt hơn, VPS AMD cũng là một lựa chọn đáng cân nhắc. Còn với workload cần tốc độ lưu trữ và I/O tốt, các dòng VPS sử dụng vSAN có thể phù hợp hơn.
Đây là cách tiếp cận hợp lý hơn việc ngay từ đầu thuê một server quá lớn nhưng phần lớn tài nguyên chưa được sử dụng.
4. Cài Coolify trên VPS Ubuntu
Coolify cung cấp script cài đặt khá đơn giản.
Trước tiên, SSH vào VPS:
ssh root@YOUR_SERVER_IPSau đó cập nhật hệ thống:
apt update && apt upgrade -yTiếp theo chạy installer của Coolify:
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bashQuá trình cài đặt sẽ tự động thiết lập những thành phần cần thiết để Coolify hoạt động.
Sau khi hoàn tất, terminal sẽ cung cấp thông tin truy cập Coolify.
Thông thường bạn sẽ truy cập:
http://YOUR_SERVER_IP:8000Mở địa chỉ này trên trình duyệt.
5. Thiết lập tài khoản Coolify
Lần đầu truy cập Coolify, hệ thống sẽ yêu cầu tạo tài khoản quản trị hãy sử dụng một email và mật khẩu đủ mạnh. Sau khi đăng nhập, bạn sẽ nhìn thấy dashboard của Coolify.
Từ đây, phần lớn công việc deploy ứng dụng có thể được thực hiện thông qua giao diện web thay vì phải liên tục SSH vào VPS.
6. Kết nối VPS với Coolify
Trong trường hợp Coolify được cài trực tiếp trên VPS đang sử dụng, server thường đã được thiết lập để Coolify quản lý.
Bạn có thể kiểm tra trong:
Servers → localhost
Tại đây Coolify sẽ hiển thị trạng thái của server.
Nếu server hoạt động bình thường, bạn có thể chuyển sang bước tạo project.
7. Tạo Project mới
Trong dashboard Coolify:
Projects → Add → New Project
Đặt tên project.
Ví dụ:
Vibe Coding DemoProject có thể được hiểu như một workspace chứa các ứng dụng liên quan.
Ví dụ:
Vibe Coding Demo
│
├── Frontend
├── API
├── PostgreSQL
└── RedisĐây là một trong những điểm khiến Coolify khá phù hợp khi bạn bắt đầu chạy nhiều thành phần trong cùng một hệ thống.
8. Kết nối GitHub với Coolify
Đây là bước quan trọng nhất trong workflow Vibe Coding.
Thay vì upload source code thủ công lên VPS, chúng ta để GitHub làm trung tâm quản lý source.
Trong Coolify, chọn:
Sources → GitHub
Sau đó kết nối tài khoản GitHub, Coolify sẽ yêu cầu cấp quyền truy cập repository.
Nếu bạn chỉ muốn Coolify nhìn thấy một số repository nhất định, nên giới hạn quyền truy cập thay vì cấp toàn bộ repository không cần thiết.
Sau khi GitHub được kết nối, Coolify có thể lấy source code trực tiếp từ repository.
9. Tạo Application từ GitHub
Quay trở lại Project vừa tạo.
Chọn:
Add Resource → Application
Sau đó chọn GitHub làm source.
Chọn:
GitHub AppTiếp theo chọn repository:
my-vibe-appvà branch:
mainLúc này Coolify đã biết:
- Source code nằm ở đâu.
- Repository nào cần deploy.
- Branch nào được sử dụng.
10. Coolify nhận biết ứng dụng bằng cách nào?
Một điểm thú vị của Coolify là bạn không nhất thiết phải viết Dockerfile ngay từ đầu. Tùy loại project, Coolify có thể sử dụng Nixpacks để phát hiện môi trường và tạo container.
Ví dụ một ứng dụng Node.js có:
package.jsonCoolify có thể nhận biết đây là ứng dụng Node.js và tiến hành build.
Một ứng dụng PHP có:
composer.jsoncũng có thể được xử lý theo môi trường tương ứng.
Tuy nhiên, với những project phức tạp hoặc cần kiểm soát chính xác môi trường production, sử dụng Dockerfile sẽ chủ động hơn.
Đó cũng là lý do kiến thức Docker ngày càng quan trọng với Vibe Coder. Bạn không chỉ cần biết AI viết code.
Bạn cần hiểu code đó sẽ được đóng gói và chạy như thế nào.
11. Cấu hình Build Pack
Trong phần cấu hình Application, Coolify sẽ cho phép lựa chọn phương thức build.
Một số lựa chọn phổ biến gồm:
- Nixpacks
- Dockerfile
- Docker Compose
- Static build
Nếu project đơn giản, có thể bắt đầu với Nixpacks.
Nếu repository đã có:
Dockerfilethì nên sử dụng Dockerfile.
Ví dụ:
my-vibe-app/
├── app/
├── public/
├── package.json
├── package-lock.json
├── Dockerfile
└── README.mdKhi đó Coolify sẽ sử dụng Dockerfile để build image.
12. Cấu hình Port
Một lỗi khá phổ biến khi deploy ứng dụng Node.js hoặc Next.js lên VPS là ứng dụng chạy được bên trong container nhưng bên ngoài không truy cập được.
Nguyên nhân thường liên quan đến port hoặc binding.
Ví dụ ứng dụng chạy:
Port: 3000Bạn cần khai báo port tương ứng trong Coolify.
Đối với Node.js, cũng cần đảm bảo ứng dụng lắng nghe trên:
0.0.0.0thay vì chỉ:
localhostVí dụ:
app.listen(3000, '0.0.0.0');Nếu application chỉ bind vào localhost, container có thể chạy bình thường nhưng reverse proxy bên ngoài container không thể truy cập vào application.
13. Cấu hình Environment Variables
Đây là phần đặc biệt quan trọng với ứng dụng được tạo bằng AI.
Trong source code, bạn không nên hard-code:
DATABASE_PASSWORD<br>API_KEY<br>JWT_SECRETThay vào đó, sử dụng environment variables.
Ví dụ:
DATABASE_URL=
NEXT_PUBLIC_API_URL=
JWT_SECRET=Trong Coolify, mở:
Environment Variables
và thêm các biến tương ứng.
Ví dụ:
DATABASE_URL=postgresql://user:password@database:5432/app
JWT_SECRET=your-secret-keyKhông commit những secret này trực tiếp lên GitHub.
Đặc biệt, nếu AI được sử dụng để hỗ trợ viết code, hãy kiểm tra kỹ file .env, .env.local và các file cấu hình trước khi push repository.
14. Cấu hình Domain
Sau khi application đã được cấu hình, bước tiếp theo là kết nối domain.
Ví dụ bạn muốn ứng dụng chạy tại:
app.example.comTrước tiên tạo DNS record:
Type: A
Name: app
Value: YOUR_SERVER_IPSau đó trong Coolify, thêm domain:
https://app.example.comCoolify sẽ sử dụng reverse proxy để đưa traffic từ domain vào container tương ứng.
15. HTTPS và SSL
Một trong những phần tiện lợi của Coolify là bạn không cần tự viết cấu hình Nginx cho từng application.
Sau khi DNS đã trỏ đúng về VPS, Coolify có thể xử lý SSL certificate cho domain.
Khi hoàn tất, ứng dụng sẽ có thể truy cập bằng:
https://app.example.comThay vì phải tự thực hiện quy trình:
Nginx
↓
Certbot
↓
Let's Encrypt
↓
SSL renewal
↓
Reverse ProxyCoolify gom phần lớn công việc này vào giao diện quản lý.
16. Deploy ứng dụng lần đầu
Bây giờ mọi thứ đã sẵn sàng.
Chỉ cần nhấn:
Deploy
Coolify sẽ thực hiện chuỗi công việc:
GitHub
↓
Clone repository
↓
Install dependencies
↓
Build application
↓
Create Docker image
↓
Start container
↓
Configure proxy
↓
HTTPS
↓
ProductionBạn có thể theo dõi toàn bộ quá trình trong phần Deployment Logs.
Nếu build thành công, application sẽ chuyển sang trạng thái:
RunningSau đó truy cập domain.
Ứng dụng Vibe Coding của bạn đã chính thức chạy trên VPS.
17. Từ Vibe Coding đến Production chỉ còn một cú Git Push
Đây mới là phần thú vị nhất của workflow này.
Sau lần deploy đầu tiên, bạn quay lại tiếp tục làm việc với AI.
Ví dụ:
Bạn:
"Thêm chức năng đăng nhập bằng Google"
AI:
→ sửa source code
→ tạo API
→ cập nhật database
→ sửa UISau khi kiểm tra local:
git add .
git commit -m "feat: add google login"
git push origin mainGitHub nhận commit mới.
Coolify phát hiện repository có thay đổi.
Sau đó Coolify có thể tự động:
GitHub
↓
New Commit
↓
Coolify
↓
Build
↓
Docker Image
↓
Deploy
↓
ProductionBạn không cần SSH vào VPS để chạy:
git pull
npm install
npm run build
pm2 restartđối với mỗi lần cập nhật.
Đây chính là bước chuyển từ “AI viết code” sang “AI-assisted software delivery”.
18. Webhook giúp GitHub tự động kích hoạt deployment
Để quá trình trên diễn ra tự động, Coolify có thể sử dụng webhook từ GitHub.
Khi có commit mới trên branch được cấu hình:
mainGitHub gửi webhook đến Coolify.
Coolify bắt đầu deployment.
Điều này tạo ra một workflow rất gọn:
AI
↓
Code
↓
Git
↓
GitHub
↓
Webhook
↓
Coolify
↓
Docker
↓
VPS
↓
ProductionBạn chỉ cần tập trung vào source code và logic của sản phẩm.
19. Có nên dùng VPS giá rẻ để chạy Vibe Coding?
Có, đặc biệt trong giai đoạn MVP.
Một trong những lợi thế của Vibe Coding là tốc độ tạo prototype rất nhanh.
Bạn có thể hôm nay tạo một ứng dụng:
AI + Next.js + PostgreSQLvà ngày mai đã có phiên bản chạy thật trên Internet.
Ở giai đoạn này, việc sử dụng một VPS giá rẻ giúp giảm chi phí thử nghiệm.
Khi ứng dụng bắt đầu có người dùng, bạn có thể nâng cấp:
2 GB RAM
↓
4 GB RAM
↓
8 GB RAM
↓
16 GB RAMthay vì phải đầu tư một cấu hình lớn ngay từ đầu.
Đây cũng là lý do các dòng VPS giá rẻ của EZ TECH có thể phù hợp với giai đoạn dựng MVP, website cá nhân hoặc các project Vibe Coding cần một môi trường production với chi phí ban đầu thấp.
Quan trọng hơn là bạn có thể bắt đầu nhỏ và scale theo nhu cầu thực tế.
20. Khi nào nên chọn VPS AMD?
CPU là một trong những tài nguyên ảnh hưởng trực tiếp đến quá trình build application.
Nếu bạn thường xuyên deploy:
- Next.js
- Node.js
- Laravel
- Docker
- nhiều container
- ứng dụng có quá trình build nặng
thì CPU tốt sẽ giúp giảm thời gian build và xử lý.
Trong trường hợp này, VPS AMD là một lựa chọn đáng cân nhắc nếu bạn muốn cân bằng giữa hiệu năng và chi phí.
Thay vì chỉ nhìn vào số lượng vCPU, hãy quan tâm đến:
- Kiến trúc CPU.
- Xung nhịp.
- Hiệu năng đơn nhân.
- Hiệu năng đa nhân.
- RAM.
- I/O storage.
- Băng thông.
- Khả năng nâng cấp.
Với Vibe Coding, điều này đặc biệt hữu ích khi bạn liên tục:
Code → Build → Test → Deploy → Fix → Build → DeployMột VPS có hiệu năng CPU tốt sẽ giúp vòng lặp này diễn ra nhanh hơn.
21. Khi nào nên chọn VPS vSAN?
CPU không phải yếu tố duy nhất.
Một số ứng dụng cần đọc/ghi dữ liệu thường xuyên hoặc chạy nhiều container cùng lúc sẽ phụ thuộc khá nhiều vào hiệu năng storage.
Ví dụ:
Next.js
+
PostgreSQL
+
Redis
+
Docker
+
CoolifyKhi đó storage I/O trở thành một yếu tố đáng quan tâm.
Nếu workload của bạn cần tốc độ lưu trữ tốt, VPS sử dụng nền tảng vSAN có thể là lựa chọn phù hợp hơn so với việc chỉ quan tâm đến CPU.
Đây cũng là một trong những tiêu chí nên cân nhắc khi chọn VPS cho các project Vibe Coding chạy production.
Thay vì hỏi:
“VPS nào rẻ nhất?”
hãy đặt câu hỏi:
“VPS nào có cấu hình phù hợp nhất với workload của ứng dụng?”
Đó mới là cách tối ưu chi phí lâu dài.
22. Kiểm tra application sau khi deploy
Sau khi Coolify báo deployment thành công, không nên chỉ kiểm tra xem website có mở được hay không.
Hãy kiểm tra ít nhất:
HTTP/HTTPS
curl -I https://app.example.comApplication logs
Kiểm tra trong:
Coolify → Application → Logs
Container status
Đảm bảo container đang:
RunningDatabase
Nếu ứng dụng sử dụng database, kiểm tra:
- Connection.
- Migration.
- Query.
- Authentication.
- Environment variables.
Production build
Đảm bảo ứng dụng đang chạy production thay vì development mode.
23. Những lỗi Vibe Coder thường gặp khi deploy bằng Coolify
Lỗi 1: Build thành công nhưng website không mở được
Kiểm tra:
Portvà:
0.0.0.0Application phải expose đúng port.
Lỗi 2: Domain không truy cập được
Kiểm tra DNS:
app.example.com
↓
YOUR_SERVER_IPCó thể sử dụng:
dig app.example.comhoặc:
nslookup app.example.comLỗi 3: Application báo thiếu biến môi trường
Kiểm tra:
Coolify → Environment Variables
Ví dụ:
DATABASE_URL
NEXTAUTH_SECRET
API_KEYLỗi 4: Build Node.js bị thiếu memory
Đây là lỗi khá phổ biến trên VPS cấu hình thấp.
Ví dụ quá trình build có thể bị:
JavaScript heap out of memoryTrong trường hợp này, kiểm tra RAM và swap trước khi nghĩ đến việc thay đổi source code.
Có thể kiểm tra:
free -hvà:
swapon --showNếu application ngày càng lớn, việc nâng cấp VPS sẽ hợp lý hơn là cố ép một cấu hình quá thấp chạy workload nặng.

24. Coolify có thay thế hoàn toàn Docker không?
Không.
Coolify và Docker giải quyết những vấn đề khác nhau.
Có thể hiểu đơn giản:
Docker
→ Đóng gói và chạy application
Coolify
→ Quản lý deployment của applicationDocker giúp bạn tạo:
Application + Dependencies + Runtime = ContainerTrong khi Coolify giúp quản lý:
GitHub
+
Build
+
Docker
+
Domain
+
SSL
+
Deployment
+
Logs
Vì vậy, Vibe Coder không nên xem Coolify là công cụ thay thế Docker.
Ngược lại:
Biết Docker + biết Coolify sẽ giúp bạn hiểu rõ hơn toàn bộ quá trình đưa code từ máy tính lên production.
25. Workflow hoàn chỉnh dành cho Vibe Coder
Sau khi hoàn thành bài này, workflow của bạn sẽ có dạng:
AI
│
▼
Write / Fix Code
│
▼
Git
│
▼
GitHub
│
Webhook
│
▼
Coolify
│
▼
Docker
│
▼
VPS Ubuntu
│
┌───────┴───────┐
│ │
Domain Database
│
▼
HTTPS
│
▼
ProductionĐây là một workflow rất phù hợp với cách phát triển phần mềm hiện đại:
AI giúp bạn viết code → GitHub quản lý source → Docker đóng gói ứng dụng → Coolify quản lý deployment → VPS chạy production.
26. Có nên dùng Coolify cho mọi dự án Vibe Coding?
Không nhất thiết.
Nếu bạn chỉ cần một website tĩnh rất đơn giản, những nền tảng managed hosting có thể nhanh hơn.
Nhưng nếu bạn muốn:
- Toàn quyền với server.
- Chạy Docker.
- Chạy nhiều application.
- Quản lý database.
- Tự chủ infrastructure.
- Kiểm soát chi phí.
- Có thể mở rộng VPS theo nhu cầu.
thì VPS + Coolify là một hướng rất đáng cân nhắc.
Đặc biệt với Vibe Coder, việc sở hữu một VPS riêng giúp bạn có một “sandbox production” để thử nghiệm nhiều loại ứng dụng khác nhau.
27. Từ một ứng dụng đến cả hệ thống Vibe Coding
Khi đã quen với Coolify, bạn không chỉ deploy được một application.
Một VPS có thể chạy:
VPS Ubuntu
│
├── Coolify
│
├── Website
│
├── Next.js App
│
├── Node.js API
│
├── PostgreSQL
│
├── Redis
│
└── n8nMiễn là tài nguyên VPS đủ đáp ứng workload.
Đây chính là lúc VPS bắt đầu trở thành một hạ tầng riêng cho Vibe Coder, thay vì chỉ đơn thuần là nơi host một website.
Bạn có thể xây dựng, thử nghiệm và deploy nhiều project mà không phải tạo một server mới cho từng ứng dụng.
28. Kết luận
Deploy ứng dụng Vibe Coding lên VPS Ubuntu không còn là một quy trình quá phức tạp nếu bạn sử dụng Coolify.
Thay vì phải tự xử lý từng thành phần:
Nginx
Docker
SSL
Git
Webhook
Deployment
LogsCoolify cung cấp một lớp quản lý giúp đơn giản hóa phần lớn workflow.
Quy trình cuối cùng có thể rút gọn thành:
AI
↓
Code
↓
GitHub
↓
Coolify
↓
Docker
↓
VPS Ubuntu
↓
HTTPS
↓
ProductionVà đó cũng chính là tư duy quan trọng mà một Vibe Coder nên hướng tới:
Không chỉ dùng AI để viết code, mà phải biết cách biến code do AI tạo ra thành một ứng dụng thực sự chạy trên Internet.
Nếu bạn đang bắt đầu với Vibe Coding, không cần thuê một server quá lớn ngay từ đầu. Một VPS giá rẻ phù hợp có thể đủ cho MVP; khi workload tăng, có thể cân nhắc VPS AMD để cải thiện hiệu năng CPU hoặc VPS vSAN khi storage/I/O trở thành yếu tố quan trọng.
Trong bài tiếp theo, chúng ta sẽ đi sâu hơn vào phần tự động hóa.
Thay vì mỗi lần push code lại phải vào Coolify và bấm Deploy, chúng ta sẽ xây dựng workflow:
AI viết code
↓
git push
↓
GitHub
↓
Webhook
↓
Coolify
↓
Docker build
↓
Deploy VPS
↓
Production
Đây chính là bước tiếp theo để biến workflow Vibe Coding thành một quy trình CI/CD hoàn chỉnh.
Các bài trong series Vibe Coding
- Bài 1: Vibe Coding là gì? Từ AI viết code đến triển khai ứng dụng lên VPS
- Bài 2: Vibe Coding thực chiến: Từ AI viết code đến GitHub
- Bài 3: Docker cho Vibe Coder: Từ source code đến container trên Ubuntu
- Bài 4: Hướng dẫn deploy ứng dụng Vibe Coding lên VPS Ubuntu bằng Coolify ← Bạn đang đọc
- Bài 5: CI/CD là gì? Hướng dẫn GitHub → Coolify → VPS tự động deploy (Đang cập nhật)
- Bài 6: Docker Production: Tối ưu Dockerfile, Docker Compose và bảo mật container (Đang cập nhật)
- Bài 7: Docker → Coolify → VPS: Hướng dẫn triển khai ứng dụng production (Đang cập nhật)

