> 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!