diff --git a/watchyourlan/readme.md b/watchyourlan/readme.md new file mode 100644 index 0000000..8465c71 --- /dev/null +++ b/watchyourlan/readme.md @@ -0,0 +1,101 @@ +# WatchYourLAN + +###### guide-by-example + +![pic](https://i.imgur.com/YDDcvVg.png) + +# Purpose & Overview + +Monitor LAN with regular IP scans.
+ +* [Github](https://github.com/aceberg/WatchYourLAN) + +Simple webgui ip scanner with notification when new unknown MAC address appears. + +Backend is written in Go. + +# Files and directory structure + +``` +/home/ +└── ~/ + └── docker/ + └── watchyourlan/ + ├── 🗋 .env + └── 🗋 docker-compose.yml +``` +* `.env` - a file containing environment variables for docker compose +* `docker-compose.yml` - a docker compose file, telling docker how to run the container + +# Compose + +Of note is the `network_mode` being set to `host`, +which means that the container shares the IP with the docker-host +and is on the docker-host network, likely the main netowork, +not some virtual docker network. + +`docker-compose.yml` +```yml +services: + + watchyourlan: + image: aceberg/watchyourlan + container_name: watchyourlan + hostname: watchyourlan + network_mode: host + env_file: .env + restart: unless-stopped + volumes: + - ./wyl-data:/data +``` + +`.env` +```bash +# GENERAL +TZ=Europe/Bratislava + +IFACE="ens33" +GUIIP: "10.0.19.4" +GUIPORT="8840" +THEME="darkly" +``` + +To get variables `IFACE` and `GUIIP` for the `.env` file, +ssh to docker-host and `ip r` + +# Reverse proxy + +Caddy v2 is used, details +[here](https://github.com/DoTheEvo/selfhosted-apps-docker/tree/master/caddy_v2). + +Because of the container running in a host network mode, the IP of the docker-host +is used instead of just some container hostname. + +`Caddyfile` +```php +lan.{$MY_DOMAIN} { + reverse_proxy 10.0.19.4:8840 +} +``` + +# Notifications + +WatchYourLAN uses [Shoutrrr](https://containrrr.dev/shoutrrr/v0.5/services/generic/) +for notifications.
+If using [ntfy like me](https://github.com/DoTheEvo/selfhosted-apps-docker/tree/master/gotify-ntfy-signal), +one just uses generic webhook notation of shoutrrr. + +In Config: + +* Shoutrrr URL: `generic+https://ntfy.example.com/LAN_home` + +# Trouble shooting + +# Update + +Manual image update: + +- `docker compose pull`
+- `docker compose up -d`
+- `docker image prune` +