Files
mcphub/docs/zh/configuration/environment-variables.mdx

105 lines
2.0 KiB
Plaintext

---
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 密钥**