Markdown

PRODUCTION_MIGRATION_CHECKLIST.md

Readable previewMounted file access only
BackOpen raw markdown
/root/.openclaw/workspace/projects/transcription-bot/PRODUCTION_MIGRATION_CHECKLIST.md

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:

  1. VPS/host production-ready (ưu tiên nếu muốn always-on, dễ quản trị)
  2. Mac Mini (ổn định ngắn hạn, chấp nhận CPU/Metal chậm hơn)
  3. 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

  • .env
  • data/bot.db
  • assets/
  • 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-smi chạ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 screen thủ 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

  • /start trả về banner + nút
  • 📊 Quota hoạt động
  • 💳 Nạp credit hoạ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

  1. Freeze deploy trên máy cũ
  2. Chạy backup cuối cùng của .env, bot.db, assets/
  3. Restore vào máy mới
  4. Start bot trên máy mới
  5. Smoke test end-to-end
  6. Tắt bot cũ hoặc giữ standby trong thời gian ngắn
  7. 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 receiver và worker thà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