TDShift · Kiến thức

Hướng dẫn deploy Next.js và NestJS bằng Docker

22 Tháng 10, 2026

Next.js và NestJS có thể được triển khai độc lập hoặc chung một hệ thống, nhưng không nhất thiết phải công khai nhiều cổng ra Internet.

1. Phân biệt các service

Next.js đảm nhiệm giao diện/SSR, NestJS cung cấp API. Hai tiến trình có thể sử dụng port khác nhau trong mạng Docker nội bộ.

2. Dockerfile và build

Sử dụng multi-stage build, cài dependencies theo lockfile, chạy dưới user không có quyền root nếu tương thích. Không copy mật khẩu hoặc file .env vào image.

3. Định tuyến với reverse proxy

Có thể chọn app.example.com cho Next.js và api.example.com cho NestJS, hoặc đưa API qua cùng domain dưới đường dẫn /api nếu route phù hợp. Người dùng chỉ truy cập 443; proxy chuyển tiếp đến port nội bộ.

4. Biến môi trường và healthcheck

Phân biệt biến được nhúng lúc build với biến runtime; tuyệt đối không đặt secret trong biến NEXT_PUBLIC_*. Thêm healthcheck cho API và kiểm soát timeout.

5. Tự động triển khai

GitLab pipeline có thể build riêng mỗi image. Gắn tag theo commit SHA và triển khai có kiểm soát để dễ rollback.

Tham khảo hướng dẫn GitLab auto deploy.

← Tất cả hướng dẫn Khám phá ứng dụng →