2023-02-23 00:42:41 +00:00
|
|
|
services:
|
2024-02-22 11:23:05 +00:00
|
|
|
|
2023-02-23 00:42:41 +00:00
|
|
|
n8n-db:
|
2024-09-26 17:39:26 +00:00
|
|
|
image: postgres:16-alpine
|
2023-02-23 00:42:41 +00:00
|
|
|
container_name: n8n-db
|
|
|
|
restart: unless-stopped
|
2024-11-04 12:08:51 +00:00
|
|
|
expose:
|
|
|
|
- 5432
|
2023-02-23 00:42:41 +00:00
|
|
|
environment:
|
2024-02-22 11:23:05 +00:00
|
|
|
- POSTGRES_USER
|
|
|
|
- POSTGRES_PASSWORD
|
|
|
|
- POSTGRES_DB
|
|
|
|
- POSTGRES_NON_ROOT_USER
|
|
|
|
- POSTGRES_NON_ROOT_PASSWORD
|
2023-02-23 00:42:41 +00:00
|
|
|
volumes:
|
2024-02-22 11:23:05 +00:00
|
|
|
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/n8n/database:/var/lib/postgresql/data
|
|
|
|
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/n8n/init-database.sh:/docker-entrypoint-initdb.d/init-data.sh:ro
|
2023-02-23 00:42:41 +00:00
|
|
|
healthcheck:
|
2024-02-22 11:23:05 +00:00
|
|
|
test: ['CMD-SHELL', 'pg_isready -h localhost -U ${POSTGRES_USER} -d ${POSTGRES_DB}']
|
|
|
|
interval: 5s
|
2023-02-23 00:42:41 +00:00
|
|
|
timeout: 5s
|
2024-09-26 17:39:26 +00:00
|
|
|
retries: 10
|
|
|
|
#networks:
|
|
|
|
# - n8n-internal
|
2023-02-23 00:42:41 +00:00
|
|
|
|
|
|
|
n8n:
|
|
|
|
image: n8nio/n8n
|
|
|
|
container_name: n8n
|
|
|
|
hostname: n8n
|
|
|
|
restart: unless-stopped
|
|
|
|
environment:
|
2024-09-26 23:09:20 +00:00
|
|
|
# database settings
|
2024-02-22 11:23:05 +00:00
|
|
|
- DB_TYPE=postgresdb
|
|
|
|
- DB_POSTGRESDB_HOST=n8n-db
|
|
|
|
- DB_POSTGRESDB_DATABASE=${POSTGRES_DB}
|
|
|
|
- DB_POSTGRESDB_USER=${POSTGRES_NON_ROOT_USER}
|
|
|
|
- DB_POSTGRESDB_PASSWORD=${POSTGRES_NON_ROOT_PASSWORD}
|
2024-09-26 23:09:20 +00:00
|
|
|
# application settings
|
|
|
|
- NODE_ENV=${N8N_NODE_ENV}
|
|
|
|
- GENERIC_TIMEZONE=${N8N_TZ}
|
|
|
|
# tls proxy settings
|
|
|
|
- N8N_HOST=${N8N_HOST}
|
|
|
|
- N8N_PROTOCOL=${N8N_PROTOCOL}
|
|
|
|
- WEBHOOK_URL=${N8N_WEBHOOK_URL}
|
|
|
|
# npm extra options
|
|
|
|
- EXTRA_NODE_MODULES=${N8N_EXTRA_NODE_MODULES}
|
|
|
|
- NODE_FUNCTION_ALLOW_EXTERNAL=${N8N_NODE_FUNCTION_ALLOW_EXTERNAL}
|
2023-02-23 00:42:41 +00:00
|
|
|
ports:
|
|
|
|
- 5678:5678
|
2024-09-26 17:39:26 +00:00
|
|
|
expose:
|
|
|
|
- 5678
|
2023-02-23 00:42:41 +00:00
|
|
|
links:
|
|
|
|
- n8n-db
|
|
|
|
volumes:
|
2023-02-25 13:09:52 +00:00
|
|
|
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/n8n/storage:/home/node/.n8n
|
2024-09-26 23:09:20 +00:00
|
|
|
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/n8n/files:/files
|
2023-02-23 00:42:41 +00:00
|
|
|
depends_on:
|
|
|
|
n8n-db:
|
|
|
|
condition: service_healthy
|
2024-09-26 17:39:26 +00:00
|
|
|
#networks:
|
|
|
|
# - proxy
|
|
|
|
# - n8n-internal
|
2023-02-23 00:42:41 +00:00
|
|
|
#labels:
|
|
|
|
# - traefik.enable=true
|
2024-09-26 17:39:26 +00:00
|
|
|
# - traefik.docker.network=proxy
|
2023-02-23 00:42:41 +00:00
|
|
|
# - traefik.http.routers.n8n.rule=Host(`n8n.example.com`)
|
|
|
|
# - traefik.http.services.n8n.loadbalancer.server.port=5678
|
|
|
|
# # Part for optional traefik middlewares
|
|
|
|
# - traefik.http.routers.n8n.middlewares=local-ipwhitelist@file,basic-auth@file
|
2024-09-26 17:39:26 +00:00
|
|
|
|
|
|
|
#networks:
|
2024-09-26 20:31:36 +00:00
|
|
|
# proxy:
|
2024-09-26 17:39:26 +00:00
|
|
|
# external: true
|
|
|
|
# n8n-internal:
|
|
|
|
# internal: true
|