Repository navigation
Releases
Releases · Synecho/truenas-snapshot-visualizer
v1.5.0 – delete via settings, protected TrueNAS snapshots
New
- Settings dialog (gear icon, also Edit → Settings…) with Allow deleting snapshots.
Deleting is now switched on in the web UI (stored per browser) – no environment variable needed.
Every deletion still needs the double confirmation. - Snapshots managed by TrueNAS can never be deleted: boot environments (
boot-pool,freenas-boot–
manage them under System → Boot), the system dataset (.system) and the apps datasets (.ix-apps,
ix-applications). They show a 🔒 in the table, cannot be selected, the details panel explains why, and the
server rejects them as well.
Changed
SNAPVIZ_ALLOW_DELETEnow defaults toui(switchable in the settings).falselocks deleting completely,
truekeeps it always on. If you setSNAPVIZ_ALLOW_DELETE: "true"before, nothing changes for you;
you can remove the line and use the settings instead.- Catalog option Allow Deleting Snapshots now defaults to on and means "can be switched on in the web UI";
turning it off locks deleting. - Demo data includes boot environments.
Image
ghcr.io/synecho/truenas-snapshot-visualizer:1.5.0
sha256:193b473fa87fbe38c978cfcfcd9afb75fca4da2e98df6a6c8dd51c7945df3bf9
v1.4.1 – http redirect, clearer delete
Fixed
- Opening
http://no longer shows an empty error page (Firefox:NS_ERROR_NET_EMPTY_RESPONSE).
Since 1.3.0 the web UI uses HTTPS; plain HTTP requests on the same port are now redirected to
https://(308, path and query are kept). - The app shuts down gracefully on
docker stop.
Changed
- Clearer details panel: it leads with "Freed when deleted" and the age, followed by a prominent
Delete snapshot… button. If deleting is not possible (disabled viaSNAPVIZ_ALLOW_DELETE, or the
snapshot has azfs hold) the button is greyed out and the reason is shown. - The
zfs destroycommands were removed from the panel;zfs list/zfs diffmoved into a collapsed
Commands for the TrueNAS shell section. - Double confirmation for deleting: tick "I understand that … will be deleted permanently", then click
Delete twice – the first click arms the button for 5 seconds. Replaces typing the number of snapshots.
Image
ghcr.io/synecho/truenas-snapshot-visualizer:1.4.1
sha256:0f208bc8bd837de7097a16ac973e3558320164439c1afdc09308e036676b9f8c
v1.4.0 – shareable links, search syntax, keyboard shortcuts
New
- Shareable links: the address bar always holds the view, filters, treemap zoom and the selected
snapshot, e.g.#snapshots?ds=tank/vm&age=gt:30&snap=tank/vm@auto-…. Bookmark a view or send it;
opening the link restores everything and opens the snapshot details. Works through the login page too. - Search syntax: the search box understands
>10g,5m..1g,=12g(size in the selected metric),
used>1g,written<100m,ref>2t,age>30d,age:7d..30d,-hourly(exclude),heldand
/regex/. Terms are combined with AND, e.g.tank/vm age>90d >1g. Terms that can't be parsed turn
the box red and are ignored. - Keyboard shortcuts:
?shows an overview (also via the new?button),/search,1–5views,
rreload,Escclose details. Snapshots table:↑/↓orj/k,Home/End,PgUp/PgDn,
Spacemarks a snapshot for deletion. Treemap:Backspacezooms out. - Which files does a snapshot hold? The details panel offers ready-to-copy
zfs diffcommands for the
TrueNAS shell: previous → this snapshot (≈ written) and this → next snapshot or the live dataset
(≈ used, freed by deleting). The TrueNAS API has no diff method, so the app can't run it itself.
Changed
- CI lints JavaScript (Biome) and Python (Ruff) and runs frontend unit tests on every pull request.
- Small fixes found by the linters (e.g. size formatting treats non-numeric values as missing).
Image
ghcr.io/synecho/truenas-snapshot-visualizer:1.4.0
sha256:5c18f4711ee4854722229472940126b37ee0aa197ee8253c11976b5b99a3d5a5
Earlier versions
1.3.0
- HTTPS by default (self-signed certificate, own certificate via
SNAPVIZ_TLS_CERT/SNAPVIZ_TLS_KEY,
SNAPVIZ_TLS=offbehind a reverse proxy) and optional password login (SNAPVIZ_PASSWORD). - TrueNAS system datasets hidden by default (toggle in the filter bar,
SNAPVIZ_EXCLUDE_DATASETS).
1.2.0
- Select snapshots (table checkboxes, Ctrl+click in treemap/timeline, details panel) and delete them
from the UI via Edit → Delete selected snapshots…. Off by default (SNAPVIZ_ALLOW_DELETE);
confirmation dialog, skips held snapshots, warns about the newest snapshot of a dataset, CSRF protection. - Fix: the Copy buttons work over plain HTTP.
1.1.1
- New app icon.
1.1.0
- Middleware socket mode: mount
/var/run/middlewareand the app reads TrueNAS without an API key
(authenticated by the container's UID). Falls back to the API key if the user has no privileges.
1.0.0
- First release: overview, WinDirStat-style cushion treemap, timeline, dataset and snapshot tables,
filters, CSV export, import ofzfs listoutput, demo mode, TrueNAS API (24.10 – 27) with API key,
English and German UI.
v1.3.0 – HTTPS and password login
⚠️ Breaking change: the web UI now uses HTTPS
The web UI is served over HTTPS by default with a self-signed certificate.
After updating, open https://<your-truenas>:<port> and confirm the certificate warning once.
The old http:// address no longer works. Behind a reverse proxy that already terminates TLS,
set SNAPVIZ_TLS: "off".
New
- HTTPS with an automatically generated self-signed certificate (
SNAPVIZ_TLS=auto, default).
Use your own certificate withSNAPVIZ_TLS_CERT/SNAPVIZ_TLS_KEY. SetSNAPVIZ_DATA_DIRto a
writable directory to keep the certificate (and logins) across restarts. - Optional password login (
SNAPVIZ_PASSWORD): login page, signed session cookies
(HttpOnly, SameSite=Strict, Secure, 30 days), 10 failed attempts lock an IP for 10 minutes,
logout button. Strongly recommended together withSNAPVIZ_ALLOW_DELETE. - TrueNAS system datasets are hidden by default (
.system,.ix-apps/docker,
ix-applications/dockerandk3s). Toggle hide system datasets in the filter bar;
patterns viaSNAPVIZ_EXCLUDE_DATASETS.
Changed
- Container healthcheck runs
python -m snapviz.healthcheck(works for http and https). - Catalog form: new options Use HTTPS and Web UI Password; the portal opens via https.
- Image size 117 MB (adds the
cryptographypackage for certificate generation).
Image
ghcr.io/synecho/truenas-snapshot-visualizer:1.3.0
sha256:39d7f2770d086e330ad0686c4647a2bb9b3b47637c1f3c9543ac649e6beb6bd5
Earlier versions
1.2.0
- Select snapshots (table checkboxes, Ctrl+click in treemap/timeline, details panel) and delete them
from the UI via Edit → Delete selected snapshots…. Off by default (SNAPVIZ_ALLOW_DELETE);
confirmation dialog, skips held snapshots, warns about the newest snapshot of a dataset, CSRF protection. - Fix: the Copy buttons work over plain HTTP.
1.1.1
- New app icon.
1.1.0
- Middleware socket mode: mount
/var/run/middlewareand the app reads TrueNAS without an API key
(authenticated by the container's UID). Falls back to the API key if the user has no privileges.
1.0.0
- First release: overview, WinDirStat-style cushion treemap, timeline, dataset and snapshot tables,
filters, CSV export, import ofzfs listoutput, demo mode, TrueNAS API (24.10 – 27) with API key,
English and German UI.