67 lines
1.6 KiB
YAML
67 lines
1.6 KiB
YAML
services:
|
|
influxdb-mcp-server:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
image: influxdb-mcp-server:latest
|
|
container_name: influxdb-mcp-server
|
|
|
|
# Environment variables for InfluxDB connection
|
|
environment:
|
|
- INFLUX_URL=${INFLUX_URL}
|
|
- INFLUX_TOKEN=${INFLUX_TOKEN}
|
|
- INFLUX_ORG=${INFLUX_ORG}
|
|
- NODE_ENV=production
|
|
|
|
# Use host network mode to access InfluxDB on local network
|
|
# Alternative: Use bridge network if InfluxDB is also in Docker
|
|
network_mode: host
|
|
|
|
# Restart policy - "no" is appropriate for stdio MCP servers
|
|
# MCP servers are started on-demand by clients, not long-running services
|
|
restart: "no"
|
|
|
|
# Security options
|
|
security_opt:
|
|
- no-new-privileges:true
|
|
|
|
# Read-only root filesystem for security (app writes to /tmp only)
|
|
read_only: true
|
|
tmpfs:
|
|
- /tmp
|
|
|
|
# Resource limits
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
cpus: '0.5'
|
|
memory: 256M
|
|
reservations:
|
|
cpus: '0.1'
|
|
memory: 64M
|
|
|
|
# Logging configuration
|
|
logging:
|
|
driver: json-file
|
|
options:
|
|
max-size: "10m"
|
|
max-file: "3"
|
|
|
|
# Health check disabled for stdio-based MCP servers
|
|
# MCP servers communicate via stdin/stdout, which conflicts with healthchecks
|
|
healthcheck:
|
|
disable: true
|
|
|
|
# Alternative configuration for bridge network with InfluxDB in Docker
|
|
# Uncomment if your InfluxDB is also running in Docker
|
|
#
|
|
# networks:
|
|
# influx-network:
|
|
# driver: bridge
|
|
#
|
|
# services:
|
|
# influxdb-mcp-server:
|
|
# networks:
|
|
# - influx-network
|
|
# # Remove network_mode: host when using bridge network
|