hamctl

hamctl is a web UI for managing ham radio services on small Linux hosts (Raspberry Pi and similar). It edits each service’s configuration through a generated form, starts and stops the service, shows host stats, and lists recent on-air activity.

It currently handles the AlterFRN (AFRN) gateway client and the Pi-Star digital-voice stack (MMDVMHost and the mode gateways).

Install

curl -fsSL https://hamctl.monocul.us/install.sh | sh

The installer picks the binary for your CPU, checks its SHA-256, and offers to set the admin password, install the AFRN client, and add a systemd unit. Run it again to update in place. See Installation.

How it works

A service is described by a manifest.toml. hamctl reads the manifest and builds the config form from it, so a config-only service can be added without rebuilding. INI files are edited in place: only the values you change get rewritten, and comments and layout are left alone.

The web UI and the manifests are compiled into one static binary, published for x86_64, aarch64, armv7, armv6, i386, and riscv64. A service runs either under hamctl’s own supervisor (which starts it, keeps its logs, and restarts it on failure) or under systemd. The dashboard reports CPU, memory, load, uptime, disks, and SoC temperature, and the Activity page turns the MMDVM log into a last-heard table.

Pages

  • Installation — installing, the home directory, init and upgrade.
  • Configurationhamctl.toml and the manifest schema.
  • Services — AFRN, the Pi-Star stack, and installing payloads.
  • Monitoring — the Activity feed and status cards.
  • Audio Mixer — live ALSA controls under OS Configuration.