Files
zmb-webui/DEVLOG.md
T
Claude Code 6d74d874b6 ZMB Webui: Complete Project – Rebrand & Initial Clean Commit
ARCHITECTURE
============
Backend: FastAPI + uvicorn (port 8000)
  - JWT authentication with PAM system users
  - ZFS CLI wrapper with caching (30-60s TTL)
  - WebSocket pool status broadcaster (30s interval)
  - Services: auth, zfs_runner, file_manager, shares, identities, system_info
  - Routers: pools, datasets, snapshots, shares, identities, navigator, system

Frontend: Next.js 15 + TypeScript (static export)
  - Incremental Static Regeneration (ISR) for weak hardware
  - Type-safe API client (lib/api.ts)
  - Dark mode + custom Tailwind theme
  - Pages: Dashboard, Login, Snapshots, Datasets, Shares, etc.

DEPLOYMENT
==========
Test Target: 192.168.1.179:8090 (Debian LXC)
Production: 10.66.120.3:9090 (Raspberry Pi 4GB ARM64)
Updater: Automated Gitea-based deployment (update-test.sh, update-pi.sh)

FEATURES COMPLETED
==================
Phase 3a: Dashboard Quick Stats (System, CPU, Memory, Storage)
  - Real-time stats with color-coded progress bars
  - Responsive grid layout (mobile: 1, tablet: 2, desktop: 4 columns)
  - ISR-optimized for fast loads on weak hardware

REBRANDING
==========
Renamed throughout:
  - Project: 'ZFS Manager' → 'ZMB Webui'
  - Services: 'zfs-manager' → 'zmb-webui'
  - Systemd units: zfs-manager-backend → zmb-webui-backend
  - Configuration files and documentation

Co-Authored-By: Patrick <patrick@perlbach24.de>
2026-04-22 00:43:05 +02:00

