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.
- PR #88 Zilean: Add database connection timeouts π - Thanks @skeet70 π
- Zilean: Update to dotnet 9 π
- Zilean: Update to support both Zilean.Scraper & Zilean.DmmScraper for older version of Zilean π
- Zilean: Only Zilean v2.1.0 and newer are supported due to dotnet update to version 9 π¨
- Riven Frontend: Updated the name and location of the
server-config.json
file toserver.json
and to be transferred to the /riven/frontend/config directory on startup π - Re-enabled reaping of zombie processes π
- Issue #72 Zilean Permissions Issue π
- Issue #71 PostgreSQL Graceful Shutdown π
- Issue #14 Add Riven build process to Dockerfile β¨
- Issue #65 Zilean Enabled when ZILEAN_ENABLED=false π
- Issue #66 Dockerfile pulls from Riven Frontend main branch vs. latest release π
- Issue #67 Future releases for Riven Frontend and Backend will require an API Key π
- Riven Backend: Added the Riven backend build process to the Dockerfile π¦
- Riven Frontend: Added the server-config.json to the be saved in /config and transferred to the Riven Frontend when using the API key π¦
- Zilean: Added the Zilean build process to the Dockerfile π¦
- Riven Backend: Settings are now loaded with or without the API key depending on the version of Riven used π
- Refactor: Refactored the utils and version checks π
- Utils: Added description to reaped processes π
- Logging: Added thread lock to rollover π
- Future releases for Riven Frontend and Backend will require an API Key to be set π¨
- With these changes, you can now use the latest development versions of Riven Frontend and Backend π
- Use the RIVEN_BACKEND_BRANCH=release-please--branches--main and RIVEN_FRONTEND_BRANCH=release-please--branches--main environment variables to test the current development versions of Riven π
- Issue #60 Does not correctly handle deleted files in new Riven releases π
- Issue #61 Riven Backend v0.16.0 Broke Settings Update π
- Issue #62 Riven Frontend v0.14.0 Broke VersionFilePath π
- Issue #63 Riven Frontend v0.16.0 Broke Frontend Build π - This may be a temporary fix...
- Issue #59 Zombie dotnet Processes Accumulating Over Time π
- pgAdmin 4: Added system_stats extension to pgAdmin 4 for host system monitoring π¦
- pgAdmin 4: Added pgAgent extension to pgAdmin 4 for job scheduling π¦
- pgAdmin 4: Fixed the pgAdmin 4 config_local.py SSL settings π
- RIVEN_BACKEND_URL: Linked to the Riven backend load_settings function. PR #57 Thanks @FunkeCoder23 π
- pgAdmin 4: Added pgAdmin 4 to the DMB image for PostgreSQL management π¦ - Resolves Issue #49
- pgAdmin 4 is enabled by setting the
PGADMIN_SETUP_EMAIL
andPGADMIN_SETUP_PASSWORD
environment variables ππ - The DMB PostgreSQL server is automatically added to pgAdmin4 ServersποΈ
- On the first access of pgAdmin 4, the DMB PostgreSQL server password will need to be set in pgAdmin 4 ποΈ - the default PostgreSQL server password is
postgres
or set withPOSTGRES_PASSWORD
π - To access pgAdmin 4, navigate to
http://<DMB_IP>:5050
in your browser π - The pgAdmin 4 data is stored in the
/pgadmin/data
directory - though, not required to mounted to the host π - The pgAdmin 4 config_local.py is stored in the
/pgadmin/data
directory and symlinked at startup π - review the pgAdmin 4 documentation for additional configuration options π - Backups of the PostgreSQL database can be made using pgAdmin 4 and are stored in the
/pgadmin/storage
directory ποΈ - The following message can be ignored on initial startup:
ERROR - PostgreSQL subprocess: relation "version" does not exist at character 75
- logger: Fixed obfuscation of sensitive data in logs π
- Riven Backend: Enabled not set to
true
for applied subordinate dictionary values - seriously this time π - Riven Frontend: Set the default path for the frontend version.txt in dockerfile π
- Issue #54 An error occurred in the Zilean setup: 'NoneType' object has no attribute 'lower'
- Riven Backend: Enabled not set to
true
for applied subordinate dictionary values π
- Issue #40 Postgres. role "root" does not exist. π - Thanks @lukemuller π
- Riven Backend: Added the use of .env file for Riven backend settings π
- Main Process: Refactored the main process to handle exceptions - graceful shutdown π
- Logger: Clean up logging π
- Riven Backend: DEBUG is now linked to the DMB_LOG_LEVEL π
- To use the .env file for Riven backend settings, create a .env file in the Riven data directory with settings in the format of
KEY=VALUE
as shown in the env.exampleπ
- Riven Frontend: Set the default path for the frontend version.txt to /riven/frontend π
- Riven Frontend: Fixed the default DIALECT set for node build process π
- Riven Frontend: Set the default path for the frontend version.txt π
- RIVEN_FRONTEND_OWNER: Environment variable to set the owner of the Riven frontend repository; Default is rivenmedia π
- Issue #51 Duplicate start_process when update applied during initial startup π
- Issue #43 Node issue when setting Riven frontend version π
- The Riven frontend automatic update / branch / version should now work again π¦
- Healthcheck: Fixed healthcheck for Zilean π©Ί
- Zilean:
PostgreSQL subprocess: ... CEST [490] FATAL: role "postgres" does not exist
π
- On first run of Zilean, the PostgreSQL will create the database named zilean, so the message
PostgreSQL subprocess: ... CEST [596] FATAL: database "zilean" does not exist
can be ignored ποΈ
- Issue #48 Added Zilean to the DMB image for caching of the DebridMediaManager shared hashlists π¦
- ZILEAN_ENABLED: Environment variable to enable Zilean; Default is false π
- ZILEAN_UPDATE: Environment variable to update Zilean; Default is false π
- ZILEAN_BRANCH: Environment variable to set the Zilean branch; Default is main π
- ZILEAN_VERSION: Environment variable to set the Zilean version; Default is latest π
- ZILEAN_LOGS: Environment variable to disable the Zilean logging when value is set to OFF; Default is ON π
- Issue #47 Error when RCLONE_LOG_LEVEL is not enabled π
- PostgreSQL: The default database user has been changed from postgres to DMB π - Please delete the existing PostgreSQL data directory before starting the new version of DMB ποΈ
- FRONTEND_LOGS: Environment variable to disable the Riven frontend logging when value is set to OFF; Default is ON π
- BACKEND_LOGS: Environment variable to disable the Riven backend logging when value is set to OFF; Default is ON π
- Riven: Added shutdown for Riven backend and frontend processes π
- Issue #44 Add graceful shutdown for Riven frontend and backend β¨
- Issue #45 Fix permissions for npm_install π
- Issue #46 Zurg config.yml not chown'd to the correct user π
- PostgreSQL: Fixed permissions for PostgreSQL π - Thanks @Unlearned6688 π
- Zurg: Fixed automatic updates for Zurg nightly builds π
- Refactor: Refactored the use of ProcessHandler for consistent process management π
- Add
stop_grace_period: 60s
to your compose file to allow for a 60 second grace period for all of the processes to shutdown before the container is stopped π - Issue #43 Node issue when setting Riven frontend version π has not been resolved in this release π¨, so please ensure to only use Riven frontend version that is built into the image - No automatic update / branch / version π¦
- There may be an issue with the Riven frontend when trying to access settings; the logs will show
TypeError: Cannot read properties of undefined (reading 'enabled')
when trying to access settings - this is a known issue and you will need to delete the riven settings.json π¨
- RCLONE_LOGS: Environment variable to disable the rclone process logging when value is set to OFF; Default is ON π
- RCLONE_DIR: Environment variable to set the rclone directory; Default is /data π
- Issue #36 Setting RCLONE_LOG_LEVEL=OFF causes the rclone process to fail π
- Issue #37 Error when PUID/PGID are set without values: PGID= π
- Issue #38 Recursive chown of /data throws errors if the mount is still present π
- Issue #39 Make rclone mount base path a variable - /data --> /user-defined β¨
- Issue #41 Add healthcheck for PostgreSQL process β¨
- Issue #42 Add clean shutdown for PostgreSQL server β¨
- Riven: Riven backend no longer supports sqlite as a database option; PostgreSQL is now the only supported database option π
- PostgreSQL: To ensure the database files are persisted, a volume must be mounted to /postgres_data π
- PUID & PGID: Environment variables to set the user and group IDs for the DMB container; Default is 1001 π
- POSTGRES_DATA: Environment variable to set the path for the PostgreSQL database files; Default is /postgres_data π
- POSTGRES_PASSWORD: Environment variable to set the password for the PostgreSQL database; Default is postgres π
- POSTGRES_USER: Environment variable to set the user for the PostgreSQL database; Default is postgres π€
- POSTGRES_DB: Environment variable to set the database name for the PostgreSQL database; Default is riven ποΈ
- Riven: Riven backend now uses PostgreSQL as the database option; Default is postgresql+psycopg2://postgres:[email protected]/riven π§
- Riven: Riven frontend now uses PostgreSQL as the database option; Default is postgres://postgres:[email protected]/riven π
- Issue #8 Add support for PUID/GUID β¨
- Issue #34 Add PostgreSQL option for Riven backend β¨
- Issue #35 Riven frontend not properly connecting to the database π
- If the Riven backend shows errors related to the database or alembic, then the Riven data directory may need to be deleted before starting the new version of Riven w/ PostgreSQL ποΈ - backup your settings.json before deleting the data directory π
- Suppress Logs: If the LOG_LEVEL for a process is set to OFF, then logs will be suppressed for the process π€«
- Riven Frontend: Added the latest version of the Riven frontend to the Dockerfile for image build π¦
- The DMB image is built nightly and will include the latest version of the Riven frontend at the time of build π
- Issue #27 DATABASE_URL was not being set correctly for the Riven frontend π
- healthcheck: Fixed healthcheck to properly check for Riven frontend setup completion π©Ί
- Riven setup: Refactored backend and frontend setup to use ProcessHandler for consistent logging π
- Issue #9 Obfuscate sensitive data in logs
- Riven backend: UPDATERS_PLEX_ADDRESS linked to PLEX_ADDRESS π
- Riven backend: UPDATERS_PLEX_TOKEN linked to PLEX_TOKEN π
- Issue #27 Riven frontend needed a database connection to function properly π
- RIVEN_DATABASE_URL: Environment variable to set the Riven frontend database URL; Default is sqlite:////riven/backend/data/media.db ποΈ
- GITHUB_TOKEN: Can be added to the environment variables to allow for repository downloads without rate limits π
- healthcheck: Reverted healthcheck, for now π
- Issue #23 Processes not properly killed during automatic updates π
- Issue #24 Riven automatic update extracts to wrong directory π
- Issue #25 Automatic update initiates update check multiple times for each instance π
- Issue #26 Riven Frontend breaking change requires DIALECT=sqlite env variable π
- Automatic Update: Enabled automatic updates for Riven branches - expands automatic updates to include branches π
- RIVEN_FRONTEND_DIALECT: Environment variable to set the Riven frontend database dialect; Default is sqlite - not required to be set in default configuration ποΈ
- Riven Frontend: Set npm max_old_space_size to 2048MB for Riven frontend build process - limits resource usage π¦
- Riven Frontend: Set vite minification to false for Riven frontend build process - speeds up build process and reduces resource usage π¦
- healthcheck: Waits for Riven frontend setup to complete π©Ί
- Update process: Refactored update process to apply updates to Zurg and Riven before starting the processes π
- Zurg: Disabling plex_update.sh in config file has been disbaled, for now. Comment out the line in the config file to disable the Zurg based plex update process if desired π
- Zurg: Allow nightly release custom versions for ZURG_VERSION
- Zurg: Add plex_update.sh from Zurg to working directory for Zurg use π¦
- Logging: Fixed logging for Zurg to ensure log levels are properly set π
- Shutdown: Added a shutdown function to gracefully stop the DMB container; e.g., unmount the rclone mounts π
- BACKEND_URL: Environment variable has been changed to RIVEN_BACKEND_URL to better reflect the environment variable's purpose; please update your compose file accordingly
- Ratelimit for GitHub API requests β³
- Retries for GitHub API requests π
- RIVEN_ENABLED: Environment variable has been fixed to correctly enable the Riven backend and frontend; Default is false π€
- RIVEN_UPDATE: Environment variable has been fixed to correctly update the Riven backend and frontend; Default is false π€
- RIVEN_BACKEND_UPDATE: Environment variable has been fixed to correctly update the Riven backend; Default is false π€
- RIVEN_FRONTEND_UPDATE: Environment variable has been fixed to correctly update the Riven frontend; Default is false π€
- RIVEN_DATABASE_HOST: Environment variable has been fixed to correctly set the Riven database host; Default is sqlite:////riven/backend/data/media.db ποΈ
- Issue #22 π
- BACKEND_URL has been changed to RIVEN_BACKEND_URL. The value is automatically set when the variable is not enabled. The default value is http://127.0.0.1:8080 π
- RIVEN_DATABASE_HOST value is automatically set when the variable is not enabled. The default value is sqlite:////riven/backend/data/media.db ποΈ
- Riven: Directory structure has changed to allow for split riven instances - backend and frontend - please update your compose file volumes accordingly
- RIVEN_BRANCH: Is now split into RIVEN_FRONTEND_BRANCH and RIVEN_BACKEND_BRANCH
- RIVEN_ENABLED: Environment variable will enable the Riven backend and frontend without the need to set the RIVEN_FRONTEND_ENABLED and RIVEN_BACKEND_ENABLED variables
- RIVEN_UPDATE: Environment variable to update the Riven backend and frontend; Default is false
- RIVEN_BACKEND_ENABLED: Environment variable to enable the Riven backend; Default is false
- RIVEN_FRONTEND_ENABLED: Environment variable to enable the Riven frontend; Default is false
- RIVEN_BACKEND_BRANCH: Environment variable to set the Riven backend branch; Default is main
- RIVEN_FRONTEND_BRANCH: Environment variable to set the Riven frontend branch; Default is main
- RIVEN_BACKEND_UPDATE: Environment variable to update the Riven backend; Default is false
- RIVEN_FRONTEND_UPDATE: Environment variable to update the Riven frontend; Default is false
- RIVEN_BACKEND_VERSION: Environment variable to set the Riven backend version; Default is latest
- RIVEN_FRONTEND_VERSION: Environment variable to set the Riven frontend version; Default is latest
- BACKEND_URL: Environment variable to set the Riven backend URL; Default is http://127.0.0.1:8080
- RIVEN_DATABASE_HOST: Environment variable to set the Riven database host; Default is sqlite:////riven/backend/data/media.db
- COLOR_LOG_ENABLED: Environment variable to enable color logging; Default is false
- ffmpeg: Added ffmpeg to the Dockerfile for Zurg use of ffprobe to extract media information from files, enhancing media metadata accuracy.
- Delete all Riven files and directories within the data directory before starting the new version of Riven!
- Automatic updates for Riven backend and frontend are not funtioal yet; will be fixed in a follow-on release.
- Other features may also not be functional yet; will be fixed in a follow-on release.
- This release resolves Issue #19, Issue #20, and Issue #10
- Issue #18: Added DMB_LOG_SIZE environment variable to set the maximum size of the log file; Default is 10MB
- Rclone: WebDAV URL check for Zurg startup processes accepts any 200 status code as a valid response
- DMB: Refactored to use common functions under utils
- 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
- DMB: Introduced a Riven startup check for the symlinked directory to ensure the Zurg startup processes have finished before starting Riven
- DMB: Introduced a Rclone startup check for the Zurg WebDAV URL to ensure the Zurg startup processes have finished before starting Rclone
- DMB: Updated PDZURG_LOG_LEVEL to DMB_LOG_LEVEL
- DMB: Updated PDZURG_LOG_COUNT to DMB_LOG_COUNT
- Issue #5: Added initial sleep time to allow for services to start
- Issue #6: Disabled Zurg plex_update.sh - not needed
- Issue #7: Cleanup Riven logging
- Issue #1: All Riven settings now assignable with environment variables
- Riven: RIVEN_LOG_LEVEL environment variable - Riven log level is only configurable to DEBUG or INFO; Default is INFO
- Issue #3: Removed Jellyfin environment variables
- Issue #2: Removed PLEX_REFRESH environment variable
- Zurg: GITHUB_TOKEN environment variable to use for access to the private sponsored zurg repository
- Zurg: PLEX_REFRESH environment variable
- Zurg: PLEX_MOUNT environment variable
- Riven: RIVEN_BRANCH environment variable to select the branch to use for the riven repository
- rclone: Fixed rclone process w/ Riven
- Healthcheck: Fixed healthcheck process w/ Riven
- Initial Push