HOME SERVER - Fanculo le corporazioni


 

Siamo quasi al giro di boa del mio home server.

Se nel primo articolo parlavo di come avevo messo su l'hardware e quali fossero le mie intenzioni future, ora è arrivato il momento di raccontare un po' più nel dettaglio per capire meglio le potenzialità di un home server in questo mondo moderno.

Perché avere un Home Server o Homelab?

È questa la domanda più importante alla quale dobbiamo dare una risposta, prima di vedere in dettaglio di come si compone.

1) Privacy e Sovranità dei dati. I dati sono la cosa più importante che produciamo e che non riusciamo a capire come gestire. Solo grandi sistemi automatizzati possono trovarne un significato. La mente umana non è fatta per ciò. Pertanto, decidere di avere i propri dati nel proprio luogo, decidendo in modo molto più accurato chi può accedervi e no, è un potente motivatore.

2) Ottimizzazione costi. Si c'è un costo iniziale dell'hardware e poi di elettricità per tenerlo in piedi, ma un abbonamento da 2TB di google cloud sono 120€ all'anno. Un HDD da 2TB costa(va) 30€ e mangia 10€ all'anno di corrente a tenerlo sempre acceso? Diciamo che se uno ci fa davvero attenzione, può costruire un sistema anche per questo. Il problema è che la scimmia vince sempre e vi farà spendere sempre più soldi sulla macchina quindi beh. Punto che va detto per principio, ma per onestà no, non è assolutamente vero. Specie con i prezzi dell'energia elettrica in Europa.

3) Domotica Centralizzata e Privata. Ci arriviamo in fondo a spiegare come funziona.

4) Un posto per smanettare ed imparare. E questa è forse la funzione più utile, quella di mantenere attiva la curiosità ed ingegnarsi per risolvere problemi.

BASE - SISTEMA OPERATIVO

Il cuore nevralgico di un sistema non è tanto l'hardware. Si può usare la qualunque. Il mio sistema custom, tanto quanto recuperare un PC all in one piccolino o vecchi PC da ufficio dismessi, o anche dei Raspberry, ma il software. Ci sono diverse soluzioni sul mercato. Usare Windows o Linux così come sono è banale e spesso ci si muove su sistemi operativi dedicati, sia gratis che a pagamento.

Soluzioni comuni sono: Open Media Vault, TrueNAS, Proxmox ed appunto UNRAID.



Perché io ho scelto Unraid anche se è a pagamento? 

1) App store integrato che facilita la costruzione e mantenimento del proprio server con i vari servizi. Le varie app sono organizzati in oggetti Docker, come se fossero delle macchine virtuali in miniatura dedicate a fare solo una cosa, a far girare solo un'applicativo, molto comuni nel mondo Linux. Unito ai tantissimi video tutorial, qui tutti linkati nelle rispettive sezioni, ha reso l'abilitazione delle feature molto abbordabile.

2) Possibilità di usare Hard Disk di capacità diversa senza sprecare un singolo byte, consumando un solo disco principale per la ridondanza dei dati. Quindi è un sistema costruibile con i pezzi che si trovano in giro senza troppe beghe ed ha una possibilità di aggiornamento facilissima. Senza bisogno di usare tante risorse computazionali o RAM.

Il modo in cui funziona questa sicurezza è semplice. Il sistema opera un'operazione matematica su tutti i dischi del set up. E dice: scrivo nel bit di parità il risultato dell'operazione XOR dei byte nella stessa posizione di tutti i dischi presenti. Ad esempio, se ho 3 dischi, ed il primo ha un byte pari ad 1, il secondo ad 1 ed il terzo un 0, nel disco di parità verrà scritto per la posizione corrispondente un 0. Qualora uno di questo tre dischi dovesse esplodere, i suoi dati potranno essere ricreati sfruttando l'operazione inversa tra i dati degli altri due dischi e quello di parità.

Per questo, il disco di parità determina la massima dimensione dei dischi che usate nell'array. Se un parity è da 12TB, lui può proteggere fino a 12TB di dati e quindi i dischi nel sistema dovranno essere uguali o inferiori a quella capacità. Se volete avere più ridondanza e poter gestire due fail contemporanei, è possibile avere 2 dischi di parità in un sistema.

