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

ServicePurpose
OpenCloudPersonal cloud storage & file sync (migrated from ownCloud, 2026) — the hub of the setup
ImmichSelf-hosted photo library, linked to the cloud’s photo exports via WebDAV
ForgejoSelf-hosted Git platform (also runs CI via Forgejo Actions runners)
Paperless-ngx + Paperless-GPTDocument management with AI-assisted document processing
*Jellyfin + ️⃣arr stackMedia server with automated media management
HomarrDashboard for all services
WordPressPhotography site (shotbysteve.uk)
Static blogPublished from an Obsidian vault through a Git-driven pipeline (Quartz)
Lyrion Music ServerMusic streaming
Grafana / Prometheus / LokiMonitoring, alerting, and log aggregation
NocturneNightscout-based diabetes monitoring
Portainer + WUD + WatchtowerContainer 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.