NetAlertX - Network scanner & notification framework
| ๐ Docker guide | ๐ Releases | ๐ Docs | ๐ Plugins | ๐ค Ask AI |
|---|---|---|---|---|
Head to https://netalertx.com/ for more gifs and screenshots ๐ท.
Note
There is also an experimental ๐งช bare-metal install method available.
๐ Basic Usage
Warning
You will have to run the container on the host network and specify SCAN_SUBNETS unless you use other plugin scanners. The initial scan can take a few minutes, so please wait 5-10 minutes for the initial discovery to finish.
docker run -d --rm --network=host \
-v local_path/config:/app/config \
-v local_path/db:/app/db \
--mount type=tmpfs,target=/app/api \
-e PUID=200 -e PGID=300 \
-e TZ=Europe/Berlin \
-e PORT=20211 \
ghcr.io/jokob-sk/netalertx:latest
See alternative docked-compose examples.
Docker environment variables
| Variable | Description | Example Value |
|---|---|---|
PORT |
Port of the web interface | 20211 |
PUID |
Application User UID | 102 |
PGID |
Application User GID | 82 |
LISTEN_ADDR |
Set the specific IP Address for the listener address for the nginx webserver (web interface). This could be useful when using multiple subnets to hide the web interface from all untrusted networks. | 0.0.0.0 |
TZ |
Time zone to display stats correctly. Find your time zone here | Europe/Berlin |
LOADED_PLUGINS |
Default plugins to load. Plugins cannot be loaded with APP_CONF_OVERRIDE, you need to use this variable instead and then specify the plugins settings with APP_CONF_OVERRIDE. |
["PIHOLE","ASUSWRT"] |
APP_CONF_OVERRIDE |
JSON override for settings (except LOADED_PLUGINS). |
{"SCAN_SUBNETS":"['192.168.1.0/24 --interface=eth1']","GRAPHQL_PORT":"20212"} |
ALWAYS_FRESH_INSTALL |
โ If true will delete the content of the /db & /config folders. For testing purposes. Can be coupled with watchtower to have an always freshly installed netalertx/netalertx-dev image. |
true |
You can override the default GraphQL port setting
GRAPHQL_PORT(set to20212) by using theAPP_CONF_OVERRIDEenv variable.LOADED_PLUGINSand settings inAPP_CONF_OVERRIDEcan be specified via the UI as well.
Docker paths
Note
See also Backup strategies.
| Required | Path | Description |
|---|---|---|
| โ | :/app/config |
Folder which will contain the app.conf & devices.csv (read about devices.csv) files |
| โ | :/app/db |
Folder which will contain the app.db database file |
:/app/log |
Logs folder useful for debugging if you have issues setting up the container | |
:/app/api |
A simple API endpoint containing static (but regularly updated) json and other files. | |
:/app/front/plugins/<plugin>/ignore_plugin |
Map a file ignore_plugin to ignore a plugin. Plugins can be soft-disabled via settings. More in the Plugin docs. |
|
:/etc/resolv.conf |
Use a custom resolv.conf file for better name resolution. |
Use separate
dbandconfigdirectories, do not nest them.
Initial setup
- If unavailable, the app generates a default
app.confandapp.dbfile on the first run. - The preferred way is to manage the configuration via the Settings section in the UI, if UI is inaccessible you can modify app.conf in the
/app/config/folder directly
Setting up scanners
You have to specify which network(s) should be scanned. This is done by entering subnets that are accessible from the host. If you use the default ARPSCAN plugin, you have to specify at least one valid subnet and interface in the SCAN_SUBNETS setting. See the documentation on How to set up multiple SUBNETS, VLANs and what are limitations for troubleshooting and more advanced scenarios.
If you are running PiHole you can synchronize devices directly. Check the PiHole configuration guide for details.
Note
You can bulk-import devices via the CSV import method.
Community guides
You can read or watch several community configuration guides in Chinese, Korean, German, or French.
Please note these might be outdated. Rely on official documentation first.
Common issues
- Before creating a new issue, please check if a similar issue was already resolved.
- Check also common issues and debugging tips.
๐ Support me
![]() |
![]() |
![]() |
|---|---|---|
- Bitcoin:
1N8tupjeCK12qRVU2XrV17WvKK7LCawyZM - Ethereum:
0x6e2749Cb42F4411bc98501406BdcD82244e3f9C7
๐ง Email me at netalertx@gmail.com if you want to get in touch or if I should add other sponsorship platforms.


