Skip to content

Installation

Janis Hutz edited this page Sep 30, 2026 · 4 revisions

Requirements

  • You need to be able to install docker containers OR be able to run an executable.
  • You need an Apple Developer Account for using the Apple Music API to retrieve song information. MusicPlayer MAY work without one, but this is unsupported for now.

Preparations

Getting the developer token

You can follow Apple's official guide to create a Media Identifier. You need to select Apple Music API as the usage for it. Furthermore, you need your Apple Developer TeamID and the ID of the key you have just created. You can retrieve your TeamID on your Account page on the Apple Developer Website.

Creating a config file

Download the config file from the downloads or the repo, then either follow the instructions in the file, or see the Configuration Guide

Installation

There will (probably) eventually be a script that takes care of all of this.

For all the below, you need the config.yml file. Otherwise, MusicPlayer will not start.

If you need a different backend URL than api.<frontend URL>, you need to bundle the frontend yourself, see here

Docker

Download the docker-compose.yml and the config.yml files from the releases. Create a .env file with the following contents, if you wish to enable OpenID Connect:

OIDC_ISSUER=<url>
OIDC_CLIENT_ID=<id>
OIDC_CLIENT_SECRET=<secret>

If you further want to use the store SDK, then also add

STORE_SERVICE_ID=<id>
STORE_SERVICE_SECRET=<secret>

to the .env file.

After modifying the config.yml file as per the guide, start it using docker compose up

Hybrid (Backend in Docker, Frontend in native webserver)

Download the compose.yml and the config.yml files from the releases. Create a .env file as above.

Then, download frontend.tar.gz or frontend.zip file from the releases, or clone the repo and run npm i && ./build.sh in the web directory. Then, copy the contents of the dist (or the unzipped frontend archive) to the webserver and configure it. A working nginx config can be found in the web/nginx directory

After modifying the config.yml file as per the guide, start the backend using docker compose up

Local

Download the config.yml file and the musicplayer executable from the releases.

After modifying the config.yml file as per the guide, start the backend using ./musicplayer and set up the frontend as in the section above.

Clone this wiki locally