Corruption checks require a temp folder to write the db file. This may be a couple hundred megabytes or more. Set the TMPDIR
environment variable to a writable path, or mount /tmp
to resolve the error.
There are non-integration related settings and triggers are configured on the Notifiarr site in the Notifiarr Client Configuration
popup (button is located at the top of the setup page. You can get some insight about that on the wiki as well. Integration specific timers and settings are found in the Client Configuration of each Integration that uses the Client.
Open the conf file, set your Notifiarr API Key and restart the client.
Point your browser to the client. This can be something like:
http://localhost:5454
http://notifiarr
http://192.168.1.10:5454
Use the username (default:admin) and apikey you setup in the conf file to login to the app. Now you can configure and setup the client via the UI including changing your password.
When a new docker image is deployed with an empty /config folder mounted, the app will do two things:
Unraid Users
You must configure the Notifiarr API Key in the Unraid Template/ Container Settings. If you wish to use Plex then you’ll also need to set the Plex Token and Plex URL in the template as well. The other integrations can be defined in notifiarr.conf
Docker Users
Note that Docker Environmental Variables - and thus the Unraid Template - override the Config file.
bzcat
prior to making your editsbzcat /path/to/notifiarr.conf > /output/path/to/notifiarr_decomp.conf
You can set a log file in the config for apt/deb linux installs. You should do that. Otherwise, find your logs here:
/var/log/notifiarr
/var/log/syslog
(w/ default syslog)/usr/local/var/log/app.log
~/.notifiarr/notifiarr.log
<home folder>/.notifiarr/notifiarr.log
In the Client UI log settings can be found under Logging
in Settings => Configuration. Logs can be viewed in the UI under Insights => Logs.
In the Client UI log settings can be found under Logging
in Settings => Configuration.
Debug Logging
Logs can be viewed in the UI under Insights => Logs.
To clear
logs to make troubleshooting easier - stop the client and rename/remove the log file, the restart the client.
If you have not previously enabled debug logs you do not need to clear anything.
It is important that a static hostname is set so the site can keep track of multiple clients for the settings. Some examples of how to do that:
-h notifiarr
to your docker run commandhostname: notifiarr
to your yaml-h notifiarr
to Extra ParametersFailure to set a hostname will result in duplicate clients that will need to be resolved once a hostname is set.
/etc/machine-id:/etc/machine-id
Config File and Docker Environmental Variables are listed below
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.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) |
All applications below (starr, downloaders, Tautulli, Plex) have a timeout
setting.
If the configuration for an application is missing the timeout, the global timeout (above) is used.
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 |
mode | DN_MODE |
production / Change application mode: development or production |
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 by setting the env variable USEGUI
to false
.
See the Installation Page
See the Installation Page
See the Installation Page
See the Installation Page
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 |
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 |
lidarr.http_user | DN_LIDARR_0_HTTP_USER |
Provide username if Lidarr uses basic auth (uncommon) and BCC enabled |
lidarr.http_pass | DN_LIDARR_0_HTTP_PASS |
Provide password if Lidarr uses basic auth (uncommon) and BCC enabled |
lidarr.max_body | DN_LIDARR_0_MAX_BODY |
0 (off) / How much of the response body is logged when debug is on |
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 |
prowlarr.http_user | DN_PROWLARR_0_HTTP_USER |
Provide username if Prowlarr uses basic auth (uncommon) and BCC enabled |
prowlarr.http_pass | DN_PROWLARR_0_HTTP_PASS |
Provide password if Prowlarr uses basic auth (uncommon) and BCC enabled |
prowlarr.max_body | DN_PROWLARR_0_MAX_BODY |
0 (off) / How much of the response body is logged when debug is on |
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 |
radarr.http_user | DN_RADARR_0_HTTP_USER |
Provide username if Radarr uses basic auth (uncommon) and BCC enabled |
radarr.http_pass | DN_RADARR_0_HTTP_PASS |
Provide password if Radarr uses basic auth (uncommon) and BCC enabled |
radarr.max_body | DN_RADARR_0_MAX_BODY |
0 (off) / How much of the response body is logged when debug is on. |
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 |
readarr.http_user | DN_READARR_0_HTTP_USER |
Provide username if Readarr uses basic auth (uncommon) and BCC enabled |
readarr.http_pass | DN_READARR_0_HTTP_PASS |
Provide password if Readarr uses basic auth (uncommon) and BCC enabled |
readarr.max_body | DN_READARR_0_MAX_BODY |
0 (off) / How much of the response body is logged when debug is on. |
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 |
sonarr.http_user | DN_SONARR_0_HTTP_USER |
Provide username if Sonarr uses basic auth (uncommon) and BCC enabled |
sonarr.http_pass | DN_SONARR_0_HTTP_PASS |
Provide password if Sonarr uses basic auth (uncommon) and BCC enabled |
sonarr.max_body | DN_SONARR_0_MAX_BODY |
0 (off) / How much of the response body is logged when debug is on. |
You can add supported downloaders so they show up on the dashboard integration.
You may easily add service checks to these downloaders by adding a name.
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.
Config Name | Variable Name | Note |
---|---|---|
qbit.name | DN_QBIT_0_NAME |
No Default. Setting a name enables service checks |
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) |
Config Name | Variable Name | Note |
---|---|---|
rtorrent.name | DN_RTORRENT_0_NAME |
No Default. Setting a name enables service checks |
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 |
Config Name | Variable Name | Note |
---|---|---|
sabnzbd.name | DN_SABNZBD_0_NAME |
No Default. Setting a name enables service checks |
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 |
Config Name | Variable Name | Note |
---|---|---|
deluge.name | DN_DELUGE_0_NAME |
No Default. Setting a name enables service checks |
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) |
Config Name | Variable Name | Note |
---|---|---|
nzbget.name | DN_NZBGET_0_NAME |
No Default. Setting a name enables service checks |
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 |
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:
You must provide Plex Token for this to work.
You may also need to add a webhook to Plex so it sends notices to this application.
http://localhost:5454/plex?token=plex-token-here
localhost
with the IP or host of the notifiarr application.plex-token-here
with your plex token.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. |
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 |
No Default. Setting a name enables service checks of Tautulli |
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 |
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 |
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.
Run notifiarr --ps
to view the process list from Notifiarr’s point of view.
See the Installation Page