Welcome to ntfy_alerts 👋

Version License: GPL--3 Twitter: BreizhHardware

> This project allows you to receive notifications about new GitHub or Docker Hub releases on ntfy, gotify, Discord and Slack. Implemented in Rust for better performance. ## Installation ### Docker (recommended) Use our multi-architecture Docker image, which automatically supports amd64, arm64 and armv7: ```yaml services: github-ntfy: image: breizhhardware/github-ntfy:latest container_name: github-ntfy environment: - USERNAME=username # Required - PASSWORD=password # Required - NTFY_URL=ntfy_url # Required if ntfy is used - GHNTFY_TIMEOUT=timeout # Default is 3600 (1 hour) - GHNTFY_TOKEN= # Default is empty (Github token) - DOCKER_USERNAME= # Default is empty (Docker Hub username) - DOCKER_PASSWORD= # Default is empty (Docker Hub password) - GOTIFY_URL=gotify_url # Required if gotify is used - GOTIFY_TOKEN= # Required if gotify is used - DISCORD_WEBHOOK_URL= # Required if discord is used - SLACK_WEBHOOK_URL= # Required if Slack is used - DB_PATH=/data # Database path volumes: - /path/to/data:/data ports: - 80:80 restart: unless-stopped ``` ### Manual Installation Install Rust if needed ```BASH curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh ``` Clone the repository ```BASH git clone https://github.com/BreizhHardware/ntfy_alerts.git cd ntfy_alerts ``` Compile ```BASH cargo build --release ``` Run ```BASH ./target/release/github-ntfy ``` ## REST API The application exposes a REST API on port 8080 to manage watched repositories: Endpoint Method Description /app_repo POST Add a GitHub repository to watch /app_docker_repo POST Add a Docker repository to watch /watched_repos GET List all watched GitHub repositories /watched_docker_repos GET List all watched Docker repositories /delete_repo POST Delete a GitHub repository /delete_docker_repo POST Delete a Docker repository ## Version Notes - v2.0: Complete rewrite in Rust for better performance and reduced resource consumption - v1.5: Stable Python version ## Configuration The GitHub token (GHNTFY_TOKEN) needs to have the following permissions: repo, read:org and read:user. ## Author 👤 BreizhHardware - Website: [https://mrqt.fr](https://mrqt.fr?ref=github) - Twitter: [@BreizhHardware](https://twitter.com/BreizhHardware) - Github: [@BreizhHardware](https://github.com/BreizhHardware) - LinkedIn: [@félix-marquet-5071bb167](https://linkedin.com/in/félix-marquet-5071bb167) ## Contributing Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**. But first, please read the [CONTRIBUTION.md](CONTRIBUTION.md) file. ## Show your support Give a ⭐️ if this project helped you!