Docker
Yandex Music — Local Development with Docker
Section titled “Yandex Music — Local Development with Docker”Run a full Music Assistant instance with the Yandex Music provider in a single command — no Python, FFmpeg, or other dependencies required.
Requirements
Section titled “Requirements”Quick Start
Section titled “Quick Start”docker compose -f docker-compose.dev.yml upOpen http://localhost:8095 in your browser.
First Run: Creating a User
Section titled “First Run: Creating a User”On the first start, MA launches a setup wizard:
- Create a user — set a login and password (stored locally in
.ma-data/) - Skip the Home Assistant integration if prompted
- Login credentials persist between container restarts via the
.ma-data/volume
Connecting the Yandex Music Provider
Section titled “Connecting the Yandex Music Provider”After logging in:
- Go to Settings → Providers
- Find Yandex Music in the list — it is already available, the code is loaded automatically
- Click Add and enter your credentials
- Provider configuration is saved in
.ma-data/and survives restarts
💡 If the provider does not appear — check the logs (
docker compose -f docker-compose.dev.yml logs). Any startup error will be visible there.
Container Management
Section titled “Container Management”| Action | Command |
|---|---|
| Start | docker compose -f docker-compose.dev.yml up |
| Start in background | docker compose -f docker-compose.dev.yml up -d |
| Stop | docker compose -f docker-compose.dev.yml down |
| Restart | docker compose -f docker-compose.dev.yml restart |
| Logs | docker compose -f docker-compose.dev.yml logs -f |
| Reset state | rm -rf .ma-data/ → start again |
Provider Code Changes
Section titled “Provider Code Changes”The code from provider/ is mounted into the container via a symlink.
Changes are picked up after restarting the container — no image rebuild required:
docker compose -f docker-compose.dev.yml restartPersisting State
Section titled “Persisting State”All MA configuration, provider credentials, and cache are stored in .ma-data/ (add it to .gitignore).
The folder is created automatically on first run.