DUMB

DUMB

Docker app from UnJustice's Repository

Overview

This is an Unraid Docker template for: Debrid Unlimited Media Bridge https://github.com/I-am-PUID-0/DUMB/ Debrid Unlimited Media Bridge (DUMB) is an All-In-One (AIO) docker image for the unified deployment of the following projects/tool (more are being added)s: cli_debrid, dmbdb, Decypharr, pgAdmin4, phalanx_db, plex_debrid, Plex Media Server, PostgreSQL, rclone, Riven, Zilean, Zurg Links to all projects here: https://github.com/I-am-PUID-0/DUMB#-projects-included This project and many of the underlying projects are all very much "works in progress." You need to read documentation at the provided repos in order to make things work. If you can't figure something out, you can join the discord server linked in the support section of the template and ask for help. One quick note: As of recent updates, you can access services using an internal webUI. This means you can avoid, in some cases, exposing ports. Consider using it. Another note on ports: As this project has grown, it has become unweidly to add every single port to this template. Also suboptimal. All ports in the template should be considered examples based on my personal usage. You may need to add some or you may not need the ones provided. Add or remove as you need. A list of all the ports associated with various projects are in the DUMB GitHub linked above.

🎬 Distributed Unlimited Media Bridge 🎬

Distributed Unlimited Media Bridge ecosystem banner

📜 Description

Distributed Unlimited Media Bridge (DUMB) is an All-In-One (AIO) platform for building and operating a complete automated media stack. It brings together Debrid and Usenet workflows, Arr automation, media servers, request/watchlist tools, service management, logs, metrics, notifications, updates, and embedded service UIs behind a guided setup experience. The maintained container image remains the normal deployment, while the Proxmox Community Scripts integration installs the same controller and managed services natively in an LXC.

DUMB is designed to reduce the glue work that usually comes with multi-service media deployments. You can choose the services that fit your workflow, let DUMB wire the required dependencies, manage them from the DUMB dashboard, and optionally expose selected UIs or public routes through the bundled Traefik access layer.

📦 Projects Included

You are free to use whichever components you like. Not all are required, and some may provide overlapping functionality in different ways.

Project Author Community / Docs / Support 🍻 Support Dev
AIOStreams Viren070 DocsIssues Sponsor
AltMount javi11 DocsIssues
Authelia Authelia Team DocsIssues Sponsor
Bazarr Bazarr Team DocsIssues Donate
cli_debrid godver3 Discord Sponsor
dmbdb nicocapalbo Issues
Decypharr Mukhtar Akere DocsIssues Sponsor
Emby Media Server Emby, LLC Support Donate (via Emby Premiere)
Jellyfin Media Server Jellyfin Team DocsSupport Donate
Maintainerr Maintainerr Team DocsIssues Support
mediastorm godver3 READMEIssues Sponsor
NeutArr I-am-PUID-0 Issues Donate
Lidarr Lidarr Team DocsDiscord Sponsor
InfiniDysk infinidysk DocumentationIssuesMigration guide Support
Profilarr Dictionarry Hub DocsIssues Sponsor
pgAdmin 4 pgAdmin Team DocsSupport Donate
phalanx_db godver3 Discord Sponsor
Plex Media Server plexinc Support Donate (via Plex Pass)
Pulsarr jamcalli DocsIssues Support
Seerr Seerr Team DocsIssues Sponsor
Tautulli Tautulli DocsIssues Donate
Traefik Proxy Admin I-am-PUID-0 DocsIssues Sponsor
cloudflared Cloudflare DocsIssues
PostgreSQL Michael Stonebraker Docs Donate
Prowlarr Prowlarr Team DocsDiscord Sponsor
Radarr Radarr Team DocsDiscord Sponsor
rclone Nick Craig-Wood Docs Sponsor
Riven Riven Media DiscordDiscussions Sponsor
Sonarr Sonarr Team DocsDiscord Sponsor
Whisparr Whisparr Team DocsDiscord Sponsor
Zilean iPromKnight DocsIssues Sponsor
Zurg yowmamasita Wiki Sponsor

⚖️ Licensing

DUMB is licensed under GNU GPLv3. Copyright and license notices for third-party components redistributed in the container image are collected in THIRD_PARTY_NOTICES.md. Package-manager and runtime license files are also retained in their standard locations inside the image.

🌟 Features

