MinIO ist eine leistungsfähige Open-Source-Lösung für S3-kompatiblen Objektspeicher. Diese Anleitung zeigt, wie MinIO auf Ubuntu installiert und konfiguriert wird.

Voraussetzungen

  • Ubuntu 22.04 oder neuer
  • Benutzer mit sudo-Rechten
  • Mindestens 2 GB RAM und ausreichend Speicherplatz

1. System aktualisieren

Zuerst das System auf den neuesten Stand bringen:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo apt update && sudo apt upgrade -y
sudo apt update && sudo apt upgrade -y
sudo apt update && sudo apt upgrade -y

2. MinIO herunterladen und installieren

MinIO-Binärdatei herunterladen:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
wget https://dl.min.io/server/minio/release/linux-amd64/minio -O /usr/local/bin/minio
wget https://dl.min.io/server/minio/release/linux-amd64/minio -O /usr/local/bin/minio
wget https://dl.min.io/server/minio/release/linux-amd64/minio -O /usr/local/bin/minio

Ausführbar machen:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo chmod +x /usr/local/bin/minio
sudo chmod +x /usr/local/bin/minio
sudo chmod +x /usr/local/bin/minio

3. Systemd-Dienst für MinIO erstellen

Ein neues Verzeichnis für MinIO-Daten erstellen:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo mkdir -p /mnt/minio
sudo chown -R $USER:$USER /mnt/minio
sudo mkdir -p /mnt/minio sudo chown -R $USER:$USER /mnt/minio
sudo mkdir -p /mnt/minio
sudo chown -R $USER:$USER /mnt/minio

Dann die Systemd-Datei anlegen:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo nano /etc/systemd/system/minio.service
sudo nano /etc/systemd/system/minio.service
sudo nano /etc/systemd/system/minio.service

Folgenden Inhalt einfügen (Benutzer und Pfad ggf. anpassen):

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
[Unit]
Description=MinIO Object Storage
After=network.target
[Service]
User=ubuntu
Group=ubuntu
ExecStart=/usr/local/bin/minio server --console-address ":9001" /mnt/minio
Restart=always
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
[Unit] Description=MinIO Object Storage After=network.target [Service] User=ubuntu Group=ubuntu ExecStart=/usr/local/bin/minio server --console-address ":9001" /mnt/minio Restart=always LimitNOFILE=65536 [Install] WantedBy=multi-user.target
[Unit]
Description=MinIO Object Storage
After=network.target

[Service]
User=ubuntu
Group=ubuntu
ExecStart=/usr/local/bin/minio server --console-address ":9001" /mnt/minio
Restart=always
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target

Den Dienst neu laden und aktivieren:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo systemctl daemon-reload
sudo systemctl enable --now minio
sudo systemctl daemon-reload sudo systemctl enable --now minio
sudo systemctl daemon-reload
sudo systemctl enable --now minio

4. MinIO konfigurieren

Standardmäßig läuft MinIO auf:

  • Web-Konsole: http://<server-ip>:9001
  • API-Zugang: http://<server-ip>:9000

Die Standard-Zugangsdaten sind:

  • Benutzer: minioadmin
  • Passwort: minioadmin

Diese sollten sofort geändert werden.

5. Firewall-Regeln anpassen

Falls eine Firewall aktiv ist, die Ports freigeben:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo ufw allow 9000/tcp
sudo ufw allow 9001/tcp
sudo ufw allow 9000/tcp sudo ufw allow 9001/tcp
sudo ufw allow 9000/tcp
sudo ufw allow 9001/tcp

6. Let’s Encrypt SSL mit Caddy (optional)

Falls MinIO über eine eigene Domain erreichbar sein soll, kann Caddy als Reverse Proxy genutzt werden:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo apt install -y caddy
sudo apt install -y caddy
sudo apt install -y caddy

Dann die Caddy-Konfigurationsdatei anpassen:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo nano /etc/caddy/Caddyfile
sudo nano /etc/caddy/Caddyfile
sudo nano /etc/caddy/Caddyfile

Beispiel für eine Konfiguration mit automatischem SSL:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
minio.example.com {
reverse_proxy localhost:9000
}
console.minio.example.com {
reverse_proxy localhost:9001
}
minio.example.com { reverse_proxy localhost:9000 } console.minio.example.com { reverse_proxy localhost:9001 }
minio.example.com {
    reverse_proxy localhost:9000
}

console.minio.example.com {
    reverse_proxy localhost:9001
}

Caddy neu starten:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo systemctl restart caddy
sudo systemctl restart caddy
sudo systemctl restart caddy

Fazit

MinIO ist eine leistungsstarke Alternative zu AWS S3 und ideal für selbstgehosteten Objektspeicher. Mit einer zusätzlichen Absicherung durch SSL und einen Reverse Proxy kann es sicher im Netzwerk oder öffentlich genutzt werden.

Kategorien: Allgemein