Managing dashboards on various displays (especially those running on Android)

Clone this repo:
  1. 97a4720 doc: switch to Python 3 by Vincent Bernat · 1 year, 3 months ago master v2.7.11
  2. f96c40d Revert "build(deps): bump pygments from 1.6 to 2.7.4 in /docs" by Vincent Bernat · 1 year, 3 months ago
  3. 455c438 release: do a proper release by Vincent Bernat · 1 year, 3 months ago
  4. b5164bc demo: use FOSDEM videos instead by Vincent Bernat · 1 year, 3 months ago
  5. cdb0844 build: fix issue with bower by Vincent Bernat · 1 year, 3 months ago

Dashkiosk

Build Status

Dashkiosk is a solution to manage dashboards on multiple screens. It comes as four components:

  1. A receiver runs in a browser attached to each screen and will display the requested dashboards. The receiver is quite dumb, it contacts the server and wait for it to tell which URL to display.

  2. A server which will manage the screens by sending them what they should display. An administration interface allows the user to manage those screens individually or in a group.

  3. An Android app that will run the receiver. This is mainly a fullscreen webview. There is also a Firefox app fulfilling the same purpose.

  4. A Chromecast custom receiver which will run the regular receiver if you want to display dashboards using Google Chromecast devices.

The full documentation is available on ReadTheDocs.

A live installation, reset every hour, is publicly available:

Here is a demonstration video:

Dashkiosk demo

Development

To run the server for development:

$ grunt serve

Android receiver

The Android receiver has moved to its own repository.

Chromecast receiver

The "official" Chromecast receiver has app ID 5E7A2C2C and is hosted in the gh-pages branch of this repository. To update it:

$ grunt dist
$ git worktree add ~/src/dashkiosk-gh-pages gh-pages
$ cd ~/src/dashkiosk-gh-pages
$ git rm -r *
$ rsync -rv --include '*chromecast*' --include '*/' --exclude '*' ~-dashkiosk/dist/public/* .
$ git add *
$ git commit -m "Update"

Docker

There is a Dockerfile to run Dashkiosk inside Docker. This will also work with Chromecast devices if your Docker host supports the --net=host option:

$ docker run --net=host \
             -v /var/lib/dashkiosk/database:/database \
             -e "chromecast__enabled=1" \
             -e "chromecast__receiver=http://<DOCKER_HOST_IP>:8081/receiver" \
             -e "port=8081" \
             ghcr.io/vincentbernat/dashkiosk:latest

To start without Chromecast support, simply run:

$ docker run -d -p 8080:8080 \
             -v /var/lib/dashkiosk/database:/database \
             ghcr.io/vincentbernat/dashkiosk:latest

Using latest can be broken from time to time. You may prefer a stable tag, like 2.7.9 or 2.7.