Skip to content

Commit

Permalink
Various minor tweaks to the docs
Browse files Browse the repository at this point in the history
  • Loading branch information
marcelveldt committed Jan 7, 2025
1 parent 333187b commit 812cda1
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 32 deletions.
50 changes: 26 additions & 24 deletions docs/installation.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,28 @@
---
title: Installation
description: Installation guide for Music Assistant
description: Installation guide for Music Assistant
---

# Installing the Server

Music Assistant (in short: MA) is designed to be used side by side with Home Assistant and is built with automation in mind. The recommended installation method is to run the server as a Home assistant Add-on and then optionally [add the HA integration](https://music-assistant.io/integration/installation/). There is also a docker option for those not using Home Assistant Operating System (HAOS).

![easiest label](assets/label-easiest.png)
## Home Assistant Add-on

This is only available when running [HAOS](https://developers.home-assistant.io/docs/operating-system/).
![easiest label](assets/label-easiest.png)

This is only available when running The full version of Home Assistant, which includes the [Home Assistant Operation System (HAOS)](https://developers.home-assistant.io/docs/operating-system/). Due to its ease of use and full functionality, running the Home Assistant operating System is our recommended way of running Home Assistant and Music Assistant.

The Music Assistant add-on repository is available in Home Assistant. Browse the addon store within Home Assistant to install or click on the following button:

[![Add Music Assistant as an Add-on to Home Assistant.](https://my.home-assistant.io/badges/supervisor_addon.svg)](https://my.home-assistant.io/redirect/supervisor_addon/?addon=d5369777_music_assistant&repository_url=https%3A%2F%2Fgithub.com%2Fmusic-assistant%2Fhome-assistant-addon)

A HAOS installation is fully supported by the MA team regardless of whether it runs on dedicated hardware or in a Virtual Machine (VM). The only other requirement is that the HA/MA host and all player devices must be on the same flat network with no VLANs.

![expert label](assets/label-expert.png)

## Docker image

![expert label](assets/label-expert.png)

An alternative way to run the Music Assistant server is by running the docker image:

```
Expand Down Expand Up @@ -61,13 +62,14 @@ services:
The MA team will support docker installs that are installed per the above instructions. For clarity, to receive support from the MA team:

- The docker install must be a simple standalone container (e.g. not using kubernetes)
- MA, HA and all players must be on the same flat network with no VLANs
- MA, HA and all players must be on the same flat network with no VLANs
- Music Assistant needs direct (layer 2) access to the network to properly discover and stream to players. So either host networking or macvlan networking is a mandatory requirement for the docker container

Everything else is considered unsupported. We have the right to close support requests if you're running an unsupported installation or we may ask you to try to reproduce the issue on one of our supported installation types.
Everything else is considered unsupported. We have the right to close support requests if you're running an unsupported installation or we may ask you to try to reproduce the issue on one of our supported installation types.

If you may run into any issues when using a docker install vs the recommended/standard Home Assistant add-on, you may try to simply run Home Assistant OS on a VM on your computer or a spare RPi and see if you can reproduce the issue with that setup.
____________

---

## Server Notes

Expand All @@ -80,36 +82,36 @@ ____________
- You cannot run the slimproto integration in Home Assistant if the slimproto provider is enabled.

- The webinterface of the server can be reached on TCP port 8095 if enabled in the settings. By default, on HAOS based installations, the webserver is internal only and not exposed to the outside world. It is protected by HA authentication using the Ingress feature of Home Assistant (you also get the sidepanel shortcut for free!)

- You can access the frontend over https by following these steps:

1. Expose the webserver via MA settings>>Core>>webserver

2. To access the frontend behind a reverse proxy you will have to configure the reverse proxy to point at the 8095 port and expose it to whatever is desired (and add an ssl certificate). How that works differs for each implemention.

!!! tip
You can keep the server more secure by NOT exposing the webserver and let the addon talk directly to the webserver on the internal docker network. In that case the internal dns name of the addon would be, for example, `http://YOUR_HA_IP_ADDRESS:8123/d5369777_music_assistant`
1. Expose the webserver via MA settings>>Core>>webserver

2. To access the frontend behind a reverse proxy you will have to configure the reverse proxy to point at the 8095 port and expose it to whatever is desired (and add an ssl certificate). How that works differs for each implemention.

!!! tip
You can keep the server more secure by NOT exposing the webserver and let the addon talk directly to the webserver on the internal docker network. In that case the internal dns name of the addon would be, for example, `http://YOUR_HA_IP_ADDRESS:8123/d5369777_music_assistant`

## Usage and Notes

- When running the Home Assistant add-on, you can access the webinterface from the add-on (a shortcut can be added to the sidebar) which is more secure than via the port (although the port can be exposed (but not changed) in the settings)

- If you are running Music Assistant in docker, you need to access the webinterface at `http://YOUR_MA_IP_ADDRESS:8095`. The port can be changed in the MA settings. If something else is using port 8095 then that must be shutdown until the MA port is changed

- No providers are installed initially. You must navigate to the MA settings and add the providers (Music and Players) that you use

- Music from your music sources will be automatically loaded into the Music Assistant library. If you have multiple sources, they will be merged as one library

- In this first implementation the UI centres around the concept of the [Library](usage.md), so your artists, albums, tracks, playlists and radio stations. You can BROWSE the various providers to add aditional items to your Library. In a later release options will be provided to browse the recommendations of the various streaming providers

- Note that at the first startup it can take a while before data is available (first sync), the Music Assistant UI will notify you about tasks that are in progress. This can be seen by this symbol ![icon](assets/icons/sync-icon.png) next to the Music Provider entry in MA settings

- Music sources are synced at addon (re)start and every 3 hours (or other interval as selected in the settings)

- MA is designed to work on a Raspberry Pi which is also running Home Assistant. For this reason it does not make large demands on resources. Additionally, there are limits on the free API calls used for artwork and other metadata. The result of this is that initial syncs of large libraries can take a long time. Subsequent syncs should be noticeably faster

- If a song is available on multiple providers (e.g. Spotify and a flac file on disk), the file/stream with the highest quality is always preferred when starting a stream. Highest quality is based on sample rate, bit depth and codec and local is preferred over cloud

- Music Assistant uses a custom stream port (TCP 8097 by default) to stream audio to players. Players must be able to reach the Home Assistant instance and this port. If you're running one of the recommended HAOS installation methods, this is all handled for you, otherwise you will have to make sure you're running MA in a container with HOST network mode and with the privileges shown in the example docker compose above. Note: If the default port 8097 is occupied, the next port will be tried, and so on
- Any restriction of the available ports (e.g. trying to run MA through a firewall) is not supported as protocols like airplay open random tcp and/or udp ports

Expand Down
21 changes: 13 additions & 8 deletions docs/release.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,32 @@
---
title: Release Cycle
description: Details of the release cycle for the stable and beta versions of the server
description: Details of the release cycle for the stable and beta versions of the server
---

# Release Cycle

## Stable Releases

Stable releases will only be published every 1-3 months, depending upon the number of feature improvements. These stable releases will come after a beta cycle has been promoted to "Release Candidate" and the development team all agree its stable enough to be promoted.
Stable releases will only be published every 1-3 months, depending upon the number of feature improvements. These stable releases will come after a beta cycle has been concluded and found stable enough to be promoted.

Patch releases may be pushed if there is a compelling need (e.g. an urgent bugfix)

## Beta Releases

Beta releases are planned to be released every 1 - 4 weeks, depending on the number of changes.
Next to the standard stable channel we also have a beta channel, for which we publish a dedicated Home Assistant add-on (and docker image).
Once a new stable version has been published, a new beta cycle will start (with the minor version increased).
For example once stable version 2.3 is released, the beta for version 2.4 start.

Once 2.0 is released, the beta for version 2.1 will be available. It is possible to remain on the beta channel.
Beta releases are planned to be released every 1 - 4 weeks, depending on the number of changes.
In some cases, when a large feature is in development for example, expect multiple beta releases per week.

There is also a dev/nightly add-on which can be run to get the absolute latest version but this comes with risk of intermittent problems during the development cycle.
### DEV Channel/Releases

!!! warning
This next section is for ADVANCED users. If you make a mistake you will have to remove all versions of the addon and start again. Be WARNED!
There is also a dev/nightly add-on which can be run to get the absolute latest version but this comes with risk of intermittent problems during the development cycle. It is used by the MA Team to test new feature as they are being added.

### Running Parallel Server Versions
## Running Parallel Server Versions

It is possible to run the stable, beta or dev server add-ons side by side as they don't share any data. Thus you can temporarily run the beta add-on to try out new features and then revert to the stable version. You can do this by manually stopping and starting the relevant server. Don't have two servers running on the same host at the same time.

!!! warning
Be careful that you don't accidentally remove an add-on, because that will make you loose all your data (if you didnt back it up). The same applies to docker users: be careful with the data folder and be aware that the data folder is not backwards compatible. Don't try to use it between channels!

0 comments on commit 812cda1

Please sign in to comment.