Plex is not yet compatible with Blesta 6 - we're working on it.

Plex

Tired of adding and removing invites when you need to? Well now you can control access to specific servers based upon time and automatically invite/suspend/unsuspend/terminate access to your Plex servers! This module is simple to use and takes away the need for manual intervention

From £34.99 - View Pricing

Features

What Plex gives you

Per-Company Configuration

Configure it independently for each brand on a multi-company install, so every company runs with its own settings.

Fully Translatable

Every staff and client label ships in editable language files, ready to translate into any language or reword to match your brand.

Client Libraries Tab

Clients see exactly which libraries are shared with them, by name, on their own Libraries tab - with a clear message when nothing is shared yet.

Built-In Demo Mode

A built-in demo mode runs the whole extension from bundled sample data, so you can trial every screen and action before you have an account or API key.

Suspend Without Losing the Client

Suspending a service removes only the libraries that plan grants and leaves the client's Plex friendship intact, so reactivating restores their access instantly.

Library Add-Ons at Checkout

Offer extra libraries as a configurable option and they are added on top of the package's base libraries when the client orders, so upsells need no extra package.

Status at a Glance

The staff and client service pages show the invited Plex email and whether the share is currently active, so support can answer "do I have access?" without opening Plex.

Ready-Made Welcome Email

A welcome email template ships with the extension and loads onto any package in one click, already filled with the details the client needs to start using what they bought.

Full Request Logging

What it sends and what comes back is recorded in Blesta's own log, with credentials never written to it, so you can see exactly what happened without leaving your admin area.

Server Auto-Discovery

Paste your Plex token, click Fetch Servers, and pick your server from the list - the server and machine identifiers are filled in for you, and can still be typed in manually if you prefer.

Share Settings per Package

Decide per package whether subscribers may download and sync media for offline playback, whether they may upload their camera roll, and which movie and TV content ratings they are limited to.

Several Plans on One Plex Account

A client who buys more than one plan keeps everything they already have - new libraries are merged into their existing share rather than replacing it, and suspending one plan only pulls that plan's libraries.

Pick Libraries by Name

Build a package by ticking the libraries off your actual Plex server in a named picker, instead of hunting for section IDs. If the server cannot be reached the module falls back to entering IDs by hand, so package editing never blocks.

Automatic Library Sharing

A paid order invites the client's Plex email to your server and shares the libraries their package includes, with no manual invite to send. Cancelling removes the share again, and the friendship only when nothing else is shared with that account.

Blesta Club Logo

Plex

Sell access to your Plex server - every order invites the client's Plex account and shares exactly the libraries their plan includes.

What it does

Running a paid Plex server usually means manually inviting every subscriber and remembering which libraries each of them paid for - and remembering to revoke access again when they stop paying. The Plex module automates all of that: a paid order invites the client's Plex email to your server and shares the libraries their package includes, a cancelled order removes the share again, and a client who buys more than one plan keeps everything they already have rather than losing access to it.

Key features

  • Automatic Library Sharing: A paid order invites the client's Plex email to your server and shares the libraries their package includes, with no manual invite to send. Cancelling removes the share again, and the friendship only when nothing else is shared with that account.
  • Pick Libraries by Name: Build a package by ticking the libraries off your actual Plex server in a named picker, instead of hunting for section IDs. If the server cannot be reached the module falls back to entering IDs by hand, so package editing never blocks.
  • Server Auto-Discovery: Paste your Plex token, click Fetch Servers, and pick your server from the list - the server and machine identifiers are filled in for you, and can still be typed in manually if you prefer.
  • Library Add-Ons at Checkout: Offer extra libraries as a configurable option and they are added on top of the package's base libraries when the client orders, so upsells need no extra package.
  • Share Settings per Package: Decide per package whether subscribers may download and sync media for offline playback, whether they may upload their camera roll, and which movie and TV content ratings they are limited to.
  • Several Plans on One Plex Account: A client who buys more than one plan keeps everything they already have - new libraries are merged into their existing share rather than replacing it, and suspending one plan only pulls that plan's libraries.
  • Client Libraries Tab: Clients see exactly which libraries are shared with them, by name, on their own Libraries tab.
  • Built-In Demo Mode: A built-in Mock API mode runs the whole module from bundled sample data, so you can try out every screen and action before you have a Plex account or token to hand.

