Skip to content

[BUG] Decypharr downloads fail with "timeout waiting for mount files" after #23 fix #24

Closed

Description

@benharvey1985

Describe the bug

After the fix for #23 (commit [de0fcad]), Decypharr no longer crash-loops, but the rclone FUSE mount never establishes. All downloads end up in error state with:

Error running post-download action error="timeout waiting for mount files: ... last scan error: open /mnt/remote/torbox/all/... no such file or directory"

Root Cause

The user: "${PUID:-1000}:${PGID:-1000}" directive added in #23 causes the container to run as UID 1000 directly, but there is no /etc/passwd entry for that UID in the Decypharr image. When fusermount3 tries to resolve the username, it fails:

fusermount3: could not determine username

This prevents the rclone WebDAV mount from mounting, so all symlinks point to non-existent files.

To Reproduce

  1. Run setup and start services (Jellyfin or Plex)
  2. Request any media via Seerr/Radarr/Sonarr
  3. Sonarr/Radarr sends the torrent to Decypharr
  4. Torbox downloads complete
  5. Decypharr creates symlinks but mount is absent → files unresolvable → error state

Expected behavior

Decypharr should successfully mount the WebDAV filesystem via rclone and create working symlinks that Sonarr/Radarr can import.

Fix applied locally

The issue is that the Decypharr entrypoint runs as non-root (UID 1000) and id -un returns empty because no user exists for that UID. The fix is to add a user entry to the image:

dockerfile
FROM ghcr.io/sirrobot01/decypharr:v2.4
RUN adduser -u 1000 -D -H -s /bin/sh appuser

This preserves the non-root runtime (fixes #23) while giving fusermount3 a resolvable username so the FUSE mount works.

System Information:

  • OS: Ubuntu 26.04 LTS
  • Docker version: latest
  • Script version: 1.1.0
  • Media Server: Jellyfin
  • Decypharr image: v2.4

Logs
fusermount3: could not determine username
failed to mount FUSE fs: fusermount: exit status 1
Followed by repeated:
Error running post-download action error="timeout waiting for mount files"
After applying the fix:
Successfully mounted rclone filesystem

Activity

  1. added a commit that references this issue on Jul 30, 2026
    2bbe78f
  2. nordicnode commented on Jul 30, 2026

    @nordicnode
    Owner

    Thanks for the detailed report @benharvey1985 — great root cause analysis and the locally-verified fix made this straightforward to implement. 🙏

    This has been fixed in #25 (merged). Here's a summary of what changed:

    Root cause: The user: "${PUID}:${PGID}" directive from #23 runs Decypharr as UID 1000, but the upstream image has no /etc/passwd entry for that UID. fusermount3 calls id -un before mounting any FUSE filesystem — with no matching passwd entry it exits immediately, preventing the rclone WebDAV mount from ever establishing.

    Fix: A thin Dockerfile.decypharr was introduced that extends the upstream image with a single adduser call:

    RUN adduser -u 1000 -D -H -s /bin/sh appuser

    This preserves non-root execution (keeps the #23 fix intact) while giving fusermount3 a resolvable username. The Decypharr image was also bumped to v2.4 in the same change.

    To pick up the fix, pull the latest and rebuild:

    git pull
    docker compose build decypharr
    docker compose up -d
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions