Skip to content

Notifiarr Client Configuration

Deprecated Page

This page is deprecated and the application configuration is now documented in the application Web UI. Log into the user interface in a web browser to read about all the configuration options.

Use the Web UI to change the application configuration.

.conf File

The config file used to be the preferred way to change the application's behavior, but now days the config file is compressed and direct edits are discouraged. The format has become too much to properly document. If you're configuring your client with automation such as puppet or ansible, then you should use environment variables for configuration. It's possible the config file format may change in the future, and the env variables are more likely to remain unaffected.

Configuration Options

Config File and Environment Variables are listed below. The up-to-date data now lives in the client's Web UI.

  • Any variable not provided takes the default.
  • Environmental Variables take precedent over config file settings.
  • Must provide an "All" API key from notifiarr.com.
  • The Notifiarr application uses the API key for bi-directional authorization.
  • You may provide multiple Sonarr, Radarr or Readarr instances using DN_SONARR_1_URL, DN_SONARR_2_URL, etc or by duplicating the starr block in the conf file.
  • Note the header of [[radarr]], [[sonarr]], [[readarr]], etc. is required.

The following data is out of date, and may not be updated very often.

Global Configuration

Config Name Variable Name Default / Note
api_key DN_API_KEY Required / API Key from Notifiarr.com
auto_update DN_AUTO_UPDATE off / Set to daily to turn on automatic updates (windows only)
bind_addr DN_BIND_ADDR 0.0.0.0:5454 / The IP and port to listen on
quiet DN_QUIET false / Turns off output. Set a log_file if this is true
ui_password DN_UI_PASSWORD None by default. Set a username:password & change the password to encrypt it
urlbase DN_URLBASE default: / Change the web root with this setting
upstreams DN_UPSTREAMS_0 List of upstream networks that can set X-Forwarded-For
ssl_key_file DN_SSL_KEY_FILE Providing SSL files turns on the SSL listener
ssl_cert_file DN_SSL_CERT_FILE Providing SSL files turns on the SSL listener
log_file DN_LOG_FILE None by default. Optionally provide a file path to save app logs
http_log DN_HTTP_LOG None by default. Provide a file path to save HTTP request logs
log_file_mb DN_LOG_FILE_MB 100 / Max size of log files in megabytes
log_files DN_LOG_FILES 10 / Log files to keep after rotating. 0 disables rotation
file_mode DN_FILE_MODE "0600" / Unix octal filemode for new log files
timeout DN_TIMEOUT 60s / Global API Timeouts (all apps default)

Secret Settings

Recommend not messing with these unless instructed to do so.

Config Name Variable Name Default / Note
extra_keys DN_EXTRA_KEYS_0 [] (empty list) / Add keys to allow API requests from places besides notifiarr.com
debug DN_DEBUG false / Adds payloads and other stuff to the log output; very verbose/noisy
debug_log DN_DEBUG_LOG "" / Set a file system path to write debug logs to a dedicated file
max_body DN_MAX_BODY Unlimited, 0 / Maximum debug-log body size (integer) for payloads to and from notifiarr.com
TMPDIR %TMP% on Windows. Varies depending on system; must be writable if using Backup Corruption Check

Note: You may disable the GUI (menu item) on Windows and MacOS by setting the env variable USEGUI to false.

Snapshots

Many of the snapshot settings are on the website, but a few are configured locally.

Nvidia

The app can collect Nvidia GPU stats for snapshot notifications.

Config Name Variable Name Note
snapshot.nvidia.disabled DN_SNAPSHOT_NVIDIA_DISABLED Set this to true to turn off this feature.

Busids and smi path are missing. ^ This is incomplete.

MySQL

You may add mysql credentials to your notifiarr configuration to snapshot mysql service health. This feature snapshots SHOW PROCESSLIST and SHOW STATUS data.

Access to a database is not required. Example Grant:

GRANT PROCESS ON *.* to 'notifiarr'@'localhost'
Config Name Variable Name Note
snapshot.mysql.name DN_SNAPSHOT_MYSQL_NAME Setting a name enables service checks of MySQL
snapshot.mysql.host DN_SNAPSHOT_MYSQL_HOST Something like: localhost:3306
snapshot.mysql.user DN_SNAPSHOT_MYSQL_USER Username in the GRANT statement
snapshot.mysql.pass DN_SNAPSHOT_MYSQL_PASS Password for the user in the GRANT statement

