VietVoice.AI — Production Migration Checklist
Mục tiêu
Chuyển VietVoice.AI khỏi máy GPU test/finetune sang môi trường production-ready, có khả năng tự hồi phục và giữ dữ liệu ổn định.
0. Trạng thái hiện tại
- Máy hiện tại không production-ready
- Container có thể auto-restart, nhưng môi trường không đảm bảo cho recreate/migration lớn
- Data/state hiện đã backup về workspace local
- Bot đang chạy tạm với supervisor + watchdog trong container
1. Chốt target production
Chọn 1 trong 3 hướng:
- VPS/host production-ready (ưu tiên nếu muốn always-on, dễ quản trị)
- Mac Mini (ổn định ngắn hạn, chấp nhận CPU/Metal chậm hơn)
- GPU server production riêng (khi đã có traction và cần tốc độ)
Tiêu chí bắt buộc:
- Persistent disk thật
- Restart policy / supervisor ở host level
- Quyền quản trị đủ để tự deploy/restart/backup
- Có thể giữ
.env, DB, assets qua reboot/redeploy - Có monitoring hoặc ít nhất là alert khi process chết
2. Chuẩn bị artifact cần mang sang
.envdata/bot.dbassets/- Source code hiện tại trong
projects/transcription-bot/ - Banner
/start - Backup hashes:
backups/gpu-server-2026-04-10/SHA256SUMS.txt
3. Chuẩn bị máy mới
OS / runtime
- Python runtime tương thích
- ffmpeg cài sẵn
- Nếu dùng GPU:
- driver ổn định
nvidia-smichạy được- đủ VRAM cho model dự kiến
Process supervision
- systemd / supervisord / Docker restart policy
- App phải tự start sau reboot
- Không phụ thuộc
screenthủ công
Storage
- App dir cố định
- Backup dir cố định
- DB nằm trên persistent disk
4. Deploy app
- Copy source sang máy mới
- Tạo virtualenv/conda env hoặc Docker image production
- Restore
.env - Restore
data/bot.db - Restore
assets/ - Chạy migrate/init DB nếu cần
- Start bot bằng supervisor thật
5. Verify trước khi cut over
Bot core
/starttrả về banner + nút📊 Quotahoạt động💳 Nạp credithoạt động- Upload 1 file audio nhỏ chạy xong
- Combo transcript + summary chạy xong
Data
- Credit cũ còn nguyên
- User cũ còn nguyên
bot.dbđọc/ghi bình thường
Reliability
- Restart process → bot tự lên lại
- Reboot machine/container → bot tự lên lại
- Log có ghi ra file
- Backup chạy tự động
- Có alert khi bot chết
6. Cutover plan
- Freeze deploy trên máy cũ
- Chạy backup cuối cùng của
.env,bot.db,assets/ - Restore vào máy mới
- Start bot trên máy mới
- Smoke test end-to-end
- Tắt bot cũ hoặc giữ standby trong thời gian ngắn
- Theo dõi 24h đầu
7. Rollback plan
- Giữ máy cũ chạy standby cho tới khi máy mới ổn định
- Nếu máy mới lỗi:
- tắt bot máy mới
- restore DB cuối cùng nếu cần
- bật lại bot máy cũ
8. Việc nên làm ngay sau migrate
- Tách
receivervàworkerthành 2 process riêng - Đưa queue/job state ra storage bền hơn RAM
- Thêm monitoring cho:
- process uptime
- queue length
- job error rate
- thời gian xử lý
- disk/RAM/VRAM
- Chuẩn hóa deploy script + smoke test + rollback script