axiom-community-manager/composes/n8n/n8n.yml

50 lines
1.3 KiB
YAML

x-shared: &shared
image: n8nio/n8n
restart: always
environment:
- DB_TYPE=postgresdb
- DB_POSTGRESDB_HOST=postgres
- DB_POSTGRESDB_PORT=5432
- DB_POSTGRESDB_DATABASE=${N8N_DB:-n8n}
- DB_POSTGRESDB_USER=${POSTGRES_NON_ROOT_USER:-$ADMIN_USER}
- DB_POSTGRESDB_PASSWORD=${POSTGRES_NON_ROOT_PASSWORD:-$POSTGRES_PASSWORD}
- EXECUTIONS_MODE=queue
- QUEUE_BULL_REDIS_HOST=redis
- QUEUE_HEALTH_CHECK_ACTIVE=true
- N8N_BASIC_AUTH_ACTIVE=true
- N8N_BASIC_AUTH_USER=${N8N_BASIC_AUTH_USER:-$ADMIN_USER}
- N8N_BASIC_AUTH_PASSWORD=${N8N_BASIC_AUTH_PASSWORD:-$ADMIN_PASSWORD}
- WEBHOOK_URL=${N8N_WEBHOOK_URL:-}
- N8N_EMAIL_MODE=smtp
- N8N_SMTP_HOST=${SMTP_HOST}
- N8N_SMTP_USER=${SMTP_USER}
- N8N_SMTP_PASS=${SMTP_PASS}
- N8N_SMTP_SENDER=${SMTP_SENDER}
- GENERIC_TIMEZONE=${GENERIC_TIMEZONE}
links:
- postgres
- redis
volumes:
- n8n_storage:/home/node/
- n8n_storage:/files
depends_on:
redis:
condition: service_healthy
postgres:
condition: service_healthy
services:
n8n:
<<: *shared
container_name: $APP_NAME-n8n
command: /bin/sh -c "n8n start --tunnel"
ports:
- ${N8N_PORT:-5678}:5678
n8n-worker:
<<: *shared
container_name: $APP_NAME-n8n-worker
command: /bin/sh -c "sleep 5; n8n worker"
depends_on:
- n8n