Skip to content

Modules

Domekologe edited this page Jul 15, 2026 · 2 revisions

Modules

🌐 English · Deutsch

The Module Manager (/extensions, admin only) lets you install and manage modules that extend MediaForge — with their own pages, settings cards, sidebar links or providers. Sidebar entries contributed by a module carry a small "M" pill (tooltip: "Module: <name>") so you can always tell built-in features from module features. The page is fully mobile-responsive.

Module Store

The store is built into the /extensions page: the catalog loads automatically in the browser, and the Refresh button bypasses the ~15 minute cache. The store URL and the trusted signing keys are compiled into the build and cannot be changed via the UI (shown read-only). Admins can, however, add extra repository URLs — one http(s) URL per line.

Trust tiers

The trust tier is decided by cryptographic signature verification — not by what the store index claims:

Tier Meaning
Official Signed with the MediaForge team key
Verified Third-party code that was reviewed, repackaged and signed by a maintainer
Unverified Unsigned, signed with an unknown key, or modified after signing

Additionally, an Unreviewed badge marks submissions nobody has read yet. Unverified and unreviewed modules are hidden by default and only appear when the toggle "Allow unverified and unreviewed modules" is enabled.

⚠️ A module runs inside MediaForge with full access to your data. Only enable unverified/unreviewed modules if you trust the source.

Installation and updates

  • The package is first downloaded to a staging area, where the signature is verified — packages that fail verification never reach the live folder.
  • New modules go live immediately, without a restart: blueprint, settings card, sidebar entries and translations are available on the next request.
  • Upgrading an already-loaded module stays staged and shows a "restart required" banner; the UI offers a built-in self-restart.

Dependencies

Modules may declare their own Python requirements. The Install dependency button (admin) installs only the declared requirements from PyPI into ~/.mediaforge/module_deps/ — MediaForge's own dependencies always take import precedence. The same button works for store modules before installing them.

Sensitive settings

Modules can declare settings keys whose values are stored encrypted in the database. Settings-card fields of type secret are encrypted automatically.

Backup

Modules can register their own backup categories, which then show up in the export/import dialog — see Backup.

Clone this wiki locally