-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
43 lines (37 loc) · 1.64 KB
/
docker-compose.yml
File metadata and controls
43 lines (37 loc) · 1.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
version: '3.8'
services:
mcp-proxy:
build: .
container_name: mcp-proxy-server
ports:
- "8000:8000"
volumes:
# Mount servers config file - path can be customized via SERVERS_CONFIG_FILE env var
# Updates to the config file will be reflected without rebuilding the container
- ${SERVERS_CONFIG_FILE:-./servers.yaml}:/app/${SERVERS_CONFIG_PATH:-servers.yaml}:ro
# Mount API keys config file
- ${API_KEYS_CONFIG_FILE:-./api-keys.yaml}:/app/${API_KEYS_CONFIG_PATH:-api-keys.yaml}:ro
environment:
# Server configuration
# Path inside container where servers config file is located
- SERVERS_CONFIG_PATH=${SERVERS_CONFIG_PATH:-servers.yaml}
# API Keys configuration
# Path inside container where API keys config file is located
- API_KEYS_CONFIG_PATH=${API_KEYS_CONFIG_PATH:-api-keys.yaml}
# Authentication - set AUTH_ENABLED=false in host env to disable for development
- AUTH_ENABLED=${AUTH_ENABLED:-false}
# CORS settings - secure by default (empty = blocked)
# Set to ["*"] for development or specific origins for production
- CORS_ORIGINS=${CORS_ORIGINS:-[]}
- CORS_ALLOW_CREDENTIALS=${CORS_ALLOW_CREDENTIALS:-true}
- CORS_ALLOW_METHODS=${CORS_ALLOW_METHODS:-["*"]}
- CORS_ALLOW_HEADERS=${CORS_ALLOW_HEADERS:-["*"]}
# Logging
- LOG_LEVEL=${LOG_LEVEL:-INFO}
restart: unless-stopped
healthcheck:
test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:8000/health')"]
interval: 30s
timeout: 10s
retries: 3
start_period: 5s