feat: 动态路径系统 - 支持任意用户环境部署
问题: - 100+ 处硬编码路径 /Users/accusys - 无法在不同用户环境部署 - 配置文件路径固定 解决方案: 1. ✅ 创建 paths.rs 模块 - get_home_dir() - 获取用户主目录 - get_momentry_core_root() - Core API 根目录 - get_markbase_root() - MarkBase 根目录 - get_studio_root() - Studio 根目录 - get_storage_root() - 存储根目录 - 环境变量优先 > 用户主目录推断 2. ✅ 修改 main.rs - 移除所有硬编码路径 - 使用动态路径函数 - 支持环境变量配置 3. ✅ 创建配置模板 - admin_config.json.template - .env.template - 使用 {{HOME}} 占位符 4. ✅ 创建自动化脚本 - install.sh - 通用安装脚本 - generate_config.sh - 配置生成脚本 - 自动检测用户环境 特性: - ✅ 支持任意用户环境 - ✅ 自动检测用户主目录 - ✅ 环境变量优先级控制 - ✅ 一键安装部署 测试: - ✅ 编译通过 (cargo check) - ⚠️ 需要在新环境测试 使用方法: 1. 克隆项目 2. ./install.sh 3. 编辑 .env 4. npm run proxy 适用环境: - m5max48: /Users/accusys - m4promini: /Users/nextorageai - 任意 macOS 环境
This commit is contained in:
107
.env.template
Normal file
107
.env.template
Normal file
@@ -0,0 +1,107 @@
|
||||
# Momentry Studio - 环境变量模板
|
||||
# 复制此文件为 .env 并根据实际环境修改
|
||||
|
||||
# ========================================
|
||||
# 用户主目录(自动检测,通常不需要设置)
|
||||
# ========================================
|
||||
# HOME=/Users/your_username
|
||||
|
||||
# ========================================
|
||||
# 项目根目录
|
||||
# ========================================
|
||||
# 默认: $HOME/momentry_core
|
||||
MOMENTRY_CORE_ROOT=${HOME}/momentry_core
|
||||
|
||||
# 默认: $HOME/markbase
|
||||
MARKBASE_ROOT=${HOME}/markbase
|
||||
|
||||
# 默认: $HOME/momentry_studio
|
||||
MOMENTRY_STUDIO_ROOT=${HOME}/momentry_studio
|
||||
|
||||
# 默认: $HOME/momentry
|
||||
MOMENTRY_ROOT=${HOME}/momentry
|
||||
|
||||
# 默认: $HOME/MarkBaseEngine
|
||||
MARKBASE_ENGINE_ROOT=${HOME}/MarkBaseEngine
|
||||
|
||||
# ========================================
|
||||
# 存储路径
|
||||
# ========================================
|
||||
# 默认: $HOME/momentry/var/sftpgo/data
|
||||
STORAGE_ROOT=${HOME}/momentry/var/sftpgo/data
|
||||
|
||||
# 默认: $HOME/momentry/output
|
||||
OUTPUT_DIR=${HOME}/momentry/output
|
||||
|
||||
# 默认: $HOME/momentry/backup
|
||||
BACKUP_DIR=${HOME}/momentry/backup
|
||||
|
||||
# ========================================
|
||||
# 数据库
|
||||
# ========================================
|
||||
# SQLite 数据库目录
|
||||
MOMENTRY_DATA_DIR=${HOME}/momentry_studio/data/users
|
||||
|
||||
# PostgreSQL 连接字符串
|
||||
DATABASE_URL=postgres://$(whoami)@localhost:5432/momentry
|
||||
|
||||
# Qdrant
|
||||
QDRANT_URL=http://localhost:6333
|
||||
QDRANT_API_KEY=your_qdrant_api_key_here
|
||||
|
||||
# Redis (可选)
|
||||
REDIS_URL=redis://localhost:6379
|
||||
|
||||
# ========================================
|
||||
# API Keys
|
||||
# ========================================
|
||||
# Momentry Core API Key
|
||||
MOMENTRY_API_KEY=your_momentry_api_key_here
|
||||
|
||||
# ========================================
|
||||
# 工具路径
|
||||
# ========================================
|
||||
# Python (用于脚本)
|
||||
PYTHON_PATH=/opt/homebrew/bin/python3.11
|
||||
|
||||
# FFmpeg (用于视频处理)
|
||||
FFMPEG_PATH=/opt/homebrew/bin/ffmpeg
|
||||
|
||||
# ========================================
|
||||
# 服务配置
|
||||
# ========================================
|
||||
# Core API 端口
|
||||
MOMENTRY_SERVER_PORT=3002
|
||||
|
||||
# Studio Proxy 端口
|
||||
STUDIO_PROXY_PORT=8888
|
||||
|
||||
# MarkBase 端口
|
||||
MARKBASE_PORT=11438
|
||||
|
||||
# ========================================
|
||||
# LLM 服务
|
||||
# ========================================
|
||||
# VLM Vision API
|
||||
MOMENTRY_LLM_VISION_URL=http://localhost:8080/v1/chat/completions
|
||||
|
||||
# LLM Chat API
|
||||
MOMENTRY_LLM_CHAT_URL=http://localhost:8080/v1/chat/completions
|
||||
|
||||
# ========================================
|
||||
# 外部服务 URL
|
||||
# ========================================
|
||||
# Media Base URL
|
||||
MEDIA_BASE_URL=https://wp.momentry.ddns.net
|
||||
|
||||
# Serve Base URL
|
||||
SERVE_BASE_URL=https://m5wp.momentry.ddns.net/files
|
||||
|
||||
# ========================================
|
||||
# 说明
|
||||
# ========================================
|
||||
# 1. 复制此文件: cp .env.template .env
|
||||
# 2. 编辑 .env 文件,填入实际值
|
||||
# 3. 加载环境变量: source .env
|
||||
# 4. 运行配置生成: ./generate_config.sh
|
||||
# 5. 启动服务: npm run proxy
|
||||
Reference in New Issue
Block a user