DumbMonit

Monitors

Self-hosted applications

Nextcloud, Immich, Paperless-ngx, Jellyfin, Plex, Home Assistant, GitLab and Forgejo.

Monitor descriptions and alert rule texts are in English, as in the product. The page labels follow your language.

Nextcloud

nextcloud

Maintenance mode left on, a database upgrade waiting, Nextcloud and app updates, active users, free space, PHP OPcache.

Examples

  • Nextcloud Server
  • Nextcloud AIO
  • Nextcloud Hub

What you need

  • Monitoring token (NC-Token)The serverinfo token set with occ. It opens Nextcloud's statistics and nothing else.

Default port: 443

Built-in alert rules 6

  • AdvisoryNextcloud stuck in maintenanceMaintenance mode is on: nobody can log in or sync.
  • WarningNextcloud database upgrade pendingThe code was updated and Nextcloud waits for occ upgrade.
  • InfoNextcloud update availableNextcloud's update check found a newer release.
  • AdvisoryNextcloud OPcache fullPHP's OPcache is out of room and pages get slow.
  • AdvisoryNextcloud free space lowLess than 5 GiB free for the data directory; clears above 6 GiB.
  • WarningMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Setup steps: Create a monitoring token in Nextcloud
  1. On the Nextcloud server, set a random token with occ as the web server user (in Docker: docker exec -u www-data, then the container name).

    php occ config:app:set serverinfo token --value "$(openssl rand -hex 32)"
    php occ config:app:get serverinfo token
  2. If occ says serverinfo is disabled, enable the Monitoring app: profile menu → Apps → Monitoring → Enable.

  3. In DumbMonit, enter the address you open Nextcloud with and paste the token.

Heads-up. Use an address listed in Nextcloud's trusted domains, or Nextcloud refuses the request.

Documentation

Immich

immich

Job queues that stall or sit paused, updates, disk space, photo and video counts, each device's last connection and last backup.

Examples

  • Immich

What you need

  • API keyAn Immich API key limited to the read permissions of the setup guide.

Default port: 2283

Built-in alert rules 5

  • AdvisoryImmich jobs stalledJobs wait in a queue that is not paused and runs nothing (dumbmonit_immich_queue_waiting > 0 and on (target, queue) dumbmonit_immich_queue_active == 0 unless on (target, queue) dumbmonit_immich_queue_paused == 1). The notification names the queue.
  • InfoImmich queue pausedA job queue has been paused for a day.
  • AdvisoryImmich storage almost fullThe disk holding the library is more than 90 % full; clears below 88 %.
  • InfoImmich update availableImmich's version check knows a newer release.
  • WarningMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Setup steps: Create a read-only API key in Immich
  1. In Immich, open Account Settings → API Keys → New API Key and name it as follows.

    dumbmonit
  2. Tick the permissions listed below, create the key and copy it: Immich shows it only once.

  3. In DumbMonit, enter Immich's address and paste the key.

Heads-up. Create the key from an account that can open Administration, or photo counts and job queues are skipped; "last backup" is the whole library's latest upload, the same for every device.

Documentation

Paperless-ngx

paperless

Redis, Celery, search index and classifier health, failed imports, updates, disk space, document count.

Examples

  • Paperless-ngx

What you need

  • API token (recommended)The token of the dedicated dumbmonit user, sent as "Authorization: Token …".
  • User name / passwordThe dedicated dumbmonit user itself, sent as HTTP basic authentication.

Default port: 8000

Built-in alert rules 7

  • WarningPaperless task queue downRedis or Celery in error (max by (target) (dumbmonit_paperless_component_status{component=~"redis\|celery"}): 2 is an error): nothing new is imported.
  • AdvisoryPaperless index or sanity check errorThe search index, the classifier or the sanity check (missing or altered files) reports an error.
  • AdvisoryPaperless migrations pendingDatabase migrations left to apply.
  • AdvisoryPaperless task failedA task this user can see failed within the failed task window and was not dismissed.
  • AdvisoryPaperless storage almost fullThe disk holding the documents is more than 90 % full; clears below 88 %.
  • InfoPaperless update availablePaperless-ngx's version check knows a newer release.
