NASitron

Setup

Install from Docker Hub

Run the published NASitron 1.0.4 image with Docker Compose and HTTPS.

1. Prepare your dashboard host

Install Docker Engine, the Docker Compose plugin, curl and OpenSSL on a Linux host. The image supports linux/amd64 and linux/arm64. The dashboard must reach your Ubuntu OpenZFS NAS hosts over SSH; the NAS hosts need HTTPS access to the dashboard during enrollment.

This guide pins stealthcat128/nasitron:1.0.4. The latest tag is also published, but a version pin keeps updates explicit. View Docker Hub tags ↗

2. Download the Compose stack

For a fresh installation, run:

mkdir -p nasitron/deploy
cd nasitron
curl -fsSL https://nasitron.bobcronin.com/downloads/nasitron/docker-compose.yml -o docker-compose.yml
curl -fsSL https://nasitron.bobcronin.com/downloads/nasitron/env.example -o .env
curl -fsSL https://nasitron.bobcronin.com/downloads/nasitron/deploy/Caddyfile.bootstrap -o deploy/Caddyfile.bootstrap
chmod 600 .env
openssl rand -hex 32

Review the files before starting: Compose file, environment template, and Caddy bootstrap configuration. They follow the application’s 1.0.4 release; the Compose file uses the published image in place of the source build.

3. Configure credentials and ports

Edit .env. Set NASITRON_SECRET_KEY to the OpenSSL output, choose your initial NASITRON_WEB_USERNAME and a unique NASITRON_WEB_PASSWORD of at least 12 characters, and set NASITRON_TLS_HOST to your dashboard hostname or IP without a URL scheme. Set NASITRON_TIMEZONE to your IANA timezone.

Keep the secret key stable and back it up: it encrypts saved SSH and email secrets. Keep .env private. Initial credentials seed the first administrator; later account changes belong in Users.

Caddy binds host ports 80 and 443 by default. If they are occupied, change NASITRON_HTTP_PORT and NASITRON_HTTPS_PORT before starting. NASITRON_LISTEN_IP controls the bind address. NASitron’s port 8080 remains private inside the Compose network.

4. Pull and start

docker compose config --quiet
docker compose pull
docker compose up -d
docker compose ps
docker compose logs --tail=100 nasitron caddy

Open https://YOUR-DASHBOARD-HOST and sign in. Include your chosen HTTPS port in the URL if it differs from 443. The product website address is not your dashboard address.

5. Configure HTTPS and enroll your NAS

Caddy starts with its internal certificate authority. Trust that CA on your clients, or configure ACME/uploaded certificates in Settings → HTTPS. Public ACME requires the hostname to resolve to the dashboard host and the validation ports to be reachable.

Open Add Server, copy its one-time enrollment command and run it on the NAS with sudo. Use the exact generated command, including checksum verification for internal-CA deployments. Confirm registration and a fresh collection. See the enrollment guide.

Switch an existing source installation

Back up the deployment configuration, secret key, NASitron data and Caddy state first. Stay in the same existing checkout/deployment directory and retain its Compose project name, environment and volumes. Do not run the fresh-install download commands over your existing .env.

In your existing docker-compose.yml, replace only build: . under the nasitron service with image: stealthcat128/nasitron:1.0.4. Retain your other settings and mounts, then run:

docker compose config --quiet
docker compose pull nasitron
docker compose up -d --no-build
docker compose ps

Use Servers → Upgrade Server to update each existing NAS helper, then poll and refresh storage inventory. Creating a different Compose project can attach new empty volumes instead of your existing data.

Updates and persistence

Before updating, follow the backup guide. Select a verified published version, update the image: tag in Compose, then pull and recreate the service as above. Do not use git pull or --build to update the Docker Hub image.

Application state is in nasitron_data; Caddy state is in caddy_data and caddy_config. Preserve all three plus your deployment files and stable secret key. Do not use docker compose down -v unless you intend to delete those volumes.

Source reference

Read the upstream documentation ↗

Reviewed against main on November 1, 2026. Interface labels and capabilities can change.