How kaimosystemsolutions/kaimo_file_server works
Kaimo File Server is a self-hosted file server with granular access control, configurable storage, external-storage connections, synchronization, and search. Users access files through the web UI or SMB; authorization and file services govern operations against local or connected storage. Administrators configure shares, permissions, external connections, sync jobs, and notifications. The tree and excerpts support the sync-query, storage-provider, SMB authorization, and search layers shown here; several broader capability links are documented by the README but their runtime wiring was not sampled.
Main entry points: FileService.cs File service · AuthzGrpcService.cs SMB authorization · SyncQueryService.cs Sync enumeration · ElasticSearchService.cs Search service
Components 25
Access and files
- Web UI
src/Kaimo_File_Server.Web/Components/Pages/Files/FileBrowser/FileBrowser.razor.cs - Browse API
src/Kaimo_File_Server.Web/Controllers/Api/BrowseApiController.cs - Authentication
src/Kaimo_File_Server.Core/Security/ILoginService.cs - ACL service
src/Kaimo_File_Server.Core/Security/AclService.cs - SMB authorization
src/Kaimo_File_Server.SmbBridge/Services/AuthzGrpcService.cs - File service
src/Kaimo_File_Server.Core/Services/File/FileService.cs - File versions
src/Kaimo_File_Server.Core/Services/File/FileVersionService.cs
Storage and sync
- Storage engine
src/Kaimo_File_Server.Core/Storage/IStorageEngine.cs - Filesystem storage
src/Kaimo_File_Server.Infrastructure/Storage/FileSystemStorage.cs - Storage connections
src/Kaimo_File_Server.Infrastructure/Repositories/StorageConnectionRepository.cs - Provider catalog
src/Kaimo_File_Server.Infrastructure/ExternalStorage/StorageConnectionProviderCatalog.cs - Sync scheduler
src/Kaimo_File_Server.Infrastructure/Clouds/CloudSyncSchedulerService.cs - Sync execution
src/Kaimo_File_Server.Infrastructure/Clouds/CloudSyncExecutionService.cs - Client sync API
src/Kaimo_File_Server.Web/Controllers/Api/SyncApiController.cs - Sync enumeration
src/Kaimo_File_Server.Core/Services/Sync/SyncQueryService.cs
Search
- Search indexing
src/Kaimo_File_Server.Infrastructure/Services/SearchIndexingService.cs - Search service
src/Kaimo_File_Server.Search/ElasticSearchService.cs - Global search
src/Kaimo_File_Server.Web/Components/Search/GlobalSearch.razor.cs
Administration
- Application database
src/Kaimo_File_Server.Infrastructure/Persistence/ApplicationDbContext.cs - Sync configuration
src/Kaimo_File_Server.Web/Components/ViewModels/ExternalStorage/ExternalStorageSyncViewModel.cs - Notifications
src/Kaimo_File_Server.Infrastructure/Notifications/DbNotificationPublisher.cs
Other components
- Web user
- SMB client
- External storage
- SMTP gateway
Connections 23
- Web user → Web UI: uses
- Web UI → Browse API: requests files
- Browse API → File service: handles browsing
- File service → ACL service: checks access
- File service → Storage engine: performs file I/O
- Storage engine → Filesystem storage: uses
- SMB client → SMB authorization: requests authorization
- SMB authorization → Authentication: resolves user
- SMB authorization → ACL service: checks permissions
- Sync configuration → Storage connections: loads connections
- Sync configuration → Sync scheduler: signals schedule
- Sync scheduler → Sync execution: dispatches jobs
- Sync execution → Provider catalog: selects provider
- Provider catalog → External storage: opens sessions
- Client sync API → Sync enumeration: requests enumeration
- Sync enumeration → File service: lists files
- Sync enumeration → Application database: reads sync state
- File service → File versions: version support
- Search indexing → Search service: updates index
- Global search → Search service: searches files
- Search service → ACL service: filters results
- Notifications → Application database: persists events
- Notifications → SMTP gateway: sends mail