GithubHelp home page GithubHelp logo

grafana-kiosk's Introduction

Grafana Kiosk

CircleCI Go Report Card codecov

A very useful feature of Grafana is the ability to display dashboards and playlists on a large TV.

This provides a utility to quickly standup a kiosk on devices like a Raspberry Pi or NUC.

The utitilty provides these options:

  • login
    • to a Grafana server (local account)
    • to a grafana server with anonymous-mode enabled (same method used on https://play.grafana.org)
    • to a hosted grafana instance
  • switch to kiosk or kiosk-tv mode
  • display the default home page set for the user
  • display a specified dashboard
  • start a playlist immediately (inactive mode enable)

Additionally, an initialize option is provided to configure LXDE for Raspberry Pi Desktop.

Usage

--URL

  • URL to a Grafana server

--playlist

  • designates the URL as a playlist, allowing instant "inactive" user vs waiting for the timeout

--login-method (default anon)

  • anon (anonymous)
  • local (local user)
  • gcom (Hosted Grafana)

--username used with local and gcom login methods

--password used with local and gcom login methods

--kiosk-mode

  • full (no sidebar, top navigation disabled)
  • tv (no sidebar, top navigation enabled)
  • disabled (sidebar and top navigation enabled)

--autofit scales panels to fit the display (default is true)

  • true
  • false

--lxde enables initialization of LXDE

--lxde-home specifies home directory of LXDE user (default $HOME)

Hosted Grafana using grafana.com authentication

This will login to a Hosted Grafana instance and take the browser to the default dashboard in fullscreen kiosk mode:

./bin/grafana-kiosk --URL https://bkgann3.grafana.net --login-method gcom --user bkgann --password abc123 --kiosk-mode full

This will login to a Hosted Grafana instance and take the browser to a specific dashboard in tv kiosk mode:

./bin/grafana-kiosk --URL https://bkgann3.grafana.net/dashboard/db/sensu-summary --login-method gcom --user bkgann --password abc123 --kiosk-mode tv

This will login to a Hosted Grafana instance and take the browser to a playlist in fullscreen kiosk mode, and autofit the panels to fill the display.

./bin/grafana-kiosk --URL https://bkgann3.grafana.net/playlists/play/1 --login-method gcom --user bkgann --password abc123 --kiosk-mode full --playlist --autofit

Grafana Server with Local Accounts

This will login to a grafana server that uses local accounts:

./bin/grafana-kiosk --URL https://localhost:3000 --login-method local --user admin --password admin --kiosk-mode tv
./bin/grafana-kiosk --URL https://localhost:3000 --login-method local --user admin --password admin --kiosk-mode tv

Grafana Server with Anonymous access enabled

This will take the browser to the default dashboard on play.grafana.org in fullscreen kiosk mode (no login needed):

./bin/grafana-kiosk --URL https://play.grafana.org --login-method anon --kiosk-mode tv

This will take the browser to a playlist on play.grafana.org in fullscreen kiosk mode (no login needed):

./bin/grafana-kiosk --URL https://play.grafana.org/playlists/play/1 --login-method anon --kiosk-mode tv

Building

A Makefile is provided for building the utility.

make

This will generate executables in "bin" that can be run on a variety of platforms.

TODO

  • Support for OAuth2 logins

References

grafana-kiosk's People

Contributors

briangann avatar geertjohan avatar jortkoopmans avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.