À quoi ça sert ?
Navidrome diffuse votre collection de musique (MP3, FLAC…) dans le navigateur et sur des dizaines d'applications mobiles compatibles Subsonic. Très léger et rapide, même avec des milliers d'albums.
Pour qui ?
Les mélomanes qui ont leur propre collection de musique.
Après l'installation
- Ouvrez l’adresse du site et créez le compte administrateur.
- Sur téléphone, utilisez une application Subsonic (Symfonium, Substreamer, play:Sub…).
Le docker-compose
Exemple derrière Traefik, avec une explication sur chaque ligne. Pour l'adapter à votre cas (Nginx Proxy Manager, port local…), utilisez le générateur.
# docker-compose.yml : Navidrome
# Ce fichier décrit les « conteneurs » à lancer : chaque conteneur est une petite
# boîte isolée qui contient un programme. Lancez-le avec : docker compose up -d
services:
navidrome:
# Le programme à télécharger (l'« image »), avec sa version
image: deluan/navidrome:latest
container_name: navidrome
# Redémarre tout seul après une panne ou un redémarrage du serveur
restart: unless-stopped
# Le programme tourne avec votre utilisateur, pas en administrateur (root)
user: "1000:1000"
# Empêche un programme piraté de devenir administrateur
security_opt:
- no-new-privileges:true
# Réglages de l'application. Les valeurs ${...} viennent du fichier .env
environment:
ND_SCANSCHEDULE: 1h
ND_LOGLEVEL: info
TZ: Europe/Paris
# Dossiers du serveur partagés avec le conteneur (dossier_serveur:dossier_conteneur).
# Vos données sont stockées ici : ce sont ces dossiers qu'il faut sauvegarder.
volumes:
- ./data:/data
- /srv/musique:/music:ro
# Réseau partagé avec le reverse proxy pour qu'il puisse joindre l'application
networks:
- traefik
# Indique à Traefik de publier l'application sur https://musique.mondomaine.fr avec un certificat HTTPS
labels:
- traefik.enable=true
- traefik.http.routers.navidrome.rule=Host(`musique.mondomaine.fr`)
- traefik.http.routers.navidrome.entrypoints=websecure
- traefik.http.routers.navidrome.tls.certresolver=letsencrypt
- traefik.http.services.navidrome.loadbalancer.server.port=4533
# Le réseau du reverse proxy existe déjà : on s'y raccroche
networks:
traefik:
external: true