Novità
Icona risorsa

Guida Verificata Creare un mini NAS con OpenMediaVault e Docker

Una guida verificata è stata controllata dallo staff punto per punto e se ne attesta la sua validità.

Introduzione​

In questa guida vediamo brevemente come installare OpenMediaVault per creare il nostro piccolo NAS casalingo, sfruttando possibilmente un single board computer, come un raspberry o un odroid. In più, aggiungeremo docker per la distribuzione dei nostri container isolati, come ad esempio software per torrent o qualsiasi altra cosa ci venga in mente!

Prerequisiti​

Un NAS, piccolo o grande che sia, deve rimanere sempre acceso, quindi è altamente sconsigliato installare OMV (OpenMediaVault) su un personal computer. Un RaspBerry o un Odroid si prestano molto, alcune versioni di Odroid sono praticamente "nate" per essere trasformate in mini nas, come ad esempio il modello HC4 che presenta due ingressi SATA.

Dunque, per seguire correttamente la guida, consigliamo di avere a disposizione:

  • Un Single Board Computer capace di girare una qualsiasi versione di Linux basata su Debian
  • Un disco (HDD o SSD) collegato al nostro SBC
  • Connessione diretta del nostro SBC al router tramite ethernet (consigliato)

Installazione​

In realtà, l'installazione vera e propria di OpenMediaVault è molto semplice e non necessita di certo di una guida. In base all'hardware da noi usato, troveremo il corrispondente script da eseguire e tutto verrà settato automaticamente. Spesso i fornitori del vostro hardware indicano la procedura corretta da eseguire.

Quello che dobbiamo fare è collegarci al nostro Debian tramite ssh (OMV dovrebbe essere installato su un OS senza GUI) e, una volta aggiornato il sistema all'ultima versione, lanciare il comando (o i comandi). Di seguito indiciamo 2 esempi, uno per RaspBerry e uno per Odroid:

RaspBerry
Bash:
Accedi o Registrati per vedere questo contenuto.
Esattamente come indicato nella documentazione ufficiale di OMV
Accedi o Registrati per vedere questo link.

AVVISO: Lo script installa automaticamente OMV 6 su sistemi con Debian 11 Bullseye, mentre su sistemi con Debian 12 Bookworm l'installer si blocca in quanto OMV 7 è ancora in beta. Per installare ugualmente OMV 7 su Debian 12, dobbiamo inserire il comando -b all'installer. Dunque proseguiamo in questo modo:
Scarichiamo lo script con
Bash:
Accedi o Registrati per vedere questo contenuto.
rendiamo l'install script eseguibile
Bash:
Accedi o Registrati per vedere questo contenuto.
e lanciamolo con
Bash:
Accedi o Registrati per vedere questo contenuto.

Odroid
Bash:
Accedi o Registrati per vedere questo contenuto.
Come indicato nella documentazione ufficiale di Odroid
Accedi o Registrati per vedere questo link.

Da notare che i 2 comandi sono praticamente identici, lo script identifica l'HW da voi usato e procede autonomamente, per completezza però ho indicato le fonti nel caso dovessero esserci cambiamenti in futuro.

Lo script impiegherà anche 30 minuti per essere completato, portiamo pazienza!

Una volta completata l'installazione, possiamo entrare nella GUI di OMV tramite browser. Se non sappiamo l'IP locale del nostro SBC, lanciamo il comando
Bash:
Accedi o Registrati per vedere questo contenuto.
Ci ritroveremo sulla schermata di accesso di OMV, i dati predefiniti sono:

User: admin
Password: openmediavault

Naturalmente, la prima cosa da fare una volta dentro il pannello, è cambiare la password predefinita di accesso!

Configurazione OMV e Docker​

L'interfaccia di OMV è molto semplice e intuitiva, prendiamoci qualche minuto per esplorare le varie sezioni.

Dischi​

I dischi collegati, non sono immediatamente disponibili, ma vanno montati e eventualmente formattati. OMV supporta diversi tipi di filesystem, ovviamente essendo comunque Debian il sistema operativo di base, ext4 è preferibile. Vediamo come fare:

Rechiamoci intanto su Storage -> Dischi e dopo una scansione, assicuriamoci di poter vedere il nostro (o i nostri) dischi collegati.
1.JPG


Sopra l'elenco dei dischi, abbiamo la possibilità di formattare (se necessario) il disco connesso, tramite l'icona della gomma, eliminando così tutte le eventuali partizioni presenti.

Una volta fatto, rechiamoci sul menu File System
2.JPG

