Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
76 changes: 76 additions & 0 deletions music-assistant/data/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
{
"server_id": "ea22c850e3e74462bd24515d860c67bf",
"providers": {
"builtin": {
"values": {},
"type": "music",
"domain": "builtin",
"instance_id": "builtin",
"enabled": true,
"name": "Music Assistant",
"last_error": null
},
"fanarttv": {
"values": {},
"type": "metadata",
"domain": "fanarttv",
"instance_id": "fanarttv",
"enabled": true,
"name": "fanart.tv",
"last_error": null
},
"lrclib": {
"values": {},
"type": "metadata",
"domain": "lrclib",
"instance_id": "lrclib",
"enabled": true,
"name": "LRCLIB",
"last_error": null
},
"musicbrainz": {
"values": {},
"type": "metadata",
"domain": "musicbrainz",
"instance_id": "musicbrainz",
"enabled": true,
"name": "MusicBrainz",
"last_error": null
},
"sendspin": {
"values": {},
"type": "player",
"domain": "sendspin",
"instance_id": "sendspin",
"enabled": true,
"name": "Sendspin",
"last_error": null
},
"theaudiodb": {
"values": {},
"type": "metadata",
"domain": "theaudiodb",
"instance_id": "theaudiodb",
"enabled": true,
"name": "The Audio DB",
"last_error": null
}
},
"core": {
"metadata": {
"values": {
"language": "en_US"
},
"domain": "metadata",
"last_error": null
},
"webserver": {
"values": {
"base_url": "http://umbrel.local:8896",
"bind_port": 8896
},
"domain": "webserver",
"last_error": null
}
}
}
21 changes: 21 additions & 0 deletions music-assistant/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
version: "3.7"

services:
web:
image: ghcr.io/music-assistant/server:2.7.5@sha256:3522e8a7a8f0ad18d790350dc692d3062c4f1df6c9567f838c959e03b251d00d
restart: on-failure
user: "1000:1000"
# Network mode must be set to host for MA to work correctly
network_mode: host

Check notice on line 9 in music-assistant/docker-compose.yml

View workflow job for this annotation

GitHub Actions / Lint apps

Service "web" uses host network mode

The host network mode can lead to security vulnerabilities. If possible please use the default bridge network mode and expose the necessary ports.
# UI at data/settings.json defined port 8896
# Streamserver at default port 8097
# Sendspin at default port 8927
volumes:
- ${APP_DATA_DIR}/data:/data/
- ${UMBREL_ROOT}/data/storage/downloads:/media
# privileged caps (and security-opt) needed to mount smb folders within the container
cap_add:
- SYS_ADMIN
- DAC_READ_SEARCH
security_opt:
- apparmor=unconfined
50 changes: 50 additions & 0 deletions music-assistant/umbrel-app.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
manifestVersion: 1
id: music-assistant
name: Music Assistant
category: media
version: "2.7.5"
port: 8896
tagline: A music library manager for your offline and online music sources
description: >-
Music Assistant is a music library manager for your offline and online music sources which can easily stream your favourite music to a wide range of supported players and be combined with the power of Home Assistant!

Features:

- Supports multiple music sources through a provider implementation
- Many popular streaming services are supported, as well as local files
- Automatically matches music on different providers (track linking)
- Fetches metadata for extended artist information
- Keeps track of the entire music library in a compact database
- Gapless, crossfade and volume normalization support for all players
- Playback synchronisation is possible for supported players
- Announcements during playback supported
- Transfer of playback between players supported
- Truly hassle free streaming of your favourite music to players, no advanced knowledge required
- Home Assistant Integration: Connects Home Assistant to your Music Assistant Server to allow control from your HA instance, allow you to automate your music and allows voice control! The Integration also allows the exposure of HA media players to MA furthering the options you have for playback.
- Rich User interface (Progressive Web App) powered by VueJS 3

Music Assistant consists of multiple building blocks:

- Music Assistant Server
- Home Assistant Integration
- Music Providers: Import your music from various sources into Music Assistant.
- Player Providers: Play your music on a wide collection of player ecosystems.
- Plugins: These extend the functionality of Music Assistant.

Music Assistant Server:
- The Music Assistant Server is a free, opensource Media library manager that connects to your streaming services and a wide range of connected speakers. The server is the beating heart, the core of Music Assistant and it keeps track of your music sources. It must run on an always-on device like a Raspberry Pi, a NAS or an Intel NUC or alike. The server can access multiple music providers and stream to multiple player types.

developer: Music Assistant
website: https://www.music-assistant.io
repo: https://github.com/music-assistant/server
support: https://www.music-assistant.io/support/
gallery: []
releaseNotes: ""
dependencies: []
permissions:
- STORAGE_DOWNLOADS
path: ""
defaultUsername: ""
defaultPassword: ""
submitter: phelipebf
submission: "https://github.com/getumbrel/umbrel-apps/pull/4528"