#!/bin/bash # Config Check Script # 驗證配置是否正確設置 set -e RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' NC='\033[0m' echo "==========================================" echo "Momentry Core 配置檢查" echo "==========================================" # 檢查 .env 文件 if [ -f ".env" ]; then echo -e "${GREEN}✅ .env 文件存在${NC}" else if [ -f ".env.example" ]; then echo -e "${YELLOW}⚠️ .env 文件不存在,使用模板創建...${NC}" cp .env.example .env echo -e "${YELLOW}⚠️ 已創建 .env,請編輯並設置正確的憑據${NC}" else echo -e "${RED}❌ .env 和 .env.example 都不存在${NC}" fi fi # 檢查必要配置 check_var() { local var_name="$1" local description="$2" if grep -q "^${var_name}=" .env 2>/dev/null; then echo -e "${GREEN}✅ ${var_name}${NC} - $description" else echo -e "${YELLOW}⚠️ ${var_name}${NC} - $description (使用默認值)" fi } if [ -f ".env" ]; then echo "" echo "檢查環境變數..." check_var "DATABASE_URL" "PostgreSQL 連接" check_var "REDIS_URL" "Redis 連接" check_var "REDIS_PASSWORD" "Redis 密碼" check_var "MOMENTRY_OUTPUT_DIR" "輸出目錄" check_var "MOMENTRY_PYTHON_PATH" "Python 路徑" check_var "RUST_LOG" "日誌級別" fi # 檢查目錄權限 echo "" echo "檢查目錄權限..." check_dir() { local dir="$1" local description="$2" if [ -d "$dir" ]; then if [ -w "$dir" ]; then echo -e "${GREEN}✅ ${dir}${NC} - $description (可寫)" else echo -e "${RED}❌ ${dir}${NC} - $description (不可寫)" fi else echo -e "${YELLOW}⚠️ ${dir}${NC} - $description (目錄不存在)" fi } check_dir "/Users/accusys/momentry/output" "輸出目錄" check_dir "/Users/accusys/momentry/backup" "備份目錄" # 檢查 Python echo "" echo "檢查 Python..." if command -v python3.11 &> /dev/null; then version=$(python3.11 --version 2>&1) echo -e "${GREEN}✅ Python 3.11 可用${NC} ($version)" else echo -e "${RED}❌ Python 3.11 不可用${NC}" fi # 檢查 Rust echo "" echo "檢查 Rust..." if command -v cargo &> /dev/null; then version=$(cargo --version 2>&1) echo -e "${GREEN}✅ Cargo 可用${NC} ($version)" else echo -e "${RED}❌ Cargo 不可用${NC}" fi echo "" echo "==========================================" echo "配置檢查完成" echo "=========================================="