Möchten Sie Google Cloud Storage für Ihre Bild-Uploads verwenden? Hier sind die Schritte:
-
Legen Sie ein standardmäßiges Google-Projekt fest, falls Sie noch keines haben.
-
Holen Sie sich einen Entwicklerschlüssel.
-
Erstellen Sie einen Bucket, indem Sie hier vorbeikommen. Geben Sie einen eindeutigen Namen ein und wählen Sie eine Standard-Speicherklasse aus (ich habe „Multi-Regional innerhalb der USA" verwendet).
Nun müssen wir die Discourse-Instanz konfigurieren. Gehen Sie zu den Einstellungen und fügen Sie einen Filter für S3 hinzu. Nehmen Sie dann die folgenden Änderungen vor:
-
Aktivieren Sie das Kontrollkästchen „
enable s3 backups", wenn Sie manuelle oder automatisierte Backups aktivieren möchten. -
Geben Sie den gewünschten, oben erstellten Bucket-Namen in „
s3 backup bucket" ein, fallsenable s3 backupsaktiviert ist. -
Fügen Sie sowohl „
Access Key ID" als auch „Secret Access Key" in die jeweiligen Textfelder ein (diese wurden bei der Erstellung des Entwicklerschlüssels generiert). -
Fügen Sie in
s3_endpointden folgenden Endpunkt ein:https://storage.googleapis.com
Das war’s! Versuchen Sie, ein Bild hochzuladen – alles sollte wie durch Zauberhand funktionieren ![]()
Um Bilder direkt von Ihrer Domain aus „auszuliefern", befolgen Sie die folgenden Schritte:
-
Stellen Sie sicher, dass Ihr Bucket öffentlich zugänglich ist. Er muss jedoch über Berechtigungen auf Objektebene eingerichtet sein.
-
Richten Sie einen Load Balancer ein, falls Sie noch keinen haben. Für das Backend erstellen Sie einen Backend-Bucket, verweisen Sie ihn auf den oben erstellten Storage-Bucket, aktivieren Sie CDN und verbinden Sie ihn.
-
Für die URL-Zuordnung erstellen Sie zwei Regeln. Die Hosts für beide müssen
*sein; die Pfade müssen/original/*und/optimized/*lauten; und das Backend muss auf den Backend-Bucket verweisen – speichern Sie die Einstellungen. -
Ändern Sie in den Discourse-Einstellungen die
s3 cdn urlauf Ihre Domain – stellen Sie sicher, dass dies mit der Einrichtung Ihrer Load-Balancer-Regel übereinstimmt.
Das war’s – die Bilder sollten nun von www.yourdomain.com/ kommen.
Backups sind jetzt möglich, wie @tuanpembual dankenswerterweise in diesem Beitrag erwähnt hat. Im Wesentlichen müssen Sie Folgendes tun:
- Gehen Sie in Ihrem Projekt zur Google Cloud Console.
- Wählen Sie „Storage".
- Wählen Sie Ihren Bucket aus.
- Gehen Sie zum Reiter „Berechtigungen".
- Fügen Sie eine neue Berechtigung hinzu, geben Sie Ihre Service-Account-E-Mail-Adresse ein. Für Rollen wählen Sie „Storage Legacy Object Owner".
- Speichern und fertig.