-
v1.0.4
Stablereleased this
2026-02-23 10:52:38 +00:00 | 0 commits to main since this releaseFeatures
- Backend wählbar: Nextcloud Deck (Standard) oder Vikunja – Über
BACKEND=deck(Standard) oderBACKEND=vikunjawählbar. Deck-Konfiguration (NEXTCLOUD_*,DECK_*) wird beiBACKEND=deckbenötigt; beiBACKEND=vikunjareichenVIKUNJA_*. - Nextcloud Deck – Karten werden per Deck REST-API angelegt. Board und Stack per ID oder Name konfigurierbar; optional
DECK_STACK_HIGH_PRIOfür Nachrichten mit führendem!ohnedue:. - DUE_TIME konfigurierbar – ENV
DUE_TIME(HH:MM oder HH:MM:SS, Default 10:00 UTC) für Fälligkeitsdatum bei reinem Datum ohne Uhrzeit. Gilt für Vikunja und Deck.
Fixes
- Deck 403-Fehlermeldung – Bei Zugriffsverweigerung wird nun explizit auf falsches Board oder fehlende Berechtigung hingewiesen.
Dokumentation
- Vikunja obsolet – README markiert Vikunja als eingestellt; Deck ist das einzige gepflegte Backend.
- README und
.env.example: BACKEND, Deck-Variablen, DUE_TIME, optionale Vikunja-Config beschrieben.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Backend wählbar: Nextcloud Deck (Standard) oder Vikunja – Über
-
v1.0.3
Stablereleased this
2026-02-13 22:17:44 +00:00 | 4 commits to main since this releaseRelease Notes
v1.0.3 (2026-02-10)
Features
- ! ohne due: Fälligkeit = Erstellungstag – Tasks mit führendem
!und ohne explizitesdue:erhalten automatisch das Fälligkeitsdatum des Erstellungstags. - ! aus Titel entfernt – Nur das führende Ausrufezeichen (Steuerzeichen) wird aus dem Titel entfernt;
!mitten im Text bleibt erhalten.
Fixes
- Deploy: Services nicht neu gestartet –
systemctl enable --nowstartet laufende Dienste nicht neu. Explizitesrestartnach jedem Deploy, damit der neue Code geladen wird.
CI/CD & Deployment
- Sudoers –
systemctl restartundenable --now(beide Dienste) indeploy/sudoers/ntfy2vikunja-deploy.sudoersergänzt. Nach Update:sudo cp current/deploy/sudoers/ntfy2vikunja-deploy.sudoers /etc/sudoers.d/ntfy2vikunja-deployauf dem Server ausführen.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- ! ohne due: Fälligkeit = Erstellungstag – Tasks mit führendem
-
v1.0.2
Stablereleased this
2026-02-13 10:57:45 +00:00 | 10 commits to main since this releaseRelease Notes
v1.0.2 (2026-02-14)
Features
- Listen als Projekte –
VIKUNJA_BUCKET_HIGH_PRIOkann ein Projekt-Name sein (z. B. „Heute“). Wenn der Bucket-Lookup fehlschlägt, wird der Name als Projekt aufgelöst.
Fixes
- Normale Tasks in falscher Liste – Worker übergibt explizit
project_id/bucket_id;create_tasknutzt bei expliziten Werten nicht mehrVIKUNJA_BUCKET_HIGH_PRIOaus der ENV. Normale Tasks landen wieder inVIKUNJA_PROJECT. - Fehlkonfiguration sichtbar – Wenn
VIKUNJA_BUCKET_HIGH_PRIOgesetzt ist und weder Bucket noch Projekt gefunden werden, startet der Worker nicht mehr still; Fehler wird ausgelöst. - Graceful Fallback – Wenn Bucket nicht gefunden und nicht konfiguriert: Warnung mit verfügbaren Bucket-Namen, Worker läuft weiter.
Dokumentation
- README: Klarstellung, dass nur !-Tasks in
VIKUNJA_BUCKET_HIGH_PRIOlanden - create_task: Docstring zu
use_env_bucketergänzt
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Listen als Projekte –
-
V1.0.1
Stablereleased this
2026-02-13 10:34:39 +00:00 | 15 commits to main since this releaseRelease Notes
v1.0.1 (2026-02-13)
Features
- Projekt- und Bucket-Namen in ENV –
VIKUNJA_PROJECTundVIKUNJA_BUCKET_HIGH_PRIOakzeptieren jetzt Namen statt nur IDs (werden per API aufgelöst)
Fixes
- Cache-Normalisierung – Projekt-/Bucket-Lookup konsistent
- Priorität und Bucket – Bei explizitem
prio:/priority:wirdis_bangnicht mehr gesetzt; Bucket-Zuordnung nur für Tasks ohnedue:(führendes!)
CI/CD & Qualität
- Unit-Tests – Tests für
queue_store,bridge_worker(Message-Parsing),bridge_ingestor(Event-Filter) - CI-Test-Job – Tests laufen vor dem Deploy im debian-bookworm-Container
- Security-Scans –
pip-audit(Dependencies) undbandit(Code) im CI - Security-Pins – urllib3 und wheel auf sichere Versionen gepinnt
Dokumentation
- README: Abschnitt „Tests“ mit Befehlen ergänzt
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Projekt- und Bucket-Namen in ENV –
-
released this
2026-02-13 09:03:46 +00:00 | 25 commits to main since this releaseRelease Notes
v1.0.0 (2026-02-14)
Erstes stabiles Release der ntfy2vikunja-Bridge.
Übersicht
ntfy2vikunjaverbindet 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-letter –
dead-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üfenTask ohne Priorität, ohne Fälligkeit Backup prüfen due:2026-03-10Task mit Fälligkeitsdatum Backup prüfen prio:5Task mit Priorität 5 ! Backup sofort due:2026-03-10Task mit Priorität 5 und Fälligkeit - Priorität:
prio:1..5,priority:low|medium|high|urgentoder führendes! - Fälligkeit:
due:YYYY-MM-DDin 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 ProzessLinux / Deployment
- systemd: Ingestor + Worker als separate Services oder
bridge-runkombiniert - 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-BerechtigungenDownloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads