2020-03-10 13:44:28 +00:00
|
|
|
# tvid
|
|
|
|
|
2020-03-11 02:38:40 +00:00
|
|
|
## Problem
|
2020-03-10 13:44:28 +00:00
|
|
|
|
2020-03-11 02:38:40 +00:00
|
|
|
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.
|
2020-03-10 13:44:28 +00:00
|
|
|
|
2020-03-11 01:52:30 +00:00
|
|
|
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
|
|
|
|
|
2020-03-10 13:44:28 +00:00
|
|
|
# todo
|
|
|
|
|
2020-03-11 01:52:30 +00:00
|
|
|
* fix CSRF
|
|
|
|
* fix FIXMEs
|
|
|
|
* fix logging output
|
|
|
|
* put git short id into version string
|
2020-03-11 02:38:40 +00:00
|
|
|
* 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](/sneak/tvid/raw/branch/master/screenshots/1.png)
|
|
|
|
|
|
|
|
## Login Page
|
|
|
|
|
|
|
|
![screenshot two](/sneak/tvid/raw/branch/master/screenshots/2.png)
|
|
|
|
|
|
|
|
## Admin Panel
|
|
|
|
|
|
|
|
![screenshot three](/sneak/tvid/raw/branch/master/screenshots/3.png)
|
2020-03-11 01:52:30 +00:00
|
|
|
|
|
|
|
# license
|
|
|
|
|
|
|
|
WTFPL
|
2020-03-10 13:44:28 +00:00
|
|
|
|
|
|
|
# author
|
|
|
|
|
|
|
|
sneak <[sneak@sneak.berlin](mailto:sneak@sneak.berlin)>
|