All apps · 0 apps
DUMB
Docker app from UnJustice's Repository
Overview
Readme
View on GitHub📜 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.
⚖️ 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.
Requirements
Categories
Download Statistics
Total Downloads Over Time
Related apps
Explore more like this
Explore allDetails
iampuid0/dumb:latestRuntime 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
Enter your timezone. List here: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
- Target
- TZ
Directory where your DUMB config file will be stored.
- Target
- /config
- Default
- /mnt/user/appdata/DUMB/config
Directory where your DUMB logs will be found.
- Target
- /log
- Default
- /mnt/user/appdata/DUMB/log
Directory for all symlinks. Use this directory in Plex for the libraries!
- Target
- /mnt/debrid
- Default
- /mnt/user/appdata/DUMB/mnt/debrid
Required otherwise the docker image fills up and causes issues
- Target
- /cache
- Default
- /mnt/user/appdata/DUMB/cache
Directory for all data related to services.
- Target
- /data
- Default
- /mnt/user/appdata/DUMB/data
Web UI Port for Plex
- Target
- 32400
- Default
- 32400
Optional. Can be removed if not using pgAdmin.
- Target
- 5050
- Default
- 5050
Frontend port for DUMB
- Target
- 3005
- Default
- 3005
Optional. Can remove if not using Riven or NZBDav
- Target
- 3000
- Default
- 3000
Optional. Can remove if not using cli_debrid.
- Target
- 5000
- Default
- 5000
Optional. Can remove if not using Decypharr.
- Target
- 8282
- Default
- 8282
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
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
Set the system PID. unraid uses nobody:users (99:100)
- Default
- 99
Set the system PGID. unraid uses nobody:users (99:100)
- Default
- 100