MediaLab Marketplace for Jellyfin — installation and usage guide

Free product on medialab.works. Install, update, uninstall and roll back every MediaLab plugin covered by the server licence from one place. Automatic nightly updates (04:00 by default) and an automatic restart only when nobody is watching.

Requirements

  • Emby Server 4.10.1+ or Jellyfin 12.x / medialab Server.
  • The server licence key (the MediaLab bundle — the same key that activates the other plugins).
  • Access to the server's admin dashboard.

Install from the terminal

Linux (Emby)

# 1. Download the DLL (from your medialab.works account → MediaLab Marketplace product, or with the signed link)
#    Example with the licence key (replace <RELEASE_ID> and <KEY>):
curl -fL -o /tmp/MediaLabMarketplace.dll \
  "https://medialab.works/api/license/catalog/download/<RELEASE_ID>/<KEY>"

# 2. Verify the checksum (you will find it on the release page)
sha256sum /tmp/MediaLabMarketplace.dll

# 3. Copy it into the plugins folder and restart Emby (when nobody is watching)
sudo install -o emby -g emby -m 644 /tmp/MediaLabMarketplace.dll /var/lib/emby/plugins/
sudo systemctl restart emby-server
sudo systemctl status emby-server --no-pager

Linux (Jellyfin / medialab Server)

# Jellyfin is installed from a zip, into its own folder (do NOT name it like the DLL!)
curl -fL -o /tmp/jf-marketplace.zip \
  "https://medialab.works/api/license/catalog/download/<RELEASE_ID>/<KEY>"
sudo mkdir -p "/var/lib/jellyfin/plugins/MediaLab Marketplace_<version>.0"
sudo unzip -o /tmp/jf-marketplace.zip -d "/var/lib/jellyfin/plugins/MediaLab Marketplace_<version>.0"
sudo chown -R jellyfin:jellyfin "/var/lib/jellyfin/plugins/MediaLab Marketplace_<version>.0"
sudo systemctl restart jellyfin
sudo systemctl status jellyfin --no-pager

On the mlprod container (medialab Server) use the container's own path; updates are done from the plugin page or the system updater.

Windows (Emby) — PowerShell as administrator

# 1. Download the DLL into the temp folder
Invoke-WebRequest -Uri "https://medialab.works/api/license/catalog/download/<RELEASE_ID>/<KEY>" `
  -OutFile "$env:TEMP\MediaLabMarketplace.dll" -UseBasicParsing

# 2. Verify sha256 (compare it with the release page)
Get-FileHash "$env:TEMP\MediaLabMarketplace.dll" -Algorithm SHA256

# 3. Copy it into the Emby plugins folder and restart the service
Copy-Item "$env:TEMP\MediaLabMarketplace.dll" "C:\ProgramData\Emby-Server\programdata\plugins\" -Force
Get-Service "Emby Server" | Restart-Service
Get-Service "Emby Server"

Windows (Jellyfin) — PowerShell as administrator

# Jellyfin: unzip into a new folder inside plugins
$dest = "C:\ProgramData\Jellyfin\Server\plugins\MediaLab Marketplace_<version>.0"
Expand-Archive -Path "$env:TEMP\jf-marketplace.zip" -DestinationPath $dest -Force
Get-Service "JellyfinServer" | Restart-Service
Get-Service "JellyfinServer"

If the service has a different name, check it with Get-Service | Where-Object DisplayName -like "*Emby*" or Get-Service | Where-Object DisplayName -like "*Jellyfin*".

Using it

  1. Open the admin dashboard → MediaLab Marketplace.
  2. Paste the licence key (bundle) and click Save. The key is stored encrypted, never in plain text.
  3. Click Reload catalogue: you see every plugin covered by the licence, its installed version and the latest one.
  4. Install / Update / Roll back / Uninstall from the buttons on each row.
  5. Automatic updates: 04:00 by default, stable versions only, per plugin (toggle on each row). The server restarts only when nobody is watching; if a plugin fails to load after the restart, it is rolled back to the previous version automatically.
  6. The history on the plugin page shows what was added and which version is installed.

Before a file is put in place, the Marketplace checks its SHA-256 and the MediaLab signature against the key included in the plugin. A file that fails the check is refused.

Troubleshooting

  • "The catalogue could not be loaded" / HTTP 403: the request to the platform (POST /api/license/catalog) is blocked by Cloudflare; it is fixed with a WAF exception on the platform (not on your server). If it still happens, send support the cf-ray and the User-Agent.
  • The plugin does not appear after copying: check the file owner (emby/jellyfin), the correct path, and restart the service.
  • Windows: use PowerShell as administrator; the Emby folder is C:\ProgramData\Emby-Server\programdata\plugins, Jellyfin is C:\ProgramData\Jellyfin\Server\plugins.
  • "Not covered": the key is valid but covers no MediaLab plugin, or this plugin is not part of it. Check the licence in your account.
  • "Not activated": the server id does not match an activation of the key; open the License page of any installed plugin and activate it once with the same key.
  • The download fails: the signed link expires after 30 minutes; click Reload catalogue again for a new one.
  • A file is refused after download: the SHA-256 or the signature did not match; try again, and if it persists contact support.

This plugin is free. Sign in or create an account to download it — no purchase or trial needed.