/ Technical

Spotify Ripper as a Docker Container

I'm a big fan of Spotify after managing to shank my Google Play Music Family account into an irreparable mess... long story. Anyway, while Google technical experts sort it out, I'm a massive fan of Spotify! *even more so now they too have a family plan, but one which isn't in a right old mess.

I'm also a big fan of Spotify Ripper. Here's how to get Spotify Ripper working in a Docker container, which essentially should be easy but here's the full HowTo on it.

MASSIVE CAVEAT! Only tested on Ubuntu 14.04 LTS. Other versions may work, who knows...

Install Docker ...

The information to do it properly is here but for the cutters and pasters....

sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates
sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D

# this will depend on your release, so check official instructions if you're not running Ubuntu 14.04
sudo echo "deb https://apt.dockerproject.org/repo ubuntu-trusty main" > /etc/apt/sources.list.d/docker.list

sudo apt-get update
sudo apt-get purge lxc-docker
apt-cache policy docker-engine
sudo apt-get install docker-engine

sudo groupadd docker
sudo usermod -aG docker myusername

Log out and in.

docker run hello-world

You should be full of Docker joy at this point. Start explaining to everyone that Docker is going to change the world.

Get the Spotify Ripper Docker container...

The Docker container is going to be the thing that runs the application, and stores the data in where we tell it.

git clone https://github.com/darrenwatt/docker-spotify-ripper.git
cd docker-spotify-ripper
cp -pr example.config.ini config.ini
vi config.ini

Put in your own settings in config.ini.
Can leave path as /data, will update when we start the container.

At this point I realised you need to get a Spotify appkey from https://devaccount.spotify.com/my-account/keys/. You need Premium account for this; don't be cheap, Spotify Premium is an excellent service. Save the appkey file to your docker-spotify-ripper directory where-ever that is.

Build the container.

docker build -t spotify-ripper .

Check it's there.

docker images

Start it up.

docker run -d -v /mnt/media/downloads/spotify_downloader:/data --name spotify-ripper spotify-ripper

Check it's running.

docker ps

Copy Spotify URI from the Spotify Application on one of your playlists.

docker exec spotify-ripper spotify-ripper spotify:user:myusername:playlist:6lLAzuyeriMpDKNQXtbMzsIot4

It should start getting the tracks. Do the robot dance. If at any point this doesn't work, stop doing the robot dance.

WIN/FAIL? Let me know how you get on in the comments.