Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
The intelligent communal jukebox
Ruby CoffeeScript Shell

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
app
config
db
lib
migration
public
push
script
test
vendor/assets
.foreman
.gitignore
.rbenv-version
Capfile
Gemfile
Gemfile.lock
Procfile
README.md
Rakefile
TODO
config.ru

README.md

Warble

The intelligent office jukebox...

Getting Started

You'll need a *nix environment. Following are instructions for OS X 10.7:

Prerequisites

Install Xcode and OS X GCC packages.

Use Homebrew to install Redis, rbenv, and ruby-build.

$ brew install redis rbenv ruby-build

Build Ruby

Set up rbenv for your shell:

$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile

Reload your shell.

Build and install Ruby 1.9.3:

$ rbenv install 1.9.3-p194   # Install MRI 1.9.3-p194

Add Bundler for dependency management:

$ gem install bundler
$ rbenv rehash               # Rebuild the rbenv shim binaries

Preparing the project

Install dependencies:

$ bundle install --binstubs --path vendor/bundle

Warble uses Facebook Connect to authenticate users. Create a new app at http://facebook.com/developers. Make sure to set the Site URL field to http://localhost:3000/.

Foreman loads environment variables from .env in the project root when booting the app. Copy the Facebook App ID and App Secret values from the app details on Facebook:

$ echo 'FACEBOOK_APP_ID=111111111111111' >> .env
$ echo 'FACEBOOK_APP_SECRET=abcdefabcdefabcdefabcdefabcdefab' >> .env

Add credentials for a Pandora partner. Pick one from http://pan-do-ra-api.wikia.com/wiki/Json/5/partners:

$ echo 'PANDORA_USERNAME=username' >> .env
$ echo 'PANDORA_PASSWORD=password' >> .env
$ echo 'PANDORA_DEVICE_ID=device_id' >> .env
$ echo 'PANDORA_ENCRYPTION_KEY=encryption_key' >> .env
$ echo 'PANDORA_DECRYPTION_KEY=decryption_key' >> .env

If you're running Warble on a Macintosh, you may need to instruct ElasticSearch to use Java in 32-bit mode.

$ echo 'JAVA_OPTS=-d32 -server' >> .env
$ echo 'ESJAVA_OPTS=-d32 -server' >> .env 

Copy the sample connection configurations:

$ cp config/redis.yml.sample config/redis.yml
$ cp config/database.yml.sample config/database.yml

Edit config/redis.yml and config/database.yml to match your local Redis and PostgreSQL configuration.

Running the application

Ensure Redis is running. You can find the proper incantations by running:

$ brew info redis

Start the web server, background processes, and other components with Foreman:

$ ./bin/foreman start

Now browse to http://localhost:3000/ and get warbling!

Something went wrong with that request. Please try again.