改用API驗證

This commit is contained in:
beabigegg
2025-10-02 17:13:24 +08:00
parent 0a89c19fc9
commit adecdf0cce
48 changed files with 6136 additions and 1239 deletions

110
deploy-production.sh Normal file
View File

@@ -0,0 +1,110 @@
#!/bin/bash
# PANJIT Document Translator V2 - 生產環境部署腳本
# Author: PANJIT IT Team
# Created: 2025-01-01
set -e
echo "🚀 PANJIT Document Translator V2 - 生產環境部署"
echo "=================================================="
# 檢查是否存在生產環境配置文件
if [ ! -f ".env.production" ]; then
echo "❌ 錯誤:找不到 .env.production 文件"
echo "請先複製 .env.production 並設置正確的生產環境配置"
exit 1
fi
# 檢查是否存在 API 配置文件
if [ ! -f "api.txt" ]; then
echo "❌ 錯誤:找不到 api.txt 文件"
echo "請確保 Dify API 配置文件存在"
exit 1
fi
echo "✅ 配置文件檢查完成"
# 停止現有容器 (如果存在)
echo "🔄 停止現有容器..."
docker-compose -f docker-compose.prod.yml down --remove-orphans
# 清理舊映像 (可選)
read -p "是否清理舊的 Docker 映像? (y/N): " clean_images
if [[ $clean_images =~ ^[Yy]$ ]]; then
echo "🧹 清理舊映像..."
docker system prune -f
docker image prune -f
fi
# 構建新映像
echo "🔨 構建生產環境映像..."
docker-compose -f docker-compose.prod.yml build --no-cache
# 創建必要的目錄
echo "📁 創建必要的目錄..."
mkdir -p uploads cache logs
# 設置權限
chmod 755 uploads cache logs
# 啟動服務
echo "🚀 啟動生產環境服務..."
docker-compose -f docker-compose.prod.yml up -d
# 等待資料庫服務啟動
echo "⏳ 等待資料庫服務啟動..."
sleep 10
# 執行認證系統資料庫初始化 (新架構)
echo "📊 執行認證系統資料庫初始化..."
docker-compose -f docker-compose.prod.yml exec -T app python run_create_schema.py
# 等待服務啟動
echo "⏳ 等待服務啟動..."
sleep 30
# 檢查服務狀態
echo "🔍 檢查服務狀態..."
docker-compose -f docker-compose.prod.yml ps
# 檢查健康狀態
echo "🏥 檢查應用健康狀態..."
max_attempts=10
attempt=1
while [ $attempt -le $max_attempts ]; do
if curl -s http://localhost:12010/api/health | grep -q "healthy"; then
echo "✅ 應用程式啟動成功!"
break
else
echo "⏳ 等待應用程式啟動... (嘗試 $attempt/$max_attempts)"
sleep 10
((attempt++))
fi
done
if [ $attempt -gt $max_attempts ]; then
echo "❌ 應用程式啟動失敗"
echo "請檢查日誌:"
docker-compose -f docker-compose.prod.yml logs app
exit 1
fi
echo ""
echo "🎉 生產環境部署完成!"
echo "=================================================="
echo "📊 服務狀態:"
docker-compose -f docker-compose.prod.yml ps
echo ""
echo "🌐 應用程式訪問地址http://localhost:12010"
echo "🔧 API 健康檢查http://localhost:12010/api/health"
echo ""
echo "📝 日誌查看命令:"
echo " - 應用程式日誌docker-compose -f docker-compose.prod.yml logs -f app"
echo " - Worker 日誌docker-compose -f docker-compose.prod.yml logs -f celery-worker"
echo " - Nginx 日誌docker-compose -f docker-compose.prod.yml logs -f nginx"
echo ""
echo "🛑 停止服務命令docker-compose -f docker-compose.prod.yml down"
echo ""
echo "✅ 部署完成!系統已準備好在生產環境中運行。"