{"id":13624222,"url":"https://github.com/I-am-PUID-0/pdrcrd","last_synced_at":"2025-04-15T20:33:36.900Z","repository":{"id":149748827,"uuid":"621103886","full_name":"I-am-PUID-0/pdrcrd","owner":"I-am-PUID-0","description":"A combined docker image for the unified deployment of itsToggle's projects -- plex_debrid and rclone_RD","archived":false,"fork":false,"pushed_at":"2024-01-22T17:41:17.000Z","size":105,"stargazers_count":86,"open_issues_count":11,"forks_count":10,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-13T18:01:32.597Z","etag":null,"topics":["api","debrid","docker","movies","overseerr","plex","prowlarr","radarr","rclone","rclone-mount","realdebrid","sonarr","streaming","tv","wsl-ubuntu","wsl2"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/I-am-PUID-0.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-03-30T02:03:45.000Z","updated_at":"2025-04-12T10:47:37.000Z","dependencies_parsed_at":"2024-08-01T21:44:35.616Z","dependency_job_id":null,"html_url":"https://github.com/I-am-PUID-0/pdrcrd","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/I-am-PUID-0%2Fpdrcrd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/I-am-PUID-0%2Fpdrcrd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/I-am-PUID-0%2Fpdrcrd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/I-am-PUID-0%2Fpdrcrd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/I-am-PUID-0","download_url":"https://codeload.github.com/I-am-PUID-0/pdrcrd/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249148448,"owners_count":21220536,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","debrid","docker","movies","overseerr","plex","prowlarr","radarr","rclone","rclone-mount","realdebrid","sonarr","streaming","tv","wsl-ubuntu","wsl2"],"created_at":"2024-08-01T21:01:40.207Z","updated_at":"2025-04-15T20:33:36.525Z","avatar_url":"https://github.com/I-am-PUID-0.png","language":"Python","funding_links":["https://www.paypal.com/paypalme/oidulibbe"],"categories":["Python"],"sub_categories":[],"readme":"# pdrcrd\n\n## Description\nA combined docker image for the unified deployment of **[itsToggle's](https://github.com/itsToggle)** projects -- **[plex_debrid](https://github.com/itsToggle/plex_debrid)** and **[rclone_RD](https://github.com/itsToggle/rclone_RD)**\n\n\n## Features\n - [Optional independent or combined utilization of rclone_RD and plex_debrid](https://github.com/I-am-PUID-0/pdrcrd/wiki#optional-independent-or-combined-utilization-of-rclone_rd-and-plex_debrid)\n - [Simultaneous independent rclone_RD mounts](https://github.com/I-am-PUID-0/pdrcrd/wiki#simultaneous-independent-rclone_rd-mounts)\n - [Bind-mounts rclone_RD to the host](https://github.com/I-am-PUID-0/pdrcrd/wiki#bind-mounts-rclone_rd-to-the-host)\n - [Debrid service API Key passed to rclone_rd and plex_debrid via docker environment variable](https://github.com/I-am-PUID-0/pdrcrd/wiki#debrid-api-key-passed-to-rclone_rd-and-plex_debrid-via-docker-environment-variable)\n - [rclone_RD config automatically generated](https://github.com/I-am-PUID-0/pdrcrd/wiki#rclone_rd-config-automatically-generated)\n - [rclone_RD flags passed via docker environment variable](https://github.com/I-am-PUID-0/pdrcrd/wiki#rclone_rd-flags-passed-via-docker-environment-variable)\n - [Fuse.conf ```user_allow_other``` applied within the container vs. the host](https://github.com/I-am-PUID-0/pdrcrd/wiki#fuseconf-user_allow_other-applied-within-the-container-vs-the-host)\n - [Plex server values passed to plex_debrid settings.json via docker environment variables](https://github.com/I-am-PUID-0/pdrcrd/wiki#plex-server-values-passed-to-plex_debrid-settingsjson-via-docker-environment-variables)\n - [Automatic Update of plex_debrid to the latest version](https://github.com/I-am-PUID-0/pdrcrd/wiki#automatic-update-of-plex_debrid-to-the-latest-version)\n - [Use of .env file for setting environment variables](https://github.com/I-am-PUID-0/pdrcrd/wiki#use-of-env-file-for-setting-environment-variables)\n - [Duplicate Cleanup](https://github.com/I-am-PUID-0/pdrcrd/wiki#duplicate-cleanup) \n\n## Docker Hub\nA prebuilt image is hosted on [docker hub](https://hub.docker.com/r/iampuid0/pdrcrd) \n\n\n## Docker-compose\n```\nservices:\n  pdrcrd:\n    container_name: pdrcrd\n    image: iampuid0/pdrcrd:latest  \n    stdin_open: true # docker run -i\n    tty: true        # docker run -t    \n    volumes:\n      - your/host/path/config:/config\n      - your/host/path/log:/log\n      - your/host/path/mnt:/data:shared\n    environment:\n      - TZ=\n      - RD_API_KEY=\n      - RCLONE_MOUNT_NAME=\n      - RCLONE_DIR_CACHE_TIME=10s\n      - PLEX_USER=\n      - PLEX_TOKEN=\n      - PLEX_ADDRESS=\n    devices:\n      - /dev/fuse:/dev/fuse:rwm\n    cap_add:\n      - SYS_ADMIN     \n    security_opt:\n      - apparmor:unconfined    \n      - no-new-privileges\n#    restart: unless-stopped\n```\n\n## Docker Build\n\n### Docker CLI\n\n```\ndocker build -t yourimagename https://github.com/I-am-PUID-0/pdrcrd.git\n```\n\n## Install script for Ubuntu and/or WSL\nShell script to install docker and/or pdrcrd. See the [pdrcrd Wiki](https://github.com/I-am-PUID-0/pdrcrd/wiki/Setup-Guides#install-script-for-ubuntu-andor-wsl) for details.\n\n## Automatic Updates\nIf you would like to enable automatic updates for plex_debrid, utilize the ```AUTO_UPDATE``` environment variable. \nAdditional details can be found in the [pdrcrd Wiki](https://github.com/I-am-PUID-0/pdrcrd/wiki/Settings#automatic-updates)\n\n\n## Environment Variables\n\nTo customize some properties of the container, the following environment\nvariables 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](https://github.com/I-am-PUID-0/pdrcrd/wiki/Settings#use-of-env-file-for-setting-environment-variables).  Value\nof this parameter has the format `\u003cVARIABLE_NAME\u003e=\u003cVALUE\u003e`.\n\n| Variable       | Description                                  | Default | Required for rclone_RD| Required for plex_debrid|\n|----------------|----------------------------------------------|---------|:-:|:-:|\n|`TZ`| [TimeZone](http://en.wikipedia.org/wiki/List_of_tz_database_time_zones) used by the container | ` ` |\n|`RD_API_KEY`| [RealDebrid API key](https://real-debrid.com/apitoken) | ` ` | :heavy_check_mark:| :heavy_check_mark:|\n|`AD_API_KEY`| [AllDebrid API key](https://alldebrid.com/apikeys/) | ` ` | :heavy_check_mark:| :heavy_check_mark:|\n|`RCLONE_MOUNT_NAME`| A name for the rclone mount | ` ` | :heavy_check_mark:|\n|`RCLONE_LOG_LEVEL`| [Log level](https://rclone.org/docs/#log-level-level) for rclone | `NOTICE` |\n|`RCLONE_LOG_FILE`| [Log file](https://rclone.org/docs/#log-file-file) for rclone | ` ` |\n|`RCLONE_DIR_CACHE_TIME`| [How long a directory should be considered up to date and not refreshed from the backend](https://rclone.org/commands/rclone_mount/#vfs-directory-cache) #optional, but recommended is 10s. | `5m` |\n|`RCLONE_CACHE_DIR`| [Directory used for caching](https://rclone.org/docs/#cache-dir-dir). | ` ` |\n|`RCLONE_VFS_CACHE_MODE`| [Cache mode for VFS](https://rclone.org/commands/rclone_mount/#vfs-file-caching) | ` ` |\n|`RCLONE_VFS_CACHE_MAX_SIZE`| [Max size of the VFS cache](https://rclone.org/commands/rclone_mount/#vfs-file-caching) | ` ` |\n|`RCLONE_VFS_CACHE_MAX_AGE`| [Max age of the VFS cache](https://rclone.org/commands/rclone_mount/#vfs-file-caching) | ` ` |\n|`PLEX_USER`| The [Plex USERNAME](https://app.plex.tv/desktop/#!/settings/account) for your account | ` ` || :heavy_check_mark:|\n|`PLEX_TOKEN`| The [Plex Token](https://support.plex.tv/articles/204059436-finding-an-authentication-token-x-plex-token/) associated with PLEX_USER | ` ` || :heavy_check_mark:|\n|`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:|\n|`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` |\n|`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` |\n|`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` |\n|`AUTO_UPDATE_INTERVAL`| Interval between automatic update checks in hours. Vaules can be any positive [whole](https://www.oxfordlearnersdictionaries.com/us/definition/english/whole-number) or [decimal](https://www.oxfordreference.com/display/10.1093/oi/authority.20110803095705740;jsessionid=3FDC96CC0D79CCE69702661D025B9E9B#:~:text=The%20separator%20used%20between%20the,number%20expressed%20in%20decimal%20representation.) point based number. Ex. a value of .5 would yield thirty minutes and 1.5 would yield one and a half hours | `24` |\n|`DUPLICATE_CLEANUP`| Automated cleanup of duplicate content in Plex.  | `false` |\n|`CLEANUP_INTERVAL`| Interval between duplicate cleanup in hours. Vaules can be any positive [whole](https://www.oxfordlearnersdictionaries.com/us/definition/english/whole-number) or [decimal](https://www.oxfordreference.com/display/10.1093/oi/authority.20110803095705740;jsessionid=3FDC96CC0D79CCE69702661D025B9E9B#:~:text=The%20separator%20used%20between%20the,number%20expressed%20in%20decimal%20representation.) point based number. Ex. a value of .5 would yield thirty minutes and 1.5 would yield one and a half hours | `24` |\n|`PDRCRD_LOG_LEVEL`| The level at which logs should be captured. See the python [Logging Levels](https://docs.python.org/3/library/logging.html#logging-levels) documentation for more details  | `INFO` |\n|`PDRCRD_LOG_COUNT`| The number logs to retain. Result will be value + current log  | `2` |\n\n## Data Volumes\n\nThe following table describes data volumes used by the container.  The mappings\nare set via the `-v` parameter or via the docker-compose file within the ```volumes:``` section.  Each mapping is specified with the following\nformat: `\u003cHOST_DIR\u003e:\u003cCONTAINER_DIR\u003e[:PERMISSIONS]`.\n\n| Container path  | Permissions | Description |\n|-----------------|-------------|-------------|\n|`/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 |\n|`/log`| rw | This is where the application stores its log files |\n|`/mnt`| rw | This is where rclone_RD will be mounted. Not required when only utilizing plex_debrid   |\n\n## TODO\n\nSee the [pdrcrd roadmap](https://github.com/users/I-am-PUID-0/projects/2) for a list of planned features and enhancements.\n\n## Deployment\n\npdrcrd allows for the simultaneous or individual deployment of plex_debrid and/or rclone_RD\n\nFor additional details on deployment, see the [pdrcrd Wiki](https://github.com/I-am-PUID-0/pdrcrd/wiki/Settings#deployment)\n## Community\n\n### pdrcrd\n- For questions related to pdrcrd, see the GitHub [discussions](https://github.com/I-am-PUID-0/pdrcrd/discussions)\n- or create a new [issue](https://github.com/I-am-PUID-0/pdrcrd/issues) if you find a bug or have an idea for an improvement.\n- or join the pdrcrd [discord server](https://discord.gg/n5nQRYtrw2)\n\n### plex_debrid\n- For questions related to plex_debrid, see the GitHub [discussions](https://github.com/itsToggle/plex_debrid/discussions) \n- or create a new [issue](https://github.com/itsToggle/plex_debrid/issues) if you find a bug or have an idea for an improvement.\n- or join the plex_debrid [discord server](https://discord.gg/u3vTDGjeKE) \n\n\n## Buy **[itsToggle](https://github.com/itsToggle)** a beer/coffee? :)\n\nIf you enjoy the underlying projects and want to buy itsToggle a beer/coffee, feel free to use his real-debrid [affiliate link](http://real-debrid.com/?id=5708990) or send him a virtual beverage via [PayPal](https://www.paypal.com/paypalme/oidulibbe) :)\n\n\n## GitHub Workflow Status\n![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/I-am-PUID-0/pdrcrd/docker-image.yml)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FI-am-PUID-0%2Fpdrcrd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FI-am-PUID-0%2Fpdrcrd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FI-am-PUID-0%2Fpdrcrd/lists"}