Lidarr

Config Name Variable Name Note
lidarr.name DN_LIDARR_0_NAME No Default. Setting a name enables service checks
lidarr.url DN_LIDARR_0_URL No Default. Something like: http://lidarr:8686
lidarr.api_key DN_LIDARR_0_API_KEY No Default. Provide URL and API key if you use Readarr
lidarr.username DN_LIDARR_0_USERNAME Provide username if using backup corruption check and auth is enabled
lidarr.password DN_LIDARR_0_PASSWORD Provide password if using backup corruption check and auth is enabled
  • BCC = Backup Corruption Check

Prowlarr

Config Name Variable Name Note
prowlarr.name DN_PROWLARR_0_NAME No Default. Setting a name enables service checks
prowlarr.url DN_PROWLARR_0_URL No Default. Something like: http://prowlarr:9696
prowlarr.api_key DN_PROWLARR_0_API_KEY No Default. Provide URL and API key if you use Readarr
prowlarr.username DN_PROWLARR_0_USERNAME Provide username if using backup corruption check and auth is enabled
prowlarr.password DN_PROWLARR_0_PASSWORD Provide password if using backup corruption check and auth is enabled

Radarr

Config Name Variable Name Note
radarr.name DN_RADARR_0_NAME No Default. Setting a name enables service checks.
radarr.url DN_RADARR_0_URL No Default. Something like: http://localhost:7878
radarr.api_key DN_RADARR_0_API_KEY No Default. Provide URL and API key if you use Radarr
radarr.username DN_RADARR_0_USERNAME Provide username if using backup corruption check and auth is enabled
radarr.password DN_RADARR_0_PASSWORD Provide password if using backup corruption check and auth is enabled

Readarr

Config Name Variable Name Note
readarr.name DN_READARR_0_NAME No Default. Setting a name enables service checks
readarr.url DN_READARR_0_URL No Default. Something like: http://localhost:8787
readarr.api_key DN_READARR_0_API_KEY No Default. Provide URL and API key if you use Readarr
readarr.username DN_READARR_0_USERNAME Provide username if using backup corruption check and auth is enabled
readarr.password DN_READARR_0_PASSWORD Provide password if using backup corruption check and auth is enabled

Sonarr

Config Name Variable Name Note
sonarr.name DN_SONARR_0_NAME No Default. Setting a name enables service checks
sonarr.url DN_SONARR_0_URL No Default. Something like: http://localhost:8989
sonarr.api_key DN_SONARR_0_API_KEY No Default. Provide URL and API key if you use Sonarr
sonarr.username DN_SONARR_0_USERNAME Provide username if using backup corruption check and auth is enabled
sonarr.password DN_SONARR_0_PASSWORD Provide password if using backup corruption check and auth is enabled

Downloaders

You can add supported downloaders so they show up on the dashboard integration. You may easily add service checks to these downloaders by setting a check interval to a positive value like 1m.Any number of downloaders of any type may be configured.

These all also have interval and timeout represented as a Go Duration. Examples: 1m, 1m30s, 3m15s, 1h5m. Valid units ares,m, andh. Combining units is additive.

QbitTorrent

Config Name Variable Name Note
qbit.name DN_QBIT_0_NAME Defaults to the URL if left unset.
qbit.url DN_QBIT_0_URL No Default. Something like: http://localhost:8080
qbit.user DN_QBIT_0_USER No Default. Provide URL, user and pass if you use Qbit
qbit.pass DN_QBIT_0_PASS No Default. Provide URL, user and pass if you use Qbit
qbit.http_user DN_QBIT_0_HTTP_USER Provide this username if Qbit is behind basic auth (uncommon)
qbit.http_pass DN_QBIT_0_HTTP_PASS Provide this password if Qbit is behind basic auth (uncommon)

rTorrent

Config Name Variable Name Note
rtorrent.name DN_RTORRENT_0_NAME Defaults to the URL if left unset.
rtorrent.url DN_RTORRENT_0_URL No Default. Something like: http://localhost:5000
rtorrent.user DN_RTORRENT_0_USER No Default. Provide URL, user and pass if you use rTorrent
rtorrent.pass DN_RTORRENT_0_PASS No Default. Provide URL, user and pass if you use rTorrent

SABnzbd

