This tool automatically logs the local IP into a https://baserow.io/ table. We need it because we don't have publicly routed IPs on most of our devices and didn't find a practical way to discover local devices in our big university network yet.
It only pushes updates on changes in the network state or reboot. We decided to omit the public IP for now because this would require a lot of unnecessary additional traffic for our use case. This might be configurable via the config.json
in the future.
Example table content:
- Install dependencies in a local venv:
python3.9 -m venv .venv
source .venv/bin/activate
poetry install
- Set up a table on baserow.io with the fields
node-identifier
,local-ip-address
andpublic-ip-address
-
Use
config.template.json
to write aconfig.json
-
Run it manually
source .venv/bin/activate
python run.py
- Add the following to the crontab to run it periodically
*/2 * * * * .../baserow-node-ip-management/.venv/bin/python .../baserow-node-ip-management/run.py > .../baserow-node-ip-management/cron.log