- Have you ever wanted to let other people add music to your queue on Spotify?
- Or would you like to control your queue from a remote location/device?
- Or just create your own DIY Chromecast that plays music from Spotify?
Then SpotiPi is for you!
With SpotiPi you can set up a computer of any kind (that runs node) to work as the receiver/streamer, with either a bundled web interface for controlling it, or just outsource the web interface to the cloud. Just make sure you connect both the player and web interface to the same redis and mongodb. Now anyone you want can have access to your queue and add music. Great for parties, and other occasions where you want your guests to add music to the queue from their own device. Enjoy!
| Landing | Queue |
|---|---|
![]() |
![]() |
- raspberry pi model b (256mb or 512mb ram)
- wifi dongle supported by raspbian
- it also runs on any "regular" computer - but that's not as fun!
- install raspbian by using NOOBS - guide
- install needed packages for the process
sudo apt-get updatesudo apt-get upgradesudo apt-get install build-essentialsudo apt-get install libasound2sudo apt-get install mpg123- install nodejs
sudo wget http://node-arm.herokuapp.com/node_latest_armhf.debsudo dpkg -i node_latest_armhf.deb- install redis
sudo apt-get install redis-server- install mongodb
- first set up a swapdisk if you are using the 256mb version
sudo dd if=/dev/zero of=/swapfile1 bs=1024 count=524288sudo mkswap /swapfile1sudo chmod 0600 /swapfile1sudo swapon /swapfile1- fetch repos needed for install
git clone git@github.com:eiriklv/ArduPi.gitgit clone git@github.com:eiriklv/mongopi.git- install with the following commands
sudo adduser --firstuid 100 --ingroup nogroup --shell /etc/false --disabled-password --gecos "" --no-create-home mongodbsudo cp -R mongodb-rpi/mongo /optsudo chmod +x /opt/mongo/bin/*sudo mkdir /var/log/mongodbsudo chown mongodb:nogroup /var/log/mongodbsudo mkdir /var/lib/mongodbsudo chown mongodb:nogroup /var/lib/mongodbsudo cp mongopi/debian/init.d /etc/init.d/mongodsudo cp mongopi/debian/mongodb.conf /etc/sudo ln -s /opt/mongo/bin/mongod /usr/bin/mongodsudo chmod u+x /etc/init.d/mongodsudo update-rc.d mongod defaultssudo /etc/init.d/mongod startPATH=$PATH:/opt/mongo/binexport PATH
git clone git@github.com:eiriklv/spotipi.git
cd spotipi/frontendsudo npm install -g gulpnpm install- this might take a while, so grab a drink!- if you have any issues with npm, try
npm cache cleanand try again
cd spotipi/playernpm install- this might take a while, so grab a drink!- if you have any issues with npm, try
npm cache cleanand try again
- you need a free Spotify account to be able to use the software
- (Spotify is great, so please pay for Spotify Premium to support them!)
PORT- Port exposed by this component.- example:
3000 DEBUG- Debug output (* for all) (optional)- example:
* SPOTIFY_USERNAME- Your Spotify username (required)- example:
user1234 SPOTIFY_PASSWORD- Your Spotify password (required)- example:
keyboardcat1234
- run
gulp buildfrom thespotipi/frontenddirectory - run
node appfrom thespotipi/frontenddirectory - (create a shellscript with the above for convenience if you want)
- navigate your browser to
http://ip-of-your-raspberry-pi:3000(or whatever port you chose forPORT) - everyone with access to the web interface can now add songs to the queue! :)
- set environment variables
- run
node appfrom thespotipi/playerdirectory - (create a shellscript with the above for convenience if you want)
- connect the audio to your stereo
- enjoy the music! :)
- create a pre-installed image that can be cloned to your SD-card (no install fuss!)
- create upstart-scripts that runs both applications when you boot the pi (plug and play!)
- be able to enter artist and track directly
- be able to search for tracks
- be able to add playlists with a single uri
- add skipping
- improve the frontend design