Config Name Variable Name Note
sabnzbd.name DN_SABNZBD_0_NAME Defaults to the URL if left unset.
sabnzbd.url DN_SABNZBD_0_URL No Default. Something like: http://localhost:8080/sabnzbd
sabnzbd.api_key DN_SABNZBD_0_API_KEY No Default. Provide URL and API key if you use SABnzbd

Deluge

Config Name Variable Name Note
deluge.name DN_DELUGE_0_NAME Defaults to the URL if left unset.
deluge.url DN_DELUGE_0_URL No Default. Something like: http://localhost:8080
deluge.password DN_DELUGE_0_PASSWORD No Default. Provide URL and password key if you use Deluge
deluge.http_user DN_DELUGE_0_HTTP_USER Provide this username if Deluge is behind basic auth (uncommon)
deluge.http_pass DN_DELUGE_0_HTTP_PASS Provide this password if Deluge is behind basic auth (uncommon)

NZBGet

Config Name Variable Name Note
nzbget.name DN_NZBGET_0_NAME Defaults to the URL if left unset.
nzbget.url DN_NZBGET_0_URL No Default. Something like: http://localhost:6789
nzbget.user DN_NZBGET_0_USER No Default. Provide URL username and password if you use NZBGet
nzbget.pass DN_NZBGET_0_PASS No Default. Provide URL username and password if you use NZBGet

Plex

This application can also send Plex sessions to Notifiarr so you can receive notifications when users interact with your server. This has three different features:

  • Notify all sessions on a longer interval (30+ minutes).
  • Notify on session nearing completion (percent complete).
  • Notify on session change (Plex Webhook) ie. pause/resume.
  • See Plex Webhook in the After Install page for more info.
Config Name Variable Name Note
plex.url DN_PLEX_URL http://localhost:32400 / local URL to your plex server
plex.token DN_PLEX_TOKEN Required. Must provide Plex Token for this to work.

Tautulli

Only 1 Tautulli instance may be configured per client. Providing Tautulli allows Notifiarr to use the "Friendly Name" for your Plex users and it allows you to easily enable a service check.

Config Name Variable Name Note
tautulli.name DN_TAUTULLI_NAME Defaults to the URL if left unset.
tautulli.url DN_TAUTULLI_URL No Default. Something like: http://localhost:8181
tautulli.api_key DN_TAUTULLI_API_KEY No Default. Provide URL and API key if you want name maps from Tautulli

Endpoint URL Relay

The application can poll (download) a URL on a schedule and relay it as a notification. This is incomplete.

Service Checks

The Notifiarr client can also check URLs for health. If you set names on your Starr apps they will be automatically checked and reports sent to Notifiarr. If you provide a log file for service checks, those logs will no longer write to the app log nor to console stdout.

Config Name Variable Name Note
services.log_file DN_SERVICES_LOG_FILE If a file path is provided, service check logs write there
services.interval DN_SERVICES_INTERVAL 10m, How often to send service states to Notifiarr; minimum: 5m
services.parallel DN_SERVICES_PARALLEL 1, How many services can be checked at once; 1 is plenty

You can also create ad-hoc service checks for things like Bazarr.

Config Name Variable Name Note
service.name DN_SERVICE_0_NAME Services must have a unique name
service.type DN_SERVICE_0_TYPE Type must be one of http, tcp, process
service.check DN_SERVICE_0_CHECK The URL, or host/ip:port to check
service.expect DN_SERVICE_0_EXPECT 200, For HTTP, the return code to expect
service.timeout DN_SERVICE_0_TIMEOUT 15s, How long to wait for service response
service.interval DN_SERVICE_0_INTERVAL 5m, How often to check the service

Web UI

It's a lot easier to configure service checks in the Web UI.

When type is set to process, the expect parameter becomes a special variable. You may set it to restart to send a notification when the process restarts. You may set it to running to alert if the process is found running (negative check). You may set it to count:min:max. ie count:1:2 means alert if process count is below 1 or above 2. You may combine these with commas. ie restart,count:1:3.

By default check is the value to find in the process list. It uses a simple string match. Unless you wrap the value in slashes, then it becomes a regex. ie. use this expect = "/^/usr/bin/smtpd$/" to match an exact string.

Notifiarr is a CLI app too

Run notifiarr --ps to view the process list from Notifiarr's point of view.