Homelab
Server domestico su ZimaBlade e Raspberry Pi, con un VPS svizzero e una VPN mesh per portare il cloud self-hosted oltre il CGNAT.
- Ruolo
- System Administrator & DevOps
- Anno
- 2025
- Stato
- Rilasciato
Questo progetto rappresenta la spina dorsale della mia infrastruttura personale. Si tratta di un ecosistema di macchine interconnesse e servizi self-hosted, disegnati per il deployment di applicazioni, streaming multimediale e memorizzazione sicura dei dati, il tutto orchestrato scavalcando le restrizioni di rete imposte dall’ISP (CGNAT) grazie a una VPN Mesh avanzata.
Architettura e Nodi del Cluster
1. Server Principale (ZimaBlade 7700)
Il cuore operativo dell’Home Lab si basa sullo ZimaBlade 7700 con 16GB di RAM, con il sistema nativo ZimaOS installato.
- Storage Tiering: Sistema diviso tra un NVMe M.2 ultraveloce da 1TB dedicato al sistema e ai container Docker, unito a due HDD NAS da 8TB (in RAID 1 per la ridondanza totale dei dati gestita da ZimaOS).
- Servizi Principali:
- Seafile: Sincronizzazione dei file fra i miei dispositivi e il server. Ha preso il posto di Nextcloud, troppo pesante.
- Jellyfin & Suite Arr: Streaming multimediale assistito da automazioni come Radarr/Sonarr e Prowlarr/qBittorrent.
- Immich: Archivio delle foto personali.
- FranzPLAY: Piattaforma web custom per lo streaming video, sviluppata per la gestione e riproduzione di contenuti multimediali personali.
2. Server Secondario (Raspberry Pi 4)
Tiene i servizi leggeri e sempre accesi, su Debian 13 con Docker rootless, gestito da Portainer.
- Servizi Principali:
- SiYuan: La mia wiki personale, con appunti e documentazione di tutto il lab.
- Homepage: Dashboard con tutti i servizi a colpo d’occhio.
- Geek Country: Un eCommerce Laravel + Vue in produzione.
3. Gateway, Reverse Proxy e VPN NetBird (VPS)
Essendo il router domestico sotto l’impossibilità di aprire le porte (limitazioni ISP Ehiweb/CGNAT), tutti i nodi comunicano verso l’esterno tramite un server in Svizzera (VPS Infomaniak). Il VPS fa da ponte di rete, con NetBird self-hosted:
- VPN mesh NetBird: Il VPS ospita il server NetBird: dashboard, gestione dei nodi e login integrato, tutto sul mio dominio. ZimaBlade, Raspberry, PC e VPS si parlano in P2P con tunnel WireGuard, su una rete privata con indirizzi scelti a mano.
- Relay sul VPS: Quando la connessione diretta P2P non riesce, il traffico passa dal relay NetBird sul VPS svizzero, non da server pubblici.
- Reverse proxy integrato: I servizi pubblici sotto
franzpage.itpassano dal proxy di NetBird, con Traefik davanti e certificati Let’s Encrypt. Il proxy raggiunge i container di casa dentro il tunnel: a casa non si apre nessuna porta. - Accessi per gruppi: Le policy decidono quali dispositivi si vedono. Senza una regola, il traffico fra i nodi è bloccato.
- Prima Headscale, ora NetBird: La prima versione usava Headscale + Tailscale, con un relay DERP personale e Nginx Proxy Manager. Sono passato a NetBird perché permette di assegnare gli IP dei nodi dalla dashboard e include già reverse proxy, policy a gruppi e SSH.
Ogni singolo servizio del lab, dal front-end ai database fino all’infrastruttura di routing, è containerizzato su Docker, garantendo migrazioni fluide e azzerando i conflitti di dipendenze.
Stack
- ZimaOS
- Raspberry Pi
- Docker
- NetBird
- WireGuard
- Traefik