Introduces centralized configuration management for home lab:
- sync-configs.sh script for pull/push/diff/deploy operations
- hosts.yml inventory tracking 9 hosts (Proxmox, VMs, LXCs, cloud)
- Docker Compose files from all active hosts (sanitized)
- Proxmox VM and LXC configurations for backup reference
- .env.example files for services requiring secrets
All hardcoded secrets replaced with ${VAR} references.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
76 lines
1.8 KiB
YAML
76 lines
1.8 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
postgres:
|
|
image: postgres:15-alpine
|
|
container_name: n8n-postgres
|
|
restart: unless-stopped
|
|
environment:
|
|
- POSTGRES_USER=${POSTGRES_USER}
|
|
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
|
|
- POSTGRES_DB=${POSTGRES_DB}
|
|
volumes:
|
|
- postgres_data:/var/lib/postgresql/data
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -h localhost -U ${POSTGRES_USER} -d ${POSTGRES_DB}"]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 10
|
|
networks:
|
|
- n8n-network
|
|
|
|
n8n:
|
|
image: n8nio/n8n:latest
|
|
container_name: n8n
|
|
restart: unless-stopped
|
|
depends_on:
|
|
postgres:
|
|
condition: service_healthy
|
|
ports:
|
|
- "5678:5678"
|
|
environment:
|
|
# Database
|
|
- DB_TYPE=postgresdb
|
|
- DB_POSTGRESDB_HOST=postgres
|
|
- DB_POSTGRESDB_PORT=5432
|
|
- DB_POSTGRESDB_DATABASE=${POSTGRES_DB}
|
|
- DB_POSTGRESDB_USER=${POSTGRES_USER}
|
|
- DB_POSTGRESDB_PASSWORD=${POSTGRES_PASSWORD}
|
|
|
|
# n8n Configuration
|
|
- N8N_HOST=${N8N_HOST}
|
|
- N8N_PORT=5678
|
|
- N8N_PROTOCOL=${N8N_PROTOCOL}
|
|
- WEBHOOK_URL=${WEBHOOK_URL}
|
|
- GENERIC_TIMEZONE=${TIMEZONE}
|
|
|
|
# Security
|
|
- N8N_ENCRYPTION_KEY=${N8N_ENCRYPTION_KEY}
|
|
- N8N_BASIC_AUTH_ACTIVE=true
|
|
- N8N_BASIC_AUTH_USER=${N8N_BASIC_AUTH_USER}
|
|
- N8N_BASIC_AUTH_PASSWORD=${N8N_BASIC_AUTH_PASSWORD}
|
|
|
|
# Performance
|
|
- NODE_ENV=production
|
|
- EXECUTIONS_PROCESS=main
|
|
- EXECUTIONS_MODE=regular
|
|
|
|
# Logging
|
|
- N8N_LOG_LEVEL=info
|
|
- N8N_LOG_OUTPUT=console
|
|
volumes:
|
|
- n8n_data:/home/node/.n8n
|
|
networks:
|
|
- n8n-network
|
|
|
|
volumes:
|
|
postgres_data:
|
|
name: n8n_postgres_data
|
|
n8n_data:
|
|
name: n8n_data
|
|
|
|
networks:
|
|
n8n-network:
|
|
name: n8n-network
|
|
driver: bridge
|