services:
mcp-document-server:
build: .
container_name: mcp-document-server
restart: unless-stopped
env_file:
- .env
ports:
- "8252:8000"
volumes:
# Mount rclone directory for documents (synced to Google Drive)
- /home/watsam/rclone:/documents # Read-write for create_document tool
environment:
# Server configuration
- MCP_TRANSPORT=sse
- MCP_HOST=0.0.0.0
- MCP_PORT=8000
# Logging (DEBUG for verbose, INFO for normal, WARNING for quiet)
- LOG_LEVEL=${LOG_LEVEL:-INFO}
# Document settings
- DOCUMENTS_PATH=/documents
- MAX_FILE_SIZE_MB=10
- ALLOWED_EXTENSIONS=.txt,.md,.pdf,.docx,.xlsx,.pptx,.csv,.json,.yaml,.yml,.log
# Authentication token (required for access) - set in .env or override
- MCP_AUTH_TOKEN=${MCP_AUTH_TOKEN:-}
# Allowed hosts for MCP transport security (Tailscale Funnel + localhost)
- MCP_ALLOWED_HOSTS=frigate.taila099fd.ts.net,localhost,127.0.0.1
networks:
- mcp-network
logging:
driver: "journald"
options:
tag: "mcp-document-server"
# Security options
security_opt:
- no-new-privileges:true
# Resource limits
deploy:
resources:
limits:
cpus: '1.0'
memory: 512M
reservations:
cpus: '0.25'
memory: 128M
networks:
mcp-network:
driver: bridge