從 Docker/macOS+Conda 部署遷移到 WSL2 Ubuntu 原生開發環境 主要變更: - 移除所有 Docker 相關配置檔案 (Dockerfile, docker-compose.yml, .dockerignore 等) - 移除 macOS/Conda 設置腳本 (SETUP.md, setup_conda.sh) - 新增 WSL Ubuntu 自動化環境設置腳本 (setup_dev_env.sh) - 新增後端/前端快速啟動腳本 (start_backend.sh, start_frontend.sh) - 統一開發端口配置 (backend: 8000, frontend: 5173) - 改進資料庫連接穩定性(連接池、超時設置、重試機制) - 更新專案文檔以反映當前 WSL 開發環境 Technical improvements: - Database connection pooling with health checks and auto-reconnection - Retry logic for long-running OCR tasks to prevent DB timeouts - Extended JWT token expiration to 24 hours - Support for Office documents (pptx, docx) via LibreOffice headless - Comprehensive system dependency installation in single script Environment: - OS: WSL2 Ubuntu 24.04 - Python: 3.12 (venv) - Node.js: 24.x LTS (nvm) - Backend Port: 8000 - Frontend Port: 5173 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
60 lines
1.4 KiB
Bash
Executable File
60 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
# Tool_OCR - 後端開發服務器啟動腳本
|
|
|
|
set -e
|
|
|
|
# 顏色定義
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[1;33m'
|
|
RED='\033[0;31m'
|
|
NC='\033[0m' # No Color
|
|
|
|
echo -e "${YELLOW}正在啟動 Tool_OCR 後端開發服務器...${NC}"
|
|
echo ""
|
|
|
|
# 檢查虛擬環境
|
|
if [ ! -d "venv" ]; then
|
|
echo -e "${RED}錯誤: 未找到虛擬環境${NC}"
|
|
echo "請先運行: ./setup_dev_env.sh"
|
|
exit 1
|
|
fi
|
|
|
|
# 檢查 .env.local
|
|
if [ ! -f ".env.local" ]; then
|
|
echo -e "${RED}錯誤: 未找到 .env.local 配置文件${NC}"
|
|
echo "請確保 .env.local 文件存在"
|
|
exit 1
|
|
fi
|
|
|
|
# 啟動虛擬環境
|
|
echo -e "${GREEN}啟動 Python 虛擬環境...${NC}"
|
|
source venv/bin/activate
|
|
|
|
# 載入環境變量
|
|
echo -e "${GREEN}載入環境變量...${NC}"
|
|
export $(cat .env.local | grep -v '^#' | xargs)
|
|
|
|
# 進入後端目錄
|
|
cd backend
|
|
|
|
# 檢查必要的目錄
|
|
echo -e "${GREEN}檢查目錄結構...${NC}"
|
|
mkdir -p uploads/{temp,processed,images}
|
|
mkdir -p storage/{markdown,json,exports}
|
|
mkdir -p models/paddleocr
|
|
mkdir -p logs
|
|
|
|
# 啟動後端服務器
|
|
echo ""
|
|
echo -e "${GREEN}================================${NC}"
|
|
echo -e "${GREEN}後端服務器啟動中...${NC}"
|
|
echo -e "${GREEN}================================${NC}"
|
|
echo ""
|
|
echo "API 文檔: http://localhost:8000/docs"
|
|
echo "健康檢查: http://localhost:8000/health"
|
|
echo ""
|
|
echo "按 Ctrl+C 停止服務器"
|
|
echo ""
|
|
|
|
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
|