Features
NAS Services (9)
| Service | Port | Description |
|---|---|---|
| Samba | 139, 445 | Windows/Mac/Linux file sharing |
| NFS | 2049 | Linux high-speed file access |
| FTP | 21 | vsftpd traditional file transfer |
| WebDAV | 8080 | rclone serve WebDAV, mobile/mount |
| FileBrowser | 8081 | Web file manager (mobile-friendly) |
| S3 API | 9000 | rclone serve s3, auto bucket mapping |
| Fail2ban | - | SSH/FTP brute-force protection |
| UFW | - | Firewall, default deny, visual management |
| Z1 Panel | 8090 | Web management panel (Go binary) |
All native systemd services, no Docker dependency. One file, six protocol access.
Web Panel Modules (11)
| Module | Features |
|---|---|
| Dashboard | System info, CPU/mem/disk usage, disk slot map, pool overview cards, service status |
| Service Mgmt | 9 services start/stop/restart, view logs |
| User Mgmt | User list (service badges/quota/shares), 4-step wizard, groups, permission matrix, login logs, service toggles |
| Storage Mgmt | 4-layer model (Disk→Pool→Volume→Folder), slot map, RAID wizard (goal-oriented), LVM/RAID expansion (SSE), folder CRUD |
| Firewall | Status cards, visual rule add/delete, source IP/notes, service presets, auto-allow SSH |
| Remote Sync | rclone remotes (S3/SFTP/WebDAV/FTP), upload/download tasks, shared dir whitelist, subdir creation, bandwidth/concurrency limits |
| Monitoring | Real-time status, network traffic, top processes, error logs, 4-channel alerts |
| Config Mgmt | Samba shares, FTP whitelist, config file editing, service autostart |
| Backup/Restore | Manual/auto backups, backup list, one-click restore, delete |
| System Settings | Network config, timezone, hostname, SSH config, kernel params |
| Disk Mgmt | Partitions, mount/unmount, format, LVM, I/O performance, SMART details |
Unified Storage
One file, six protocol access:
/data/shared/movie.mp4
├── SMB: \\NAS_IP\shared\movie.mp4
├── NFS: mount NAS_IP:/data/shared
├── FTP: ftp://NAS_IP/shared/movie.mp4
├── WebDAV: http://NAS_IP:8080/shared/movie.mp4
├── Web UI: http://NAS_IP:8090 (panel)
└── S3: s3://shared/movie.mp4 (rclone serve s3)No protocol-based data isolation — all protocols access the same file.
4-Layer Storage Model
Inspired by Synology DSM and TrueNAS:
Physical Disk → Hardware: model/SMART/temp/serial/power-on hours
Storage Pool → Data pool: RAID/LVM, UI hides implementation
Volume → Logical volume: mountpoint/fs/capacity, ready for snapshots/quota/compression
Shared Folder → User object: permissions/recycle bin/quota/protocol toggles- Physical Disk only describes hardware, no md0/vg_nas device names
- Storage Pool may be mdadm or LVM underneath, UI doesn't expose
- Volume is the future mount point for snapshots, quota, compression
- Shared Folder is what users actually use; SMB/NFS/FTP/WebDAV/S3 are its properties
RAID Wizard (Goal-Oriented)
No need to understand RAID. Two steps:
Step 1: Choose Your Goal
| Goal | Description |
|---|---|
| 🛡️ Data Safety | Never lose data |
| 📦 Max Capacity | No space wasted |
| ⚡ Performance | Read/write speed priority |
| ⚖️ Balanced | Capacity + fault tolerance |
Step 2: System Recommends
| Disks | Available | Recommended |
|---|---|---|
| 1 | LVM Single | ★ LVM Single (expandable) |
| 2 | LVM Merge / RAID0 / RAID1 / Independent | ★ RAID1 |
| 3 | + RAID5 | ★ RAID5 |
| 4 | + RAID6 | ★ RAID5 |
Configuration progress via SSE streaming.
Monitoring & Alerts
5-Minute Auto-Collection
| Metric | Details |
|---|---|
| CPU | Usage (dual /proc/stat sampling), model, load |
| Memory | Usage, Swap |
| Disk | Usage, SMART health, I/O performance |
| Network | Traffic stats, connections |
| Services | 9 service status checks |
4-Channel Alerts
| Channel | Config | Notes |
|---|---|---|
| DingTalk | DINGTALK_WEBHOOK | Enterprise bot |
| Telegram | TG_BOT_TOKEN + TG_CHAT_ID | International |
| Bark | BARK_KEY | iOS push |
| SMTP_USER + SMTP_PASS | Fallback |
Remote Sync
rclone-based remote storage sync:
| Feature | Details |
|---|---|
| Remote types | S3-compatible (AWS/MinIO/Alibaba OSS), SFTP, WebDAV, FTP, Local |
| Sync direction | Upload (local→remote) / Download (remote→local) |
| Sync modes | sync (mirror) / copy (incremental) / bisync (bidirectional) |
| Local path whitelist | Restricted to smb.conf configured shared dirs |
| Subdirectory creation | Create subdirs under shared dirs as sync targets |
| Bandwidth limit | Configurable Mbps cap |
| Concurrency | Configurable rclone transfers |
Mobile Support
No native app — PWA + third-party ecosystem:
| Platform | Recommended |
|---|---|
| Official | Web UI responsive + PWA (add to home screen) |
| Android | CX File Explorer / Solid Explorer / FolderSync |
| iPhone | FE File Explorer / Documents / PhotoSync / Infuse |
Requires: SMB/SFTP/WebDAV/HTTPS. iOS Files app supports SMB natively.
System Registry Check
After deployment (or any time via API), the panel runs a 46-item automated health check across 11 categories:
| Category | Items | Checks |
|---|---|---|
| Services | 9 | All 9 systemd services active + enabled |
| Config Files | 10 | smb.conf, exports, nfs.conf, vsftpd.conf, etc. exist and correct |
| Systemd Units | 4 | Custom service files present |
| Binaries | 2 | filebrowser + nas-panel executables |
| Users | 4 | System/Samba/WebDAV/FileBrowser passwords configured |
| State Files | 4 | No stale metadata from previous installs |
| Storage | 6 | No residual LVM PV/VG/LV, RAID arrays, disk signatures |
| Firewall | 1 | UFW enabled |
| Cron Jobs | 2 | Monitor (every 5 min) + Backup (weekly) |
| Directories | 3 | /data, /opt/nas symlink, /var/lib/nas-monitor |
| Packages | 1 | 10 core packages installed |
Access: GET http://<NAS_IP>:8090/api/system/check?action=refresh (public, no auth required)
Planned: System Diagnostics
- Disk Health: SMART short/long self-tests, bad sector scanning, performance benchmarks, lifespan prediction
- RAID Scrubbing: Consistency check with automatic silent data corruption repair
- User Configurable: Per-item enable/disable, custom schedules and time windows, alert notifications on completion
- Status: On roadmap (TODO #28)