version: "3.8" # Unified Email Worker - verarbeitet alle Domains mit einem Container services: unified-worker: build: context: . dockerfile: Dockerfile container_name: unified-email-worker restart: unless-stopped network_mode: host # Für lokalen SMTP-Zugriff volumes: # Domain-Liste (eine Domain pro Zeile) - ./domains.txt:/etc/email-worker/domains.txt:ro # Logs - ./logs:/var/log/email-worker environment: # AWS Credentials - AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID} - AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY} - AWS_REGION=us-east-2 # Alternative: Domains direkt als Liste # - DOMAINS=andreasknuth.de,bayarea-cc.com,bizmatch.net # Worker Settings - WORKER_THREADS=${WORKER_THREADS:-10} - POLL_INTERVAL=${POLL_INTERVAL:-20} - MAX_MESSAGES=${MAX_MESSAGES:-10} - VISIBILITY_TIMEOUT=${VISIBILITY_TIMEOUT:-300} # SMTP (lokal zum DMS) - SMTP_HOST=${SMTP_HOST:-localhost} - SMTP_PORT=${SMTP_PORT:-25} - SMTP_POOL_SIZE=${SMTP_POOL_SIZE:-5} # Monitoring - METRICS_PORT=8000 - HEALTH_PORT=8080 ports: # Prometheus Metrics - "8000:8000" # Health Check - "8080:8080" healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8080/health"] interval: 30s timeout: 10s retries: 3 start_period: 10s logging: driver: "json-file" options: max-size: "50m" max-file: "10" deploy: resources: limits: memory: 512M reservations: memory: 256M