/baserow-ip-logger

automatically log the local IP into a baserow.io table

Primary LanguagePython

🪵 Baserow IP Logger

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:


⚡️ How to run it?

  1. Install dependencies in a local venv:
python3.9 -m venv .venv
source .venv/bin/activate
poetry install
  1. Set up a table on baserow.io with the fields node-identifier, local-ip-address and public-ip-address

  1. Use config.template.json to write a config.json

  2. Run it manually

source .venv/bin/activate
python run.py
  1. 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