Show 1 more
  • WarningMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Setup steps: Create a read-only user in Paperless-ngx
  1. In Paperless-ngx, open Settings → Users & Groups → Add user and name it as follows, with a long random password.

    dumbmonit
  2. Leave Superuser and Staff off, and give it only the permissions listed below.

  3. Log in as that user, open the user menu → My Profile and generate its API token (circular arrow button).

  4. In DumbMonit, enter Paperless-ngx's address and paste the token.

Heads-up. When Redis or Celery stops, Paperless keeps serving its pages and documents, but nothing new is imported, from the consume folder or from mail, until someone looks. DumbMonit alerts on both.

Documentation

Jellyfin

jellyfin

Scheduled tasks that fail (library scans), a restart waiting, broken plugins, active streams and transcodes.

Examples

  • Jellyfin

What you need

  • API keyA key created in Jellyfin's dashboard, sent in the MediaBrowser authorization header.

Default port: 8096

Built-in alert rules 4

  • AdvisoryJellyfin scheduled task failedA scheduled task (a library scan, a cleanup) failed or was aborted on its last run.
  • AdvisoryJellyfin plugin brokenA plugin failed to load or does not support this version.
  • InfoJellyfin restart pendingJellyfin has waited a day for a restart after a plugin install or update.
  • WarningMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Setup steps: Create an API key in Jellyfin
  1. In Jellyfin, open Dashboard → Advanced → API Keys → + and name the key as follows, then copy it.

    DumbMonit
  2. In DumbMonit, enter Jellyfin's address and paste the key.

Heads-up. Jellyfin keys cannot be limited, so this one has every right on the server: keep it to DumbMonit and revoke it on the same page if it leaks.

Documentation

Plex Media Server

plex

Active streams and transcodes, bandwidth, library scans, updates, read from the server itself.

Examples

  • Plex Media Server

What you need

  • X-Plex-TokenNeeded by a server linked to a Plex account, unless this network is allowed without authentication.

No account needed.

Default port: 32400

Built-in alert rules 2

  • InfoPlex update availablePlex's update check found a newer release.
  • WarningMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Setup steps: Give DumbMonit access to the Plex server
  1. In Plex Web, open Settings → Network and click Show Advanced.

  2. Add the DumbMonit address to List of IP addresses and networks that are allowed without auth, then save.

    10.0.0.20/32
  3. In DumbMonit, enter the server's address and pick No token.

  4. If DumbMonit is not on your network, use the owner's token instead: open a movie → ⋯ → Get Info → View XML and copy X-Plex-Token from the page address.

Heads-up. The token is your Plex account's and can manage the server and every library: prefer the allowed network when DumbMonit is on your own network.

Documentation

Home Assistant

homeassistant

The smart home behind the dashboard: integrations whose entities went unavailable, low batteries, updates waiting and open repairs, plus the last connection of the companion app's phones and tablets.

Examples

  • Home Assistant OS
  • Home Assistant Container

What you need

  • Long-lived access tokenCreated in the dedicated user's profile, under Security.

Default port: 8123

Built-in alert rules 7

  • WarningHome Assistant in recovery modeHome Assistant started in recovery mode: its configuration could not be loaded and automations do not run.
  • AdvisoryHome Assistant not runningHome Assistant answers but has not finished starting for ten minutes.
  • AdvisoryHome Assistant entities went unavailableAt least five more entities are unavailable than an hour ago: an integration, a hub or a radio stopped (sum by (target) (dumbmonit_homeassistant_entities_unavailable) - sum by (target) (dumbmonit_homeassistant_entities_unavailable offset 1h)). The rise counts, not the total, which a real installation never has at zero.
  • InfoHome Assistant battery lowA battery reported by Home Assistant is low.
  • InfoHome Assistant update availableHome Assistant has updates waiting: core, operating system, add-ons or device firmware.
  • AdvisoryHome Assistant repair to addressHome Assistant has an open repair of error or critical severity.
