public-ip-tracker/README.md
Melora Hugues 34b3156d64
All checks were successful
continuous-integration/drone/push Build is passing
Add Dockerfile
This commit adds a first working Dockerfile for this program, as well as
instructions on how to use it. This will need more detailing in the
future, but this will do for now.
2023-01-28 15:11:36 +01:00

64 lines
1.7 KiB
Markdown

# Public IP tracker
[![Build Status](https://drone.faercol.me/api/badges/faercol/public-ip-tracker/status.svg)](https://drone.faercol.me/faercol/public-ip-tracker)
Telegram bot that detects changes to the device's public IP. This is particularily useful when
the device is handled by an ISP that does not provide a static public IP, such as a home device.
## Features
### Automatic public IP detection and monitoring
Upon startup, the current public IP is detected, and a status message is sent to a specific Telegram
channel with the relevant information.
> Insert example message here
When running as a daemon, the program automatically monitors the current public IP adress for changes.
If the IP changes for some reason, then the new updated adress is sent to the specific Telegram
channel.
> Insert example message here
### On-demand public IP
The relevant channel is monitored during the program execution. This allows the user to send a
command to the bot in order to get the current public IP on-demand.
> Insert example here
## Deploy
### Configuration file
For now, the program is configured through a JSON configuration file. Here is a sample :
```json
{
"telegram": {
"token": "<your_bot_token>",
"channel_id": 9999999
},
"polling_frequency": 5
}
```
### Docker
You can use the provided Dockerfile to build your own image.
```bash
docker build -t public-ip-tracker .
```
You can then use the provided configuration file sample, and provide it to the program using the
`/config` volume
> I might add support for environment variables in the future.
```bash
docker run -it -v /path/to/your/dir/with/json/file:/config public-ip-tracker
```