Files
wiki/Catalogue-Self-Hosted/apps/app-music-assistant.md
T
2026-06-09 18:40:21 +02:00

132 lines
6.9 KiB
Markdown

---
title: Music Assistant
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, music, music-streaming, music-assistant, python, home-assistant, multi-source, hass]
confidence: high
contested: false
sources:
- https://selfh.st/apps/?tag=Music
- https://github.com/music-assistant/server
- https://music-assistant.io/
---
# 🎛️ 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é)
```yaml
# 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 Assistant` lie MA et HA.
- **Troubleshooting** : `LOG_LEVEL=DEBUG` temporairement dans l'environnement, puis consulter `Settings → 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 (`700` sur le dossier).
- **Exposition web** : l'UI est par défaut en local, ne pas exposer `8095` sans 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** : `latest` est 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=INFO` en 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