mirror of
https://gitea.0xace.cc/rust/github-release-bot.git
synced 2024-11-24 21:36:40 +00:00
docker | ||
helm | ||
src | ||
.dockerignore | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
Makefile | ||
README.md |
GitHub release bot
Telegram bot for GitHub releases notification. Bot simply fetches latest release or tag and send notification.
Warning: GitHub will ban you with small interval and spread time. Use adequate interval and spread time or use TOR.
Interval - set how often check GitHub for new releases in seconds. Default - 28800 seconds (8 hours).
Spread - time in seconds for random offset calculation per repo within interval.
Default 600 seconds (10 minutes). Offset calculated as RANDOM(u64) % SPREAD.
With default values bot will launch main loop check every 8 hours and get latest release within (RANDOM(u64) % 600) seconds per repo.
Example config.yaml
- owner: kubernetes-sigs
repo: kubespray
check: release
- owner: nextcloud
repo: server
check: tag
Binary
Build binary
cargo build --release
Run binary
github-release-bot \
--token ${TOKEN} --chatid ${CHATID} \
--config ${CONFIG} --datadir ${DATADIR} \
--interval ${INTERVAL} --spread ${SPREAD}
Binary params
- token - required, Telegram token
- chatid - required, Telegram chat id
- config - file required, default config file name "config.yaml"
- interval - optional, default 28800 seconds (8 hours)
- spread - optional, default 600 seconds (10 minutes)
- datadir - optional, dir for storing files with latest releases, default "data"
Docker
Docker run
docker run -d -v ./config.yaml:/opt/config.yaml -v ./data:/opt/data registry.geekhome.org/ghp/github-release-bot:latest \
-e TOKEN=${TOKEN} -e CHATID=${CHATID} \
-e CONFIG=${CONFIG} -e DATADIR=${DATADIR} \
-e INTERVAL=${INTERVAL} -e SPREAD=${SPREAD}
Docker build
make build
Docker params
OS ENV used to pass arguments:
- TOKEN - required, Telegram token
- CHATID - required, Telegram chat id
- CONFIG - file required, default config file name "config.yaml"
- INTERVAL - optional, default 28800 seconds (8 hours)
- SPREAD - optional, default 600 seconds (10 minutes)
- DATADIR - optional, dir for storing files with latest releases, default "data"
Helm
helm repo add ghp https://gitea.geekhome.org/api/packages/ghp/helm
helm upgrade --install -f values.yaml github-release-bot ghp/github-release-bot