
Garage einfach selbst hosten
Yulei ChenGarage ist ein leichtgewichtiger, S3-kompatibler verteilter Object Storage Service, der für Self-Hosting gebaut wurde. Anders als AWS S3 oder andere verwaltete Object-Storage-Anbieter ist Garage Open Source, läuft auf bescheidener Hardware und gibt dir die volle Kontrolle über deine Daten.
Sliplane macht das Deployment von Garage schmerzlos. Mit einem One-Click-Preset läuft dein eigener S3-kompatibler Storage in wenigen Minuten - ohne Server-Setup, ohne Reverse-Proxy-Konfiguration und ohne Infrastruktur, um die du dich ständig kümmern musst.
Wenn dein Ziel eher "Ich brauche verwalteten Object Storage" ist, hat Sliplane vor Kurzem integrierten Object Storage veröffentlicht: Erstelle einen Bucket im Dashboard, nutze ihn mit der AWS CLI oder einem beliebigen S3 SDK und spare dir den Betrieb des Storage Services.
Voraussetzungen
Bevor du loslegst, brauchst du einen Sliplane Account (kostenlose Testphase verfügbar).
Schnellstart
Sliplane bietet One-Click-Deployment mit Presets.
- Klicke auf den Deploy-Button oben
- Wähle ein Projekt aus
- Wähle einen Server aus (wenn du dich gerade erst registriert hast, bekommst du einen kostenlosen 48-Stunden-Testserver)
- Klicke auf Deploy!
Über das Preset
Das One-Click-Deploy oben nutzt Sliplanes Garage Preset. Das ist enthalten:
- Garage v2.3.0 Binary (wird beim ersten Deploy automatisch heruntergeladen)
- Alpine 3.20 Base Image (stellt die Shell für die Startkonfiguration bereit)
- Zwei persistente Volumes: eines für Metadaten (
/var/lib/garage/meta) und eines für Daten (/var/lib/garage/data) - LMDB als Datenbank-Engine für Metadaten (schnell und zuverlässig für Single-Node-Setups)
- Admin API auf dem öffentlichen Endpoint mit
/healthHealthcheck - Automatisch generierte Zugangsdaten für RPC Secret, Admin Token und Metrics Token
- TOML-Konfiguration, die beim Start automatisch geschrieben wird (keine manuelle Config-Datei nötig)
- Automatisch konfiguriertes Cluster-Layout beim ersten Start, damit der Node sofort einsatzbereit ist
Das Preset startet eine Single-Node-Garage-Instanz mit replication_factor = 1, was die richtige Einstellung für ein Deployment auf einem einzelnen Server ist.
Nächste Schritte
Sobald Garage auf Sliplane läuft, erreichst du die Admin API über die von Sliplane bereitgestellte Domain (z.B. garage-xxxx.sliplane.app).
Cluster-Layout
Das Preset konfiguriert das Cluster-Layout beim ersten Start automatisch, damit dein Node sofort einsatzbereit ist. Du kannst das Layout prüfen, indem du den Cluster-Status abfragst:
curl -H "Authorization: Bearer <dein-admin-token>" https://<deine-domain>/v2/GetClusterStatus
Ersetze <deine-domain> durch deine Sliplane-Domain und <dein-admin-token> durch den GARAGE_ADMIN_TOKEN Wert aus den Umgebungsvariablen deines Services.
Access Keys und Buckets erstellen
Erstelle einen Access Key:
curl -X POST -H "Authorization: Bearer <dein-admin-token>" \
-H "Content-Type: application/json" \
-d '{"name": "my-key"}' \
https://<deine-domain>/v2/CreateKey
Speichere die accessKeyId und den secretAccessKey aus der Antwort. Erstelle danach einen Bucket:
curl -X POST -H "Authorization: Bearer <dein-admin-token>" \
-H "Content-Type: application/json" \
-d '{"globalAlias": "my-bucket"}' \
https://<deine-domain>/v2/CreateBucket
Gib deinem Key Zugriff auf den Bucket:
curl -X POST -H "Authorization: Bearer <dein-admin-token>" \
-H "Content-Type: application/json" \
-d '{"bucketId": "<bucket-id>", "accessKeyId": "<access-key-id>", "permissions": {"read": true, "write": true, "owner": true}}' \
https://<deine-domain>/v2/AllowBucketKey
S3 Clients verbinden
Die S3 API läuft im Container auf Port 3900. Andere Services auf demselben Sliplane Server können sich über den internen Hostnamen verbinden (z.B. garage-xxxx.internal:3900). Nutze den Access Key und das Secret, die du oben erstellt hast, als S3-Zugangsdaten und verwende garage als Region.
Wenn du stattdessen Sliplane Object Storage nutzt, brauchst du die Garage Admin API Schritte oben nicht. Erstelle einen Bucket im Dashboard, erstelle einen Access Key und nutze den Endpoint aus den Bucket-Einstellungen mit deinem S3 Client.
Umgebungsvariablen
Das Preset konfiguriert diese wichtigen Umgebungsvariablen:
| Variable | Zweck |
|---|---|
GARAGE_VERSION | Garage Binary-Version zum Herunterladen (Standard: v2.3.0) |
GARAGE_ADMIN_TOKEN | Token für die Authentifizierung bei Admin API Requests |
GARAGE_METRICS_TOKEN | Token für den Zugriff auf den /metrics Endpoint (Prometheus-Format) |
GARAGE_RPC_SECRET | Internes Secret für die Node-zu-Node-Kommunikation |
RUST_LOG | Log-Level (Standard: garage=info) |
Logging und Troubleshooting
Garage loggt standardmäßig nach stdout, deshalb sind alle Ausgaben im integrierten Log Viewer von Sliplane sichtbar. Wenn du mehr Details brauchst, ändere RUST_LOG auf garage=debug und deploye neu. Allgemeine Docker-Log-Tipps findest du in unserem Beitrag zu Docker Logs.
Kostenvergleich
Du kannst Garage auch bei anderen Cloud-Anbietern selbst hosten. Hier ist ein Preisvergleich der gängigsten Optionen:
| Anbieter | vCPU | RAM | Disk | Monatliche Kosten | Hinweis |
|---|---|---|---|---|---|
| Sliplane | 2 | 2 GB | 40 GB | €9 (~$10.65) | Flatrate, 1 TB Bandbreite, SSL inklusive |
| Fly.io | 2 | 2 GB | 40 GB | ~$18 | Disk und Bandbreite separat berechnet |
| Render | 1 | 2 GB | 40 GB | ~$35 | 100 GB Bandbreite, Disk separat berechnet |
| Railway | 2 | 2 GB | 40 GB | ~$67 + $20 Plan | Pro-Plan-Minimum, nutzungsbasiert, Bandbreite separat |
Klicke hier, um zu sehen, wie diese Zahlen berechnet wurden.
(Angenommen wird eine dauerhaft laufende Instanz mit 730 Stunden pro Monat)
- Sliplane: pauschal €9/Monat für den Base Server. Unbegrenzte Services auf demselben Server, 1 TB Egress und SSL inklusive.
- Fly.io:
shared-cpu-2x2 GB = $11.83/Monat + 40 GB Volume × $0.15/GB = $6 -> ~$17.83/Monat. Egress wird separat berechnet ($0.02/GB in der EU). - Render: der nächste passende Plan ist Standard ($25, 1 vCPU / 2 GB) plus 40 GB Disk × $0.25/GB = $10 -> ~$35/Monat. Der Sprung auf Pro (2 vCPU / 4 GB) kostet $85/Monat + Disk.
- Railway (Pro Plan): CPU 2 × $0.00000772/s × 2,628,000 s = $40.57; RAM 2 × $0.00000386/s × 2,628,000 s = $20.29; Volume 40 × $0.00000006/s × 2,628,000 s = $6.31 -> ~$67/Monat Compute, plus das $20/Monat Pro-Plan-Minimum und $0.05/GB Egress.
Bandbreitenkosten können bei nutzungsbasierten Anbietern schnell steigen. Nutze unser Bandbreiten-Kostenvergleichs-Tool, um zu sehen, was dein Egress auf jeder Plattform kosten würde.
FAQ
Wofür kann ich Garage nutzen?
Garage funktioniert überall dort, wo du S3 nutzen würdest: Datei-Backups, Static-Website-Hosting, Medienspeicher für Web-Apps oder als Backend für Tools wie Nextcloud oder Duplicati. Es unterstützt die Standard-S3-API, deshalb funktionieren die meisten S3-kompatiblen Clients und Libraries direkt.
Kann ich den S3-Regionsnamen ändern?
Ja. Das Preset nutzt standardmäßig garage als S3-Region. Wenn du einen anderen Regionsnamen brauchst, musst du die TOML-Konfiguration anpassen, die der Startup-Command generiert. Das kannst du tun, indem du den Command des Services in den Sliplane-Einstellungen bearbeitest.
Wie aktualisiere ich Garage?
Ändere die Umgebungsvariable GARAGE_VERSION in deinen Service-Einstellungen (z.B. von v2.3.0 auf eine neuere Version) und deploye neu. Die neueste stabile Version findest du in den Garage Releases. Garage übernimmt Datenmigrationen zwischen Minor-Versionen automatisch.
Gibt es Alternativen zu Garage?
Ja. MinIO ist der beliebteste S3-kompatible Self-Hosted Storage, braucht aber mehr Ressourcen. SeaweedFS ist eine weitere Option für verteilten Storage. Für verwaltete Lösungen schau dir unsere Liste mit 5 günstigen Object-Storage-Anbietern an. Wenn du nur File Sync statt S3 brauchst, schau dir OpenCloud an.
Sollte ich Garage selbst hosten oder Sliplane Object Storage nutzen?
Nutze Garage, wenn du die Storage-Software ausdrücklich selbst betreiben, mit Garage experimentieren oder den gesamten Stack innerhalb deines eigenen Sliplane Services halten möchtest. Nutze Sliplane Object Storage, wenn du einfach nur einen zuverlässigen S3-kompatiblen Bucket für App Uploads, Backups, statische Assets oder generierte Dateien brauchst, ohne Garage selbst zu verwalten.
Ist ein Single-Node-Garage-Setup zuverlässig?
Für persönliche Projekte, kleine Teams und unkritische Workloads funktioniert ein Single-Node-Setup sehr gut. Garage nutzt LMDB für Metadaten-Storage, was crash-sicher ist. Deine Daten werden in Sliplane Volumes persistiert und überleben deshalb Container-Neustarts. Für Produktions-Workloads, die Redundanz brauchen, solltest du mehrere Garage Nodes auf verschiedenen Servern betreiben.