Tre migrazioni in sette giorni

Nell'ultima settimana, o poco più, ho spostato la mia installazione di Nextcloud per tre volte, ogni volta usando hardware e distribuzioni differenti, riuscendo anche ad imparare qualcosa di nuovo.

Uso Nextcloud da diversi anni. In passato lo usavo su un Raspberry Pi 2 a cui avevo collegato un SSD esterno su porta USB. Sul disco c’era sia l’applicazione che il database, perché non mi fidavo molto della scheda SD.

Il sistema era accessibile sia dalla rete locale che da Internet, perché all’epoca avevo una connessione che includeva un indirizzo IP pubblico statico, e potevo associare un record A di un mio dominio all’IP di casa. Questo mi ha permesso di disporre di tutto lo storage di cui avevo bisogno, senza pormi problemi di spazio, e di accedervi sempre in maniera sicura grazie ad un certificato SSL rilasciato da Let’s Encrypt.

Dopo qualche anno, però, per via di alcuni cambiamenti introdotti dal mio provider Internet dell’epoca, non ho più avuto a disposizione l’IP statico. Sicuramente avrei potuto continuare ad utilizzare l’applicazione ricorrendo a qualche servizio di DNS dinamico e usando un record CNAME per mantenere comunque il mio nome host e il certificato, ma sinceramente non era una cosa che mi entusiasmava.

Il mio primo VPS

Per un po’ di tempo mi era capitato di usufruire di server fisici a basso costo, più che altro per test o progetti di breve durata, ma usare un server fisico dedicato soltanto per il mio piccolo cloud personale avrebbe rappresentato una spesa poco sostenibile.

Visto che i prezzi dei VPS tendevano ad essere sempre più accessibili e c’era abbondanza di provider, ho spostato la mia installazione di Nextcloud su uno di essi. Certamente l’idea di avere i miei dati su una macchina virtuale completamente esposta su Internet non mi rendeva particolarmente felice, dato che non c’era modo di avere uno straccio di firewall “vero” a proteggerla, tuttavia con qualche accorgimento credo di averla resa ragionevolmente sicura, e quindi sono andato avanti fino ad oggi.

Inizialmente come provider avevo scelto OVH, che credo fosse il più economico in circolazione all’epoca, poi però mi sono spostato su Linode, che aveva un pannello di gestione molto più evoluto e molte più opzioni.

Poi sono passato a DigitalOcean, che mi è piaciuto ancora più di Linode, ma solo finché non ho conosciuto Hetzner, un provider con sede in Europa e con caratteristiche altrettanto avanzate rispetto ai concorrenti americani.

Ritorno a casa: prima migrazione

Una decina di giorni fa, in preda ad un raptus di decluttering e cancellazione di servizi on-line, ho deciso che i miei dati sarebbero stati più al sicuro su un server in casa mia. Ho a disposizione un vecchio MacMini Server con la bellezza di 8 GB di RAM e due SSD molto capienti. Purtroppo la CPU fa un po’ schifo, ma è comunque idonea per applicazioni di tipo server, appunto.

Ho installato Debian 12 sul Mac, insieme a tutti gli altri requisiti necessari (PHP, NGINX, MySQL, Redis, ecc.), installato Nextcloud e fatto il giochetto DynDNS + CNAME per usare il mio nome a dominio con certificato SSL Let’s Encrypt (usando Certbot col plugin per Gandi). Tuttavia non volevo che il mio server fosse direttamente esposto su Internet (anche se dietro firewall), e quindi ho deciso di renderlo accessibile soltanto tramite una VPN. Per questo ho installato e configurato Wireguard sul vecchio Raspberry e tutto ha funzionato a meraviglia.

Blackout: seconda migrazione

La luna di miele col Mac Mini è durata pochi giorni. Non avendo UPS, è bastato una breve interruzione di corrente per farlo spegnere mentre ero fuori casa e rendere irraggiungibili i miei dati. La VPN ha ripreso a funzionare, dato che il Raspberry si riaccende da solo quando torna la corrente, ma il Mac non ha questa funzionalità e sinceramente non mi sono messo a smanettare con OpenFirmware per vedere se si poteva in qualche modo attivare.

Intendiamoci, lo spegnimento e conseguente irraggiungibilità del mio Nextcloud non è una tragedia, non ho nessuno SLA da rispettare e male che vada devo solo tornare a casa per riaccenderlo. Però questa cosa mi dà ugualmente fastidio.

Fatto sta che nel giro di qualche ora avevo già un nuovo VPS configurato e pronto con tutti i miei dati. La distribuzione scelta, in questo caso, è stata Ubuntu 24.04, fresca fresca di rilascio e con tutti i suoi nuovi difetti.

Rollback a 22.04: terza migrazione

Visto che con Ubuntu 24.04 ho avuto qualche difficoltà di troppo, in particolare con Apache e con Fail2Ban, non ho lasciato trascorrere più di un paio di giorni per configurare un altro VPS con Ubuntu 22.04 e spostare di nuovo tutto quanto.

Perché Ubuntu e non Debian, come sul Mac? Per il semplice motivo che volevo usare la distribuzione raccomandata sia da Nextcloud che da Ghost, anche se in linea di massima ho usato a lungo questi software anche su Debian senza grossi problemi. E visto che avevo una gran voglia di tornare ad usare stabilmente Ghost, ho deciso di attenermi alle raccomandazioni. Ovviamente in questo caso ho optato direttamente per NGINX, senza tentare inutili esperimenti con Apache.

Inoltre ne ho approfittato per rileggere con più attenzione alcune parti del manuale dell’amministratore di Nextcloud, riuscendo a fare un setup un po’ più pulito rispetto alle volte precedenti. Sto anche sperimentando qualche nuova applicazione, in modo da avere un server il più funzionale e completo possibile, liberandomi finalmente di altri servizi in cloud recuperando così un po’ di risorse economiche per altri esperimenti.

To do

Sul MacMini Server di casa, insieme a Nextcloud avevo installato anche GitLab EE, con l’intenzione di usarlo come hosting Git privato ed esplorarne tutte le funzionalità senza usare la versione SaaS. Tuttavia, dato che intendo riutilizzare il Mac per cose differenti, penso che abbandonerò l’idea GitLab e mi concentrerò invece sul più minimale e leggero Forgejo, probabilmente mettendolo su un Raspberry o direttamente sul VPS.

Staremo a vedere.

Ultimo aggiornamento: 17 Maggio 2024 (Gica78R)