name: n8n services: n8n: image: docker.n8n.io/n8nio/n8n:latest container_name: ${CONTAINER_NAME} restart: ${RESTART_POLICY} networks: - traefik environment: - NODE_ENV=production - N8N_PORT=${CONTAINER_PORT} - N8N_PROTOCOL=https - N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true - N8N_HOST=${SUBDOMAIN}.${DOMAIN} - WEBHOOK_URL=https://${SUBDOMAIN}.${DOMAIN}/ - GENERIC_TIMEZONE=${TZ} - TZ=${TZ} volumes: - type: bind source: ${DATA_PATH} target: /home/node/.n8n bind: create_host_path: true - type: bind source: ${FILES_PATH} target: /files bind: create_host_path: true logging: driver: "json-file" options: max-size: "10m" max-file: "3" labels: - "traefik.enable=true" - "traefik.http.routers.${ROUTER_NAME}.entrypoints=websecure" - "traefik.http.routers.${ROUTER_NAME}.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)" - "traefik.http.routers.${ROUTER_NAME}.tls=true" - "traefik.http.routers.${ROUTER_NAME}.tls.certresolver=${CERTIFICATE_RESOLVER}" - "traefik.http.services.${ROUTER_NAME}.loadbalancer.server.port=${CONTAINER_PORT}" - "traefik.docker.network=${TRAEFIK_NETWORK}" networks: traefik: name: traefik external: true