Garage: Self-Hosted Object Storage

Garage
Garage ist eine S3-kompatible, verteilte Object-Storage-Lösung, die sich
problemlos auf sehr limitierter Hardware selbst hosten lässt. Das Projekt wurde
von Deuxfleurs gestartet, um einen Service zu schaffen, der frei
vom Einfluss von Konzernen ist. Einen Service, mit dem man seine persönlichen
Daten hosten kann, ohne auf Cloud-Services angewiesen zu sein, sondern nur auf
Hardware, die einem selbst gehört.
Du kannst Garage sogar auf einem Raspberry Pi laufen lassen, wenn dir das
gefällt.
Einige der zentralen Design-Ziele sind:
- einen Service bereitzustellen, der einfach zu verstehen und zu betreiben ist,
- in sich geschlossen und leichtgewichtig zu sein (es ist ein einzelnes Binary, geschrieben in Rust 💙) und
- hochgradig resilient gegenüber Netzwerkproblemen und anderen Ausfällen zu sein
Das macht es zu einer richtig guten Wahl für das Self-Hosting statischer
Websites, als Storage-Backend für Tools wie
rsync oder
restic und
mehr.
Und obwohl es zu den meisten S3-Tools und -Features kompatibel ist, versucht es
nicht, alle davon zu unterstützen, um den Umfang überschaubar zu halten. Hier
ein kurzer Überblick über die Features, die unterstützt werden – und die nicht:
| Feature | Unterstützt |
|---|---|
| Presigned URLs | Ja |
| Server-side Encryption (SSE-C) | Ja |
| Bucket Versioning | Nein |
| Path-Style Requests | Ja |
| Virtual-Hosted-Style Requests | Ja |
Quelle: https://garagehq.deuxfleurs.fr/documentation/reference-manual/s3-compatibility/
Geo-Distribution
Einer der Schlüsselaspekte von Garage ist, wie einfach sich damit ein
geografisch verteilter Object Storage betreiben lässt, der Speicherung und
Replikation an mehreren geografischen Standorten erlaubt. Für mehr Flexibilität
lässt sich die Art, wie Garage die Daten repliziert
(Replication Factor),
über eine einfache
.toml-Datei
konfigurieren.
Deployment und Betrieb
Da Garage nur ein einzelnes Binary ist, gestaltet sich das Deployment wirklich
einfach. Ob über Kubernetes und die bereitgestellten Helm Charts oder direkt
über systemd – es gibt viele
verschiedene Optionen.
Empfohlen wird lediglich, beim Deployment mindestens 3 Nodes einzusetzen.
Fürs Monitoring stellt der Service eine Admin-API bereit, die Prometheus-kompatible Metriken zum Scrapen liefert.
Einschränkungen
Natürlich gibt es beim Einsatz von Garage auch Einschränkungen. Wie bereits erwähnt, ist es nicht das Ziel, jedes S3-Feature zu unterstützen. Wenn das eine harte Anforderung ist, sind einige der Alternativen vielleicht die bessere Wahl. Es gibt zudem einige bekannte Probleme, die man bei der Evaluation im Hinterkopf behalten sollte.
Deuxfleurs
Deuxfleurs ist eine experimentelle Non-Profit-Hosting-Organisation mit Sitz in Rennes, Frankreich. Sie finanzieren sich grösstenteils über Fördermittel von Organisationen wie NLnet oder über Projekte der Europäischen Union, aber auch über Einzelspenden.
Neben dem Bauen der Tools bieten sie auch Services wie Static Hosting, E-Mail
oder Matrix-basiertes Instant Messaging an.
Nach eigenen Angaben nutzen sie weniger als 10 wiederaufbereitete Server, um
diese Services für Tausende von Menschen bereitzustellen – ziemlich cool, wenn
du mich fragst.
Wenn du also von ihrer Arbeit profitierst, überlege dir, mit Beiträgen oder Spenden etwas zurückzugeben.