Python crawlers for VIC Register, Funerals Australia, NFDA n8n workflows for scheduled discovery and enrichment SQLite schema and seeded dev database (1,463 providers) End-to-end process documentation in n8n/PROCESS.md
54 lines
1.4 KiB
YAML
54 lines
1.4 KiB
YAML
version: "3.8"
|
|
|
|
services:
|
|
n8n:
|
|
image: n8nio/n8n:latest
|
|
restart: unless-stopped
|
|
ports:
|
|
- "5678:5678"
|
|
environment:
|
|
- N8N_HOST=localhost
|
|
- N8N_PORT=5678
|
|
- N8N_PROTOCOL=http
|
|
- WEBHOOK_URL=http://localhost:5678/
|
|
- N8N_ENCRYPTION_KEY=${N8N_ENCRYPTION_KEY:-change-me-in-production}
|
|
# Database
|
|
- DB_TYPE=postgresdb
|
|
- DB_POSTGRESDB_HOST=postgres
|
|
- DB_POSTGRESDB_PORT=5432
|
|
- DB_POSTGRESDB_DATABASE=n8n
|
|
- DB_POSTGRESDB_USER=n8n
|
|
- DB_POSTGRESDB_PASSWORD=${POSTGRES_PASSWORD:-n8n_password}
|
|
# Allow running shell commands (needed for our Python crawlers)
|
|
- N8N_ALLOW_EXEC=true
|
|
# Timezone
|
|
- GENERIC_TIMEZONE=Australia/Sydney
|
|
- TZ=Australia/Sydney
|
|
volumes:
|
|
- n8n_data:/home/node/.n8n
|
|
# Mount our crawler code so N8N can execute it
|
|
- ../crawlers:/opt/crawlers:ro
|
|
- ../database:/opt/database
|
|
depends_on:
|
|
postgres:
|
|
condition: service_healthy
|
|
|
|
postgres:
|
|
image: postgres:16-alpine
|
|
restart: unless-stopped
|
|
environment:
|
|
- POSTGRES_DB=n8n
|
|
- POSTGRES_USER=n8n
|
|
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-n8n_password}
|
|
volumes:
|
|
- postgres_data:/var/lib/postgresql/data
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U n8n"]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 5
|
|
|
|
volumes:
|
|
n8n_data:
|
|
postgres_data:
|