Le licenze di Unraid sono perpetue e sono limitate dal numero di device e per quanti anni di aggiornamenti si ha diritto. Si parte per 6 device + 1 anno di aggiornamenti da 49$. Il mio Jonsbo N2 ha esattamente spazio per 6 device quindi, a fagiolo. 5 Dischi meccanici per i dati ed un SSD da usare come cache per i dati delle applicazioni.

CONNESSIONE AL MONDO ESTERNO - CLOUDFLARE, NGINX, TAILSCALE e VPN

Un elemento col quale bisogna secondo me fare i conti immediatamente è come accedere al proprio server dall'esterno in modo sicuro e semplice. Spesso ci si scontra con questo elemento dopo che si è fatto tutto, ma secondo me è utile andare ad affrontare la questione fin da subito, o almeno, avere le idee ben chiare.



Qui ci ho sbattuto la testa più del dovuto, ma grossomodo esistono tre strade facili da implementare su Unraid.

Tailscale

La prima strada, facilissima, è quella di utilizzare un sistema di VPN che permette di unire device al di sotto di una stessa rete virtuale così che possano accedersi tra di loro indipendentemente dal dove siano fisicamente, sfruttando l'internet.

La soluzione maestra per questo è Tailscale. Ci si registra, si scarica l'applicativo sul server Unraid come plug in e su tutti i device dai quale si vuole accedere ed il gioco è fatto. Bum. Funziona tutto in pochissimi minuti. Qui videoguida di AlienTech42 per avere un'idea di come configurarlo su Unraid.

Questa soluzione è ottima per creare una rete personale sicura che bypassa qualsiasi tipo di configurazione di rete potete avere. Ed è gratis. Le opzioni a pagamento non sono molto onerose e per sistemi più comuni non sono necessarie. Se volete fare un set up solo per voi questa soluzione è perfetta.


Il limite è che ogni device dal quale volete accedere deve avere Tailscale, quindi l'unico fattore limitante è che il proprio server rimane principalmente vostro e non è un sistema aperto al mondo per dare servizi ad altri facilmente.

In questo caso, ci sono altre due soluzioni che non fanno uso di VPN, ma sfruttano due tecnologie diverse: il reverse Proxy e il Tunnel.

Reverse Proxy

Il Reverse Proxy è l'idea di prendere un indirizzo IP locale, come può essere un servizio del proprio server e renderlo raggiungibile attraverso l'indirizzo IP pubblico della vostra rete. Questo sistema funziona se avete a disposizione da chi vi fornisce internet un indirizzo IP fisso, ma anche uno dinamico va bene in quanto può essere aggiornato automaticamente. 

La maggior parte delle reti fisse come Wind, Tim, Vodafone, ma anche altre non cablate come Eolo, offrono questa possibilità. Normalmente la procedura free consiste nel creare un dominio gratis su come come duckdns, ad esempio gianfilippo.duckdns.org e scaricare sul server Unraid l'applicativo docker dedicato che automaticamente tiene traccia dei cambiamenti ed aggiorna l'infrastruttura.

A questo punto, si utilizza uno strumento come Nginx Proxy Manager per creare dei sottodomini ai quali connettersi dall'esterno di casa. Ad esempio, volete esporre la domotica, allora esisterà un domotica.gianfilipo.duckdns.org al quale connettersi e loggarsi.

Anche qui, una comoda guida di Alientech42 aiuta nel capire i passaggi da fare. Qui non usa duckdns ma una roba simile, ma la logica è uguale. In questo modo potete creare un'infrastruttura molto comoda da condividere con altre persone online, senza necessità di VPN.

Cloudflare tunnel

La terza opzione è una validissima alternativa al reverse proxy che ha molto senso quando non si dispone di un ip pubblico, ad esempio Starlink usa un protocollo GNAT dove usa gli stessi IP per più utenti. In questo caso, si utilizza un Tunnel Cloudflare, che crea un tunnel bucando tutto della propria infrastruttura tra un'entità interna (il server) e un dominio online. Il tunnel di cloudflare per scopi personali è gratuito, mentre il dominio in questo caso sarà a pagamento, con un costo annuale che dipende dal nome e indirizzo finale dove finisce. Non prevede l'apertura di porte sul proprio router quindi come approccio è sicuro.



