Melora Hugues
34b3156d64
All checks were successful
continuous-integration/drone/push Build is passing
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.
64 lines
1.7 KiB
Markdown
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
|
|
```
|