Skip to main content

环境变量

MCPHub 使用环境变量进行配置。本指南涵盖了所有可用的变量及其用法。

核心应用设置

服务器配置

认证与安全

JWT 配置

Better Auth(可选:GitHub / Google / 本地 OIDC 登录)

Better Auth 会在 src/betterAuth.ts 中于启动时初始化一次,因此无论是改环境变量还是改 systemConfig.auth.betterAuth / systemConfig.install.baseUrl,都需要重启后才会生效。 对于非敏感的 Better Auth 配置,MCPHub 现在按以下优先级解析:
  1. BETTER_AUTH_* 环境变量
  2. systemConfig.auth.betterAuth(来自 mcp_settings.json 或数据库系统配置)
  3. 内置默认值
Provider 的客户端凭据仍然只支持通过环境变量提供。 MCPHub 里的 Better Auth 目前依赖 PostgreSQL 会话存储,因此需要配置 DB_URL;纯文件模式不支持 Better Auth 登录。 非敏感的 Better Auth 配置仍然可以放在 systemConfig.auth.betterAuth 中,但现在推荐优先使用 BETTER_AUTH_* 环境变量。一个纯环境变量驱动的本地 OIDC 配置示例如下:

配置示例

开发环境

生产环境

Docker 环境

环境变量加载

MCPHub 按以下顺序加载环境变量:
  1. 系统环境变量
  2. .env.local (被 git 忽略)
  3. .env.{NODE_ENV} (例如, .env.production)
  4. .env

使用 dotenv-expand

MCPHub 支持变量扩展:

安全最佳实践

  1. 永远不要将密钥提交到版本控制
  2. 为生产环境使用强大、独特的密钥
  3. 定期轮换密钥
  4. 使用特定于环境的文件
  5. 在启动时验证所有环境变量
  6. 为容器部署使用 Docker 密钥