services: worker: image: python:3.11-slim container_name: email-worker-${WORKER_DOMAIN} restart: unless-stopped network_mode: host # Zugriff auf lokales Netzwerk für Postfix # Worker-Code mounten volumes: - ./worker.py:/app/worker.py:ro working_dir: /app # Python Dependencies installieren und Worker starten command: > sh -c "apt-get update && apt-get install -y --no-install-recommends procps && rm -rf /var/lib/apt/lists/* && pip install --no-cache-dir boto3 && python -u worker.py" environment: # ⚠️ WICHTIG: WORKER_DOMAIN muss von außen gesetzt werden! - WORKER_DOMAIN=${WORKER_DOMAIN} # AWS Credentials - AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID} - AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY} # Worker Settings - POLL_INTERVAL=${POLL_INTERVAL:-20} - MAX_MESSAGES=${MAX_MESSAGES:-10} - VISIBILITY_TIMEOUT=${VISIBILITY_TIMEOUT:-300} # SMTP Configuration - SMTP_HOST=${SMTP_HOST:-localhost} - SMTP_PORT=${SMTP_PORT:-25} - SMTP_USE_TLS=${SMTP_USE_TLS:-false} - SMTP_USER=${SMTP_USER:-} - SMTP_PASS=${SMTP_PASS:-} logging: driver: "json-file" options: max-size: "10m" max-file: "5" healthcheck: test: ["CMD", "pgrep", "-f", "worker.py"] interval: 30s timeout: 10s retries: 3 start_period: 10s