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