Documentation pour transformer votre Orange Pi en un serveur de musique en streaming avec Navidrome
Dans un monde où tout est plus chère, Depuis des années, et de plus en plus ces derniers temps, Spotify, Apple Music, Deezer et bien d’autres nous font payer des prix injustifiés pour écouter notre musique. C’est pourquoi, aujourd’hui, je vous propose de mettre en place facilement Navidrome chez vous sur votre orangepi.
Navidrome est un serveur de streaming musical open source et auto-hébergé qui vous permet d’accéder à votre collection musicale depuis n’importe quel navigateur web ou appareil mobile. En quelques clics, vous pouvez installer Navidrome sur votre ordinateur ou sur un Raspberry Pi, Orange Pi et profiter de vos morceaux préférés sans limite. De plus, Navidrome est compatible avec tous les clients Subsonic (Pour Android), et Flo - Navidrome Client (Pour iOS) vous permettant d’accéder à votre musique depuis un large choix d’applications tierces, que ce soit pour iOS, Android, ou votre ordinateur.
L’un des avantages majeurs de Navidrome est qu’il vous permet de profiter de votre collection de CD de musique en la numérisant et en la rendant accessible partout. Vous pouvez ainsi écouter vos albums préférés où que vous soyez, sans dépendre d’un service de streaming payant.
Mise en place de Navidrome
Avant de commencer ce tutoriel, vous aurez besoin d’avoir déjà configurer votre Orange Pi !
Une fois connecté à votre Orange Pi à votre orangepi.
Installation de Docker
Nous allons mettre en place Navidrome avec Docker. C’est pourquoi nous devons d’abord installer Docker.
Configurer le dépôt apt de Docker
Pour que Docker puisse être géré par votre gestionnaire de paquets, vous devez utiliser le dépôt officiel apt. Pour cela, vous devez d’abord installer les dépendances nécessaires et ajouter la clé GPG de Docker :
apt update
apt install ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.ascVous pouvez maintenant ajouter le dépôt à vos sources apt :
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
apt updateInstallation de Docker
apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginMise en place de navidrome
Pour organiser notre Navidrome, nous allons créer un dossier dans /etc. Pour cela, exécutez la commande suivante :
mkdir /etc/navidromeVous pouvez aller dans le dossier Navidrome. Pour cela, exécutez la commande suivante :
cd /etc/navidromeVous avez donc besoin de crée les dossiers :
mkdir data ; mkdir musicPour mettre en place Navidrome, je vous invite à utiliser ce docker-compose :
services:
navidrome:
image: deluan/navidrome:latest
restart: unless-stopped
ports:
- "4533:4533"
environment:
ND_LOGLEVEL: info
ND_SESSIONTIMEOUT: 24h
ND_SCANSCHEDULE: 1h
volumes:
- "/etc/navidrome/data:/data"
- "/etc/navidrome/music:/music:ro"Vous pouvez donc créer un fichier dans /etc/navidrome nommé docker-compose.yml en utilisant la commande suivante :
nano docker-compose.ymlUne fois la commande exécutée, vous serez dans le fichier. Copiez le contenu du docker-compose.yml ci-dessus, puis appuyez sur CTRL + X et validez avec Y pour enregistrer les modifications.
Pour démarrer Navidrome, exécutez simplement :
docker compose up -dUne fois cela fait, c’est très rapide : il vous suffit de vous connecter à l’adresse IP de votre serveur Docker, sur le port 4533. Par exemple : http://192.168.1.20:4533
Pour ceux qui ne se préoccupent pas de la sécurité, vous pouvez vous arrêter ici. Mais pour les autres, je vous invite à poursuivre pour comprendre comment activer le HTTPS sur votre Navidrome.
Mise en place de Navidrome en HTTPS
Vous avez donc besoin de crée les dossiers supplémentaire dans /etc/navidrome:
mkdir haproxy ; cd haproxy ;mkdir certsAjouter le haproxy.cfg dans /etc/navidrome/haproxy :
nano /etc/navidrome/haproxy/haproxy.cfgglobal
log stdout format raw local0
maxconn 4000
tune.ssl.default-dh-param 2048
defaults
log global
mode http
option httplog
timeout connect 5000
timeout client 50000
timeout server 50000
# Redirection HTTP → HTTPS
frontend navidrome_http
bind *:80
redirect scheme https code 301 if !{ ssl_fc }
# Frontend HTTPS pour Navidrome
frontend navidrome_https
bind *:443 ssl crt /usr/local/etc/haproxy/certs/navidrome-selfsigned.pem
default_backend navidrome
# Backend vers Navidrome
backend navidrome
server navidrome navidrome:4533 checkSi vous avez déjà créé le fichier docker-compose.yml précédemment, il faut le remplacer par celui-ci en utilisant la commande suivante :
rm docker-compose.yml ; nano docker-compose.ymlservices:
haproxy:
image: haproxy:latest
container_name: haproxy
ports:
- "80:80"
- "443:443"
volumes:
- /etc/navidrome/haproxy/haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg:ro
- /etc/navidrome/haproxy/certs:/usr/local/etc/haproxy/certs:ro
networks:
- internal_network
navidrome:
image: deluan/navidrome:latest
container_name: navidrome
restart: unless-stopped
environment:
ND_LOGLEVEL: info
ND_SESSIONTIMEOUT: 24h
ND_SCANSCHEDULE: 1h
volumes:
- "/etc/navidrome/data:/data"
- "/etc/navidrome/music:/music:ro"
networks:
- internal_network
networks:
internal_network:
driver: bridgeGénérer un certificat SSL auto-signé (pour le HTTPS local) :
openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/navidrome/haproxy/certs/navidrome-selfsigned.key -out /etc/navidrome/haproxy/certs/navidrome-selfsigned.crtFusionner le certificat et la clé :
cat /etc/navidrome/haproxy/certs/navidrome-selfsigned.crt /etc/navidrome/haproxy/certs/navidrome-selfsigned.key > /etc/navidrome/haproxy/certs/navidrome-selfsigned.pemPour démarrer Navidrome, exécutez simplement :
docker compose up -dVous avez maintenant mis en place Navidrome en HTTPS !
Si vous vous connectez et que le navigateur vous indique que la page n’est pas sécurisée, pas d’inquiétude, c’est normal. Cela signifie simplement que votre navigateur ne peut pas certifier l’authenticité du certificat, car il s’agit d’un certificat autosigné. Vous pouvez passer outre en cliquant sur “Avancé” puis sur “Continuer vers”.
Configuration de Navidrome
Une fois Navidrome installé, vous arriverez sur la page d’accueil de Navidrome. Vous pourrez alors créer votre compte administrateur en remplissant les informations de votre choix.

