Dieses Tutorial ist ein Community-Beitrag und wird vom Open WebUI-Team nicht unterstützt. Es dient lediglich als Demonstration, wie Open WebUI für Ihren spezifischen Anwendungsfall angepasst werden kann. Möchten Sie beitragen? Schauen Sie sich das Tutorial zum Beitragen an.
🪣 Wechsel zu S3-Speicher
Diese Anleitung bietet Anweisungen zum Wechseln des standardmäßigen lokalen Speichers in der Open WebUI-Konfiguration zu Amazon S3.
Voraussetzungen
Um dieses Tutorial befolgen zu können, müssen Sie Folgendes besitzen
- Ein aktives AWS-Konto
- Ein aktiver AWS Access Key und Secret Key
- IAM-Berechtigungen in AWS zum Erstellen und Hochladen von Objekten in S3
- Docker auf Ihrem System installiert
Was ist Amazon S3
Direkt von der AWS-Website
"Amazon S3 ist ein Objektspeicher-Service, der branchenführende Skalierbarkeit, Datenverfügbarkeit, Sicherheit und Leistung bietet. Speichern und schützen Sie beliebige Datenmengen für eine Reihe von Anwendungsfällen, wie z. B. Data Lakes, Websites, Cloud-native Anwendungen, Backups, Archive, maschinelles Lernen und Analysen. Amazon S3 ist für eine Haltbarkeit von 99,999999999 % (11 Neunen) ausgelegt und speichert Daten für Millionen von Kunden auf der ganzen Welt."
Um mehr über S3 zu erfahren, besuchen Sie: Offizielle Seite von Amazon S3
Einrichtung
1. Erforderliche Umgebungsvariablen
Um diese Option zu konfigurieren, müssen Sie die folgenden Umgebungsvariablen sammeln
| Open-WebUI Umgebungsvariable | Beispielwert |
|---|---|
S3_ACCESS_KEY_ID | ABC123 |
S3_SECRET_ACCESS_KEY | SuperGeheim |
S3_ENDPOINT_URL | https://s3.us-east-1.amazonaws.com |
S3_REGION_NAME | us-east-1 |
S3_BUCKET_NAME | mein-toller-bucket-name |
- S3_ACCESS_KEY_ID: Dies ist ein Identifikator für den Zugriffsschlüssel Ihres AWS-Kontos. Sie erhalten diesen von der AWS Management Console oder der AWS CLI bei der Erstellung eines Zugriffsschlüssels.
- S3_SECRET_ACCESS_KEY: Dies ist der geheime Teil Ihres AWS-Zugriffsschlüsselpaars. Er wird bei der Erstellung eines Zugriffsschlüssels in AWS bereitgestellt und sollte sicher aufbewahrt werden.
- S3_ENDPOINT_URL: Diese URL verweist auf den Endpunkt Ihres S3-Dienstes und kann typischerweise in der AWS-Diensteverwaltung oder den Kontoeinstellungen gefunden werden.
- S3_REGION_NAME: Dies ist die AWS-Region, in der sich Ihr S3-Bucket befindet, z. B. "us-east-1". Sie können dies in der AWS Management Console unter den Details Ihres S3-Buckets identifizieren.
- S3_BUCKET_NAME: Dies ist der eindeutige Name Ihres S3-Buckets, den Sie bei der Erstellung des Buckets in AWS angegeben haben.
Eine vollständige Liste der verfügbaren S3-Endpunkt-URLs finden Sie unter: Amazon S3 Reguläre Endpunkte
Sehen Sie sich alle Cloud Storage-Konfigurationsoptionen hier an: Open-WebUI Cloud Storage Konfiguration
2. Open-WebUI ausführen
Bevor wir unsere Instanz von Open-WebUI starten, müssen wir noch eine letzte Umgebungsvariable namens STORAGE_PROVIDER festlegen. Diese Variable teilt Open-WebUI mit, welchen Anbieter Sie verwenden möchten. Standardmäßig ist STORAGE_PROVIDER leer, was bedeutet, dass Open-WebUI lokalen Speicher verwendet.
| Speicheranbieter | Typ | Beschreibung | Standard |
|---|---|---|---|
lokal | str | Standardmäßig lokaler Speicher, wenn ein leerer String (' ') angegeben wird | Ja |
s3 | str | Verwendet die S3-Clientbibliothek und zugehörige Umgebungsvariablen, die in Amazon S3 Storage erwähnt werden. | Nein |
gcs | str | Verwendet die GCS-Clientbibliothek und zugehörige Umgebungsvariablen, die in Google Cloud Storage erwähnt werden. | Nein |
Um Amazon S3 zu verwenden, müssen wir STORAGE_PROVIDER auf "S3" setzen, zusammen mit allen Umgebungsvariablen, die wir in Schritt 1 gesammelt haben (S3_ACCESS_KEY_ID, S3_SECRET_ACCESS_KEY, S3_ENDPOINT_URL, S3_REGION_NAME, S3_BUCKET_NAME).
Hier setze ich auch ENV auf "dev", was uns ermöglicht, die Open-WebUI Swagger-Dokumente anzuzeigen, damit wir die S3-Speichereinrichtung weiter testen und bestätigen können, ob sie wie erwartet funktioniert.
docker run -d \
-p 3000:8080 \
-v open-webui:/app/backend/data \
-e STORAGE_PROVIDER="s3" \
-e S3_ACCESS_KEY_ID="ABC123" \
-e S3_SECRET_ACCESS_KEY="SuperSecret" \
-e S3_ENDPOINT_URL="https://s3.us-east-1.amazonaws.com" \
-e S3_REGION_NAME="us-east-1" \
-e S3_BUCKET_NAME="my-awesome-bucket-name" \
-e ENV="dev" \
--name open-webui \
ghcr.io/open-webui/open-webui:main
3. Testen der Einrichtung
Nachdem wir nun Open-WebUI ausführen, laden wir eine einfache Hallo, Welt-Textdatei hoch und testen unsere Einrichtung.

Und bestätigen, dass wir eine Antwort vom ausgewählten LLM erhalten.

Großartig! Es sieht so aus, als ob alles wie erwartet in Open-WebUI funktioniert hat. Lassen Sie uns nun überprüfen, ob die Textdatei tatsächlich hochgeladen und im angegebenen S3-Bucket gespeichert wurde. Mit der AWS Management Console können wir sehen, dass sich nun eine Datei im S3-Bucket befindet. Zusätzlich zum Namen der von uns hochgeladenen Datei (hello.txt) sehen Sie, dass dem Objektnamen eine eindeutige ID angehängt wurde. So verfolgt Open-WebUI alle hochgeladenen Dateien.

Mithilfe der Swagger-Dokumente von Open-WebUI können wir alle Informationen zu dieser Datei über den Endpunkt /api/v1/files/{id} abrufen, indem wir die eindeutige ID (4405fabb-603e-4919-972b-2b39d6ad7f5b) übergeben.
