Eine bereits bestehende alpine linux installation wird vorausgesetzt. Siehe z.B. hier. nun folgendes:
# repository auf edge setzen und upgraden cat << +++EOF+++ > /etc/apk/repositories http://dl-cdn.alpinelinux.org/alpine/edge/main http://dl-cdn.alpinelinux.org/alpine/edge/community #http://dl-cdn.alpinelinux.org/alpine/edge/testing +++EOF+++ apk update apk upgrade # daemontools installieren und starten apk add nano daemontools bash # daemontools svscanboot für boot aktivieren und starten rc-update add svscan service svscan start
Wir installieren nun minio als dienst in den daemontools und starten diesen
# service verzeichnis erstellen und hineinwechseln
mkdir /srv/minio && cd /srv/minio
# konfiguration erstellen
mkdir configdir && cd configdir
echo "on" > MINIO_BROWSER
echo "ein testsystem" > MINIO_REGION_COMMENT
echo "de-demo" > MINIO_REGION_NAME
echo "hier_ein_passwort" > MINIO_ROOT_PASSWORD
echo "hier_ein_benutzername" > MINIO_ROOT_USER
cd ..
# minio binary (amd64) herunterladen
wget -c https://dl.min.io/server/minio/release/linux-amd64/minio
wget -c https://dl.min.io/server/minio/release/linux-amd64/minio.sha256sum
# sha256 hash prüfen
grep -f <(cut -d " " -f 1 minio.sha256sum) -F <(sha256sum minio) && echo ok || echo error
# binary ausführbar machen
chmod +x minio
# systemuser "minio" erstellen
adduser --system --no-create-home --disabled-login --disabled-password minio
# datenverzeichnis anlegen (z.B ein Mountpoint)
# und dem systemuser zugriff darauf geben
mkdir /mnt/data
chown minio:minio /mnt/data
# daemontools dienst erstellen
cat << +++EOF+++ > /srv/minio/run
#!/bin/sh
exec 2>&1
exec setuidgid minio envdir configdir ./minio server /mnt/data/store{1...4} --address ":9001" --console-address ":9002"
+++EOF+++
# ausführbar machen
chmod +x /srv/minio/run
# dienst starten und lebending halten
ln -s /srv/minio/ /service/
# vergewissern, dass der dienst aktiv ist
svstat /service/minio
netstat -tanup | grep minio
# server rebooten und nochmal vergewissern
reboot
svstat /service/minio
netstat -tanup | grep minio
Rufe nun http://IP_ADRESSE_DES_SERVER:9002 auf, logge dich mich den Credentials ein und erstelle in der Webgui weitere Nutzer und entsprechende Buckets.
Du kannst zusätzlich mit einem apache proxy arbeiten, um TLS zur Verfügung zu stellen. Das erläutere ich hier nicht näher, aber Du kannst dich dabei an folgende Konfiguration anlehnen:
<VirtualHost *:443>
ServerName beispieldomain.de
SSLEngine on
SSLProtocol -All +TLSv1.2 +TLSv1.3
SSLCertificateFile /pfad/zu/beispieldomain.de/beispieldomain.de.cer
SSLCertificateKeyFile /pfad/zu/beispieldomain.de/beispieldomain.de.key
SSLCertificateChainFile /pfad/zu/beispieldomain.de/fullchain.cer
SSLCACertificateFile /pfad/zu/beispieldomain.de/ca.cer
ProxyRequests Off
ProxyVia Block
ProxyPreserveHost On
<Proxy *>
Require all granted
</Proxy>
ProxyPass / http://127.0.0.1:9002/
ProxyPassReverse / http://127.0.0.1:9002/
</VirtualHost>