Ajout d’un utilisateur
Une fois connecté en tant qu’administrateur, allez dans l’icône du petit bonhomme en haut à droite, cliquez dessus, puis sélectionnez ‘USERS’.
Cliquez ensuite sur ‘Create’. Cela ouvrira une page où vous pourrez entrer les informations de l’utilisateur. Une fois terminé, il vous suffira de cliquer sur ‘Save’, et l’utilisateur apparaîtra dans la liste des utilisateurs.

Configuration pour ajout de musique via WinSCP
Je vous conseille d’utiliser WinSCP pour vous connecter à Navidrome, c’est plus simple et plus rapide.
Installation de WinSCP pour windows
Vous pouvez télécharger WinSCP ici.
Exécutez-le une fois installé :
Faites l’installation pour tous.
Faites “Accepter”.
Faites “Installation typique”.
Faites “Commander”.
Ensuite faites “Installer”
Vous pouvez décocher l’option “Aller à la page de démarrage”.
Vous pouvez le laisser ouvert, nous y reviendrons plus tard.
Création du compte navidrom pour WinSCP
Sur votre Orange Pi, vous allez créer un compte et lui affecter les droits sur le dossier /etc/navidrome/music
Pour ajouter l’utilisateur:
useradd -d /etc/navidrome/music -s /bin/bash navidromePour lui affecter les droits:
chown navidrome:navidrome /etc/navidrome/musicPour lui changer son mot de passe :
passwd navidromeIl est préférable de lui attribuer un mot de passe fort afin d’éviter un accès non autorisé via ce compte.
Ajout de musique via WinSCP avec le compte navidrome
Retournez sur WinSCP et changez le protocole de fichier en SCP.
Ensuite, entrez vos informations de connexion : dans “Nom d’hôte” mettez l’adresse IP de votre serveur, dans “Utilisateur” entrez “navidrome” et dans “Mot de passe” saisissez le mot de passe que vous lui avez attribué.
Vous pouvez donc cliquer sur “Connexion”. Vous serez alors dans le répertoire de votre Orange Pi /etc/navidrome/music.
Vous pouvez alors glisser vos musiques dedans, et elles seront directement transférées sur votre Orange Pi, puis ajoutées à votre Navidrome. Vous pourrez ainsi profiter de votre musique.