Skip to content

Latest commit

Β 

History

486 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

🎬 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 Docs β€’ Issues Sponsor
AltMount javi11 Docs β€’ Issues β€”
Authelia Authelia Team Docs β€’ Issues Sponsor
Bazarr Bazarr Team Docs β€’ Issues Donate
cli_debrid godver3 Discord Sponsor
dmbdb nicocapalbo Issues β€”
Decypharr Mukhtar Akere Docs β€’ Issues Sponsor
Emby Media Server Emby, LLC Support Donate (via Emby Premiere)
Jellyfin Media Server Jellyfin Team Docs β€’ Support Donate
Maintainerr Maintainerr Team Docs β€’ Issues Support
mediastorm godver3 README β€’ Issues Sponsor
NeutArr I-am-PUID-0 Issues Donate
Lidarr Lidarr Team Docs β€’ Discord Sponsor
InfiniDysk infinidysk Documentation β€’ Issues β€’ Migration guide Support
Profilarr Dictionarry Hub Docs β€’ Issues Sponsor
pgAdmin 4 pgAdmin Team Docs β€’ Support Donate
phalanx_db godver3 Discord Sponsor
Plex Media Server plexinc Support Donate (via Plex Pass)
Pulsarr jamcalli Docs β€’ Issues Support
Seerr Seerr Team Docs β€’ Issues Sponsor
Tautulli Tautulli Docs β€’ Issues Donate
Traefik Proxy Admin I-am-PUID-0 Docs β€’ Issues Sponsor
cloudflared Cloudflare Docs β€’ Issues β€”
PostgreSQL Michael Stonebraker Docs Donate
Prowlarr Prowlarr Team Docs β€’ Discord Sponsor
Radarr Radarr Team Docs β€’ Discord Sponsor
rclone Nick Craig-Wood Docs Sponsor
Riven Riven Media Discord β€’ Discussions Sponsor
Sonarr Sonarr Team Docs β€’ Discord Sponsor
Whisparr Whisparr Team Docs β€’ Discord Sponsor
Zilean iPromKnight Docs β€’ Issues 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

About

Distributed Unlimited Media Bridge (DUMB) is an All-In-One (AIO) Docker image for building and operating a complete automated media stack from one container.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

430 stars

Watchers

7 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages