My homelab
A server at home where I learn to design, secure and automate infrastructure the way a systems administrator would.
Goal
I work in IT support and I want to grow into a systems administrator role. The most concrete way I found is to build and run a real infrastructure: virtualization, networking, secure remote access, monitoring, backups and automation. Everything here is in daily use, not a demo.
Hardware
Architecture
Internet │ Cloudflare (DNS · Tunnel · Access with Google login) │ cloudflared LXC ──► internal services (dashboard, monitoring, password manager…) │ Proxmox VE ── ZFS RAIDZ1 ├─ LXC: Pi-hole (DNS and ad-blocking) ├─ LXC: NAS (Samba on a ZFS dataset) ├─ LXC: game server ├─ LXC: dashboard and monitoring └─ Tailscale / WARP for private access
Stack
Virtualization and storage
- Proxmox VE with LXC containers (Debian)
- ZFS RAIDZ1 pool
- NAS with Samba on a ZFS dataset
Network and access
- Domain managed on Cloudflare
- Cloudflare Tunnel: no open ports on the router
- Cloudflare Access with Google login, also for SSH from the browser
- Tailscale and WARP for private access
- Pi-hole as local DNS
Self-hosted services
- Dashboard for quick access to services
- Password manager (Vaultwarden)
- Game server for friends
- Email on the domain and this site on Cloudflare Pages
Monitoring
- Uptime Kuma for service availability
- Prometheus and Grafana for Proxmox and container metrics
Security and backups
- Services behind Cloudflare Access
- Fail2ban
- Backups with vzdump on the ZFS pool and an off-site copy on Cloudflare R2
Automation
- Ansible for configuring and maintaining the containers
What I learned
I learned to think in layers: storage and virtualization first, then networking and DNS, then access, security and observability. Exposing services without opening ports, keeping backups off the machine and monitoring what runs are habits I bring to my day-to-day work too.
Next steps
Read-only public dashboard
Make the status of the services visible to others, without edit permissions.
More monitoring
Bring Grafana and Prometheus into Uptime Kuma and the dashboard, with protected access.
Credential management
Move all secrets into the password manager and keep them out of configuration files.
Let's talk
If you'd like to know more about the project, write to me at lorenzo.mustone@gmail.com or use the chat on this site.