version: '3.8' networks: traefik-public: external: true volumes: n8n_data: services: n8n: image: n8nio/n8n:latest container_name: n8n restart: unless-stopped volumes: - n8n_data:/home/node/.n8n - /var/run/docker.sock:/var/run/docker.sock networks: - traefik-public extra_hosts: - "gateway:192.168.1.1" - "proxmox:192.168.1.57" - "omv:192.168.1.70" - "swarm-manager:192.168.1.196" - "swarm-leader:192.168.1.245" - "swarm-worker-light:192.168.1.62" - "lm-studio:192.168.1.81" - "fedora:192.168.1.81" - "n8n.sterl.xyz:127.0.0.1" # Mapped to localhost since it's standalone environment: - N8N_HOST=n8n.sterl.xyz - N8N_PROTOCOL=https - NODE_ENV=production - WEBHOOK_URL=https://n8n.sterl.xyz/ - N8N_EDITOR_BASE_URL=https://n8n.sterl.xyz/ - N8N_PUSH_BACKEND=websocket - N8N_PROXY_HOPS=1 - N8N_SECURE_COOKIE=false - N8N_METRICS=false - N8N_SKIP_WEBHOOK_CSRF_CHECK=true - N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true - DB_SQLITE_POOL_SIZE=10 - N8N_RUNNERS_ENABLED=true - N8N_BLOCK_ENV_ACCESS_IN_NODE=false - N8N_GIT_NODE_DISABLE_BARE_REPOS=true labels: - "traefik.enable=true" - "traefik.http.routers.n8n.rule=Host(`n8n.sterl.xyz`)" - "traefik.http.routers.n8n.entrypoints=websecure" - "traefik.http.routers.n8n.tls.certresolver=cfresolver" - "traefik.http.services.n8n.loadbalancer.server.port=5678" - "traefik.http.services.n8n.loadbalancer.sticky.cookie=true" - "traefik.http.services.n8n.loadbalancer.sticky.cookie.name=n8n_sticky" - "traefik.http.services.n8n.loadbalancer.sticky.cookie.secure=true" - "docktail.enable=true" - "docktail.name=n8n" - "docktail.container_port=5678"