About my homelab
My Homelab Setup
A single-node Proxmox VE homelab hosting a full range of self-hosted services — media, cloud storage, Git hosting, document management, AI tooling, monitoring, and personal websites.
This page is safe to share publicly: it deliberately omits internal IP addresses, ports, credentials, and file paths.
🖥️ Platform
- Hypervisor: Proxmox VE (single node)
- Virtualisation: Unprivileged LXC containers for services, KVM VMs for desktop/testing workloads
- Network: pfSense firewall with HAProxy-based reverse proxy routing public subdomains to internal services
- Remote access: Tailscale for secure connectivity from anywhere
💾 Storage
- LVM thin pools on NVMe and SSD storage for VMs and containers
- A dedicated volume group for the cloud storage backend
- A ~24 TB merged pool of standalone disks (via mergerfs) for bulk media and file storage
📦 Containers & Services
| Service | Purpose |
|---|---|
| OpenCloud | Personal cloud storage & file sync (migrated from ownCloud, 2026) — the hub of the setup |
| Immich | Self-hosted photo library, linked to the cloud’s photo exports via WebDAV |
| Forgejo | Self-hosted Git platform (also runs CI via Forgejo Actions runners) |
| Paperless-ngx + Paperless-GPT | Document management with AI-assisted document processing |
| *Jellyfin + ️⃣arr stack | Media server with automated media management |
| Homarr | Dashboard for all services |
| WordPress | Photography site (shotbysteve.uk) |
| Static blog | Published from an Obsidian vault through a Git-driven pipeline (Quartz) |
| Lyrion Music Server | Music streaming |
| Grafana / Prometheus / Loki | Monitoring, alerting, and log aggregation |
| Nocturne | Nightscout-based diabetes monitoring |
| Portainer + WUD + Watchtower | Container management and automated, scheduled container updates |
🖼️ Virtual Machines
A handful of Windows 11 and Linux (Debian / Ubuntu) VMs used for desktop work, testing, and experimentation.
🤖 Automation & CI/CD
- Forgejo Actions pipelines build and deploy the blog, and run nightly backups of cloud data to a Proxmox Backup Server, with offsite sync to object storage
- Weekly container update automation with pinned versions, digest comparison, and volume backups before upgrading
- Infrastructure is managed as code in a Git repository
💾 Backups
- Nightly Proxmox-level VM/container backups to Proxmox Backup Server
- Dedicated nightly job for cloud storage data, with offsite replication
- Immutable-ish discipline: backups are verified before any destructive storage work
🗂️ Recent Milestones (2026)
- Completed the ownCloud → OpenCloud migration, including a full LVM teardown and rebuild of the storage backend
- Rebuilt the blog publishing pipeline from an Obsidian vault with automated leak checks
- Automated container updates across the stack with staged, cautious tooling
🌐 Public-Facing Sites
Personal websites for cloud, chat, Git, docs, and photography — all reverse-proxied through HAProxy with TLS.