Installing and updating extensions can now be done automatically through the Blesta Club Subscription Manager - this is the recommended way going forward.

Blesta Club Logo

Installing Plex

Before you start

  • If you are on the leased (subscription) licence, the Blesta Club Subscription Manager must be installed and your subscription active. The owned and owned-source licences have no such requirement.
  • You will need a Plex account and its Plex Token to provision real shares. If you just want to try the module out first, you don't need one: a built-in Mock API mode runs the whole module from bundled sample data.

1. Upload the files

Upload the extension folder into your Blesta installation so it lands under your Blesta directory at:

components/modules/plex/

For example, on a typical install: /var/www/html/blesta/components/modules/plex/

2. Install it in Blesta

  1. Log in to your Blesta admin area with a staff account that has the Modules permission under the Settings group in Manage Staff Groups.
  2. Go to Settings > Company > Modules and click the Available tab.
  3. Find Plex in the list and click Install.

3. Configure it

  1. Under the Installed tab, click Manage next to Plex.
  2. Click Add Server, then enter your Plex Token. Click Fetch Servers to load the servers on your account into the Discovered Servers dropdown and pick one - the Server ID and Machine ID fields fill in for you. If discovery is unavailable you can enter these by hand (see the usage guide for where to find them).
    • To try the module without a real Plex account, tick Enable Mock API instead - the server then serves built-in sample data for every library and share action, and any token is accepted.
    • The token, Server ID and Machine ID are checked against plex.tv as soon as you save a live server, so a bad value is caught immediately rather than at the first order.
  3. Create a package on this module (or edit an existing one) and choose the Libraries it shares - a named picker lists your server's libraries by title when it can be reached, otherwise enter one library section ID per line. Set the package's share settings alongside it: Allow Downloads / Sync, Allow Camera Upload, and the Movie Rating Filter / TV Rating Filter text fields.
  4. Optionally, load the welcome email template that ships with the module onto the package from its Welcome Email tab, so new clients are emailed their Plex access details automatically.

You're ready to go - see the usage guide for a walkthrough of day-to-day use.

Installing and updating extensions can now be done automatically through the Blesta Club Subscription Manager - this is the recommended way going forward.

Blesta Club Logo

Updating Plex

Upgrading works just like installing: upload the new files over the old ones, then run the upgrade from the same page you installed it on.

  1. Back up your current extension files first - good practice before any upgrade.
  2. Upload the new version over the existing folder at components/modules/plex/, replacing the old files.
  3. Log in to your Blesta admin area and go to Settings > Company > Modules.
  4. Find Plex under the Installed tab and click Upgrade to run the upgrade, if shown.

Version-specific notes

  • Upgrading from 1.0.1: that version stored the Plex Token in plain text, listed it as a column on the Servers page, and offered it as a {module.plex_token} email tag - so it could have been mailed out or read by anyone with access to those pages. Later versions encrypt it, drop it from the Servers list and remove the email tag. Because the old token may have been exposed, sign in to Plex and sign out of the device the token belongs to (this invalidates it), get a fresh token (see the usage guide), then edit each Plex server in Blesta and paste the new token in - leaving the Token field blank keeps whatever is already stored, so nothing changes until you do this.
  • Beyond that, upgrading is drop-in - no other steps or data migrations are needed. Packages and servers saved under an older version keep working as before.

Blesta Club Logo

Using Plex

Adding a Plex server

