Public | Automated Build

Last pushed: a year ago
Short Description
Run Dashing in a Docker container.
Full Description

Dashing

Run Dashing in a Docker container.

Link: frvi/dashing

Run

docker run -d -p 8080:3030 frvi/dashing

And point your browser to http://localhost:8080/.

Configuration

Custom dashing port

If you want dashing to use a custom port inside the container, e g 8080, use the environment variable $PORT:

docker run -d -e PORT=8080 -p 80:8080 frvi/dashing

Dashboards

To provide a custom dashboard, use container volume /dashboards:

docker run -v=/my/custom/dashboards:/dashboards -d -p 8080:3030 frvi/dashing

(Don't forget to also provide the layout.erb)

Jobs

To provide custom jobs, use container volume /jobs:

docker run -v=/my/cool/job:/jobs -d -p 8080:3030 frvi/dashing

Widgets

To install custom widgets supply the gist IDs of the widgets as an environment variable:

docker run -d -e WIDGETS=5641535 -p 8080:3030 frvi/dashing

This example will install the Random Aww widget
before starting dashing. Multiple widgets can be supplied.

Also you can use local custom widgets

docker run -v=/my/cool/widgets:/widgets -d -p 8080:3030 frvi/dashing

Gems

To install gems, supply the gem name(s) as an environment variable:

docker run -d -e GEMS=instagram -e WIDGETS=5278790 -p 8080:3030 frvi/dashing

This example installs the Instagram photos by location widget,
which depends on the instagram gem. Multiple gems and widgets can be supplied like so:

docker run -d -e GEMS="mysql instagram" -e WIDGETS=5278790 -p 8080:3030 frvi/dashing

Public (favicon, 404)

To provide custom 404 and favicon, use container volume /public.

Configuration File

The configuration file config.ru is available on volume /config.

Edit this file to change your API key, to add authentication and more.

lib volume

The dashing lib dir is available on volume /lib-dashing.

Thanks

TODO:

  • [x] Use official Ruby image from Docker hub. (Thank you @bemehow)

License

Distributed under the MIT license

Docker Pull Command
Owner
frvi
Source Repository

Comments (5)
stuartleitch
a year ago

Like this, really easy to get up and running quickly. Thanks!

I need to use the google-api-client gem. I can add this as an environment GEMS variable, which is fine, but impacts container creation / start-up time. Ideally I'd have that gem in the docker image. Couple of options:

  • Fork your project / mod the Dockerfile to add this gem.
  • Base a new docker image on yours, but add the gem. (I'm not totally sure how to do this).

I can imagine that this is a common problem, so any advice very gratefully received.

Stuart

tomatensuppe
a year ago

Works flawlessly for our use case. Thanks! Would be even more awesome with versions/tags ;)

michaelermer
2 years ago

would be perfect with VOLUME /lib

larrycai
3 years ago

will be nice to add VOLUME /widgets as well (with correct link) since some private widgets will not be available in gist

frvi
3 years ago

Now using base image debian:7.5, which made the image about 260 MB smaller.