Public | Automated Build

Last pushed: 3 years ago
Short Description
Short description is empty for this repo.
Full Description


Musicpicker is a music playback system that connects your music devices on a cloud service and allows you
to control what music plays on each.

Musicpicker's official service is available at, ready-to-go and fully managed for your daily use.

This is the server implementation providing APIs, data storage, playback control, authentication
and a single-page-app frontend.


  • Web frontend
  • User login and registration
  • Device management and registration
  • Metadata database
  • Device library submission
  • Device playback control
  • Artwork fetching


Musicpicker runs on the Node.js platform and requires the Node runtime to be installed.
Musicpicker has been tested on Node 0.12 but should work on newer versions.

Musicpicker needs a Knex-supported SQL server to store users, devices and metadata.
It also needs a running Redis instance for playback management and various optimizations.

Docker install

Musicpicker is available as an automatically built Docker container on
Docker Hub.

The default configuration assumes that you've got PostgreSQL
and Redis containers linked as db and redis on Musicpicker's container.

# Quick setup using Docker
# docker run -d --name redis redis
# docker run -d --name pickerdb --env POSTGRES_DB=picker postgres
# docker run -d --name picker --link pickerdb:db --link redis:redis -p 80:3000 musicpicker/musicpicker

Manual install

Clone the GitHub repository.

git clone
cd musicpicker

Install the project's Node dependencies.

npm install

Install gulp and knex globally.

npm install -g gulp knex

Use gulp to build the webapp.


Install your database's Node backend and execute the project's migrations.

Notice: For any custom database configuration, you should edit or create a configuration file in the
config/ directory. Configuration is managed using config npm package.

npm install sqlite3  # For development, SQLite should be sufficent.
npm install pg  # For production, PostgreSQL is the recommended database.
knex migrate:latest --env config

You can now start the server.

npm start


© 2015 Hugo Caille.

Musicpicker is released upon the terms of the Apache 2.0 License.

Docker Pull Command
Source Repository