n8n/compose.yaml
2026-04-03 20:02:19 +02:00

52 lines
1.5 KiB
YAML

networks:
n8n_network:
name: n8n_network
services:
postgres:
image: postgres:16
restart: always
container_name: postgres
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
- POSTGRES_DB=n8n
- POSTGRES_NON_ROOT_USER=n8n
- POSTGRES_NON_ROOT_PASSWORD=n8n
volumes:
- /app-config/n8n/db_storage:/var/lib/postgresql/data
- /app-config/n8n/init-data.sh:/docker-entrypoint-initdb.d/init-data.sh
networks:
- n8n_network
healthcheck:
test: ['CMD-SHELL', 'pg_isready -h localhost -U ${POSTGRES_USER} -d ${POSTGRES_DB}']
interval: 5s
timeout: 5s
retries: 10
n8n:
image: docker.n8n.io/n8nio/n8n
restart: always
container_name: n8n
environment:
- DB_TYPE=postgresdb
- DB_POSTGRESDB_HOST=postgres
- DB_POSTGRESDB_PORT=5432
- DB_POSTGRESDB_DATABASE=n8n
- DB_POSTGRESDB_USER=n8n
- DB_POSTGRESDB_PASSWORD=n8n
- WEBHOOK_URL=https://n8n.sascha-lutz.de/
- N8N_AUTH_OIDC_ENABLED=true
- N8N_AUTH_OIDC_ISSUER_URL=https://auth.sascha-lutz.de/application/o/n8n/
- N8N_AUTH_OIDC_CLIENT_ID=${N8N_OIDC_CLIENT_ID}
- N8N_AUTH_OIDC_CLIENT_SECRET=${N8N_OIDC_CLIENT_SECRET}
- N8N_AUTH_OIDC_REDIRECT_URL=https://n8n.sascha-lutz.de/rest/sso/oidc/callback
ports:
- 5678:5678
volumes:
- /app-config/n8n/n8n_storage:/home/node/.n8n
networks:
- n8n_network
depends_on:
postgres:
condition: service_healthy