Skip to content
I-am-PUID-0 edited this page Aug 10, 2023 · 11 revisions

So what does all this do!?

The two underlying projects -- plex_debrid and rclone_RD -- produced by itsToggle allow for "Plex/Emby/Jellyfin/Infuse torrent streaming through Debrid Services, using Plex Discover Watchlists, Trakt lists and Overseerr."

A flowchart depicting the typical process is shown below:

image

So what does pdrcrd do!?

pdrcrd leverages plex_debrid and rclone_RD, combining them into a single docker image for faster deployment.

pdrcrd provides a simplified deployment by automatically performing much of the configuration that would otherwise require manual processes.

pdrcrd also provides the following features:

Bind-mounts rclone_RD to the host:

Two options exist for utilizing rclone_RD mounts with docker; volumes and bind-mounts. While both have advantages and disadvantages, bind-mounts are utilized with pdrcrd to allow for additional functionality, such as defining the mount location or utilizing SMB or other network shares.

To learn more about volumes and bind-mounts, see the docker docs

Simultaneous independent rclone_RD mounts:

RealDebrid and AllDebrid services are supported with pdrcrd. Moreover, those services can be mounted simultaneously within a single pdrcrd container.

For more details, see the singular or multiple rclone_RD debrid service mounts section of the wiki.

Debrid API Key passed to rclone_rd and plex_debrid via docker environment variable:

The typical process for setting up plex_debrid and rclone_RD requires the entry of the Debrid API Key during initial setup.

With pdrcrd, the Debrid API Key is passed via the docker environment variable to both programs during the container's startup, allowing for the quick alteration of the Debrid API Key; this is particularly useful if you need to reset your Debrid API Key (or changed your Debrid password) or have multiple Debrid accounts.

rclone_RD config automatically generated:

The typical initial configuration for rclone_RD requires a multi-step process to create the rclone.config file.

The rclone.config takes the form below once the configuration is completed.

[mount name]
type = service type
api_key = Debrid API Key

With pdrcrd, the rclone.config is automatically generated during the container's startup, allowing for the quick alteration of the rclone mount name and Debrid API Key.

rclone_RD flags passed via docker environment variable:

"Every option in rclone can have its default set by environment variable.

To find the name of the environment variable, first, take the long option name, strip the leading --, change - to _, make upper case and prepend RCLONE_."

Passing rclone flags via the docker environment variables alleviates the need to modify the CLI command for rclone.

To learn more about rclone environment variables, see the rclone docs

Fuse.conf user_allow_other applied within the container vs. the host:

Future capabilities

Plex server values passed to plex_debrid settings.json via docker environment variables:

As with rclone_RD, plex_debrid requires a multi-step process during the initial setup before it can be utilized.

While the in-built setup for plex_debrid is relatively intuitive, some may have issues or not want to go through the setup process.

The result of performing the initial setup -- for either pdrcrd or plex_debrid -- is the generation of a settings.json file that is utilized by plex_debrid to retain user settings.

Note: Due to the way in which plex_debrid is configured, a minimum set of values is required within the settings.json before it will run. As such, default values are assigned at the container's startup if it detects that the settings.json does not yet exist in the config folder.

The default values can be changed through the in-built user interface for plex_debrid by attaching to the running container -- you may have to press the return/Enter once before the prompt displays -- and following the onscreen prompts.

To view the default values utilized for plex_debrid with pdrcrd, see the settings-default.json

Automatic update of plex_debrid to the latest version:

If enabled, pdrcrd will check at a user or default-defined interval for updates to plex_debrid and automatically apply them without needing to restart the container or pull a new image.

for more information, see the wiki's automatic-updates section.

Optional independent or combined utilization of rclone_RD and plex_debrid:

While a single image/container deployment of both plex_debrid and rclone_RD may have benefits, there are use cases where the ability to deploy either of the programs independently is also of benefit.

As such, please see the wiki's deployment section for more details.

Use of .env file for setting environment variables

A .env file containing the environment variables for pdrcrd can be passed into the container via the /config directory for the container.

See the .env file section of the wiki for more details.

Duplicate Cleanup

The duplicate cleanup process will automatically identify any duplicates that exist in two separate directories, the rclone mount used for the debris service and any other directory location. It then deletes the duplicates from the rclone mount used for the debris service, preserving the files from any other directory.

This feature is geared toward those that utilize plex_debird and rclone_RD alongside the *arrs or similar processes that yield files vs. streaming links. To utilizes this feature, see the Duplicate Cleanup section of the wiki.