Network scanner with webinterface and notifications.
This project was heavily inspired by aceberg/WatchYourLAN.
For more images see here.
Docker CLI:
docker run -d --name=whosinmylan \
--network=host \
-v <data_directory>:/data \
-e TZ=<timezone> \
-e INTERFACE=eth0 \
-e WEBUI_URL=https://whosinmylan.myserver.de \
-e WEBUI_PASSWORD=<my_password> \
-e WEBUI_JWT_KEY=<long_random_string> \
ghcr.io/1randomdev/whosinmylan:latest
Docker Compose:
services:
whosinmylan:
container_name: whosinmylan
image: ghcr.io/1randomdev/whosinmylan:latest
network_mode: host
volumes:
- ./data:/data
environment:
- TZ=<timezone>
- INTERFACE=eth0
- WEBUI_URL=https://whosinmylan.myserver.de
- WEBUI_PASSWORD=<my_password>
- WEBUI_JWT_KEY=<long_random_string>
restart: unless-stopped
For all available options see docker-compose.yml
Variable | Description | Default |
---|---|---|
INTERFACE | Network interface to scan. Multiple interfaces can be specified comma separated (e.g. vlan1,vlan2 ). |
eth0 |
SCAN_INTERVAL | Time between scans in sconds. | 60 |
ONLINE_TIMEOUT | Time until a device is shown as offline. | SCAN_INTERVAL*3 |
WEBUI_URL | URL of the webinterface which is used for things like links in notifications. | none |
WEBUI_PORT | Port of the webinterface. | 8484 |
WEBUI_HOST | Network interface through which the webinterface should be accessible. | 0.0.0.0 |
WEBUI_PASSWORD | Password for accessing the webinterface. | none |
WEBUI_JWT_KEY | Key for generating login tokens (JWT). Should be set to a long random string. If kept empty sessions won't be saved across restarts. | random generated |
APPRISE_URL | URL for prefered notification service. See list of supported services. | none |
DATABASE_FILE | Path to the database file. | /data/data.db |
Icon: https://freeicons.io/business-seo-elements/network-scheme-connection-networking-icon-38209