# Momentry Core 配置管理 ## 目錄結構 ``` momentry_core_0.1/ ├── .env.example # 配置模板(已納入版本控制) ├── .env # 本地配置(已從版本控制排除) ├── .env.local # 本地覆蓋配置(已從版本控制排除) ├── config/ │ └── README.md # 本文件 └── src/core/config.rs # 配置代碼 ``` ## 配置加載順序 1. `.env` - 默認本地配置 2. `.env.local` - 本地覆蓋(最高優先級) ## 環境變數列表 ### 數據庫配置 | 變數 | 說明 | 默認值 | |------|------|--------| | `DATABASE_URL` | PostgreSQL 連接字串 | `postgres://accusys@localhost:5432/momentry` | ### Redis 配置 | 變數 | 說明 | 默認值 | |------|------|--------| | `REDIS_URL` | Redis 連接字串 | `redis://:accusys@localhost:6379` | | `REDIS_PASSWORD` | Redis 密碼 | `accusys` | ### 存儲路徑 | 變數 | 說明 | 默認值 | |------|------|--------| | `MOMENTRY_OUTPUT_DIR` | 輸出目錄 | `/Users/accusys/momentry/output` | | `MOMENTRY_BACKUP_DIR` | 備份目錄 | `/Users/accusys/momentry/backup/momentry` | | `MOMENTRY_SCRIPTS_DIR` | 腳本目錄 | `/Users/accusys/momentry_core_0.1/scripts` | | `MOMENTRY_PYTHON_PATH` | Python 路徑 | `/opt/homebrew/bin/python3.11` | ### 處理器超時(秒) | 變數 | 說明 | 默認值 | |------|------|--------| | `MOMENTRY_ASR_TIMEOUT` | ASR 處理超時 | `3600` | | `MOMENTRY_CUT_TIMEOUT` | CUT 處理超時 | `3600` | | `MOMENTRY_DEFAULT_TIMEOUT` | 默認超時 | `7200` | ### 日誌 | 變數 | 說明 | 默認值 | |------|------|--------| | `RUST_LOG` | 日誌級別 | `info` | | `MOMENTRY_LOG_LEVEL` | 日誌級別(備選) | `info` | ## 使用方式 ### 1. 首次設置 ```bash # 複製模板 cp .env.example .env # 編輯配置 nano .env ``` ### 2. 本地覆蓋 創建 `.env.local` 設置僅本地適用的配置: ```bash # .env.local 示例 DATABASE_URL=postgres://local:password@localhost:5432/momentry_dev MOMENTRY_LOG_LEVEL=debug ``` ### 3. 運行應用 ```bash # 加載配置並運行 source .env && cargo run # 或使用 direnv direnv allow ``` ## 版本控制策略 | 文件 | 版本控制 | 說明 | |------|---------|------| | `.env.example` | ✅ 追蹤 | 模板,包含所有選項 | | `.env` | ❌ 忽略 | 本地敏感配置 | | `.env.local` | ❌ 忽略 | 本地覆蓋配置 | ## 部署檢查清單 - [ ] 複製 `.env.example` 到 `.env` - [ ] 設置數據庫連接 - [ ] 設置 Redis 密碼 - [ ] 配置目錄路徑 - [ ] 確認日誌級別