Open source, self-hosted music server that streams your own library to any browser or mobile app, compatible with Subsonic clients.
music-assistant/server
Self-hosted music library manager that connects streaming services and many connected speakers, typically run alongside Home Assistant.
- Stars
- 3,224
- Forks
- 695
- Open issues
- 62
- Last commit
- 11 hours ago
What is it?
Music Assistant is a free, open-source media library manager. It connects your streaming services and a wide range of connected speakers so you can manage and play music from one place. The server is the core component and is meant to run continuously on a device such as a Raspberry Pi, a NAS, or a small Intel NUC.
The project is designed to work alongside Home Assistant and is intended for automation. The recommended way to run it is as a Home Assistant app. It is also available as a Docker image (ghcr.io/music-assistant/server). It depends on system components such as ffmpeg 7.0 or newer, so it is not distributed through PyPI.
For development, the server runs from source with Python 3.14 or newer and ffmpeg 7.0 or newer. It serves its interface on port 8095 by default.
Key features
- 01Connects multiple streaming services into one media library
- 02Controls a wide range of connected speakers
- 03Designed to run as a Home Assistant app for automation
- 04Available as a Docker image for self-hosting
- 05Built on Python with ffmpeg for audio handling
Use cases
- Playing music from streaming services on speakers throughout a home
- Adding music playback to a Home Assistant automation setup
- Running a home music server on a Raspberry Pi or NAS
Quick start
- 1
Install the Music Assistant app in Home Assistant (recommended)
- 2
Or run the official Docker container image
docker pull ghcr.io/music-assistant/server - 3
Development: create the virtualenv and install dependencies with the setup script
scripts/setup.sh - 4
Development: run the server locally on http://localhost:8095
python -m music_assistant --log-level debug
Things to know
- Not published to PyPI, so pip install is not supported.
- Requires a recent ffmpeg (7.0+) and system dependencies unless run via the app or container.
- Designed to run on an always-on device and works best alongside Home Assistant.
- Third-party distribution packages are not supported.
In collections
Topics
FAQ
- What is server?
- Self-hosted music library manager that connects streaming services and many connected speakers, typically run alongside Home Assistant. Music Assistant is a free, open-source media library manager. It connects your streaming services and a wide range of connected speakers so you can manage and play music from one place. The server is the core component and is meant to run continuously on a device such as a Raspberry Pi, a NAS, or a small Intel NUC.
- Is server free to use? What license does it have?
- server is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is server still maintained?
- Actively maintained. The last commit to server was on Oct 24, 2026.
- What can I use server for?
- Playing music from streaming services on speakers throughout a home Adding music playback to a Home Assistant automation setup Running a home music server on a Raspberry Pi or NAS
- How do I install server?
- Install the Music Assistant app in Home Assistant (recommended) Or run the official Docker container image: docker pull ghcr.io/music-assistant/server Development: create the virtualenv and install dependencies with the setup script: scripts/setup.sh Development: run the server locally on http://localhost:8095: python -m music_assistant --log-level debug
- Where can I get server?
- The source code and installation instructions are on GitHub: https://github.com/music-assistant/server
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A self-hosted music streaming server that lets you play your own music library from a web browser or mobile app.
A menu bar and iPhone app that shows your home as a live 3D model and controls its lights and air conditioners via Smart Life, Home Assistant, Hue and Apple Home.
Python library and miiocli command-line tool for controlling Xiaomi smart home devices over the miIO and MIoT protocols.
A camera streaming server that converts and relays video and audio between dozens of camera, RTSP, WebRTC, HLS, and HomeKit formats.
Self-hosted NVR that runs realtime object detection on local IP camera feeds, built for Home Assistant integration.