MediaLab Marketplace — 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
mlprodcontainer (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*"orGet-Service | Where-Object DisplayName -like "*Jellyfin*".
Using it
- Open the admin dashboard → MediaLab Marketplace.
- Paste the licence key (bundle) and click Save. The key is stored encrypted, never in plain text.
- Click Reload catalogue: you see every plugin covered by the licence, its installed version and the latest one.
- Install / Update / Roll back / Uninstall from the buttons on each row.
- 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.
- 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 thecf-rayand 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 isC:\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.