EN / TR

Proxmox Homelab Automation

Production homelab running family services. 30+ services across 8 LXC containers with GPU passthrough, automated deployment, and full-stack monitoring.

30+ Services ~3K Lines Bash
Dashboard
Centralized Command Center

Infrastructure as Code

I built a setup where I define everything in one YAML file (stacks.yaml), and scripts handle the installation automatically.

Single Source of Truth Manage all containers and networks in stacks.yaml. If it's not there, it doesn't exist.
Idempotency The installer script can run multiple times without breaking anything, only applying necessary changes.

Security & Secrets Management

I treat this homelab like a real production server. No open ports, and all API keys are encrypted in the repo.

AES-256 Encryption (OpenSSL) Sensitive keys are stored as .env.enc in Git, encrypted with OpenSSL.
Fail2Ban Integration Fail2Ban runs locally to block brute-force attempts on internal services.

Backup & Recovery

Mix of local snapshots for quick fixes and encrypted cloud backups for disasters.

Layer 1: ZFS Snapshots Managed by Sanoid. Seconds-level recovery from accidental deletion.
Layer 2: Cloud Archival Backrest creates encrypted snapshots, synced to Google Drive via rclone.

Observability & Logs

A monitoring stack to see everything in one place: Prometheus, Loki, and Grafana.

Grafana
Operational Visibility

Network Topology

Multi-path access architecture with split DNS for seamless connectivity anywhere.

Client Devices
Mobile Phone
Tailscale / WARP
Admin Laptop
Tailscale (Primary)
Public Browser
Cloudflare Access
Access Paths
Tailscale VPN 192.168.1.0/24
Cloudflare WARP Split DNS
CF Tunnel + Access *.byetgin.com
Local WiFi Direct LAN
Homelab Infrastructure
Tailscale Router
LXC 100 - Subnet Router
AdGuard Home
Split DNS (*.byetgin.com)
cloudflared
Tunnel → NPM
Nginx Proxy
LXC 100 - Reverse Proxy
Application Layer
Services
8 LXC / 30+ containers

Live Inventory

Systems Operational
Loading infrastructure data...

Architectural Decisions

Why not Kubernetes? For a single-node environment, Kubernetes introduces significant overhead. Docker Compose maintains native performance.
Why Bash for IaC? Modular Bash scripts stay close to the OS, ensuring full reproducibility on Proxmox without external dependencies.