nomctl is a single static binary for deploying and operating Zenon Network (NoM) nodes on Debian/Ubuntu. It is a Go port of the bash toolkit at hypercore-one/deployment: a grouped interactive menu and non-interactive commands for automation, no dependency on gum, jq or any other helper.
Documentation: nomctl.0x3639.com
curl -fsSL https://raw.githubusercontent.com/0x3639/nomctl/main/install.sh | sudo bash
sudo nomctl deploy # installs Go, builds znnd, creates and starts the go-zenon service
sudo nomctl status # sync state, peers, pillar production, CPU, memory, disk
sudo nomctl upgrade-node # build, back up and upgrade from source
sudo nomctl upgrade-node --signed # choose a signed node release
sudo nomctl # Manage node, Backups & recovery, Install & upgrade, and moreThen, optionally, sudo nomctl alerts setup for Telegram alerts (send /start to the bot first) and sudo nomctl backup schedule --retention-days 7 for daily local backups. The menu also creates protected restore points, and both node-upgrade paths preserve a matching chain-data/binary restore point before upgrading.
Requirements: Debian or Ubuntu with systemd and apt (Ubuntu 24.04 is the tested target), amd64 or arm64, root, 4 cores and 4 GiB RAM.
- Getting started, the command reference and every
NOMCTL_*variable - Alerts: pairing, rules, Telegram commands, running your own relay
- Troubleshooting and the support bundle
- Differences from the bash toolkit and the roadmap
make build # ./bin/nomctl and ./bin/nomctl-relay for the host platform
make cross # static linux/amd64 and linux/arm64 binaries in ./bin
make test
make lint # gofmt + go vet + golangci-lintReleases are produced by goreleaser on tag push: archives for both architectures, checksums.txt (which install.sh verifies) and the ghcr.io/0x3639/nomctl-relay image. The docs site lives in website/ and deploys to GitHub Pages from main.
The module path is declared in go.mod; make rename NEW=github.com/you/nomctl rewrites it and every import. install.sh takes the GitHub repository slug from NOMCTL_REPO (default 0x3639/nomctl). Source for the docs, design specs and plans is under docs/ and website/.
GPL-3.0, as a derivative of hypercore-one/deployment. See LICENSE.