Open ports inventory for local servers. Exports data to InfluxDB2/Grafana
docker run --name wyp \
-e "TZ=Asia/Novosibirsk" \
-v ~/.dockerdata/WatchYourPorts:/data/WatchYourPorts \
-p 8853:8853 \
aceberg/watchyourports
Or use docker-compose.yml
You can limit access to WYP with ForAuth. Here is an example: docker-compose-auth.yml
Also, SSO tools like Authelia should work.
$ADDR
is IP or domain name of the server, without http(s)://
prefix. It will be used to ping ports.
./docker-export.sh $ADDR
hosts.yaml
file in WatchYourPorts config dirhosts.yaml
, as you wantConfiguration can be done through config.yaml
file or GUI, or environment variables
Variable | Description | Default |
---|---|---|
HOST | Listen address | 0.0.0.0 |
PORT | Port for web GUI | 8853 |
THEME | Any theme name from https://bootswatch.com in lowcase or additional | grass |
COLOR | Background color: light or dark | dark |
TIMEOUT | How often watched ports are scanned (minutes) | 10 |
HIST_TRIM | How many port states are saved in memory and displayed | 90 |
TZ | Set your timezone for correct time | "" |
This config matches Grafana's config for InfluxDB data source
Variable | Description | Default | Example |
---|---|---|---|
INFLUX_ENABLE | Enable export to InfluxDB2 | false | true |
INFLUX_SKIP_TLS | Skip TLS Verify | false | true |
INFLUX_ADDR | Address:port of InfluxDB2 server | https://192.168.2.3:8086/ | |
INFLUX_BUCKET | InfluxDB2 bucket | test | |
INFLUX_ORG | InfluxDB2 org | home | |
INFLUX_TOKEN | Secret token, generated by InfluxDB2 |
Key | Description | Default |
---|---|---|
-d | Path to config dir | /data/WatchYourPorts |
-n | Path to local JS and Themes (node-bootstrap) | "" |
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.
docker run --name node-bootstrap \
-v ~/.dockerdata/icons:/app/icons \ # For local images
-p 8850:8850 \
aceberg/node-bootstrap
docker run --name wyp \
-v ~/.dockerdata/WatchYourPorts:/data/WatchYourPorts \
-p 8853:8853 \
aceberg/watchyourports -n "http://$YOUR_IP:8850"
Or use docker-compose
GET /api/all
Returns all data about saved addresses in json
.