Skip to content

Healthcheck fails when WebDAV is disabled, causing container to become unhealthy #422

Description

@sebitr

Is there an existing issue for this?

  • I have searched the existing open and closed issues

Current Behavior

Bug description

The default Docker healthcheck appears to require WebDAV to be running, even when WebDAV has been intentionally disabled in the Decypharr configuration.

I'm using Decypharr with the DFS/FUSE backend and do not need WebDAV.

Decypharr itself starts successfully and processes torrents, but the healthcheck continuously fails. The container eventually becomes unhealthy, and an external mechanism appears to restart it approximately every two minutes.

This causes repeated interruptions to the FUSE mount and ongoing downloads.

Environment

  • Docker image: cy01/blackhole:latest
  • Decypharr version: 2.5-stable
  • Docker Compose
  • Backend: DFS / Hanwen
  • Provider: Real-Debrid
  • WebDAV: Disabled intentionally

Default healthcheck:

{
  "Test": ["CMD", "/usr/bin/healthcheck", "--config", "/app"],
  "Interval": 10000000000,
  "Retries": 10
}

Actual behavior

The healthcheck repeatedly exits with code 1:

Status: starting
FailingStreak: 3

ExitCode: 1
Output: Loading config from /app/config.json

Docker events confirm the following sequence:

exec_die exitCode=1
health_status: unhealthy
kill signal=15
stop
die exitCode=0
start
restart

The application itself reports successful startup:

DFS started successfully backend=hanwen
Initial sync of torrents from debrid clients completed

The logs also show torrents being processed successfully between restarts.

WebDAV is suspected to be the failing healthcheck component because it was intentionally disabled. However, the healthcheck output does not identify which specific check failed.

Suggested improvement

Could the healthcheck be updated to:

  1. Read the enabled/disabled status of optional services from the configuration.
  2. Only check services that are actually enabled.
  3. Report which individual check failed when returning a non-zero exit code.

For example, if WebDAV is disabled but the main application and enabled services are working correctly, the container should report healthy.

Current workaround

Override the default Docker healthcheck in Docker Compose or disable it entirely.

However, disabling health monitoring is not ideal because it removes the ability to detect genuine failures.

Thanks for looking into this!

Expected Behavior

The Docker healthcheck should respect the application's configuration.

If WebDAV is disabled, the healthcheck should skip the WebDAV connectivity test rather than reporting the entire container as unhealthy.

The same principle should ideally apply to any optional service that can be disabled.

Steps To Reproduce

  1. Deploy Decypharr using the official Docker image.
  2. Configure DFS as the filesystem backend.
  3. Disable WebDAV in the configuration.
  4. Start the container.
  5. Check the Docker health status using docker inspect decypharr.

Environment

- OS: Ubuntu
- Version: 24
- Docker Install: yes
- Browser: N/A

What branch are you running?

Main/Latest

Trace Logs? Not Optional

N/A

Trace Logs have been provided as applicable

  • I have read and followed the steps in the documentation link and provided the required trace logs - the logs contain trace - that are relevant and show this issue.

Activity

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

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions