79 lines
2.5 KiB
YAML
79 lines
2.5 KiB
YAML
# n8n — automate.manohargupta.com
|
|
# Visual workflow automation. Postgres-backed (SQLite locks under concurrent runs).
|
|
# v2: Added deploy.labels for Traefik swarm provider (Dokploy uses swarm stack deploy).
|
|
|
|
services:
|
|
|
|
n8n-db:
|
|
image: postgres:16-alpine
|
|
restart: unless-stopped
|
|
environment:
|
|
POSTGRES_DB: n8n
|
|
POSTGRES_USER: n8n
|
|
POSTGRES_PASSWORD: ${N8N_DB_PASSWORD}
|
|
volumes:
|
|
- n8n_db_data:/var/lib/postgresql/data
|
|
networks:
|
|
- n8n_internal
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U n8n -d n8n"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
|
|
n8n:
|
|
image: docker.n8n.io/n8nio/n8n:1.83.0
|
|
restart: unless-stopped
|
|
depends_on:
|
|
n8n-db:
|
|
condition: service_healthy
|
|
environment:
|
|
N8N_HOST: automate.manohargupta.com
|
|
N8N_PORT: "5678"
|
|
N8N_PROTOCOL: https
|
|
WEBHOOK_URL: https://automate.manohargupta.com/
|
|
N8N_EDITOR_BASE_URL: https://automate.manohargupta.com/
|
|
DB_TYPE: postgresdb
|
|
DB_POSTGRESDB_HOST: n8n-db
|
|
DB_POSTGRESDB_PORT: "5432"
|
|
DB_POSTGRESDB_DATABASE: n8n
|
|
DB_POSTGRESDB_USER: n8n
|
|
DB_POSTGRESDB_PASSWORD: ${N8N_DB_PASSWORD}
|
|
# NEVER lose this key -- all stored credentials are encrypted with it
|
|
N8N_ENCRYPTION_KEY: ${N8N_ENCRYPTION_KEY}
|
|
GENERIC_TIMEZONE: Asia/Kolkata
|
|
TZ: Asia/Kolkata
|
|
N8N_DIAGNOSTICS_ENABLED: "false"
|
|
N8N_VERSION_NOTIFICATIONS_ENABLED: "false"
|
|
volumes:
|
|
- n8n_data:/home/node/.n8n
|
|
networks:
|
|
- dokploy-network
|
|
- n8n_internal
|
|
# Container-level labels (docker provider)
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.docker.network=dokploy-network"
|
|
- "traefik.http.routers.n8n.rule=Host(`automate.manohargupta.com`)"
|
|
- "traefik.http.routers.n8n.entrypoints=websecure"
|
|
- "traefik.http.routers.n8n.tls.certresolver=letsencrypt"
|
|
- "traefik.http.services.n8n.loadbalancer.server.port=5678"
|
|
# Service-level labels (swarm provider) -- Dokploy deploys as swarm stack
|
|
deploy:
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.docker.network=dokploy-network"
|
|
- "traefik.http.routers.n8n.rule=Host(`automate.manohargupta.com`)"
|
|
- "traefik.http.routers.n8n.entrypoints=websecure"
|
|
- "traefik.http.routers.n8n.tls.certresolver=letsencrypt"
|
|
- "traefik.http.services.n8n.loadbalancer.server.port=5678"
|
|
|
|
volumes:
|
|
n8n_data:
|
|
n8n_db_data:
|
|
|
|
networks:
|
|
dokploy-network:
|
|
external: true
|
|
n8n_internal:
|
|
driver: bridge
|