Storage Overview
Storage is the general-purpose filesystem in HomeDock OS. It provides a familiar file management experience for documents, media, downloads, and any other files that don’t require encryption. Unlike Drop Zone, files in Storage are stored as-is, no encryption layer is applied.
Default Folder Structure
Section titled “Default Folder Structure”Storage comes with a set of default folders to help organize your files from the start:
- Notes: Text files, markdown, and quick notes
- Documents: General documents and office files
- Photos: Image files and photographs
- Videos: Video files and recordings
- Music: Audio files and music
- Downloads: Downloaded files from the web or other apps
You can create additional folders at any level to organize your files however you prefer.
Features
Section titled “Features”File Browser
Section titled “File Browser”Storage uses the same unified file browser interface as the rest of File Explorer:
- Grid View: Desktop-like layout with positioned file and folder icons
- List View: Compact rows with detailed information (name, size, date)
- Sorting: Sort by name, size, or date with ascending/descending toggle
- Breadcrumb Navigation: Clickable path segments for quick navigation
- View Sync: View mode preferences sync in real-time with Drop Zone
File Operations
Section titled “File Operations”All standard file operations are available:
| Operation | Endpoint |
|---|---|
| List files | GET /api/storage/files |
| Search | GET /api/storage/search |
| Upload | POST /api/storage/upload |
| Download | GET /api/storage/download |
| Download multiple | POST /api/storage/download-multiple |
| Delete | POST /api/storage/delete |
| Create folder | POST /api/storage/create-folder |
| Rename | POST /api/storage/rename |
Every endpoint returns the same shape as the other File Explorer backends: { files: [], current_path: "" }, where each file follows the common FileEntry interface.
Upload
Section titled “Upload”- Drag and Drop: Drop files or entire folders onto the window
- Folder Structure: Uploaded folders maintain their directory hierarchy
- Hidden File Filtering: Files starting with ”.” are automatically filtered out
- Progress Tracking: Unified upload progress indicator in the system tray
Search
Section titled “Search”Storage provides a global search that scans files and folders recursively within the current path. Results are grouped by parent directories with full path context displayed.
Multi-Selection
Section titled “Multi-Selection”- Ctrl+Click: Add or remove individual files from selection
- Drag-to-Select: Click and drag to create a selection rectangle
- Batch Download: Download multiple selected files as a ZIP archive
- Batch Delete: Delete all selected items at once
Context Menu
Section titled “Context Menu”Right-click any file or folder for quick actions:
- Open, download, rename, delete
- Add to Favorites
- File properties (size, date, path)
- Touch-friendly long-press support on mobile
File Display
Section titled “File Display”Each file shows rich metadata:
- Size Badges: Compact human-readable sizes (KB, MB, GB)
- Relative Timestamps: “5m ago”, “1h ago”, “Now”
- NEW Indicators: Recent uploads within the last hour are highlighted
- File Type Icons: Automatic detection with appropriate icons for documents, images, videos, audio, archives, code files, and more
Opening Files
Section titled “Opening Files”Double-clicking a file in Storage routes it to the appropriate built-in utility based on its extension (Notepad for text, Image Viewer for images, Media Player for audio/video, PDF Viewer for PDFs). Unrecognized extensions trigger a direct download. See File Explorer for the full extension routing table.
Storage vs Drop Zone
Section titled “Storage vs Drop Zone”| Storage | Drop Zone | |
|---|---|---|
| Encryption | None, files stored as-is | AES-256-GCM at rest |
| Use case | General files, media, documents | Sensitive or private files |
| Performance | Direct read/write | Encrypt on upload, decrypt on download |
| Default folders | Notes, Documents, Photos, Videos, Music, Downloads | User-created only |
| Interface | Shared File Explorer UI | Shared File Explorer UI |
Security
Section titled “Security”Even without encryption, Storage is protected by the same security measures as the rest of File Explorer:
- CSRF tokens: Every request requires an
X-HomeDock-CSRF-Tokenheader - Login authentication: All routes require an active session
- Path traversal protection:
validate_safe_path()blocks../and similar attacks - Symlink prevention:
validate_no_symlinks()blocks symlink escape attacks - Filename sanitization:
validate_filename()validates safe characters - User isolation: All paths scoped to the authenticated user’s home directory
Limits
Section titled “Limits”| Limit | Value |
|---|---|
| Directory size calculation | 10,000 files / 2 seconds |
| ZIP downloads | 50,000 files / 30 seconds |
| Search | 100,000 files / 5 seconds |
Touch Support
Section titled “Touch Support”Storage is fully optimized for touch devices:
- Long Press: Opens context menu
- Double Tap: Opens folders or downloads files
- Touch Selection: Tap to select, tap again to deselect
- Mobile Upload: Dedicated floating upload button on small screens