Installare Navidrome sul Raspberry Pi

Nota: in questo tutorial useremo Docker per installare il software Navidrome, se non hai mai usato Docker o non l’hai ancora installato sul tuo Raspberry Pi, leggi prima questo tutorial su come installare e configurare Docker sul tuo Raspberry.

Cos’è Navidrome

Navidrome è un server di streaming musicale self-hosted open source che consente di gestire e ascoltare la propria collezione musicale ovunque ci si trovi. Compatibile con molteplici formati audio, Navidrome offre un’interfaccia web moderna e intuitiva, accessibile da qualsiasi dispositivo connesso a Internet.

Progettato per essere leggero e veloce, può funzionare su hardware con risorse limitate, come Raspberry Pi. Inoltre, Navidrome supporta le applicazioni Subsonic, permettendo una grande flessibilità di utilizzo. È una soluzione ideale per chi desidera avere il controllo completo sulla propria musica e accesso remoto senza dipendere da servizi di streaming commerciali.

Questo streamer musicale ti permette di condividere facilmente le tue playlist grazie alla sua interfaccia web intuitiva e al supporto per diverse app. Navidrome, il server musicale, funziona sul tuo Raspberry Pi eseguendo la scansione dei tuoi file musicali per creare una libreria. Puoi quindi organizzare la tua musica in playlist tramite l’interfaccia web o un client compatibile.

Installazione

Di seguito ti guiderò attraverso l’installazione e l’avvio di Navidrome sul tuo Raspberry Pi.

Utilizzeremo Docker per rendere questa operazione semplice e veloce. Grazie a Docker, eviteremo la complicazione di configurare un server web e gestire diverse dipendenze. Prima di procedere oltre, devi installare e configurare Docker sul tuo Raspberry.

Una volta completata l’installazione di Docker, possiamo procedere creando una directory dedicata per ospitare il file compose del server musicale Navidrome.

Puoi creare questa cartella utilizzando il seguente comando nel terminale:

sudo mkdir -p /opt/stacks/navidrome/data

Utilizzando il flag -p stiamo dicendo al comando mkdir di creare qualsiasi directory mancante all’interno del percorso indicato.

Successivamente, dobbiamo assegnare la proprietà della directory /opt/stacks/navidrome/data all’utente corrente.

Possiamo farlo utilizzando il comando chown su quella directory.

sudo chown $USER: /opt/stacks/navidrome/data

Ora, è necessario passare alla directory che abbiamo appena creato:

cd /opt/stacks/navidrome

Scrittura del file Compose per Navidrome sul Raspberry PI

All’interno della cartella navidrome, dobbiamo creare un file Docker Compose per Navidrome.

Questo file fornisce istruzioni a Docker su come scaricare ed eseguire l’immagine di Navidrome sul nostro Raspberry Pi. Puoi iniziare a creare questo file utilizzando il seguente comando. In questo caso useremo l’editor di testo nano poiché è uno degli strumenti più semplici da utilizzare.

sudo nano compose.yaml

Ora, all’interno di questo file, digita le seguenti righe.

È necessario sostituire <PATHTOMUSIC> con il percorso in cui è archiviata la musica. Qualunque sia la directory, l’utente deve avere accesso in lettura ad essa.

version: "3"
services:
  navidrome:
    image: deluan/navidrome:latest
    user: 1000:1000
    ports:
      - "4533:4533"
    restart: unless-stopped
    environment:
      ND_SCANSCHEDULE: 1h
      ND_LOGLEVEL: info  
      ND_SESSIONTIMEOUT: 24h
      ND_BASEURL: ""
    volumes:
      - "./data:/data"
      - "<PATHTOMUSIC>:/music:ro"

Dopo aver inserito le righe precedenti all’interno del file compose.yaml, puoi salvare e uscire premendo CTRL+ X, seguito da Y, quindi il tasto ENTER.

Dopo aver scritto il file Compose, avviare il server musicale Navidrome sul tuo Raspberry Pi è semplice come eseguire il comando seguente:

docker compose up -d

Utilizziamo l’opzione -d in modo che Docker si scolleghi dalla sessione del terminale e venga eseguito in background. Dopo aver eseguito il comando, Docker scaricherà l’immagine Navidrome e la avvierà utilizzando le variabili che le abbiamo passato.

Accesso all’interfaccia web di Navidrome

Per accedere al tuo server musicale Navidrome, è importante conoscere l’indirizzo IP del tuo Raspberry Pi.

Il metodo più semplice per ottenere l’indirizzo IP locale è utilizzare il comando:

hostname -I

Se non lo hai già fatto, è consigliabile configurare il tuo Raspberry Pi con un indirizzo IP statico.

Una volta ottenuto l’indirizzo IP del tuo Raspberry Pi, basta inserirlo nel browser web preferito utilizzando il seguente formato:

http://<INDIRIZZO_IP>:4533

Assicurati di sostituire <INDIRIZZO_IP> con l’effettivo indirizzo IP del tuo Raspberry Pi.