Show 1 more
  • WarningMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Setup steps: Create a dedicated user and a long-lived token in Home Assistant
  1. Open Settings → People → Users → Add user (turn on Advanced mode in your profile if the tab is missing), name the user as follows and give it a long random password.

    dumbmonit
  2. Log in as that user, open its profile (bottom of the sidebar) → Security → Long-lived access tokens → Create token, name it and copy it: it is shown only once.

  3. In DumbMonit, enter the Home Assistant address (for example homeassistant.local, port 8123) and paste the token.

Heads-up. A long-lived token carries every right of its user and lasts ten years: create it for the dedicated user, never your own. Home Assistant serves plain HTTP unless TLS is configured: across an untrusted network, use HTTPS.

Documentation

GitLab (self-managed)

gitlab

Readiness, Sidekiq backlog, CI runners online or not, pending migrations, instance statistics, sign-up and two-factor settings, licence expiry.

Examples

  • GitLab Community Edition
  • GitLab Enterprise Edition

What you need

  • Personal access tokenAn administrator's personal access token, sent as PRIVATE-TOKEN. A token without admin rights still works, but only the version is read.

Default port: 443

Built-in alert rules 5

  • AdvisoryGitLab runners all offlineEvery CI/CD runner GitLab knows is offline, and at least one is registered (dumbmonit_gitlab_runners_online and on (target) dumbmonit_gitlab_runners_total > 0).
  • AdvisoryGitLab Sidekiq backlog highA Sidekiq queue has more than 500 jobs waiting (max by (target) (dumbmonit_gitlab_sidekiq_queue_backlog)): notifications, webhooks and imports fall behind.
  • InfoGitLab migrations pendingDatabase migrations from an upgrade are left to apply.
  • AdvisoryGitLab license expiringThe Enterprise Edition licence expires in less than 30 days.
  • WarningMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Setup steps: Create a read-only token in GitLab
  1. On an administrator account, open avatar → Edit profile → Access → Personal access tokens → Generate token → Legacy token.

  2. Name it as follows, set an expiry date you can renew, and tick only the scope listed below.

    dumbmonit
  3. Generate the token and copy it: GitLab shows it only once.

  4. In DumbMonit, enter GitLab's address and paste the token.

  5. To watch CI pipelines, list the numeric project IDs (shown on each project's page) in the Projects watched for CI health option.

Heads-up. GitLab has no read-only administrator role, so the token can read everything its account can: use a dedicated bot account, not your own.

Documentation

Forgejo / Gitea

forgejo

Health check, repository, user and organisation counts, scheduled tasks running on time, Actions runners online or not.

Examples

  • Forgejo
  • Gitea

What you need

  • Access tokenA site administrator's access token, sent as "Authorization: token …". A token without admin rights still works, but only the version and the account's own repositories are read.

Default port: 3000

Built-in alert rules 3

  • AdvisoryForgejo/Gitea runners all offlineEvery Actions runner is offline, and at least one is registered (dumbmonit_forgejo_runners_online and on (target) dumbmonit_forgejo_runners_total > 0).
  • AdvisoryForgejo/Gitea scheduled task overdueA scheduled task (repository check, cleanup, update checker) did not run at its own interval.
  • WarningMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Setup steps: Create an access token in Forgejo or Gitea
  1. On a site administrator account, open avatar → Settings → Applications → Generate New Token.

  2. Name it as follows and tick only the scopes listed below.

    dumbmonit
  3. Generate the token and copy it: Forgejo shows it only once.

  4. In DumbMonit, enter the server's address and paste the token.

Heads-up. Forgejo and Gitea have no read-only administrator role, so the token can do whatever its account can: use a dedicated bot account, not your own.

Documentation

Keycloak

Betakeycloak

Readiness and database health, version, realms (disabled ones), active sessions and users per realm.

Examples

  • Keycloak 25 and later
  • Keycloak 24 and earlier

What you need

  • Client ID / secretA service-account client with read-only roles. DumbMonit asks for a token at each probe.

No account needed.

Default port: 8080

Built-in alert rules 3

  • WarningKeycloak not readyKeycloak answers but its readiness check is DOWN, usually the database: nobody can log in.
  • InfoKeycloak realm disabledA realm is disabled: its users cannot log in.
  • WarningMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Setup steps: Let DumbMonit read Keycloak's health and realms
  1. Run Keycloak with health checks on, with the option below. From Keycloak 25 they answer on the management port 9000.

    KC_HEALTH_ENABLED=true
  2. Optional, for realms, sessions and users: in the master realm, create a client named as follows, with Client authentication and Service accounts roles on, and Standard flow off.

    dumbmonit
  3. On that client's Service accounts roles tab, assign the client roles listed below, then copy the secret from its Credentials tab.

  4. In DumbMonit, enter Keycloak's address and the client ID and secret, or choose None (health checks only).

Heads-up. Keycloak 24 and earlier serve the health checks on the main port: set the health port option to same. Health checks must be enabled on the server, or DumbMonit reports a missing /health/ready.

Documentation

authentik

Betaauthentik

Readiness, workers, failed system tasks, outpost connections, version updates, users.

Examples

  • authentik 2025.x

What you need

  • API tokenThe key of an API token created for a service account, sent as "Authorization: Bearer …".

Default port: 9000

Built-in alert rules 6

  • Warningauthentik not readyauthentik answers but its readiness check fails: database or cache down.
  • Warningauthentik has no workerNo worker reports: synchronisation, e-mails and clean-up stop.
  • Advisoryauthentik task failedA system task failed on its last run. The notification names the task.
  • Advisoryauthentik outpost disconnectedAn outpost that serves providers has not reported for five minutes.
  • Infoauthentik update availableA newer authentik release exists.
  • WarningMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Setup steps: Create an API token in authentik
  1. In authentik, open Directory → Users → Create a service account and name it as follows, without a random password.

    dumbmonit
  2. Put that user in a group that can open the authentik interface, so it can read the system pages.

  3. Open Directory → Tokens and App passwords, create a token for that user with the intent API Token and no expiry, and copy its key.

  4. In DumbMonit, enter authentik's address and paste the key.

Heads-up. authentik has no read-only role for its system pages: the token's user must be allowed into the interface, so keep the key only in DumbMonit. Pages the token cannot read are skipped, not failed.

Documentation

Vaultwarden

Betavaultwarden

Liveness, version, open sign-ups, and with the admin token disabled-account and two-step login counts.

Examples

  • Vaultwarden

What you need

  • Admin tokenThe plain ADMIN_TOKEN of the admin page. It opens a session whose cookie DumbMonit keeps between probes; only counters are read.

No account needed.

Default port: 443

Built-in alert rules 2

  • InfoVaultwarden sign-ups openAnyone who can reach the vault can create an account.
  • WarningMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Setup steps: Check Vaultwarden, and optionally read its admin page
  1. Nothing to install: check from the DumbMonit host that Vaultwarden answers.

    curl https://vault.example.com/alive
  2. Optional, for account counts: enable the admin page with an ADMIN_TOKEN on the server, and keep the plain token you type on the /admin page.

  3. In DumbMonit, enter Vaultwarden's address; paste the admin token, or choose No admin token for the public checks only.

Heads-up. The admin token opens Vaultwarden's admin page and can change every setting: store it only in DumbMonit, or leave it out if you do not need the counts. DumbMonit reads counters only, never a name, e-mail address or vault item.

Documentation

UniFi Protect

Betaunifiprotect

Cameras offline or not recording, NVR disks and storage, recording switched off.

Examples

  • UNVR
  • Dream Machine Pro
  • Cloud Key Gen2+

What you need

  • Local user name / passwordA local UniFi OS user with the View Only role on Protect. Ubiquiti cloud accounts are refused.

Default port: 443

Built-in alert rules 5

  • AdvisoryProtect camera offlineA UniFi Protect camera is disconnected from its NVR. The notification names the camera.
  • AdvisoryProtect camera not recordingA camera is connected and set to record but does not.
  • WarningProtect NVR disk unhealthyThe NVR reports a failing disk.
  • AdvisoryProtect recording disabledRecording is switched off on the NVR.
  • WarningMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Setup steps: Create a local view-only user for Protect
  1. In UniFi OS, open Admins & Users → Create New and create a local user named as follows, with no cloud account.

    dumbmonit
  2. Give it access to the Protect application only, with the View Only role, and none to Network or other applications.

  3. In DumbMonit, enter the console's address and that user name and password.

Heads-up. Use a local account: UniFi OS refuses Ubiquiti cloud accounts here. The console's certificate is usually self-signed: turn on the certificate option.

Documentation

Frigate NVR

Betafrigate

Cameras that stopped delivering frames, detector speed and hangs, frame rates, recording storage, updates.

Examples

  • Frigate 0.14 and later

What you need

  • Bearer tokenSent as "Authorization: Bearer …" on every request.

No account needed.

Default port: 5000

Built-in alert rules 5

  • AdvisoryFrigate camera offlineA camera delivers no frames to Frigate. The notification names the camera.
  • AdvisoryFrigate detector stuckA detector has been on the same inference for more than 30 seconds.
  • AdvisoryFrigate storage almost fullThe disk holding the recordings is more than 90 % full; clears below 88 %.
  • InfoFrigate update availableA newer Frigate release exists.
  • WarningMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Setup steps: Let DumbMonit read Frigate's statistics
  1. Nothing to install: check from the DumbMonit host that Frigate's API answers on port 5000.

    curl http://frigate.lan:5000/api/version
  2. If a proxy in front of Frigate expects a token (port 8971 requires a login), choose Bearer token below; otherwise choose No authentication.

  3. In DumbMonit, enter Frigate's address, for example "frigate.lan".

Heads-up. Port 5000 has no login and gives full control of Frigate: expose it only to DumbMonit, never to the internet. A camera you turned off in Frigate's settings also reads as offline.

Documentation

Sonarr

Betasonarr

Health warnings, failing download clients and indexers, download queue errors, library disk space, updates.

Examples

  • Sonarr v4

What you need

  • API keyThe API key of Settings → General → Security, sent in the X-Api-Key header.

Default port: 8989

Built-in alert rules 5

  • AdvisorySonarr health errorSonarr reports an error on its System → Status page: a failing download client or indexer, a missing root folder.
  • AdvisorySonarr queue has errorsAn item of the download queue has an error (failed download, import blocked) for half an hour.
  • AdvisorySonarr disk almost fullA disk Sonarr reports is more than 90 % full; clears below 88 %.
  • InfoSonarr update availableA newer Sonarr release exists.
  • WarningMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Setup steps: Read the API key in Sonarr
  1. In Sonarr, open Settings → General → Security and copy the API Key.

  2. In DumbMonit, enter Sonarr's address and paste the key.

Heads-up. A Sonarr API key cannot be limited to reading: keep it only in DumbMonit, which sends GET requests and nothing else.

Documentation

Radarr

Betaradarr

Health warnings, failing download clients and indexers, download queue errors, library disk space, updates.

Examples

  • Radarr v5

What you need

  • API keyThe API key of Settings → General → Security, sent in the X-Api-Key header.

Default port: 7878

Built-in alert rules 5

  • AdvisoryRadarr health errorRadarr reports an error on its System → Status page: a failing download client or indexer, a missing root folder.
  • AdvisoryRadarr queue has errorsAn item of the download queue has an error (failed download, import blocked) for half an hour.
  • AdvisoryRadarr disk almost fullA disk Radarr reports is more than 90 % full; clears below 88 %.
  • InfoRadarr update availableA newer Radarr release exists.
  • WarningMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Setup steps: Read the API key in Radarr
  1. In Radarr, open Settings → General → Security and copy the API Key.

  2. In DumbMonit, enter Radarr's address and paste the key.

Heads-up. A Radarr API key cannot be limited to reading: keep it only in DumbMonit, which sends GET requests and nothing else.

Documentation

Lidarr

Betalidarr

Health warnings, failing download clients and indexers, download queue errors, library disk space, updates.

Examples

  • Lidarr

What you need

  • API keyThe API key of Settings → General → Security, sent in the X-Api-Key header.

Default port: 8686

Built-in alert rules 5

  • AdvisoryLidarr health errorLidarr reports an error on its System → Status page: a failing download client or indexer, a missing root folder.
  • AdvisoryLidarr queue has errorsAn item of the download queue has an error (failed download, import blocked) for half an hour.
  • AdvisoryLidarr disk almost fullA disk Lidarr reports is more than 90 % full; clears below 88 %.
  • InfoLidarr update availableA newer Lidarr release exists.
  • WarningMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Setup steps: Read the API key in Lidarr
  1. In Lidarr, open Settings → General → Security and copy the API Key.

  2. In DumbMonit, enter Lidarr's address and paste the key.

Heads-up. A Lidarr API key cannot be limited to reading: keep it only in DumbMonit, which sends GET requests and nothing else.

Documentation

Prowlarr

Betaprowlarr

Health warnings, indexers disabled after failures, disk space, updates.

Examples

  • Prowlarr

What you need

  • API keyThe API key of Settings → General → Security, sent in the X-Api-Key header.

Default port: 9696

Built-in alert rules 5

  • AdvisoryProwlarr health errorProwlarr reports an error on its System → Status page: a failing download client or indexer, a missing root folder.
  • AdvisoryProwlarr disk almost fullA disk Prowlarr reports is more than 90 % full; clears below 88 %.
  • InfoProwlarr update availableA newer Prowlarr release exists.
  • AdvisoryProwlarr indexers disabledProwlarr disabled indexers after repeated failures: Sonarr, Radarr and Lidarr stop finding releases through them.
  • WarningMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Setup steps: Read the API key in Prowlarr
  1. In Prowlarr, open Settings → General → Security and copy the API Key.

  2. In DumbMonit, enter Prowlarr's address and paste the key.

Heads-up. A Prowlarr API key cannot be limited to reading: keep it only in DumbMonit, which sends GET requests and nothing else.

Documentation

qBittorrent

Betaqbittorrent

Torrents in error or stalled, lost connectivity, download and upload speed, free space, torrents by state.

Examples

  • qBittorrent 4.x and 5.x

What you need

  • User name / passwordThe WebUI account. DumbMonit opens a session and reuses its cookie for the probe.

No account needed.

Default port: 8080

Built-in alert rules 4

  • AdvisoryqBittorrent torrents in errorTorrents are in error or have lost their files.
  • AdvisoryqBittorrent disconnectedqBittorrent is firewalled or disconnected: nothing is downloaded or seeded.
  • AdvisoryqBittorrent free space lowLess than 5 GiB free in the download folder; clears above 6 GiB.
  • WarningMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Setup steps: Give DumbMonit access to qBittorrent's WebUI
  1. In qBittorrent, open Tools → Options → Web UI and tick Web User Interface (Remote control).

  2. Under Authentication, set a user name and password named as follows, or allow DumbMonit's address in the whitelisted IP subnets bypass.

    dumbmonit
  3. In DumbMonit, enter qBittorrent's address and that user name and password, or choose No authentication for a bypassed address.

Heads-up. qBittorrent bans an address for an hour after five failed logins (HTTP 403): fix the password before the next probe, or the probe stays refused.

Documentation