Qui butto le video guide di Cadacc e Spaceinveder One per la questione Cloudflare.

Nella mia vecchia abitazione, sotto rete wind usavo un sistema di Reverse Proxy. Ora che sono sotto Starlink sono passato ad una soluzione ibrida di Tunnel Clodflare e Tailscale.

VPN

L'ultima cosa da tenere in considerazione è che, anche se state usando una delle soluzioni sopra indicate per accedere al vostro server da remoto, è possibile che ci sia la necessità che i servizi stessi automatizzati del server funzionino sfruttando VPN. Ci sono vari modi per configurare VPN direttamente all'interno dei programmi ma la cosa fondamentale è avere una VPN che funziona. Per farlo tocca pagare qualcuno. La mia scelta è ricaduta su PIA, Private Internet Access. Il costo, tra tutti i cupon sconto e pubblicizzazioni di youtuber è molto abbordabile in abbonamenti annuali.

FANCULO LE PUBBLICITÁ: ADGUARD/PIHOLE

Il primo, grande step da fare con ogni sistema di home server è a mio avviso quello di andare a bloccare le pubblicità invasiva di internet. A livello totale di network casalingo, quindi qualsiasi device che si collega alla vostra rete, sia esso uno smartphone, un PC o un tablet, avrà questa feature. Questi programmi sono poi utili per avere una gestione ancora più avanzata, come bloccare i siti porno sul device del pargolo ed in generale applicare limitazioni custom.



Pihole è sempre stato un po' il simbolo di questo genere di sistemi, e deriva il suo nome dal Raspberry pi, spesso usati solo con questo scopo.

Io ho scelto Adguard Home, più userfriendly come set up, e ci sono diverse videoguide in giro per unraid. In ogni caso, essenziale.

ARR STACK e PLEX/JELLYFIN

Il primo, grande uso che si fa di sistemi di questo tipo è per poter creare una sorta di Netflix + Spotify casalingo. 

Questo è abilitato da due sistemi che dialogano tra di loro. Il primo è il servizio. Ovvero, quali sono i programmi che diventano "netflix casalingo"? I due grandi nomi sono Plex e Jellyfin. Il primo è un prodotto business diciamo, che ha diverse feature a pagamento (la funzione remota ha bisogno di una licenza o perpetua o mensile), in grado di offrire anche tanti streaming sulla sua piattaforma stessa. Il suo vantaggio è avere il programma client ovunque. Anche sulle smart Tv Samsung ed in Android Auto. Chiunque può accedere a questo servizio e sfruttarlo per accedere a server in remoto. Jellyfin è la soluzione open source amatoriale 100% gratis. Ma che non è disponibile sfruttarla ovunque, dove le applicazioni client ufficiali si fermano e diversi progetti secondari ne prendono il posto, non sempre all'altezza e più complicati da implementare.



Altre alternative possono essere Kodi  più focalizzata sull'uso locale o Emby.

Tutte si comportano nello stesso modo: le si da in pasto un'area di storage, un HDD esterno, diversi HDD interni di un NAS, quel che volete e loro scansionano il contenuto, lo organizzano e poi lo rendono disponibile in streaming verso tutti i device client che si connettono all'istanza server dell'applicazione. 

Avere un server/NAS con 100 film in un luogo della casa e poter vedere quei film dal cellulare, sulla TV principale, sul PC e così via, tutti attingendo dallo stesso posto nella rete casalinga, con tutto collegato al proprio router, ma appunto sfruttando i tool integrati nei programmi o sfruttando le soluzioni su citate (Tailscale, Cloudflare...) anche da fuori casa.

Avendo l'hardware giusto, questi sistemi possono sfruttare la codifica/decodifica hardware in tempo reale sui processori moderni, andando quindi a cambiare al volo il formato per renderlo compatibile con quanti più lettori possibili o riadattarlo per situazioni di scarsa banda, come una ricezione non ottimale di un cellulare o per stare all'interno di limiti di upload del proprio sistema.

