Repository navigation
Installation
- 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.
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.
Download the config file from the downloads or the repo, then either follow the instructions in the file, or see the Configuration Guide
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
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
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
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.
MusicPlayer Copyright (C) 2026 janishutz
Licensed under the GNU Affero General Public License, see LICENSE and README.md for more information