Wie ich hier schon angekündigt hatte, folgt hier der Beitrag über die Installation von MinIO. Als Plattform verwende ich eine VM auf Proxmox. Im vorherigen Artikel Automatisierte Backups mit Restic und MinIO habe ich gezeigt, wie ihr MinIO als Backup-Ziel für Restic nutzt. Nun gehen wir einen Schritt weiter und richten eine eigene MinIO-Instanz als virtuelle Maschine (VM) in Proxmox ein. Damit habt ihr eine skalierbare, zuverlässige und S3-kompatible Speicherlösung direkt in eurem Home-Lab.
Voraussetzungen
Bevor wir starten, hier die Dinge, die ihr benötigt:
- Eine laufende Proxmox VE-Installation
- Grundlegende Kenntnisse in der VM-Erstellung
- Eine Linux-Distribution (z. B. Ubuntu 22.04 LTS) als Basis für MinIO
- Netzwerkzugriff und administrative Rechte
Erstellen der virtuellen Maschine in Proxmox
Ich habe mich für eine eigenständige VM entschieden, um MinIO sauber von anderen Diensten zu trennen. Falls ihr lieber einen LXC-Container nutzen wollt, müsst ihr einige Schritte anpassen.
- Meldet euch in der Proxmox-Weboberfläche an.
- Erstellt eine neue VM mit den folgenden Spezifikationen:
- Name: MinIO-Server
- Betriebssystem: Debian-basiert (Ubuntu 22.04 empfohlen)
- CPU: Mindestens 2 vCPUs
- RAM: 4 GB oder mehr
- Speicherplatz: Mindestens 50 GB (je nach Backup-Anforderungen)
- Ladet das Installations-ISO von Ubuntu oder Debian auf den Proxmox-Server hoch und weist es der VM zu.
- Startet die VM und installiert das Betriebssystem nach Standardverfahren.
System vorbereiten
Nach der Installation logge ich mich per SSH in die VM ein und führe einige grundlegende Updates und Vorbereitungen durch:
sudo apt update && sudo apt upgrade -y
sudo apt install curl wget nano -y
MinIO installieren
Nun kommt der spannende Teil: die Installation von MinIO. Ich lade die neueste Version direkt von der offiziellen Quelle herunter:
wget https://dl.min.io/server/minio/release/linux-amd64/minio -O /usr/local/bin/minio
chmod +x /usr/local/bin/minio
sudo useradd -r minio-user -s /sbin/nologin
mkdir -p /mnt/minio/data
chown -R minio-user:minio-user /mnt/minio
Damit MinIO zuverlässig läuft, richte ich es als Systemdienst ein:
sudo nano /etc/systemd/system/minio.service
Hier trage ich Folgendes ein:
[Unit]
Description=MinIO Object Storage
After=network.target
[Service]User=minio-user
Group=minio-user
ExecStart=/usr/local/bin/minio server /mnt/minio/data --console-address ":9001"
Restart=always
LimitNOFILE=65536
[Install]WantedBy=multi-user.target
Nach dem Speichern (STRG+X, Y, ENTER) aktiviere und starte ich den Dienst:
sudo systemctl daemon-reload
sudo systemctl enable --now minio
Firewall und Netzwerk konfigurieren
Damit MinIO erreichbar ist, müssen die Ports geöffnet werden:
sudo ufw allow 9000/tcp
sudo ufw allow 9001/tcp
Falls ihr MinIO nicht direkt zugänglich machen wollt, könnt ihr einen Reverse Proxy (z. B. mit Nginx oder Traefik) nutzen.
Zugriff auf die MinIO-Weboberfläche
Nun kann ich MinIO über einen Browser aufrufen:
http://<IP-Adresse>:9001
Die Standard-Access-Keys werden beim ersten Start generiert. Diese ändere ich direkt in der Konfigurationsdatei:
nano /etc/default/minio
Beispiel:
MINIO_ROOT_USER=admin
MINIO_ROOT_PASSWORD=geheimes-passwort
Danach starte ich MinIO neu:
sudo systemctl restart minio
Einbindung in Backup-Tools
MinIO ist nun als S3-kompatibler Speicher bereit und kann z. B. für Restic genutzt werden. Falls ihr meinen vorherigen Artikel gelesen habt, erinnert ihr euch vielleicht, dass ich MinIO als Backup-Ziel für Restic eingerichtet habe. Jetzt machen wir genau das:
export RESTIC_REPOSITORY=s3:http://<IP>:9000/backups
export AWS_ACCESS_KEY_ID=admin
export AWS_SECRET_ACCESS_KEY=geheimes-passwort
restic init
Wenn alles funktioniert, ist euer eigenes Backup-Ziel nun einsatzbereit!
Fazit
Mit dieser Anleitung haben wir MinIO in einer Proxmox-VM eingerichtet – ein leistungsstarker Objektspeicher, ideal für Backups oder andere Anwendungen. Wer meinen vorherigen Beitrag gelesen hat, kann jetzt seine Backups auf einen eigenen MinIO-Server umstellen.
In einem zukünftigen Artikel werde ich zeigen, wie man MinIO mit weiterführenden Sicherheitsmaßnahmen absichert und hochverfügbar macht. Bleibt also dran!