Warning Maestro is not under active development. I'll still keep an eye out for any issues or PRs, but no new features or streaming services will be added. Maestro was originally created to encourage myself to learn new technologies. It's time to put this to bed and move onto the next side-project.
Maestro aggregates links to artists, albums, and tracks across a number of different streaming services. This lets you share music with anyone regardless of their preferred music streaming service (as long as it's either Spotify, Apple Music, or Deezer 😅)
In the configs/
directory, there is a maestro.example.yaml
file, copy this to maestro.yaml
.
From there, you can edit the configuration as required.
The frontend (located in web/frontend-remix
) also has an example.env
file which just contains the API url.
Copy this to .env
and edit it as required. (Note that these are overridden when running in docker compose)
You may have noticed an example.env
file in the configs/
directory. This can be used by docker compose to inject
environment variables. It's primarily used for storing secrets such as streaming service API keys.
If you're looking to run the API and/or frontend via docker compose, copy the example.env
file to .env
, and fill in
the blanks.
Note that the MAESTRO_
environment variables are not required, and these secrets can be configured in the
maestro.yaml
file if desired.
The docker-compose.yaml
file provides a MongoDB container out of the box.
Provided that the .env
file has been filled out correctly, this should work out of the box.
Apple Music have a guide on acquiring the required keys. Once you have the keys, you can use a tool like amjwt to generate the token (disclaimer: I wrote it). Once you've created the token, copy it into config files mentioned above.
You'll need to create a new application using your Spotify account. You can visit this page to get started. Once you've created the application, make sure you copy the Client ID and Client Secret into config files mentioned above.
Deezer doesn't require any API keys
As long as you keep your keys in the maestro.yaml
and/or .env
files, or even somewhere outside the repository, they
should be relatively safe.
Don't add them to the example config files, or any other checked in files. Make sure you review your changes before
accidentally committing your keys.
If you have some changes you'd like to see merged into Maestro, consider forking and submitting a pull request!
If you want to support this tiny sandbox project of mine, feel free to buy me a coffee! If there is enough interest, I may consider dedicating more time to this.