Files
OCR/start_backend.sh
egg d7e64737b7 feat: migrate to WSL Ubuntu native development environment
從 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>
2025-11-13 21:00:42 +08:00

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