qBittorrent Docker — Torrents Stuck in "Errored" State

While self-hosting qBittorrent in Docker on my NAS, I ran into an issue where every torrent I added ended up stuck in an Errored state with 0% progress and no tracker activity.


The Problem

Even though:

  • The Web UI loaded fine via Tailscale
  • I could see a healthy number of peers (e.g., 45)
  • DHT, PeX, and LSD all showed as “Working”
  • DNS and internet were reachable from the container

No torrent ever started downloading. The status just stayed like this:

Status: Errored
Progress: 0.0%
Trackers: Not contacted yet

What I Tried First

I wanted to make sure this wasn’t a DNS or network issue. Since I recently added Pi-hole to my network, I checked whether DNS worked correctly using:

nslookup google.com 192.168.1.1

Worked perfectly.

Then I tested network access from inside the container:

sudo docker exec -it qbittorrent ping google.com

Also successful — packets were getting through. So the network and DNS were clearly not the issue.


Finding the Real Cause

After ruling out network issues, I started suspecting a file system permission problem.

I checked what the container sees for its /downloads folder:

sudo docker exec -it qbittorrent ls -ld /downloads

Here’s what I got:

d--------- 1 abc abc ... /downloads

This told me that although the directory existed, it had no permissions — not even read or execute. The qBittorrent container had no access to the path it was supposed to write downloaded files to.

The kicker? On the host, the folder looked completely fine:

ls -ld "/volume2/Media Server/qbittorrentDownloads"
drwxrwxrwx+ 1 Admin1 users ...

But Docker’s user mapping didn’t translate that correctly inside the container.


How I Fixed It

On the NAS host, I updated the ownership and permissions of the downloads directory so that the user inside the container (mapped by PUID 1026 and PGID 100) could actually use it:

sudo chown -R 1026:100 "/volume2/Media Server/qbittorrentDownloads"
sudo chmod -R 775 "/volume2/Media Server/qbittorrentDownloads"

Check LinuxServer.io and DigitalOcean for further details regarding PUID, PGID, chown, and chmod.

Then restarted the container:

sudo docker restart qbittorrent

What Happened After

As soon as the container restarted, the torrents that were stuck in “Errored” started working immediately.

Status: Downloading

Trackers connected. DHT found peers. Files started downloading as expected.


Final Thoughts

If you’re running into similar symptoms—torrents stuck at 0% with no real activity, and everything else looks fine—don’t just trust the host’s folder permissions. Check what the container actually sees.

Look inside the container for permission issues, especially when using bind mounts with Docker and mapped users like PUID/PGID.

Sometimes the issue isn’t with the internet, tracker, or torrent file at all — it’s simply that qBittorrent lacks write access to the disk.

🖤 Credits

Written by Abdullah Alafari

Connect with me on Linkedin