This is the unified client for Notifiarr.com.
The client enables content requests from Media Bot in your Discord Server and also provides reports for Plex usage and system health among many other features.
Linux repository hosting provided by
user:group
of notifiarr:notifiarr
.curl -s https://golift.io/repo.sh | sudo bash -s - notifiarr
After install, edit the config and start the service:
sudo nano /etc/notifiarr/notifiarr.conf
sudo systemctl restart notifiarr
makepkg
using the aur
sourceExample of the above in shell form:
wget -qO- https://raw.githubusercontent.com/Notifiarr/notifiarr/main/userscripts/install.sh | sudo bash
vi /usr/local/etc/notifiarr/notifiarr.conf
service notifiarr start
On FreeBSD, Notifiarr runs as user:group
of notifiarr:notifiarr
.
/usr/local/etc/notifiarr/notifiarr.conf
brew install golift/mugs/notifiarr
vi /usr/local/etc/notifiarr/notifiarr.conf
brew services start notifiarr
Open
so macOS allows it.~/.notifiarr/notifiarr.conf
~/.notifiarr/notifiarr.log
.exe.zip
file from the Releases page.notifiarr.amd64.exe
binary. This starts the app in the system tray.C:\ProgramData\notifiarr\notifiarr.conf
<your home folder>\.notifiarr\notifiarr.log
To enable Notifiarr to auto start on system reboot:
shell:startup
, then select OK. This opens the Startup folder.This project builds automatically in Docker Cloud and creates ready-to-use multi-architecture images. The latest
tag is always a tagged release in GitHub. The main
tag corresponds to the main
branch in GitHub and may be broken.
A sample docker compose file is found in Examples in the Notifiarr Client repo.
Unraid Users
You must configure a Notifiarr API Key in the Unraid Template. If you wish to use Plex then you'll also need to set the Plex Token and Plex URL in the template as well.
Docker Users
Note that Docker Environmental Variables - and thus the Unraid Template - override the Config file.
privileged
to use smartctl
(monitor_drives
) and/or MegaCli
(monitor_raid
)./var/run/utmp
volume if you want to count users.docker pull golift/notifiarr
docker run --hostname=$(hostname) -d \
-v /your/config/notifiarr.conf:/config/notifiarr.conf \
-v /var/run/utmp:/var/run/utmp \
golift/notifiarr
docker logs <container id from docker run>
See below for more information about which environment variables are available.
You must set --privileged
when monitor drives
is enabled on the website.
docker pull golift/notifiarr
docker run --hostname $(hostname) -d --privileged \
-v /var/run/utmp:/var/run/utmp \
-e "DN_API_KEY=abcdef-12345-bcfead-43312-bbbaaa-123" \
-e "DN_SONARR_0_URL=http://localhost:8989" \
-e "DN_SONARR_0_API_KEY=kjsdkasjdaksdj" \
golift/notifiarr
docker logs <container id from docker run>
See the Configuration Page
See the Configuration Page
See the Configuration Page
This application can take a snapshot of your system at an interval and send
you a notification. Snapshot means system health like cpu, memory, disk, raid, users, etc.
Other data available in the snapshot: mysql health, iotop
, iostat
and top
data.
Some of this may only be available on Linux, but other platforms have similar abilities.
If you monitor drive health you must have smartmontools (smartctl
) installed.
If you use smartctl on Linux, you must enable sudo. Add the sudoers entry below to
/etc/sudoers
and fix the path to smartctl
if yours differs. If you monitor
raid and use MegaCli (LSI card), add the appropriate sudoers entry for that too.
To monitor application disk I/O you may install iotop
and add the sudoers entry
for it, shown below. This feature is enabled on the website.
The following sudoers entries are used by various snapshot features. Add them if you use the respective feature.
You can usually just put the following content into /etc/sudoers
or /etc/sudoers.d/00-notifiarr
.
# Allows drive health monitoring on macOS, Linux/Docker and FreeBSD.
notifiarr ALL=(root) NOPASSWD:/usr/sbin/smartctl *
# Allows disk utilization monitoring on Linux (non-Docker).
notifiarr ALL=(root) NOPASSWD:/usr/sbin/iotop *
# Allows monitoring megaraid volumes on macOS, Linux/Docker and FreeBSD.
# Rarely needed, and you'll know if you need this.
notifiarr ALL=(root) NOPASSWD:/usr/sbin/MegaCli64 -LDInfo -Lall -aALL
smartmontools
- get it here https://sourceforge.net/projects/smartmontools/apt install smartmontools
yum install smartmontools
--privileged
mode.opkg install smartmontools
, but first get Entware:
There is no client configuration for snapshots (except MySQL, below).
Snapshot configuration is found on the website.
You'll need to expose this application to the Internet, so Notifiarr.com
can make connections to it. While you can certainly poke a hole your firewall
and send the traffic directly to this app, it is recommended that you put it
behind a reverse proxy. It's pretty easy.
upstreams
and urlbase
settings for your environment.
192.168.3.45
then set upstreams = ["192.168.3.45/32"]
.urlbase
can be left at /
, but change it if you serve this app from aIf using Authelia or Organizr ensure they are passing the username header
For example in NGINX: if _username
is the variable your authentication app is passing then your would need:
proxy_set_header X-WebAuth-User $_username;
webauthheader
which maps Authelia's Remote-User
header to Notifiarr's expected X-WebAuth-User
header. You must then attach the webauthheader
middleware to the Notifiarr client in Traefik./api
and /plex
endpoints to bypass authentication.http:
middlewares:
webauthheader:
plugin:
htransformation:
Rules:
- Name: 'Auth header rename'
Header: 'Remote-User'
Value: 'X-WebAuth-User'
Type: 'Rename'
/notifiarr
and it's running on 127.0.0.1
- here's a sample nginx config to do that:# Notifiarr Client
location /notifiarr/api {
proxy_set_header X-Forwarded-For $remote_addr;
set $notifiarr http://127.0.0.1:5454;
proxy_pass $notifiarr$request_uri;
auth_request off;
}
location /notifiarr {
proxy_set_header X-Forwarded-For $remote_addr;
set $notifiarr http://127.0.0.1:5454;
proxy_pass $notifiarr$request_uri;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;
}
Make sure the Nginx location
path matches the urlbase
Notifiarr setting.
That's all there is to it.
Example Needed