DUMB provides a guided, single-deployment control plane for configurable media stacks, including:

  • Debrid and Usenet workflows, Arr automation, media servers, and request tools
  • Service installation, configuration, lifecycle management, logs, health checks, updates, and recovery automation
  • Embedded service UIs with optional Traefik and Cloudflare access tooling
  • Optional DUMB-managed Authelia identity provider with DUMB and Traefik Proxy Admin OIDC linking plus reusable Traefik ForwardAuth protection
  • Metrics, database-health diagnostics, alerts, notifications, and operator migration or repair utilities

This README intentionally keeps the overview brief. See the DUMB Features documentation for the comprehensive capability, configuration, and settings reference.

🐳 Docker Hub

A prebuilt image is hosted on Docker Hub.

🖥️ Proxmox LXC

The Community Scripts helper installs DUMB and its managed services directly in a Debian LXC without Docker. See the Proxmox deployment guide for the recommended all-in-one topology, native paths, updates, backups, and the additional considerations for Plex or Arr applications in other LXCs.

🏷️ GitHub Container Registry

A prebuilt image is hosted on GitHub Container Registry.

🐳 Docker-compose

[!NOTE] The below "ports" section of the compose should be updated based on the service ports used when needing to be exposed. See the below Default Ports Used section for more details

services:
  DUMB:
    container_name: DUMB
    image: iampuid0/dumb:latest
    stop_grace_period: 30s
    shm_size: 128mb
    stdin_open: true
    tty: true
    volumes:
      - /home/username/docker/DUMB/config:/config
      - /home/username/docker/DUMB/log:/log
      - /home/username/docker/DUMB/data:/data
      - /home/username/docker/DUMB/mnt/debrid:/mnt/debrid
    environment:
      - TZ=
      - PUID=
      - PGID=
    ports:
      - "3005:3005"
    devices:
      - /dev/fuse:/dev/fuse:rwm
      - /dev/dri:/dev/dri
    cap_add:
      - SYS_ADMIN
    security_opt:
      - apparmor:unconfined

🌐 Environment Variables

The following table lists the required environment variables used by the container. The environment variables are set via the -e parameter or via the docker-compose file within the environment: section or with a .env file saved to the config directory. Value of this parameter is listed as <VARIABLE_NAME>=<Value>

Variables required by DUMB:

Variable Default Description
PUID 1000 Managed-service user ID; must be greater than 0
PGID 1000 Managed-service group ID; must be greater than 0
TZ (null) Your time zone listed as Area/Location

See the .env.example

🌐 Default Ports Used

[!NOTE] The below examples are default and may be configurable with the use of additional environment variables.

The following table describes the ports used by the container. The mappings are set via the -p parameter or via the docker-compose file within the ports: section. Each mapping is specified with the following format: <HOST_PORT>:<CONTAINER_PORT>[:PROTOCOL].

Container port Protocol Description
5000 TCP CLI Debrid - Web UI accessible at the assigned port
5001 TCP CLI Battery - The API is accessible at the assigned port
8000 TCP DUMB API - The API is accessible at the assigned port
3005 TCP DUMB frontend - Web UI accessible at the assigned port
8282 TCP Decypharr - Web UI accessible at the assigned port
8096 TCP Emby Media Server - Web UI accessible at the assigned port (default HTTP)
8096 TCP Jellyfin Media Server - Web UI accessible at the assigned port (default HTTP)
8686 TCP Lidarr - Web UI accessible at the assigned port
8088 TCP AltMount - Web UI/API accessible at the assigned port
3000 TCP InfiniDysk frontend - Web UI accessible at the assigned port
3003 TCP Pulsarr - Web UI accessible at the assigned port
3006 TCP AIOStreams - Web UI/API accessible at the assigned port
6246 TCP Maintainerr - Web UI accessible at the assigned port
6767 TCP Bazarr - Web UI accessible at the assigned port
3004 TCP Traefik Proxy Admin - Web UI/API accessible at the assigned port
9091 TCP Authelia - Identity portal/API accessible at the assigned port
18080 TCP Traefik - Reverse proxy entrypoint for embedded UIs and TPA-managed routes
18081 TCP Traefik - Dashboard/API used by Traefik Proxy Admin diagnostics
8080 TCP InfiniDysk backend - The API is accessible at the assigned port
5050 TCP pgAdmin 4 - Web UI accessible at the assigned port
5055 TCP Seerr - Web UI accessible at the assigned port
8888 TCP Phalanx DB - The API is accessible at the assigned port
32400 TCP Plex Media Server - Web UI accessible at the assigned port
5432 TCP PostgreSQL - The SQL server is accessible at the assigned port
9696 TCP Prowlarr - Web UI accessible at the assigned port
9705 TCP NeutArr - Web UI accessible at the assigned port
7878 TCP Radarr - Web UI accessible at the assigned port
3000 TCP Riven frontend - Web UI accessible at the assigned port
8080 TCP Riven backend - The API is accessible at the assigned port
8989 TCP Sonarr - Web UI accessible at the assigned port
8181 TCP Tautulli - Web UI accessible at the assigned port
6868 TCP Profilarr - Web UI accessible at the assigned port
6969 TCP Whisparr - Web UI accessible at the assigned port
8182 TCP Zilean - The API and Web UI (/swagger/index.html) is accessible at the assigned port
9090 TCP Zurg - Web UI accessible at the assigned port

