Dashkiosk
Dashkiosk is a solution to manage dashboards on multiple screens. It comes as four components:
-
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.
-
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.
-
An Android app that will run the receiver. This is mainly a fullscreen webview. There is also a Firefox app fulfilling the same purpose.
-
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:
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
.