Benachrichtigungen
Envoryx läuft meistens auf einem Rechner, auf den du nicht den ganzen Tag schaust. Benachrichtigungen sorgen dafür, dass du trotzdem mitbekommst, wenn ein Projekt umfällt oder ein Backup scheitert. Du richtest sie unter Einstellungen → Benachrichtigungen ein: Kanal wählen, die Ereignisse auswählen, die dich interessieren, und einen Test schicken, ob er ankommt.


Envoryx erreicht dich über ntfy, einen Discord-Webhook, einen Slack-Webhook, einen Telegram-Bot, E-Mail über SMTP oder einen allgemeinen Webhook mit JSON-Body, falls du es an etwas Eigenes anbinden willst. Für E-Mail mit Anmeldung muss der Server STARTTLS oder TLS können - dein Passwort schickt Envoryx nicht im Klartext.
Der allgemeine Webhook bekommt einen POST mit Content-Type: application/json und
User-Agent: Envoryx. Der Body ist flach, ein kleines Skript kann ihn also ohne Raten zerlegen:
{ "kind": "backup.failed", "level": "error", "title": "…", "message": "…", "project": "Shop", "time": "2026-10-07T13:40:12Z"}kind ist ein fester Schlüssel wie backup.failed oder branch.changed, level ist info,
warning oder error, und project bleibt leer bei Ereignissen, die kein einzelnes Projekt
betreffen. Ein gescheiterter Offsite-Upload eines Projekt-Backups nennt sein Projekt, auch wenn das
Projekt inzwischen gelöscht ist.
Die Zugangsdaten für all das liegen in /config/notify.json (Modus 0600), verschlüsselt mit dem
Secret Key, und gehen nie zurück an den Browser.
Ereignisse
Abschnitt betitelt „Ereignisse“| Ereignis | Wann |
|---|---|
| Projekt gestoppt oder kaputt | ein Projekt, das laufen sollte, läuft nicht - und wieder, wenn es sich erholt |
| Anwendung ausgefallen | der Health-Check schlägt dreimal hintereinander fehl - und wenn sie wieder antwortet |
| Speicher voll | ein Container hat sein Speicherlimit erreicht und ein Prozess wurde beendet |
| Projekt anlegen fehlgeschlagen | |
| Backup fehlgeschlagen | ein manuelles, geplantes oder Offsite-Backup ist gescheitert |
| Cron-Job fehlgeschlagen | ein Cron-Lauf ist gescheitert oder ins Timeout gelaufen |
| Branch-Umgebung fehlgeschlagen | eine Branch-Umgebung ließ sich nicht anlegen oder ihr Deploy ist gescheitert |
| Branch-Umgebung geändert | eine Branch-Umgebung wurde angelegt, mit ihrem Branch gelöscht oder wegen Inaktivität gestoppt |
| Wenig Speicherplatz | /config, /projects oder /backups unter 2 GiB oder 5 % frei - und wenn es wieder passt |
| Verwaiste entfernt | Envoryx hat übrig gebliebene Container oder Netze von selbst entfernt |
| Projekte fortgesetzt | Envoryx hat nach seinem eigenen Neustart Projekte wieder gestartet |
| Let’s-Encrypt-Erneuerung | fehlgeschlagen oder erfolgreich |
| Envoryx gestartet / fehlgeschlagen | ein Start, oder ein verweigerter Start (defekte Datenbank, Netzwerk-Dateisystem, fehlgeschlagene Migration) und abgestürzte Hintergrundaufgaben |
Standardmäßig ist alles an, außer Let’s Encrypt erneuert, Envoryx gestartet und Branch-Umgebung geändert - das sind gute Nachrichten oder Routine, und das nervt schnell.
Damit dein Handy nicht jede Minute summt, werden Wiederholungen gedrosselt: Ein ungesundes Projekt
meldet sich alle 6 Stunden, eine fehlgeschlagene Erneuerung einmal am Tag. Die Nachricht über
einen gescheiterten Start ist etwas Besonderes: Sie braucht die Datenbank von Envoryx nicht, nur
den Kanal in /config/notify.json. So erreicht sie dich genau dann, wenn Envoryx seine Datenbank
nicht öffnen kann. Eine Lücke gibt es: notify.json ist mit dem Secret Key versiegelt, ein Start,
der an einem falschen oder fehlenden Schlüssel scheitert, kann also nichts senden. Der Container
startet dann stumm in einer Schleife neu. Verlässt du dich auf Alarme, lass deine
Container-Überwachung deshalb auch auf Neustart-Schleifen achten. Welche Schlüssel-ID Envoryx
erwartet, steht im Log.
Bringt ein Update eine neue Art von Ereignis mit, folgt sie ihrem Standard, bis du deine Ereignisauswahl wieder speicherst. Ein neuer Alarm ist also nie still abgeschaltet, nur weil es ihn beim letzten Speichern noch nicht gab.