• V1.0 514213e749

    V1.0
    All checks were successful
    Deploy ntfy2vikunja / deploy (push) Successful in 7s
    Stable

    ralf released this 2026-02-13 09:03:46 +00:00 | 25 commits to main since this release

    Release Notes

    v1.0.0 (2026-02-14)

    Erstes stabiles Release der ntfy2vikunja-Bridge.

    Übersicht

    ntfy2vikunja verbindet ntfy mit Vikunja: Nachrichten aus einem ntfy-Topic werden per WebSocket empfangen, in einer Queue zwischengespeichert und als Tasks in Vikunja angelegt.

    Features

    • WebSocket-Subscriber – ntfy-Integration mit Reconnect und Backoff
    • Persistente Queue – SQLite für zuverlässige Verarbeitung
    • Retry mit Exponential Backoff – bis zu 8 Versuche bei Fehlern
    • Dead-letterdead-Status nach maximaler Retry-Anzahl
    • Entkoppelte Architektur – Ingestor + Worker getrennt oder kombiniert
    • Optionales ntfy-Feedback – „Task erstellt“-Nachricht an eigenes Topic
    • Healthcheck – Queue-Status als JSON für Monitoring

    Task-Mapping

    Nachricht Ergebnis
    Backup prüfen Task ohne Priorität, ohne Fälligkeit
    Backup prüfen due:2026-03-10 Task mit Fälligkeitsdatum
    Backup prüfen prio:5 Task mit Priorität 5
    ! Backup sofort due:2026-03-10 Task mit Priorität 5 und Fälligkeit
    • Priorität: prio:1..5, priority:low|medium|high|urgent oder führendes !
    • Fälligkeit: due:YYYY-MM-DD in Title oder Body
    • Android: Leere triggered-Events werden ignoriert

    Voraussetzungen

    • Python 3.11+ (3.10 sollte funktionieren)
    • ntfy-Instanz mit Token
    • Vikunja-Instanz mit API-Token (minimal: Tasks -> Create)

    Installation

    pip install -r requirements.txt
    cp .env.example .env
    # .env bearbeiten
    python bridge_run.py   # Lokal: alles in einem Prozess
    

    Linux / Deployment

    • systemd: Ingestor + Worker als separate Services oder bridge-run kombiniert
    • Forgejo CI/CD: Automatischer Deploy via .forgejo/workflows/deploy.yml
    • Dokumentation: DEPLOY.md, OPERATIONS.md

    Projektstruktur

    ntfy_subscribe.py     # WebSocket-Client
    create_task.py        # Vikunja Task-API
    queue_store.py        # SQLite Queue
    bridge_ingestor.py    # ntfy -> Queue
    bridge_worker.py      # Queue -> Vikunja
    bridge_run.py         # Kombinierter Runner
    healthcheck.py        # Queue-Monitoring
    deploy/systemd/       # systemd Units
    deploy/sudoers/       # Deploy-Berechtigungen
    
    Downloads