# Nginx configuration example for MCPHub with subpath routing | |
# This example shows how to deploy MCPHub under a subpath like /mcphub | |
server { | |
listen 80; | |
server_name your-domain.com; | |
# MCPHub under /mcphub subpath | |
location /mcphub/ { | |
# Remove the subpath prefix before forwarding to MCPHub | |
rewrite ^/mcphub/(.*)$ /$1 break; | |
proxy_pass http://mcphub:3000/; | |
proxy_http_version 1.1; | |
proxy_set_header Upgrade $http_upgrade; | |
proxy_set_header Connection 'upgrade'; | |
proxy_set_header Host $host; | |
proxy_set_header X-Real-IP $remote_addr; | |
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | |
proxy_set_header X-Forwarded-Proto $scheme; | |
proxy_cache_bypass $http_upgrade; | |
# Important: Disable buffering for SSE connections | |
proxy_buffering off; | |
proxy_cache off; | |
# Support for Server-Sent Events (SSE) | |
proxy_read_timeout 24h; | |
proxy_send_timeout 24h; | |
} | |
# Alternative configuration if you want to keep the subpath in the backend | |
# In this case, set BASE_PATH=/mcphub | |
# location /mcphub/ { | |
# proxy_pass http://mcphub:3000/mcphub/; | |
# proxy_http_version 1.1; | |
# proxy_set_header Upgrade $http_upgrade; | |
# proxy_set_header Connection 'upgrade'; | |
# proxy_set_header Host $host; | |
# proxy_set_header X-Real-IP $remote_addr; | |
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | |
# proxy_set_header X-Forwarded-Proto $scheme; | |
# proxy_cache_bypass $http_upgrade; | |
# | |
# # Important: Disable buffering for SSE connections | |
# proxy_buffering off; | |
# proxy_cache off; | |
# | |
# # Support for Server-Sent Events (SSE) | |
# proxy_read_timeout 24h; | |
# proxy_send_timeout 24h; | |
# } | |
} | |
# Docker Compose example with subpath | |
# version: '3.8' | |
# services: | |
# mcphub: | |
# image: samanhappy/mcphub | |
# environment: | |
# - BASE_PATH=/mcphub | |
# volumes: | |
# - ./mcp_settings.json:/app/mcp_settings.json | |
# | |
# nginx: | |
# image: nginx:alpine | |
# ports: | |
# - "80:80" | |
# volumes: | |
# - ./nginx.conf:/etc/nginx/conf.d/default.conf | |
# depends_on: | |
# - mcphub | |