Deploy with QNAP Container Station¶
QNAP Container Station can create a Docker Compose application from YAML. The labels can vary slightly by Container Station/QTS version, but the official flow is Create → Create Application → paste and validate the Compose YAML.
Prerequisites¶
- A QNAP model/architecture supported by the DUMB image (
amd64orarm64) - Container Station installed and current
- Shared folders for persistent DUMB data
- A QNAP user UID/GID with read/write access to those folders
- FUSE device/capability support if the selected workflow creates FUSE mounts
See QNAP's Creating an Application instructions for the Compose application workflow.
Prepare the shared folders¶
Create a DUMB directory under a persistent share, with these subdirectories:
/share/Container/DUMB/
├── config/
├── data/
├── log/
└── mnt/debrid/
Your QNAP share name can differ. Use its absolute host path in the Compose file
and grant the selected PUID:PGID ownership or read/write access.
Create the application¶
- Download or copy the current DUMB Compose file.
- In Container Station, open Create → Create Application.
- Name the application
dumband paste the YAML. - Replace
/home/username/docker/DUMBwith/share/Container/DUMB(or your actual share path). - Set
TZ,PUID, andPGID. - Validate the YAML and create the application.
The persistent mounts should be:
volumes:
- /share/Container/DUMB/config:/config
- /share/Container/DUMB/log:/log
- /share/Container/DUMB/data:/data
- /share/Container/DUMB/mnt/debrid:/mnt/debrid
The maintained Compose file publishes the DUMB frontend on 3005. Open
http://<qnap-address>:3005 after the application becomes healthy.
FUSE and external consumers¶
The maintained Compose file requests /dev/fuse, SYS_ADMIN, and an unconfined
AppArmor profile. Keep those entries for workflows that mount with rclone/FUSE.
Availability depends on the QNAP kernel and Container Station version; if the
application rejects them, check the QNAP host before removing the settings.
When another container must see a DUMB-created submount, use :rshared on the
DUMB /mnt/debrid bind and :rslave on the consumer bind. If Container Station
cannot preserve those propagation modes, use an all-in-one DUMB workflow or a
workflow based on ordinary files/symlinks instead of assuming external FUSE
mounts will propagate.
Update and recover¶
- Pull
iampuid0/dumb:latest, then recreate/redeploy the application. - Preserve
/share/Container/DUMB/config,data,log, andmnt/debrid. - Use Container Station logs first; then review Troubleshooting and Service ports.
Do not publish backend port 8000 for normal use. The frontend proxies the API
under http://<qnap-address>:3005/api.