# Installation

> Pick an install path from Docker Compose, the guided installer, systemd, release binaries or the offline bundle.

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

---

## Overview

Nasnet Linux is a single Go binary that carries the admin panel, the subscriber
panel and the Telegram bot inside it, so "installing" it means getting one
process running with a `.env` file next to it and a database it can reach.
There are five supported paths and they all end at the same place: the panel
listening on port **9761** and an Xray-core process supervised by it. Start here
to choose, then follow the child page for the path you picked.

## Before you start

- A 64-bit Linux server (`amd64` or `arm64`) with root or `sudo` access.
- One free inbound port for the panel, **`9761`** by default, plus whatever ports
  your proxy inbounds will listen on.
- A domain pointed at the server if you want automatic HTTPS. A bare IP works
  over plain HTTP, but secure cookies need HTTPS.
- Two generated secrets and an admin password hash. Every install path needs
  them, and the guided installer generates them for you.

```bash
# JWT secret, which must be at least 32 characters
openssl rand -hex 32

# Admin panel password hash (bcrypt)
htpasswd -nbBC 10 "" "your-password" | tr -d ':\n' | sed 's/$2y/$2a/'
```

## Steps

1. Decide how you want to run it. If you are unsure, use the
   [guided installer](/en/guides/nasnet-linux/install/installer-script/), which
   installs Docker if it is missing, generates every secret, writes `.env` and
   starts the service.
2. Follow that path's page to the end.
3. Open the panel URL and sign in, as covered in
   [First run and admin sign-in](/en/guides/nasnet-linux/first-run/).

## Reference

| Path | When to pick it | Page |
| ---- | --------------- | ---- |
| Docker Compose | You already run Docker and want to edit the config yourself. Runs app, PostgreSQL 16 and Prometheus together. | [Docker Compose](/en/guides/nasnet-linux/install/docker-compose/) |
| Guided installer | First install, or you want a menu for update, backup and uninstall afterwards. Covers both Docker and systemd. | [Guided installer](/en/guides/nasnet-linux/install/installer-script/) |
| systemd | No Docker on the host; you want the binary managed as a native service. | [systemd service](/en/guides/nasnet-linux/install/systemd/) |
| Release binaries | Manual setup, or you are wiring the panel into your own tooling. | [Release binaries](/en/guides/nasnet-linux/install/binaries/) |
| Offline bundle | The server has no outbound internet access. Ships PostgreSQL and Xray-core inside. | [Offline bundle](/en/guides/nasnet-linux/install/offline-bundle/) |

## Troubleshooting

**The panel URL does not answer.** Check the port is open in both the host
firewall and your provider's network rules, and that `APP_PORT` in `.env`
matches the port you published. The app exposes a readiness probe at
`/health/ready`, where a `200` means the process is up and the problem is in
front of it.

## Related

- [First run and admin sign-in](/en/guides/nasnet-linux/first-run/)
- [TLS and domains](/en/guides/nasnet-linux/tls-and-domains/)
- [Settings](/en/guides/nasnet-linux/settings/)