Go to Settings > Company > Modules > Installed > Plex > Manage and click Add Server.

  1. Token: paste your Plex Token. To find it, sign in to the Plex Web App, browse to any library item, click Get Info, view the XML and locate the X-Plex-Token value in the URL.
  2. Server ID & Machine ID: click Fetch Servers. The module loads the servers on your Plex account into the Discovered Servers dropdown - pick yours and the Machine ID and Server ID fields fill in automatically. If discovery is unavailable you can still enter the values by hand: browse to https://plex.tv/api/servers?X-Plex-Token={YOUR_PLEX_TOKEN}, view the source, and find the machineIdentifier attribute on your <Server> tag.
  3. Enable Mock API (optional): tick this to have the server respond with built-in sample data instead of contacting plex.tv. Any token is accepted and no real share is ever created - use it to try the module out or demonstrate it before you have a server to point it at. Leave it unticked for live use.

The Token, Server ID and Machine ID are checked against plex.tv when you save a live server, so an incorrect value is reported straight away rather than at the first order. Editing a server later leaves the Token field blank - leave it blank to keep the one already stored, or paste a new one to replace it.

Choosing the libraries a package sells

On a package's Module settings, set which of your Plex libraries it shares:

  • Libraries: when your server can be reached, this is a named picker listing your libraries by title - tick the ones this package includes. If the server can't be reached the field falls back to a plain text box: enter one library section ID per line (find them at https://plex.tv/api/servers/{YOUR_MACHINE_ID}?X-Plex-Client-Identifier=Blesta&X-Plex-Token={YOUR_PLEX_TOKEN}, inside the <Server> tag as <Section id>). At least one library is required.
  • Share settings, on the same page: Allow Downloads / Sync and Allow Camera Upload are on/off, and Movie Rating Filter / TV Rating Filter accept a Plex content-rating string, if you want to cap what subscribers on this package can see.

Selling extra libraries as an add-on (optional)

Create a Blesta configurable option named libraries, of type Select or Checkbox (not Text - see below), whose option values are the library section IDs you're willing to sell, and attach it to the package. A client who picks it at order time gets those libraries in addition to the package's base set.

Use Select or Checkbox rather than Text: a Text option lets a client type any value themselves. The module won't honour a library ID your server doesn't publish, but only the option type stops a client from requesting a library you sell elsewhere but didn't mean to include in this add-on.

Managing an order

Placing, suspending, unsuspending and cancelling a service works the same as any other Blesta module:

  • Ordering invites the client's Plex email to your server (or merges into their existing share, if that email already holds another service on the same server) and grants the package's libraries plus any add-on libraries chosen at checkout.
  • Suspending removes only the libraries this particular package granted - it never removes the client's Plex friendship, so reactivating restores their access instantly and any other service on the same email is untouched.
  • Cancelling removes the share, and removes the Plex friendship itself only if the client has no other share left on the account.
  • Opening a service from the client's profile and going to its Upgrade/Downgrade panel shows the module's own Plex ID and Plex Email fields. Plex ID is a staff-only escape hatch for attaching an existing share by its ID without going through the API - leave it blank to let the module create the share normally.

Clicking a Plex service in the client's profile Services list expands an inline panel showing the invited Plex Email, the Plex Share ID, and whether the share is currently Active or Inactive, so you can answer "does this client have access?" without opening Plex.

For your clients

