Files
nasmon/packaging
a.gritsenkoandClaude Opus 5.5 b965d2c9db
build / build (push) Successful in 1m1s
SMB: optional legacy mode (SMB1 + NTLMv1) for old clients
Supermicro BMC virtual media ("CD-ROM image" over a Windows share) only
offers the SMB1 dialect "NT LM 0.12", which Samba rejects with
server min protocol = SMB2. Add an opt-in "Allow legacy clients" SMB
setting that renders server min protocol = NT1 and
ntlm auth = ntlmv1-permitted. Off by default.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 23:59:53 +03:00
..

nasmon

Lightweight NAS health monitor: web dashboard on port 8090 with CPU, memory (incl. ZFS ARC), temperatures, physical disks with SMART, ZFS pools and datasets; periodic SMART/ZFS checks with e-mail alerts.

  • Web UI: http://:8090
  • Settings: http://:8090/settings (also /etc/nasmon/config.json)
  • State: /var/lib/nasmon/nasmon.db (SMART history, alert log)
  • Service: systemctl status nasmon ; journalctl -u nasmon -f
  • JSON API: /api/status, /api/history?hours=24, /api/disks//history?days=30

ZFS datasets from the UI

The ZFS page (http://:8090/zfs) can create datasets in a pool — name (nested names like media/video are fine), owner uid:gid for the mountpoint, compression, optional quota — and destroy datasets that are empty (no data, no children, no snapshots; the check is repeated against the live system before "zfs destroy").

nasmon runs sandboxed (ProtectSystem=strict → own mount namespace), so these commands are executed on the host through transient units: systemd-run --wait --pipe --collect zfs create …. Every action is logged (journalctl -u nasmon).

nasmon has no authentication: keep port 8090 on the LAN only.

SMB / NFS shares from the UI

http://:8090/shares manages Samba shares (guest or per-user, files always written as the data owner uid 1000), SMB users (smbpasswd; a login-less Unix account is created when needed) and NFS exports (host/IP/CIDR clients, rw/ro, squash). A share can point to any existing folder (ZFS dataset, USB disk under /mnt or /media, /srv…) except system directories (/etc, /usr, /var, /boot…), also after resolving symlinks. Definitions are stored in /etc/nasmon/shares.json; nasmon regenerates /etc/samba/smb.conf (whole file, header "Managed by nasmon") and /etc/exports.d/nasmon.exports, validates with testparm, then reloads smbd / exportfs -ra. A rejected config is rolled back to the .bak copy. Daemons are enabled while at least one share exists and disabled otherwise. "Allow legacy clients" in the SMB settings turns on SMB1 + NTLMv1 (server min protocol = NT1) for IPMI/BMC virtual media and other old devices; it is off by default.

Alerts: the × on an open alert acknowledges it (hidden and not mailed until the problem changes or clears); the × on a resolved alert removes it from the log. Resolved alerts older than 7 days are hidden by default, older than 90 days deleted.