cloudflared does not expose a local web UI port. It opens an outbound Cloudflare Tunnel connection and forwards public hostname traffic to DUMB Traefik.

📂 Data Volumes

The following table describes the data volumes used by the container. The mappings are set via the -v parameter or via the docker-compose file within the volumes: section. Each mapping is specified with the following format: <HOST_DIR>:<CONTAINER_DIR>[:PERMISSIONS].

Container path Permissions Description
/config rw This is where the application stores the dumb_config.json and rclone.config
/log rw This is where the application stores its log files
/data rw This is where all services will store their data
/mnt/debrid rw This is where the symlinks and rclone mounts will be stored

📝 TODO

See the DUMB roadmap for a list of planned features and enhancements.

🚀 Deployment

DUMB allows for the simultaneous or individual deployment of any of the services

For additional details on deployment, see the DUMB Docs

🌍 Community

  • For questions related to DUMB, see the GitHub discussions
  • or create a new issue if you find a bug or have an idea for an improvement.
  • or join the DUMB discord server

Install DUMB on Unraid in a few clicks.

Find DUMB in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for DUMB Review the template variables and paths Click Install

Requirements

You probably no longer need to mess with the permissions. I have setup DUMB twice on unRAID now without a chown command. Everything has worked fine for me.

Download Statistics

114,164
Total Downloads
26,423
This Month
14,261
Avg / Month

Total Downloads Over Time

Loading chart...

Related apps

Explore more like this

Explore all

Details

Repository
iampuid0/dumb:latest
Last Updated2026-08-19
First Seen2025-07-01

Runtime arguments

Web UI
http://[IP]:[PORT:3005]
Network
bridge
Privileged
false
Extra Params
--shm-size=128MB -it --cap-add SYS_ADMIN --security-opt apparmor:unconfined

Template configuration

TimezoneVariable

Enter your timezone. List here: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones

Target
TZ
DUMB configPathrw

Directory where your DUMB config file will be stored.

Target
/config
Default
/mnt/user/appdata/DUMB/config
log directoryPathrw

Directory where your DUMB logs will be found.

Target
/log
Default
/mnt/user/appdata/DUMB/log
Location for all symlinks -- ADD THIS DIRECTORY TO PlexPathrw,shared

Directory for all symlinks. Use this directory in Plex for the libraries!

Target
/mnt/debrid
Default
/mnt/user/appdata/DUMB/mnt/debrid
Rclone Cache DirectoryPathrw

Required otherwise the docker image fills up and causes issues

Target
/cache
Default
/mnt/user/appdata/DUMB/cache
Data directoryPathrw

Directory for all data related to services.

Target
/data
Default
/mnt/user/appdata/DUMB/data
Plex Media Server PortPorttcp

Web UI Port for Plex

Target
32400
Default
32400
pgAdmin 4 PortPorttcp

Optional. Can be removed if not using pgAdmin.

Target
5050
Default
5050
DUMB Frontend PortPorttcp

Frontend port for DUMB

Target
3005
Default
3005
Riven or NZBDav Frontend PortPorttcp

Optional. Can remove if not using Riven or NZBDav

Target
3000
Default
3000
cli_debird Frontend PortPorttcp

Optional. Can remove if not using cli_debrid.

Target
5000
Default
5000
Decypharr Frontend PortPorttcp

Optional. Can remove if not using Decypharr.

Target
8282
Default
8282
Access Host OS fuseDevice

Path to docker fuse on the unraid host. Has to be included otherwise fuser fails to mount.

Target
/dev/fuse:/dev/fuse:rwm
Default
/dev/fuse:/dev/fuse:rwm
DUMB Log LevelVariable

Set this to DEBUG for extensive info for troubleshooting. Can be set to NOTICE for less info in the log.

Target
DUMB_LOG_LEVEL
Default
INFO
PUIDVariable

Set the system PID. unraid uses nobody:users (99:100)

Default
99
PGIDVariable

Set the system PGID. unraid uses nobody:users (99:100)

Default
100