All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Issue #68 Docker Compose fetches incorrect architecture binary on Raspbian arm64 🛠️
- Issue #69 Dockerfile pulling the wrong zurg architecture, when running on aarch64 🛠️
- plex_debrid: Pulled in elfhosted fork of plex_debrid as the base plex_debrid within the pd_zurg image 🔄
- TRAKT_CLIENT_ID: Environment variable to set the trakt client ID for plex_debrid 📊 - when not set, it will use itsToggle's trakt client ID and secret
- TRAKT_CLIENT_SECRET: Environment variable to set the trakt client secret for plex_debrid 📊 - when not set, it will use itsToggle's trakt client ID and secret
- Per elfhosted, below are the improvements made to the plex_debrid fork:
- ✅ Support ElfHosted internal URLs for Plex, Jellyfin, Overseerr, Jackett, Prowlarr by default.
- ✅ Trakt OAuth fixed (by passing your own client ID / secret in ENV vars).
- ✅ Integrated with Zilean for scraping DebridMediaManager (DMM) public hashes, defaults to ElfHosted internal Zilean service.
- ✅ Parametize watchlist loop interval (defaults to 30s instead of hard-coded 30 min)
- ✅ Single episode downloads fixed
- Zilean support is not yet implemented in pd_zurg, but will be in a future release
- healthcheck: Fixed healthcheck for zurg w/ armv7 🛠️
- plex_debrid: Debug printing for plex_debrid no longer linked to PDZURG_LOG_LEVEL 🐞
- Downloader: Add linux-arm-7 to get_architecture function 📦
- PD_LOG_LEVEL: Environment variable to set the log level for plex_debrid - Only DEBUG and INFO are supported for plex_debrid ; Default is INFO 📊
- Suppress Logs: If the LOG_LEVEL for a process is set to OFF, then logs will be suppressed for the process 🤫
- Zurg: Check for arm-7 architecture for compatibility with armv7 devices and set
ln -sf /lib/ld-musl-armhf.so.1 /lib/ld-linux-armhf.so.3
🛠️
- Setting RCLONE_LOG_LEVEL to OFF will break rclone - will patch in future release
- Thank you @barneyphife for the support with the armV7 compatibility 🙏
- Refactored to use additional common functions under utils 🛠️
- Update process: Refactored update process to apply updates to Zurg and plex_debrid before starting the processes 🔄
- Ratelimit for GitHub API requests ⏳
- Retries for GitHub API requests 🔁
- plex_debrid: Debug printing for plex_debrid linked to PDZURG_LOG_LEVEL 🐞
- Zurg: Add plex_update.sh from Zurg to working directory for Zurg use 📦
- Shutdown: Added a shutdown function to gracefully stop the pd_zurg container; e.g., unmount the rclone mounts 🛑
- ffmpeg: Added ffmpeg to the Dockerfile for Zurg use of ffprobe to extract media information from files, enhancing media metadata accuracy. 🎞️
- COLOR_LOG_ENABLED: Environment variable to enable color logging; Default is false 🌈
PR #62 - Allow nightly release custom versions for ZURG_VERSION
- PR #62 - Allow nightly release custom versions for ZURG_VERSION
- Issue #59: Added PDZURG_LOG_SIZE environment variable to set the maximum size of the log file; Default is 10MB
- Issue #60: Added PD_REPO environment variable to set the plex_debrid repository to pull from; Default is
None
- Refactored to use common functions under utils
- Dockerfile: Updated to use the python:3.11-alpine image
- plex_debrid: Updates for plex_debrid are now enabled with PD_UPDATE when PD_REPO is used
-
The PDZURG_LOG_SIZE environment variable only applies to the pd_zurg log file; not the Zurg or plex_debrid log files.
-
The PD_REPO environment variable is used to set the plex_debrid repository to pull from. If used, the value must be a comma seperated list for the GitHub username,repository_name,and optionally the branch; e.g., PD_REPO=itsToggle,plex_debrid,main - the branch is defaulted to main if not specified
-
PD_UPDATE is only functional when PD_REPO is used
- Rclone: Fixed WebDAV URL check for Zurg startup processes to accept all 2xx status codes
- Rclone: Fixed WebDAV URL check for Zurg startup processes when Zurg user and password are set in config.yml
- Zurg: Fixed the removal of Zurg user and password if previously set in config.yml
- Rclone: Introduced a Rclone startup check for the Zurg WebDAV URL to ensure the Zurg startup processes have finished before starting Rclone
- Zurg: GITHUB_TOKEN environment variable to use for access to the private sponsored zurg repository
- plex_debrid: The original plex_debird repository files are now stored within this repository. This is to ensure that if the original repository is deleted or removed from GitHub, this repository will still function. It's also simpler than maintaining a forked repository.
- plex_debrid: Updates for plex_debrid are disabled, as plex_debrid is no longer maintained.
- Issue #666 - Fixed issue with trakt sync not working properly in plex_debrid. Thanks to @mash2k3 for the fix!
- plex_debrid: plex_debrid setup process automatically checks for existing Plex libraries and adds them to settings.json for Library update services
- Zurg: Zurg setup process uncomments appropriate lines in config.yml for Zurg setup
- plex_debrid: plex_debrid setup process now checks for existing additional Plex users
- Zurg: Download release version parsing using GitHub release tags
- Healthcheck: Fixed healthcheck for rclone serve NFS
- ZURG_USER: ZURG_USER env var added to enable Zurg username for Zurg endpoints
- ZURG_PASS: ZURG_PASS env var added to enable Zurg password for Zurg endpoints
- NFS_ENABLED: NFS_ENABLED env var added to enable NFS mount for rclone w/ Zurg
- NFS_PORT: NFS_PORT env var added to define the NFS mount port for rclone w/ Zurg
- ZURG_PORT: ZURG_PORT env var added to define the Zurg port for Zurg endpoints
- Healthcheck: Fixed healthcheck for Zurg and plex_debrid services to ensure they are checked for "true" or "false" values
- Zurg: Fixed AllDebrid setup process for Zurg
- plex_debrid: Fixed Plex users for Jellyfin deployments
- PLEX_REFRESH: Fixed Plex library refresh w/ Zurg when using docker secrets
- logging: Fixed logging for subprocesses
- PD_ENABLED: Added PD_ENABLED env var to enable/disable plex_debrid service
- PLEX_USER: PLEX_USER env var no longer enables plex_debrid service
- JF_API_KEY: JF_API_KEY env var added to enable Jellyfin integration
- JF_ADDRESS: JF_ADDRESS env var added to enable Jellyfin integration
- SEERR_API_KEY: SEERR_API_KEY env var added to enable Overseerr/Jellyseerr integration
- SEERR_ADDRESS: SEERR_ADDRESS env var added to enable Overseerr/Jellyseerr integration
- PLEX_REFRESH: PLEX_REFRESH env var added to enable Plex library refresh w/ Zurg
- PLEX_MOUNT_DIR: PLEX_MOUNT_DIR env var added to enable Plex library refresh w/ Zurg
- plex_debrid setup: plex_debrid setup process now allows for selection of Plex or Jellyfin
- ZURG_LOG_LEVEL: Removed the need for ZURG_LOG_LEVEL env var - now set by PDZURG_LOG_LEVEL
- RCLONE_LOG_LEVEL: Removed the need for RCLONE_LOG_LEVEL env var - now set by PDZURG_LOG_LEVEL
- Docker Secrets: Added support for the use of docker secrets
- Zurg: Increased read timeout to 10 seconds for GitHub repository checks
- Zurg: Setup process now checks for existing config.yml in debrid service directory
- Zurg: Setup process now checks for existing zurg app in debrid service directory
- Logging: Cleaned up logging and added additional logging details
- Zurg: Download release version parsing
- plex_debrid: increased read timeout to 5 seconds for GitHub repository checks
- Automatic Updates: AUTO_UPDATE env var renamed to PD_UPDATE
- Automatic Updates: Refactored update process to allow for scaling of update process
- Healthcheck: Refactored healthcheck process to allow for scaling of healthcheck process
- Healthcheck: rclone mount check now uses rclone process instead of rclone mount location
- Rclone: Subprocess logs are now captured and logged to the pd_zurg logs
- ZURG_UPDATE: ZURG_UPDATE env var added to enable automatic update process for ZURG
- Zurg: Added automatic update process for Zurg
- Healthcheck: Added healthcheck for Zurg process
- ZURG_LOG_LEVEL: The log level to use for Zurg as defined with the ZURG_LOG_LEVEL env var
- ZURG_VERSION: The version of ZURG to use as defined with the ZURG_VERSION env var
- Zurg: Container pulls latest or user-defined version of ZURG from github upon startup
- Duplicate Cleanup: Process not called correctly
- Dockerfile: Pull latest config.yml from zurg repo for base file
- Zurg: config.yml override
- base: Update envs
- main.py: Order of execution
- healthcheck.py: Order of execution
- Initial Push