mirror of
https://github.com/duongcamcute/tech-gadget-manager.git
synced 2026-06-28 06:46:25 +00:00
1.8 KiB
1.8 KiB
🐳 Hướng dẫn Docker & Bảo vệ Dữ liệu (Quan Trọng)
File này chứa hướng dẫn vận hành và update Docker an toàn cho Tech Gadget Manager.
🛑 BẢO VỆ DỮ LIỆU (Đọc kỹ)
Để tránh mất dữ liệu khi cập nhật phiên bản mới, hệ thống đã được cấu hình an toàn hơn:
-
Cơ chế An toàn: Script khởi động (
docker-entrypoint.sh) đã BỎ cờ--accept-data-loss.- Trước đây: Nếu cấu trúc DB thay đổi ảnh hưởng dữ liệu cũ -> Tự động XÓA dữ liệu cũ để chạy tiếp.
- Hiện tại: Nếu cấu trúc DB thay đổi ảnh hưởng dữ liệu cũ -> BÁO LỖI và DỪNG LẠI. Container sẽ không khởi động được. Dữ liệu cũ được GIỮ NGUYÊN AN TOÀN.
-
Cách xử lý khi update bị lỗi DB:
- Nếu container báo lỗi liên quan đến DB migration, bạn cần backup file
prod.db(trong thư mụcdb/) ra chỗ khác. - Sau đó xóa file
prod.dbcũ đi (hoặc move đi) để app tạo DB mới với cấu trúc mới. - Dùng tính năng Import/Export trong phần Cài đặt của App để chuyển dữ liệu cũ sang mới (nếu có thể).
- Nếu container báo lỗi liên quan đến DB migration, bạn cần backup file
🚀 Cách Update phiên bản mới
Mỗi khi có thông báo code mới đã được push lên GitHub:
# 1. Tải ảnh mới nhất về
docker-compose pull
# 2. Khởi động lại (dữ liệu nằm ngoài container nên vẫn còn)
docker-compose up -d
📂 Cấu trúc thư mục
./db/prod.db: File Database chính. TUYỆT ĐỐI KHÔNG XÓA trừ khi đã backup../uploads/: File ảnh đã upload.
🛠️ Backup Thủ công
Khuyên dùng trước mỗi lần update lớn:
# Copy file db ra file backup có ngày giờ
cp db/prod.db db/prod.db.bak.$(date +%F)