Homelab & Infrastructure.
A self-hosted environment built around Proxmox, automation, privacy-conscious services and learning through real operations.
Why I built it
I use my homelab as a real operating environment, not just a place to spin up test containers. The goal is to own more of my digital services and data, reduce reliance on subscriptions where practical, and learn the decisions that matter after an application has been deployed: updates, storage, recoverability and reliable day-to-day operation.
Virtualization and services
Proxmox VE provides the virtualization layer. I run Home Assistant OS as a dedicated virtual machine and use a Linux/Docker environment for services including media applications and Frigate. I have also worked with self-hosted tools such as Immich and Paperless for photos and documents. Separating services gives me room to maintain and experiment without treating every change as a full rebuild.
Infrastructure as code
I maintain a homelab GitHub repository and have worked with OpenTofu and Ansible to make configuration reproducible, alongside SOPS and age for handling secrets. For Home Assistant, I built and tested an automated image/template workflow, including cloning and boot-verification. The aim is to turn one-off server configuration into something that can be reviewed and repeated.
Hardware and practical debugging
Running software on my own hardware has meant dealing with problems beyond application code: virtual machine configuration, attached storage, device passthrough, container access to hardware and boot-order issues. One example is configuring Intel integrated graphics access for containerized services and testing Frigate with hardware acceleration. Another is troubleshooting storage devices that were not available after a Proxmox reboot.
Networking and remote access
Network design is part of the project too. I use UniFi networking and WireGuard VPN for remote-access workflows, alongside DNS, HTTPS and service routing. This has made security boundaries and the distinction between internal services and publicly reachable applications a practical design concern rather than a theoretical one.
Hosting, operations and recovery
The homelab complements my experience running Linux-hosted websites and container deployments, including Coolify-managed applications. I work with maintenance, storage, backups and recovery procedures, and I have explored ways to keep long-term copies of important personal data under my own control. Some setups are still evolving; the value comes as much from failure investigation and documentation as from the final running services.
What I have learned
The recurring lesson is that shipping an application is only one part of engineering a useful system. Infrastructure needs clear ownership, repeatable setup, sensible access controls, an understanding of hardware dependencies and a recovery plan. My homelab is where I can test those trade-offs directly and carry the lessons into production software work.