services: pim-mcp-server: build: context: . dockerfile: Dockerfile container_name: pim-mcp-server restart: unless-stopped ports: - "${PORT:-8000}:8000" volumes: - pim-data:/data environment: # Server Configuration - SERVER_NAME=${SERVER_NAME:-PIM MCP Server} - PORT=${PORT:-8000} - HOST=0.0.0.0 - ENVIRONMENT=${ENVIRONMENT:-production} # API Authentication - MCP_API_KEY=${MCP_API_KEY} # IMAP Configuration (Email Reading) - IMAP_HOST=${IMAP_HOST} - IMAP_PORT=${IMAP_PORT:-993} - IMAP_USERNAME=${IMAP_USERNAME} - IMAP_PASSWORD=${IMAP_PASSWORD} - IMAP_USE_SSL=${IMAP_USE_SSL:-true} # SMTP Configuration (Email Sending) - SMTP_HOST=${SMTP_HOST} - SMTP_PORT=${SMTP_PORT:-587} - SMTP_USERNAME=${SMTP_USERNAME} - SMTP_PASSWORD=${SMTP_PASSWORD} - SMTP_USE_TLS=${SMTP_USE_TLS:-true} - SMTP_FROM_EMAIL=${SMTP_FROM_EMAIL} - SMTP_FROM_NAME=${SMTP_FROM_NAME} # CalDAV Configuration (Calendar) - CALDAV_URL=${CALDAV_URL} - CALDAV_USERNAME=${CALDAV_USERNAME} - CALDAV_PASSWORD=${CALDAV_PASSWORD} # CardDAV Configuration (Contacts) - CARDDAV_URL=${CARDDAV_URL} - CARDDAV_USERNAME=${CARDDAV_USERNAME} - CARDDAV_PASSWORD=${CARDDAV_PASSWORD} # Cache Configuration - SQLITE_PATH=/data/cache.db - CACHE_TTL_SECONDS=${CACHE_TTL_SECONDS:-300} # Feature Flags - ENABLE_EMAIL=${ENABLE_EMAIL:-true} - ENABLE_CALENDAR=${ENABLE_CALENDAR:-true} - ENABLE_CONTACTS=${ENABLE_CONTACTS:-true} healthcheck: test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:8000/mcp')"] interval: 30s timeout: 10s retries: 3 start_period: 10s volumes: pim-data: driver: local