How Plugins Work

Phlix plugins implement the LifecycleInterface and ship a manifest.json. The plugin loader validates the manifest version before activating the plugin.

Manifest Format

// manifest.json { "name": "my-metadata-provider", "version": "1.0.0", "manifest_version": "1", "description": "Fetches metadata from MyAPI", "entry": "src/MyPlugin.php", "requires": { "phlix": ">=1.0.0" } }

Plugin Lifecycle

  • onInstall() — Called when plugin is first activated
  • onEnable() — Called every time Phlix starts
  • onDisable() — Called when plugin is disabled or Phlix stops
  • onUninstall() — Called when plugin is removed

Example Plugin

phlix-plugin-example

Reference metadata provider plugin

The smallest working plugin. Demonstrates manifest format, lifecycle hooks, and metadata fetching from TMDB-style APIs. Use this as a template for your own plugins.

View on GitHub →

Plugin Types

Metadata Provider

Fetch movie/TV metadata from TMDB, TVDB, Fanart.tv, or any REST API.

Transcoder

Add support for new codecs or container formats via FFmpeg.

Auth Provider

Integrate with OAuth, SSO, or custom user backends.

Storage Backend

Connect to S3, B2, or other object storage for media files.