v0.10.0: Phase B — Storage Management UI Polish & Health Severity Fix
- Health severity fix: mount-point check downgraded from issue (FAIL) to warning (WARN) - All storage health messages translated to Hungarian - Success flash messages for all storage operations - Edit storage path labels (inline edit UI + backend) - App details per storage path on settings page (expandable list with names + sizes) - Storage badge on stacks page showing which storage each app uses - Deploy dropdown with free space display and low-space warning (<20%) - Filesystem & disk info on settings page (ext4/btrfs, device, model via findmnt) - Backup page storage context with per-app storage label badges Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
+14
-4
@@ -24,7 +24,7 @@ controller generates secrets, saves app.yaml, runs `docker compose up -d`, and t
|
||||
with Traefik routing and health checks. The dashboard correctly shows real-time container states
|
||||
including health substatus (starting → healthy → running).
|
||||
|
||||
Current version: **v0.7.2**
|
||||
Current version: **v0.10.0**
|
||||
|
||||
### What works
|
||||
- Dashboard with live container state (green/orange/yellow/red)
|
||||
@@ -61,6 +61,12 @@ Current version: **v0.7.2**
|
||||
- Central hub reporting (periodic JSON push to felhom-hub service)
|
||||
- Notification preferences sync to hub (controller → hub on save + startup)
|
||||
- Notification system with email delivery via Resend API (hub relay)
|
||||
- Storage paths registry with auto-discovery, per-app HDD_PATH resolution, and multi-storage support
|
||||
- Storage management UI: add/remove paths, edit labels, set default, toggle schedulable
|
||||
- Per-app storage visibility: storage badges on stacks page, app details per storage path on settings page
|
||||
- Deploy dropdown with free space display and low-space warnings
|
||||
- Filesystem & disk info (ext4/btrfs, device, model) on settings page
|
||||
- Backup page storage context with per-app storage label badges
|
||||
|
||||
### Known issues / next priorities
|
||||
- Cloudflare Tunnel + Traefik TLS: paperless.demo-felhom.eu works locally but shows "Not secure" (certificate chain not fully validated through tunnel)
|
||||
@@ -122,7 +128,9 @@ controller/
|
||||
│ │ ├── info_linux.go # Linux: /proc/meminfo + statfs + loadavg + temperature
|
||||
│ │ ├── info_other.go # Non-Linux stub
|
||||
│ │ ├── cpu_linux.go # CPU collector (background /proc/stat sampling)
|
||||
│ │ └── cpu_other.go # CPU collector stub (non-Linux)
|
||||
│ │ ├── cpu_other.go # CPU collector stub (non-Linux)
|
||||
│ │ ├── mounts_linux.go # Mount point, disk usage, FS info (findmnt, sysfs)
|
||||
│ │ └── mounts_other.go # Non-Linux stubs for mount/disk/FS functions
|
||||
│ ├── monitor/
|
||||
│ │ ├── pinger.go # Healthchecks.io HTTP ping client
|
||||
│ │ └── healthcheck.go # System health checks (disk, mem, CPU, temp, Docker)
|
||||
@@ -151,6 +159,7 @@ controller/
|
||||
│ └── templates/ # go:embed HTML/CSS files (Hungarian UI)
|
||||
│ ├── layout.html, dashboard.html, stacks.html, login.html
|
||||
│ ├── logs.html, deploy.html, app_info.html
|
||||
│ ├── settings.html, backups.html, monitoring.html
|
||||
│ └── style.css
|
||||
├── configs/
|
||||
│ ├── controller.yaml.example # Full config reference (infrastructure only)
|
||||
@@ -171,7 +180,8 @@ controller/
|
||||
| **Config** | `internal/config/` | ✅ Done | Load & validate controller.yaml, env overrides |
|
||||
| **Stacks** | `internal/stacks/` | ✅ Done | Compose operations, scanning, metadata, deploy flow |
|
||||
| **API** | `internal/api/` | ✅ Done | REST endpoints (stacks, deploy, rescan, system info, health) |
|
||||
| **System** | `internal/system/` | ✅ Done | System resource info (RAM, disk, CPU, temperature, load) |
|
||||
| **Settings** | `internal/settings/` | ✅ Done | Persistent settings (password, notifications, storage paths, app backup prefs) |
|
||||
| **System** | `internal/system/` | ✅ Done | System resource info (RAM, disk, CPU, temperature, load, mount points, FS info) |
|
||||
| **Web** | `internal/web/` | ✅ Done | Hungarian dashboard, auth, deploy pages, asset serving |
|
||||
| **Sync** | `internal/sync/` | ✅ Done | Git-based app catalog sync (clone/pull, content-hash copy) |
|
||||
| **Scheduler** | `internal/scheduler/` | ✅ Done | Central job scheduler (periodic + daily, skip-if-running) |
|
||||
@@ -391,7 +401,7 @@ docker compose up -d
|
||||
|
||||
| Node | Hardware | Domain | IP | Status |
|
||||
|------|----------|--------|----|--------|
|
||||
| demo-felhom | Acemagic GK3PLUS N100, 16G RAM, 512G SSD + 1TB HDD | demo-felhom.eu | 192.168.0.162 | ✅ Controller v0.6.0 + Paperless-ngx running |
|
||||
| demo-felhom | Acemagic GK3PLUS N100, 16G RAM, 512G SSD + 1TB HDD | demo-felhom.eu | 192.168.0.162 | ✅ Controller v0.10.0 + Paperless-ngx running |
|
||||
| pi-customer-1 | Raspberry Pi 3B+, 1G RAM, 32G SD | pi-customer-1.local | — | 📲 Not yet tested |
|
||||
|
||||
### First deployment log (Paperless-ngx on demo-felhom)
|
||||
|
||||
Reference in New Issue
Block a user