<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>S3 on SecretMine.de</title><link>https://secretmine.de/tags/s3/</link><description>Recent content in S3 on SecretMine.de</description><generator>Hugo -- gohugo.io</generator><language>de-DE</language><lastBuildDate>Wed, 24 Dec 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://secretmine.de/tags/s3/index.xml" rel="self" type="application/rss+xml"/><item><title>Mein Backupkonzept - 2025 Edition</title><link>https://secretmine.de/blog/2025/2025-12-24-mein-backupkonzept-2025-edition/</link><pubDate>Wed, 24 Dec 2025 00:00:00 +0000</pubDate><guid>https://secretmine.de/blog/2025/2025-12-24-mein-backupkonzept-2025-edition/</guid><description>&lt;p&gt;Ein kleines Weihnachtsgeschenk? Naja. Wie dem auch sei.&lt;/p&gt;
&lt;p&gt;Ich habe in den letzten Monaten immer wieder an meinem Backupkonzept gefeilt, bis es in der jetzigen Form stabil und weitestgehend automatisiert läuft. Das Ganze ist ein Mix aus Proxmox-Backups und Datei-Backups mit Restic - mit Fokus auf Verschlüsselung und Praktikabilität.&lt;/p&gt;
&lt;h2 id="proxmox-cluster-zuhause"&gt;Proxmox-Cluster zuhause
&lt;/h2&gt;&lt;p&gt;Mein Haupt-Homelab läuft als Proxmox-Cluster. Alle VMs und LXC-Container werden täglich mit dem &lt;a class="link" href="https://secretmine.de/blog/2025/2025-03-30-proxmox-backup-server-fuer-den-hauptcluster/" &gt;Proxmox Backup Server&lt;/a&gt; gesichert. Das Ziel ist eine billige große SSD im Cluster. Für kritische Systeme (Nextcloud, DNS, Reverse Proxy etc.) gibt es zusätzlich ein &lt;a class="link" href="https://secretmine.de/blog/2025/2025-09-25-proxmox-backup-server-via-s3-in-richtig/" &gt;Offsite-Backup&lt;/a&gt; über S3 zu Backblaze B2. Der Part läuft verschlüsselt, da ich keinem Anbieter 100%ig vertraue. Wichtig war mir, dass der Backup-Server dedupliziert und komprimiert, um die Kosten für den S3-Storage möglichst gering zu halten. Da Proxmox Backup Server das inzwischen nativ kann, war der Aufwand überschaubar.&lt;/p&gt;
&lt;p&gt;Neben dem automatischen täglichen Backup gibt es außerdem einen manuellen Sync auf eine externe Festplatte, die normalerweise im Keller lagert. Diese ist als &amp;ldquo;Removable Storage&amp;rdquo; im Backup Server eingehängt und dient als zusätzliche Offline-Kopie im Worst-Case. Ich habe auch einen Thin Client mit einer Festplatte und Proxmox Backup Server im Keller, zu dem ich unregelmäßig die Backups spiegele. Aufgrund der geringen Bandbreite in den Keller will ich diese Variante aber ablösen, dafür habe ich mit der externen Festplatte begonnen.&lt;/p&gt;
&lt;h2 id="nutzerdaten-nextcloud-gameserver-usw"&gt;Nutzerdaten (Nextcloud, Gameserver usw.)
&lt;/h2&gt;&lt;p&gt;Für Dienste, die viele Nutzerdaten enthalten, setze ich zusätzlich auf Restic. Nextcloud-Daten und Backups der Gameserver werden etwa alle acht Stunden auf eine Hetzner Storage Box geladen. Auch hier läuft alles verschlüsselt, und die Snapshots lassen sich im Notfall granular wiederherstellen. Restic erfüllt neben der Verschlüsselung auch hier wieder die Kriterien mit Deduplizierung und Komprimierung, damit ich möglichst effizient viele Snapshots speichern kann.&lt;/p&gt;
&lt;p&gt;Bei der Nextcloud gibt es generell die Besonderheit, dass ich alle Daten, um die Nextcloud wiederherzustellen (&lt;code&gt;www&lt;/code&gt;-Verzeichnis, Datenverzeichnis, Dump der Datenbank) via Restic sichere, die virtuelle Festplatte mit den Nextcloud-Daten wird via Proxmox Backup Server aktuell wegen des Speicherbedarfs tatsächlich nicht gesichert.&lt;/p&gt;
&lt;h2 id="nas"&gt;NAS
&lt;/h2&gt;&lt;p&gt;Im Keller steht ein &lt;a class="link" href="https://secretmine.de/blog/2025/2025-04-27-backup-server-fuer-das-nas/" &gt;Backup-NAS&lt;/a&gt; mit TrueNAS. Hier laufen in unregelmäßigen Abständen manuelle rsync-Jobs, die Daten vom Haupt-NAS kopieren. Über ZFS-Snapshots sind ältere Stände ebenfalls abrufbar. Die Variante mit einem zusätzlichen NAS hat hauptsächlich Kostengründe, da das Speichern von über 10TB inkl. Snapshots sonst sehr viel teurer gewesen wäre.&lt;/p&gt;
&lt;h2 id="vserver-backups"&gt;vServer-Backups
&lt;/h2&gt;&lt;p&gt;Auf meinen externen vServern (hauptsächlich Docker-Dienste, diese Website und mein Mailserver) verwende ich ebenfalls Restic mit einer Hetzner Storage Box als Ziel.&lt;/p&gt;
&lt;h2 id="sicherung-der-keys-und-monitoring"&gt;Sicherung der Keys und Monitoring
&lt;/h2&gt;&lt;p&gt;Ich hatte zwischenzeitlich die Situation, dass die Keys für alle Offsite-Backups nur in einer Keepass-Datei in meiner Nextcloud gespeichert waren - die wiederum Teil genau dieser Offsite-Backups sind. Da ich alles verschlüssele, was offsite landet, hätte ich im Worst-Case zwar Backups, aber keinen Zugang mehr zu diesen Backups gehabt. Deshalb lagern die Keys mittlerweile zusätzlich auf einem USB-Stick bei meinen Eltern, just in case.&lt;/p&gt;
&lt;p&gt;Die Backup-Scripte werden mittels &lt;a class="link" href="https://secretmine.de/blog/2025/2025-10-31-scriptausfuehrung-mit-healthchecks-ueberwachen/" &gt;Healthchecks&lt;/a&gt; auf ihre Ausführung überwacht, damit nicht (schon wieder) monatelang keine Backups passieren.&lt;/p&gt;
&lt;h2 id="offene-punkte"&gt;Offene Punkte
&lt;/h2&gt;&lt;p&gt;Was ich bisher zu selten mache sind Restore-Tests. Ich habe zwar bei jeder verwendeten Technik irgendwann mal einen Test-Restore gemacht und geprüft, aber seitdem nicht wieder getestet. Ich möchte für einige wichtige Dinge wie z.B. die Nextcloud auch Langzeitbackups einführen, die einen monatlichen Stand für mehrere Jahre effizient und günstig vorhalten können. Restic nutze ich aktuell nur mit &lt;code&gt;--keep-last n&lt;/code&gt;, hier sollte ich eine bessere Retention Policy einsetzen. Mein Backup-Script loggt aktuell auch zu wenig - das ist generell ein offener Punkt.&lt;/p&gt;
&lt;p&gt;Auch eine Dokumentation, wie Dinge wiederhergestellt werden können, fehlt komplett. An dem Thema bin ich aber aktuell dran. Basis wird eine möglichst automatische Datensammlung mit Ansible, Ergänzung mit eigenen Informationen und dann Erzeugen eines Wikis mittels MKDocs. Wenn ich das irgendwann mal fertig habe, gibt es dazu auch wieder einen Post.&lt;/p&gt;
&lt;p&gt;Eine Ansible-Rolle zum Deployen vom Backup-Script wäre auch noch angenehm, aktuell passiert das komplett händisch.&lt;/p&gt;
&lt;h2 id="fazit"&gt;Fazit
&lt;/h2&gt;&lt;p&gt;Das Setup ist über die Zeit gewachsen und sicher nicht perfekt - aber es deckt die wichtigsten Fälle ab: Hardwaredefekt, Ransomware, versehentliches Löschen und kompletten Verlust vom Cluster (bspw. durch einen Brand). Und das ganze wie üblich in möglichst kosteneffizient. Einige Dinge muss ich allerdings noch nachbessern.&lt;/p&gt;</description></item><item><title>Proxmox Backup Server 4 mit S3 Storage - ein Update nach einigen Wochen</title><link>https://secretmine.de/blog/2025/2025-12-09-proxmox-backup-server-mit-s3-aktueller-stand/</link><pubDate>Tue, 09 Dec 2025 00:00:00 +0000</pubDate><guid>https://secretmine.de/blog/2025/2025-12-09-proxmox-backup-server-mit-s3-aktueller-stand/</guid><description>&lt;p&gt;Vor einiger Zeit habe ich ja &lt;a class="link" href="https://secretmine.de/blog/2025/2025-09-25-proxmox-backup-server-via-s3-in-richtig/" &gt;Proxmox Backup Server 4 mit S3 Storage&lt;/a&gt; als Offsite-Backup eingerichtet. Hier nun also ein kleiner Zwischenbericht zur Speicherbelegung.&lt;/p&gt;
&lt;p&gt;Ich sichere aktuell 8 LXCs zu dem Backup-Repo, pro CT werden jeweils drei Backups behalten. Im Bucket liegen 11,5 GB und etwa 7500 Dateien. PBS scheint aber im Bucket nur eher wenige Aktionen durchzuführen - auf der Abrechnung von Backblaze ist nur der belegte Speicher relevant, die S3-Operationen liegen bei mir komplett im kostenfreien Bereich. Proxmox Backup Server zeigt bei dem Repo eine Belegung von 8 GB an, das scheint nur der lokal zwischengespeicherte Part zu sein. Der Deduplizierungsfaktor liegt bei etwas über 7, das entspricht grob dem Faktor, den ich auch sonst erreiche.&lt;/p&gt;
&lt;p&gt;Insgesamt sieht es für mich bisher so aus, als ob das ganze gut funktioniert. Große Restore-Tests habe ich allerdings weiterhin nicht gemacht und Stand heute ist das S3-Feature auch weiterhin nur eine Tech-Preview - also mit Vorsicht zu genießen und sollte nicht das einzige Backup sein.&lt;/p&gt;</description></item><item><title>Proxmox Backup Server 4 mit S3 Storage - diesmal in Richtig</title><link>https://secretmine.de/blog/2025/2025-09-25-proxmox-backup-server-via-s3-in-richtig/</link><pubDate>Thu, 25 Sep 2025 00:00:00 +0000</pubDate><guid>https://secretmine.de/blog/2025/2025-09-25-proxmox-backup-server-via-s3-in-richtig/</guid><description>&lt;p&gt;Proxmox Backup Server 4 hat eine erste tech preview für S3-Speicher mit drin, um offsite Backups zu speichern. Das ist durch die Deduplizierung und Komprimierung ideal, um günstig Backups zu machen. Als S3-Provider nutze ich Backblaze B2, da der Storage hier recht günstig ist (okay, ich hab auch einfach schon einen Account da). Die Backups werden auch lokal zwischengespeichert, es bedeutet also einiges an Schreibvorgängen auf der SSD/HDD.&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;Achtung!&lt;/strong&gt; Das ganze ist noch im Preview-Stadium und ist mit Vorsicht zu genießen!&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h3 id="bucket-erstellen"&gt;Bucket erstellen
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Im Backblaze B2 Webinterface einen neuen Bucket anlegen.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Bucket-Name: &lt;strong&gt;lowercase&lt;/strong&gt; (z. B. &lt;code&gt;pbsoffsite&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Endpunkt notieren, z. B.: &lt;code&gt;s3.eu-central-002.backblazeb2.com&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Lifecycle-Einstellungen&lt;/strong&gt; für den Bucket setzen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Nur die letzte Version der Datei aufbewahren&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="application-keys-erstellen"&gt;Application Keys erstellen
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Im Menü &lt;code&gt;Application Keys&lt;/code&gt; → &lt;code&gt;Add New&lt;/code&gt; wählen.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Namen definieren, z. B.: &lt;code&gt;PBSOffsiteKey&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Im Feld &lt;code&gt;Allow access to Bucket(s)&lt;/code&gt; den eben erstellten Bucket auswählen.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Haken setzen bei &lt;code&gt;Allow List All Bucket Names&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Die Ausgabe enthält die benötigten Werte:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;keyID: keyIDblablablub
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;applicationKey: blablablub
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="s3-endpoint-im-pbs-hinzufügen"&gt;S3 Endpoint im PBS hinzufügen
&lt;/h3&gt;&lt;p&gt;Im PBS-Webinterface einen S3-Endpoint hinzufügen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ID: bspw. &lt;code&gt;backblaze&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Endpoint: ``{{bucket}}.s3.{{region}}.backblazeb2.com`&lt;/li&gt;
&lt;li&gt;Region aus dem Endpunkt ableiten, z. B. &lt;code&gt;eu-central-002&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Access Key (&lt;code&gt;keyID&lt;/code&gt;) und Secret Key (&lt;code&gt;applicationKey&lt;/code&gt;) eintragen&lt;/li&gt;
&lt;li&gt;Advanced → Provider Quirks: &lt;code&gt;Skip If-None-Match header&lt;/code&gt; aktivieren&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="cache-verzeichnis-erstellen"&gt;Cache-Verzeichnis erstellen
&lt;/h3&gt;&lt;p&gt;Die Doku empfiehlt hier 64-128GB Speicher. Ich nutze LVM-Thin und habe dementsprechend auf dem Host ein neues Volume erstellt und gemountet. Das Anlegen eines neuen logischen Volumes bei LVM geht mit folgendem Befehl:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;lvcreate -V 100G -T vg-data/thinpool -n pbs-s3
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Gemountet habe ich das unter &lt;code&gt;/mnt/pbs-s3&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id="datastore-hinzufügen"&gt;Datastore hinzufügen
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Name: &lt;code&gt;backblaze&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Local Cache: &lt;code&gt;/mnt/pbs-s3&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;S3 Endpoint ID: passenden Endpoint auswählen&lt;/li&gt;
&lt;li&gt;Bucket: den angelegten Bucket auswählen. Wenn hier nichts auftaucht oder ein Fehler erscheint, stimmt was mit den Zugangsdaten nicht oder der Bucketname ist z.B. nicht kleingeschrieben.&lt;/li&gt;
&lt;li&gt;Prune Options: &lt;em&gt;nach Bedarf konfigurieren&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="datastore-nutzen"&gt;Datastore nutzen
&lt;/h3&gt;&lt;p&gt;Ich habe nun also in Proxmox einen zweiten Proxmox Backup Server als Storage eingefügt und einen zweiten Backup-Job mit dem Offsite-Storage und nur den wichtigsten Containern und VMs angelegt. Ich lasse das aktuell erstmal nur mit eher kleinen Backups laufen, bis ich ein Gefühl dafür bekommen habe, was mich das dann am Ende so kostet. Irgendwann wird dementsprechend ein Update-Post folgen.&lt;/p&gt;
&lt;p&gt;Ein Restore-Test steht auch noch aus&amp;hellip;&lt;/p&gt;</description></item><item><title>Proxmox Backup Server mit S3 Storage</title><link>https://secretmine.de/blog/2024/2024-10-22-proxmox-backup-server-via-s3/</link><pubDate>Tue, 22 Oct 2024 00:00:00 +0000</pubDate><guid>https://secretmine.de/blog/2024/2024-10-22-proxmox-backup-server-via-s3/</guid><description>&lt;p&gt;&lt;em&gt;Update&lt;/em&gt;: Es gibt bei Proxmox mittlerweile die Option, S3 nativ zu nutzen. Dazu habe ich auch &lt;a class="link" href="https://secretmine.de/blog/2025/2025-09-25-proxmox-backup-server-via-s3-in-richtig/" &gt;hier&lt;/a&gt; einen neuen Post geschrieben.&lt;/p&gt;
&lt;h2 id="was-ist-juicefs"&gt;Was ist JuiceFS?
&lt;/h2&gt;&lt;p&gt;In einem &lt;a class="link" href="https://secretmine.de/blog/2024/2024-10-12-nextcloud-umzug-ziel/" &gt;anderen Post&lt;/a&gt; hatte ich bereits von &lt;a class="link" href="https://juicefs.com/" target="_blank" rel="noopener"
 &gt;JuiceFS&lt;/a&gt; berichtet. Das ist ein Dateisystem, was einen Object Storage mit einer Datenbank verbindet, um so möglichst Posix-Compliant zu sein. Das heißt also, dass die Dateiinhalte in einem S3-Bucket landen, die Metadaten und Verzeichnisstrukturen liegen dann in z.B. einer MariaDB.&lt;/p&gt;
&lt;p&gt;Das hatte ich erst für Nextcloud getestet, was auch soweit funktioniert hat. Zu dem Zeitpunkt war mir das ganze aber nicht geheuer, weshalb ich es produktiv dafür nicht einsetzen wollte und auch weiterhin nicht vor habe.&lt;/p&gt;
&lt;h2 id="die-kombination"&gt;Die Kombination
&lt;/h2&gt;&lt;p&gt;Im Proxmox-Forum und bei Reddit findet man Beiträge dazu, wie Leute Proxmox Backup Server (PBS) mittels rclone mit einem S3-Speicher verbunden haben, um die Backups eben in S3 zu lagern. Das hat allerdings nur so lange funktioniert, wie leere Verzeichnisse im Cache von rclone waren, da S3 prinzipbedingt nicht mit leeren Verzeichnissen umgehen kann. JuiceFS dürfte diese Lücke füllen, da durch die Trennung von Inhalts- und Metadaten die Unterstützung für alle relevanten Attribute und co wiederhergestellt wird.&lt;/p&gt;
&lt;h2 id="das-setup"&gt;Das Setup
&lt;/h2&gt;&lt;p&gt;Benötigt wird ein Debian-Server mit folgenden installierten Komponenten:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Proxmox Backup Server (entweder von der ISO installieren oder zusätzlich installieren, siehe hier: &lt;a class="link" href="https://pbs.proxmox.com/docs/installation.html" target="_blank" rel="noopener"
 &gt;https://pbs.proxmox.com/docs/installation.html&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;MariaDB-Datenbank (in meinem Test lokal installierter Server)&lt;/li&gt;
&lt;li&gt;JuiceFS (Installation siehe hier: &lt;a class="link" href="https://juicefs.com/docs/community/getting-started/installation/" target="_blank" rel="noopener"
 &gt;https://juicefs.com/docs/community/getting-started/installation/&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Ein S3-Bucket (in meinem Test MinIO, aber es geht natürlich auch alles andere)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="juicefs-storage-anlegen"&gt;JuiceFS-Storage anlegen
&lt;/h3&gt;&lt;p&gt;Ich habe also die Datenbank und ein S3-Bucket angelegt und dann mit folgendem Command den JuiceFS-Store angelegt:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;span class="lnt"&gt;12
&lt;/span&gt;&lt;span class="lnt"&gt;13
&lt;/span&gt;&lt;span class="lnt"&gt;14
&lt;/span&gt;&lt;span class="lnt"&gt;15
&lt;/span&gt;&lt;span class="lnt"&gt;16
&lt;/span&gt;&lt;span class="lnt"&gt;17
&lt;/span&gt;&lt;span class="lnt"&gt;18
&lt;/span&gt;&lt;span class="lnt"&gt;19
&lt;/span&gt;&lt;span class="lnt"&gt;20
&lt;/span&gt;&lt;span class="lnt"&gt;21
&lt;/span&gt;&lt;span class="lnt"&gt;22
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# diese Variable nutze ich, um die Zugangsdaten und Pfade zur Datenbank nicht jedes Mal neu angeben zu müssen&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Diese Zeile muss pro SSH-Session, in der mit JuiceFS gearbeitet werden soll, neu ausgeführt werden.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;export&lt;/span&gt; &lt;span class="nv"&gt;METAURL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;mysql://&lt;span class="o"&gt;[&lt;/span&gt;user&lt;span class="o"&gt;]&lt;/span&gt;:&lt;span class="o"&gt;[&lt;/span&gt;passwort&lt;span class="o"&gt;]&lt;/span&gt;@&lt;span class="o"&gt;([&lt;/span&gt;datenbankserver&lt;span class="o"&gt;]&lt;/span&gt;:3306&lt;span class="o"&gt;)&lt;/span&gt;/&lt;span class="o"&gt;[&lt;/span&gt;datenbankname&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# bei mir:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# export METAURL=mysql://juicefs:pbspbspbs@(localhost:3306)/juicefs&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;juicefs format &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --storage s3 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --bucket &lt;span class="o"&gt;[&lt;/span&gt;bucket-url&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --access-key &lt;span class="o"&gt;[&lt;/span&gt;access-key&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --secret-key &lt;span class="o"&gt;[&lt;/span&gt;access-secret&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;$METAURL&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; pbsfs --trash-days&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# bei mir:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#juicefs format \&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# --storage s3 \&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# --bucket http://s3.homelab.local:9000/pbs \&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# --access-key pbs \&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# --secret-key pbspbspbs \&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# $METAURL \&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# pbsfs --trash-days=0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Output:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;span class="lnt"&gt;12
&lt;/span&gt;&lt;span class="lnt"&gt;13
&lt;/span&gt;&lt;span class="lnt"&gt;14
&lt;/span&gt;&lt;span class="lnt"&gt;15
&lt;/span&gt;&lt;span class="lnt"&gt;16
&lt;/span&gt;&lt;span class="lnt"&gt;17
&lt;/span&gt;&lt;span class="lnt"&gt;18
&lt;/span&gt;&lt;span class="lnt"&gt;19
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;2024/10/20 10:14:59.175588 juicefs&lt;span class="o"&gt;[&lt;/span&gt;15366&lt;span class="o"&gt;]&lt;/span&gt; &amp;lt;INFO&amp;gt;: Meta address: mysql://juicefs:****@&lt;span class="o"&gt;(&lt;/span&gt;localhost:3306&lt;span class="o"&gt;)&lt;/span&gt;/juicefs &lt;span class="o"&gt;[&lt;/span&gt;interface.go:504&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;2024/10/20 10:14:59.177822 juicefs&lt;span class="o"&gt;[&lt;/span&gt;15366&lt;span class="o"&gt;]&lt;/span&gt; &amp;lt;INFO&amp;gt;: Data use s3://pbs/pbsfs/ &lt;span class="o"&gt;[&lt;/span&gt;format.go:484&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;2024/10/20 10:14:59.372276 juicefs&lt;span class="o"&gt;[&lt;/span&gt;15366&lt;span class="o"&gt;]&lt;/span&gt; &amp;lt;INFO&amp;gt;: Volume is formatted as &lt;span class="o"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;Name&amp;#34;&lt;/span&gt;: &lt;span class="s2"&gt;&amp;#34;pbsfs&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;UUID&amp;#34;&lt;/span&gt;: &lt;span class="s2"&gt;&amp;#34;97f66daa-c003-4b5b-b1ed-af4788cfbb06&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;Storage&amp;#34;&lt;/span&gt;: &lt;span class="s2"&gt;&amp;#34;s3&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;Bucket&amp;#34;&lt;/span&gt;: &lt;span class="s2"&gt;&amp;#34;http://s3.homelab.local:9000/pbs&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;AccessKey&amp;#34;&lt;/span&gt;: &lt;span class="s2"&gt;&amp;#34;pbs&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;SecretKey&amp;#34;&lt;/span&gt;: &lt;span class="s2"&gt;&amp;#34;removed&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;BlockSize&amp;#34;&lt;/span&gt;: 4096,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;Compression&amp;#34;&lt;/span&gt;: &lt;span class="s2"&gt;&amp;#34;none&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;EncryptAlgo&amp;#34;&lt;/span&gt;: &lt;span class="s2"&gt;&amp;#34;aes256gcm-rsa&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;KeyEncrypted&amp;#34;&lt;/span&gt;: true,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;TrashDays&amp;#34;&lt;/span&gt;: 0,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;MetaVersion&amp;#34;&lt;/span&gt;: 1,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;MinClientVersion&amp;#34;&lt;/span&gt;: &lt;span class="s2"&gt;&amp;#34;1.1.0-A&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;DirStats&amp;#34;&lt;/span&gt;: true,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;EnableACL&amp;#34;&lt;/span&gt;: &lt;span class="nb"&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;}&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;format.go:521&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Damit wird nun also ein JuiceFS-Store angelegt. Die Daten für das S3-Bucket werden dabei mit im Metadaten-Speicher (also der MariaDB-Datenbank) abgelegt und müssen nicht noch mal eingegeben werden.&lt;/p&gt;
&lt;h3 id="juicefs-mounten"&gt;JuiceFS mounten
&lt;/h3&gt;&lt;p&gt;Mittels&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mkdir /mnt/jfs
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;juicefs mount --update-fstab --background &lt;span class="nv"&gt;$METAURL&lt;/span&gt; /mnt/jfs
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;können wir nun das JuiceFS unter &lt;code&gt;/mnt/jfs&lt;/code&gt; mounten, der Parameter &lt;code&gt;--update-fstab&lt;/code&gt; sorgt dafür, dass direkt auch eine neue Zeile in der &lt;code&gt;fstab&lt;/code&gt; angelgt und das JuiceFS beim Systemstart mit gemountet wird.&lt;/p&gt;
&lt;p&gt;Mit&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;juicefs config &lt;span class="nv"&gt;$METAURL&lt;/span&gt; --capacity &lt;span class="m"&gt;100&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;lässt sich auch ein Quota festlegen, hier 100GB. Ansonsten hat ein JuiceFS theoretisch unbegrenzte Kapazität bzw. legt kein Limit fest.&lt;/p&gt;
&lt;h3 id="storage-in-pbs-einrichten"&gt;Storage in PBS einrichten
&lt;/h3&gt;&lt;p&gt;In PBS können wir nun einen neuen Datastore hinzufügen und &lt;code&gt;/mnt/jfs&lt;/code&gt; als Pfad angeben. Das Anlegen eines Storages wird allerdings eine ganze Zeit dauern, da hierbei einige Tausend Verzeichnisse erzeugt werden. In meinem Fall hat das etwa 20 Minuten gedauert, lokal ging das immer sehr viel schneller. Danach lässt sich der Storage normal in einem Proxmox VE Server einbinden und nutzen.&lt;/p&gt;
&lt;h3 id="performance"&gt;Performance
&lt;/h3&gt;&lt;p&gt;Meine Werte sind leider nur semi-aussagekräftig, da der Minio-Server, der hier als S3-Storage dient, wirklich langsam ist. Ich habe hierbei grob 5 MB/s bei Backups erreicht zeitweise auch 40 MB/s. Ich gehe davon aus, dass mit passend schnellem S3-Storage die reale Leistung eher bei den 40 MB/s liegt, sicher sagen kann ich das aber nicht.&lt;/p&gt;
&lt;h2 id="fazit"&gt;Fazit
&lt;/h2&gt;&lt;p&gt;Da die Performance soweit okay ist, kann ich mir gut vorstellen, das auf einem vServer im Rechenzentrum mit einem Backblaze B2 Bucket als Storage tatsächlich zu verwenden bzw. dem ganzen so zumindest einem Langzeittest auszusetzen. Ich habe bislang mit JuiceFS auch außerhalb von solchen kurzen Tests wenig Erfahrung.
Wenn es gut funktioniert, wäre es aber eine wirklich coole Möglichkeit, um günstig viel Speicher für Proxmox zu bekommen. Ich habe bisher allerdings auch keine Werte bzgl. Trafficnutzung und auch Anzahl der API-Calls, die beim S3-Storage entstehen, das kann schnell zu Kosten führen.&lt;/p&gt;
&lt;h2 id="update"&gt;Update
&lt;/h2&gt;&lt;p&gt;&lt;em&gt;Kleines Update:&lt;/em&gt; Ich habe das so temporär auf einem vServer mit Backblaze als Backend in Betrieb. Über etwa 1-2 Wochen hinweg habe ich nun getestet - das ganze lief stabil und mit brauchbarer Performance. Was dauert sind Operationen mit vielen kleinen Dateien, da merkt man dann die andere Speicherart. Generell kann man das nutzen, aber ich würde mich da nicht als einzige Backup-Lösung drauf verlassen - dafür fühlt sich das ganze zu sehr nach einer Bastellösung mit zu vielen beweglichen Teilen an.&lt;/p&gt;</description></item><item><title>Backups von Pterodactyl in S3 speichern</title><link>https://secretmine.de/blog/2024/2024-10-20-pterodactyl-s3-backup/</link><pubDate>Sun, 20 Oct 2024 00:00:00 +0000</pubDate><guid>https://secretmine.de/blog/2024/2024-10-20-pterodactyl-s3-backup/</guid><description>&lt;p&gt;Pterodactyl bietet als Möglichkeit an, Backups zu erstellen. Das muss konfiguriert werden, wie das geht steht in der Doku unter &lt;a class="link" href="https://pterodactyl.io/panel/1.0/additional_configuration.html#backups" target="_blank" rel="noopener"
 &gt;https://pterodactyl.io/panel/1.0/additional_configuration.html&lt;/a&gt;. Standardmäßig kommt hierfür ein Verzeichnis auf den Nodes zum Einsatz, was meistens auch genügt. Es gibt allerdings auch die Option, die Backups in einem S3-Bucket zu speichern.&lt;/p&gt;
&lt;p&gt;Ich habe mich dazu entschieden, die Option mit S3-Speicher zu nutzen. Einerseits liegen damit alle Backups am selben Ort und belegen lokal auf den Nodes keinen Speicher, andererseits ist Off-Site bei Backups immer besser. Als Storage-Anbieter für S3 habe ich mich hierbei für &lt;a class="link" href="https://www.backblaze.com/cloud-storage" target="_blank" rel="noopener"
 &gt;Backblaze&lt;/a&gt; entschieden. Es handelt sich nicht um hochkritische Daten und Nutzer bin nur ich selbst, daher halte ich es für vertretbar, diese Daten bei einem US-Unternehmen zu speichern. Es gibt mit OVH oder Scaleway (und bald Hetzner) aber auch europäische Anbieter, die S3-Speicher anbieten. Backblaze war einfach die günstigste Option und hat keine Mindestabnahme o.ä..&lt;/p&gt;
&lt;p&gt;Ich habe also ein Bucket bei Backblaze angelegt, in den Lifecycle-äEinstellungen vom Bucket es so eingestellt, dass nur die letzte Version einer Datei erhalten bleibt und dann einen Application Key für dieses Bucket erzeugt.&lt;/p&gt;
&lt;p&gt;In Pterodactyl werden die Einstellungen fürs Backup in der &lt;code&gt;.env&lt;/code&gt; im Hauptverzeichnis vom Panel durchgeführt. Dort habe ich folgende Einstellungen vorgenommen:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;AWS_USE_PATH_STYLE_ENDPOINT=true
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;AWS_DEFAULT_REGION=eu-central-003 # Die Region kannst du der Endpoint URL vom Bucket bei Backblaze entnehmen
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;AWS_ACCESS_KEY_ID=&amp;lt;keyID von Backblaze&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;AWS_SECRET_ACCESS_KEY=&amp;#34;&amp;lt;applicationKey von Backblaze&amp;gt;&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;AWS_BACKUPS_BUCKET=&amp;lt;Bucket Name&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;AWS_ENDPOINT=&amp;#34;https://s3.eu-central-003.backblazeb2.com/&amp;#34; # Der Endpoint steht in der Bucketübersich beim Bucket dabei
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Danach sollte es schon möglich sein, Backup zu erstellen, diese sollten auch dann im Bucket landen. Bei mir funktioniert das seit einigen Monaten so stabil.&lt;/p&gt;</description></item></channel></rss>