A combined docker image for the unified deployment of itsToggle's projects -- plex_debrid and rclone_RD
- 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_other
applied 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
A prebuilt image is hosted on docker hub
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 -t yourimagename https://github.com/I-am-PUID-0/pdrcrd.git
Shell script to install docker and/or pdrcrd. See the pdrcrd Wiki for details.
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
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 | |
✔️ | ✔️ |
AD_API_KEY |
AllDebrid API key | |
✔️ | ✔️ |
RCLONE_MOUNT_NAME |
A name for the rclone mount | |
✔️ | |
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 | |
✔️ | |
PLEX_TOKEN |
The Plex Token associated with PLEX_USER | |
✔️ | |
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., / |
|
✔️ | |
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 |
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 |
See the pdrcrd roadmap for a list of planned features and enhancements.
pdrcrd allows for the simultaneous or individual deployment of plex_debrid and/or rclone_RD
For additional details on deployment, see the pdrcrd Wiki
- For questions related to pdrcrd, see the GitHub discussions
- or create a new issue if you find a bug or have an idea for an improvement.
- or join the pdrcrd discord server
- For questions related to plex_debrid, see the GitHub discussions
- or create a new issue if you find a bug or have an idea for an improvement.
- or join the plex_debrid discord server
Buy itsToggle a beer/coffee? :)
If you enjoy the underlying projects and want to buy itsToggle a beer/coffee, feel free to use his real-debrid affiliate link or send him a virtual beverage via PayPal :)