olomana/software/workflow/n8n/docker-compose.yml
2025-09-02 15:36:39 -07:00

55 lines
1.6 KiB
YAML

networks:
traefik:
external: true
n8n:
driver: bridge
services:
n8n:
image: n8nio/n8n
container_name: n8n
restart: unless-stopped
networks:
- n8n
- traefik
environment:
- N8N_HOST=${N8N_HOST}
- N8N_PORT=${N8N_PORT}
- WEBHOOK_TUNNEL_URL=${WEBHOOK_TUNNEL_URL}
- N8N_BASIC_AUTH_ACTIVE=${N8N_BASIC_AUTH_ACTIVE}
- N8N_BASIC_AUTH_USER=${N8N_BASIC_AUTH_USER}
- N8N_BASIC_AUTH_PASSWORD=${N8N_BASIC_AUTH_PASSWORD}
- N8N_ENCRYPTION_KEY=${N8N_ENCRYPTION_KEY}
- DB_TYPE=${DB_TYPE}
- DB_POSTGRESDB_HOST=${DB_POSTGRESDB_HOST}
- DB_POSTGRESDB_PORT=${DB_POSTGRESDB_PORT}
- DB_POSTGRESDB_DATABASE=${DB_POSTGRESDB_DATABASE}
- DB_POSTGRESDB_USER=${DB_POSTGRESDB_USER}
- DB_POSTGRESDB_PASSWORD=${DB_POSTGRESDB_PASSWORD}
- GENERIC_TIMEZONE=${GENERIC_TIMEZONE}
volumes:
- /pwspool/software/n8n/.n8n:/home/node/.n8n
depends_on:
- db
labels:
- "traefik.enable=true"
- "traefik.http.routers.n8n.rule=Host(`n8n.whitney.rip`)"
- "traefik.http.routers.n8n.entrypoints=websecure"
- "traefik.http.routers.n8n.tls=true"
- "traefik.http.routers.n8n.tls.certresolver=lets-encrypt"
- "traefik.http.services.n8n.loadbalancer.server.port=5678"
db:
image: postgres:15
container_name: n8n-db
restart: unless-stopped
networks:
- n8n
environment:
POSTGRES_USER: ${DB_POSTGRESDB_USER}
POSTGRES_PASSWORD: ${DB_POSTGRESDB_PASSWORD}
POSTGRES_DB: ${DB_POSTGRESDB_DATABASE}
volumes:
- /pwspool/software/n8n/data:/var/lib/postgresql/data