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 musicpicker.net, 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 is available as an automatically built Docker container on
# 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
Clone the GitHub repository.
git clone https://github.com/musicpicker/musicpicker cd musicpicker
Install the project's Node dependencies.
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.
© 2015 Hugo Caille.
Musicpicker is released upon the terms of the Apache 2.0 License.