Spotify Jukebox System inititally created for LanOps.
Written in GO using the https://github.com/zmb3/spotify package. Refer to the postman collection for the endpoints
- Add/Remove/Skip Tracks
- Voting system - Vote songs up to the top of the queue or remove them entirely
- Admin Controls
- Volume Controls
- Works with any Spotify Device
- Fallback Playlist when no songs in queue
- Add Queued songs to Fallback Playlist
- Create App for Client and Secret Key. Make sure to set the callback url to the domain and have the callback path, for example
http://localhost:8888/auth/callback
- Copy the example env file
cp .env.example .env
- Fill in the
.env
file- Fallback Playlist can be any playlist. Use the full URI. If you wish to add queued songs to the playlist make sure the account being used has the sufficient permissions to the playlist. Make sure there is atleast 10 songs in this playlist
cd api
go mod tidy
go run .
To initate the player, you must first request the login link from the /auth/login
endpoint. Then go to the returned link and log into Spotify. Once this has completed you must use the localhost:8888/device
endpoint to set the Device.
To start the player goto the /player/start
endpoint
Admin routes are behing Basic Auth Endpoints. The User is admin
and the password is set in the env.
- Copy the example env file
cp .env.example .env
- Fill in the
.env
file
cd ui
npm install
npm run dev