Pourquoi Navidrome ?
Navidrome comble un vide que Jellyfin ne couvre pas de la même façon : la musique uniquement, légère, avec l'API Subsonic. L'API Subsonic est le standard de facto du streaming musical self-hosted — elle est supportée par plus de 20 clients mobiles sur Android et iOS. Là où Jellyfin gère aussi les films et les séries, Navidrome est taillé exclusivement pour la musique : indexation par artiste/album/genre, pochettes d'albums, paroles, scrobbling Last.fm/ListenBrainz, playlists par utilisateur. Et tout ça dans un seul conteneur Go de moins de 50 Mo d'image, qui tourne avec moins de 256 Mo de RAM.
Ce que vous obtenez avec Navidrome
- API Subsonic : streaming depuis Symfonium, DSub, Ultrasonic (Android), Amperfy, iSub (iOS)
- Lecteur web intégré — aucune installation requise sur l'ordinateur
- Analyse automatique de la bibliothèque toutes les heures (ou à la demande)
- Récupération automatique des pochettes et métadonnées depuis MusicBrainz et les tags embarqués
- Playlists, favoris, évaluations et historique d'écoute indépendants par utilisateur
- Scrobbling Last.fm et ListenBrainz par utilisateur, sans plugin
- Moins de 256 Mo de RAM — fonctionne sur le VPS d'entrée de gamme le plus modeste
L'API Subsonic : un écosystème de clients éprouvés
L'un des points forts de Navidrome est de ne pas réinventer les clients. En implémentant l'API Subsonic — un protocole ouvert conçu par Sindre Mehus en 2008 et étendu par le projet OpenSubsonic — Navidrome bénéficie immédiatement d'un écosystème mature de clients mobiles et desktop.
Sur Android, Symfonium propose une expérience soignée avec équalisation, CarPlay et lecture hors-ligne. DSub est une valeur sûre gratuite et open source. Ultrasonic et BubbleUpnP couvrent les usages plus techniques (UPnP/DLNA). Sur iOS, Amperfy (open source, sur GitHub) et iSub font référence depuis des années. Sur desktop, Sublime Music (Linux) et des intégrations XBMC/Kodi fonctionnent aussi avec l'API Subsonic.
Cette diversité signifie que le choix du client ne dépend pas de Navidrome : si un client ne vous convient plus, vous basculez sur un autre sans toucher au serveur. C'est l'opposé d'un lock-in.
Déployer Navidrome sur VPS en 4 étapes
Commander un VPS
Choisissez un VPS avec au moins 1 vCPU et 512 Mo de RAM — 1 Go recommandé pour le confort. Aucun domaine requis : vous pouvez accéder à Navidrome via un tunnel SSH depuis n'importe quel ordinateur.
Déploiement automatique
ServOrbit installe Docker, configure les volumes persistants et démarre Navidrome en un seul passage. Deux volumes sont créés : /data (base SQLite, cache, playlists) et /music (votre bibliothèque). Vous recevez l'URL d'accès dès que c'est prêt.
Déposer votre musique
Connectez-vous au VPS en SFTP (FileZilla, Cyberduck) ou avec rsync et déposez vos fichiers dans le volume /music. Navidrome les détecte et les indexe automatiquement à la prochaine analyse (toutes les heures par défaut), ou cliquez sur « Scanner la bibliothèque » dans l'interface d'administration pour un déclenchement immédiat.
Créer le compte et connecter une app
Ouvrez l'URL de votre instance dans un navigateur. L'écran de première connexion vous invite à créer un compte administrateur. Ensuite, installez un client Subsonic sur votre téléphone (Symfonium ou DSub sur Android, Amperfy sur iOS), saisissez l'URL de votre serveur et vos identifiants — votre bibliothèque complète est accessible.
Pour accéder à Navidrome depuis votre ordinateur sans domaine, utilisez un tunnel SSH : ssh -L 4533:127.0.0.1:4533 root@votre-ip-vps puis ouvrez http://localhost:4533 dans votre navigateur. Pour un accès mobile permanent depuis n'importe où, pointez un sous-domaine vers votre VPS et configurez HTTPS — les clients Subsonic fonctionnent mieux en HTTPS pour les connexions mobiles.
Architecture de Navidrome : Go + SQLite, rien de plus
Navidrome est un binaire Go unique qui embarque son propre serveur HTTP et une base de données SQLite. Aucun service externe n'est requis : pas de Redis, pas de PostgreSQL, pas de Node.js. Cette conception monolithique volontaire rend l'installation triviale et les mises à jour sans friction : une seule image Docker, un seul processus à surveiller, un seul volume de données à sauvegarder.
Il monte deux volumes Docker : /data (base de données, cache, pochettes téléchargées, playlists et préférences) et /music (votre bibliothèque en lecture-écriture). L'image officielle (deluan/navidrome:latest) pèse moins de 50 Mo et démarre en quelques secondes. L'empreinte RAM en utilisation courante reste sous 256 Mo pour une bibliothèque personnelle de 10 000 à 50 000 titres — un VPS avec 1 Go de RAM est largement dimensionné.
Le serveur web intégré sert à la fois l'interface d'administration, le lecteur web et l'API Subsonic sur le même port (4533 par défaut). Il n'y a pas de séparation entre un processus « backend » et un processus « frontend » : tout tient dans le même binaire, ce qui simplifie la supervision et les mises à jour. Pour exposer Navidrome en HTTPS, il suffit de placer un reverse proxy nginx ou Caddy devant lui — ServOrbit configure cette couche automatiquement lorsque vous associez un domaine à votre VPS.
Navidrome vs Jellyfin : quel outil pour quel usage ?
| Navidrome | Jellyfin | |
|---|---|---|
| Spécialité | Musique uniquement | Vidéo + musique + photos |
| API | Subsonic / OpenSubsonic | Jellyfin REST + DLNA |
| RAM typique | < 256 Mo | 512 Mo — 2 Go |
| Transcodage vidéo | Non applicable | Oui (GPU optionnel) |
| Clients mobiles musique | 20+ clients Subsonic | App Jellyfin officielle |
| Scrobbling Last.fm | Natif, par utilisateur | Via plugin |
Formats audio supportés et transcodage
Navidrome lit nativement tous les formats audio courants : MP3, FLAC, AAC, OGG Vorbis, Opus, M4A, WAV, AIFF, WMA et ALAC. Il extrait les métadonnées directement des tags ID3v2, Vorbis Comment et iTunes, et complète les pochettes manquantes depuis MusicBrainz et Last.fm.
Le transcodage à la volée est disponible pour les clients qui ne supportent pas un format donné (typiquement FLAC → MP3 ou Opus pour économiser la bande passante). Il nécessite ffmpeg installé sur le serveur — ServOrbit le configure automatiquement dans l'image de déploiement. Sans ffmpeg, Navidrome fonctionne en Direct Play pur : le fichier original est envoyé tel quel, sans conversion.
Gestion multi-utilisateurs et scrobbling
Navidrome gère nativement plusieurs comptes utilisateurs, chacun entièrement indépendant : playlists, favoris, évaluations, historique d'écoute et paramètre de scrobbling sont séparés. Un compte administrateur peut créer de nouveaux comptes depuis l'interface web sans manipulation de base de données.
Le scrobbling vers Last.fm ou ListenBrainz se configure par utilisateur dans les paramètres de profil. Chaque titre joué est envoyé au service en arrière-plan — aucun plugin tiers, aucun daemon supplémentaire. Pour les familles ou les colocataires partageant un VPS, cette isolation complète permet à chacun de garder ses propres statistiques d'écoute et recommandations sans interférence.
Sauvegarder Navidrome
Deux éléments sont à sauvegarder : le volume /data (base SQLite + cache + playlists) et votre bibliothèque musicale dans /music. Pour le volume /data, une copie du répertoire Docker suffit. La commande suivante crée une archive tar.gz depuis un conteneur Alpine éphémère :
docker run --rm -v navidrome-data:/data -v /backup:/backup alpine tar czf /backup/navidrome-data.tar.gz /dataLa bibliothèque musicale dans /music est déjà votre master : tant que vos fichiers originaux existent quelque part (disque dur local, NAS, stockage cloud), la restauration consiste simplement à recopier les fichiers et relancer une analyse. Vos fichiers audio ne sont jamais modifiés par Navidrome — il les lit, il ne les transforme pas.
ServOrbit peut configurer des sauvegardes automatiques du volume /data vers un stockage objet compatible S3 (Scaleway Object Storage, OVHcloud Object Storage, etc.). Pour les grandes bibliothèques, sauvegarder /music séparément sur un stockage objet via rclone est la solution la plus économique : la déduplication et la compression par bloc réduisent significativement le volume stocké pour une collection FLAC. La fréquence recommandée pour /data est quotidienne ; pour /music, hebdomadaire suffit si vos ajouts sont peu fréquents.