Dashboard:
- Server IPs card showing all non-loopback IPv4 interfaces
- Restart buttons next to smbd/nfsd status dots (POST /api/service/<name>/restart)
- Active SMB connections table (smbstatus -b parsed in backend)
SMB edit modal:
- Read only toggle (writable vs read only in smb.conf)
- Recycle Bin toggle (vfs objects = recycle, files go to .recycle folder)
Docs: PLANNING.md phase 3.5, README recycle bin + read-only, CLAUDE.md JS overview
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
app.py:
- Remove 'raw' field from export dict entries (only comment/blank
kinds need raw; export entries are always reconstructed from
path/rest/enabled when writing back)
- Remove extra blank line
shares.js:
- Remove unused pathJson variable in SMB row (was only needed for
the quota button, which was removed)
docker-compose.yml:
- Deleted entirely: was missing templates/ and static/ mounts so the
Flask app couldn't serve pages; SYS_ADMIN cap_add was only needed
for quotas; deployment is systemd, not Docker
README.md:
- Remove quota package from apt install command
- Remove quota setup section (feature removed)
- Remove docker-compose from Dev section
CLAUDE.md / PLANNING.md:
- Remove docker-compose.yml references and quotas.js from file tree
.gitignore:
- Remove redundant micronas.env entry (already covered by *.env)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Linux setquota/repquota require quota support on the underlying
filesystem. The target deployment is a Proxmox LXC on ZFS storage where
this is not available inside the container.
Removed: /api/quota endpoint, _quota_supported, _quota_usage,
_find_quota_fs, quotas.js, quota modal, dashboard quota table,
Quota button from share rows.
PLANNING.md updated: notes quota as out of scope with reason.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Full UI redesign: GitHub-dark palette, custom CSS vars, better
contrast, card layout, cleaner tables and typography
- Dashboard auto-refresh every 30s (was 60s)
- Remove Quotas tab; each share row now has a Quota button that opens
a modal pre-filled with the share's valid users (SMB) or path (NFS)
- Replace all alert() with Bootstrap toast notifications
- Add Users tab: list system users (uid >= 1000) with SMB status,
create user (useradd + smbpasswd), delete user, change SMB password
- Backend: /api/users GET/POST, /api/users/<name> DELETE,
/api/users/<name>/password POST
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>