Skip to content

Instantly share code, notes, and snippets.

@Geczy
Created January 2, 2025 18:56
Show Gist options
  • Save Geczy/b5a050cf645d723300e706cdb06afe77 to your computer and use it in GitHub Desktop.
Save Geczy/b5a050cf645d723300e706cdb06afe77 to your computer and use it in GitHub Desktop.
coolify n8n worker
services:
n8n:
image: 'docker.n8n.io/n8nio/n8n:next'
environment:
- SERVICE_FQDN_N8N_5678
- 'N8N_EDITOR_BASE_URL=${SERVICE_FQDN_N8N}'
- 'WEBHOOK_URL=${SERVICE_FQDN_N8N}'
- 'N8N_HOST=${SERVICE_URL_N8N}'
- GENERIC_TIMEZONE=Europe/Berlin
- TZ=Europe/Berlin
- DB_TYPE=postgresdb
- 'DB_POSTGRESDB_DATABASE=${POSTGRES_DB:-n8n}'
- DB_POSTGRESDB_HOST=postgresql
- DB_POSTGRESDB_PORT=5432
- DB_POSTGRESDB_USER=$SERVICE_USER_POSTGRES
- DB_POSTGRESDB_SCHEMA=public
- DB_POSTGRESDB_PASSWORD=$SERVICE_PASSWORD_POSTGRES
- EXECUTIONS_MODE=queue
- QUEUE_BULL_REDIS_HOST=redis
- QUEUE_BULL_REDIS_PORT=6379
- N8N_ENCRYPTION_KEY=$SERVICE_PASSWORD_ENCRYPTIONKEY
volumes:
- 'n8n-data:/home/node/.n8n'
depends_on:
n8n-worker:
condition: service_healthy
postgresql:
condition: service_healthy
redis:
condition: service_started
healthcheck:
test:
- CMD-SHELL
- 'wget -qO- http://127.0.0.1:5678/healthz'
interval: 5s
timeout: 20s
retries: 10
n8n-worker:
image: 'docker.n8n.io/n8nio/n8n:next'
environment:
- N8N_ENCRYPTION_KEY=$SERVICE_PASSWORD_ENCRYPTIONKEY
- GENERIC_TIMEZONE=Europe/Berlin
- TZ=Europe/Berlin
- DB_TYPE=postgresdb
- 'DB_POSTGRESDB_DATABASE=${POSTGRES_DB:-n8n}'
- DB_POSTGRESDB_HOST=postgresql
- DB_POSTGRESDB_PORT=5432
- DB_POSTGRESDB_USER=$SERVICE_USER_POSTGRES
- DB_POSTGRESDB_SCHEMA=public
- DB_POSTGRESDB_PASSWORD=$SERVICE_PASSWORD_POSTGRES
- EXECUTIONS_MODE=queue
- N8N_CONCURRENCY_PRODUCTION_LIMIT=5
- QUEUE_BULL_REDIS_HOST=redis
- QUEUE_BULL_REDIS_PORT=6379
- QUEUE_HEALTH_CHECK_ACTIVE=true
volumes:
- 'n8n-data:/home/node/.n8n'
healthcheck:
test:
- CMD-SHELL
- 'wget -qO- http://127.0.0.1:5678/healthz'
interval: 5s
timeout: 20s
retries: 10
depends_on:
redis:
condition: service_healthy
postgresql:
condition: service_healthy
command: worker
postgresql:
image: 'postgres:16-alpine'
volumes:
- 'postgresql-data:/var/lib/postgresql/data'
environment:
- POSTGRES_USER=$SERVICE_USER_POSTGRES
- POSTGRES_PASSWORD=$SERVICE_PASSWORD_POSTGRES
- 'POSTGRES_DB=${POSTGRES_DB:-n8n}'
healthcheck:
test:
- CMD-SHELL
- 'pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}'
interval: 5s
timeout: 20s
retries: 10
redis:
image: 'redis:7-alpine'
ports:
- '6379:6379'
healthcheck:
test:
- CMD
- redis-cli
- ping
interval: 5s
timeout: 10s
retries: 3
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment