Ho voluto provare questo prodotto per circa sei mesi, anche per rispondere ad una domanda piuttosto semplice.
È possibile utilizzare Docker senza averne le conoscenze di base?
Già perché in questo sito chiaramente tratto cose decisamente tecniche, ma questo è comprensibile data la mia professione. Talvolta però “vengo tirato fuori” dal mio normale perimetro da qualcuno che non capisce o rimane spiazzato. Docker dal punto di vista di un programmatore o un DevOPS è facile, non ci vuole molto ad apprendere le basi, quanto meno per usarlo. Ma per “l’uomo della strada” le cose non sono così semplici.

Ho quindi trovato questo prodotto, fatto da una software house cinese piuttosto nota per aver creato una piccola scheda che va in competizione con le ben più note Raspberry o Arduino. Ma non è questo il punto, quello che ci interessa è l’ecosistema creato per questa scheda, che oltre ad essere open-source, la possiamo usare ovunque. Tipo su un “miniPC Low power” casalingo, come avevo descritto in questo articolo.

Nella sostanza si tratta di un software che permette di gestire in modo semplificato Docker. Per tramite di un App Store integrato potrete installare tutti i micro-servizi che si possono desiderare con un semplice click.
Come sarà facile intuire, per chi invece è più tecnico e conosce Docker e Docker Compose, probabilmente di questo prodotto se ne fa poco o nulla. Questo anche per puntualizzare che quanto si vede in CasaOS non sono servizi proprietari od esclusivi dello stesso.
Rispetto ad altri prodotti simili, un punto a suo favore è l’installazione. A dispetto del nome che ha il suffisso “OS” non è un sistema operativo a se stante, ma va installato sopra un Linux (Debian e Ubuntu sono certificate) attraverso la linea di comando:
curl -fsSL https://get.casaos.io | sudo bash
BashTanto per citare la serietà del progetto, è previsto anche il relativo script di disinstallazione:
curl -fsSL https://get.icewhale.io/casaos-uninstall.sh | sudo bash
BashL’installer funziona sia se avete un Docker già installato, sia se non lo avete dato che lo farà per voi. Il processo di installazione chiede anche la porta dove va installato il servizio web. Ad esempio è probabile che la porta di default, la 80, sia sconveniente poiché utilizzata, o utilizzabile in futuro, da un reverse-proxy.
Alla fine avrete un set di nuovi comandi per il terminale (che non userete praticamente mai) e una interfaccia web raggiungibile all’indirizzo di “localhost” alla porta scelta. Al primo avvio potrete configurare un utente amministratore che vi darà accesso alla Dashboard. Questa di base ha un File Server locale (che può anche collegarsi a Onedrive o Google Drive) e il già citato App Store.
Due parole su quest’ultimo. Gli applicativi che vedrete sono tutti container Docker, con l’aggiunta di una codifica un po’ diversa dal “docker-compose”. In ogni caso è possibile aggiungere anche applicativi non elencati, usando una interfaccia grafica, cosa su cui non mi dilungo perché probabilmente fuori interesse del lettore medio.
Da notare che l’elenco di questo App Store può essere espanso con altri fatti e mantenuti dalla Community. Le aggiunte sono raggiungibili a questa pagina, ed ognuno dei link proposti ha centinaia di container listati.
Per attivare lo store è piuttosto semplice. Entriamo nello store attraverso l’app posta nella Dashboard, sulla destra dove sono elencate il numero di App disponibili, premiamo sulla freccia in basso, appare un menu a tendina, premiamo su “Altre Applicazioni”. Ora ci appare un campo di testo dove possiamo incollare il link del nuovo store, e con “Aggiungi” terminiamo l’operazione. Nell’elenco vedrete apparire le nuove App.

Pro e contro
Come citato all’inizio del post, questo sistema è di fatto un visualizzatore e gestore di Docker. Tanto è vero che se istanziate un container al di fuori di CasaOS, lo vedrete elencato come “legacy” o “da importare”.
Il vantaggio più grosso, ma direi pure unico, è la presenza del citato App Store. Però attenzione, quello ufficiale che si presenta di default, è l’unico di cui si ha la certezza di funzionamento, quelli alternativi ho notato malfunzionamenti o una situazione instabile per alcune App. Per certo meglio attenersi alle versioni proposte, anche se queste non sono aggiornate. Nelle stesse FAQ di CasaOS viene citato il fatto di non utilizzare il suffisso “latest” sulle immagini dei container, ma affidarsi ad un micro-servizio dedicato come “watchtower” per avere un quadro della situazione che riguarda le nuove versioni disponibili.
Inoltre la Home Page funge da Dashboard, dove è possibile accendere o spegnere in modo rapido le App/Container. La app predefinita “File” ci permette poi di accedere all’intero filesystem Linux in modo visuale, come avessimo la versione Desktop. Su questa poi possono essere agganciati svariati servizi cloud come OneDrive, Google Drive o DropBox.
Non esiste un sistema multiutente, per cui oltre all’amministratore non esistono altri profili. In realtà esiste una App che permette di ovviare a questo aspetto. Questo solo per puntualizzare che l’uso di CasaOS è stato pensato esclusivamente per un utente e non per altre situazioni più complesse.
Un altro vantaggio è che può essere provato senza troppe complicazioni, ovvero installare e disinstallare il programma è tutto sommato semplice e non richieste una re-installazione del sistema operativo. Scocciatura non da poco.
Conclusioni
Mi pare chiaro che il target di questo prodotto sia una utenza basica, direi quasi da smartphone, e che ovviamente non ha conoscenza di Docker. Se lo guardiamo da questo punto di vista il prodotto è decisamente valido e fa quello che promette. Un risultato decisamente non scontato visto a chi è indirizzata la “containerizzazione”. Con questo prodotto si saltano tutte le noiose complicazioni delle configurazioni. Tra l’altro potendo anche intervenire in fasi successive all’installazione. Pare ovvio che in caso di problematiche senza un adeguato know-how uscire da guasti anche banali, richiede comunque l’aiuto di qualcuno.