Command line
Install the panel on your router from a terminal with install.sh, on Linux, macOS or Windows.
Overview
install.sh is a bash script that installs Nasnet Panel on your MikroTik
router from a terminal. It does everything the
graphical installer
does, and it can also run unattended from a config file. It runs on Linux and
macOS as it is, and on Windows through WSL or Git Bash.
Before you start
- Your computer is connected to the router, preferably with a cable to a LAN
port, not
ether1. - You know the router’s address (usually
192.168.88.1), and a username and password with full rights. - The router meets the requirements in Installation.
- Your computer has
bash,curl,ssh,scp, andsha256sumorshasum. The sections below cover each system.
Steps
Linux
-
Check that the tools are there. Most distributions include them. If
scpis missing, install the OpenSSH client:sudo apt install openssh-clienton Debian and Ubuntu, orsudo dnf install openssh-clientson Fedora. -
Download the script and run it:
curl -fsSLO https://raw.githubusercontent.com/nasnet-community/nasnet-panel/dev/scripts/install.sh bash install.sh -
Continue with Answer the prompts.
macOS
-
Open Terminal. macOS already has every tool the script needs. It uses
shasumin place ofsha256sumautomatically. -
Download the script and run it:
curl -fsSLO https://raw.githubusercontent.com/nasnet-community/nasnet-panel/dev/scripts/install.sh bash install.sh -
Continue with Answer the prompts.
Windows
The script doesn’t run in Command Prompt or PowerShell. Use one of these:
-
WSL (recommended). Open PowerShell as administrator and run
wsl --install, then restart. Open Ubuntu from the Start menu and follow the Linux steps above. -
Git Bash. Install Git for Windows, which includes
bash,curl,sshandscp. Open Git Bash and run:curl -fsSLO https://raw.githubusercontent.com/nasnet-community/nasnet-panel/dev/scripts/install.sh bash install.sh
Then continue with Answer the prompts.
If you’d rather not set up a shell, use the graphical installer.
Answer the prompts
- Enter the Router IP. The script checks Winbox (
8291) and SSH (22), and asks for another port if one doesn’t answer. - Enter the Router user (
adminby default) and Router password. - Follow the output. When the script asks for physical confirmation, press the reset/mode button briefly, or unplug and replug the router.
- When it finishes, renew your DHCP lease and open
http://192.168.10.1:8080/.
Run it unattended
Put the router details in a file and pass it with --config:
cat > router.env <<'EOF'
ROUTER_IP=192.168.88.1
ROUTER_USER=admin
ROUTER_PASS=secret
EOF
bash install.sh --config router.env
To keep the password out of the file, leave out ROUTER_PASS and set SSHPASS
instead:
SSHPASS=secret bash install.sh --config router.env
Uninstall
bash install.sh --uninstall --config router.env
This removes the container, its network settings, the installer’s firewall
rules and the uploaded files. Your LAN stays on 192.168.10.1/24.
Reference
| Flag | What it does | Default |
|---|---|---|
--dry-run |
Prints every action and changes nothing. | Off |
--uninstall |
Removes the container, networking, NAT rules and uploaded files. | Off |
--config <file> |
Reads ROUTER_IP, ROUTER_USER and ROUTER_PASS from a file. |
None |
--version <tag> |
Release to install. snapshot installs the development build. |
Latest release |
--image-tar <path> |
Uses a local image tar instead of downloading one. | None |
--storage <name> |
Disk for the container, or internal. |
Asks when needed |
--lan-port <port> |
LAN port for the panel over HTTP. | 8080 |
--https-lan-port <port> |
LAN port for the panel over HTTPS. | 8443 |
--no-lan-baseline |
Keeps your current LAN instead of moving it to 192.168.10.1/24. |
Off |
--wifi-uplink |
Joins a WiFi network as the router’s internet for the install. | Off |
--wifi-ssid <ssid> |
WiFi network to join, instead of picking from a scan. | None |
--wifi-password <pw> |
WiFi password, instead of the prompt. Also read from WIFI_PASSWORD. |
Asks |
--no-rollback |
Leaves changes in place when the install fails. | Off |
-v, --verbose |
Prints more detail. | Off |
-h, --help |
Shows usage. | None |
Troubleshooting
missing required tool: scp (or ssh, curl). Install the OpenSSH client
or curl for your system, as described in the Linux steps.
bash: install.sh: No such file or directory on Windows. You’re in
PowerShell or Command Prompt. Open WSL or Git Bash and run it there.
The script stops and asks you to use another port. Your computer is plugged
into ether1, which the script needs for the internet connection. Move the
cable to another port and run the script again.