A simple web application that displays the currently playing Spotify song and allows guests to request songs via QR code. Works best with tablets.
- Display currently playing Spotify song
- QR code for easy song requests
- Search and add songs to queue
- View song queue
-
Install dependencies:
bun install
-
Configure Spotify API:
- Go to Spotify Developer Dashboard
- Create a new app
- Copy your Client ID and Client Secret
- Add redirect URI (you have to use HTTPS, use something like ngrok for easy local development)
-
Set up environment variables:
cp env.example .env
Edit
.envand add your Spotify credentials:SPOTIFY_CLIENT_ID=your_client_id SPOTIFY_CLIENT_SECRET=your_client_secret SPOTIFY_REDIRECT_URI=http://localhost:5173/auth/spotify -
Start the development server:
bun run dev
-
Open your browser:
- Main page: http://localhost:5173
- Request page: http://localhost:5173/request
-
Copy environment file:
cp env.example .env
-
Edit
.envwith your Spotify credentials:SPOTIFY_CLIENT_ID=your_client_id SPOTIFY_CLIENT_SECRET=your_client_secret SPOTIFY_REDIRECT_URI=http://localhost:3000/auth/spotify -
Start the application:
docker-compose up -d
-
Access at
http://localhost:3000
services:
groovity:
image: mavifindsbugs/groovity:latest
ports:
- "3000:3000"
env_file:
- .env
volumes:
- groovity_data:/app/dataFor deployment with Nginx see following exampple:
- Nginx configuration in
nginx/conf.d/groovity.conf(update server name!) - SSL certificates in
nginx/ssl/directory
Use at your own risk. This software is provided as-is without any warranty.
If you discover a security vulnerability, please report it responsibly by creating an issue on GitHub.