services: n8n: image: n8nio/n8n:2.20.11 environment: - N8N_HOST=${SUBDOMAIN}.${DOMAIN_NAME} - N8N_PORT=5678 - N8N_PROTOCOL=https - NODE_ENV=production - WEBHOOK_URL=https://${SUBDOMAIN}.${DOMAIN_NAME}/ - DB_TYPE=postgresdb - DB_POSTGRESDB_HOST=192.168.1.6 - DB_POSTGRESDB_PORT=5432 - DB_POSTGRESDB_DATABASE=n8n - DB_POSTGRESDB_USER=n8n - DB_POSTGRESDB_PASSWORD=${DB_POSTGRESDB_PASSWORD} - N8N_DIAGNOSTICS_ENABLED=false - N8N_PERSONALIZATION_ENABLED=false - N8N_ENCRYPTION_KEY - N8N_USER_MANAGEMENT_JWT_SECRET - N8N_SECURE_COOKIE=false - N8N_TRUST_PROXY=true - EXTERNAL_HOOK_FILES=/home/node/hooks.js - OIDC_ISSUER_URL=https://id.nuclide.systems - OIDC_CLIENT_ID=33135ad4-a3ed-45d3-938f-639abd2b9663 - OIDC_CLIENT_SECRET=aYtWoZ5Wrqxs7kwyI1is1rLY0UATJaW391-3bzNALv0 - OIDC_REDIRECT_URI=https://n8n.nuclide.systems/auth/oidc/callback - EXTERNAL_FRONTEND_HOOKS_URLS=/assets/oidc-frontend-hook.js - N8N_ADDITIONAL_NON_UI_ROUTES=auth - EXTERNAL_FRONTEND_HOOKS_URLS=/assets/oidc-frontend-hook.js hostname: n8n container_name: n8n restart: unless-stopped deploy: resources: limits: cpus: '1.0' memory: 2G reservations: cpus: '0.5' memory: 1G ports: - 16000:5678 healthcheck: test: - CMD-SHELL - wget --spider -q http://n8n:5678/healthz || exit 1 interval: 5s timeout: 5s retries: 10 volumes: - /opt/stacks/n8n/data:/home/node/.n8n - /opt/stacks/n8n/hooks.js:/home/node/hooks.js:ro labels: - homepage.group=productivity - homepage.name=n8n - homepage.icon=sh-n8n - homepage.href=https://n8n.nuclide.systems - homepage.instance.internal.href=http://192.168.1.40:16000 - homepage.instance.public.href=https://n8n.nuclide.systems - homepage.widget.type=n8n - homepage.widget.url=http://n8n:5678 networks: - default - ai-internal networks: default: external: true name: shared_backend ai-internal: external: true name: ai-internal