Una meraviglia. Come sempre, videoguida di AlienTech42 per il set up di Plex su Unraid.

A questo punto si entra nel più grande dei segreti non detti mai in modo molto esplicito. Come popolo la mia libreria di contenuti da foraggiare a Plex? Posso di prendere la musica comprata e scaricata da cose come soundcloud o derivare i film dai Blu ray che compro, ma il segreto di pulcinella è quello di agguantare quanti torrent possibili e prendere tutto dall'internet.

Ecco, un gruppo nutrito di sviluppatori ha creato quello che viene comunemente chiamato "ARR Stack", dall'onomatopea del verso piratesco unito a stack perché è un gruppo di programmi che automatizzano la ricerca ed il download di materiale dal web.

Non solo, esiste un modo di organizzare il tutto, chiamato TRaSH, su come ottimizzare l'organizzazione di file e cartelle per rendere il tutto più abbordabile.

Le applicazioni principali sono Radarr, Sonarr, Lidarr, Prowlarr, con in accompagno Overseer/Jellyseer/Seer, Huntarr, Bazaar ed altre ed un client torrent, tra qbittorent o deluge. In ordine, questi sistemi automatizzano l'aggiunta, la ricerca sul web, il download e la catalogazione di film, serie tv, musica. Il tutto con una gestione automatica delle fonti, e la possibilità di gestire tutte le richieste da un'interfaccia web molto user friendly che poi manda informazioni a tutti i sottosistemi.

Per organizzare il tutto, ancora una volta, le comode videoguide di Alientech42 su come impostare tutti questi programmi secondo l'organizzazione Trash.



Il risultato finale è qualcosa di pauroso. Esce un nuovo album di una band che seguite? BAM, automaticamente aggiunto alla collezione. Non sapete che film vi va di vedere?  Lo cercate su Overseer, navigandolo come se fosse un enorme catalogo di Netflix con TUTTO sopra, scegliete un film, fate richiesta e, a seconda dei seed e della velocità di connessione, apparirà nella collezione.

E nessuno potrà toglierlo dal catalogo. C'è tutta una community online, definibile dal subreddit r/DataHoarder che racchiude tutte le persone con la mania di acquistare ingenti quantità di hard disk per archiviarci sopra roba, incluso tutto lo scibile umano in termini di produzione audio e video, tra le altre cose.

Giacché se ne dica, questo è uno degli usi se non L'uso con la l maiuscola di un sistema NAS casalingo. Perché se all'arrivo di Netflix non ci dispiaceva pagare l'abbonamento, ora con 3000 servizi e lo scibile umano diviso tra essi, si stanno sfrangendo le balle a sempre più persone.

LIBRI

Per i libri la situazione è un pelo più complessa perché i sistemi automatici sono un po' tutti fallaci, ma esistono diversi frontend per poter gestire i propri libri, fumetti, manga e così via.

Quella che più mi sta convincendo è Booklore, spuntata nel 2025 raggiungendo la sua release 1.0.0 il 29 agosto 2025. Anche qui la logica è la stessa di Plex e compagnia. Tutti i file sono organizzati in cartelle e sottocartelle, Booklore le scansiona a cataloga. Potete poi accedere a questo servizio con i metodi sopra descritti di esposizione per poter leggere quel che volete.



Dalla pagina Github che ho collegato c'è anche la possibilità di vedere una demo in funzione. Ovviamente Alientech ci ha fatto un video set up.

Il problema più grosso è che i libri adorano andare con i loro sistemi proprietari e chiusi come un Kindle e via dicendo, ma si sta lavorando ad un'integrazione kobo, oppure usare uno dei tablet android con schermo eink.

Un altro strumento per i libri molto potente è Calibre-Web-Automated che unisce Calibre a Calibre Web e ne automatizza molte dinamiche. Per Calibre c'è una guida, al solito.

EMULATORI

Qui c'è una cosa molto, molto figa. Ci sono due modi per gestire una piattaforma d'emulazione su PC.

