Anleitung: n8n-Daten automatisch auf DigitalOcean Spaces sichern
n8n speichert Deine Workflows und vor allem Deine Zugangsdaten in einem Docker-Volume auf dem Server. Geht das Droplet verloren, ist ohne Backup alles weg, denn ein automatisches Volume-Backup gibt es nicht. In dieser Anleitung sicherst Du Deine n8n-Daten jede Nacht automatisch auf DigitalOcean Spaces…
n8n speichert Deine Workflows und vor allem Deine Zugangsdaten in einem Docker-Volume auf dem Server. Geht das Droplet verloren oder zerlegst Du Dir die Installation bei einem Update, ist ohne Backup alles weg, denn weder n8n noch DigitalOcean sichern dieses Volume von allein. In dieser Anleitung richten wir ein automatisches Backup ein, das Deine n8n-Daten jede Nacht als komprimiertes Archiv auf DigitalOcean Spaces hochlädt und alte Sicherungen von selbst wieder aufräumt.
Was genau gesichert werden muss
n8n legt alle wichtigen Daten im Verzeichnis /home/node/.n8n innerhalb des Containers ab. Dort liegen die Datenbank mit Deinen Workflows (standardmäßig eine database.sqlite) und der Verschlüsselungs-Key, mit dem n8n Deine gespeicherten Zugangsdaten chiffriert. Genau dieser Key ist der Knackpunkt: Geht er verloren, lassen sich die Credentials laut der offiziellen n8n-Dokumentation zum Encryption Key nach einer Wiederherstellung nicht mehr entschlüsseln, und Du müsstest jede Verbindung neu anlegen.
Die gute Nachricht: Beim Selfhosting mit Docker landet dieses Verzeichnis in einem persistenten Volume, üblicherweise n8n_data. Wenn wir dieses eine Volume sichern, haben wir Datenbank und Key zusammen in einem Archiv, und die Wiederherstellung ist vollständig.
Voraussetzungen
- Eine laufende n8n-Installation mit Docker auf einem DigitalOcean Droplet (Affiliate Link). Falls Du n8n noch gar nicht installiert hast, führt Dich die Schritt-für-Schritt Anleitung: n8n mit Docker und SSL auf einem Digitalocean Droplet installieren zuerst dorthin.
- Einen DigitalOcean Space als Ziel für die Backups sowie ein zugehöriges Access-Key-Paar, das Du im DigitalOcean-Dashboard unter „Spaces Keys” anlegst.
- Root-Zugriff per SSH auf Dein Droplet.
Schritt 1: s3cmd installieren und für Spaces einrichten
Spaces ist S3-kompatibel, deshalb nutzen wir das schlanke Kommandozeilen-Werkzeug s3cmd. Melde Dich per SSH auf dem Droplet an und installiere es:
apt update && apt install s3cmd -yStarte danach die Konfiguration:
s3cmd --configureTrag bei den Abfragen die folgenden Werte ein und bestätige den Rest mit Enter:
- Access Key und Secret Key: das Schlüsselpaar aus dem DigitalOcean-Dashboard.
- Default Region:
US(DigitalOcean wertet dieses Feld nicht aus, der Standard genügt). - S3 Endpoint: die Region Deines Space, zum Beispiel
fra1.digitaloceanspaces.comfür Frankfurt. - DNS-style bucket+hostname template:
%(bucket)s.fra1.digitaloceanspaces.com, wieder mit Deiner Region stattfra1. - Use HTTPS protocol:
Yes.
Am Ende fragt s3cmd, ob die Einstellungen getestet und gespeichert werden sollen. Bestätige beides. Die genauen Felder beschreibt auch die offizielle DigitalOcean-Dokumentation zu s3cmd.
Schritt 2: Den Speicherort der n8n-Daten bestätigen
Bevor wir sichern, vergewissern wir uns, wo das Volume auf dem Host wirklich liegt. Lass Dir zuerst die Volumes anzeigen und such das n8n-Volume heraus:
docker volume ls | grep n8nLass Dir dann den echten Pfad auf dem Server ausgeben (ersetze n8n_data durch den Namen, den Du gerade gesehen hast):
docker volume inspect n8n_data --format '{{ .Mountpoint }}'Du bekommst einen Pfad wie /var/lib/docker/volumes/n8n_data/_data. Das ist das Verzeichnis, das wir sichern. Wenn Du mehr darüber wissen willst, warum Docker-Daten an diesem Ort liegen und nicht dort, wo der Container sie zu sehen glaubt, erklärt das die Anleitung Wo sind die Volumes für Persistent Storage für eine WordPress Installation mit Docker in Coolify? ausführlich.
Schritt 3: Das Backup-Skript erstellen
Leg das Skript unter /usr/local/bin/n8n-backup.sh an:
nano /usr/local/bin/n8n-backup.shFüge folgenden Inhalt ein und passe oben den Volume-Pfad und den Namen Deines Space an:
#!/bin/bash
# n8n-backup.sh
# Sichert das n8n-Datenvolume auf DigitalOcean Spaces.
# Konfiguration
VOLUME_PATH="/var/lib/docker/volumes/n8n_data/_data"
BUCKET="s3://dein-space-name/n8n-backups"
TMP_DIR="/tmp"
RETENTION_DAYS=14
LOGFILE="/var/log/n8n-backup.log"
DATE=$(date +"%Y-%m-%d_%H-%M")
ARCHIVE="$TMP_DIR/n8n_backup_$DATE.tar.gz"
echo "n8n-Backup gestartet am $(date)" | tee -a "$LOGFILE"
# Archiv des n8n-Datenverzeichnisses erstellen
tar -czf "$ARCHIVE" -C "$VOLUME_PATH" .
# Auf DigitalOcean Spaces hochladen
s3cmd put "$ARCHIVE" "$BUCKET/" >> "$LOGFILE" 2>&1
# Lokales Archiv wieder entfernen
rm -f "$ARCHIVE"
# Backups löschen, die älter als RETENTION_DAYS Tage sind
CUTOFF=$(date -d "$RETENTION_DAYS days ago" +%s)
s3cmd ls "$BUCKET/" | while read -r line; do
FILE_DATE=$(echo "$line" | awk '{print $1}')
FILE_PATH=$(echo "$line" | awk '{print $4}')
if [ -n "$FILE_DATE" ] && [ "$(date -d "$FILE_DATE" +%s)" -lt "$CUTOFF" ]; then
s3cmd del "$FILE_PATH" >> "$LOGFILE" 2>&1
fi
done
echo "n8n-Backup abgeschlossen am $(date)" | tee -a "$LOGFILE"Speichere mit Strg + O, bestätige mit Enter und schließe den Editor mit Strg + X.
Schritt 4: Skript ausführbar machen und einmal testen
Mach das Skript ausführbar:
chmod +x /usr/local/bin/n8n-backup.shStarte es danach einmal von Hand, um zu sehen, ob alles läuft:
/usr/local/bin/n8n-backup.shPrüf anschließend im DigitalOcean-Dashboard, ob im Space unter n8n-backups ein frisches .tar.gz liegt. Wenn ja, funktioniert die Kette aus Archivieren, Hochladen und Aufräumen.
Schritt 5: Das Backup per Cronjob automatisieren
Damit die Sicherung jede Nacht von selbst läuft, richtest Du einen Cronjob ein. Öffne den Crontab des root-Users:
crontab -eFüge die folgende Zeile hinzu, die das Backup jeden Tag um 2:45 Uhr morgens startet, also zu einer Zeit mit wenig Last:
45 2 * * * /usr/local/bin/n8n-backup.sh >> /var/log/n8n-backup.log 2>&1Speichern und schließen genügt, ab jetzt sichert sich Deine n8n-Instanz selbst.
Fazit
Mit einem kleinen Shell-Script, s3cmd und einem Cronjob hast Du Deine n8n-Daten sauber im Griff: Datenbank und Verschlüsselungs-Key landen jede Nacht zusammen in einem Archiv auf DigitalOcean Spaces, alte Sicherungen verschwinden automatisch nach zwei Wochen, und ein verlorenes Droplet kostet Dich höchstens noch ein paar Minuten Wiederherstellung statt Deiner kompletten Automatisierung. Wenn Du Deine n8n-Instanz nach demselben Prinzip auch automatisch aktuell halten möchtest, hilft Dir die Anleitung Fertiges Shell-Script: n8n auf einem DigitalOcean 1-Click-Droplet aktualisieren, die das Update per Cronjob übernimmt. Und falls Du noch kein eigenes Droplet betreibst, bekommst Du über diesen Affiliate-Link zu DigitalOcean (Affiliate Link) Startguthaben zum Ausprobieren.
Weiterlesen .
Web & CodeSchritt-für-Schritt Anleitung: n8n mit Docker und SSL auf einem Digitalocean Droplet installieren
Wer heute Automatisierungen von Arbeitsabläufen plant, um Effizienz und Produktivität zu steigern, kommt um eine gute Automatisierungslösung nicht umher. Eine leistungsstarke Open-Source-Lösung für dieses Anliegen ist n8n, die es ermöglicht, verschiedene Dienste und Anwendungen…
Sonoya Redaktion
Web & CodeSchritt-für-Schritt Anleitung: Vaultwarden auf einem DigitalOcean Droplet einrichten
In dieser Anleitung erfährst du, wie du Vaultwarden auf einem DigitalOcean Droplet einrichtest, um deinen eigenen Passwort-Manager zu hosten. Vaultwarden ist eine freie und open-source Implementierung des Bitwarden Server-APIs. Es ermöglicht dir, den beliebten Bitwarden…
Sonoya Redaktion
Web & CodeAnleitung: n8n auf einem DigitalOcean 1-Click-Droplet aktualisieren
Wenn du n8n mit dem offiziellen 1-Click-Droplet von DigitalOcean nutzt, läuft deine Installation mit Docker und Docker Compose. In dieser Anleitung zeigen wir dir Schritt für Schritt, wie du deine n8n-Installation sicher und zuverlässig auf die neueste Version aktualisierst.
Sonoya Redaktion
Web & CodeWordPress Anleitung: Favicons und Apple Touch Icons ins TwentyTwentyFour Theme einbinden
Favicons und Touch-Icons sind das digitale Aushängeschild Deiner Website – kleine, aber wichtige Details, die das Branding Deiner Seite stärken und für einen professionellen Eindruck sorgen. Gerade im neuen WordPress Theme TwentyTwentyFour ist die Integration dieser Icons…
Sonoya Redaktion
Web & CodeVisual Studio Code für p5.js einrichten: Einfacher Workflow für Templates und Snippets
Wenn Du regelmäßig mit p5.js arbeitest, weißt Du, wie wichtig eine gut organisierte Umgebung ist, um schnell neue Projekte zu starten und wiederkehrende Codeschnipsel (Snippets) effizient nutzen zu können. In diesem Beitrag zeigen wir Dir, wie Du Visual Studio Code (VS Code) so…
Sonoya Redaktion
Web & CodeAnleitung: Websites & PDFs mit jina.ai API kostenlos in Markdown konvertieren
Wir leben in einer Zeit, in der uns Informationen praktisch aus jeder Ecke des Internets entgegenströmen. Manchmal fühlt es sich an, als ob man versucht, Wasser aus einem reißenden Fluss zu schöpfen – es ist einfach überwältigend. Gerade, wenn wir mit Large Language Models…
Sonoya Redaktion