Dashing - dashboard framework

From RARForge
Revision as of 16:31, 31 May 2013 by Robertr (talk | contribs) (→‎Dashing Options)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Dashing - A Dashboard for TVs/Displays

URL: http://shopify.github.io/dashing/

It's a pretty slick dashboard... wish it was perl... but who creates fluff in perl

Requirements

  • Tested on Debian GNU/Linux 6.0 - Squeeze (dreamplug)
  • NodeJS
  • Ruby 1.9
  • Git


Install Ruby 1.9.1 on Debian Squeeze

<source> sudo apt-get install ruby1.9.1-full </source> <source> cd /usr/bin ln -sf ruby1.9.1 ruby ln -sf gem1.9.1 gem ln -sf erb1.9.1 erb ln -sf irb1.9.1 irb ln -sf rake1.9.1 rake ln -sf rdoc1.9.1 rdoc ln -sf testrb1.9.1 testrb </source>


Ruby additional steps

  • Install bundler gem ( I didn't have it, safe to run if you aleady have it)

<source< gem install bundler </source>


  • Link all the binaries. We shouldn't have to do this since we used apt-get to install.. but whatever.
This will allow you to run ruby, bundle, dashing, etc.. anytime you install a NEW gem, you might want to run this

<source> for f in /var/lib/gems/1.9.1/bin/* do filename=$(basename $f); if [ -e $filename ] then echo "$filename already exits"; else sudo ln -s $f $filename; fi done </source>



Install NodeJS

INSTALL from apt-get

<source> apt-get install nodejs </source>


  • none of the source/compiling worked for me...

<source> sudo apt-get update && apt-get install git-core curl build-essential openssl libssl-dev </source>

<source> git clone https://github.com/joyent/node.git cd node

  1. 'git tag' shows all available versions: select the latest stable.

git checkout v0.9.5 </source>

This is a step normally not documented, but required for the arm7 (dreamplug)
  • modify file: node-vx.x/deps/v8/SConstruct
  • You need to add -march=armv7-a

<source>

  1. You need to edit this file and modify
  2. line # 84 it should look like this:

'gcc': {

   'all': {
     'CCFLAGS':      ['$DIALECTFLAGS', '$WARNINGFLAGS', '-march=armv7-a'],
     'CXXFLAGS':     ['-fno-rtti', '-fno-exceptions'],
   },

</source>


  • Finish the compiling and install

<source>

  1. Configure seems not to find libssl by default so we give it an explicit pointer.

./configure --openssl-libpath=/usr/lib/ssl make

  1. prepare to wait FOREVER...

make test sudo make install node -v </source>

Install Dashing

you must of followed the previous steps above.
  • Install the gem from the command line. Make sure you have Ruby 1.9 (yep.. we do)

<source> gem install dashing </source>

  • remeber the script before -- we need to link the new installed gem dashing into /usr/bin/

<source> for f in /var/lib/gems/1.9.1/bin/* do filename=$(basename $f); if [ -e $filename ] then echo "$filename already exits"; else sudo ln -s $f $filename; fi done </source>


  • Generate a new project

<source> dashing new sweet_dashboard_project </source>


  • Change your directory to sweet_dashboard_project and bundle gems

<source> bundle </source>


  • Start the server!

<source> dashing start </source>



Upgrade JSON Gem

  • edit <your_new_dashboard>/GemFile

<source>

  1. append

gem 'json', '~> 1.7.7' </source> <source> bundle install

Fetching gem metadata from https://rubygems.org/...........
Fetching gem metadata from https://rubygems.org/..
Resolving dependencies....
Using backports (3.3.1) 
Using coffee-script-source (1.6.2) 
Using multi_json (1.7.4) 
Using execjs (1.4.0) 
Using coffee-script (2.2.0) 
Using daemons (1.1.9) 
Using rack (1.5.2) 
Using tzinfo (0.3.37) 
Using rufus-scheduler (2.0.19) 
Using sass (3.2.9) 
Using rack-protection (1.5.0) 
Using tilt (1.4.1) 
Using sinatra (1.4.2) 
Using eventmachine (1.0.3) 
Using rack-test (0.6.2) 
Using sinatra-contrib (1.4.0) 
Using hike (1.2.2) 
Using sprockets (2.10.0) 
Using thin (1.5.1) 
Using thor (0.18.1) 
Using dashing (1.0.5) 
Installing json (1.7.7) 
Using bundler (1.3.5) 
Your bundle is complete!
Use `bundle show [gemname]` to see where a bundled gem is installed.

</source>


  • Point your browser at localhost:3030 and have fun!'


Dashing Options

Server Port

  • Dashing runs on Thin behind the scenes. That means that any config for running thin works. Example:

<source> dashing start -p 5000 -e production </source>


  • Run in the background

<source> dashing start -d </source>


Scripts to run dashing as a Service

<source>

  1. !/bin/bash
  2. Dashing service
  3. Add this file to /etc/init.d/
  4. $ sudo cp dashboard /etc/init.d/
  5. Update variables DASHING_DIR, GEM_HOME, & PATH to suit your installation
  6. $ sudo nano /etc/init.d/dashboard
  7. Make executable
  8. $ sudo chmod 755 /etc/init.d/dashboard
  9. Update rc.d
  10. $ sudo update-rc.d dashboard defaults
  11. Dashboard will start at boot. Check out the boot log for trouble shooting "/var/log/boot.log"
  12. USAGE: start|stop|status|logs
      1. BEGIN INIT INFO
  1. Provides: dashboard
  2. Required-Start: $remote_fs $syslog
  3. Required-Stop: $remote_fs $syslog
  4. Default-Start: 2 3 4 5
  5. Default-Stop: 0 1 6
  6. Short-Description: Start daemon at boot time
  7. Description: Enable service provided by daemon.
      1. END INIT INFO
  1. Gregology <greg@gho.st>
  2. https://gist.github.com/gregology/5313326
  3. Based on Faraz Haider's LifeRay Startup Service script
  4. https://gist.github.com/haiderfaraz/2773431

DASHING_DIR=/path/to/dashboard/ GEM_HOME=/usr/local/lib/ruby/gems/1.9.1 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

case "$1" in start) echo "Starting Dashing." cd $DASHING_DIR; dashing start -d

stop) echo "Stopping Dashing." killall thin

logs) echo "See the logs of the Dashing." tail -f $DASHING_DIR'log/thin.log'

status)

  1. Check to see if the process is running

ps aux|grep -i dashing

  • )

echo “Dashing” echo $”Usage: $0 {start|stop|status|logs}” exit 1 esac exit 0 </source>