π Documentation
- readme: RIVEN_FRONTEND_ENV_ORIGIN (65f10d2)
π οΈ Refactors
- dockerfile: update dmb-frontend-builder to use repo tag (b747bf8)
- fetch-latest-tags: change cron job to run every 3 hours (6068fc0)
Changelog
Version [6.1.0] - 2025-03-03 π
β¨ Features
- feat(riven_backend): add port assignment
- feat(riven_frontend): add port assignment
- feat(zilean): add port assignment
π Bug Fixes
- fix(dockerfile): set pnpm store local to each project w/
store-dir=./.pnpm-store in .npmrc
- fix(versions): version_check & version_write use key vs. process_name
- fix(qemu): Set
cache-image: false
- fix(postgres): re-add pgAgent
- fix(postgres): system_stats, paths, permissions
- fix(postgres):
locales && locale-gen en_US.UTF-8
added to dockerfile - fix(dockerfile): pgadmin-builder venv path
- fix(healthcheck): update
/healthcheck/running_processes.json
- fix(setup): resolved missing argument for setup of branch_enabled
- fix(postgres):
check_postgresql_started
updated port used when not default - fix(user_management): add auto-generated user password to support use of su by default user
- fix(clear_directory): always exclude venv directory if present
- fix(find_service_config): recursive search
- fix(find_schema): recursive search
- fix(save_config_file): yaml.dump
- fix(api_state): api status update
π CI/CD Pipeline
- ci(github): update push event configuration in Docker image workflow
- ci(github): add release-please, fetch-latest-tags, conventional-commits
- ci(devcontainer): add dns configuration and git path
- ci(docker-image): add job summary for build
π οΈ Refactors
- refactor(dockerfile): change base image to Ubuntu 24.04
- refactor(dmb_config): dynamic update of the
ConnectionString
for zilean - refactor(dmb_config): add
ORIGIN
to riven_frontend - refactor(dockerfile): pull dmb_frontend from @nicocapalbo repo
- refactor(base): removed base module, add imports to modules
- refactor(dmb_config): removed riven_backend default envs
- refactor(dockerfile): pin pnpm version 10.x
npm install -g pnpm@latest-10
- refactor(dockerfile): pin node version 23.x
curl -fsSL https://deb.nodesource.com/setup_23.x | bash -
- refactor(main): add version.txt file
- refactor(api_service): on_event moved to lifespan
π€‘ Other Changes
- chore(deps): bump actions/checkout from 3 to 4
Version [6.0.1] - 2025-01-09 π
Fixed π οΈ
- Zurg: Version download
Version [6.0.0] - 2025-01-09 π
Breaking Changes β οΈ
- DO NOT UPDATE UNTIL YOU HAVE REVIEWED THE CHANGES!
- Changed most, if not all, environment variables - new dmb_config.json - see Notes
Changed π
- Refactor: EVERYTHING!
- Refactor: Improved shutdown process execution time
- Issue #80 FastAPI - Add real time logs view
- Issue #83 FastAPI - Update healthcheck
Fixed π οΈ
- PostgreSQL: Retry logic during server startup
- PostgreSQL: Init all databases on the first run - prevents Zilean and Riven database issues on the first run
- PostgreSQL: automatically remove postmaster.pid file retained from an improper shutdown
Added β¨
- Config: Added dmb_config.json to the
/config
directory for complete control over DMB - Riven: Added init function for first run of Riven Backend - mitigates first run startup issues
- Zurg: Unlimited simultaneous deployments of Zurg - simply add another Zurg "instance" in the dmb_config.json
- rclone: Unlimited simultaneous deployments of rclone - simply add another rclone "instance" in the dmb_config.json
- rclone: More robust stale mount handling
- PostgreSQL: Any setting within the postgresql.conf can be set from within the dmb_config.json
Removed
- rclone: Removed NFS mounts for now
- Duplicate Cleanup: Removed for now
Notes π
- A dmb_config.json has been added to DMB to allow for more granular control over the processes within and configuration of DMB.
- DMB will respect and prioritize variables provided though environment variables, a .env file, docker secrets, and the dmb_config.json
- environment variables, a .env file, and docker secrets are held at the same level and will override any setting in the dmb_config.json
- DMB will now come pre-configured to run all processes once at least one debrid service API key is entered through any of the above mentioned methods
- Multiple simultaneous debrid services are not currently supported for Riven
- Zurg currently only supports RealDebrid
Version [5.4.5] - 2024-11-22 π
Fixed π οΈ
Version [5.4.4] - 2024-11-16 π
Changed π
- Zilean: Update to dotnet 9 π
- Zilean: Update to support both Zilean.Scraper & Zilean.DmmScraper for older version of Zilean π
Notes π
- Zilean: Only Zilean v2.1.0 and newer are supported due to dotnet update to version 9 π¨
Version [5.4.3] - 2024-11-01 π
Changed π
- 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 π
Version [5.4.2] - 2024-10-29 π
Fixed π οΈ
- Issue #72 Zilean Permissions Issue π
Version [5.4.1] - 2024-10-28 π
Fixed π οΈ
- Issue #71 PostgreSQL Graceful Shutdown π
Version [5.4.0] - 2024-10-25 π
Fixed π οΈ
- 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 π
Added β¨
- 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 π¦
Changed π
- 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 π
Notes π
- 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 π
Version [5.3.2] - 2024-10-18 π
Fixed π οΈ
- 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...
Version [5.3.1] - 2024-10-15 π
Fixed π οΈ
- Issue #59 Zombie dotnet Processes Accumulating Over Time π
Version [5.3.0] - 2024-10-03 π
Added β¨
- pgAdmin 4: Added system_stats extension to pgAdmin 4 for host system monitoring π¦
- pgAdmin 4: Added pgAgent extension to pgAdmin 4 for job scheduling π¦
Fixed π οΈ
- pgAdmin 4: Fixed the pgAdmin 4 config_local.py SSL settings π
Changed π
- RIVEN_BACKEND_URL: Linked to the Riven backend load_settings function. PR #57 Thanks @FunkeCoder23 π
Version [5.2.0] - 2024-10-01 π
Added β¨
- pgAdmin 4: Added pgAdmin 4 to the DMB image for PostgreSQL management π¦ - Resolves Issue #49
Notes π
- 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
Version [5.1.10] - 2024-09-24 π
Fixed π οΈ
- logger: Fixed obfuscation of sensitive data in logs π
Version [5.1.9] - 2024-09-23 π
Fixed π οΈ
- 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'
Version [5.1.8] - 2024-09-23 π
Fixed π οΈ
- Riven Backend: Enabled not set to
true
for applied subordinate dictionary values π
Version [5.1.7] - 2024-09-23 π
Fixed π οΈ
- Issue #40 Postgres. role "root" does not exist. π - Thanks @lukemuller π
Added β¨
- Riven Backend: Added the use of .env file for Riven backend settings π
Changed π
- 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 π
Notes π
- 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π
Version [5.1.6] - 2024-09-13 π
Changed π
- Riven Frontend: Set the default path for the frontend version.txt to /riven/frontend π
Version [5.1.5] - 2024-09-13 π
Fixed π οΈ
- Riven Frontend: Fixed the default DIALECT set for node build process π
- Riven Frontend: Set the default path for the frontend version.txt π
Added β¨
- RIVEN_FRONTEND_OWNER: Environment variable to set the owner of the Riven frontend repository; Default is rivenmedia π
Version [5.1.4] - 2024-09-12 π
Fixed π οΈ
- Issue #51 Duplicate start_process when update applied during initial startup π
Version [5.1.3] - 2024-09-12 π
Fixed π οΈ
- Issue #43 Node issue when setting Riven frontend version π
Notes π
- The Riven frontend automatic update / branch / version should now work again π¦
Version [5.1.2] - 2024-09-10 π
Fixed π οΈ
- Healthcheck: Fixed healthcheck for Zilean π©Ί
Version [5.1.1] - 2024-09-10 π
Fixed π οΈ
- Zilean:
PostgreSQL subprocess: ... CEST [490] FATAL: role "postgres" does not exist
π
Notes π
- 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 ποΈ
Version [5.1.0] - 2024-09-09 π
Added β¨
- 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 π
Version [5.0.1] - 2024-09-06 π
Fixed π οΈ
- Issue #47 Error when RCLONE_LOG_LEVEL is not enabled π
Version [5.0.0] - 2024-09-05 π
Breaking Changes β οΈ
- 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 ποΈ
Added β¨
- 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 π
Fixed π οΈ
- 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 π
Changed π
- Refactor: Refactored the use of ProcessHandler for consistent process management π
Notes π
- 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 π¨
Version [4.1.0] - 2024-08-29 π
Added β¨
- 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 π
Fixed π οΈ
- 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 β¨
Version [4.0.0] - 2024-08-28 π
Breaking Changes β οΈ
- 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 π
Added β¨
- 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 ποΈ
Changed π
- Riven: Riven backend now uses PostgreSQL as the database option; Default is postgresql+psycopg2://postgres:postgres@127.0.0.1/riven π§
- Riven: Riven frontend now uses PostgreSQL as the database option; Default is postgres://postgres:postgres@127.0.0.1/riven π
Fixed π οΈ
- 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 π
Notes ππ
- 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 π
Version [3.5.0] - 2024-08-08 π
Added β¨
- 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 π¦
Notes π
- The DMB image is built nightly and will include the latest version of the Riven frontend at the time of build π
Version [3.4.0] - 2024-08-05 π
Fixed π οΈ
- Issue #27 DATABASE_URL was not being set correctly for the Riven frontend π
- healthcheck: Fixed healthcheck to properly check for Riven frontend setup completion π©Ί
Changed π
- Riven setup: Refactored backend and frontend setup to use ProcessHandler for consistent logging π
Added β¨
- 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 π
Version [3.3.2] - 2024-08-03 π
Fixed π οΈ
- Issue #27 Riven frontend needed a database connection to function properly π
Added β¨
- RIVEN_DATABASE_URL: Environment variable to set the Riven frontend database URL; Default is sqlite:////riven/backend/data/media.db ποΈ
Changed π
- GITHUB_TOKEN: Can be added to the environment variables to allow for repository downloads without rate limits π
Version [3.3.1] - 2024-08-01 π
Fixed π οΈ
- healthcheck: Reverted healthcheck, for now π
Version [3.3.0] - 2024-08-01 π
Fixed π οΈ
- 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 π
Added β¨
- 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 π¦
Changed π
- healthcheck: Waits for Riven frontend setup to complete π©Ί
Version [3.2.0] - 2024-07-30 π
Changed π
- 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 disabled, for now. Comment out the line in the config file to disable the Zurg based plex update process if desired π
Added β¨
- Zurg: Allow nightly release custom versions for ZURG_VERSION
- Zurg: Add plex_update.sh from Zurg to working directory for Zurg use π¦
Fixed π οΈ
- Logging: Fixed logging for Zurg to ensure log levels are properly set π
Version [3.1.0] - 2024-07-26 π
Added β¨
- Shutdown: Added a shutdown function to gracefully stop the DMB container; e.g., unmount the rclone mounts π
Version [3.0.0] - 2024-07-26 π
Breaking Changes β οΈ
- 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
Added β¨
- Ratelimit for GitHub API requests β³
- Retries for GitHub API requests π
Fixed π οΈ
- 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 π
Notes π
- 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 ποΈ
Version [2.0.0] - 2024-07-25
Breaking Changes
- 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
Added
- 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.
Notes
- 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 functional 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
Version [1.2.0] - 2024-07-19
Added
- Issue #18: Added DMB_LOG_SIZE environment variable to set the maximum size of the log file; Default is 10MB
Version [1.1.0] - 2024-07-17
Changed
- 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
Version [1.0.3] - 2024-07-16
Fixed
- Rclone: Fixed WebDAV URL check for Zurg startup processes when Zurg user and password are set in config.yml
Version [1.0.2] - 2024-07-16
Fixed
- Zurg: Fixed the removal of Zurg user and password if previously set in config.yml
Version [1.0.1] - 2024-07-16
Fixed
- 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
Version [1.0.0] - 2024-06-25
Breaking Changes
- DMB: Updated PDZURG_LOG_LEVEL to DMB_LOG_LEVEL
- DMB: Updated PDZURG_LOG_COUNT to DMB_LOG_COUNT
Changed
- 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
Added
- 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
Removed
- Issue #3: Removed Jellyfin environment variables
- Issue #2: Removed PLEX_REFRESH environment variable
Version [0.2.0] - 2024-06-22
Added
- Zurg: GITHUB_TOKEN environment variable to use for access to the private sponsored zurg repository
Removed
- Zurg: PLEX_REFRESH environment variable
- Zurg: PLEX_MOUNT environment variable
Version [0.1.0] - 2024-06-22
Added
- Riven: RIVEN_BRANCH environment variable to select the branch to use for the riven repository
Fixed
- rclone: Fixed rclone process w/ Riven
- Healthcheck: Fixed healthcheck process w/ Riven
Version [0.0.1] - 2024-06-21
Added
- Initial Push