Operations Docs
Routing nhanh cho 4 file ops trong folder này.
Khi nào đọc cái nào
| Tình huống | Đọc |
|---|---|
| Deploy production lần đầu (checklist tick-and-go) | deploy-checklist.md |
| Lệnh ops hàng ngày (seed, reset-pass, logs, scale) | ops-cheatsheet.md |
| Deploy production app (api + web) — chi tiết | docker-deploy.md |
| Setup dev local đầu tiên | onboarding.md |
| Onboard salon owner mới | owner-onboarding.md |
| Super-admin "truy cập" tenant (impersonate) | super-admin-impersonation.md |
| Cấu hình billing provider (Polar: org token + webhook + super-admin) | billing-providers/ |
Trang docs docs.<domain> |
Đã Docker-hóa — auto-deploy qua ./deploy.sh (xem docker-deploy.md) |
| Setup GitNexus code intelligence | gitnexus-setup.md |
| Debug bug / unexpected behaviour | troubleshooting.md |
Production deploy = Docker (từ 2026-05)
App chính booking-api + booking-web chỉ deploy bằng Docker: GitHub Actions build image → push GHCR → server pull. Không build local trên VPS.
Single source of truth: docker-deploy.md.
Trước đây có
deploy-vps.md(PM2 bare-metal). Đã retire 2026-05-09 vì:
- PM2 build trên VPS 4GB tốn RAM, hay OOM khi Next 16 build.
- Không scale ngang được — không thể chạy nhiều
apiinstance để chia tải.- Rolling update phải tự script, dễ sai (không có
docker compose --scale).Lịch sử PM2 setup vẫn còn trong
git lognếu cần tham khảo.
Trang docs site (riêng)
documents.<domain> deploy độc lập — marked → static HTML, PM2 port 4010, Nginx reverse proxy. Quy trình ngắn, đơn giản, không liên quan stack chính. Xem deploy-docs-site.md.