774 lines
15 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# cockpit_new Dev Log
## 2026-04-14 17:33 21:45 (4h 12m)
**Beschreibung:** Claude Code Session
**Projekt:** spesenapp
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-14 21:49 21:51 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** cockpit_new
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-14 21:51 21:53 (2m)
**Beschreibung:** Claude Code Session
**Projekt:** cockpit_new
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-14 21:55 22:01 (6m)
**Beschreibung:** Claude Code Session
**Projekt:** cockpit_new
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-14 22:46 23:09 (23m)
**Beschreibung:** Claude Code Session
**Projekt:** backend
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-14 23:10 23:13 (3m)
**Beschreibung:** Claude Code Session
**Projekt:** cockpit_new
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-15 09:51 09:53 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** frontend
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-15 09:58 09:59 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** cockpit_new
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-15 10:01 10:02 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** cockpit_new
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-15 10:03 10:19 (16m)
**Beschreibung:** Claude Code Session
**Projekt:** cockpit_new
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-15 10:19 10:24 (4m)
**Beschreibung:** Claude Code Session
**Projekt:** cockpit_new
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-15 10:25 10:25 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** cockpit_new
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-15 10:31 10:35 (4m)
**Beschreibung:** Claude Code Session
**Projekt:** cockpit_new
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-15 16:24 16:26 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** frontend
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-15 16:27 16:29 (2m)
**Beschreibung:** Claude Code Session
**Projekt:** cockpit_new
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-15 16:33 16:34 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** cockpit_new
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-15 16:34 16:35 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** cockpit_new
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-15 16:36 16:37 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** cockpit_new
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-15 16:39 16:40 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** cockpit_new
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-15 16:41 16:53 (11m)
**Beschreibung:** Claude Code Session
**Projekt:** cockpit_new
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-15 16:54 17:03 (9m)
**Beschreibung:** Claude Code Session
**Projekt:** cockpit_new
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-15 17:04 17:05 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** cockpit_new
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-15 17:06 17:06 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** cockpit_new
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-15 17:08 17:12 (4m)
**Beschreibung:** Claude Code Session
**Projekt:** cockpit_new
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-15 17:16 17:17 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** cockpit_new
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-15 22:21 22:23 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** cockpit_new
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-15 22:25 22:26 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** cockpit_new
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-15 22:28 22:39 (11m)
**Beschreibung:** Claude Code Session
**Projekt:** cockpit_new
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-15 22:41 22:47 (6m)
**Beschreibung:** Claude Code Session
**Projekt:** cockpit_new
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-15 22:48 22:48 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** cockpit_new
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-15 23:30 23:32 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** frontend
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-15 23:34 23:36 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** cockpit_new
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-15 23:37 23:37 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** cockpit_new
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-15 23:39 23:39 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** cockpit_new
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-15 23:42 23:44 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** cockpit_new
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-15 23:44 23:50 (6m)
**Beschreibung:** Claude Code Session
**Projekt:** cockpit_new
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-15 23:53 23:55 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** cockpit_new
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-16 00:01 00:01 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** cockpit_new
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-16 00:02 00:02 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** cockpit_new
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-16 00:02 00:02 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** cockpit_new
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-18 20:02 20:04 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** backend
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-18 20:10 20:10 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** cockpit_new
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-18 20:14 20:15 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** cockpit_new
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-18 20:16 20:16 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** cockpit_new
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-18 20:18 20:18 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** cockpit_new
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-18 20:18 20:19 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** cockpit_new
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-18 20:20 20:20 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** cockpit_new
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-18 20:20 20:21 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** cockpit_new
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-21 15:19 15:19 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** cockpit_new
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-21 22:25 22:26 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** cockpit_new
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-21 22:28 22:30 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** cockpit_new
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-21 22:35 22:36 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** cockpit_new
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-21 22:44 22:45 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** cockpit_new
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-21 22:46 22:47 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** cockpit_new
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-21 23:34 23:35 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** cockpit_new
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-21 23:35 23:38 (2m)
**Beschreibung:** Claude Code Session
**Projekt:** cockpit_new
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-21 23:43 23:43 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** cockpit_new
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-21 23:44 23:44 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** cockpit_new
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-22 00:07 00:07 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** zmb-webui
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-22 00:17 00:17 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** zmb-webui
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-22 00:22 00:22 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** zmb-webui
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-22 00:25 00:26 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** zmb-webui
### Commits
- 5f78e88 Initial commit: ZMB Webui Phase 3a - Dashboard, Backend APIs, Frontend with ISR
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-22 00:27 00:29 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** zmb-webui
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-22 00:30 00:32 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** zmb-webui
### Commits
- 87063ee Add Gitea-based updater scripts for automated deployments
### Geänderte Dateien
- deploy/update-from-gitea.sh | 195 ++++++++++++++++++++++++++++++++++++++++++++
- update-pi.sh | 3 +
- update-test.sh | 3 +
---
## 2026-04-22 00:33 00:37 (4m)
**Beschreibung:** Claude Code Session
**Projekt:** zmb-webui
### Commits
- 7226905 Improve updater: better SSH handling and file existence checks
- 17e073b Fix Next.js 15 export: use build output instead of removed 'npm run export'
### Geänderte Dateien
- deploy/update-from-gitea.sh | 20 +++++++++++---------
---
## 2026-04-22 00:38 00:38 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** zmb-webui
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- deploy/update-from-gitea.sh | 20 +++++++++++---------
---
## 2026-04-22 00:39 00:40 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** zmb-webui
### Commits
- 36da798 Rebrand: Replace 'ZMB Webui' with 'ZMB Webui' throughout project
### Geänderte Dateien
- BACKEND_COMPLETE.md | 2 +-
- CLAUDE.md | 4 +--
- DEPLOYMENT.md | 2 +-
- DEPLOYMENT_MATRIX.md | 2 +-
- DEPLOYMENT_PI.md | 2 +-
- DEVLOG.md | 58 ++++++++++++++++++++++++++++++++++++++++
- INSTALL_GUIDE.md | 2 +-
- LXC_QUICKSTART.md | 2 +-
- PHASE1_SUMMARY.md | 2 +-
- PHASE_3A_COMPLETE.md | 2 +-
- PROXMOX_LXC_SETUP.md | 4 +--
- PROXMOX_QUICKSTART.md | 2 +-
- SESSION_SUMMARY_2026-04-18.md | 2 +-
- TEST_PLAN.md | 2 +-
- TEST_RESULTS.md | 2 +-
- backend/README.md | 2 +-
- backend/check_system.sh | 4 +--
- backend/install.sh | 4 +--
- backend/main.py | 8 +++---
- backend/main_aiohttp.py | 10 +++----
- backend/manage_users.py | 2 +-
- backend/routers_aiohttp.py | 2 +-
- deploy/deploy-frontend-static.sh | 4 +--
- deploy/deploy-frontend.sh | 4 +--
- deploy/deploy.sh | 2 +-
- deploy/lxc-setup.md | 2 +-
- deploy/update-from-gitea.sh | 4 +--
- frontend/README.md | 2 +-
- frontend/app/layout.tsx | 2 +-
- frontend/app/login/page.tsx | 6 ++---
- frontend/components/Header.tsx | 2 +-
- update-179.sh | 4 +--
---