How astercommunity/asterdrive works
AsterDrive is a self-hosted team file service. Its core workflow is users uploading and organizing files, with storage policies routing file data to configured backends; users can then preview, download, share, and recover files. Separate product branches cover authentication, workspaces, WebDAV/WOPI interoperability, and administration/operations. The tree and excerpts show selected frontend controllers, storage abstractions, and a repository helper; backend routing and most service wiring are not sampled, so those links are intentionally omitted or shown only where the README documents the capability.
Main entry points: src File operations · admin-policies-page Storage policies · admin Admin interface · files File interface
Components 22
Drive workflow
- File interface
frontend-panel/src/components/files - Upload manager
frontend-panel/src/components/files/useUploadAreaManager.ts - Folder tree
frontend-panel/src/components/folders/folder-tree/useFolderTreeController.ts - Shared-file view
frontend-panel/src/pages/share-view/useShareViewPageController.ts - File operations
src
Storage routing
- Storage policies
frontend-panel/src/pages/admin/admin-policies-page - Storage driver API
crates/aster_drive_storage/src/traits - Storage connectors
crates/aster_drive_storage/src - Remote-node storage
frontend-panel/src/components/admin/admin-remote-nodes-page - Configured backends
Access and interoperability
- Authentication
frontend-panel/src/components/auth - Account security
frontend-panel/src/components/settings/security-settings/useSecuritySettingsController.ts - WebDAV access
crates/aster_drive_model/src/entities/webdav_account.rs - WOPI sessions
crates/aster_drive_model/src/entities/wopi_session.rs
Administration
- Admin interface
frontend-panel/src/components/admin - Policy editor
frontend-panel/src/pages/admin/admin-policies-page/useStoragePolicyEditorController.ts - Policy recovery
frontend-panel/src/pages/admin/admin-policies-page/useStoragePolicyRecoveryController.ts - External auth setup
frontend-panel/src/pages/admin/useAdminExternalAuthPageController.ts - Application database
src/db - Policy auth flows
src/db/repository/storage_policy_authorization_flow_repo.rs
Other components
- Drive user
- Office service
Connections 25
- Drive user → Authentication: signs in
- Drive user → File interface: manages files
- File interface → Upload manager: starts uploads
- File interface → Folder tree: browses folders
- Drive user → Shared-file view: opens share
- Shared-file view → File operations: requests shared files
- Upload manager → File operations: uploads files
- Folder tree → File operations: loads and moves
- File operations → Storage policies: routes by policy
- File operations → Storage driver API: uses driver interface
- Storage driver API → Storage connectors: defines connector behavior
- Storage connectors → Configured backends: stores objects
- Remote-node storage → Storage policies: configures targets
- Drive user → Account security: manages account
- WebDAV access → File operations: accesses files
- WOPI sessions → Office service: supports editing
- Office service → File operations: saves edits
- Drive user → Admin interface: administers service
- Admin interface → Policy editor: edits policies
- Admin interface → Policy recovery: recovers storage
- Admin interface → External auth setup: configures providers
- Policy editor → Storage policies: creates and updates
- Policy recovery → Storage policies: probes recovery
- Storage policies → Application database: persists configuration
- Policy auth flows → Application database: reads and updates flows