#!/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