Khởi động toàn bộ hệ thống
Nếu chưa làm bước §4 (domain/TLS chưa sẵn sàng, ví dụ đang test nội bộ), có thể chạy trước các service còn lại:
docker compose -f docker-compose.prod.yml up -d postgres backend frontendSau khi có TLS (§4), khởi động đầy đủ:
docker compose -f docker-compose.prod.yml up -dBackend tự chạy alembic upgrade head khi container start — không cần
chạy migration tay riêng.
Kiểm tra hệ thống chạy đúng
Phần tiêu đề “Kiểm tra hệ thống chạy đúng”docker compose -f docker-compose.prod.yml psdocker compose -f docker-compose.prod.yml logs backend --tail 50curl -I https://portal.tinysoft.io.vn/health # phải trả 200# Volume ảnh ghi được bởi user không-root của backend (Phase N):docker compose -f docker-compose.prod.yml exec backend sh -lc \ 'test -d /data/media && test -w /data/media && echo "media volume writable"'Kiểm tra API cho game (sau mỗi lần deploy)
Phần tiêu đề “Kiểm tra API cho game (sau mỗi lần deploy)”# Không cần session — chỉ cần API key của 1 game (Game Registry → API Key)curl -s "https://portal.tinysoft.io.vn/api/v2/games/drone_strike/client/bootstrap?platform=android&app_version=1.0.0" \ -H "x-game-api-key: <key>" | head -c 400 # phải trả JSON có "features", "currencies"curl -s -o /dev/null -w '%{http_code}\n' \ "https://portal.tinysoft.io.vn/api/v2/games/drone_strike/client/bootstrap" # 401 (thiếu key) là đúng# Icon phải là URL tuyệt đối https://.../media/... (Phase N):curl -s "https://portal.tinysoft.io.vn/api/v2/games/drone_strike/client/bootstrap?platform=android&app_version=1.0.0" \ -H "x-game-api-key: <key>" | grep -o '"icon_url":"[^"]*"' | head -3Kiểm tra version đang chạy
Phần tiêu đề “Kiểm tra version đang chạy”Mở https://portal.tinysoft.io.vn/settings (mục Cài đặt → Phiên bản
trong sidebar) để xem version + git commit + thời điểm build của cả
frontend lẫn backend — backend lấy trực tiếp từ GET /api/v1/version
(đọc backend/version.json đóng gói sẵn trong image, không phải số cố
định), frontend đọc frontend/version.json đã được bake vào lúc next build. Cách này thay cho việc phải SSH vào xem git log mỗi lần muốn
biết bản nào đang chạy — trên VPS vốn không có .git để xem.
Áp dụng cho Portal v1.2.2