MinIO als privaten S3-Speicher mit Docker einrichten¶
Veröffentlicht am 22. August 2026 · Geschätzte Lesezeit: 4 Minuten
MinIO stellt im eigenen Netzwerk einen S3-kompatiblen Objektspeicher bereit. Programme können dort Backups, Dokumente oder andere Dateien in sogenannten Buckets ablegen, ohne dass die Daten zu einem öffentlichen Cloud-Anbieter müssen. Für die Einrichtung solltest du etwa 20 Minuten einplanen.
Voraussetzungen
- Ein Server mit Docker und Docker Compose
- Eine feste IP-Adresse für den Server
- Die freien TCP-Ports 9000 für S3 und 9001 für die Verwaltung
- Ausreichend Speicherplatz auf einem zuverlässig gesicherten Laufwerk
1. Arbeitsordner anlegen¶
Führe den folgenden Befehl im Terminal deines Docker-Servers aus. Er legt den Projektordner und den Ordner für die gespeicherten Objekte an.
Wechsle anschließend in den neuen Projektordner.
2. Sichere Zugangsdaten erzeugen¶
Dieser Befehl erzeugt einen zufälligen Administratornamen und ein langes Passwort. Beides wird ausschließlich in der lokalen Datei .env gespeichert.
{
printf 'MINIO_ROOT_USER=minio-%s\n' "$(openssl rand -hex 4)"
printf 'MINIO_ROOT_PASSWORD=%s\n' "$(openssl rand -hex 32)"
} > .env
Schütze die Datei danach vor dem Zugriff anderer Benutzer auf dem Server.
Zugangsdaten schützen
Die Datei .env enthält das vollständige Administratorpasswort. Lade sie niemals auf eine Webseite oder in ein öffentliches Git-Repository. Bewahre eine zusätzliche Kopie in einem Passwortmanager auf.
3. Compose-Datei anlegen¶
Lege im Ordner ~/minio die Datei compose.yaml mit folgendem Inhalt an. Das Image ist auf den Stand festgelegt, den das offizielle MinIO-Compose-Beispiel verwendet. Dadurch ändert sich die Installation nicht unbemerkt beim nächsten Start.
services:
minio:
image: quay.io/minio/minio:RELEASE.2025-09-06T17-38-46Z
container_name: minio
restart: unless-stopped
command: server /data --console-address ":9001"
environment:
MINIO_ROOT_USER: ${MINIO_ROOT_USER}
MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD}
ports:
- "9000:9000"
- "9001:9001"
volumes:
- ./data:/data
healthcheck:
test: ["CMD", "mc", "ready", "local"]
interval: 10s
timeout: 5s
retries: 5
Nur im vertrauenswürdigen Netz betreiben
Leite die Ports 9000 und 9001 nicht im Router ins Internet weiter. Für einen Zugriff von unterwegs eignet sich ein VPN. Bei öffentlicher Nutzung gehören ein korrekt eingerichteter HTTPS-Reverse-Proxy und zusätzliche Schutzmaßnahmen davor.
4. Container starten¶
Starte MinIO im Projektordner.
Prüfe danach den Zustand. Nach kurzer Zeit sollte bei MinIO healthy erscheinen.
Falls der Start fehlschlägt, zeigen die letzten Protokollzeilen meist die Ursache.
5. Anmelden und privaten Bucket anlegen¶
Öffne http://<server-ip>:9001 im Browser. Ersetze <server-ip> durch die feste IP-Adresse deines Docker-Servers. Benutzername und Passwort stehen in der lokalen Datei .env; zeige sie nur auf einem vertrauenswürdigen Gerät an.
Lege in der Verwaltung einen Bucket wie backups an. Lasse den anonymen beziehungsweise öffentlichen Zugriff ausgeschaltet. Port 9001 ist nur die Verwaltung; Anwendungen verwenden den S3-Endpunkt http://<server-ip>:9000.
Eigene Schlüssel für Anwendungen
Verwende das Root-Konto nur zur Verwaltung. Erstelle für jede Anwendung einen eigenen Zugriffsschlüssel mit möglichst wenigen Rechten. So musst du bei einem verlorenen Schlüssel nicht das Administratorkonto austauschen.
6. Funktion prüfen¶
Öffne den neuen Bucket in der MinIO-Konsole und lade eine kleine Testdatei hoch. Lade sie anschließend wieder herunter und vergleiche den Inhalt. Lösche die Testdatei erst, wenn beide Vorgänge funktioniert haben.
Typische Fehler sind belegte Ports, Schreibrechte im Ordner data oder eine Verwechslung von Verwaltungsport 9001 und S3-Port 9000. Bei einer Firewall müssen beide TCP-Ports für das lokale Netz freigegeben sein.
7. Backup und Rückweg vorbereiten¶
Ein einzelner MinIO-Server ist noch kein Backup. Kopiere wichtige Buckets regelmäßig auf ein zweites, getrenntes System. Vor Änderungen kannst du zusätzlich eine konsistente lokale Sicherung erstellen. Stoppe MinIO zuerst im Projektordner.
Dieser Befehl sichert Konfiguration, Zugangsdaten und Datenordner in ein Archiv neben dem Projektordner.
Starte MinIO anschließend wieder.
Backup enthält vertrauliche Daten
Das Archiv enthält alle Objekte und das Root-Passwort. Verschlüssele es oder speichere es nur auf einem geschützten Datenträger. Prüfe regelmäßig, ob sich ein Testarchiv wirklich wiederherstellen lässt.
Wenn eine Änderung scheitert, stoppe den Container, verschiebe den aktuellen Projektordner und entpacke das vollständige Archiv an seine ursprüngliche Stelle. Danach startest du die gesicherte Compose-Konfiguration. Lösche den alten Ordner erst nach einer erfolgreichen Prüfung.
8. Aktualisieren und Quellen¶
Prüfe vor einem Update die offiziellen Versionshinweise, erstelle ein Backup und ersetze anschließend den Image-Tag in compose.yaml bewusst. Lade dann das neue Image und starte den Dienst neu.
Technische Grundlage dieser Anleitung sind das offizielle MinIO-Compose-Beispiel, das offizielle Container-Image und die MinIO-Container-Dokumentation. Eine anschauliche Ergänzung ist das öffentlich verfügbare Video Running MinIO: Containers, Bare Metal, User Credentials. Quellen und Befehle wurden am 22. August 2026 geprüft.
Fertig¶
MinIO läuft jetzt als privater S3-Speicher im lokalen Netz. Die einfache Funktionsprüfung ist erfolgreich, wenn du dich auf Port 9001 anmelden, im privaten Bucket eine Datei hochladen und dieselbe Datei wieder herunterladen kannst.