79 lines
2.4 KiB
YAML
79 lines
2.4 KiB
YAML
x-defaults: &defaults
|
|
restart: unless-stopped
|
|
logging:
|
|
driver: json-file
|
|
options:
|
|
max-size: 100m
|
|
max-file: "3"
|
|
|
|
services:
|
|
n8n:
|
|
<<: *defaults
|
|
image: ${GLOBAL_REGISTRY:-}n8nio/n8n:${N8N_VERSION:-1.114.0}
|
|
ports:
|
|
- "${N8N_PORT:-5678}:5678"
|
|
volumes:
|
|
- n8n_data:/home/node/.n8n
|
|
environment:
|
|
- TZ=${TZ:-UTC}
|
|
- N8N_BASIC_AUTH_ACTIVE=${N8N_BASIC_AUTH_ACTIVE:-true}
|
|
- N8N_BASIC_AUTH_USER=${N8N_BASIC_AUTH_USER:-}
|
|
- N8N_BASIC_AUTH_PASSWORD=${N8N_BASIC_AUTH_PASSWORD:-}
|
|
- N8N_HOST=${N8N_HOST:-0.0.0.0}
|
|
- N8N_PORT=${N8N_PORT:-5678}
|
|
- N8N_PROTOCOL=${N8N_PROTOCOL:-http}
|
|
- WEBHOOK_URL=${WEBHOOK_URL:-http://localhost:5678/}
|
|
- GENERIC_TIMEZONE=${GENERIC_TIMEZONE:-UTC}
|
|
# Database configuration (optional, uses SQLite by default)
|
|
- DB_TYPE=${DB_TYPE:-sqlite}
|
|
- DB_POSTGRESDB_DATABASE=${DB_POSTGRESDB_DATABASE:-n8n}
|
|
- DB_POSTGRESDB_HOST=${DB_POSTGRESDB_HOST:-n8n-db}
|
|
- DB_POSTGRESDB_PORT=${DB_POSTGRESDB_PORT:-5432}
|
|
- DB_POSTGRESDB_USER=${DB_POSTGRESDB_USER:-n8n}
|
|
- DB_POSTGRESDB_PASSWORD=${DB_POSTGRESDB_PASSWORD:-}
|
|
# Execution mode
|
|
- EXECUTIONS_MODE=${EXECUTIONS_MODE:-regular}
|
|
- N8N_ENCRYPTION_KEY=${N8N_ENCRYPTION_KEY:-}
|
|
depends_on:
|
|
n8n-db:
|
|
condition: service_healthy
|
|
profiles:
|
|
- default
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
cpus: ${N8N_CPU_LIMIT:-2.0}
|
|
memory: ${N8N_MEMORY_LIMIT:-2G}
|
|
reservations:
|
|
cpus: ${N8N_CPU_RESERVATION:-0.5}
|
|
memory: ${N8N_MEMORY_RESERVATION:-512M}
|
|
healthcheck:
|
|
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:5678/healthz"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 30s
|
|
|
|
n8n-db:
|
|
<<: *defaults
|
|
image: ${GLOBAL_REGISTRY:-}postgres:${POSTGRES_VERSION:-17.2-alpine3.21}
|
|
environment:
|
|
- TZ=${TZ:-UTC}
|
|
- POSTGRES_USER=${POSTGRES_USER:-n8n}
|
|
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-}
|
|
- POSTGRES_DB=${POSTGRES_DB:-n8n}
|
|
volumes:
|
|
- n8n_db_data:/var/lib/postgresql/data
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
cpus: ${N8N_DB_CPU_LIMIT:-1.0}
|
|
memory: ${N8N_DB_MEMORY_LIMIT:-1G}
|
|
reservations:
|
|
cpus: ${N8N_DB_CPU_RESERVATION:-0.5}
|
|
memory: ${N8N_DB_MEMORY_RESERVATION:-512M}
|
|
|
|
volumes:
|
|
n8n_data:
|
|
n8n_db_data:
|