version: '3.8' services: evolution-api: image: atendai/evolution-api:latest container_name: evolution-api restart: unless-stopped environment: # Configuración básica - SERVER_URL=https://${APP_DOMAIN} - AUTHENTICATION_TYPE=apikey - AUTHENTICATION_API_KEY=${EVOLUTION_API_KEY} - AUTHENTICATION_EXPOSE_IN_FETCH_INSTANCES=true # Base de datos (usando almacenamiento local) - DATABASE_ENABLED=false - DATABASE_PROVIDER=postgresql - DATABASE_SAVE_DATA_INSTANCE=false - DATABASE_SAVE_DATA_NEW_MESSAGE=false - DATABASE_SAVE_MESSAGE_UPDATE=false - DATABASE_SAVE_DATA_CONTACTS=false - DATABASE_SAVE_DATA_CHATS=false - DATABASE_SAVE_DATA_LABELS=false - DATABASE_SAVE_DATA_HISTORIC=false # Redis deshabilitado - CACHE_REDIS_ENABLED=false # Webhooks globales (deshabilitado por ahora) - WEBHOOK_GLOBAL_ENABLED=false # Integraciones (deshabilitadas) - CHATWOOT_ENABLED=false - TYPEBOT_ENABLED=false volumes: - evolution_instances:/evolution/instances - evolution_store:/evolution/store networks: - principal labels: - traefik.enable=true - traefik.docker.network=principal - traefik.http.services.evolution-api.loadbalancer.server.port=8080 # Router: Manager UI protegido con Authentik - traefik.http.routers.evolution-ui.rule=Host(`${APP_DOMAIN}`) && PathPrefix(`/manager`) - traefik.http.routers.evolution-ui.entrypoints=websecure - traefik.http.routers.evolution-ui.tls.certresolver=letsencrypt - traefik.http.routers.evolution-ui.service=evolution-api - traefik.http.routers.evolution-ui.middlewares=authentik-forward-auth@file,evolution-headers # Router: API endpoints (autenticación por API Key, sin Authentik) - traefik.http.routers.evolution-api.rule=Host(`${APP_DOMAIN}`) - traefik.http.routers.evolution-api.entrypoints=websecure - traefik.http.routers.evolution-api.tls.certresolver=letsencrypt - traefik.http.routers.evolution-api.service=evolution-api - traefik.http.routers.evolution-api.middlewares=evolution-headers # Middleware: Headers - traefik.http.middlewares.evolution-headers.headers.customrequestheaders.X-Forwarded-Proto=https volumes: evolution_instances: name: evolution_instances evolution_store: name: evolution_store networks: principal: external: true