Files
rmm-openwrt/server
2026-06-04 15:26:43 +03:00
..
2026-06-04 15:26:43 +03:00

RMM OpenWrt Server

MVP backend for OpenWrt RMM.

Run

go run ./server/cmd/rmm-server

Environment variables:

  • RMM_ADDR - listen address, default :8080
  • RMM_DB_PATH - SQLite database path, default rmm.db
  • RMM_ENROLLMENT_TOKEN - shared enrollment token for MVP, default dev-enroll-token
  • RMM_OPERATOR_TOKEN - operator API bearer token, default dev-operator-token
  • RMM_OPERATOR_USERNAME - web UI username, default admin
  • RMM_OPERATOR_PASSWORD - web UI password
  • RMM_SESSION_SECRET - secret used to sign browser sessions
  • RMM_COOKIE_SECURE - set true behind an HTTPS reverse proxy
  • RMM_WEB_DIR - static web UI directory, default web

Docker Compose

The repository includes a Compose stack with the RMM server and a reverse SSH tunnel sidecar:

docker compose up -d --build

See docs/docker-compose.md for router key installation and remote access setup.

MVP API

Agent API:

  • POST /api/agent/enroll
  • POST /api/agent/heartbeat
  • POST /api/agent/commands/next
  • POST /api/agent/commands/{id}/result

Operator API:

  • GET /api/devices
  • GET /api/devices/{id}
  • POST /api/devices/{id}/commands
  • GET /api/devices/{id}/commands
  • GET /api/devices/{id}/commands/{command_id}
  • POST /api/devices/{id}/commands/{command_id}/cancel
  • GET /api/audit-events

Operator API requests require:

Authorization: Bearer dev-operator-token