betterNAS/apps/node-agent
2026-04-01 21:06:40 -04:00
..
cmd/node-agent Fix install script: strip v prefix from version for archive name 2026-04-01 21:06:40 -04:00
Dockerfile setup agent runtime requirements (#7) 2026-04-01 00:37:15 -04:00
go.mod init (#5) 2026-03-31 23:50:51 -04:00
go.sum init (#5) 2026-03-31 23:50:51 -04:00
package.json user-owned DAVs (#14) 2026-04-01 20:26:44 -04:00
README.md Add install script, CI workflows, and release pipeline 2026-04-01 20:37:40 -04:00

betterNAS Node Agent

Go service that runs on the NAS machine.

For the scaffold it does two things:

  • serves GET /health
  • serves a WebDAV export at /dav/
  • optionally serves multiple configured exports at deterministic /dav/exports/<slug>/ paths via BETTERNAS_EXPORT_PATHS_JSON
  • registers itself with the control plane and syncs its exports when BETTERNAS_CONTROL_PLANE_URL is configured
  • uses BETTERNAS_USERNAME and BETTERNAS_PASSWORD both for control-plane login and for local WebDAV basic auth

This is the first real storage-facing surface in the monorepo.

The user-facing binary should be distributed as betternas-node.

Install the latest release with:

curl -fsSL https://raw.githubusercontent.com/harivansh-afk/betterNAS/main/scripts/install-betternas-node.sh | sh

Then connect a machine to betterNAS with:

BETTERNAS_USERNAME=your-username \
BETTERNAS_PASSWORD=your-password \
BETTERNAS_EXPORT_PATH=/path/to/export \
BETTERNAS_NODE_DIRECT_ADDRESS=https://your-public-node-url \
betternas-node

If BETTERNAS_CONTROL_PLANE_URL is not set, the node defaults to https://api.betternas.com.