This website requires JavaScript.
9c7848907b
Network sits under Files by default
Mitchell-Johnson and Claude Opus 5
2026-09-27 20:20:49 -07:00
48d3887514
A second download source, for when the first one refuses
Mitchell-Johnson and Claude Opus 5
2026-09-27 20:15:33 -07:00
2f59a54678
A Network tab, with an internet speed test
Mitchell-Johnson and Claude Opus 5
2026-09-27 20:11:03 -07:00
a0987c940f
Twenty login tries before the backoff starts, not five
Mitchell-Johnson and Claude Opus 5
2026-09-27 18:04:23 -07:00
ed64aca63b
An eye on the login form, to see what is being typed
Mitchell-Johnson and Claude Opus 5
2026-09-27 18:03:26 -07:00
179f342a2c
A guest login is a full account with a clock on it
Mitchell-Johnson and Claude Opus 5
2026-09-27 17:53:55 -07:00
8a7167bf03
A guest login: temporary, look-only, revocable
Mitchell-Johnson and Claude Opus 5
2026-09-27 17:23:16 -07:00
4450f1285d
Install under procd, so OpenWrt counts as a host too
Mitchell-Johnson and Claude Opus 5
2026-09-26 17:39:04 -07:00
4e3c817b2a
A Recreate action, and the Updates tab uses the whole window
Mitchell-Johnson and Claude Opus 5
2026-09-26 13:14:18 -07:00
94800b8207
Update from the list that says what is out of date
Mitchell-Johnson and Claude Opus 5
2026-09-26 12:49:32 -07:00
03e0761f3e
Hardware: a Motherboard card
Mitchell-Johnson and Claude Opus 5
2026-09-25 22:21:27 -07:00
38039d1adc
Hardware sits under KVM in the rail
Mitchell-Johnson and Claude Opus 5
2026-09-25 22:02:56 -07:00
776bcb236d
A Hardware tab: what the machine is made of
Mitchell-Johnson and Claude Opus 5
2026-09-25 21:41:40 -07:00
09dc846730
docker: logs follow a held connection, and networks can be removed
Mitchell-Johnson and Claude Opus 5
2026-09-25 21:17:37 -07:00
b8c654b61b
docker: drop the fleet-wide updates list
Mitchell-Johnson and Claude Opus 5
2026-09-25 00:19:12 -07:00
608f0b7005
docker: stack Inspect one property per row
Mitchell-Johnson and Claude Opus 5
2026-09-25 00:17:09 -07:00
639807ff8a
plan: the Docker tab's Dockhand gap is closed; the cutover is homelab work
Mitchell-Johnson and Claude Opus 5
2026-09-24 20:21:06 -07:00
f17a365ea1
stacks: remember where a container's bind mounts pointed
Mitchell-Johnson and Claude Opus 5
2026-09-24 20:19:54 -07:00
192504ead3
docker: the eight things Dockhand did that Ham Lab did not
Mitchell-Johnson and Claude Opus 5
2026-09-24 20:11:36 -07:00
a70f3e2ed2
Container events are Ham Lab's own record, not Docker's short memory
Mitchell-Johnson and Claude Opus 5
2026-09-24 19:55:36 -07:00
b3e1c495f0
Docker: a container's stats, health, events, shell and limits
Mitchell-Johnson and Claude Opus 5
2026-09-24 19:52:00 -07:00
c129f655a7
Reorder the default rail: the machine, then its storage, then what runs on it
v0.1.0-137-gc129f65
Mitchell-Johnson and Claude Opus 5
2026-09-24 19:12:14 -07:00
d8bf5df89f
Fullscreen on Safari, and a fallback where there is none
v0.1.0-136-gd8bf5df
Mitchell-Johnson and Claude Opus 5
2026-09-24 17:51:41 -07:00
e64b0a1727
PLAN: the KVM tab is per machine
Mitchell-Johnson and Claude Opus 5
2026-09-24 17:01:05 -07:00
f3441ae718
The KVM tab is per machine, and follows the machine switcher
v0.1.0-134-gf3441ae
Mitchell-Johnson and Claude Opus 5
2026-09-24 16:58:08 -07:00
70fcf86283
PLAN: the KVM tab shipped
Mitchell-Johnson and Claude Opus 5
2026-09-24 16:43:44 -07:00
823c72122c
A proxied KVM may be framed by the console that proxies it
v0.1.0-132-g823c721
Mitchell-Johnson and Claude Opus 5
2026-09-24 16:42:51 -07:00
fd88c4ff78
A KVM tab: paste an address, get the device's own page
Mitchell-Johnson and Claude Opus 5
2026-09-24 16:39:27 -07:00
e6625a540c
PLAN: the Docker tab's polish and retiring Dockhand are one item
Mitchell-Johnson and Claude Opus 5
2026-09-24 16:15:00 -07:00
66c1ed7d13
PLAN: the Files polish and retiring copyparty are one item
Mitchell-Johnson and Claude Opus 5
2026-09-24 16:13:45 -07:00
384aea79ca
PLAN: the snapshot explorer, and the preview is gone
Mitchell-Johnson and Claude Opus 5
2026-09-24 13:17:25 -07:00
daf33a44b2
The datasets table is a snapshot explorer, and snapshots can be deleted
v0.1.0-127-gdaf33a4
Mitchell-Johnson and Claude Opus 5
2026-09-24 13:16:13 -07:00
c3854bafda
PLAN: schedules are cron jobs, and zfSnap is retired
Mitchell-Johnson and Claude Opus 5
2026-09-24 13:12:17 -07:00
09b7558d44
Snapshot schedules are real cron jobs, written and owned by Ham Lab
v0.1.0-125-g09b7558
Mitchell-Johnson and Claude Opus 5
2026-09-24 13:09:43 -07:00
4dc25fdd13
PLAN: Usage, Jobs and the ZFS tab are done
Mitchell-Johnson and Claude Opus 5
2026-09-24 13:03:38 -07:00
7d0ec5e018
ZFS gets its own tab, with scheduled snapshots and a retention period
v0.1.0-123-g7d0ec5e
Mitchell-Johnson and Claude Opus 5
2026-09-24 13:01:53 -07:00
a07a444170
The Space tab is Usage; the Cron tab is Jobs
Mitchell-Johnson and Claude Opus 5
2026-09-24 12:54:23 -07:00
dfa9e88f5b
PLAN: the KVM tab, as simply as it can actually be built
Mitchell-Johnson and Claude Opus 5
2026-09-24 12:41:58 -07:00
260d5d4880
PLAN: the KVM is a Sipeed NanoKVM at 10.0.0.217 — framing is fine, HTTP is the blocker
Mitchell-Johnson and Claude Opus 5
2026-09-24 12:39:51 -07:00
72c7f45e19
PLAN: to do — a KVM tab, the keyboard-video-mouse kind
Mitchell-Johnson and Claude Opus 5
2026-09-24 12:37:25 -07:00
2e4f3a7fe6
A drive in a pool says which pool, not that nothing is on it
v0.1.0-118-g2e4f3a7
Mitchell-Johnson and Claude Opus 5
2026-09-24 12:11:39 -07:00
e0625be684
The disks box is drives; the net box lets you pick the interface
Mitchell-Johnson and Claude Opus 5
2026-09-24 12:09:39 -07:00
bf0bdd54af
The disks box is this machine's own storage, not a network share
v0.1.0-116-gbf0bdd5
Mitchell-Johnson and Claude Opus 5
2026-09-23 23:16:17 -07:00
9bf60deffc
Retire the Dashboard tab; Processes is the front page
v0.1.0-115-g9bf60de
Mitchell-Johnson and Claude Opus 5
2026-09-23 23:03:49 -07:00
1eb59fd08c
One tab called Processes, showing what Top showed
v0.1.0-114-g1eb59fd
Mitchell-Johnson and Claude Opus 5
2026-09-23 22:58:06 -07:00
e184b4a149
PLAN: seven more to do — tab overlap, two renames, ZFS scheduling, virtualization, Files polish
Mitchell-Johnson and Claude Opus 5
2026-09-23 21:38:19 -07:00
363ff02bda
Drop the external demo: the Widgets tab is the demo
v0.1.0-112-g363ff02
Mitchell-Johnson and Claude Opus 5
2026-09-23 20:17:22 -07:00
b5454c1022
Public downloads: the installer and the updater come from Gitea releases, no token
v0.1.0-111-gb5454c1
Mitchell-Johnson and Claude Opus 5
2026-09-23 18:59:42 -07:00
1599ac65ef
PLAN: the updater shipped; what is left is where a public download lives
v0.1.0-110-g1599ac6
Mitchell-Johnson and Claude Opus 5
2026-09-23 14:33:20 -07:00
68bf3bb218
An updater: what is published on Gitea, and installing it from Settings
Mitchell-Johnson and Claude Opus 5
2026-09-23 14:31:32 -07:00
98a8de8091
PLAN: to do — deprecate copyparty, deprecate Dockhand
Mitchell-Johnson and Claude Opus 5
2026-09-23 11:32:52 -07:00
ad88a48c01
space: the diff's clock runs inside sudo, so zfs is killed too
Mitchell-Johnson and Claude Fable 5.1
2026-09-23 01:19:19 -07:00
314a021a3e
space: zfs diffs run side by side, give up after four minutes, and die properly
Mitchell-Johnson and Claude Fable 5.1
2026-09-23 01:13:05 -07:00
53d1da08a5
Space keeps its scans and refreshes them: zfs diff, folder mtimes, resume after cancel
Mitchell-Johnson and Claude Fable 5.1
2026-09-23 00:43:30 -07:00
c96d6facad
PLAN: Space scans a disk or a pool, from a dropdown
Mitchell-Johnson and Claude Fable 5.1
2026-09-22 20:28:00 -07:00
8f77cc23e1
Space: the picker itself — pools with layout and members, then disks on their own
Mitchell-Johnson and Claude Fable 5.1
2026-09-22 20:27:20 -07:00
e9fa21768e
Space: the unit is a disk on its own or a ZFS pool as a whole, picked from a dropdown
Mitchell-Johnson and Claude Fable 5.1
2026-09-22 20:26:03 -07:00
4280b2226a
Top: a hyper-thread wears its core's temperature, and the columns line up
Mitchell-Johnson and Claude Fable 5.1
2026-09-22 20:22:54 -07:00
41e63f74e9
space: 32-bit builds — stat fields are int32 there
Mitchell-Johnson and Claude Fable 5.1
2026-09-22 20:19:19 -07:00
fc5236471e
Space: what is using a disk, WizTree-style
Mitchell-Johnson and Claude Fable 5.1
2026-09-22 20:18:36 -07:00
7e3e916f25
Arrange the rail: drag pages into your own order, kept with the account
Mitchell-Johnson and Claude Fable 5.1
2026-09-22 19:59:25 -07:00
b8ea7abcc7
A × closes a detail pane on a wide screen: Docker, Services, Cron
Mitchell-Johnson and Claude Fable 5.1
2026-09-22 19:52:35 -07:00
027a2a575c
A Users tab: own password, sessions and accounts in one place
Mitchell-Johnson and Claude Fable 5.1
2026-09-22 19:45:01 -07:00
2b54a06821
Users, with their own settings, and a list of where each is signed in
Mitchell-Johnson and Claude Fable 5.1
2026-09-22 18:20:30 -07:00
db214ebc2b
PLAN: to do — users, with their own settings
Mitchell-Johnson and Claude Opus 5
2026-09-22 17:36:53 -07:00
e558ca7ace
PLAN: to do — a public download page and an updater that uses it
Mitchell-Johnson and Claude Opus 5
2026-09-22 16:47:34 -07:00
4b255fe63f
A drive is a drive: NVMe namespaces fold into their controller
Mitchell-Johnson and Claude Opus 5
2026-09-22 09:11:03 -07:00
5761ee09db
BUGS: note the one Firefox console line that is navigation, not a fault
Mitchell-Johnson and Claude Opus 5
2026-09-22 00:11:37 -07:00
5412e316de
A live socket stays with the machine it was opened for
Mitchell-Johnson and Claude Opus 5
2026-09-21 23:53:18 -07:00
3c7e46104c
Bug bash 5: the URL, the fleet loop, and an empty card
Mitchell-Johnson and Claude Opus 5
2026-09-21 23:26:36 -07:00
a7b8319974
Disks: the SMART table stays inside its card
Mitchell-Johnson and Claude Opus 5
2026-09-21 21:09:43 -07:00
dbfe163a75
A machine is titled by its own hostname, and follows a rename
Mitchell-Johnson and Claude Opus 5
2026-09-21 17:04:17 -07:00
ec94cb8bff
Top: a graph's past holds still — columns draw the peak of their own fixed slice of history
Mitchell-Johnson and Claude Fable 5.1
2026-09-21 10:54:30 -07:00
be0f2a5aaf
The hub keeps every machine's sampling rate and history window in step
Mitchell-Johnson and Claude Fable 5.1
2026-09-21 10:14:23 -07:00
668e716601
Top wears the skin; the refresh rate reaches every machine; bug bash 4
Mitchell-Johnson and Claude Fable 5.1
2026-09-21 10:12:45 -07:00
ef3dbdf543
Top: a long CPU model keeps to its line
Mitchell-Johnson and Claude Opus 5
2026-09-20 23:54:33 -07:00
0587f50142
A Top tab: the whole machine on one screen, in btop's style
Mitchell-Johnson and Claude Opus 5
2026-09-20 23:52:29 -07:00
b8eb4f5d40
Services, Docker and Cron fill the window when nothing is selected
Mitchell-Johnson and Claude Opus 5
2026-09-20 20:08:09 -07:00
04dd98e2cd
Settings: one window for how far back every graph reaches, 1 minute to 24 hours
Mitchell-Johnson and Claude Opus 5
2026-09-20 19:07:55 -07:00
885b050d02
The Monitors tab is called Dashboard again
Mitchell-Johnson and Claude Opus 5
2026-09-20 18:29:09 -07:00
1e992ca1eb
Stacks: Duplicate, Labels and Network in the form, task verdict badges, a short Where; Cancel really cancels
Mitchell-Johnson and Claude Fable 5.1
2026-09-20 13:12:54 -07:00
a229f2b597
Dialogs scroll inside themselves on a phone: nothing squeezed, clear of the status bar, buttons pinned
Mitchell-Johnson and Claude Fable 5.1
2026-09-20 12:43:23 -07:00
a446a03b7d
Bug bash 3: solid HUD dialogs, remote stacks deployed from the hub's shell, stopped-on-purpose is not down, the New stack dialog keeps what you typed
Mitchell-Johnson and Claude Fable 5.1
2026-09-20 12:30:15 -07:00
634e286796
Docker: delete volumes nothing uses, prune anonymous ones; images marked in use, remove unused
Mitchell-Johnson and Claude Fable 5.1
2026-09-20 08:01:57 -07:00
c017b422d5
Docker: new stacks and containers, stack down/delete, container remove, image pull/remove/prune
Mitchell-Johnson and Claude Fable 5.1
2026-09-20 07:50:43 -07:00
df6c1dcebf
Login: no title under the logo — the logo has the name (it is the image's alt text now)
Mitchell-Johnson and Claude Fable 5.1
2026-09-19 19:43:44 -07:00
3a882e2d84
New app icon and login logo: the HamLab penguin
Mitchell-Johnson and Claude Fable 5.1
2026-09-19 19:41:47 -07:00
1d48267d90
Stacks: remote stacks editable from the hub, .env editing, deploy diff, image update checks; a gone container says so
Mitchell-Johnson and Claude Fable 5.1
2026-09-19 16:42:54 -07:00
eddba4250b
Bug bash 2: 11 bugs in Stacks, Alerts, Docker, skins and the installer, fixed and verified (BUGS.md)
Mitchell-Johnson and Claude Fable 5.1
2026-09-19 15:59:51 -07:00
9c4f9dfa9f
Docker: a Stacks section — edit a compose file, validate, deploy; fix the sideways scroll on phones
Mitchell-Johnson and Claude Fable 5.1
2026-09-19 15:23:50 -07:00
08fb9d6e38
container.<name>.down: should be up and isn't — not merely stopped; the default alert watches that
Mitchell-Johnson and Claude Fable 5.1
2026-09-19 15:10:17 -07:00
cb1617c2b8
Alerts tab, Docker tab, nine new skins including HUD, a colour for every machine
Mitchell-Johnson and Claude Fable 5.1
2026-09-19 15:07:15 -07:00
63fcba6077
Rail: an outline clock for Cron instead of the ⏱ emoji
Mitchell-Johnson and Claude Fable 5.1
2026-09-19 12:06:15 -07:00
4542fa6c99
installer messages fit 80 columns
Mitchell-Johnson and Claude Fable 5.1
2026-09-19 11:14:16 -07:00
d9470bbfe1
install.sh: every line fits 80 columns; the closing card is a tidy table
Mitchell-Johnson and Claude Fable 5.1
2026-09-19 11:13:27 -07:00
3c0c504e35
README: the public install one-liner
Mitchell-Johnson and Claude Fable 5.1
2026-09-19 10:57:31 -07:00
e75fa0d759
install.sh: an interactive installer — user, address, HTTPS, firewall, password — that still runs unattended; make publish
Mitchell-Johnson and Claude Fable 5.1
2026-09-19 10:56:42 -07:00
a838adcb27
Machine menu shows each machine's address instead of its load
Mitchell-Johnson and Claude Fable 5.1
2026-09-19 10:45:24 -07:00
d3f2a83249
Terminal: Ctrl+C copies a selection (else ^C), Ctrl+V pastes, over http too; drop Log out everywhere
Mitchell-Johnson and Claude Fable 5.1
2026-09-19 10:44:17 -07:00
d7ed4d8549
Quality of life: in-app dialogs, selections in the URL, editable widgets, token dialog, gallery search, status history, stream errors that say why, tab reordering and shortcuts, log out everywhere
Mitchell-Johnson and Claude Fable 5.1
2026-09-19 10:34:59 -07:00