Plugin Marketplace
The Plugin Marketplace is the page where Sublarr lists community-maintained provider and hook plugins, lets you install them with one click, and tracks updates. Plugins extend the core search and post-processing pipelines without changing Sublarr itself, so you can add support for niche providers (regional sites, specialised archives) without recompiling the container.
Where it lives
Section titled “Where it lives”Open it from Settings → Providers → Marketplace or directly at /settings/providers and switch to the Marketplace tab. The page has three columns:
| Column | Purpose |
|---|---|
| Available | Plugins listed in the registry that aren’t installed yet. |
| Installed | Plugins currently active in your Sublarr instance. |
| Updates | Installed plugins with a newer version available. |
Plugin types
Section titled “Plugin types”| Type | What it can extend |
|---|---|
| Provider | Adds a new subtitle source. Implements the Provider interface, registers under a unique name, appears in Settings → Providers after install. |
| Hook | Runs at lifecycle events (post-download, pre-translate, post-edit). Useful for custom integrations like writing to an external CMS. |
| Post-processor | Plugs into the post-processing pipeline. Example: a custom HI-tag remover for a specific Asian-language convention. |
Installing from the registry
Section titled “Installing from the registry”For each entry in Available:
- Click View to see the plugin’s README, dependencies, and required permissions.
- Click Install — Sublarr fetches the ZIP from the registry, validates the signature, and unpacks it under the configured plugins directory (default
/config/plugins, set under Settings → Providers → Plugins directory) (default/config/plugins). - The plugin is loaded immediately if Hot reload is enabled, or after the next restart otherwise.
- The plugin appears in Installed with version, author, and disable/uninstall actions.
Sideloading a ZIP
Section titled “Sideloading a ZIP”If a plugin isn’t on the registry (in development, private fork, regional only), use the Upload ZIP button:
| Step | Detail |
|---|---|
| 1. Pack the plugin | Top-level manifest.json + provider.py (or hook.py). The ZIP must NOT have an extra wrapping folder. |
| 2. Drop into uploader | Drag-drop or file picker. Sublarr validates the manifest before extraction. |
| 3. Confirm permissions | Provider plugins ship a permission list (network access, filesystem paths). Review and accept. |
| 4. Activate | Same as registry install — hot-reloaded if enabled, otherwise pending restart. |
Per-plugin admin
Section titled “Per-plugin admin”Each installed plugin has a row with:
| Column | Effect |
|---|---|
| Name + version | What’s running. |
| Author | Who maintains it. Click for the registry profile. |
| Status | enabled / disabled / error (with detail). |
| Logs | Recent log lines from the plugin only. Filtered to its logger name. |
| Disable | Stops invoking the plugin without removing files. |
| Uninstall | Removes the unpacked directory under the configured plugins directory (default /config/plugins, set under Settings → Providers → Plugins directory). |
| Reload | Re-imports the plugin module — useful after editing provider.py in place during development. |
Updates
Section titled “Updates”When the registry advertises a newer version of an installed plugin, the Updates column shows it. Click Update to download the new ZIP and replace the existing files. The previous version is kept under <plugin>/.previous/ for one rollback.
Hot reload
Section titled “Hot reload”When Hot reload is enabled (Settings → Providers → Hot reload plugins), Sublarr watches the configured plugins directory (default /config/plugins, set under Settings → Providers → Plugins directory) for changes and reloads modules automatically. Useful in development; turn it off in production for predictable startup.
Where plugins are stored
Section titled “Where plugins are stored”| Path | Default | Override |
|---|---|---|
| Plugin root | /config/plugins | Settings → Providers → Plugins directory |
| Per-plugin manifest | /config/plugins/<name>/manifest.json | n/a — required structure |
| Per-plugin logs | Streamed to SUBLARR_LOG_FILE with logger name plugins.<name> | — |
Writing your own
Section titled “Writing your own”If the registry doesn’t have what you need, the Plugin Development guide walks through writing a provider or hook from scratch — including the manifest schema, the plugin lifecycle hooks, and how to publish to the registry.