name: n8n networks: n8n_network: name: n8n_network driver: bridge # n8n_global creada manualmente docker network create n8n_global para conectar otros servicios n8n_global: external: true x-shared-env: &shared-env DEBUG: "*" N8N_LOG_LEVEL: ${N8N_LOG_LEVEL} N8N_LOG_OUTPUT: ${N8N_LOG_OUTPUT} NODE_ENV: production N8N_ENCRYPTION_KEY: ${N8N_ENCRYPTION_KEY} WEBHOOK_URL: ${WEBHOOK_URL} DB_TYPE: postgresdb DB_POSTGRESDB_HOST: ${POSTGRES_HOST} DB_POSTGRESDB_PORT: ${POSTGRES_PORT} DB_POSTGRESDB_DATABASE: ${POSTGRES_DB} DB_POSTGRESDB_USER: ${POSTGRES_USER} DB_POSTGRESDB_PASSWORD: ${POSTGRES_PASSWORD} N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS: "true" GENERIC_TIMEZONE: America/Caracas TZ: America/Caracas OLLAMA_HOST: ${OLLAMA_HOST} N8N_RUNNERS_ENABLED: "true" N8N_RUNNERS_MAX_CONCURRENCY: "10" N8N_RUNNERS_MODE: internal QUEUE_BULL_REDIS_HOST: ${REDIS_HOST} #QUEUE_BULL_REDIS_USERNAME: "" QUEUE_BULL_REDIS_PASSWORD: ${REDIS_PASSWORD} QUEUE_BULL_REDIS_PORT: ${REDIS_PORT} QUEUE_BULL_REDIS_TIMEOUT_THRESHOLD: "30000" QUEUE_HEALTH_CHECK_ACTIVE: "true" QUEUE_BULL_PREFIX: n8n_ QUEUE_BULL_REDIS_DB: 1 EXECUTIONS_MODE: queue EXECUTIONS_DATA_MODE: queue N8N_ENDPOINTS_WORKFLOW_ENABLED: "true" EXECUTIONS_DATA_PRUNE: "true" EXECUTIONS_DATA_MAX_AGE: "96" EXECUTIONS_DATA_PRUNE_MAX_COUNT: "400" N8N_FORMDATA_FILE_SIZE_MAX: "200" N8N_METRICS: "true" OFFLOAD_MANUAL_EXECUTIONS_TO_WORKERS: "true" x-shared-vol: &shared-vol - /var/run/docker.sock:/var/run/docker.sock:ro - ./data:/home/node/.n8n - ./local_backups:/home/local_backups:rw - ./shared/python-scripts:/shared-data/python-scripts services: n8n: restart: always extra_hosts: - "host.docker.internal:host-gateway" ports: - "5678:5678" user: "1000:1000" # build with Dockerfile image: n8n-python #image: n8nio/n8n:latest container_name: n8n env_file: .env volumes: *shared-vol environment: <<: *shared-env #QUEUE_BULL_REDIS_DB: 1 N8N_PORT: 5678 OFFLOAD_MANUAL_EXECUTIONS_TO_WORKERS: "true" networks: - n8n_network - n8n_global n8n-worker: restart: always extra_hosts: - "host.docker.internal:host-gateway" user: "1000:1000" # build with Dockerfile image: n8n-python #image: n8nio/n8n:latest #container_name: n8n-worker env_file: .env volumes: *shared-vol environment: <<: *shared-env N8N_WORKER_PROCESS: "true" command: worker deploy: mode: replicated replicas: 4 networks: - n8n_network - n8n_global