Skip to content
A Node.JS music server
JavaScript CSS API Blueprint HTML Shell
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
api Whoa - just found uncommitted changes from December? Sep 1, 2018
app Open footer on web socket playstate update Dec 6, 2016
audio
certstuff @ d6ddee4
docs Whoa - just found uncommitted changes from December? Sep 1, 2018
organize jshint recommended fix .disc notation Dec 3, 2016
.csslintrules Updated CSS lint rules to remove stupid IE7/9-only stuff. Mar 30, 2016
.dockerignore So, docker is still a beastly pain Oct 15, 2016
.gitignore Ignore build dir Oct 31, 2016
.gitmodules
Gruntfile.js
README.md Added certificate setup instructions Nov 30, 2016
apiary.apib
index.js
init-mongo.js
package.json

README.md

BoomBox

Use a raspberry pi or any computer as a media server for audio files.

Dependencies

  • Node.js
  • npm
  • cdparanoia, a CD ripper binary

Installation

  • Clone Boombox, making sure to include submodules - git clone --recursive https://github.com/mborn319/BoomBox.git
  • Install node and npm - sudo apt-get install nodejs npm
  • Install Mongo - sudo apt-get install mongodb
  • Install sound library, specifically for alsa.h - sudo apt-get install libasound2-dev
  • Install package dependencies - npm install
  • Install TLS certificates for security - cd certstuff;bash make-root-ca-and-certificates.sh "boombox.localhost"

For Development

  • Install grunt - sudo npm install -g grunt-cli
  • Run grunt to compile frontend scripts, etc - grunt

Usage

Copying Audio Files to Boombox

  • Place an audio CD in the CD drive
  • Navigate to boombox/organize. cd organize
  • Begin the CD rip process with node ripdisc.js
  • Repeat as necessary for each CD.

Start up the web server

  • Add boombox.localhost to your /etc/hosts file
  • Start Boombox: node index.js
  • Visit the Boombox homepage: http://localhost:8080

API docs

API documentation is generated thanks to API Blueprint and Apiary. View API documentation.

You can’t perform that action at this time.