159 lines
4.5 KiB
YAML
159 lines
4.5 KiB
YAML
version: "3.7"
|
|
|
|
services:
|
|
main:
|
|
image: ${N8N_IMAGE}
|
|
command: start
|
|
restart: unless-stopped
|
|
user: ${N8N_UID}
|
|
ports:
|
|
- "5678:5678"
|
|
environment:
|
|
# Database
|
|
- DB_TYPE=postgresdb
|
|
- DB_POSTGRESDB_USER=${N8N_POSTGRESDB_DATABASE}
|
|
- DB_POSTGRESDB_HOST=db
|
|
- DB_POSTGRESDB_PORT=5432
|
|
- DB_POSTGRESDB_USER=${N8N_POSTGRESDB_USER}
|
|
- DB_POSTGRESDB_PASSWORD=${N8N_POSTGRESDB_PASSWORD}
|
|
|
|
# Redis
|
|
- QUEUE_BULL_REDIS_HOST=redis
|
|
- QUEUE_BULL_REDIS_PORT=6379
|
|
- QUEUE_BULL_REDIS_DB=0
|
|
|
|
- N8N_ENCRYPTION_KEY=${N8N_ENCRYPTION_KEY}
|
|
- N8N_HOST=${N8N_HOST}
|
|
- N8N_PORT=5678
|
|
- N8N_EDITOR_BASE_URL=${N8N_EDITOR_URL}
|
|
- N8N_PROTOCOL=https
|
|
- NODE_ENV=production
|
|
- N8N_LOG_LEVEL=debug
|
|
- WEBHOOK_URL=${N8N_WEBHOOK_URL}
|
|
- EXECUTIONS_MODE=queue
|
|
- N8N_DISABLE_PRODUCTION_MAIN_PROCESS=true
|
|
- N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
|
|
|
|
- NODE_FUNCTION_ALLOW_EXTERNAL=${NODE_FUNCTION_ALLOW_EXTERNAL}
|
|
#- NODE_FUNCTION_ALLOW_EXTERNAL=moment,lodash,moment-with-locales
|
|
- EXECUTIONS_DATA_PRUNE=true
|
|
- EXECUTIONS_DATA_MAX_AGE=168
|
|
- GENERIC_TIMEZONE=${N8N_TZ}
|
|
- TZ=${N8N_TZ}
|
|
volumes:
|
|
- /mnt:/mnt
|
|
deploy:
|
|
mode: replicated
|
|
replicas: 1
|
|
labels:
|
|
- homepage.group=Management
|
|
- homepage.name=n8n
|
|
- homepage.icon=sh-n8n-light
|
|
- homepage.href=${N8N_EDITOR_URL}
|
|
- homepage.description=n8n is a workflow automation platform that gives technical teams the flexibility of code with the speed of no-code.
|
|
|
|
worker:
|
|
image: ${N8N_IMAGE}
|
|
command: worker --concurrency=10
|
|
restart: unless-stopped
|
|
user: ${N8N_UID}
|
|
|
|
environment:
|
|
# Database
|
|
- DB_TYPE=postgresdb
|
|
- DB_POSTGRESDB_USER=${N8N_POSTGRESDB_DATABASE}
|
|
- DB_POSTGRESDB_HOST=db
|
|
- DB_POSTGRESDB_PORT=5432
|
|
- DB_POSTGRESDB_USER=${N8N_POSTGRESDB_USER}
|
|
- DB_POSTGRESDB_PASSWORD=${N8N_POSTGRESDB_PASSWORD}
|
|
|
|
# Redis
|
|
- QUEUE_BULL_REDIS_HOST=redis
|
|
- QUEUE_BULL_REDIS_PORT=6379
|
|
- QUEUE_BULL_REDIS_DB=0
|
|
|
|
- N8N_ENCRYPTION_KEY=${N8N_ENCRYPTION_KEY}
|
|
- N8N_HOST=${N8N_HOST}
|
|
- N8N_PORT=5678
|
|
- N8N_EDITOR_BASE_URL=${N8N_EDITOR_URL}
|
|
- N8N_PROTOCOL=https
|
|
- NODE_ENV=production
|
|
- N8N_LOG_LEVEL=debug
|
|
- WEBHOOK_URL=${N8N_WEBHOOK_URL}
|
|
- EXECUTIONS_MODE=queue
|
|
- N8N_DISABLE_PRODUCTION_MAIN_PROCESS=true
|
|
- N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
|
|
|
|
- NODE_FUNCTION_ALLOW_EXTERNAL=${NODE_FUNCTION_ALLOW_EXTERNAL}
|
|
#- NODE_FUNCTION_ALLOW_EXTERNAL=moment,lodash,moment-with-locales
|
|
- EXECUTIONS_DATA_PRUNE=true
|
|
- EXECUTIONS_DATA_MAX_AGE=168
|
|
- GENERIC_TIMEZONE=${N8N_TZ}
|
|
- TZ=${N8N_TZ}
|
|
volumes:
|
|
- /mnt:/mnt
|
|
deploy:
|
|
mode: global
|
|
|
|
webhook:
|
|
image: ${N8N_IMAGE}
|
|
command: webhook
|
|
restart: unless-stopped
|
|
user: ${N8N_UID}
|
|
ports:
|
|
- "5679:5678"
|
|
environment:
|
|
# Database
|
|
- DB_TYPE=postgresdb
|
|
- DB_POSTGRESDB_USER=${N8N_POSTGRESDB_DATABASE}
|
|
- DB_POSTGRESDB_HOST=db
|
|
- DB_POSTGRESDB_PORT=5432
|
|
- DB_POSTGRESDB_USER=${N8N_POSTGRESDB_USER}
|
|
- DB_POSTGRESDB_PASSWORD=${N8N_POSTGRESDB_PASSWORD}
|
|
|
|
# Redis
|
|
- QUEUE_BULL_REDIS_HOST=redis
|
|
- QUEUE_BULL_REDIS_PORT=6379
|
|
- QUEUE_BULL_REDIS_DB=0
|
|
|
|
- N8N_ENCRYPTION_KEY=${N8N_ENCRYPTION_KEY}
|
|
- N8N_HOST=${N8N_HOST}
|
|
- N8N_PORT=5678
|
|
- N8N_EDITOR_BASE_URL=${N8N_EDITOR_URL}
|
|
- N8N_PROTOCOL=https
|
|
- NODE_ENV=production
|
|
- N8N_LOG_LEVEL=debug
|
|
- WEBHOOK_URL=${N8N_WEBHOOK_URL}
|
|
- EXECUTIONS_MODE=queue
|
|
- N8N_DISABLE_PRODUCTION_MAIN_PROCESS=true
|
|
- N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
|
|
|
|
- NODE_FUNCTION_ALLOW_EXTERNAL=${NODE_FUNCTION_ALLOW_EXTERNAL}
|
|
#- NODE_FUNCTION_ALLOW_EXTERNAL=moment,lodash,moment-with-locales
|
|
- EXECUTIONS_DATA_PRUNE=true
|
|
- EXECUTIONS_DATA_MAX_AGE=168
|
|
- GENERIC_TIMEZONE=${N8N_TZ}
|
|
- TZ=${N8N_TZ}
|
|
volumes:
|
|
- /mnt:/mnt
|
|
deploy:
|
|
mode: replicated
|
|
replicas: 1
|
|
|
|
redis:
|
|
image: redis:alpine
|
|
restart: unless-stopped
|
|
user: ${N8N_UID}
|
|
|
|
db:
|
|
image: postgres:16
|
|
restart: unless-stopped
|
|
user: ${N8N_UID}
|
|
volumes:
|
|
- /mnt/docker-storage/n8n:/var/lib/postgresql/data
|
|
environment:
|
|
- TZ=${N8N_TZ}
|
|
- POSTGRES_DB=${N8N_POSTGRESDB_DATABASE}
|
|
- POSTGRES_USER=${N8N_POSTGRESDB_USER}
|
|
- POSTGRES_PASSWORD=${N8N_POSTGRESDB_PASSWORD}
|