Closed Alpha
FluxPlay is currently in Closed Alpha. This documentation is a work in progress and may be incomplete or out of date. Features, UI, and APIs are subject to change without notice. For access inquiries, please contact [email protected].
PLUGIN MARKETPLACE
Extend FluxPlay with community-built plugins. Sandboxed execution, granular permissions, and one-click install keep your server secure while expanding what FluxPlay can do.
Secure by Default
Every plugin runs in an isolated process with a minimal permission set declared in its manifest. Plugins cannot access any FluxPlay service they have not been explicitly granted — even if that service is available on the server.
Capabilities
Marketplace
Browse and install community-published plugins directly from the admin panel. One-click install, update, and removal.
Sandbox Levels
Plugins run in isolated processes with configurable trust levels: Read-Only, Standard, Elevated, and Trusted.
Permission Matrix
Admins grant plugin permissions per role via a visual matrix. Default-deny — no plugin can access a feature until explicitly granted.
Watchdog
A watchdog service monitors plugin health. Crashed plugins are automatically restarted with configurable retry limits.
CLI Tool
The FluxPlay Plugin CLI scaffolds new plugins, validates manifests, packages for distribution, and publishes to the marketplace.
Developer SDK
A typed SDK with mock implementations for every FluxPlay service, enabling unit-testable plugin development without a live server.
Plugin Types
Plugins declare their type in the manifest. The type determines which extension points are available and which SDK interfaces can be called.
Metadata Provider
Supply artwork, ratings, summaries, and cast information from custom sources.
Downloader
Add new download sources beyond the built-in yt-dlp integration.
Notification Channel
Deliver notifications to custom targets (Slack, Matrix, custom webhooks).
UI Extension
Inject custom panels, tabs, or action buttons into the FluxPlay web UI.
Scheduled Task
Register background jobs that run on a configurable schedule.
Authentication Provider
Add custom SSO or identity providers beyond the built-in OIDC support.
Sandbox Isolation
Each plugin runs in a dedicated subprocess. Communication with the FluxPlay host happens through a typed IPC channel. The sandbox enforces memory limits, CPU quotas, and file system restrictions based on the plugin's declared trust level.
Trust levels
- Read-Only— Query library data; no write access, no network access.
- Standard— Read and write to assigned silo; outbound HTTP to declared domains.
- Elevated— Standard plus ability to spawn subprocesses and access the FFmpeg API.
- Trusted— Full server access. Reserved for first-party plugins. Requires admin explicit grant.
Admin Permission Grants
When a plugin is installed, it registers the user-facing permissions declared in its manifest. Admins visit the Permission Matrix screen under Admin → Plugins → Permissions to grant these permissions to specific roles. No permission is active until an admin explicitly enables it — a plugin that claims 10 permissions starts with zero effective permissions.
Watchdog Restart Behavior
The plugin watchdog monitors each plugin subprocess via heartbeat. If a plugin misses three consecutive heartbeats, the watchdog terminates and restarts it. After five consecutive restarts within ten minutes, the plugin is disabled automatically and an alert is raised in the monitoring dashboard. The plugin can be re-enabled manually after investigating logs.