Add new Ansible roles and configuration for the edge proxy and private network architecture: ## New Roles: - **edge-traefik**: Edge reverse proxy that routes to private clients - Dynamic routing configuration for multiple clients - SSL termination at the edge - Routes traffic to private IPs (10.0.0.x) - **nat-gateway**: NAT/gateway configuration for edge server - IP forwarding and masquerading - Allows private network clients to access internet - iptables rules for Docker integration - **diun**: Docker Image Update Notifier - Monitors containers for available updates - Email notifications via Mailgun - Per-client configuration - **kuma**: Uptime monitoring integration - Registers HTTP monitors for client services - Automated monitor creation via API - Checks Authentik, Nextcloud, Collabora endpoints ## New Playbooks: - **setup-edge.yml**: Configure edge server with proxy and NAT ## Configuration: - **host_vars**: Per-client Ansible configuration (valk, white) - SSH bastion configuration for private IPs - Client-specific secrets file references This enables the scalable multi-tenant architecture where: - Edge server has public IP and routes traffic - Client servers use private IPs only (cost savings) - All traffic flows through edge proxy with SSL termination 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
24 lines
483 B
Django/Jinja
24 lines
483 B
Django/Jinja
version: '3.8'
|
|
|
|
services:
|
|
diun:
|
|
image: crazymax/diun:{{ diun_version }}
|
|
container_name: diun
|
|
restart: unless-stopped
|
|
command: serve
|
|
volumes:
|
|
- "./data:/data"
|
|
- "./diun.yml:/diun.yml:ro"
|
|
- "/var/run/docker.sock:/var/run/docker.sock:ro"
|
|
environment:
|
|
- TZ=UTC
|
|
- LOG_LEVEL={{ diun_log_level }}
|
|
labels:
|
|
- "diun.enable=true"
|
|
networks:
|
|
- monitoring
|
|
|
|
networks:
|
|
monitoring:
|
|
name: monitoring
|
|
external: true
|