Self-hosting: il proprio cloud
Ogni giorno affidiamo i nostri dati più personali a infrastrutture che non controlliamo: le nostre foto di famiglia su Google Photos, i nostri documenti di lavoro su Dropbox, le nostre password su LastPass, i nostri film e musica su Netflix e Spotify. Questo modello è comodo, scalabile e, per la maggior parte degli utenti, funziona bene. Ma ha dei costi nascosti: la privacy, la dipendenza da aziende che possono cambiare le condizioni del servizio o semplicemente chiuderlo, e i costi economici che nel tempo diventano significativi. Il self-hosting è la risposta a questi problemi: gestire autonomamente i propri servizi digitali su hardware che si possiede e si controlla.
Perché fare self-hosting: le motivazioni reali
Le motivazioni per avvicinarsi al self-hosting sono diverse e spesso si combinano:
Privacy e controllo dei dati. I dati che memorizziamo su servizi cloud di terze parti vengono analizzati, indicizzati e in molti casi usati per creare profili pubblicitari. Google Photos analizza le immagini con AI, Dropbox scansiona i file, i provider email leggono i messaggi per fornire "funzionalità intelligenti". Con il self-hosting i dati rimangono fisicamente sui propri dischi.
Indipendenza dalla enshittification dei servizi. Il termine "enshittification", coniato da Cory Doctorow, descrive il processo per cui le piattaforme degradano progressivamente il servizio agli utenti per estrarre più valore. Google ha chiuso Google Reader, Google+, Google Stadia, Google Domains. Microsoft ha modificato radicalmente OneDrive. Dropbox ha ridotto lo spazio gratuito. Con il self-hosting nessuno può toglierti il servizio o cambiarne le condizioni.
Costi nel lungo termine. Google One 2TB costa circa 10 euro al mese (120 euro l'anno). iCloud+ 2TB costa 9.99 euro al mese. Un disco da 2TB consuma circa 5 euro di elettricità l'anno su un Raspberry Pi. Dopo 2-3 anni il self-hosting è economicamente vantaggioso, specialmente per grandi quantità di dati.
L'aspetto educativo e tecnico. Non va sottovalutato: gestire un homelab insegna networking, Linux, sicurezza, Docker, backup, monitoraggio. Sono competenze spendibili professionalmente.
Hardware: scegliere la base giusta
La scelta dell'hardware dipende dal carico previsto, dal budget e dalle proprie esigenze di consumo energetico.
Raspberry Pi 5 (da 60 euro) è l'opzione entry-level più popolare. Con 4 o 8GB di RAM e un SSD collegato via PCIe, gestisce bene servizi leggeri come Pi-hole, Vaultwarden, Nextcloud per uso personale, Home Assistant. Il consumo energetico è di circa 5-10W, rendendo il costo operativo annuale di 5-8 euro.
Mini PC con Intel N100 o N305 (da 80-150 euro) rappresentano oggi il miglior rapporto prezzo/prestazioni per un homeserver. Il chip Intel N100 è un processore Alder Lake-N con 4 core (no hyperthreading) e una iGPU Intel UHD con accelerazione hardware video H264/H265/AV1: fondamentale per Jellyfin. Con 16GB di RAM e un SSD da 512GB si costruisce una macchina capace di gestire decine di servizi contemporaneamente, con un consumo di circa 10-20W. Produttori come Beelink (Mini S12 Pro), Minisforum e Trigkey offrono questi dispositivi.
NAS (Network Attached Storage) dedicato come i Synology DS224+ o QNAP TS-264 sono soluzioni chiavi in mano per chi prioritizza la semplicità. Hanno software proprietario maturo, supporto RAID, hot-swap dei dischi, app store integrato. Il prezzo è superiore (200-400 euro solo per il NAS, senza dischi) ma offrono una esperienza più plug-and-play.
Server usati: Dell PowerEdge R730, HP ProLiant DL360, Fujitsu PRIMERGY. Potenti ed economici sul mercato dell'usato (da 100-300 euro), ma rumorosi, pesanti e con consumi nell'ordine di 100-200W: adatti a chi ha un locale tecnico dedicato.
Il software: l'ecosistema delle applicazioni self-hosted
L'ecosistema delle applicazioni self-hosted è cresciuto enormemente negli ultimi anni. Ecco le principali:
Nextcloud è il sostituto di Google Drive/OneDrive più completo. Sincronizzazione di file, foto, calendari (CalDAV), contatti (CardDAV), note, task list, editor di documenti online (integrazione con Collabora/OnlyOffice), video conferenze, gestione delle email. Ha client nativi per Windows, macOS, Linux, Android e iOS. È un progetto open source maturo con una community attiva e un ecosistema di app ricco. Può essere impegnativo da gestire e aggiornare per i non tecnici, ma rimane il punto di riferimento del settore.
Immich è emerso come il sostituto di Google Photos preferito dalla community self-hosting. Backup automatico delle foto dal telefono, riconoscimento facciale, ricerca semantica con AI (ricerca per contenuto dell'immagine), mappa geografica, album condivisi. È scritto in TypeScript/Node.js e usa PostgreSQL con pgvector per le ricerche AI. Lo sviluppo è velocissimo: nuove versioni ogni poche settimane.
Vaultwarden è una reimplementazione del backend di Bitwarden in Rust, compatibile con tutti i client ufficiali Bitwarden. Permette di gestire un server di password manager personale con risorse minime (pochi MB di RAM). Bitwarden è il miglior password manager open source disponibile, e Vaultwarden permette di non affidarsi ai server di Bitwarden per la sincronizzazione.
Jellyfin è il sostituto di Plex e Emby, completamente open source e senza abbonamenti. Gestisce una libreria di film, serie TV, musica e foto, con streaming verso qualsiasi dispositivo tramite client nativi o browser. Supporta il transcoding hardware (fondamentale per i formati H265/HEVC che molti dispositivi non decodificano nativamente) usando le GPU integrate dei mini PC con N100.
Home Assistant è la piattaforma domotica open source di riferimento. Integra oltre 3000 dispositivi e servizi (Philips Hue, IKEA Tradfri, Sonos, Tesla, Shelly, Zigbee, Z-Wave, e centinaia di altri), automazioni potenti, dashboard personalizzabili, e supporto per script in Python/YAML. Nasce come applicazione per Raspberry Pi (con l'immagine HAOS) ma gira benissimo su qualsiasi hardware come container Docker.
Paperless-ngx è un sistema di gestione documentale che digitalizza e organizza bollette, contratti, documenti medici e qualsiasi carta scannerizzata. Usa OCR (Tesseract) per rendere i documenti ricercabili, applica tag automaticamente tramite regole o machine learning, e offre un'interfaccia web pulita per la gestione dell'archivio.
Gitea/Forgejo sono implementazioni leggere di un server Git self-hosted, simile a GitHub. Gestione di repository, issue tracker, pull request, CI/CD base con Gitea Actions. Ideale per il codice personale o di piccoli team che non vuole dipendere da GitHub.
Docker Compose: la colonna vertebrale del self-hosting moderno
Docker ha rivoluzionato il self-hosting. Prima di Docker, installare Nextcloud significava configurare Apache, PHP, MySQL manualmente su un sistema Linux, gestire le dipendenze, fare gli aggiornamenti manualmente. Oggi significa scrivere un file docker-compose.yml di 30 righe e lanciare docker compose up -d.
Docker Compose permette di definire servizi multi-container in un file YAML dichiarativo. Un tipico setup Nextcloud in Compose include il container Nextcloud, il database MariaDB, Redis per il caching, e opzionalmente un collabora/onlyoffice per l'editing dei documenti. Tutti i servizi vengono avviati insieme con un singolo comando, i volumi Docker persistono i dati tra i riavvii, e le reti Docker isolano i container tra loro.
Il vantaggio di Docker per il self-hosting va oltre la semplicità di installazione: l'aggiornamento di un servizio richiede solo docker compose pull && docker compose up -d. Il rollback a una versione precedente è altrettanto semplice cambiando il tag dell'immagine nel compose file. Il sistema host rimane pulito senza dipendenze conflittuali.
Reverse proxy: rendere i servizi accessibili
Un homeserver con dieci servizi diversi non può esporre tutti sulla porta 80/443. Il reverse proxy è il componente che riceve tutte le richieste HTTP/HTTPS in arrivo e le instrada al container corretto in base al nome di dominio.
Le opzioni principali sono tre:
Caddy è il reverse proxy moderno per eccellenza. La sua caratteristica killer è il provisioning automatico dei certificati SSL tramite Let's Encrypt senza configurazione aggiuntiva. Un Caddyfile per esporre Nextcloud su nextcloud.miodominio.it è letteralmente di 3 righe. Scritto in Go, è single-binary e consuma pochissime risorse. Fortemente raccomandato per chi inizia.
Nginx Proxy Manager (NPM) offre un'interfaccia web grafica per configurare il reverse proxy. Non richiede di editare file di configurazione: si aggiungono i proxy host dalla UI, i certificati SSL vengono gestiti automaticamente. È la soluzione più facile per i principianti assoluti.
Traefik è il reverse proxy cloud-native che si integra nativamente con Docker: legge le label dei container e configura automaticamente le rotte senza modificare la propria configurazione. Potente e flessibile, ma con una curva di apprendimento superiore. Ideale per setup avanzati con molti servizi.
DDNS: avere un dominio raggiungibile da Internet
Per accedere ai propri servizi self-hosted da fuori casa occorre un indirizzo IP pubblico statico (non sempre disponibile con le connessioni residenziali) o un sistema DDNS (Dynamic DNS). I provider DDNS monitorano l'IP pubblico del router e aggiornano automaticamente il record DNS del proprio dominio quando cambia.
Servizi DDNS gratuiti popolari: DuckDNS, FreeDNS (afraid.org), No-IP. Cloudflare offre un'API gratuita per aggiornare i record DNS, usata da script come cloudflare-ddns che girano come container Docker e aggiornano il record ogni pochi minuti.
Una soluzione sempre più popolare per evitare di aprire porte sul router è usare Cloudflare Tunnel: un daemon installato sul server crea un tunnel cifrato verso i data center Cloudflare, che fa da proxy inverso. Non serve aprire alcuna porta sul router, l'IP del server rimane privato, e Cloudflare gestisce il SSL. Il servizio base è gratuito.
WireGuard: accesso sicuro alla rete domestica
Aprire porte del router a Internet è sempre un rischio. Un'alternativa più sicura è usare WireGuard come VPN: si espone solo la porta UDP di WireGuard (default 51820), e tutti gli altri servizi rimangono accessibili solo attraverso la VPN. Dal fuori si attiva la VPN sul telefono o laptop e si accede ai servizi come se fossero in rete locale.
WireGuard è incluso nel kernel Linux dalla versione 5.6 (2020), è estremamente semplice da configurare, e le sue prestazioni superano OpenVPN di 2-3 volte. Su iOS e Android ci sono client ufficiali. La gestione delle chiavi pubbliche/private è simile a SSH.
Backup 3-2-1: non perdere i dati
Il self-hosting porta la responsabilità dei propri dati. La regola d'oro del backup è la strategia 3-2-1:
- 3 copie dei dati
- 2 su media diversi (es. SSD interno + HDD esterno)
- 1 fuori sede (cloud cifrato, secondo NAS a casa di un familiare, ecc.)
Strumenti raccomandati per il backup:
- Restic: backup cifrato, deduplicato, a blocchi. Supporta backend multipli (B2, S3, SFTP, locale). Eccellente rapporto spazio/sicurezza.
- BorgBackup: simile a Restic, con interfaccia Vorta per il desktop.
- rclone: sincronizzazione verso decine di provider cloud (B2, S3, Dropbox, Google Drive, ecc.), non fa deduplicazione ma è flessibile.
Per il backup offsite economico, Backblaze B2 offre 10GB gratuiti e poi 6$/TB/mese: molto meno costoso di AWS S3 per uso personale.
Sicurezza: le basi irrinunciabili
Un homeserver esposto a Internet è un target per scanner automatici. Le basi della sicurezza sono:
- Aggiornamenti automatici del sistema operativo (unattended-upgrades su Debian)
- Autenticazione a due fattori su tutti i servizi esposti
- Fail2ban per bloccare IP dopo tentativi di login falliti
- Porte non standard per SSH (o meglio, SSH solo via VPN)
- Firewall (ufw) con policy deny-all in ingresso tranne le porte necessarie
- Non usare le stesse credenziali su servizi diversi
- Monitoraggio con Uptime Kuma per notifiche quando un servizio cade
Costi reali vs cloud: il confronto onesto
Un mini PC N100 da 150 euro con 16GB RAM e 1TB SSD, più un HDD da 4TB per i media (80 euro), ha un costo iniziale di circa 230 euro. Il consumo elettrico (15W medio) costa circa 20 euro l'anno in Italia. In 3 anni il costo totale è di circa 290 euro.
Google One 2TB per 3 anni: 360 euro. iCloud+ 2TB per 3 anni: 360 euro. Bitwarden premium per 3 anni: 30 euro. Plex Pass per 3 anni: 120 euro. Solo questi quattro servizi insieme costano oltre 800 euro in 3 anni.
Il self-hosting non è sempre conveniente per tutti: richiede tempo di configurazione e manutenzione, competenze tecniche, e accettazione del rischio di downtime. Ma per chi è disposto a investire nell'apprendimento, i vantaggi economici, di privacy e di controllo sono reali e misurabili.