6.9 KiB
title, created, updated, type, tags, confidence, contested, sources
| title | created | updated | type | tags | confidence | contested | sources | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Music Assistant | 2026-06-07 | 2026-06-07 | app |
|
high | false |
|
🎛️ Music Assistant
Gestionnaire de bibliothèque musicale multi-source écrit en Python : agrège Spotify, Tidal, Qobuz, YouTube, Deezer, Apple Music, Plex, Jellyfin, Navidrome, fichiers locaux… dans un player unique pilotable via Home Assistant.
📋 Informations Générales
| Métadonnée | Valeur |
|---|---|
| Site web | https://music-assistant.io/ |
| GitHub | https://github.com/music-assistant/server |
| License | Apache-2.0 |
| Langage | Python |
| Étoiles | ⭐ 415 (2 000+ sur GitHub) |
| Dernière MAJ | 2026-06-07 |
| Catégorie | cat-music |
📝 Description
Music Assistant (MA) n'est pas un serveur de streaming classique : c'est un agrégateur universel de sources musicales. Lancé en 2022 par l'équipe d'Home Assistant, le projet vise à résoudre le problème de la fragmentation des services : au lieu de jongler entre Spotify, Tidal, Qobuz, les fichiers locaux, les partages SMB/NFS, les médiathèques Plex/Jellyfin/Navidrome, l'utilisateur dispose d'une seule interface qui unifie tout.
Le serveur tourne comme un add-on officiel Home Assistant ou comme conteneur Docker autonome, et expose un player compatible HA Media Player, des endpoints API, et une UI web intégrée. Les « providers » (connecteurs) se branchent en plug-ins : Spotify (utilise votre compte, gère les playlists et le mode offline), Tidal/Qobuz (streaming HiRes jusqu'à 24/192), YouTube Music, Deezer, Apple Music (limité), fichiers locaux, Radio (Radio-Browser API), TuneIn, podcasts, Chromecast, et les serveurs media existants (Plex, Jellyfin, Navidrome, Subsonic, LMS).
La force de MA est son moteur de recommandation, sa gestion fine des favoris et playlists inter-sources, sa qualité audio préservée (pas de re-encodage superflu) et son intégration native avec Home Assistant (entités media_player, automatisations, scripts, scènes, TTS, assistants vocaux via Wyoming). Il peut diffuser vers n'importe quel Chromecast, AirPlay, Sonos, ou hardware compatible, et synchroniser le playback sur plusieurs devices (multi-room).
🚀 Installation
Option 1 : Docker Compose (recommandé)
# docker-compose.yml
version: "3.8"
services:
music-assistant:
image: ghcr.io/music-assistant/server:latest
container_name: music-assistant
restart: unless-stopped
network_mode: host # requis pour mDNS/Chromecast/AirPlay discovery
environment:
PUID: 1000
PGID: 1000
TZ: Europe/Paris
LOG_LEVEL: INFO
volumes:
- ./data:/data
- ./cache:/cache
- ./music:/music:ro # optionnel : si fichiers locaux
ports:
- "8095:8095" # UI web (si non host)
Option 2 : Home Assistant Add-on (recommandé si on a HA)
Settings → Add-ons → Add-on Store → Music Assistant (déjà présent si vous avez l'add-on store officiel). Le HA supervise l'add-on, le démarre, gère les upgrades. Les fournisseurs de musique et les players sont alors découverts automatiquement.
Option 3 : Installation manuelle (déconseillée)
Python 3.11+, Poetry. Cloner le repo, poetry install, lancer python -m music_assistant. À réserver aux développeurs.
⚙️ Configuration
- Providers :
Settings → Music Providers, ajouter au minimum un provider (Spotify, fichiers locaux, etc.). Les clés API (Spotify, Tidal) sont récupérées via OAuth depuis votre compte, pas besoin de clé dev. - Players :
Settings → Players, MA détecte automatiquement Chromecast, AirPlay, Sonos, et les HA Media Player entities. - Bibliothèque : MA indexe les sources, applique une couche d'unification (même titre de partout = même entrée). Premier index long (qq minutes), incrémental ensuite.
- Multi-room : créer un group de players, MA synchronise l'audio (latence compensée par buffer).
- Home Assistant :
Settings → Devices & Services → Add Integration → Music Assistantlie MA et HA. - Troubleshooting :
LOG_LEVEL=DEBUGtemporairement dans l'environnement, puis consulterSettings → Logs.
🔄 Alternatives
Open Source
- app-navidrome — Subsonic-compatible, ultra léger, fichiers locaux uniquement.
- app-koel — UI soignée, fichiers locaux, pas d'agrégation.
- app-ampache — Subsonic-compatible, fichiers locaux.
- app-funkwhale — Fédéré ActivityPub, podcasts et musique.
- app-maloja — Scrobbler multi-source (peut compléter MA pour les stats).
- app-jellyfin — Plus généraliste (vidéo + audio).
- mopidy — Serveur audio extensible Python (historique, un peu daté).
- RompR — Frontend pour Mopidy.
Propriétaires (ce que cette app remplace)
- Spotify Connect — Cœur de cible : un player multi-room auto-hébergé.
- Roon — Référence audiophile payante (~150 $/an).
- Sonos — Ecosystem audio multi-room propriétaire.
- Plexamp — Player desktop Plex (limité à Plex + Tidal).
- Logitech Media Server / Squeezebox — Solution historique, peu d'add-ons modernes.
🔒 Sécurité
- Network mode host : MA scanne le LAN pour Chromecast/AirPlay. Comprendre l'empreinte réseau avant de déployer.
- OAuth tokens : stockés en clair dans
./data. Chiffrer le volume ou restreindre les droits (700sur le dossier). - Exposition web : l'UI est par défaut en local, ne pas exposer
8095sans reverse proxy HTTPS. - Compte Spotify/Tidal : MA peut y stocker votre cache offline (paramètre
offline_cache_enabled). Désactiver si disque chiffré requis. - Home Assistant : si MA tourne en add-on HA, c'est HA qui gère l'auth (excellent).
- Mise à jour :
latestest stable, le rythme est rapide, suivre les release notes. - Logs : pas de données personnelles au-delà des titres écoutés, masquage possible via
LOG_LEVEL=INFOen prod.
📚 Ressources
- Site officiel : https://music-assistant.io/
- Documentation : https://music-assistant.io/docs/
- Repository : https://github.com/music-assistant/server
- Discord : https://discord.gg/music-assistant
- Forum HA : https://community.home-assistant.io/c/third-party/music-assistant
- Provider list : https://music-assistant.io/music-providers/
🔗 Pages Liées
- cat-music — Catégorie parente
- app-navidrome — Backend de fichiers locaux compatible MA
- app-jellyfin — Backend média compatible MA
- app-maloja — Scrobbler compatible
- app-plex — Backend compatible MA
- app-home-assistant — Intégration native
- app-traefik — Reverse proxy HTTPS
- recettes-docker-compose — Templates Docker
- securisation-home-lab — Bonnes pratiques