Lightweight network IP scanner with web GUI
Replace $YOURTIMEZONE with correct time zone and $YOURIFACE with network interface you want to scan. Network mode must be host. Set $DOCKERDATAPATH for container to save data:
docker run --name wyl \
-e "IFACE=$YOURIFACE" \
-e "TZ=$YOURTIMEZONE" \
--network="host" \
-v $DOCKERDATAPATH/wyl:/data \
aceberg/watchyourlanWeb GUI should be at http://localhost:8840
Configuration can be done through config file or environment variables
| Variable | Description | Default |
|---|---|---|
| ARP_TIMEOUT | Per host timeout for arp-scan (in milliseconds) | 500 |
| AUTH | Enable Session-Cookie authentication | false |
| AUTH_EXPIRE | Session expiration time. A number and suffix: m, h, d or M. | 7d |
| AUTH_USER | Username | "" |
| AUTH_PASSWORD | Encrypted password (bcrypt). How to encrypt password with bcrypt? | "" |
| COLOR | Background color: light or dark | light |
| DBPATH | Path to Database | /data/db.sqlite |
| GUIIP | Address for web GUI | 0.0.0.0 |
| GUIPORT | Port for web GUI | 8840 |
| HISTORY_DAYS | Keep devices online/offline history for (days) | 30 |
| IFACE | Interface to scan. Could be one or more, separated by space. Currently docker0 is not allowed, as arp-scan wouldn't work with it correctly |
enp1s0 |
| IGNOREIP | If you want to detect unknown hosts by MAC only, set this wariable to "yes" | no |
| LOGLEVEL | How much log output you want to see ("short" or "verbose") | verbose |
| SHOUTRRR_URL | Url to any notification service supported by Shoutrrr (gotify, email, telegram and others) or Generic Webhook | "" |
| THEME | Any theme name from https://bootswatch.com in lowcase | solar |
| TIMEOUT | Time between scans (seconds) | 60 (1 minute) |
Warning
Config file format has been migrated to YAML in release v1.0.0.
Config file path is /data/config.yaml.
All variables could be set there. Example:
color: light
dbpath: /data/db.sqlite
guiip: 192.168.2.1
guiport: "8840"
iface: enp1s0
ignoreip: "no"
loglevel: short
shoutrrr_url: gotify://192.168.2.1:8083/AwQqpAae.rrl5Ob/?title=Unknown host detected&DisableTLS=yes
theme: solar
timeout: 120| Key | Description | Default |
|---|---|---|
| -c | Path to config file | /data/config.yaml |
| -n | Path to node modules (see below) | "" |
By default, this app pulls themes, icons and fonts from the internet. But, in some cases, it may be useful to have an independent from global network setup. I created a separate image with all necessary modules and fonts. Run with Docker:
docker run --name node-bootstrap \
-p 8850:8850 \
aceberg/node-bootstrapdocker run --name wyl \
-e "IFACE=$YOURIFACE" \
-e "TZ=$YOURTIMEZONE" \
--network="host" \
-v $DOCKERDATAPATH/wyl:/data \
aceberg/watchyourlan -n "http://$YOUR_IP:8850"Or use docker-compose
- All go packages listed in dependencies
- Favicon and logo: Access point icons created by Freepik - Flaticon
- Bootstrap
- Themes: Free themes for Bootstrap