Il primo modo è quello blando e "stupido". Ovvero, avere in uno spazio tutte le rom in questione, e questo spazio può essere tanto in locale quanto su un server NAS centralizzato, per poi andare a richiamare con i vari emulatori i dati da lì.

Noioso. La seconda opzione vede l'utilizzo di un front end, che esattamente con la stessa logica di Plex alla fine, va ad organizzare tutta la collezione in un modo bellino da navigare. Forse il più famoso per questo è Launchbox.


Questo software gira solo su Windows ma permette di avere una visione totale sulla propria raccolta di sistemi d'emulazione, andando ad agire da collante. Premere play su un device lancia in automatico l'emulatore associato e se è tutto configurato al meglio, permette di realizzare macchine da gioco molto funzionali.

Sui server linux based, come Unraid esiste un'alternativa interessante: RomM. Questo sistema non solo funziona da front end, ma è in grado di emulare direttamente nel browser giochi fino alla generazione Playstation 1 e di permettere il download delle risorse in locale per le generazioni successive, abilitando quindi il gameplay in locale su device più performanti, come su un cellulare Android di fascia alta. Si integra con Playnite e addirittura si integra in modo diretto con MuOS per le retro console Anbernic

Il risultato è avere una retro console remota sempre a disposizione, ed un modo molto comodo per sfogliare ed organizzare tutta la propria collezione digitale. 

Ovviamente, guida di Alientech42.

HOME CLOUD: NEXTCLOUD E IMMICH

Molta della nostra vita è digitale. Produciamo un sacco di dati, siano essi pdf, word o excel per organizzare la nosta vita, tra comunicazioni bancari, dati sugli stipendi o cartelle cliniche, tanto per tutte le foto e video che facciamo con i nostri cellulari.

Ed allora torna comodo spostare questi dati nel cloud. Di Microsoft, Google o di altri. E se invece potessimo fare tutto su un nostro server casalingo? Certo, l'onere del mantenimento dei dati e della loro protezione ricade su di noi e mettere in piedi tutte le misure per proteggere i nostri dati costa a noi singoli molto più che ad un'impresa come google... ma è possibile farlo.


Partiamo dal progetto più immediato e funzionale: Immich. Questo è google photo ma open source. Si c'è scritto "buy" in alto, ma è una donazione, una sorta di modello winrar. Funziona esattamente come ce lo si aspetti. Le proprie foto e video sono caricati sul nostro server, attraverso internet o la connessione locale quando siamo in casa. Queste vengono poi catalogate, analizzate con IA in locale, per riconoscere volti, luoghi e quant'altro. Usa i metadata della geolocalizzazione per costruire una mappa delle nostre foto e le può organizzare per logica, volti e così via. 

In termini di funzionalità è "indistinguibile" da google photo. Davvero un lavoro enorme, ben fatto e funzionale. Ovviamente, video per set up da Alientech42.

Per quel cha riguarda il cloud, devo dire che ho provato un po' di tutto ma niente mi ha convinto troppo bene. Alla fine sono finito su Nextcloud, che è una piattaforma online anche più complessa del solo cloud dei propri documenti. Volendo può essere espanso a un sistema di collaborazione online, con chat, bacheche, elaborazione documenti in comune.. ed anche si, storage e condivisione di dati.

C'è da smacchinare un po', l'installazione non è delle più semplici, ma una videoguida questa volta di BCadventure aiuta molto. 



Alternative possono essere Opencloud o Seafile. Tutte queste hanno applicazioni per PC Windows che funzionano come quelle di Drive e Onedrive e ci sono anche su Android quindi sono molto pratiche da sfruttare.

Fate solo nota che se condividete un file dal vostro cloud ad altri, scaricheranno con il vostro upload e non con l'upload di Google/Microsoft.

Questa combo di app è comunque molto, molto importante per "degooglifica".."degooglifar...", insomma, se volete eliminare i soliti attori del cloud e gestione documenti.

HOME ASSISTANT

La Magnus Opera. la chiave di volta. Il futuro a portata di mano. Home Assistant. Un sistema operativo dedicato alla domotica.

