Tesserae
Free, open-source dashboard server for e-ink displays. Compose dashboards in a browser, render dithered frames, and push them over MQTT or REST to e-ink panels. Self-hosted, AGPL-3.0, no tracking.
A modern, mobile-friendly dashboard for a TheLinkBox reflector (IRLP, EchoLink and AllStar). It shows who is connected and who is talking, in real time, and has a password-protected admin area to mana
Developer toolsPHP · JavaScriptGitHub @Russell-KV4SOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
A modern, mobile-friendly dashboard for a TheLinkBox reflector (IRLP, EchoLink and AllStar). It shows who is connected and who is talking, in real time, and has a password-protected admin area to manage the reflector from your phone.
Loading the full README.
Read the full README ↗A modern, mobile-friendly dashboard for a TheLinkBox reflector (IRLP, EchoLink and AllStar). It shows who is connected and who is talking, in real time, and has a password-protected admin area to manage the reflector from your phone.
Public page
stnNNNN) and EchoLink stations linked through AllStar show their callsign and city or description, with the node number underneath. Callsigns link to QRZ; IRLP nodes link to their IRLP status page.tlb-notify service (one small file per day under /var/lib/tlb-admin/heard/, kept 1 to 30 days). Talk that comes in over the AllStar link is credited to the AllStar node that keyed up, read from the node's Allmon3 or Allmon2 live feed when its address is set.Admin area (HTTPS only, password protected)
Debian (or similar) with Apache, PHP 7.3 or newer (no extra extensions), and TheLinkBox with tlbcmd at /usr/local/bin/tlbcmd. The admin area only works over HTTPS.
Download the latest release from the Releases page (or clone the repo), then run these as root from its folder. Change the web folder if yours differs.
install -d -o www-data -g www-data /var/www/html/irlp
install -o www-data -g www-data -m 644 irlp/* /var/www/html/irlp/
php set-admin-password.php
set-admin-password.php asks for the admin password (hidden), stores only a hash in /etc/tlb-admin.php, and creates /var/lib/tlb-admin for settings and the audit log. Neither is inside the web folder.
Then open https://your-host/irlp/ for the dashboard and https://your-host/irlp/admin.php for the admin area.
The public page and admin work without this. The service watches tlbcmd users and sends connect/disconnect alerts to the channels you enable.
install -d /usr/local/lib/tlb-dashboard
install -m 644 notifier/tlb-notify.php /usr/local/lib/tlb-dashboard/
install -m 644 notifier/tlb-notify.service /etc/systemd/system/
systemctl daemon-reload
systemctl enable --now tlb-notify
If the web files are not in /var/www/html/irlp, set Environment=TLB_LIB=/path/to/irlp/tlb-lib.php in the service file.
In Admin > Settings, switch on the channels you want and fill in their details (for Telegram, a bot token from @BotFather and your chat ID; for Slack and Discord, a webhook URL; for ntfy, a topic). Save and send test checks each one. Changes apply within a couple of seconds, with no restart. Step-by-step setup for every channel, the webhook format and the browser alerts are in docs/ALERTS.md.
In Admin > AllStar, enter your AllStar node number. The panel and diagram then appear on the main page.
https://example.org/allmon3/. Save and test confirms the live feed was found.The network map is fetched from AllStarLink and cached on your server (the last good copy is shown instantly and refreshed in the background, so a slow or down AllStarLink never slows your page).
This is the beginning of the README. Read the rest at the original. Read the full README ↗