SSH-based OpenZFS monitoring, alerts and guarded storage management for Ubuntu NAS servers.
75
OpenZFS monitoring and storage management for Ubuntu NAS servers.
NASitron is a self-hosted web dashboard that connects to one or more NAS hosts over SSH. Monitor storage and host health, keep historical metrics, receive alerts, and review supported ZFS maintenance actions from one workspace.
Monitoring and diagnostic collection are read-only. Separately authorized maintenance actions can change storage. NASitron does not expose a remote shell or arbitrary command arguments.
Repository: stealthcat128/nasitron
Select an image tag shown on this repository's Tags tab. The release publisher is configured to produce version tags in X.Y.Z format and a latest alias for the current latest stable GitHub release, with linux/amd64 and linux/arm64 builds. Check the selected tag's manifest for its actual available platforms.
Pin a specific version or digest for repeatable deployments.
Use the project's Compose stack. It includes Caddy for HTTPS, keeps NASitron's application port private, and persists application and certificate state.
git clone https://github.com/StealthCat/NASitron.git
cd NASitron
cp .env.example .env
openssl rand -hex 32
Edit .env:
NASITRON_SECRET_KEY to the generated random value. Keep it stable and back it up: it encrypts stored SSH and SMTP secrets.NASITRON_WEB_USERNAME and a unique NASITRON_WEB_PASSWORD of at least 12 characters.To use this Docker Hub image, replace build: . in the nasitron service with image: stealthcat128/nasitron:YOUR_PUBLISHED_TAG, using a real tag from this repository. Keep the rest of the supplied Compose configuration, including its Caddy service and volumes.
docker compose pull
docker compose up -d
Alternatively, leave the Compose file unchanged and build the checked-out source with docker compose up -d --build.
Caddy publishes ports 80/TCP, 443/TCP and 443/UDP by default. NASitron listens on 8080/TCP inside the Compose network; this port is not published by the supplied stack. The initial certificate is issued by Caddy's internal CA. Trust that CA for your management environment, or configure an uploaded certificate or ACME under Settings → TLS Certificate Management.
| Setting | Purpose |
|---|---|
/data | Persistent application state, including SQLite database and SSH known-hosts data. The supplied Compose volume is nasitron_data. |
NASITRON_SECRET_KEY | Required, stable encryption-key material; minimum 32 characters. |
NASITRON_WEB_USERNAME | Required administrator sign-in username. |
NASITRON_WEB_PASSWORD | Required administrator sign-in password; minimum 12 characters. |
NASITRON_TIMEZONE | Display timezone; application default UTC. |
NASITRON_TLS_HOST | Bootstrap/default TLS hostname or IP; default localhost. |
NASITRON_LISTEN_IP | Host bind address for Caddy; default 0.0.0.0. |
NASITRON_HTTP_PORT / NASITRON_HTTPS_PORT | Host HTTP/HTTPS ports; defaults 80 / 443. |
NASITRON_SESSION_TTL_SECONDS | Web-session lifetime; default 43200 seconds. |
The image runs as the non-root nasitron user and includes a /healthz health check. Keep one application process/replica per data directory; the supplied image and Compose stack use WEB_CONCURRENCY=1. Back up the persistent data volume and encryption key together before upgrades. The Compose stack also persists Caddy certificate and account state in caddy_data and caddy_config.
For deployments behind another reverse proxy, use HTTPS and trust forwarded headers only from that proxy. Keep application port 8080 unreachable by untrusted clients. Leave NASITRON_ALLOW_INSECURE_HTTP and NASITRON_ALLOW_INSECURE_MAINTENANCE disabled for normal deployments.
See .env.example and the configuration guide for the full settings.
Prepare each monitored Ubuntu/OpenZFS host using the bundled remote installer. Add Server and Settings → NAS Installer provide the installer download and commands for the current NASitron instance. The installer configures a dedicated SSH account, the root-owned helper and a helper-only sudo policy.
Verify the NAS SSH host-key fingerprint through a trusted channel and enable strict verification after enrollment. Prefer dedicated SSH keys and do not grant unrestricted passwordless sudo. Update the remote helper on each managed NAS when required by an application upgrade.
Content type
Image
Digest
sha256:f000f4bee…
Size
71 MB
Last updated
about 2 hours ago
docker pull stealthcat128/nasitron