# Offline bundle

> Install on a server with no outbound internet, using the bundle that ships PostgreSQL and Xray-core inside.

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

---

## Overview

For servers that cannot reach the internet, releases include an **offline
bundle** that packages the panel together with a standalone PostgreSQL and the
Xray-core binary, so nothing has to be downloaded at install time. The bundle
carries its own `install.sh` bootstrap script and always deploys in systemd
mode.

## Before you start

- Root access, because the bootstrap script refuses to run as anything else.
- A Linux host with systemd; the bundle is Linux-only and requires `systemctl`.
- The bundle archive for your architecture, copied onto the server.

## Steps

1. Unpack the bundle on the server and run its bootstrap script as root.

   ```bash
   sudo ./install.sh
   ```

2. The script runs its preflight checks, deploys the bundled artifacts and then
   hands over to the setup wizard, which asks the same questions as the
   [guided installer](/en/guides/nasnet-linux/install/installer-script/).

3. To move to a newer bundle later, or to step back after a bad upgrade:

   ```bash
   sudo ./install.sh --update      # update from this bundle
   sudo ./install.sh --rollback    # restore the previous version
   ```

## Reference

| Path or name | What it is |
| ------------ | ---------- |
| `nasnet-panel-offline-linux-<arch>` | The release asset to download |
| `/usr/local/nasnet-panel` | Panel install directory |
| `/usr/local/nasnet-panel/rollback` | Backup of the previous version, used by `--rollback` |
| `/usr/local/nasnet-pgsql` | Bundled PostgreSQL install directory |
| `nasnet-panel` | The panel systemd service |
| `nasnet-postgresql` | The bundled PostgreSQL systemd service |

## Related

- [systemd service](/en/guides/nasnet-linux/install/systemd/)
- [Guided installer](/en/guides/nasnet-linux/install/installer-script/)
