Félix MARQUET 21b51766bb Update src/api.rs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-06-15 17:43:00 +02:00
2025-06-15 17:43:00 +02:00
2024-10-24 13:54:27 +00:00
2024-02-29 23:14:28 +01:00

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

Use our multi-architecture Docker image, which automatically supports amd64, arm64 and armv7:

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

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Clone the repository

git clone https://github.com/BreizhHardware/ntfy_alerts.git
cd ntfy_alerts

Compile

cargo build --release

Run

./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

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 file.

Show your support

Give a if this project helped you!

Description
No description provided
Readme GPL-3.0 1.4 MiB
Languages
Rust 80.6%
JavaScript 9.6%
HTML 5.7%
Shell 3.1%
Dockerfile 1%