Belli questi sensori di temperatura, ma ok funzionano col wi-fi, hobisogno dell'app per cellulare Smarlife... ah poi ho anche il robot che pulisce della roborock che ha la sua app, che non viene vista da Google Home, eh però belle ste cose da Aliexpress però sono in Zigbee...

Home Assistant è un sistema completo che unisce tutto ed è in grado di interfacciarsi col pianeta terra, semplificando enormemente la gestione della domotica.

Il punto di partenza è creare una macchina virtuale che esegue Home Assistant sul server Unraid. Ed esiste un moto automatizzato per tutto ciò ed al link trovate una videoguida.

La macchina virtuale è super leggera. Io gli ho affidato 2 dei miei 4 core e 2GB di ram e va che è una bellezza e usa molto meno per stare in piedi.

Una volta messo in piedi si tratta di scaricare le varie integrazioni presenti dentro HA e agganciare i propri dispositivi. Vedete qui sotto nel mio ho Smartthing per accedere/spegnere e vedere lo stato della mia TV e Lavasciuga Samsung, Tuya per i sensori Wi-Fi, Zigbee per gli interruttori della luce Smart Sonoff (uso un hub USB collegato al server e fatto leggere alla VM ) e Roborock per il mio robot. Si c'è anche Renault per i dati della mia Megane


Poi sta un po' a voi vedere come organizzare tutti questi dati in interfacce che abbiano senso e che siano comandabili da Smartphone o da schermo a parete, PC, tablet, quel che vi è più comodo.

C'è da smacchinarci un po', è possibile creare le proprie rutine con codice, ma è una svolta enorme. Qui sotto un esempio di quello che fa la gente online! Il mio fa abbastanza schifo, devo ancora lavorarci bene.


Una combo comoda che ho scoperto in questi giorni è la seguente. Praticamente scaricando Home-Assistant-Matter-Hub, è possibile trasformare/esporre tutti i device di HA come oggetti Matter. Questo vuol dire ad esempio che le luci zigbee, sono collegate ad HA attraverso appunto il protocollo Zigbee, ma poi esponendole in questo modo sono individuabili da Google Home e quindi posso usare i comandi vocali di google Home immediatamente. Senza dover prima passare dal cloud di Home Assistant.

Se il vostro server ha un po' di potenza bruta lato GPU e RAM, può anche processare i comandi audio in locale con una LLM di HA. per avere il vostro "Gemini" in locale, a tutto vantaggio di privacy.

Tutto questo che avete visto non ha bisogno di un PC della nasa. 4 core a basso consumo come quelli di un Intel N100, una GPU moderna con feature quicksync e 16GB di RAM, tengono a bada tutte le cose sopra descritte senza problemi. Risorse maggiori servono se si devono gestire tante utenze contemporaneamente, come sono appunto i server che tengono in piedi l'Internet, o se volete fare cose molto più pesanti in termini di calcolo. Una cosa comune oggi è far girare dei modelli IA in locale e lì c'è bisogno di GPU e RAM. Oppure se volete usare altri sistemi di gestione del raid dei dati, come lo ZFS, incredibilmente potente e versatile oltre che più sicuro, ma che richiede CPU e Ram per essere scattante.

Come potete vedere il cielo è il limite. Non c'è mai fine allo smanettamento, a quanti hard disk il sistema può avere, a quante feature possono essere abilitate. Questo blog, perché non trasporlo su Wordpress e averlo in selfhosting invece di dover stare dietro a blogger di Google? Una possibilità futura, che potrei esplorare per sfizio di farlo.

Ma sono convinto che tutta questa tecnologia e tutte queste guide che permettono di sfruttarla abbastanza facilmente (ovvio, dovete essere predisposti un minimo) sono una grande liberazione ed il vero punto di svolta nella gestione della propria vita digitale.

Purtroppo, il terribile impiego di RAM, HDD e SSD da parte dei datacenter IA, sta facendo impennare i prezzi enormemente, distruggendo i sogni di molti di avere un home server personale a prezzi abbordabili.

Stay Classy, Internet


Nessun commento:

Posta un commento

01 09 10