Selezioniamo il nostro disco appena formattato, e clicchiamo sull'icona +. Dobbiamo prima di tutto creare una nuova partizione. La scelta consigliata è EXT4, ma possiamo scegliere quella che preferiamo.

Creata la partizione, sempre tramite l'icona +, dobbiamo montarla, rendendo il disco disponibile su OMV.

Anche se il disco è montato, di fatto non possiamo ancora usarlo, in quanto non abbiamo scelto (ne creato) nessuna cartella al suo interno da condividere con uno dei protocolli disponibili su OMV, ad esempio Samba.

Condivisione cartella​

Creiamo dunque una cartella e condividiamola tramite il protocollo Samba, in modo che sia visibile su qualunque sistema operativo (Windows, Mac, Linux e altri sistemi) connesso alla stessa rete locale.

Spostiamoci su Dischi -> Cartelle Condivise e cliccando sul tasto +, creiamo una nuova cartella (possiamo scegliere se renderla pubblica o privata, in questo esempio la renderemo pubblica, ovvero accessibile da chiunque all'interno della rete senza user e password)
4.JPG

Nell'immagine sopra, abbiamo dato un nome alla cartella, che verrà automaticamente riportato anche nel nome effettivo della cartella che verrà creata. Abbiamo scelto su quale disco (montato) inserire la cartella e abbiamo selezionato i permessi, ovvero tutti posso leggere e scrivere.

Rechiamoci su Servizi -> SMB/CIFS -> Impostazioni e abilitiamo il protocollo
3.JPG

Salviamo e spostiamoci su Condivisioni e qui possiamo condividere tramite il protocollo Samba la cartella indicata precedentemente
5.JPG

Abbiamo scelto di renderla (come detto) disponibile a chiunque, consiglio inoltre di selezionare Permessi ereditati come indicato nella figura sopra.

Applicate le modifiche, possiamo vedere la nostra cartella condivisa su qualsiasi computer connesso alla rete locale.

Docker​

In questa guida scegliamo di mantenere tutti i file dei container direttamente sul disco esterno, quindi non sul disco dove è presente il sistema operativo.

Installiamo prima di tutto un plugin molto utile su OMV che ci permette di creare symlinks. Andiamo su Sistema -> Plugins, aggiorniamo i pacchetti con la lente di ingrandimento e installiamo openmediavault-symlinks
6.JPG

Questo plugin installerà automaticamente anche un secondo plugin, che ci permette di creare cartelle condivise sul filesystem del sistema operativo, ma per il momento non ci interessa.

Dobbiamo creare ora un symlink per il nostro disco esterno. Per farlo, ci serve il punto di mount del nostro disco. Navighiamo su Storage->File System e a sinistra della colonna, troviamo un tasto che ci permette di scegliere quali colonne nascondere o vedere, selezioniamo Punto di Mount, in modo da poter vedere quello corrispondente al nostro disco
7.JPG

Ora copiamo (anche tramite tasto veloce) il punto di Mount relativo al nostro disco esterno e rechiamoci su Servizi -> Symlinks.

Creiamo dunque il nostro Symlink
8.JPG

Indicando in origine il punto di mount copiato prima, mentre in destinazione indichiamo (come in figura) un nome di nostra scelta, ricordandoci di inserire prima /.

Dobbiamo creare ora le directory che faremo usare a Docker, quindi colleghiamoci tramite SSH al nostro NAS e creiamo le cartelle con i rispettivi permessi, avendo cura di sostituire HDD con il nome creato in symlinks.
Bash:
Accedi o Registrati per vedere questo contenuto.

Ora sul nostro disco sono presenti le cartelle docker, compose, persistent e backup che useremo in seguito.

Spostiamoci ora su OMV, Sistema -> omv-extras e clicchiamo su Docker repo, in modo da installare docker (in seguito cambieremo il percorso).

Dobbiamo installare ora un'altro plugin opzionale per OMV, ovvero openmediavault-compose, quindi come prima rechiamoci su Sistema -> plugins e troviamolo dalla lista.

A questo punto cambiamo le directory di docker, forzando una reinstallazione in modo da usare il nostro disco esterno per la gestione delle immagini e dei containers (inclusi i volumi).

Rechiamoci su Servizi -> Compose -> Impostazioni e correggiamo le voci seguenti:
1.png


ATTENZIONE! Solo in questo caso, non possiamo usare il symlink ma dobbiamo usare il percorso effettivo del disco esterno sotto Docker storage, ad esempio (nel mio caso): /srv/dev-disk-by-uuid-27aae6be-e427-417b-b310-1b8038df413d/docker

In pratica abbiamo indicato le cartelle compose e persistent create sopra e cambiato il percorso di storage Docker.

Applichiamo le modifiche con il tasto Salva e non preoccupiamoci per il momento di eventuali errori, tutto si correggerà cliccando sul tasto Reinstall docker. Docker è installato, ma ancora non abbiamo finito!

OMV con gli ultimi aggiornamenti, ci spinge ad usare il suo sistema interno di gestione container, ma personalmente trovo più intuitivo e versatile Portainer, che può essere installato come qualsiasi altro container. Per semplicità, usiamo il file compose creato appositamente per OMV.

Colleghiamoci prima tramite SSH e creiamo il volume che userà Portainer, con il comando
Bash:
Accedi o Registrati per vedere questo contenuto.

Adesso torniamo su OMV, andiamo su Servizi -> Compose -> Files -> Aggiungi -> Add from example e cerchiamo la voce portainer-omvextras, mi raccomando NON selezionate portainer - portainer. Come nome, diamo semplicemente "portainer" e clicchiamo salva.

Finito il processo, dobbiamo avviarlo cliccando semplicemente il tasto UP.

Portainer sarà disponibile sulla porta 9000 come da installazione predefinita, lo vedremo fra poco.

Prima creiamo un nuovo utente a cui daremo i permessi docker (per aumentare la sicurezza, in modo da non avviare i container con permessi root).

Andiamo su Utente -> Utente e creiamo un nuovo utente, inserendolo nei gruppi indicati in figura.
9.JPG

Ora dobbiamo recuperare UID e GID dell'utente appena creato, ci serviranno fra poco. Nella schermata Utente -> Utente vediamo la lista di tutti gli utenti presenti, sempre tramite la funzione che permette di mostrare/nascondere le colonne, selezioniamo UID e GID e copiamoli da qualche parte.

Colleghiamoci ora su Portainer tramite browser su http://ip_nas:9000

Creiamo il nostro primo container (esempio: qbittorrent)​

Da qui possiamo gestire tutti i nostri container, di seguito come esempio creiamo un semplice container per qbittorrent.

Il modo più semplice per farlo, è tramite la funzione docker-compose. Scegliamo di usare il container pre-caricato disponibile qui
Accedi o Registrati per vedere questo link.

Dunque, su Portainer, navighiamo su Local -> Stacks e creiamo un nuovo Stack. Diamo un nome allo Stack e inseriamo lo script che abbiamo trovato sul link sopra sotto docker-compose
10.JPG


Prima di cliccare su Deploy the stack dobbiamo modificare lo script inserendo le giuste directory e indicando UID e GID dell'utente creato prima. Un esempio può essere il seguente:
Codice:
Accedi o Registrati per vedere questo contenuto.
Ovvero, abbiamo corretto UID e GID, indicato la directory che verrà usata per i file di configurazione, la directory dove verranno scaricati effettivamente i torrent e la timezone.

Cliccando su Deploy the stack verrà creato il container e qbittorrent sarà disponibile tramite interfaccia web sulla porta predefinita 8080.
Ricordo che user e password predefiniti di qbittorent sono
user: admin
password: disponibile nel log del container al primo lancio (potete visualizzarla anche tramite portainer)

Tramite Stack si possono installare numerosi container già presenti in rete, molto utile!

Abbiamo correttamente creato il nostro container, sul nostro SBC NAS con OpenMediaVault! La personalizzazione è davvero enorme, possiamo ad esempio decidere di rendere disponibile anche fuori casa il nostro NAS, sfruttando WireShark, sta a voi decidere!

Siamo giunti alla fine, fatemi sapere cosa ne pensate :)
  • 1699372027438.png
    1699372027438.png
    79.3 KB · Visite: 25
Autore
Anyma
Visite
4,521
Primo rilascio
Ultimo aggiornamento
Valutazione
0.00 stella(e) 0 valutazioni

Più risorse di Anyma

Ultimi aggiornamenti

  1. Aggiunto passaggio per installare OMV 7 Beta

    Aggiunto passaggio per installare OMV 7 Beta su sistemi con Debian 12 Bookworm.
  2. Corretta password container qbittorrent

    La password dell'interfaccia web del container di qbittorrent è ora disponibile nel LOG del...
  3. Aggiornata sezione Docker, in modo da riflettere le attuali versioni di OMV

    Dalla versione OMV 6.7, ci sono state diverse modifiche riguardanti l'integrazione Docker...
Indietro
Alto