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