mirror of
https://github.com/samanhappy/mcphub.git
synced 2025-12-24 02:39:19 -05:00
105 lines
2.2 KiB
Plaintext
105 lines
2.2 KiB
Plaintext
---
|
|
title: 'Environment Variables'
|
|
description: 'Configure MCPHub using environment variables'
|
|
---
|
|
|
|
# Environment Variables
|
|
|
|
MCPHub uses environment variables for configuration. This guide covers all available variables and their usage.
|
|
|
|
## Core Application Settings
|
|
|
|
### Server Configuration
|
|
|
|
| Variable | Default | Description |
|
|
| --- | --- | --- |
|
|
| `PORT` | `3000` | Port number for the HTTP server |
|
|
| `INIT_TIMEOUT` | `300000` | Initial timeout for the application |
|
|
| `BASE_PATH` | `''` | The base path of the application |
|
|
| `READONLY` | `false` | Set to `true` to enable readonly mode |
|
|
| `MCPHUB_SETTING_PATH` | | Path to the MCPHub settings |
|
|
| `NODE_ENV` | `development` | Application environment (`development`, `production`, `test`) |
|
|
|
|
```env
|
|
PORT=3000
|
|
INIT_TIMEOUT=300000
|
|
BASE_PATH=/api
|
|
READONLY=true
|
|
MCPHUB_SETTING_PATH=/path/to/settings
|
|
NODE_ENV=production
|
|
```
|
|
|
|
## Authentication & Security
|
|
|
|
### JWT Configuration
|
|
|
|
| Variable | Default | Description |
|
|
| --- | --- | --- |
|
|
| `JWT_SECRET` | - | Secret key for JWT token signing (required) |
|
|
|
|
```env
|
|
JWT_SECRET=your-super-secret-key-change-this-in-production
|
|
```
|
|
|
|
## Configuration Examples
|
|
|
|
### Development Environment
|
|
|
|
```env
|
|
# .env.development
|
|
NODE_ENV=development
|
|
PORT=3000
|
|
|
|
# Auth
|
|
JWT_SECRET=dev-secret-key
|
|
```
|
|
|
|
### Production Environment
|
|
|
|
```env
|
|
# .env.production
|
|
NODE_ENV=production
|
|
PORT=3000
|
|
|
|
# Security
|
|
JWT_SECRET=your-super-secure-production-secret
|
|
```
|
|
|
|
### Docker Environment
|
|
|
|
```env
|
|
# .env.docker
|
|
NODE_ENV=production
|
|
PORT=3000
|
|
|
|
# Security
|
|
JWT_SECRET_FILE=/run/secrets/jwt_secret
|
|
```
|
|
|
|
## Environment Variable Loading
|
|
|
|
MCPHub loads environment variables in the following order:
|
|
|
|
1. System environment variables
|
|
2. `.env.local` (ignored by git)
|
|
3. `.env.{NODE_ENV}` (e.g., `.env.production`)
|
|
4. `.env`
|
|
|
|
### Using dotenv-expand
|
|
|
|
MCPHub supports variable expansion:
|
|
|
|
```env
|
|
BASE_URL=https://api.example.com
|
|
API_ENDPOINT=${BASE_URL}/v1
|
|
```
|
|
|
|
## Security Best Practices
|
|
|
|
1. **Never commit secrets** to version control
|
|
2. **Use strong, unique secrets** for production
|
|
3. **Rotate secrets regularly**
|
|
4. **Use environment-specific files**
|
|
5. **Validate all environment variables** at startup
|
|
6. **Use Docker secrets** for container deployments
|