S3 Minio (Optional)

Einleitung

S3 Minio - Die skalierbare Lösung für objektbasierten Speicher. Mit hoher Performance und Flexibilität ist es ideal für moderne Datenanwendungen. Bei der Nutzung von Relution ist es möglich, dass die Tabelle resource relativ groß wird. Unter anderem werden hier native Apps gespeichert.

Je nach Größe ist es sinnvoll, diese Apps aus der Datenbank auszulagern. Für die Auslagerung von App-Dateien bietet sich ein S3 Bucket an. Das Minio Image ist ein kleiner, einfach zu konfigurierender Docker Container.

Konfiguration der .yml

Der Minio Container muss in der docker-compose.yml hinzugefügt werden.

Fügen Sie dazu diesen Abschnitt ein:

services:
  minio:
    image: 'quay.io/minio/minio:latest'
    ports:
      - '9000:9000'
      - '9001:9001'
    environment:
      - MINIO_ROOT_USER=%USERNAME%
      - MINIO_ROOT_PASSWORD=%PASSWORD%
    command: server --console-address ":9001" /data
    networks:
      relution-network:
        aliases:
          - minio
    volumes:
      - ./volumes/minio/data:/data

In dieser Konfiguration speichert Minio alle Daten auf der lokalen Festplatte unter ./volumes/minio/data Die Parameter MINIO_ROOT_USER und MINIO_ROOT_PASSWORD müssen angepasst werden.

Die Berechtigungen für den Ordner müssen vor dem Start und der Migration der Daten noch adaptiert werden.

chown -R 1001:1001 volumes 

Anschließend muss Relution mitgeteilt werden, dass nicht mehr die rescource-Tabelle die Daten vorhält, sondern ein S3 Bucket.

Hierzu werden die im Minio Container konfigurierten Parameter MINIO_ROOT_USER und MINIO_ROOT_PASSWORD für STORAGE_S3_ACCESS_KEY und STORAGE_S3_SECRET_KEY angegeben.

Fügen Sie dazu in der docker-compose.yml diesen Bereich ein:

services:
  relution:
    environment:
      - S3_ENDPOINT=http://minio:9000
      - STORAGE_TYPE=S3
      - STORAGE_S3_ACCESS_KEY=%USERNAME%
      - STORAGE_S3_SECRET_KEY=%PASSWORD%
      - STORAGE_S3_BUCKET_NAME=relution

Anschließend führen Sie den Befehl docker-compose pull aus und das Minio Image wird herunter geladen. Starten Sie danach die Container mit docker-compose up -d. Minio ist in wenigen Sekunden betriebsbereit und Relution wird beginnen, alle Inhalte der resource-Tabelle in das S3 Bucket zu kopieren.

Der Prozess kann mit folgende Befehl überwacht werden:

docker logs -f docker_relution