tvid is a redirection manager for televisions, lobby displays, status dashboards, and the like, so that you can set all of the displays in your organization to one URL and manage them via the web.
Go to file
2020-03-10 19:44:24 -07:00
bin initial 2020-03-10 10:29:53 -07:00
screenshots add screenshots, update readme 2020-03-10 19:44:24 -07:00
tvid 1.0.0 beta 2020-03-10 19:20:52 -07:00
views 1.0.0 beta 2020-03-10 19:20:52 -07:00
.dockerignore add screenshots, update readme 2020-03-10 19:44:24 -07:00
.gitignore add screenshots, update readme 2020-03-10 19:44:24 -07:00
Dockerfile 1.0.0 beta 2020-03-10 19:20:52 -07:00
LICENSE 1.0.0 beta 2020-03-10 19:20:52 -07:00
Makefile 1.0.0 beta 2020-03-10 19:20:52 -07:00
Pipfile initial 2020-03-10 10:29:53 -07:00
Pipfile.lock initial 2020-03-10 10:29:53 -07:00
README.md add screenshots, update readme 2020-03-10 19:44:24 -07:00
setup.py 1.0.0 beta 2020-03-10 19:20:52 -07:00

tvid

Problem

You want to deploy a bunch of cheap $150 giant TVs to display dashboards and status stuff, but you don't want to image the Raspberry Pis separately or hook up keyboards/mouse.

Solution

Make a single OS image for all your display-driving SBCs that goes to a non-unique URL: this app.

This app lets you set all the kiosk/display TVs in your organization to the same URL. Each will be cookied with a unique ID that will display on each display in big letters, with no preconfiguration required.

Log in to the admin panel (/admin) and enter the URL target for that display, and within 60 seconds, that display will bounce to that URL, or any other time it turns on.

You can reconfigure the target URL at any time, and the next time that display reboots or reloads (you should be rebooting your displays daily) it will get redirected to the new target.

configuration knobs

environment variables

  • set ADMIN_PSK to the admin password (for /admin url)

state storage

  • writes sqlite database into /data, mount that volume somewhere

todo

  • fix CSRF
  • fix FIXMEs
  • fix logging output
  • put git short id into version string
  • make sure cookie expiration is correct
  • sessions maybe
  • configuration in db to support password changes

screenshots

Display ID screen

(This is what gets displayed on a TV. It animates to avoid screenburn.)

screenshot one

Login Page

screenshot two

Admin Panel

screenshot three

license

WTFPL

author

sneak <sneak@sneak.berlin>