Plugin Model

Phlix's plugin system provides a stable contract between core and extensions.

1

Create manifest.json

Declare your plugin's name, version, and lifecycle hooks in the manifest.

2

Implement LifecycleInterface

Provide onInstall, onEnable, onDisable, and onUninstall handlers.

3

Drop into plugins/ directory

Phlix's plugin loader scans the directory and registers your plugin automatically.

4

Phlix manages lifecycle

Updates, enable/disable, and cleanup are handled by the core loader.

What can plugins do?

The plugin system is designed for extensibility across multiple dimensions.

Metadata Providers

Add support for new metadata sources beyond TMDB, TVDB, and Fanart.tv. Fetch posters, backdrops, and episode data from any REST API.

Transcoders

Add support for new codecs or container formats. Implement custom quality profiles or hardware acceleration paths.

Authentication Providers

Integrate with LDAP, OAuth 2.0, SAML, or any custom auth backend. Extend the JWT auth flow with new token validation.

Analytics & Reporting

Track watch history, generate reports, integrate with analytics platforms. Know what's being watched and when.

Notifications

Send alerts for new content, recording reminders, or library updates via email, push, Slack, or any messaging service.

Automation

Trigger actions on events. Auto-organize new downloads, schedule maintenance tasks, or integrate with home automation.

Example Plugin

phlix-plugin-example is a reference implementation showing the smallest working plugin.

phlix-plugin-example

A minimal metadata provider plugin demonstrating manifest structure and lifecycle hooks. Use it as a starting point for your own plugins.