diff --git a/music-assistant/data/settings.json b/music-assistant/data/settings.json new file mode 100644 index 0000000000..a1fe978564 --- /dev/null +++ b/music-assistant/data/settings.json @@ -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 + } + } +} diff --git a/music-assistant/docker-compose.yml b/music-assistant/docker-compose.yml new file mode 100644 index 0000000000..d918a4bcb2 --- /dev/null +++ b/music-assistant/docker-compose.yml @@ -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 + # 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 diff --git a/music-assistant/umbrel-app.yml b/music-assistant/umbrel-app.yml new file mode 100644 index 0000000000..bacf1ed965 --- /dev/null +++ b/music-assistant/umbrel-app.yml @@ -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"