66 lines
2.4 KiB
YAML
66 lines
2.4 KiB
YAML
services:
|
|
n8n:
|
|
image: n8nio/n8n:2.20.11 # pinned 2026-05-19 — unpinned :latest drifted 2.7→2.20.11 and broke the OIDC hooks.js
|
|
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
|
|
# Trust proxy for rate limiting (fixes X-Forwarded-For header issue)
|
|
- N8N_TRUST_PROXY=true
|
|
# OIDC bolt-on re-enabled 2026-05-19: paths patched for 2.20.11 pnpm layout
|
|
- 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:
|
|
external: true
|
|
name: shared_backend
|