services:
fastintercom:
build: .
container_name: fastintercom-mcp
restart: unless-stopped
environment:
# Required
- INTERCOM_ACCESS_TOKEN=${INTERCOM_ACCESS_TOKEN}
# Optional configuration
- FASTINTERCOM_LOG_LEVEL=${FASTINTERCOM_LOG_LEVEL:-INFO}
- FASTINTERCOM_INITIAL_SYNC_DAYS=${FASTINTERCOM_INITIAL_SYNC_DAYS:-90}
- FASTINTERCOM_MAX_SYNC_AGE_MINUTES=${FASTINTERCOM_MAX_SYNC_AGE_MINUTES:-5}
- FASTINTERCOM_BACKGROUND_SYNC_INTERVAL=${FASTINTERCOM_BACKGROUND_SYNC_INTERVAL:-10}
# Container paths
- FASTINTERCOM_DB_PATH=/data/fastintercom.db
- FASTINTERCOM_CONFIG_PATH=/config/config.json
- FASTINTERCOM_DATA_DIR=/data
volumes:
# Persistent data storage
- fastintercom-data:/data
- fastintercom-config:/config
- fastintercom-logs:/var/log/fastintercom
# For local development - mount project directory
# - .:/app:ro
ports:
# Expose HTTP MCP port (comment out for stdio-only mode)
- "8000:8000"
healthcheck:
test: ["CMD", "python", "-m", "fast_intercom_mcp.cli", "status"]
interval: 30s
timeout: 10s
retries: 3
start_period: 30s
# Resource limits
deploy:
resources:
limits:
memory: 512M
reservations:
memory: 256M
volumes:
fastintercom-data:
driver: local
fastintercom-config:
driver: local
fastintercom-logs:
driver: local