--- title: '环境变量' description: '使用环境变量配置 MCPHub' --- # 环境变量 MCPHub 使用环境变量进行配置。本指南涵盖了所有可用的变量及其用法。 ## 核心应用设置 ### 服务器配置 | 变量 | 默认值 | 描述 | | --- | --- | --- | | `PORT` | `3000` | HTTP 服务器的端口号 | | `INIT_TIMEOUT` | `300000` | 应用程序的初始超时时间 | | `BASE_PATH` | `''` | 应用程序的基本路径 | | `READONLY` | `false` | 设置为 `true` 以启用只读模式 | | `MCPHUB_SETTING_PATH` | | MCPHub 设置文件的路径 | | `NODE_ENV` | `development` | 应用程序环境 (`development`, `production`, `test`) | ```env PORT=3000 INIT_TIMEOUT=300000 BASE_PATH=/api READONLY=true MCPHUB_SETTING_PATH=/path/to/settings NODE_ENV=production ``` ## 认证与安全 ### JWT 配置 | 变量 | 默认值 | 描述 | | --- | --- | --- | | `JWT_SECRET` | - | 用于 JWT 令牌签名的密钥 (必需) | ```env JWT_SECRET=your-super-secret-key-change-this-in-production ``` ## 配置示例 ### 开发环境 ```env # .env.development NODE_ENV=development PORT=3000 # 认证 JWT_SECRET=dev-secret-key ``` ### 生产环境 ```env # .env.production NODE_ENV=production PORT=3000 # 安全 JWT_SECRET=your-super-secure-production-secret ``` ### Docker 环境 ```env # .env.docker NODE_ENV=production PORT=3000 # 安全 JWT_SECRET_FILE=/run/secrets/jwt_secret ``` ## 环境变量加载 MCPHub 按以下顺序加载环境变量: 1. 系统环境变量 2. `.env.local` (被 git 忽略) 3. `.env.{NODE_ENV}` (例如, `.env.production`) 4. `.env` ### 使用 dotenv-expand MCPHub 支持变量扩展: ```env BASE_URL=https://api.example.com API_ENDPOINT=${BASE_URL}/v1 ``` ## 安全最佳实践 1. **永远不要将密钥提交**到版本控制 2. **为生产环境使用强大、独特的密钥** 3. **定期轮换密钥** 4. **使用特定于环境的文件** 5. **在启动时验证所有环境变量** 6. **为容器部署使用 Docker 密钥**