# Guided installer

> Let nasnet-tool.sh ask a few questions and set up Docker or systemd for you.

Source: https://joinnasnet.com/en/guides/nasnet-linux/install/installer-script/
Last updated: 2026-08-14

---

## Overview

`nasnet-tool.sh` is an interactive terminal UI that wraps the whole lifecycle of
the panel. On a fresh machine it checks prerequisites, installs Docker if it is
missing, generates your secrets and admin password hash, writes `.env`, and
brings the service up in either **Docker** or **systemd** mode. Afterwards the
same script is your operations menu, covering update, back up, restore, reconfigure and
uninstall all live in it.

## Before you start

- Root or `sudo` on the server.
- Know how the server will be reached: by **IP address** or by **domain name**.
  Domain mode is what enables automatic HTTPS.
- Decide whether something else already terminates TLS in front of the panel
  (nginx, Caddy), and the wizard asks which you want.

## Steps

1. Clone the repository and run the tool with `sudo`, because it may install
   Docker and create system services.

   ```bash
   git clone https://github.com/nasnet-community/nasnet-panel-linux.git
   cd nasnet-panel-linux
   sudo ./nasnet-tool.sh
   ```

2. On a machine with no `.env` yet the tool detects a first run and offers to
   start the installation wizard. Accept it, or pick **Setup Wizard** from the
   main menu.
3. Answer the wizard: how the server is reached (IP or domain), the admin
   username and password (it hashes the password for you), whether a reverse
   proxy is already in front, the deployment mode and the database engine.
4. Let it finish. It prints the panel URL, so open it and sign in.
5. Run `sudo ./nasnet-tool.sh` again any time you need the operations menu.

## Reference

| Menu entry | What it does |
| ---------- | ------------ |
| Setup Wizard | Runs or re-runs the install/reconfigure wizard. |
| Update | Updates the installation; shows how many commits you are behind. |
| Auto-Update (Release) | Pulls a newer build from the project's GitHub Releases. |
| Docker Services / Systemd Services | Start, stop, restart and inspect the service. The entry shown depends on `DEPLOY_MODE`. |
| Database | Backup, restore and database maintenance actions. |
| Monitoring | Monitoring and metrics actions. |
| Security | Security-related actions. |
| Maintenance | Housekeeping actions. |
| Uninstall | Removes the installation. |

The deployment mode you choose is recorded as `DEPLOY_MODE` in `.env` (`docker`
or `systemd`) so every later action behaves correctly. The tool can auto-update
from the `nasnet-community/nasnet-panel-linux` releases; set `GITHUB_TOKEN` in
the environment if you hit GitHub API rate limits.

## Troubleshooting

**The wizard cannot find `systemctl`.** systemd mode requires it. Either switch
to Docker mode at the deployment prompt, or run on a systemd-based distribution.

## Related

- [Docker Compose](/en/guides/nasnet-linux/install/docker-compose/)
- [systemd service](/en/guides/nasnet-linux/install/systemd/)
- [Backup](/en/guides/nasnet-linux/backup/)
