Skip to content

Commit 9d84069

Browse files
committed
Version [5.2.0]
1 parent 840c324 commit 9d84069

File tree

7 files changed

+250
-15
lines changed

7 files changed

+250
-15
lines changed

CHANGELOG.md

+18
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88

99

10+
## Version [5.2.0] - 2024-10-01 🚀
11+
12+
### Added ✨
13+
14+
- pgAdmin 4: Added pgAdmin 4 to the DMB image for PostgreSQL management 📦 - Resolves [Issue #49](https://github.com/I-am-PUID-0/DMB/issues/49)
15+
16+
### Notes 📝
17+
18+
- pgAdmin 4 is enabled by setting the `PGADMIN_SETUP_EMAIL` and `PGADMIN_SETUP_PASSWORD` environment variables 🆔🔐
19+
- The DMB PostgreSQL server is automatically added to pgAdmin4 Servers🗄️
20+
- 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 with `POSTGRES_PASSWORD` 🔐
21+
- To access pgAdmin 4, navigate to `http://<DMB_IP>:5050` in your browser 🌐
22+
- The pgAdmin 4 data is stored in the `/pgadmin/data` directory - though, not required to mounted to the host 📁
23+
- The pgAdmin 4 config_local.py is stored in the `/pgadmin/data` directory and symlinked at startup 📝 - review the [pgAdmin 4 documentation](https://www.pgadmin.org/docs/pgadmin4/latest/config_py.html) for additional configuration options 📚
24+
- Backups of the PostgreSQL database can be made using pgAdmin 4 and are stored in the `/pgadmin/storage` directory 🗄️
25+
- The following message can be ignored on initial startup: `ERROR - PostgreSQL subprocess: relation "version" does not exist at character 75`
26+
27+
1028
## Version [5.1.10] - 2024-09-24 🚀
1129

1230
### Fixed 🛠️

Dockerfile

+11-4
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ ADD https://github.com/rivenmedia/riven-frontend/archive/refs/heads/main.zip /ri
1414

1515
RUN \
1616
apk add --update --no-cache gcompat libstdc++ libxml2-utils curl tzdata nano ca-certificates wget fuse3 build-base linux-headers py3-cffi libffi-dev rust cargo openssl openssl-dev pkgconfig git npm ffmpeg postgresql-dev postgresql-client postgresql dotnet-sdk-8.0 postgresql-contrib && \
17-
mkdir -p /log /riven /riven/frontend && \
17+
mkdir -p /log /riven /riven/frontend /pgadmin/venv /pgadmin/data && \
1818
if [ -f /riven-frontend-main.zip ]; then echo "File exists"; else echo "File does not exist"; fi && \
1919
unzip /riven-frontend-main.zip -d /riven && \
2020
mv /riven/riven-frontend-main/* /riven/frontend && \
@@ -34,16 +34,23 @@ WORKDIR /
3434

3535
COPY . /./
3636

37-
ENV \
38-
XDG_CONFIG_HOME=/config \
39-
TERM=xterm
37+
RUN \
38+
python3 -m venv /pgadmin/venv && \
39+
source /pgadmin/venv/bin/activate && \
40+
pip install pip==24.0 setuptools==66.0.0 && \
41+
pip install pgadmin4 && \
42+
deactivate
4043

4144
RUN \
4245
python3 -m venv /venv && \
4346
source /venv/bin/activate && \
4447
pip install --upgrade pip && \
4548
pip install -r /requirements.txt
4649

50+
ENV \
51+
XDG_CONFIG_HOME=/config \
52+
TERM=xterm
53+
4754
HEALTHCHECK --interval=60s --timeout=10s \
4855
CMD ["/bin/sh", "-c", "source /venv/bin/activate && python /healthcheck.py"]
4956

README.md

+13-4
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
</div>
1010

1111
## 📜 Description
12-
**Debrid Media Bridge (DMB)** is an All-In-One (AIO) docker image for the unified deployment of **[Riven Media's](https://github.com/rivenmedia)**, **[yowmamasita's](https://github.com/yowmamasita)**, **[iPromKnight's](https://github.com/iPromKnight/zilean)**, and **[ncw's](https://github.com/ncw)** projects -- **[Riven](https://github.com/rivenmedia/riven)**, **[zurg](https://github.com/debridmediamanager/zurg-testing)**, **[zilean](https://github.com/iPromKnight/zilean)**, and **[rclone](https://github.com/rclone/rclone)**.
12+
**Debrid Media Bridge (DMB)** is an All-In-One (AIO) docker image for the unified deployment of **[Riven Media's](https://github.com/rivenmedia)**, **[yowmamasita's](https://github.com/yowmamasita)**, **[iPromKnight's](https://github.com/iPromKnight/zilean)**, **[Nick Craig-Wood's](https://github.com/ncw)**, **[Michael Stonebraker's](https://en.wikipedia.org/wiki/Michael_Stonebraker)**, and **[Dave Page's](https://github.com/dpage)** projects -- **[Riven](https://github.com/rivenmedia/riven)**, **[Zurg](https://github.com/debridmediamanager/zurg-testing)**, **[Zilean](https://github.com/iPromKnight/zilean)**, **[rclone](https://github.com/rclone/rclone)**, **[PostgreSQL](https://www.postgresql.org/)**, and **[pgAdmin 4](https://www.pgadmin.org/)**.
1313

1414
> ⚠️ **IMPORTANT**: Docker Desktop **CANNOT** be used to run DMB. Docker Desktop does not support the [mount propagation](https://docs.docker.com/storage/bind-mounts/#configure-bind-propagation) required for rclone mounts.
1515
>
@@ -49,8 +49,9 @@ services:
4949
- /home/username/docker/DMB/Zurg/mnt:/data:shared ## Location for rclone mount to host
5050
- /home/username/docker/DMB/Riven/data:/riven/backend/data ## Location for Riven backend data
5151
- /home/username/docker/DMB/Riven/mnt:/mnt ## Location for Riven symlinks
52-
- /home/username/docker/DMB/PostgreSQL/data:/postgres_data ## Location for PostgreSQL database if using Riven
53-
- /home/username/docker/DMB/Zilean/data:/zilean/app/data ## Location for Zilean data if using Riven
52+
- /home/username/docker/DMB/PostgreSQL/data:/postgres_data ## Location for PostgreSQL database
53+
- /home/username/docker/pgAdmin4/data:/pgadmin/data ## Location for pgAdmin 4 data
54+
- /home/username/docker/DMB/Zilean/data:/zilean/app/data ## Location for Zilean data
5455
environment:
5556
- TZ=
5657
- PUID=
@@ -61,6 +62,8 @@ services:
6162
- ZILEAN_ENABLED=true
6263
- RIVEN_ENABLED=true
6364
- ORIGIN=http://0.0.0.0:3000 ## See Riven documentation for more details
65+
- PGADMIN_SETUP_EMAIL= ## Set if using pgAdmin 4 - Ex. [email protected]
66+
- PGADMIN_SETUP_PASSWORD= ## Set if using pgAdmin 4
6467
# network_mode: container:gluetun ## Example to attach to gluetun vpn container if realdebrid blocks IP address
6568
ports:
6669
- "3000:3000"
@@ -145,6 +148,8 @@ of this parameter has the format `<VARIABLE_NAME>=<VALUE>`.
145148
|`POSTGRES_USER`| The username for the PostgreSQL database |`DMB`|| :heavy_check_mark:|
146149
|`POSTGRES_PASSWORD`| The password for the PostgreSQL database |`postgres`|| :heavy_check_mark:|
147150
|`POSTGRES_DB`| The name of the PostgreSQL database |`riven`|| :heavy_check_mark:|
151+
|`PGADMIN_SETUP_EMAIL`| The email for the pgAdmin setup |`none`|| :heavy_check_mark:|
152+
|`PGADMIN_SETUP_PASSWORD`| The password for the pgAdmin setup |`none`|| :heavy_check_mark:|
148153
|`RIVEN_ENABLED`| Set the value "true" to enable the Riven backend and frontend processes | `false ` | | :heavy_check_mark: | |
149154
|`RIVEN_BACKEND_ENABLED`| Set the value "true" to enable the Riven backend process | `false ` | | :heavy_check_mark: | |
150155
|`RIVEN_FRONTEND_ENABLED`| Set the value "true" to enable the Riven frontend process | `false ` | | :heavy_check_mark: | |
@@ -293,9 +298,13 @@ If you enjoy the underlying projects and want to buy Riven Media a beer/coffee,
293298

294299
If you enjoy the underlying projects and want to buy yowmamasita a beer/coffee, feel free to use the [GitHub sponsor link](https://github.com/sponsors/debridmediamanager)
295300

296-
## 🍻 Buy **[ncw](https://github.com/ncw)** a beer/coffee? :)
301+
## 🍻 Buy **[Nick Craig-Wood](https://github.com/ncw)** a beer/coffee? :)
297302

298303
If you enjoy the underlying projects and want to buy Nick Craig-Wood a beer/coffee, feel free to use the website's [sponsor links](https://rclone.org/sponsor/)
299304

305+
## 🍻 Buy **[PostgreSQL](https://www.postgresql.org)** a beer/coffee? :)
306+
307+
If you enjoy the underlying projects and want to buy PostgreSQL a beer/coffee, feel free to use the [sponsor link](https://www.postgresql.org/about/donate/)
308+
300309
## ✅ GitHub Workflow Status
301310
![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/I-am-PUID-0/DMB/docker-image.yml)

base/__init__.py

+2
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,8 @@ def get_valid_env(env_var, default):
6666
GHTOKEN = load_secret_or_env('github_token')
6767
SEERRAPIKEY = load_secret_or_env('seerr_api_key')
6868
SEERRADD = load_secret_or_env('seerr_address')
69+
PGADMINEMAIL = load_secret_or_env('pgadmin_setup_email')
70+
PGADMINPASS = load_secret_or_env('pgadmin_setup_password')
6971
DUPECLEAN = os.getenv('DUPLICATE_CLEANUP')
7072
CLEANUPINT = os.getenv('CLEANUP_INTERVAL')
7173
RCLONEMN = os.getenv("RCLONE_MOUNT_NAME")

docker-compose.yml

+3
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ services:
1515
- /home/username/docker/DMB/Riven/data:/riven/backend/data ## Location for Riven backend data
1616
- /home/username/docker/DMB/Riven/mnt:/mnt ## Location for Riven symlinks
1717
- /home/username/docker/DMB/PostgreSQL/data:/postgres_data ## Location for PostgreSQL database if using Riven
18+
- /home/username/docker/pgAdmin4/data:/pgadmin/data ## Location for pgAdmin 4 data
1819
- /home/username/docker/DMB/Zilean/data:/zilean/app/data ## Location for Zilean data if using Riven
1920
environment:
2021
- TZ=
@@ -26,6 +27,8 @@ services:
2627
- ZILEAN_ENABLED=true
2728
- RIVEN_ENABLED=true
2829
- ORIGIN=http://0.0.0.0:3000 ## See Riven documentation for more details
30+
- PGADMIN_SETUP_EMAIL= ## Set if using pgAdmin 4 - Ex. [email protected]
31+
- PGADMIN_SETUP_PASSWORD= ## Set if using pgAdmin 4
2932
# network_mode: container:gluetun ## Example to attach to gluetun vpn container if realdebrid blocks IP address
3033
ports:
3134
- "3000:3000"

main.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ def unmount_all():
3131
else:
3232
logger.error(f"Failed to unmount {full_path}: {umount.stderr.strip()}")
3333

34-
processes = ['riven_frontend', 'riven_backend', 'Zilean', 'PostgreSQL', 'Zurg', 'rclone']
34+
processes = ['riven_frontend', 'riven_backend', 'Zilean', 'PostgreSQL', 'Zurg', 'rclone', 'pgAdmin']
3535
for process in processes:
3636
stop_process(process)
3737

@@ -43,7 +43,7 @@ def unmount_all():
4343
def main():
4444

4545

46-
version = '5.1.10'
46+
version = '5.2.0'
4747

4848
ascii_art = f'''
4949

0 commit comments

Comments
 (0)