44%
28.4 GB / 64 GB — ECC OK
18.1 GB
Hit ratio 96.2%
1.4%
CPU 8.2% — 32 vCPU
2
All ONLINE — 0 degraded
14
Running — 0 unhealthy
14d
v11.6.4 — NixOS 24.11
100%
Online — 42 min runtime
storageStorage Pools
storage
tank0
18.0 TB / 26.4 TB — 68%
storage
fast
4.1 TB / 7.3 TB — 56%
deployed_codeRunning Containers
nextcloud
nextcloud:28
running
plex
plexinc/pms:latest
running
jellyfin
jellyfin:10.9
running
immich
immich-server
running
grafana
grafana/grafana:10.4
running
+9 more containers running
hard_driveDisk Health
check_circle
All healthy
8 disks — 0 warnings — 0 critical
Overall Storage Efficiency
22.1 TB
/ 33.7 TB used
65.6% Capacity Used11.6 TB Available
Total Pools
2
check_circleAll Healthy
storage
tank0
raidz2 — 18.0 TB / 26.4 TB (68%)
check_circleONLINE
Compression: lz4
Dedup: off
scrub repaired 0B in 00:12:07 on 2026-05-25
event_repeat
Scrubs Weekly on Sunday at 01:00
expand_more
account_treeDatasets (4)
storage
tank0
/tank0
18.0 TB
used
8.4 TB
avail
lz4
compress
folder
data
12.3 TB
used
8.4 TB
avail
lz4
compress
dataset
media
4.8 TB
used
8.4 TB
avail
off
compress
dataset
backups
0.9 TB
used
8.4 TB
avail
zstd-9
compress
storage
fast
mirror — 4.1 TB / 7.3 TB (56%)
check_circleONLINE
Compression: zstd-3
Dedup: off
scrub repaired 0B in 00:03:22 on 2026-05-25
event_repeat
No automatic scrub scheduled
expand_more
account_treeDatasets (3)
storage
fast
/fast
4.1 TB
used
3.2 TB
avail
zstd-3
compress
dataset
vms
2.6 TB
used
3.2 TB
avail
zstd-3
compress
dataset
docker
1.5 TB
used
3.2 TB
avail
zstd-3
compress
datasetDatasets
| Name | Used | Avail | Compress | Quota | Mount | |
|---|---|---|---|---|---|---|
| tank0 | 18.0 TB | 8.4 TB | lz4 | — | /tank0 | |
| tank0/data | 12.3 TB | 8.4 TB | lz4 | none | /tank0/data | |
| tank0/media | 4.8 TB | 8.4 TB | off | none | /tank0/media | |
| tank0/backups | 0.9 TB | 8.4 TB | zstd-9 | 2 TB | /tank0/backups | |
| fast | 4.1 TB | 3.2 TB | zstd-3 | — | /fast | |
| fast/vms | 2.6 TB | 3.2 TB | zstd-3 | none | /fast/vms | |
| fast/docker | 1.5 TB | 3.2 TB | zstd-3 | none | /fast/docker |
lanNFS Exports
| Export | Client | Options | Status |
|---|---|---|---|
| /tank0/data | 192.168.1.0/24 | rw,sync,no_subtree_check | Active |
| /tank0/media | * | ro,sync | Active |
| /fast/vms | 192.168.1.10 | rw,sync,no_root_squash | Active |
scheduleSnapshots
| Snapshot | Created | Used | Refer |
|---|---|---|---|
| tank0/data@auto-2026-05-25 | 2026-05-25 11:08 | 1.2 GB | 12.3 TB |
| tank0/data@auto-2026-05-24 | 2026-05-24 11:08 | 4.8 GB | 12.1 TB |
| tank0/media@auto-2026-05-25 | 2026-05-25 11:08 | 0 B | 4.8 TB |
| fast/vms@auto-2026-05-25 | 2026-05-25 09:14 | 2.3 GB | 2.6 TB |
| fast/vms@auto-2026-05-24 | 2026-05-24 09:14 | 5.6 GB | 2.5 TB |
| fast/docker@auto-2026-05-25 | 2026-05-25 09:14 | 340 MB | 1.5 TB |
syncReplication Tasks
| Task | Source | Target | Last Run | Status |
|---|---|---|---|---|
| Daily offsite | tank0/data | backup@nas-02:tank0/replica | 2026-05-25 02:00 | Success |
| VM backup | fast/vms | backup@nas-02:fast/vms-replica | 2026-05-25 03:00 | Success |
folder_open
File Explorer
In-browser file browser — complex UI, not demoed
cloud_syncCloud Sync Tasks (rclone)
| Task | Direction | Remote | Local | Schedule | Last run | Status | |
|---|---|---|---|---|---|---|---|
| Photos to B2 | push | b2:my-photos | /tank0/media/photos | Daily 01:00 | Today 01:00 | Success | |
| Docs from GDrive | pull | gdrive:Documents | /tank0/data/gdrive | Hourly | 12:00 | Success |
storageiSCSI Targets
| IQN | Volume | Initiators | Status | |
|---|---|---|---|---|
| iqn.2026-01.com.nas-01:win11 | tank0/vm-win11 | 192.168.1.20 | Active | |
| iqn.2026-01.com.nas-01:ubuntu | fast/vm-ubuntu | 192.168.1.21 | Active |
flash_onNVMe-oF Subsystems
| NQN | Volume | Transport | Hosts | Status | |
|---|---|---|---|---|---|
| nqn.2026-01.com.nas-01:nixos | fast/vm-nixos | TCP :4420 | 192.168.1.22 | Active |
Docker
Containers · Images · Compose Stacks · GPU
deployed_codeTotal
11
play_circleRunning
10
folderStacks
4
lanPorts
14
cloud
nextcloud
:8080
movie
plex
:32400
live_tv
jellyfin
:8096
photo_library
immich
:2283
monitoring
prometheus
:9090
bar_chart
grafana
:3000
router
traefik
:80/:443
lock
vaultwarden
:8081
home_iot_device
home-assistant
:8123
heartbeat
uptime-kuma
:3001
description
paperless
:8000
account_treeGitOps Engine
check_circle
Synchronized
Last sync: 2026-05-25 12:38:04 — commit 4f2a9c1
Repository
git@github.com:4nonX/nas-state.git
Branch
main
HEAD commit
4f2a9c1
Commit message
feat: add uptime-kuma compose
Author
dan <dan@nas-01>
Poll interval
60s
historyRecent Syncs
| Commit | Time | Result |
|---|---|---|
| 4f2a9c1 | 12:38 | OK |
| 3d81b02 | 11:38 | OK |
| 2e04f7a | 10:38 | OK |
| 1c93e84 | Yesterday | OK |
settings_ethernetNetwork Interfaces
| Interface | IP | Speed | TX | RX | Status |
|---|---|---|---|---|---|
| eth0 | 192.168.1.50/24 | 1 Gbps | 12.4 GB | 8.1 GB | UP |
| eth1 | 10.0.0.1/24 | 10 Gbps | 84.3 GB | 71.2 GB | UP |
| lo | 127.0.0.1 | — | — | — | loopback |
Users
Groups
Roles
| Username | Role | Created | Last Login | Actions | |
|---|---|---|---|---|---|
| admin | admin@nas-01.local | admin | 2025-01-15 | Just now | |
| dan | dan@nas-01.local | user | 2025-01-16 | 2026-05-25 21:04 | |
| backup_svc | service account | readonly | 2025-01-15 | 2026-05-26 03:00 | |
| media_rw | service account | user | 2025-02-01 | 2026-05-20 14:32 | |
| readonly | service account | readonly | 2025-03-10 | Never |
Service
Mode
FTPS (explicit TLS)
Port
21
Passive range
60000-60100
Anonymous
disabled
Certificate
nas.example.com
FTP Users
| User | Root | Access |
|---|---|---|
| dan | /tank0/data | rw |
| media_rw | /tank0/media | rw |
| readonly | /tank0/data | ro |
pie_chartQuotas
| Target | Type | Quota | Used | Status |
|---|---|---|---|---|
| tank0/backups | Dataset | 2 TB | 0.9 TB (45%) | OK |
| dan | User | 500 GB | 312 GB (62%) | OK |
| media_rw | User | 200 GB | 198 GB (99%) | Near limit |
admin_panel_settingsACL — tank0/data (NFSv4)
| Principal | Type | Permissions | Flags | |
|---|---|---|---|---|
| admins | group | FULL_SET | fd | |
| dan | user | read_data, write_data, append_data | fd | |
| media_rw | user | read_data, write_data | f | |
| readonly | user | read_data, read_attributes | f | |
| everyone@ | special | none | — |
deployed_codeBlock Volumes (zvol)
| Name | Pool | Size | Block size | Used by | |
|---|---|---|---|---|---|
| tank0/vm-win11 | tank0 | 256 GB | 64K | iSCSI | |
| fast/vm-ubuntu | fast | 128 GB | 64K | iSCSI | |
| fast/vm-nixos | fast | 80 GB | 64K | NVMe-oF |
inventory_2S3 Buckets
| Bucket | Objects | Size | Versioning | ACL | |
|---|---|---|---|---|---|
| nextcloud-primary | 84,201 | 2.1 TB | on | private | |
| immich-photos | 42,880 | 1.4 TB | off | private | |
| paperless-docs | 3,142 | 18 GB | on | private |
backupBackup Tasks
| Task | Source | Destination | Schedule | Last run | Status | |
|---|---|---|---|---|---|---|
| Daily snapshot | tank0/data | tank0/data@auto-* | Daily 11:08 | Today 11:08 | Success | |
| Offsite repl. | tank0 | nas-02:tank0 | Daily 02:00 | Today 02:00 | Success | |
| VM backup | fast/vms | nas-02:fast/vms-replica | Daily 03:00 | Today 03:00 | Success |
science
Sandbox
Isolated test environment for dplaned plugins
lock_openZFS Delegated Permissions
| User/Group | Dataset | Permissions | |
|---|---|---|---|
| backup_svc | tank0 | send, snapshot, hold | |
| dan | tank0/data | snapshot, rollback, clone |
extensionInstalled App Modules
hub
Tailscale
v1.66.0
Zero-config VPN mesh for secure remote access
lock
WireGuard
v1.0.0
WireGuard VPN server with peer management
dns
Pi-hole
not installed
Network-wide ad blocking DNS server
mail
SMTP Relay
not installed
Local SMTP relay for system notifications
usbRemovable Media
| Device | Label | Size | FS | Mount | Actions |
|---|---|---|---|---|---|
| /dev/sdo1 | BACKUP-USB | 2 TB | exFAT | /mnt/usb0 |
Auto-mount
enabled
Mount base
/mnt
Auto-eject on idle
30 min
domainDirectory Service
domain_disabled
Not joined to a domain
Configure LDAP or Active Directory to enable centralized auth
Mode
standalone (local users only)
Kerberos
disabled
LDAP
disabled
Winbind
disabled
Configuration
Domain
not set
DC
not set
Base DN
not set
Bind user
not set
keySSH Authorized Keys
| User | Comment | Type | Fingerprint | Added | |
|---|---|---|---|---|---|
| admin | admin-macbook | ed25519 | SHA256:kY8a...xP3q | 2026-01-14 | |
| admin | admin-workstation | rsa-4096 | SHA256:mN2c...rT7w | 2025-11-02 | |
| dan | dan-laptop | ed25519 | SHA256:pQ4f...vB9j | 2026-02-18 | |
| backup_svc | restic-agent | ed25519 | SHA256:hL6g...nK1s | 2025-09-30 |
Session Policy
Session timeout
30 min idle
Max sessions/user
5
HTTPS only
enforced
HSTS
enabled
Brute-force Protection
fail2ban
active
Ban threshold
5 failures / 10 min
Ban duration
1 hour
Currently banned
203.0.113.44
Two-Factor Auth
MFA
optional
TOTP enrolled
admin, dan
Hardware key (FIDO2)
admin
SSH Daemon
Root login
disabled
Password auth
enabled
Port
22
AllowUsers
admin dan backup_svc
local_fire_departmentFirewall Rules (nftables — input chain)
| # | Proto | Port | Source | Action | Comment | |
|---|---|---|---|---|---|---|
| 1 | tcp | 22 | 192.168.1.0/24 | ACCEPT | SSH LAN only | |
| 2 | tcp | 443 | any | ACCEPT | WebUI HTTPS | |
| 3 | tcp | 445 | 192.168.1.0/24 | ACCEPT | SMB LAN | |
| 4 | tcp | 2049 | 192.168.1.0/24 | ACCEPT | NFS LAN | |
| 5 | tcp | 9000 | 192.168.1.0/24 | ACCEPT | MinIO S3 | |
| * | any | any | any | DROP | default policy |
verified_userTLS Certificates
nas-01.local
nas.example.com
iscsi.nas.example.com
policyAudit Log — HMAC-chained
12:41:03
User login
admin — 192.168.1.10 (web UI)
hmac:sha256:a3f8...c901
11:08:22
Snapshot created
tank0/data@auto-2026-05-25 — by dplaned (scheduler)
hmac:sha256:9c2d...4f17
09:14:50
Replication task completed
tank0/data to nas-02:tank0/replica — 2.3 GB transferred
hmac:sha256:7b1e...d02a
08:00:01
Failed login attempt
user: readonly — 203.0.113.44 (3 attempts)
hmac:sha256:2a9f...88c3
02:00:00
GitOps sync applied
commit 4f2a9c1 — 1 container restarted (uptime-kuma)
hmac:sha256:f04c...311e
Yesterday
Certificate renewed
nas.example.com — Let's Encrypt ACME (auto)
hmac:sha256:b82a...7f5d
tuneSystem Settings
General
Hostname
nas-01
Domain
nas.example.com
Timezone
Europe/Berlin
NTP
pool.ntp.org (synchronized)
UI port
443 (HTTPS)
dplaned Daemon
Version
v11.6.4
PID
1142
Uptime
14d 3h 22m
Build
go1.23.4 linux/amd64
Config
/etc/dplaned/config.toml
upgradeSystem Updates — A/B OTA Slots
Slot A — ACTIVE (booted)
v11.6.4
Slot B — standby
v11.6.3
check_circle
System is up to date
v11.6.4 is the latest stable release. Next scheduled check: 2026-05-26 04:00.
descriptionSystem Logs — journald (dplaned)
12:41:03dplanedINFO WebSocket client connected: 192.168.1.10
12:40:01zfsdINFO scrub_finish pool=tank0 repaired=0 errors=0
12:38:04gitopsINFO sync commit=4f2a9c1 applied=true changed=1
12:38:02gitopsINFO fetch origin/main: new commit 4f2a9c1
11:08:22zfsdINFO snapshot_created dataset=tank0/data name=auto-2026-05-25
09:14:50replicationINFO task=VM backup transferred=2.3GB duration=142s
08:00:01authWARN failed login user=readonly src=203.0.113.44 attempts=3
08:00:01authWARN source 203.0.113.44 added to fail2ban jail
04:12:00scrubINFO scrub_start pool=tank0
03:00:00replicationINFO task=Daily offsite transferred=1.8GB duration=89s
02:00:00gitopsINFO scheduled poll triggered
00:00:00schedulerINFO daily snapshot tasks started
notifications_activeAlerts
warning
tank0 usage above 65%
Current: 68.2%. Alert threshold: 65%. Consider expanding or pruning datasets.
check_circle
All scrubs passed
Last scrub completed 2026-05-25 12:41 with zero errors on all pools.
check_circle
HA cluster healthy
Both nodes reachable. Patroni primary: nas-01. etcd quorum: 2/2.
check_circle
All containers healthy
14 running, 0 unhealthy, 0 restarting.
device_hubHA Cluster
dns
nas-01
Primary — 192.168.1.50
check_circleLeader
dns
nas-02
Standby — 192.168.1.51
Standby
Cluster name
dplaneos-ha
Orchestrator
Patroni + etcd
Fencing
SCSI-3 Persistent Reservations
Replication lag
0 ms
etcd quorum
2/2
Virtual IP
192.168.1.100 (keepalived)
Last failover
never
memoryHardware
CPU
AMD EPYC 7302P — 16C/32T @ 3.0 GHz
RAM
64 GB DDR4 ECC (8x 8 GB) — all banks OK
Motherboard
Supermicro H11SSL-i
HBA
LSI 9300-8i (IT mode)
NIC
Mellanox ConnectX-4 (10GbE)
NVMe slots
2/4 occupied
IPMI
192.168.1.52 — reachable
Chassis temp
32 C — fans: 1200 RPM
monitoringReporting — Last 24 hours
CPU Usage %
00:0012%
04:008%
08:0022%
12:0035%
Now8%
Network Throughput MB/s
00:00180
04:00520
08:00380
12:00240
Now140
Pool I/O (IOPS)
| Pool | Read IOPS | Write IOPS | Read MB/s | Write MB/s | Latency |
|---|---|---|---|---|---|
| tank0 | 142 | 38 | 84 | 22 | 2.4 ms |
| fast | 8420 | 3210 | 1240 | 480 | 0.08 ms |
battery_charging_fullUPS Status
battery_5_bar
Online
APC Smart-UPS 1500
Online — on mains power
Battery charge
100%
Runtime remaining
42 min
Load
38% (570W)
Input voltage
231 V
Battery temp
24 C
Last transfer
No transfers since reset
Shutdown Policy
Shutdown at
5% battery
Shutdown after
5 min on battery
Alert at
20% battery
NUT driver
apcsmart
USB device
/dev/usb/hiddev0
power_settings_newPower Management
Wake / Sleep Schedule
Wake on LAN
enabled
Scheduled wake
06:00 daily
Scheduled sleep
disabled
HDD standby
30 min idle
APM level
128 (balanced)
Actions
devices_otherIPMI / BMC
BMC Status
BMC IP
192.168.1.52
Reachable
yes
Firmware
3.74.08
IPMI version
2.0
Sol console
available
Sensors
CPU temp
48 C
Inlet temp
22 C
Fan 1
1200 RPM
Fan 2
1180 RPM
12V rail
12.03 V
notificationsInotify Watches
| Path | Events | Action | Triggered | |
|---|---|---|---|---|
| /tank0/data/incoming | IN_CREATE, IN_MOVED_TO | restic backup | 142 times | |
| /tank0/media/new | IN_CREATE | notify webhook | 38 times |
max_user_watches
524288
Active watches
2 of 524288
support_agentSupport
Debug Bundle
Export a zip of logs, config (secrets redacted), pool status, and daemon state for filing a bug report.
System Info
Version
v11.6.4
Build
go1.23.4 linux/amd64
NixOS
24.11
Kernel
6.12.28
ZFS
2.2.4-1
Links
apiREST API Explorer
Base URL: https://nas-01/api/v1 — Auth: Bearer token (from Settings > API Keys)
GET
/pools
List all ZFS pools
chevron_right
GET
/datasets
List datasets
chevron_right
POST
/datasets
Create dataset
chevron_right
GET
/docker/containers
List containers
chevron_right
GET
/users
List users
chevron_right
POST
/snapshots
Create snapshot
chevron_right
terminalWeb Terminal — nas-01
DPlaneOS v11.6.4 -- nas-01 -- admin shell
Type is simulated. Read-only demo.
admin@nas-01:~$ zpool status
pool: tank0
state: ONLINE
scan: scrub repaired 0B in 00:12:07 with 0 errors on Sun May 25 12:41:03 2026
config:
NAME STATE READ WRITE CKSUM
tank0 ONLINE 0 0 0
raidz2-0 ONLINE 0 0 0
sda ONLINE 0 0 0
sdb ONLINE 0 0 0
sdc ONLINE 0 0 0
sdd ONLINE 0 0 0
sde ONLINE 0 0 0
sdf ONLINE 0 0 0
errors: No known data errors
admin@nas-01:~$
Type is simulated. Read-only demo.
admin@nas-01:~$ zpool status
pool: tank0
state: ONLINE
scan: scrub repaired 0B in 00:12:07 with 0 errors on Sun May 25 12:41:03 2026
config:
NAME STATE READ WRITE CKSUM
tank0 ONLINE 0 0 0
raidz2-0 ONLINE 0 0 0
sda ONLINE 0 0 0
sdb ONLINE 0 0 0
sdc ONLINE 0 0 0
sdd ONLINE 0 0 0
sde ONLINE 0 0 0
sdf ONLINE 0 0 0
errors: No known data errors
admin@nas-01:~$