Clicking a Plex service on their own Services page expands the same kind of panel, showing their invited Plex Email and Active/Inactive status (the Plex Share ID is admin-only and isn't shown to them). Opening the service's Libraries tab lists exactly which libraries are currently shared with them, by name - or a message saying none are shared yet, if the share hasn't been granted, or has since been suspended or cancelled.

Email tags

If you write your own service or welcome email templates, these merge fields are available:

  • {module.server_id} and {module.machine_id} - the Plex server's ID and machine identifier.
  • {package.libraries} - the package's configured library IDs.
  • {service.plex_email} and {service.plex_id} - the subscriber's invited Plex email and share ID.

A ready-made welcome email is included with the module - open a package's Welcome Email tab and click Load Sample Email to use it as a starting point.

Good to know

  • Mock mode is per-server: any server with Enable Mock API ticked serves sample data for every package and service that uses it, so you can build and test packages, orders, suspends and cancels end to end with no Plex account at all.
  • A service that was provisioned while its server was in Mock API mode keeps serving mock data for that service even if you later switch the server to live - it won't suddenly try to act on a real Plex account.

v2.0.0 - 2026-09-11

PHP 7.2 - 7.4, 8.1 - 8.4 · Blesta 5.x

Fixed a client being able to attach their service to any share on your Plex account, exposing another subscriber's library names and revoking their access when the service was cancelled
Fixed cancelling a service doing nothing at all when its Plex email had been changed since the share was created, leaving the subscriber with access indefinitely
Fixed failed Plex requests reporting an empty error box instead of the reason the request failed
Added server auto-discovery on the server form, so you pick your Plex server from a list instead of hunting for its IDs
Added a named library picker for packages, replacing the raw list of section IDs when your server can be reached
Added library add-ons via configurable options, so clients can buy extra libraries on top of a package at order time
Added package share settings for downloads/sync, camera upload and movie/TV rating filters
Added service information panels and a client Libraries tab showing the libraries shared with each subscriber
Added a welcome email sample, loadable onto any package from its Welcome Email tab, carrying the subscriber's Plex access details and how to accept the invite
Fixed the Fetch Servers discovery on the Edit Server form using the previously-saved Mock API setting instead of the one just selected, when Mock API had just been unticked
Fixed a cancelled service's summary continuing to show as Active with its old share details instead of reflecting the cancellation

v1.0.0 - 2024-09-22

PHP 7.2 - 7.3, 8.1 - 8.4 · Blesta 5.x

Blesta Club release

Pricing Options

Get exactly what you need and want.

Requires PHP 7.2 - 7.4, 8.1 - 8.4 · Blesta 5.x

Included In

Value: £65.55

£24.99
per month
  • +58 Other Extensions
  • Additional Discounts
  • Included Support & Updates
Leased
£34.99
per year
  • Partially Encoded
  • Full Functionality
  • Included Support & Updates
Owned
£100
one time
  • Partially Encoded
  • Buy Once Use Forever
  • 1 Year Support & Updates
Owned - Source
£200
one time
  • Source Available
  • Buy Once Use Forever
  • 1 Year Support & Updates

Not sure whether to lease or own? Our FAQ explains how the licence types differ.

Reviews

What our customers say

(0 customer reviews)

Seems like this extension doesn't have reviews yet...
Be one of the firsts to leave a review!

It is possible to leave a review only if you have purchased this extension or a Club tier which contains it.
We reserve the right to alter wording or formatting for presentation.
We will discuss any changes made and offer the option to withdraw review text if the changes can't be agreed on.
It may take up to 1 hour for a review to appear or update due to caching.

You might also like

More extensions to explore

Blesta 5

Module

BunnyDNS

Integrate BunnyDNS for automatic DNS provisioning and management.

PHP 7.2 - 7.4, 8.1 - 8.4 · Blesta 5.x

Blesta 5

Module

Cloudmini

Integrate Cloudmini for automatic cloud hosting provisioning.

PHP 7.2 - 7.4, 8.1 - 8.4 · Blesta 5.x

Blesta 5

Module

Convoy Panel

Provision servers using Convoy, a Proxmox based VPS management panel

PHP 7.2 - 7.4, 8.1 - 8.4 · Blesta 5.x

Blesta 5

Module

Datalix

Integrate Datalix module into your Blesta install to provision VPS servers.

PHP 7.2 - 7.4, 8.1 - 8.4 · Blesta 5.x

Blesta 6

Module

Enhance

(1)

Integrate Enhance for automatic provisioning and management.

PHP 8.2 - 8.4 · Blesta 6.x

Blesta 5

Module

Hetzner Cloud

Integrate Hetzner Cloud for automatic server provisioning.

PHP 7.2 - 7.4, 8.1 - 8.4 · Blesta 5.x