Jump to content

Recommended Posts

Posted

I have to be upfront: I'm not a developer. I'm an ops/observability engineer who knows how to use software to get things done. I know a bit of Go — not much — and I have no formal background in software design. What I do know is what I need, and what was missing. So I built it. Take the code with that in mind.

 

The problem

 

I run a Kobol Helios64 as my home NAS — a five-bay ARM board that's been sitting in a sweet spot between "serious hardware" and "abandoned by its software ecosystem." I tried the usual NAS UIs. They were either too heavy, too opinionated about owning the underlying OS, or simply unmaintained. None of them gave me a clean window into my ZFS pools without dragging in a container runtime, a Node.js server, or a Python daemon alongside them.

I wanted something simple: observe and manage my storage from a browser, on a machine that stays close to a vanilla Armbian or FreeBSD install. No agents, no frameworks, no surprises.

 

What I built

 

dumpstore — a lightweight ZFS management UI written in Go. link: https://github.com/langerma/dumpstore

 

It's a single compiled binary with a bunge of html/js/css/ansible playbooks. No database. No Node. No container runtime.

 

Ansible handles writes (dataset creation, snapshots, user/group management, ACLs)

 

Current features:

  • Pool overview — health, usage, vdev tree, fragmentation
  • Live I/O statistics per pool (SSE-pushed, no polling)
  • S.M.A.R.T. data per disk — temperature, power-on hours, reallocated sectors
  • Dataset browser — collapsible tree, compression, quota, mountpoint
  • Dataset create / edit / delete
  • Snapshot management — list, create (recursive), delete
  • User & group management — create, edit, delete; system users protected
  • ACL management — POSIX and NFSv4, recursive apply supported
  • Prometheus /metrics endpoint (because of course)
  • Runs on Linux (systemd) and FreeBSD (rc.d)
  • Builds with make build && sudo make install — that's it

 

What it is not: a full TrueNAS replacement.

 

SMB/NFS share management, a file browser, and ZFS send/receive are on the roadmap — but I'm building deliberately, one thing at a time.

 

Why Armbian specifically

The Helios64 is the reason this exists. If you're running Armbian on a Helios64, an older ARM server, or any ZFS box where you care about what's actually installed — this was built for you.

 

Feedback welcome

Since I'm not a developer by trade, I'm sure there are things I've done in a way that makes experienced Go or software folks cringe.

Issues, PRs, and honest feedback are very welcome.

 

The code is small enough to be auditable — main.go plus a handful of internal packages.

 

Markus Langer

 

 

 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines