Add WebDAV support via Apache mod_dav
Backend: - WebDAV config managed at /etc/apache2/conf-available/micronas-webdav.conf with BEGIN/END markers per share; reload apache2 on every write - htpasswd file at /etc/micronas-webdav.passwd synced automatically on create_user, change_password, delete_user - Full CRUD: POST/PATCH/DELETE /api/share/webdav[/<name>] - _validate_webdav_users(): space-separated, no @group (not supported by Apache) - Fix: _validate_users() now allows @groupname for SMB (was incorrectly rejected) - Dashboard: apache2 status + restart button; webdav shares in /api/dashboard Frontend: - WebDAV tab: create form + table with clickable access URLs - Edit modal supports 'webdav' type (name, path, users, permissions section) - badge-webdav CSS class (green tint) in app.css - dashboard.js renders badge-<type> dynamically (smb/nfs/webdav) Docs: README WebDAV mount guide (Linux davfs2, Windows, Mac), PLANNING phase 4 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
1 parent
1be6a05cef
commit
7c9fe07a17
7 files changed
+338
-19
No files matched your search
+13
-3
@@ -102,9 +102,19 @@ MicroNAS/
|
||||
- [x] **Delete confirmation modal** — replaces browser confirm().
|
||||
- [x] **Auto-refresh countdown** — 30 s timer with live seconds display.
|
||||
|
||||
### Phase 4 — WebDAV + extras
|
||||
- [ ] **WebDAV** support. Preferred approach: drop an Apache/nginx config
|
||||
snippet — don't build it in Flask.
|
||||
### Phase 4 — WebDAV ✅
|
||||
- [x] Apache `mod_dav` + `mod_dav_fs` managed by MicroNAS.
|
||||
Config written to `/etc/apache2/conf-available/micronas-webdav.conf`
|
||||
with BEGIN/END markers per share; `a2enconf` + `systemctl reload apache2`.
|
||||
- [x] Shares served at `http://<server>/dav/<name>` (Apache on port 80).
|
||||
- [x] Auth via htpasswd (`/etc/micronas-webdav.passwd`) — passwords synced
|
||||
automatically when creating/changing user passwords in the Users tab.
|
||||
- [x] Full CRUD: create, edit (name/path/users/permissions), delete.
|
||||
- [x] Dashboard: apache2 status dot + restart button.
|
||||
- [x] WebDAV badge in dashboard shares overview.
|
||||
- [x] @groupname fix in SMB valid users (was incorrectly rejected by VALID_NAME).
|
||||
|
||||
### Phase 5 — Nice-to-have
|
||||
- [ ] Simple in-browser file browser for `/srv`.
|
||||
- [ ] Auto-create share directory on add (with correct owner/permissions).
|
||||
|
||||
|
||||
Reference in new issue
Block a user