[BUG] Can't connect to qbittorrent #40

Closed
opened 2025-10-09 16:56:57 -05:00 by giteasync · 17 comments
Owner

Originally created by @Eyt-Lev on GitHub.

Before submitting a bug report, I have:

  • Reviewed the documentation.
  • Ensured I am using ghcr.io/cleanuparr/cleanuparr docker repository.
  • Ensured I am using the latest version.
  • Enabled verbose logging.

What is the behavior?

I cant connect to qBittorrent. radarr works fine (yes its on port 5003)

Image

Which operating system do you use?

Linux

What type of deployment do you use?

Docker container

Relevant log output

cleanuparr  | [2025-07-31 23:31:00.426 WRN] Health check failed for QBittorrent client 49480d83-afbf-4245-9603-991ba7ecbb6d
cleanuparr  | System.Threading.Tasks.TaskCanceledException: The request was canceled due to the configured HttpClient.Timeout of 30 seconds elapsing.
cleanuparr  |  ---> System.TimeoutException: A task was canceled.
cleanuparr  |  ---> System.Threading.Tasks.TaskCanceledException: A task was canceled.
cleanuparr  |    at Polly.Retry.AsyncRetryEngine.ImplementationAsync[TResult](Func`3 action, Context context, CancellationToken cancellationToken, ExceptionPredicates shouldRetryExceptionPredicates, ResultPredicates`1 shouldRetryResultPredicates, Func`5 onRetryAsync, Int32 permittedRetryCount, IEnumerable`1 sleepDurationsEnumerable, Func`4 sleepDurationProvider, Boolean continueOnCapturedContext)
cleanuparr  |    at Polly.AsyncPolicy`1.ExecuteAsync(Func`3 action, Context context, CancellationToken cancellationToken, Boolean continueOnCapturedContext)
cleanuparr  |    at Microsoft.Extensions.Http.PolicyHttpMessageHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
cleanuparr  |    at Microsoft.Extensions.Http.Logging.LoggingScopeHttpMessageHandler.<SendCoreAsync>g__Core|4_0(HttpRequestMessage request, Boolean useAsync, CancellationToken cancellationToken)
cleanuparr  |    at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
cleanuparr  |    --- End of inner exception stack trace ---
cleanuparr  |    --- End of inner exception stack trace ---
cleanuparr  |    at System.Net.Http.HttpClient.HandleFailure(Exception e, Boolean telemetryStarted, HttpResponseMessage response, CancellationTokenSource cts, CancellationToken cancellationToken, CancellationTokenSource pendingRequestsCts)
cleanuparr  |    at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
cleanuparr  |    at QBittorrent.Client.Extensions.HttpClientExtensions.GetStringWithCancellationAsync(HttpClient client, Uri uri, Boolean returnEmptyIfNotFound, CancellationToken token)
cleanuparr  |    at QBittorrent.Client.QBittorrentClient.GetLegacyApiVersionPrivateAsync(CancellationToken token)
cleanuparr  |    at QBittorrent.Client.QBittorrentClient.<>c__DisplayClass7_0.<<-ctor>b__1>d.MoveNext()
cleanuparr  | --- End of stack trace from previous location ---
cleanuparr  |    at QBittorrent.Client.QBittorrentClient.PostAsync(Func`2 builder, CancellationToken token, ApiLevel minApiLevel, ApiVersion minApiVersion, Nullable`1 maxApiVersion)
cleanuparr  |    at Cleanuparr.Infrastructure.Features.DownloadClient.QBittorrent.QBitService.HealthCheckAsync()
cleanuparr  | [2025-07-31 23:31:00.438 INF] Client 49480d83-afbf-4245-9603-991ba7ecbb6d health changed: Unhealthy
cleanuparr  | [2025-07-31 23:31:00.439 DBG] Broadcasting health status change for client 49480d83-afbf-4245-9603-991ba7ecbb6d
cleanuparr  | [2025-07-31 23:31:00.441 WRN] Client 49480d83-afbf-4245-9603-991ba7ecbb6d health degraded
cleanuparr  | [2025-07-31 23:31:00.445 INF] Health check completed. 0 healthy, 1 unhealthy clients
cleanuparr  | [2025-07-31 23:31:00.447 WRN] Client 49480d83-afbf-4245-9603-991ba7ecbb6d (Qbittorrent) is unhealthy: Connection failed: The request was canceled due to the configured HttpClient.Timeout of 30 seconds elapsing.

Anything else?

Rdarr qBittorrent and Cleanuparr are all on the smae docker network
I've tried to:

  • rollback qb to 5.0.4
  • change ports, credentials and networks
  • see if i can reach qb from the cleanuparr container:
  • disable all qb security settings (csrf, clickjacking...)
  • reset all cleanuparr settings
  • set timeout to 60s

radarr:

Image
Originally created by @Eyt-Lev on GitHub. ### Before submitting a bug report, I have: - [x] Reviewed the documentation. - [x] Ensured I am using ghcr.io/cleanuparr/cleanuparr docker repository. - [x] Ensured I am using the latest version. - [x] Enabled verbose logging. ### What is the behavior? I cant connect to qBittorrent. radarr works fine (yes its on port 5003) <img width="572" height="834" alt="Image" src="https://github.com/user-attachments/assets/19cb2173-f9f8-421d-95cd-8750b5e1ac57" /> ### Which operating system do you use? Linux ### What type of deployment do you use? Docker container ### Relevant log output ```shell cleanuparr | [2025-07-31 23:31:00.426 WRN] Health check failed for QBittorrent client 49480d83-afbf-4245-9603-991ba7ecbb6d cleanuparr | System.Threading.Tasks.TaskCanceledException: The request was canceled due to the configured HttpClient.Timeout of 30 seconds elapsing. cleanuparr | ---> System.TimeoutException: A task was canceled. cleanuparr | ---> System.Threading.Tasks.TaskCanceledException: A task was canceled. cleanuparr | at Polly.Retry.AsyncRetryEngine.ImplementationAsync[TResult](Func`3 action, Context context, CancellationToken cancellationToken, ExceptionPredicates shouldRetryExceptionPredicates, ResultPredicates`1 shouldRetryResultPredicates, Func`5 onRetryAsync, Int32 permittedRetryCount, IEnumerable`1 sleepDurationsEnumerable, Func`4 sleepDurationProvider, Boolean continueOnCapturedContext) cleanuparr | at Polly.AsyncPolicy`1.ExecuteAsync(Func`3 action, Context context, CancellationToken cancellationToken, Boolean continueOnCapturedContext) cleanuparr | at Microsoft.Extensions.Http.PolicyHttpMessageHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) cleanuparr | at Microsoft.Extensions.Http.Logging.LoggingScopeHttpMessageHandler.<SendCoreAsync>g__Core|4_0(HttpRequestMessage request, Boolean useAsync, CancellationToken cancellationToken) cleanuparr | at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken) cleanuparr | --- End of inner exception stack trace --- cleanuparr | --- End of inner exception stack trace --- cleanuparr | at System.Net.Http.HttpClient.HandleFailure(Exception e, Boolean telemetryStarted, HttpResponseMessage response, CancellationTokenSource cts, CancellationToken cancellationToken, CancellationTokenSource pendingRequestsCts) cleanuparr | at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken) cleanuparr | at QBittorrent.Client.Extensions.HttpClientExtensions.GetStringWithCancellationAsync(HttpClient client, Uri uri, Boolean returnEmptyIfNotFound, CancellationToken token) cleanuparr | at QBittorrent.Client.QBittorrentClient.GetLegacyApiVersionPrivateAsync(CancellationToken token) cleanuparr | at QBittorrent.Client.QBittorrentClient.<>c__DisplayClass7_0.<<-ctor>b__1>d.MoveNext() cleanuparr | --- End of stack trace from previous location --- cleanuparr | at QBittorrent.Client.QBittorrentClient.PostAsync(Func`2 builder, CancellationToken token, ApiLevel minApiLevel, ApiVersion minApiVersion, Nullable`1 maxApiVersion) cleanuparr | at Cleanuparr.Infrastructure.Features.DownloadClient.QBittorrent.QBitService.HealthCheckAsync() cleanuparr | [2025-07-31 23:31:00.438 INF] Client 49480d83-afbf-4245-9603-991ba7ecbb6d health changed: Unhealthy cleanuparr | [2025-07-31 23:31:00.439 DBG] Broadcasting health status change for client 49480d83-afbf-4245-9603-991ba7ecbb6d cleanuparr | [2025-07-31 23:31:00.441 WRN] Client 49480d83-afbf-4245-9603-991ba7ecbb6d health degraded cleanuparr | [2025-07-31 23:31:00.445 INF] Health check completed. 0 healthy, 1 unhealthy clients cleanuparr | [2025-07-31 23:31:00.447 WRN] Client 49480d83-afbf-4245-9603-991ba7ecbb6d (Qbittorrent) is unhealthy: Connection failed: The request was canceled due to the configured HttpClient.Timeout of 30 seconds elapsing. ``` ### Anything else? Rdarr qBittorrent and Cleanuparr are all on the smae docker network I've tried to: * rollback qb to 5.0.4 * change ports, credentials and networks * see if i can reach qb from the cleanuparr container: * ping works * curl -i --data "username=admin&password=123456" http://qbittorrent:5003/api/v2/auth/login works (200 code) * disable all qb security settings (csrf, clickjacking...) * reset all cleanuparr settings * set timeout to 60s radarr: <img width="905" height="831" alt="Image" src="https://github.com/user-attachments/assets/2b8e9861-7717-4141-9cdd-1bc5b6fc6260" />
giteasync added the
bug
label 2025-10-09 16:56:57 -05:00
Author
Owner

@Eyt-Lev commented on GitHub:

why would i use a vpn? its just a local connection in the docker network
if radarr and sonar can reach it just fine, why not cleanuparr?

@Eyt-Lev commented on GitHub: why would i use a vpn? its just a local connection in the docker network if radarr and sonar can reach it just fine, why not cleanuparr?
Author
Owner

@Flaminel commented on GitHub:

Basic auth is for when people are using a second round of auth on top of qBit's login system. Is that relevant to your setup? If Unauthorized is not part of the logs, I would not consider that being the case. Anything else that might be relevant to your setup?

@Flaminel commented on GitHub: Basic auth is for when people are using a second round of auth on top of qBit's login system. Is that relevant to your setup? If `Unauthorized` is not part of the logs, I would not consider that being the case. Anything else that might be relevant to your setup?
Author
Owner

@Flaminel commented on GitHub:

why would i use a vpn?

Idk, the usual reason people are using a VPN? I'm not saying that you're using a VPN to connect qBit to the arrs. Are you using a VPN at all in your setup?

if radarr and sonar can reach it just fine, why not cleanuparr?

I don't know how your network setup looks like. I'm mentioning again that people have encountered this before and it's always from the networking.

@Flaminel commented on GitHub: > why would i use a vpn? Idk, the usual reason people are using a VPN? I'm not saying that you're using a VPN to connect qBit to the arrs. Are you using a VPN at all in your setup? > if radarr and sonar can reach it just fine, why not cleanuparr? I don't know how your network setup looks like. I'm mentioning again that people have encountered this before and it's always from the networking.
Author
Owner

@Flaminel commented on GitHub:

This does not seem like a bug, but rather a misconfiguration of your network. While the service seems reachable, it did not respond in a timely matter and people usually encounter this because they're using a VPN. Are you using one?

curl -i --data "username=admin&password=123456" http://qbittorrent:5003/api/v2/auth/login works (200 code)

Ok, but is the problem permanent or does it become healthy sometimes?

@Flaminel commented on GitHub: This does not seem like a bug, but rather a misconfiguration of your network. While the service seems reachable, it did not respond in a timely matter and people usually encounter this because they're using a VPN. Are you using one? > curl -i --data "username=admin&password=123456" http://qbittorrent:5003/api/v2/auth/login works (200 code) Ok, but is the problem permanent or does it become healthy sometimes?
Author
Owner

@Eyt-Lev commented on GitHub:

i have no vpn. setup is very simple:
radarr (sonarr), qb and cleanuparr are on the same docker bridge network (127.0.0.1)
radarr can acess qb through 172.17.0.1:8080 (now using 8080, switched to check if it'll work) and cleanuparr is getting a timeout, although obviously able to access it, verifed by running ping and curl in the container.
It's probably something in cleanuparr that interpret 403 (unauthorized) as not responding and results in a timeout.
I saw a relatively new PR to add basic auth support to qb, so is it not supported now?
I'll try to rollback cleanuparr next

@Eyt-Lev commented on GitHub: i have no vpn. setup is very simple: radarr (sonarr), qb and cleanuparr are on the same docker bridge network (127.0.0.1) radarr can acess qb through 172.17.0.1:8080 (now using 8080, switched to check if it'll work) and cleanuparr is getting a timeout, although obviously able to access it, verifed by running ping and curl in the container. It's probably something in cleanuparr that interpret 403 (unauthorized) as not responding and results in a timeout. I saw a relatively new PR to add basic auth support to qb, so is it not supported now? I'll try to rollback cleanuparr next
Author
Owner

@codebeetl commented on GitHub:

I had a very similar issue to this. After some diagnostics I stopped the qbt container and added "IPFilter\BannedIPs=" to the config file ~/.config/qBittorrent/qBittorrent.conf ([Preferences] section) and respun the container and all was well and qbt stopped intermittently declining access. I had to enable logs in qbt to determine this. YMMV

ETA: I only had this behavior from Cleanuparr - Sonarr etc did not cause qbt to react this way, go figure

@codebeetl commented on GitHub: I had a very similar issue to this. After some diagnostics I stopped the qbt container and added "IPFilter\BannedIPs=" to the config file ~/.config/qBittorrent/qBittorrent.conf ([Preferences] section) and respun the container and all was well and qbt stopped intermittently declining access. I had to enable logs in qbt to determine this. YMMV ETA: I only had this behavior from Cleanuparr - Sonarr etc did not cause qbt to react this way, go figure
Author
Owner

@Flaminel commented on GitHub:

what cleanuparr counts as private tracker? do i need to manually set that (didn't find anything like that)? is it from prowlarr defining trackers as private?

Cleanuparr does not decide if the tracker is private or not. The .torrent files are marked as private if they are coming from private trackers and this information is provided by the download client.

@Flaminel commented on GitHub: > what cleanuparr counts as private tracker? do i need to manually set that (didn't find anything like that)? is it from prowlarr defining trackers as private? Cleanuparr does not decide if the tracker is private or not. The `.torrent` files are marked as private if they are coming from private trackers and this information is provided by the download client.
Author
Owner

@Eyt-Lev commented on GitHub:

nothing else relevant in my setup
here is another log called "Failed to login" (indicating that cleanuparr probably finds qb but can't login and says it's a timeout)

[2025-07-31T21:37:00.195Z] [Error] [Radarr] Failed to login to QBittorrent client 49480d83-afbf-4245-9603-991ba7ecbb6d
System.Threading.Tasks.TaskCanceledException: The request was canceled due to the configured HttpClient.Timeout of 30 seconds elapsing.
 ---> System.TimeoutException: A task was canceled.
 ---> System.Threading.Tasks.TaskCanceledException: A task was canceled.
   at Polly.Retry.AsyncRetryEngine.ImplementationAsync[TResult](Func`3 action, Context context, CancellationToken cancellationToken, ExceptionPredicates shouldRetryExceptionPredicates, ResultPredicates`1 shouldRetryResultPredicates, Func`5 onRetryAsync, Int32 permittedRetryCount, IEnumerable`1 sleepDurationsEnumerable, Func`4 sleepDurationProvider, Boolean continueOnCapturedContext)
   at Polly.AsyncPolicy`1.ExecuteAsync(Func`3 action, Context context, CancellationToken cancellationToken, Boolean continueOnCapturedContext)
   at Microsoft.Extensions.Http.PolicyHttpMessageHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
   at Microsoft.Extensions.Http.Logging.LoggingScopeHttpMessageHandler.<SendCoreAsync>g__Core|4_0(HttpRequestMessage request, Boolean useAsync, CancellationToken cancellationToken)
   at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
   --- End of inner exception stack trace ---
   --- End of inner exception stack trace ---
   at System.Net.Http.HttpClient.HandleFailure(Exception e, Boolean telemetryStarted, HttpResponseMessage response, CancellationTokenSource cts, CancellationToken cancellationToken, CancellationTokenSource pendingRequestsCts)
   at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
   at QBittorrent.Client.Extensions.HttpClientExtensions.GetStringWithCancellationAsync(HttpClient client, Uri uri, Boolean returnEmptyIfNotFound, CancellationToken token)
   at QBittorrent.Client.QBittorrentClient.GetLegacyApiVersionPrivateAsync(CancellationToken token)
   at QBittorrent.Client.QBittorrentClient.<>c__DisplayClass7_0.<<-ctor>b__1>d.MoveNext()
--- End of stack trace from previous location ---
   at QBittorrent.Client.QBittorrentClient.PostAsync(Func`2 builder, CancellationToken token, ApiLevel minApiLevel, ApiVersion minApiVersion, Nullable`1 maxApiVersion)
   at Cleanuparr.Infrastructure.Features.DownloadClient.QBittorrent.QBitService.LoginAsync()

also, small not very related question:
what cleanuparr counts as private tracker? do i need to manually set that (didn't find anything like that)? is it from prowlarr defining trackers as private?

@Eyt-Lev commented on GitHub: nothing else relevant in my setup here is another log called "Failed to login" (indicating that cleanuparr probably finds qb but can't login and says it's a timeout) ``` [2025-07-31T21:37:00.195Z] [Error] [Radarr] Failed to login to QBittorrent client 49480d83-afbf-4245-9603-991ba7ecbb6d System.Threading.Tasks.TaskCanceledException: The request was canceled due to the configured HttpClient.Timeout of 30 seconds elapsing. ---> System.TimeoutException: A task was canceled. ---> System.Threading.Tasks.TaskCanceledException: A task was canceled. at Polly.Retry.AsyncRetryEngine.ImplementationAsync[TResult](Func`3 action, Context context, CancellationToken cancellationToken, ExceptionPredicates shouldRetryExceptionPredicates, ResultPredicates`1 shouldRetryResultPredicates, Func`5 onRetryAsync, Int32 permittedRetryCount, IEnumerable`1 sleepDurationsEnumerable, Func`4 sleepDurationProvider, Boolean continueOnCapturedContext) at Polly.AsyncPolicy`1.ExecuteAsync(Func`3 action, Context context, CancellationToken cancellationToken, Boolean continueOnCapturedContext) at Microsoft.Extensions.Http.PolicyHttpMessageHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) at Microsoft.Extensions.Http.Logging.LoggingScopeHttpMessageHandler.<SendCoreAsync>g__Core|4_0(HttpRequestMessage request, Boolean useAsync, CancellationToken cancellationToken) at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken) --- End of inner exception stack trace --- --- End of inner exception stack trace --- at System.Net.Http.HttpClient.HandleFailure(Exception e, Boolean telemetryStarted, HttpResponseMessage response, CancellationTokenSource cts, CancellationToken cancellationToken, CancellationTokenSource pendingRequestsCts) at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken) at QBittorrent.Client.Extensions.HttpClientExtensions.GetStringWithCancellationAsync(HttpClient client, Uri uri, Boolean returnEmptyIfNotFound, CancellationToken token) at QBittorrent.Client.QBittorrentClient.GetLegacyApiVersionPrivateAsync(CancellationToken token) at QBittorrent.Client.QBittorrentClient.<>c__DisplayClass7_0.<<-ctor>b__1>d.MoveNext() --- End of stack trace from previous location --- at QBittorrent.Client.QBittorrentClient.PostAsync(Func`2 builder, CancellationToken token, ApiLevel minApiLevel, ApiVersion minApiVersion, Nullable`1 maxApiVersion) at Cleanuparr.Infrastructure.Features.DownloadClient.QBittorrent.QBitService.LoginAsync() ``` also, small not very related question: what cleanuparr counts as private tracker? do i need to manually set that (didn't find anything like that)? is it from prowlarr defining trackers as private?
Author
Owner

@Eyt-Lev commented on GitHub:

@Eyt-Lev - have you checked the qBittorrent logs? - it may have banned the incoming IP. You'd get 200 from your test device, but not from the Cleanuparr container

i did docker exec into the container and ran ping and curl from there. no logs on qb

@Eyt-Lev commented on GitHub: > [@Eyt-Lev](https://github.com/Eyt-Lev) - have you checked the qBittorrent logs? - it may have banned the incoming IP. You'd get 200 from your test device, but not from the Cleanuparr container i did `docker exec` into the container and ran ping and curl from there. no logs on qb
Author
Owner

@codebeetl commented on GitHub:

@Eyt-Lev - have you checked the qBittorrent logs? - it may have banned the incoming IP. You'd get 200 from your test device, but not from the Cleanuparr container

@codebeetl commented on GitHub: @Eyt-Lev - have you checked the qBittorrent logs? - it may have banned the incoming IP. You'd get 200 from your test device, but not from the Cleanuparr container
Author
Owner

@Flaminel commented on GitHub:

ETA: I only had this behavior from Cleanuparr - Sonarr etc did not cause qbt to react this way, go figure

Might be because the other apps are not so heavy with the amount of requests to qBit, but there's really nothing from the app itself that should be different than doing a simple curl or just using the arrs, unless there something about setting a certain User-Agent in the request, but I can't find any specific one in Sonarr.

@Flaminel commented on GitHub: > ETA: I only had this behavior from Cleanuparr - Sonarr etc did not cause qbt to react this way, go figure Might be because the other apps are not so heavy with the amount of requests to qBit, but there's really nothing from the app itself that should be different than doing a simple `curl` or just using the arrs, unless there something about setting a certain `User-Agent` in the request, but I can't find any specific one in Sonarr.
Author
Owner

@Eyt-Lev commented on GitHub:

I had a very similar issue to this. After some diagnostics I stopped the qbt container and added "IPFilter\BannedIPs=" to the config file ~/.config/qBittorrent/qBittorrent.conf ([Preferences] section) and respun the container and all was well and qbt stopped intermittently declining access. I had to enable logs in qbt to determine this. YMMV

ETA: I only had this behavior from Cleanuparr - Sonarr etc did not cause qbt to react this way, go figure

doesn't seem to be working for me sadly

is the config right?
Image

I've restarted everything

@Eyt-Lev commented on GitHub: > I had a very similar issue to this. After some diagnostics I stopped the qbt container and added "IPFilter\BannedIPs=" to the config file ~/.config/qBittorrent/qBittorrent.conf ([Preferences] section) and respun the container and all was well and qbt stopped intermittently declining access. I had to enable logs in qbt to determine this. YMMV > > ETA: I only had this behavior from Cleanuparr - Sonarr etc did not cause qbt to react this way, go figure doesn't seem to be working for me sadly is the config right? <img width="829" height="498" alt="Image" src="https://github.com/user-attachments/assets/1850d47f-0138-4816-863e-994da50aea00" /> I've restarted everything
Author
Owner

@Eyt-Lev commented on GitHub:

and with qbittorrent latest?

@Eyt-Lev commented on GitHub: and with qbittorrent `latest`?
Author
Owner

@Flaminel commented on GitHub:

Seems to be working fine for me, so how exactly should I reproduce the problem?

Image Image
qbittorrent:
    image: lscr.io/linuxserver/qbittorrent:5.0.4
    container_name: qbittorrent
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/London
      - WEBUI_PORT=8080
    volumes:
      - ./data/qbittorrent/config:/config
      - ./data/qbittorrent/downloads:/downloads
    ports:
      - 8080:8080
      - 6881:6881
      - 6881:6881/udp
    restart: unless-stopped
    networks:
      - my-bridge

cleanuparr:
    image: ghcr.io/cleanuparr/cleanuparr:latest
    container_name: cleanuparr
    ports:
      - 11011:11011
    environment:
      - TZ=Europe/London
      - PUID=1000
      - PGID=1000
      - UMASK=022
      - BASE_PATH=
    volumes:
      - ./data/utorrent/config:/data
      - ./data/cleanuparr/config:/config
      - ./data/qbittorrent/downloads:/downloads
    restart: unless-stopped
    depends_on:
      - qbittorrent
      - deluge
      - transmission
      - sonarr
      - radarr
      - lidarr
      - readarr
    networks:
      - my-bridge

networks:
  my-bridge:
    driver: bridge
@Flaminel commented on GitHub: Seems to be working fine for me, so how exactly should I reproduce the problem? <img width="425" height="668" alt="Image" src="https://github.com/user-attachments/assets/20d2b3bb-84ea-47d9-994c-def73de7fedb" /> <img width="1114" height="316" alt="Image" src="https://github.com/user-attachments/assets/6f43904c-a0d5-4cd7-862c-225732ce0a9b" /> ``` qbittorrent: image: lscr.io/linuxserver/qbittorrent:5.0.4 container_name: qbittorrent environment: - PUID=1000 - PGID=1000 - TZ=Europe/London - WEBUI_PORT=8080 volumes: - ./data/qbittorrent/config:/config - ./data/qbittorrent/downloads:/downloads ports: - 8080:8080 - 6881:6881 - 6881:6881/udp restart: unless-stopped networks: - my-bridge cleanuparr: image: ghcr.io/cleanuparr/cleanuparr:latest container_name: cleanuparr ports: - 11011:11011 environment: - TZ=Europe/London - PUID=1000 - PGID=1000 - UMASK=022 - BASE_PATH= volumes: - ./data/utorrent/config:/data - ./data/cleanuparr/config:/config - ./data/qbittorrent/downloads:/downloads restart: unless-stopped depends_on: - qbittorrent - deluge - transmission - sonarr - radarr - lidarr - readarr networks: - my-bridge networks: my-bridge: driver: bridge ```
Author
Owner

@Eyt-Lev commented on GitHub:

from what I've seen in qb, IPFilter\BannedIPs is used to ban IPs of other torrent peers, not webUI clients

@Eyt-Lev commented on GitHub: from what I've seen in qb, `IPFilter\BannedIPs` is used to ban IPs of other torrent peers, not webUI clients
Author
Owner

@Eyt-Lev commented on GitHub:

Update: solved it (somehow) by just completely removing cleanuparr config and starting it only with qb configured.
last time I tried resetting that i got to qb configuration after the *arrs may be the problem

@Eyt-Lev commented on GitHub: **Update**: solved it (somehow) by just completely removing cleanuparr config and starting it only with qb configured. last time I tried resetting that i got to qb configuration after the *arrs may be the problem
Author
Owner

@Flaminel commented on GitHub:

Works just fine with latest as well. I've even deleted the qBit configuration and, after changing the user and pass and restarting the container, everything seems to be working fine.

@Flaminel commented on GitHub: Works just fine with `latest` as well. I've even deleted the qBit configuration and, after changing the user and pass and restarting the container, everything seems to be working fine.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/Cleanuparr-Cleanuparr#40
No description provided.