Web music player for everyone!
https://jukebox.julyee.com
Play music, control it from your phone, let guests add tracks from their phones, get song suggestions, use other devices as wireless speakers for a multi-room sound system, no downloads, no extra accounts, just a simple website!
Roadmap:
- Connect using Apple Music
- Remotely control music
- Connect devices as speakers
- Use QR codes for easy connection
- Display lyrics for songs
- Recommend related songs
- Display guest names on music queue
- Configurable guest rules
- Save playlists remotely or locally
- Audio visualizations
- Connect using Spotify
Clone this repository then run:
yarn install
node ./keys/music-token-encoder.js [PRIVATE_KEY_FILE] [TEAM_ID] [KEY_ID] [OUTPUT_FILE] [EXPIRES_IN]
where PRIVATE_KEY_FILE
is the path to the p8
file you obtained from apple, your TEAM_ID
as specified in your Apple developer portal, the KEY_ID
provided by Apple (usually part of your key file name), OUTPUT_FILE
is the path where the token should be placed (must be ./www/keys/devtoken.jwt
for this application) and EXPIRES_IN
is the duration of the token (i.e. 31d for a duration of 31 days). For more information check the Apple documentation.
The resulting file must be placed in ./www/keys/
and be named devtoken.jwt
Create a file named last.fm.json
in the ./www/keys
folder with the following contents:
{
"service": "Last.fm",
"endpoint": "https://ws.audioscrobbler.com/2.0",
"key": "API_KEY"
}
where API_KEY
is your last.fm API key.
I recommend using Let's Encrypt as it's free and easy to use, alternatively, you could follow a guide like this one to create a self signed certificate.
node ./server --cert [CERTIFICATE_FILE] --key [KEY_FILE]
where CERTIFICATE_FILE
is the path to your SSL certificate and KEY_FILE
is the path to your public key file.
Please log any bugs you encounter and feature requests to our issues section.
If you wish to contribute to the code base, feel free to tackle any logged issue and/or submit pull requests.