Quando accedi per la prima volta all’interfaccia web di Navidrome, sarai guidato attraverso il processo di creazione del tuo primo utente. Scegli un nome utente memorabile e una password sicura. Questo utente sarà il tuo amministratore principale e potrai utilizzarlo anche per creare altri account in futuro.

Dopo aver inserito il nome utente e la password, clicca sul pulsante Crea Amministratore per completare la configurazione.

Ora dovresti avere pieno accesso all’interfaccia web di Navidrome. Se hai già aggiunto musica alla tua cartella, il server musicale dovrebbe averla rilevata automaticamente e aggiunta alla tua libreria.

Aggiornamento di Navidrome

Grazie all’installazione di Navidrome tramite il suo contenitore Docker ufficiale, l’aggiornamento del software diventa un’operazione semplice.

In questa sezione, vedremo i passaggi per scaricare e utilizzare l’ultima versione del server musicale Navidrome sul tuo Raspberry Pi tramite Docker.

Per cominciare, torniamo alla directory in cui hai creato il file Docker Compose per Navidrome.
Se hai seguito il tutorial, questo dovrebbe essere facilmente ottenibile eseguendo il seguente comando:

cd /opt/stacks/navidrome

Una volta nella directory corretta, possiamo utilizzare Docker Compose per ottenere l’ultima versione dell’immagine Navidrome.

Far sì che Docker scarichi l’ultima versione è semplice, esegui il seguente comando.

docker compose pull

Anche se Docker scaricherà una nuova versione di Navidrome, non la utilizzerà immediatamente.

Dobbiamo utilizzare il seguente comando per far sì che Docker aggiorni all’immagine più recente. Quando avvii Navidrome, Docker rimuoverà automaticamente l’immagine corrente e la sostituirà con quella nuova.

docker compose up -d

Se tutto è stato eseguito correttamente, adesso dovresti avere il server musicale Navidrome attivo e funzionante sul tuo Raspberry Pi.

L’app mobile

Per quanto riguarda l’app mobile è possibile usare qualsiasi applicazione compatibile con le API di Subsonic, ce ne sono diverse sul play store ma io ho scelto Tempo, un client musicale open source e leggero per Subsonic, progettato e realizzato nativamente per Android. Fornisce un’esperienza di streaming musicale fluida e intuitiva, consentendoti di accedere e riprodurre la tua libreria musicale Subsonic direttamente dal tuo dispositivo Android.

Tempo è un’applicazione completamente open source che puoi trovare su Github, non la puoi scaricare dal Play Store, questa è la pagina del progetto, dove puoi scaricare l’apk per android.

Navidrome offre la comodità di riprodurre in streaming tutta la tua libreria musicale da una singola posizione. Inoltre, la sua API aperta facilita l’integrazione con numerosi lettori musicali, consentendo un accesso agevole a tutte le sue funzionalità. L’accoppiata Navidrome come server musicale e Tempo come client android ha rivoluzionato il modo in cui ascolto la musica.

Come ascolto la mia musica fuori casa tramite l’app?

Per utilizzare Navidrome dall’app mobile quando sei fuori casa, è necessario avvalersi di un servizio come No-IP, la configurazione di questo servizio (gratuito) esula da questo tutorial, ma si possono trovare molte guide in rete, a partire dalla stessa guida introduttiva sul sito di noip.

No-IP è un servizio di DNS dinamico (Dynamic DNS) che consente agli utenti di associare un hostname statico a un indirizzo IP dinamico. Questo è particolarmente utile per chi ha una connessione Internet con IP variabile e necessita di accedere a risorse di rete domestiche o aziendali.

In sintesi, No-IP ti permette di:

  • Aggiornare automaticamente il DNS ogni volta che l’IP pubblico cambia.
  • Associare un nome di dominio personalizzato (hostname) al tuo indirizzo IP.

No-IP offre anche client software che possono essere installati su vari dispositivi (Windows, macOS, Linux) per aggiornare automaticamente il DNS. Tuttavia, molti router supportano nativamente No-IP, consentendo di configurare l’aggiornamento dinamico direttamente dal router senza bisogno di un client separato.

Quindi, una volta configurato il servizio No-IP e scelto il tuo nome di dominio personalizzato, non ti resta che aprire la porta 4533 per Navidrome.

Alla voce Indirizzo IP del Server dovrai inserire il tuo indirizzo ip locale del tuo raspberry pi.

A questo punto, puoi configurare l’app mobile inserendo come indirizzo del server il nome di dominio che hai scelto su No-IP, seguito dal numero della porta che hai aperto sul router. Sarà qualcosa come:

http://tuodominio.ddns.net:4533

Conclusione

Se anche tu non sei disposto a pagare 12 euro al mese per un servizio come Spotify, per ascoltare sempre più o meno gli stessi brani, allora ho una buona notizia per te, puoi farti il tuo servizio di streaming musicale, fatto in casa, in self hosting con Navidrome, e funziona anche molto bene.

Spero che questo tutorial ti sia piaciuto, se hai domande o vuoi dire qualcosa puoi lasciare un commento. Alla prossima.

Lascia il primo commento

Mettiti in contatto

WordPress Maintenance Form