-
Notifications
You must be signed in to change notification settings - Fork 9
Open
Description
Overview
I want to work on integrating a modern file management API into Unraid by leveraging an existing, mature file management service (FileBrowser). The current system lacks a performant, API-driven file manager that can power modern web interfaces, mobile apps, and automation tools. By integrating FileBrowser as a sidecar service into the Unraid API, we avoid reinventing the wheel and provide users with a robust, extensible, and secure solution.
Technical Approach
I intend to use the sidecar mechanism as stated in the original issue #1599.
The approach includes:
- Running FileBrowser as a subprocess (sidecar) managed by the Unraid API lifecycle.
- Proxying API requests and WebSocket connections through NestJS, enforcing Unraid authentication via headers (X-Unraid-User, X-Unraid-Roles).
- Disabling FileBrowser’s built-in authentication and bridging Unraid session cookies/tokens to handle user identity and permissions.
- Bundling the FileBrowser binary into the Unraid plugin build process (build-txz.ts) so it is always available on installation.
- Creating a WebGUI integration following the LogViewer.vue pattern with iframe embedding, so users can access the File Manager directly from the Tools menu.
- Adding documentation and tests to ensure reliability, performance, and security.
Scope
- API
- Plugin
- Web UI
- Build/Deploy Process
- Documentation
Timeline & Impact
- Estimated time needed: ~2–3 weeks (including development, integration, and testing).
- Potential impacts:
Pre-submission Checklist
- I have searched for similar work/issues
- I understand this needs approval before starting
- I am willing to make adjustments based on feedback
Metadata
Metadata
Assignees
Labels
No labels