/whosinmylan

Network scanner with webinterface and notifications.

Primary LanguageJavaScriptGNU General Public License v3.0GPL-3.0


Whos In My LAN

Network scanner with webinterface and notifications.
This project was heavily inspired by aceberg/WatchYourLAN.

Screenshot For more images see here.

Installation

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:

version: "3.4"

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

Configuration

Variable Description Default
INTERFACE Network interface to scan. eth0
SCAN_INTERVAL Time between scans in sconds. 60
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

Resources

Icon: https://freeicons.io/business-seo-elements/network-scheme-connection-networking-icon-38209