Cleanplex

Cleanplex

Docker app from cleanplex's Repository

Overview

Skips or mutes scenes you choose (nudity, violence, profanity and more) in Plex, for every client, including Plex Web. Cleanplex scans your library ahead of time and puts a filtering front door in front of Plex. On first start it reads Plex's URL, token and certificate from Plex's appdata folder, so there is nothing to configure by hand. Needs Plex to run on this server with host networking (the Unraid default); see the project page for the bridge-mode alternative.

Cleanplex templates for Unraid

Community Apps template for Cleanplex, which skips or mutes scenes you choose (nudity, violence, profanity and more) in Plex for every client, including Plex Web.

Requirements

  • Plex Media Server on this Unraid server with host networking (the Unraid default), claimed (signed in) so it has created its certificate.
  • A kernel with nftables for the firewall redirect. Without it, run the container without CLEANPLEX_REDIRECT (scan and mark only) or see the Cleanplex README for the bridge-mode layout.

Install

Apps tab, search Cleanplex, Install. Set:

  • Plex appdata (read only): Plex's appdata folder (the one containing Library/Application Support/Plex Media Server).
  • Media: your media at the same path Plex sees it at, because Plex reports file paths and Cleanplex opens them to scan. Add one entry per Plex media mount.

On first start Cleanplex reads Plex's URL, token and certificate from Plex's appdata, starts its front door, turns enforcement on and switches Plex Relay and DLNA off. Nothing else needs configuring.

Support

github.com/nazmolla/Cleanplex/issues

Requirements

Plex Media Server running on this server with host networking, and claimed (signed in) so it has created its certificate.

Related apps

Details

Repository
ghcr.io/nazmolla/cleanplex:latest
Last Updated2026-11-11
First Seen2026-11-11

Runtime arguments

Web UI
http://[IP]:[PORT:7979]/
Network
host
Shell
bash
Privileged
false
Extra Params
--cap-add=NET_ADMIN

Template configuration

Web UI portVariable

Port of the Cleanplex web UI (host network: the container uses it directly).

Target
CLEANPLEX_PORT
Default
7979
Value
7979
Cleanplex dataPathrw

Database, thumbnails and models.

Target
/data
Default
/mnt/user/appdata/cleanplex
Value
/mnt/user/appdata/cleanplex
Plex appdata (read only)Pathro

Plex's appdata folder: the one that contains 'Library/Application Support/Plex Media Server'. Cleanplex reads the URL, token and certificate from it.

Target
/plex-config
Default
/mnt/user/appdata/plex
Value
/mnt/user/appdata/plex
Media (same path as Plex)Pathro

Mount your media at the SAME path Plex sees it at, because Plex reports file paths and Cleanplex opens them to scan. Add one entry per Plex media mount, with the container path equal to Plex's.

Target
/mnt/user/media
Default
/mnt/user/media
Value
/mnt/user/media
CLEANPLEX_PLEX_DATAVariable

Where the Plex appdata is mounted. Leave as is.

Default
/plex-config
Value
/plex-config
CLEANPLEX_REDIRECTVariable

nft sends other machines' traffic for Plex's port 32400 through the Cleanplex front door and removes the rule when the container stops. Clear it to run without redirect (scan and mark only).

Default
nft
Value
nft
CLEANPLEX_FRONTDOORVariable

0 runs without the front door (no stream filtering).

Default
1
Value
1
CLEANPLEX_CONFIGURE_PLEXVariable

1 switches Plex Relay and DLNA off on the first start (they bypass the front door). 0 leaves Plex's settings alone.

Default
1
Value
1
PUIDVariable

User id to run as. Empty uses the owner of Plex's appdata (Unraid: 99).

PGIDVariable

Group id to run as. Empty uses the group of Plex's appdata (Unraid: 100).