Self-hosted collaborative music playing application.
JavaScript CSS HTML
Latest commit 27a206b Sep 19, 2016

Build Status Coverage Status is a collaborative online jukebox. It is an experimental Internet radio platform. Vote on what plays next, like Reddit for music. Aggregates streams from sources like YouTube and SoundCloud, so when a song is queued, it has multiple locations to play from if any one source fails for any particular reason.

Getting Started

Before you begin you will need to have nodejs, redis, and mongodb installed. Homebrew is recommended for OS X users.

brew install nodejs mongodb redis

In the logged output, you'll find some instructions for starting both mongodb and redis – you can follow those instructions, or execute once with redis-server & mongod &

Once you have them installed (and running!), go ahead and clone the repository.

git clone

You will need to fetch the dependencies and then you can start up the server.

npm install
node soundtrack.js

Testing Rooms

Now that soundtrack has multiple rooms, you'll need to configure your local hostname lookups to point at the appropriate locations. In /etc/hosts (or equivalent for your OS): localhost.localdomain test.localhost.localdomain

You'll need to add an entry for each subdomain you want to test. Also, the .localdomain component is important for sessions, as some browsers expect a top level domain for cookies to work correctly!


Deleting tracks: $.ajax('/playlist/520e6bda3cb680003700049c', { type: 'DELETE', data: { index: 1 } });


Want to help? Claim something in the "ready" column on our by assigning it to yourself.

Fork. Commit. Pull request.