Files
Compose-Files/Docker/n8n/files/compose.yaml
T
2026-07-20 09:23:17 -04:00

77 lines
2.9 KiB
YAML

services:
<< service_name >>:
image: docker.n8n.io/n8nio/n8n:2.20.0
container_name: << container_name >>
hostname: << container_hostname >>
restart: << restart_policy >>
environment:
<%- if container_loglevel %>
- N8N_LOG_LEVEL=<< container_loglevel >>
<%- endif %>
<%- if container_timezone %>
- GENERIC_TIMEZONE=<< container_timezone >>
- TZ=<< container_timezone >>
<%- endif %>
- N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
- NODE_ENV=production
- N8N_ENCRYPTION_KEY=${N8N_ENCRYPTION_KEY}
<%- if database_type == 'postgres' %>
- DB_TYPE=postgresdb
- DB_POSTGRESDB_HOST=<< database_host >>
- DB_POSTGRESDB_PORT=<< database_port >>
- DB_POSTGRESDB_DATABASE=<< database_name >>
- DB_POSTGRESDB_USER=${DATABASE_USER}
- DB_POSTGRESDB_PASSWORD=${DATABASE_PASSWORD}
<%- endif %>
<%- if traefik_enabled %>
- N8N_HOST=<< traefik_host >>.<< traefik_domain >>
- N8N_PORT=5678
<%- if traefik_tls_enabled %>
- N8N_PROTOCOL=https
- N8N_EDITOR_BASE_URL=https://<< traefik_host >>.<< traefik_domain >>
- WEBHOOK_URL=https://<< traefik_host >>.<< traefik_domain >>/
<%- else %>
- N8N_PROTOCOL=http
- N8N_EDITOR_BASE_URL=http://<< traefik_host >>.<< traefik_domain >>
- WEBHOOK_URL=http://<< traefik_host >>.<< traefik_domain >>/
<%- endif %>
- N8N_PROXY_HOPS=1
<%- endif %>
volumes:
- /etc/localtime:/etc/localtime:ro
- << service_name >>_data:/home/node/.n8n
<%- if traefik_enabled %>
networks:
- << traefik_network >>
<%- endif %>
<%- if not traefik_enabled %>
ports:
- "<< ports_http >>:5678"
<%- endif %>
<%- if traefik_enabled %>
labels:
- traefik.enable=true
- traefik.docker.network=<< traefik_network >>
- traefik.http.services.<< service_name >>-web.loadbalancer.server.port=5678
- traefik.http.routers.<< service_name >>-http.service=<< service_name >>-web
- traefik.http.routers.<< service_name >>-http.rule=Host(`<< traefik_host >>.<< traefik_domain >>`)
- traefik.http.routers.<< service_name >>-http.entrypoints=<< traefik_entrypoint >>
<%- if traefik_tls_enabled %>
- traefik.http.routers.<< service_name >>-https.service=<< service_name >>-web
- traefik.http.routers.<< service_name >>-https.rule=Host(`<< traefik_host >>.<< traefik_domain >>`)
- traefik.http.routers.<< service_name >>-https.entrypoints=<< traefik_tls_entrypoint >>
- traefik.http.routers.<< service_name >>-https.tls=true
- traefik.http.routers.<< service_name >>-https.tls.certresolver=<< traefik_tls_certresolver >>
<%- endif %>
<%- endif %>
volumes:
<< service_name >>_data:
driver: local
<%- if traefik_enabled %>
networks:
<< traefik_network >>:
external: true
<%- endif %>