Pdrcrd
A combined docker image for the unified deployment of itsToggle's projects -- plex_debrid and rclone_RD
Install / Use
/learn @I-am-PUID-0/PdrcrdREADME
pdrcrd
Description
A combined docker image for the unified deployment of itsToggle's projects -- plex_debrid and rclone_RD
[!IMPORTANT] pdrcrd is deprecated, but may still continue to function.
[!TIP]
If you're looking for an all-in-one solution that includes a media server directly inside the container — fully integrated with Riven, cli_debrid, Decypharr, Zurg, rclone, and more!?
Check out DUMB (Debrid Unlimited Media Bridge)
⚙️ DUMB includes:
A Web UI for service management, logs, and other useful features
Plex Media Server, Emby, and Jellyfin
Most common arr-based services (Sonarr, Radarr, Lidarr, etc.)
Built-in support for Debrid workflows
Single-container deployment for easier onboarding
Tight integration between media prep, serving, and metadata handling
Features
- Optional independent or combined utilization of rclone_RD and plex_debrid
- Simultaneous independent rclone_RD mounts
- Bind-mounts rclone_RD to the host
- Debrid service API Key passed to rclone_rd and plex_debrid via docker environment variable
- rclone_RD config automatically generated
- rclone_RD flags passed via docker environment variable
- Fuse.conf
user_allow_otherapplied within the container vs. the host - Plex server values passed to plex_debrid settings.json via docker environment variables
- Automatic Update of plex_debrid to the latest version
- Use of .env file for setting environment variables
- Duplicate Cleanup
Docker Hub
A prebuilt image is hosted on docker hub
Docker-compose
services:
pdrcrd:
container_name: pdrcrd
image: iampuid0/pdrcrd:latest
stdin_open: true # docker run -i
tty: true # docker run -t
volumes:
- your/host/path/config:/config
- your/host/path/log:/log
- your/host/path/mnt:/data:shared
environment:
- TZ=
- RD_API_KEY=
- RCLONE_MOUNT_NAME=
- RCLONE_DIR_CACHE_TIME=10s
- PLEX_USER=
- PLEX_TOKEN=
- PLEX_ADDRESS=
devices:
- /dev/fuse:/dev/fuse:rwm
cap_add:
- SYS_ADMIN
security_opt:
- apparmor:unconfined
- no-new-privileges
# restart: unless-stopped
Docker Build
Docker CLI
docker build -t yourimagename https://github.com/I-am-PUID-0/pdrcrd.git
Install script for Ubuntu and/or WSL
Shell script to install docker and/or pdrcrd. See the pdrcrd Wiki for details.
Automatic Updates
If you would like to enable automatic updates for plex_debrid, utilize the AUTO_UPDATE environment variable.
Additional details can be found in the pdrcrd Wiki
Environment Variables
To customize some properties of the container, the following environment
variables can be passed via the -e parameter (one for each variable), or via the docker-compose file within the environment: section, or with a .env file saved to the config directory -- See the wiki for more info on using the .env. Value
of this parameter has the format <VARIABLE_NAME>=<VALUE>.
| Variable | Description | Default | Required for rclone_RD| Required for plex_debrid|
|----------------|----------------------------------------------|---------|:-:|:-:|
|TZ| TimeZone used by the container | |
|RD_API_KEY| RealDebrid API key | | :heavy_check_mark:| :heavy_check_mark:|
|AD_API_KEY| AllDebrid API key | | :heavy_check_mark:| :heavy_check_mark:|
|RCLONE_MOUNT_NAME| A name for the rclone mount | | :heavy_check_mark:|
|RCLONE_LOG_LEVEL| Log level for rclone | NOTICE |
|RCLONE_LOG_FILE| Log file for rclone | |
|RCLONE_DIR_CACHE_TIME| How long a directory should be considered up to date and not refreshed from the backend #optional, but recommended is 10s. | 5m |
|RCLONE_CACHE_DIR| Directory used for caching. | |
|RCLONE_VFS_CACHE_MODE| Cache mode for VFS | |
|RCLONE_VFS_CACHE_MAX_SIZE| Max size of the VFS cache | |
|RCLONE_VFS_CACHE_MAX_AGE| Max age of the VFS cache | |
|PLEX_USER| The Plex USERNAME for your account | || :heavy_check_mark:|
|PLEX_TOKEN| The Plex Token associated with PLEX_USER | || :heavy_check_mark:|
|PLEX_ADDRESS| The URL of your Plex server. Example: http://192.168.0.100:32400 or http://plex:32400 - format must include http:// or https:// and have no trailing characters after the port number (32400). E.g., / | || :heavy_check_mark:|
|SHOW_MENU| Enable the plex_debrid menu to show upon startup, requiring user interaction before the program runs. Conversely, if the plex_debrid menu is disabled, the program will automatically run upon successful startup. If used, the value must be true or false | true |
|PD_LOGFILE| Log file for plex_debrid. The log file will appear in the /config as plex_debrid.log. If used, the value must be true or false | false |
|AUTO_UPDATE| Enable automatic updates of plex_debrid. Adding this variable will enable automatic updates to the latest version of plex_debrid locally within the container. No values are required. | false |
|AUTO_UPDATE_INTERVAL| Interval between automatic update checks in hours. Vaules can be any positive whole or decimal point based number. Ex. a value of .5 would yield thirty minutes and 1.5 would yield one and a half hours | 24 |
|DUPLICATE_CLEANUP| Automated cleanup of duplicate content in Plex. | false |
|CLEANUP_INTERVAL| Interval between duplicate cleanup in hours. Vaules can be any positive whole or decimal point based number. Ex. a value of .5 would yield thirty minutes and 1.5 would yield one and a half hours | 24 |
|PDRCRD_LOG_LEVEL| The level at which logs should be captured. See the python Logging Levels documentation for more details | INFO |
|PDRCRD_LOG_COUNT| The number logs to retain. Result will be value + current log | 2 |
Data Volumes
The following table describes data volumes used by the container. The mappings
are set via the -v parameter or via the docker-compose file within the volumes: section. Each mapping is specified with the following
format: <HOST_DIR>:<CONTAINER_DIR>[:PERMISSIONS].
| Container path | Permissions | Description |
|-----------------|-------------|-------------|
|/config| rw | This is where the application stores the rclone.conf, plex_debrid settings.json, and any files needing persistence. CAUTION: rclone.conf is overwritten upon start/restart of the container. Do NOT use an existing rclone.conf file if you have other rclone services |
|/log| rw | This is where the application stores its log files |
|/mnt| rw | This is where rclone_RD will be mounted. Not required when only utilizing plex_debrid |
TODO
See the pdrcrd roadmap for a list of planned features and enhancements.
Deployment
pdrcrd allows for the simultaneous or individual deployment of plex_d
