Releases: rosselm/pidash
Release list
v0.1.3
Changed — the shipped service now binds loopback
pidash.service previously listened on 0.0.0.0:8090 in the clear. The API is
unauthenticated and serves the whole journal, the process table and the
container list, so that is not something to speak on the wire. It binds
127.0.0.1:8090 now.
If you were reaching the dashboard at http://<pi>:8090/, that stops working
after this upgrade. Either put a TLS terminator in front of it (see below), or
pass -addr :8090 to restore the previous behaviour on a network you trust.
Added — an HTTPS section in the README
tailscale serve obtains and renews a real Let's Encrypt certificate for the
node's MagicDNS name and proxies to pidash over loopback: no certificate
handling in pidash, nothing published to the internet, nothing to renew by
hand. The trade-off (every client has to join the tailnet) and the alternative
(your own domain, DNS-01 challenge, A record pointing at a private address) are
both written down.
It also documents why that proxy should listen on 8443 rather than 443. If k3s
shares the host, its servicelb installs an iptables DNAT for --dport 443 with
no destination-address match, so every packet to port 443 on any local
address is redirected to Traefik — including the Tailscale address.
tailscaled binds 100.x.y.z:443 successfully and still never receives a
connection. The symptom is a CN = TRAEFIK DEFAULT CERT certificate where a
Let's Encrypt one was expected.
Fixed
install.shreports the address it actually bound, and thetailscale serve
URL when one is configured, instead of printing a LAN URL that will not answer.
Download the binary for your board, make it executable, and run it. No runtime
dependencies — the frontend is embedded in the binary.
curl -LO https://github.com/rosselm/pidash/releases/download/v0.1.3/pidash-linux-arm64
chmod +x pidash-linux-arm64
./pidash-linux-arm64 -addr :8090Then open http://<pi-address>:8090/.
| asset | for |
|---|---|
pidash-linux-arm64 |
Pi 3/4/5 on 64-bit Raspberry Pi OS |
pidash-linux-armv7 |
Pi 2/3/4 on 32-bit Raspberry Pi OS |
pidash-linux-armv6 |
Pi 1 / Zero / Zero W |
pidash-linux-amd64 |
x86-64 Linux — runs, but without vcgencmd there are no throttle flags |
To install it as a systemd service instead, clone the repo and run
./install.sh; that also sets User= to whoever runs it and warns about the
group memberships the service needs (docker, video, adm).
Run pidash -version to confirm what you have, and pidash -h for the flags.
Checksums
5c9a244ae52a9652cd90bbfe2ae40cb110abd1fa63dbe6c72be8620b24a7b0f3 pidash-linux-amd64
c8052b3a97b8a5da88316c75b6746ad25ad154d7ea4d1131fdd0285a7444d7a7 pidash-linux-arm64
c0aa83f5958760c84e0be91edeef9fe213557e08be0600fdddaf5c6b04fa5830 pidash-linux-armv6
1e40837900a328b1c1d0ef9be66ef6dc30206da8ea4d466380d6a3ddcfeae791 pidash-linux-armv7
v0.1.2
Security
- Process command lines are no longer published. The snapshot API is
unauthenticated by design on a trusted LAN, but it was serving fullargv,
which routinely carries credentials as flags — on an ordinary Pi a handful of
the running processes will match--token/--password/--api-key. Only
argv[0]is published now.
-expose-cmdlineopts back in and warns at startup.
Changed
- The journal drawer tails the whole journal by default. It previously
defaulted to two units, one of which is usually silent, so in practice only
one service was ever visible while 30-odd others logged unseen. The drawer
gained a unit picker, built from the units actually seen rather than a list
configured up front.-log-unitsstill narrows it at the source. - The process table is sampled on its own cadence (
-proc-interval,
default 3s) instead of every tick. Walking every/proc/<pid>/statis the
most expensive thing done per sample. Measured over two 60s windows on an
idle Pi 4: 2.07% of one core every tick, 1.48% every third. - Docker stats requests are capped at 4 in flight; the engine holds each one
open for a sampling interval.
Added
- Tests covering the parsing layer at 90-100% per function, including
regressions for two bugs that shipped in earlier versions. - CI on every push:
gofmt,go vet,go test -race, and a build for all
four release targets.
Download the binary for your board, make it executable, and run it. No runtime
dependencies — the frontend is embedded in the binary.
curl -LO https://github.com/rosselm/pidash/releases/download/v0.1.2/pidash-linux-arm64
chmod +x pidash-linux-arm64
./pidash-linux-arm64 -addr :8090Then open http://<pi-address>:8090/.
| asset | for |
|---|---|
pidash-linux-arm64 |
Pi 3/4/5 on 64-bit Raspberry Pi OS |
pidash-linux-armv7 |
Pi 2/3/4 on 32-bit Raspberry Pi OS |
pidash-linux-armv6 |
Pi 1 / Zero / Zero W |
pidash-linux-amd64 |
x86-64 Linux — runs, but without vcgencmd there are no throttle flags |
To install it as a systemd service instead, clone the repo and run
./install.sh; that also sets User= to whoever runs it and warns about the
group memberships the service needs (docker, video, adm).
Run pidash -version to confirm what you have, and pidash -h for the flags.
Checksums
b66c0c2644eeaaf2ec6d9d04cb991d26c4c7f89f5773ae7cd3de036eff7ada21 pidash-linux-amd64
672e9f3767b54ac837e85412275bc964fa89892f5b2868e7f9f0ba6ef097eb74 pidash-linux-arm64
3ec995f64f12a1be7dd8952740e827026ceeed0bef0c92e9eee0cbc2b9c999dc pidash-linux-armv6
f6cc4e0ece318c87f9903a598386917cb858d3e6c788157ae36eca186a72707d pidash-linux-armv7
v0.1.1
Fixed
Three defects found by driving the dashboard in a headless browser for the
first time — none of them visible from reading the source.
- Storage listed the root filesystem three times, as
/,/tmpand
/var/tmp, each reporting the full disk.PrivateTmp=yesin the systemd
unit gives the service private bind mounts of the root device, so this
appeared only when running as a service, never when running the binary by
hand. Filesystems are now deduplicated by device. - Table cells wrapped, breaking
fx-ratesand64.8 MBacross two lines
and doubling those row heights. - Layout voids — short cards left large empty regions next to tall ones,
and the last row was half empty. Rows now stretch and every row fills all
twelve columns.
Added
tools/uicheck.pydrives the running dashboard in headless Chromium and
fails on console errors, horizontal overflow at five widths, cards clipping
their content, wrapped table cells, and a journal drawer that will not open.
Download the binary for your board, make it executable, and run it. No runtime
dependencies — the frontend is embedded in the binary.
curl -LO https://github.com/rosselm/pidash/releases/download/v0.1.1/pidash-linux-arm64
chmod +x pidash-linux-arm64
./pidash-linux-arm64 -addr :8090Then open http://<pi-address>:8090/.
| asset | for |
|---|---|
pidash-linux-arm64 |
Pi 3/4/5 on 64-bit Raspberry Pi OS |
pidash-linux-armv7 |
Pi 2/3/4 on 32-bit Raspberry Pi OS |
pidash-linux-armv6 |
Pi 1 / Zero / Zero W |
pidash-linux-amd64 |
x86-64 Linux — runs, but without vcgencmd there are no throttle flags |
To install it as a systemd service instead, clone the repo and run
./install.sh; that also sets User= to whoever runs it and warns about the
group memberships the service needs (docker, video, adm).
Run pidash -version to confirm what you have, and pidash -h for the flags.
Checksums
89b30221d1b933056d8c14ccf554b6ead2ec9d7923b485cb45014950eb08f06b pidash-linux-amd64
7752677838003a3fe90c83c3107675fb9e2e7e8cc69f885d58606359b28c782c pidash-linux-arm64
5d20085ac1191b3802fa05a4ae620f5ba17afa84792354704858e599f8330f21 pidash-linux-armv6
ef62d90a07fd6723842e9dc4100a0cd4b637096b4fde3b234c632792c1f7ea30 pidash-linux-armv7
v0.1.0
Download the binary for your board, make it executable, and run it. No runtime
dependencies — the frontend is embedded in the binary.
curl -LO https://github.com/rosselm/pidash/releases/download/v0.1.0/pidash-linux-arm64
chmod +x pidash-linux-arm64
./pidash-linux-arm64 -addr :8090Then open http://<pi-address>:8090/.
| asset | for |
|---|---|
pidash-linux-arm64 |
Pi 3/4/5 on 64-bit Raspberry Pi OS |
pidash-linux-armv7 |
Pi 2/3/4 on 32-bit Raspberry Pi OS |
pidash-linux-armv6 |
Pi 1 / Zero / Zero W |
pidash-linux-amd64 |
x86-64 Linux — runs, but without vcgencmd there are no throttle flags |
To install it as a systemd service instead, clone the repo and run
./install.sh; that also sets User= to whoever runs it and warns about the
group memberships the service needs (docker, video, adm).
Run pidash -version to confirm what you have, and pidash -h for the flags.
Checksums
5198bebfb0152694e138474b6ee30ed4593faa6397b62aae5a7f262cce87f4ae pidash-linux-amd64
9d378a4b92b798853a7a6c489c8dc1668a3bafa51670884b229e01fc652d71a5 pidash-linux-arm64
02bd6ed720036a7dcae4c7fcb0dc6a7fdc76499c672dca1052ab19e9b8dd9f74 pidash-linux-armv6
afb284eb33cbe6e4dce4645555675963f149a30a1558703b1f4581a6b30ecf60 pidash-linux-armv7