Skip to content

feat(files): add WebDAV and cloud storage (Google Drive, Dropbox) to Network via rclone - #2193

Open
LuckyCoders wants to merge 8 commits into
getumbrel:masterfrom
LuckyCoders:feat/network-storage-rclone
Open

feat(files): add WebDAV and cloud storage (Google Drive, Dropbox) to Network via rclone#2193
LuckyCoders wants to merge 8 commits into
getumbrel:masterfrom
LuckyCoders:feat/network-storage-rclone

Conversation

@LuckyCoders

@LuckyCoders LuckyCoders commented Jul 12, 2026

Copy link
Copy Markdown

Summary

  • Extends Files → Network beyond SMB with an rclone remote-mount layer for WebDAV, Dropbox, and Google Drive
  • SMB stays on kernel CIFS; new protocols mount via rclone FUSE under /Network/<host>/<share>
  • Adds OAuth flow for Dropbox / Google Drive (rclone authorize) and Nextcloud-aware WebDAV vendor detection
  • OS image includes rclone + fuse3 and user_allow_other in fuse.conf

Motivation

Many users need NAS WebDAV (Synology/QNAP/Nextcloud) and cloud drives alongside local files. One shared mount abstraction avoids one-off integrations and leaves room for SFTP/S3 later.

Testing

  • Unit tests for remote-mount + WebDAV host parsing
  • WebDAV integration test (skipped without rclone//dev/fuse)
  • CI installs rclone for umbreld tests
  • Manual QA: WebDAV on Raspberry Pi (Nextcloud-style endpoint)
  • Manual QA: Dropbox / Google Drive OAuth end-to-end on Umbrel Home
image

Notes

cursoragent and others added 7 commits July 12, 2026 17:39
Introduce a reusable rclone-based remote mount module for network storage,
starting with WebDAV support. SMB/CIFS shares continue to use kernel mount
for local NAS performance. The UI adds an SMB/WebDAV protocol selector in
the add network share dialog. OS image includes rclone and fuse user_allow_other.
- Persist rclone config and VFS cache under dataDirectory (not SD root home)
- Support fusermount3 fallback, log remount failures, validate WebDAV URLs
- Include non-default ports in WebDAV host keys to avoid mount path collisions
- Fix power monitor logger on Pi, store types, and translated error messages
- Add WebDAV translation keys to all 29 locale files
- Support Nextcloud vendor with auto-detection from URL
- Install rclone in CI for WebDAV integration tests
- Skip WebDAV integration test when /dev/fuse is unavailable
- OAuth flow through rclone authorize with session polling
- API routes: startCloudNetworkAuth, getCloudNetworkAuthStatus
- UI protocol picker with cloud connect flow and SSH tunnel hint
- Locales for all 29 languages, cloud-oauth unit tests
Use google_drive as the network storage protocol identifier while
keeping rclone's drive backend name for authorize and mount.
Co-authored-by: Cursor <cursoragent@cursor.com>
@LuckyCoders LuckyCoders changed the title feat(files): add WebDAV and cloud storage to Network via rclone feat(files): add WebDAV and cloud storage (Google Drive, Dropbox) to Network via rclone Jul 12, 2026
The mutation input is {provider}, but the dialog passed a bare protocol string, which Zod rejected as Expected object, received string.

Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants