Plugins

Plugin Management

Plugin management is the central place in the admin area where you can enable, disable and inspect detected plugins. Plugins that ship their own settings can be configured there as well.

Opening Plugin Management

Plugin management is only available to admins. You find it in the FediSuite sidebar under Admin area / Plugins.

Sidebar in FediSuite

Dashboard
Analytics
Planner
Archive
Notifications
Settings
Admin area
Overview
User
Plugins

In the admin area, a group called Plugin pages appears below the fixed entries when needed. It lists the admin pages that active plugins provide. Pages for all users are shown in a separate group called Plugin sections in the sidebar.

Note: The Admin area menu item is only visible if your account has admin rights. Regular users do not see plugin management.

The Plugin List

Plugin management shows every plugin folder containing a plugin.json that FediSuite found in the mounted plugins folder at its last start, including broken ones. Each plugin appears as its own card with the key information at a glance. If the list is empty ("No plugin directories are currently detected"), the Installing Plugins page helps with troubleshooting.

Bluesky Provider BOOTED
Enabled Disable

Adds Bluesky as an additional platform with account connection, publishing, imports and stats refreshes.

Version: 1.0.0 · Author: FediSuite OSS

Each plugin card shows at a glance:

Name

The display name of the plugin, for example "Bluesky Provider". It comes from the plugin's language files and follows the language of the interface.

Status badge

Shows the current state: BOOTED, DISABLED or FAILED. More on this further down.

Description

A short explanation of what the plugin does and which features it adds.

Version & author

The plugin's version number and who it comes from.

Enabled / Disabled

The label shows the plugin's configured state. The button next to it triggers the opposite action: "Disable" for an active plugin, "Enable" for a switched-off plugin.

Arrow (▼ / ▲)

Clicking the plugin name with the arrow expands or collapses the detail view.

Enabling and Disabling Plugins

The button on the plugin card switches a plugin on or off. Newly detected plugins are switched off after installation.

Enable a plugin

A switched-off plugin shows an Enable button. One click starts the plugin right away in the running application and shows a confirmation.

Disable a plugin

An active plugin shows a Disable button. Before switching it off, FediSuite asks for confirmation ("Do you really want to disable plugin …?"), then the plugin is stopped without being deleted.

What happens when you enable or disable?

Enable

FediSuite loads the plugin's server side and registers its building blocks: pages, widgets, connectors, API routes and hooks. The features are available immediately. If the start fails, the plugin stays disabled, the status changes to FAILED and the error message appears in the details.

No restart needed for the web interface.
Disable

FediSuite removes everything the plugin registered from the running application. The plugin files on the server and the stored plugin settings are kept. You can enable the plugin again at any time.

No restart needed for the web interface.
Include the workers: The switch takes effect in the app container. Every container reads the plugin state stored in the database at startup. After enabling or disabling, therefore also restart the workers (docker compose restart worker1 worker2) so that scheduled posts and statistics updates, for example, take the plugin into account as well. The state itself is kept across restarts.
Disabling is not uninstalling. A disabled plugin is merely switched off. The files in the plugins/ folder on the server are left untouched. To remove a plugin completely, delete its folder on the server and restart the containers, as described on the Installing Plugins page.

The "Refresh" Button

At the top right of the "Plugins" box there is a Refresh button. It fetches the plugin list and the details of the active plugins (menu entries, widgets) from the server again and updates the display. It does not re-read the plugins folder. That only happens when the containers start.

Refresh

When does "Refresh" make sense?

When another admin switched a plugin on or off and your view still shows the old state.
When the display no longer matches the actual state after a change.
New or updated plugins: If you added, changed (for example with git pull) or removed a plugin folder, the result only appears after the containers restart (docker compose restart app worker1 worker2). "Refresh" does not replace that restart.

Viewing Plugin Details

You can expand each plugin card by clicking the plugin name with the arrow (▼). The expanded view shows technical details about the plugin. It helps you check which version is loaded, where the plugin is located, which permissions it requests and, if applicable, why it does not start.

Bluesky Provider BOOTED
Enabled Disable

Adds Bluesky as an additional platform with account connection, publishing, imports and stats refreshes.

Version: 1.0.0 · Author: FediSuite OSS

Plugin API 1
Compatibility Compatible
Runtime state Loaded
Restart required No restart required
License GPL-3.0-or-later
Install path /app/plugins/fedisuite-plugin-bluesky
Server entry ./server/index.js
Web entry ./web/manifest.json
Last updated 5/2/2026, 12:19:54 AM
Last booted 5/2/2026, 12:19:54 AM
Homepage -
Repository -

Capabilities

provider

Required permissions

providers web.runtime

Required environment variables

No required environment variables declared.

What do the individual fields mean?

General

Plugin API

The plugin API version the plugin was written for (the pluginApiVersion field in plugin.json). It has to match the version FediSuite expects, currently 1. With a different version, FediSuite rejects the plugin.

Compatibility

"Compatible" means FediSuite accepted the plugin.json. If a plugin is rejected, for example because of a different plugin API version or an unsuitable app version, this shows "Incompatible" with the error message below it. Update the plugin to a matching version in that case.

Runtime state

Shows whether the plugin is currently running in the server process. "Loaded" means active and started. "Inactive" means switched off or failed at startup.

Restart required

Normally this shows "No restart required". "Restart pending" is intended for changes that only take effect after a restart.

License

The software license according to plugin.json. The plugins in the official repository are licensed under GPL-3.0-or-later.

Paths & entry points

Install path

The path of the plugin folder inside the container. It consists of /app/plugins and the name of the plugin folder.

Server entry

The JavaScript file FediSuite loads on the server side at startup, relative to the plugin folder. Usually ./server/index.js.

Web entry

The manifest file for the browser-side plugin pages, relative to the plugin folder. Usually ./web/manifest.json. If the plugin has no web pages of its own, a dash is shown here.

Timestamps and links

Last updated

The time FediSuite last wrote the plugin's entry, that is, when it read the folder after a start or when the status changed. It says nothing about when files in the plugin folder were modified.

Last booted

The time the plugin's server side was last started, at container start or when enabling. For a plugin that is not running, a dash is shown.

Homepage, Repository

Optional links from plugin.json. They open in a new tab. If the manifest does not include them, a dash is shown.

Capabilities & permissions

Capabilities

The plugin's own statement of which kind of extension it provides. "provider", for example, means the plugin adds a new platform such as Bluesky as a connectable source. FediSuite displays them here.

Required permissions

The permissions the plugin declared in its plugin.json. FediSuite only lets a plugin register what it declared a permission for. "providers", for example, allows registering a provider, and "web.runtime" allows embedding its own web pages.

Required environment variables

If a plugin expects certain entries in the .env, it names them in its plugin.json and they are listed here. FediSuite does not check these variables itself. If none are listed, no additional configuration through the .env is needed.

Errors

Error message

If something went wrong while checking or starting the plugin, a red box with the cause appears in the details, for example a missing required field in plugin.json, a mismatching plugin API version or a missing permission.

Plugin Settings

A plugin can describe its own settings in its plugin.json. The Bluesky provider needs none, which is why its card above shows no settings area. For plugins with settings there are two places:

Global values (admin)

In plugin management, at the very bottom of the plugin's expanded details: the "Plugin settings" card with the plugin's fields and a "Save settings" button. These values apply to the whole instance and can only be changed by an admin. For this, the plugin must have declared the permissions settings.global.read and settings.global.write.

Values per user

Under Settings → Preferences, in the "Plugin settings" section. It lists the active plugins that offer per-user settings. For the respective person, they override the global values.

FediSuite checks every entered value against the plugin's rules (required field, number range, allowed choices) and shows errors right at the field. Password fields are not shown in plain text again after saving, the interface only indicates that a value is stored. When a plugin is disabled, its stored settings are kept.

What an Active Plugin Adds

What a plugin adds to the interface depends on what it registers. Only an active, started plugin shows up in these places.

Admin page

Sidebar under Admin area, in the "Plugin pages" group (admins only).

App page

Sidebar, in the "Plugin sections" group (for all signed-in users).

Dashboard widget

The "Plugin widgets" card on one of the tabs of the "Analytics" page. The plugin decides which tab.

Composer extension

The "Plugin extensions" card in the composer, with the plugin's fields.

Provider

The "Plugin connectors" area under Settings → Connected accounts, for connecting accounts of the additional platform.

Login provider

On the sign-in page under "Or sign in with a plugin".

Tips provider

The plugin's hints flow into the tips FediSuite generates for an account.

Understanding Status Badges

Every plugin card carries a colored status badge that shows at a glance what state the plugin is in.

BOOTED

The plugin is enabled and started successfully. All features it registered are available.

DISABLED

The plugin was detected and its plugin.json is valid, but it is switched off. This is the state of a freshly installed plugin. You can enable it at any time.

FAILED

An error occurred while checking or starting the plugin. Possible causes: an invalid plugin.json, an unsuitable plugin API or app version (the compatibility then reads "Incompatible"), a missing permission or an error in the plugin code. The cause is shown in the expanded details. For a folder whose plugin.json cannot be read at all, the card carries the folder name as its name.

Other labels: The interface also knows "Discovered", "Validated" and "Missing". They are meant for intermediate states and do not appear in normal operation.