Version 1.5.0
Übersicht
Version 1.5.0 führt neue Funktionen ein, darunter eine optionale E-Mail-Benachrichtigung für die Tägliche Zusammenfassung, bereichsbezogene API-Schlüssel mit IP-Allowlists für den externen API-Zugriff, Server-Zugriffskontrollen pro Benutzer und auf dem Dashboard angezeigte Duplicati-Versions-Badges. Benachrichtigungs-E-Mails sind jetzt in Markdown formatiert. Der Cron-Dienst bindet standardmäßig an localhost. Zudem wird das Datenbankschema beim Start auf Version 4.3 aktualisiert.
Neue Funktionen
Tägliche Zusammenfassung
- Eine Status-E-Mail pro Tag: Einstellungen → Tägliche Zusammenfassung (standardmäßig Aus) sendet eine einzige lokalisierte Momentaufnahme jedes bekannten Sicherungsauftrags zu einer Zeit, die Sie in der Zeitzone Ihres Browsers wählen. Der Zeitplan wird als UTC gespeichert. Der Standard für Neuinstallationen ist 01:00 UTC. Die Cron-Aufgabe läuft Einmal täglich zu dieser Zeit.
- Was pausiert wird: Während die Tägliche Zusammenfassung An ist, werden Sicherungs- und überfällige E-Mails an den Standard-E-Mail-Empfänger nicht gesendet. Zusätzliche E-Mail-Ziele in Backup-Benachrichtigungen erhalten weiterhin passende Ereignisse, und NTFY pro Job läuft weiter. Diese jobbezogenen Einstellungen bleiben gespeichert und werden fortgesetzt, wenn der Modus ausgeschaltet wird.
- Empfänger und Dashboard-Link: Ein optionaler Override-Empfänger sendet die Zusammenfassung an einen anderen Ort als die Adresse in den E-Mail-Einstellungen. Eine optionale Öffentliche Dashboard-URL (oder die Umgebungsvariable
DUPLISTATUS_PUBLIC_URL) füllt{duplistatus_link}in der E-Mail aus.
Externer API-Schutz
- API-Schlüssel mit Bereich (Issue #79): Administratoren können
upload- undread-Schlüssel erstellen. Sie sind optional und standardmäßig Aus, sodass bestehende Duplicati-Jobs weiterhin funktionieren. Das Geheimnis wird einmalig angezeigt und später durch einen Fingerabdruck identifiziert. Wenn Schlüssel nicht erforderlich sind, wird ein gültiger passender Schlüssel akzeptiert und verfolgt; ein Schlüssel mit dem Status ungültig, Deaktiviert, Abgelaufen oder falschem Bereich wird ignoriert und die Anfrage wird dennoch ausgeführt. - IP-Whitelists: Separate CIDR-Listen können das Administrationsinterface und Externe APIs (
/api/upload,/api/summary,/api/lastbackup*) einschränken. Beide Listen sind standardmäßig Aus und enthalten immer127.0.0.1und::1. Weitergeleitete Client-Adressen werden nur vertraut, wenn der TCP-Peer ein konfigurierter vertrauenswürdiger Proxy ist. - Hochladen-Limits:
/api/uploadhat eine konfigurierbare Obergrenze für die Body-Größe (Standard 5 MB) und IP-basierte Rate-Limits.
Zugriff und Versionen
- Benutzerspezifischer Serverzugriff: Einstellungen → Benutzer können ein Nicht-Admin-Konto auf ausgewählte Server beschränken. Der Standard bleibt jeder aktuelle und zukünftige Server. Eine Benutzerdefiniert-Liste blendet andere Server auf dem Dashboard, den Detailseiten, Diagrammen und Einstellungslisten aus. Administratoren sehen immer jeden Server.
- Duplicati-Versionsabzeichen: Dashboard-Karten und die Tabelle zeigen die Duplicati-Version jedes Servers im Vergleich zur neuesten Version für diesen Kanal (
stable,beta,experimental,canary). Versionen mit Status Aktuell verwenden gedämpften Text; veraltete Versionen verwenden Warn-Gelb. Einstellungen → Duplicati-Versionen zeigt die zwischengespeicherten Kanal-Releases und lässt Administratoren ein tägliches, 12-stündiges oder 6-stündiges Prüfen festlegen. - Zustellungsfehler: Administratoren sehen eine Symbolleistenschaltfläche, während die E-Mail- oder NTFY-Zustellung fehlschlägt. Sie zeigt den Fehler und verlinkt zur passenden Einstellungsseite.
- Wöchentliche Datenbankkomprimierung: Jeden Sonntag um 04:00 UTC entfernt der Cron-Dienst Sicherungszeilen, deren Server verschwunden ist, Server ohne Sicherungen, übrig gebliebene Benachrichtigungseinstellungen und alte Zustellungszeilen der Tägliche Zusammenfassung, und führt dann ein Vacuum auf SQLite aus.
- Relativzeit in der UI-Sprache (Issue #74): Anzeigeeinstellungen → Gebietsschema-Format hat eine Opt-in-Checkbox, damit Relativzeit-Phrasen in der Interface-Sprache bleiben, wenn das Gebietsschema-Format überschrieben wird.
Verbesserungen
Benachrichtigungen
- Markdown-E-Mail-Vorlagen: Die Texte für Erfolgreich, Warnung/Fehler, Überfällig und Tägliche Zusammenfassung sind in Markdown verfasst und werden zu bereinigtem HTML und Klartext gerendert. Unveränderte gespeicherte Standards werden auf das neue Layout aktualisiert; angepasste Vorlagen werden beibehalten. NTFY-Nachrichten senden Markdown und lassen GFM-Tabellenkopfzeilen weg.
- Sprache folgt dem angemeldeten Benutzer: Die Interface-Sprache wird pro Konto im Browser gespeichert, genauso wie Design und Anzeigeeinstellungen. Das
NEXT_LOCALE-Cookie steuert weiterhin die Login-Seite und das Server-Rendering. Der Hindi-Gebietsschema-Code ist jetzthi; bestehendehi-Latn-Cookies und Lesezeichen werden weiterhin aufgelöst.
Betrieb
- Cron-Control-Plane: Der Cron-Dienst bindet standardmäßig an
127.0.0.1(CRON_BIND_HOST). Für das Binden an andere Adressen istCRON_SERVICE_SECRETerforderlich. Zum Ändern von Cron-Aufgaben über die App sind Administrator-Sitzungsrouten erforderlich. - Größe der Datenbankwiederherstellung: Einstellungen → Datenbankverwaltung akzeptiert Uploads für die Wiederherstellung bis zu 200 MB. Wenn Nginx vorgeschaltet ist, setzen Sie
client_max_body_sizeauf mindestens 256 MB, damit der Proxy die Datei nicht vorher abschneidet. - Entwicklungsserver:
pnpm devstartet Next.js (Port 8666) und den Cron-Dienst (Port 8667) gemeinsam. STRG-C stoppt beide.
Fehlerbehebungen
- Überfällig-Benachrichtigungen wiederholen sich nicht mehr bei jeder Prüfung: Ein fehlgeschlagener Benachrichtigungskanal sendet keine weitere Überfällig-Warnung mehr beim nächsten Überwachungsdurchlauf, wenn ein anderer Kanal bereits zugestellt wurde. Das einmalige, tägliche, wöchentliche oder monatliche Zeitfenster wird nach jedem erfolgreichen Kanal aufgezeichnet.
- Protokolle unter Duplicati 2.4 sammeln: Das Sammeln von Sicherungsprotokollen und das Synchronisieren von Zeitplänen schlägt mit
Could not find machine-id in system optionsbei Duplicati 2.4.0 und neuer nicht mehr fehl. Die konfigurierte Maschinen-ID wird aus den Servereinstellungen gelesen. - Docker-Start: Der Cron-Prozess für die Produktion beendet sich beim Start des Containers nicht mehr sofort, und Image-Builds schlagen beim Installieren von Abhängigkeiten auf Overlay-Dateisystemen nicht mehr fehl.
- Erste Anmeldung: Nach der erforderlichen Passwortänderung bei einer neuen Instanz öffnet die App das Dashboard.
- Zeitplan für die Tägliche Zusammenfassung: Das Ändern der Sendezeit erstellt ein neues Vorkommen. Diese Uhrzeit sendet weiterhin nach Zusammenfassung jetzt senden oder einer anderen E-Mail am selben Tag. Die Auftragsliste entspricht dem Dashboard (neuester Bericht pro Server und Backup-Name).
Sicherheit
Probes, Vorlagen und Abhängigkeiten
- Health und Ping:
GET /api/healthlistet keine SQLite-Tabellen mehr auf und führt keine Dashboard-Abfragen mehr aus./api/healthund/api/pingsind pro IP ratenbegrenzt für Clients, die sich nicht auf Loopback befinden. Wenn eine der IP-Zulassungslisten aktiviert ist, akzeptieren diese Probes Loopback sowie Adressen aus der Admin-Liste oder der externen Liste. - E-Mail HTML: Benachrichtigungstexte werden als Markdown geparst, wobei rohes HTML deaktiviert ist, und vor dem Senden bereinigt.
- Abhängigkeitskorrekturen:
nodemailerist jetzt 10.0.9. Die Audit-Ergebnisse des Dokumentations-Workspaces wurden mit aktualisiertenundici,svgoundimage-size-nextbereinigt.
Migrationshinweise
Ab Version 1.4.2
Beim Upgrade auf Version 1.5.0:
- Datenbankmigrationen werden beim Start ausgeführt: Schema 4.2 fügt das Zustellungsregister für die Tägliche Zusammenfassung hinzu. Schema 4.3 fügt benutzerspezifischen Serverzugriff hinzu. Bestehende Benutzer behalten den Zugriff auf jeden Server.
- Neue Steuerungen bleiben ausgeschaltet: Tägliche Zusammenfassung, erforderliche API-Schlüssel und beide IP-Zulassungslisten sind standardmäßig auf Aus eingestellt. Bestehende Duplicati-Upload-URLs funktionieren weiterhin, bis Sie den Schutz einschalten.
- Zulassungslisten enthalten immer Loopback:
127.0.0.1und::1werden in beide Listen zusammengeführt und können in den Einstellungen nicht entfernt werden. - Cron bindet an localhost: Der Cron-Port ist von anderen Hosts aus nicht erreichbar, es sei denn, Sie legen
CRON_BIND_HOSTundCRON_SERVICE_SECRETfest. - Standard-Benachrichtigungsvorlagen: Unveränderte Vorlagen für Erfolgreich, Warnung, Überfällig und Tägliche Zusammenfassung werden durch die Markdown-Standards ersetzt. Angepasste Vorlagen bleiben unverändert.
- Abhängigkeiten: Führen Sie
pnpm installaus, um die aktualisierte Lockfile und Overrides anzuwenden. Node.js 24 oder neuer ist weiterhin erforderlich.
Support
Hilfe erhalten
- Dokumentation: Benutzerhandbuch
- E-Mail-Einstellungen: E-Mail-Konfigurationsleitfaden
- API-Referenz: API-Dokumentation
- Migrationsleitfaden: Versionsupgrade-Migration
- Community: GitHub-Diskussionen
- Probleme: GitHub-Probleme
Fehler melden
Beim Melden von Fehlern fügen Sie bitte Folgendes hinzu:
- Version: 1.5.0
- Betriebssystem und Version
- Docker/Podman-Version
- Containertyp (Docker oder Podman)
- Fehlermeldungen und Protokolle
- Schritte zur Reproduktion
Detailliertes Changelog
Die obigen Abschnitte sind die Highlights dieser Version. Die vollständige Liste der Änderungen befindet sich in dev/CHANGELOG.md unter [1.5.0].
Lizenz
Dieses Projekt ist unter der Apache-Lizenz 2.0 lizenziert.
Copyright © 2026 Waldemar Scudeller Jr.