Skip to content

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.