System requirements

What the panel needs to run, what your routers need to be managed, and the ports that have to be open between them.

Last updated Aug 17, 2026View as Markdown

Overview

Nasnet Panel has two sides to check. The host is wherever the container runs, either a Docker host on your LAN or the MikroTik itself. The managed routers are the RouterOS devices the panel talks to. They have separate requirements, and the router-hosted install is the stricter of the two.

If you are installing on a server or a desktop, almost anything current will do: the image is a few megabytes and the binary runs with GOMAXPROCS=1. If you are installing onto the router, read the RAM and device-mode lines carefully, because those are where installs fail.

Where the panel runs

Any Docker host

Requirement Value
Container runtime Docker, or anything that runs an OCI image
Architectures linux/amd64, linux/arm64, linux/arm/v7
Image ghcr.io/nasnet-community/nasnet-panel:latest
Memory ~30 MB free is enough; the image is busybox + musl with a compressed binary
Network Must reach your routers on the LAN, so use --network=host if it cannot
Ports 80 and 443 inside the container, mapped wherever you like (the docs use 8080)

On the router, inside a RouterOS container

Requirement Value
RouterOS v7.x
Packages container installed and enabled
Device mode device-mode container enabled, which needs physical confirmation the first time
Board architecture arm, arm64 or x86_64
Free RAM At least 30 MB
Storage External storage mounted; the installer defaults to disk1/

Enabling container device-mode for the first time is a deliberate, hands-on step: RouterOS asks for a short press of the reset/mode button, or a cold power cycle on boards without one. It cannot be done remotely, so plan the install for a time when someone can touch the device.

On the machine you run the installer from

Only relevant if you use scripts/install.sh rather than the graphical installer.

Requirement Value
Shell tools bash, curl, ssh, scp, and sha256sum or shasum
Reachability The router answering on Winbox 8291 and SSH 22

Supported devices

Routers the panel can manage

Any MikroTik running RouterOS v7 or newer, provided at least one of its management transports is reachable. There is no model whitelist, because the panel talks to RouterOS itself rather than to a particular board.

Device class Supported Notes
MikroTik, RouterOS v7+ Yes The panel’s target. All features assume v7 semantics.
MikroTik, RouterOS v6 No The REST API does not exist, and the v6 configuration model differs.
CHR and x86 RouterOS Yes Treated like any other RouterOS host.
Non-MikroTik routers No Nothing else speaks the RouterOS API.

Boards that can host the panel

Only relevant if you run the panel on the router rather than on a server. The installer detects the board architecture and pulls the matching image.

Board architecture Container image Notes
arm linux/arm/v7 Common on hAP and cAP class boards.
arm64 linux/arm64 hAP ax, Chateau ax, RB5009 and similar.
x86_64 linux/amd64 x86 RouterOS boxes and CHR.

Whatever the architecture, the board also needs the container package, device-mode container enabled, external storage, and at least 30 MB of free RAM. A board that meets the architecture line but not the RAM line will install and then fail to stay running.

What the panel manages

Requirement Value
RouterOS v7 or newer
Transports REST API, RouterOS API on 8728/8729, SSH, or Telnet
Credentials A RouterOS user with rights for what you intend to change

The panel tries the REST API first, falls back to the native RouterOS API, then to SSH or Telnet. You do not have to pick one. You only have to leave at least one of them enabled and reachable.

In the browser

The interface is a React single-page app served by the same process as the API, so it needs a current mainstream browser with JavaScript enabled. There is no separate frontend to deploy and no other origin to allow.

Building from source

Only needed if you are developing the panel rather than running it.

Requirement Value
Node.js 20 or newer
Go 1.26 or newer
Dev ports 3000 for the frontend dev server, 8080 for the backend

Troubleshooting

The container starts and then exits on the router. Free RAM is the usual cause. Check /system/resource/print and stop other containers before retrying, because the panel needs its 30 MB to be actually free rather than merely installed.

The installer stops at the device-mode step. That is RouterOS asking for physical confirmation, not a failure. Press the reset/mode button briefly or power-cycle the router, then run the installer again.

The panel loads but cannot see any router. The container is probably on a bridge network with no route to your LAN. Re-run it with --network=host, or map the panel onto a network that can reach the routers.