Digitalocean Block Storage im Vergleich zu Amazon S3

Ich poste dies hier, da unter Configure an S3 compatible object storage provider for uploads alle Antworten nach einem Monat gelöscht werden.

Ein fehlender Content-Encoding in der DO-CDN-Implementierung ist definitiv ärgerlich, tritt jedoch nur auf, wenn alle S3-Parameter in app.yml gesetzt werden. Wenn diese Parameter über die Web-Admin-Konsole in den Site-Einstellungen gesetzt werden, bedient DO die S3-Uploads nur über das CDN, während die Site-Assets weiterhin von der Quelle bereitgestellt werden.

Es scheint, dass dies beabsichtigt ist, da die Umgebungsvariable DISCOURSE_S3_CDN_URL, wenn sie in app.yml gesetzt ist, auch die CDN-Einstellung für Assets überschreibt, während dieselbe Einstellung, wenn sie nur in den Site-Einstellungen deklariert wird, dies nicht tut?

Das ist etwas inkonsistent, ermöglicht aber die Nutzung des DO-CDN nur für S3-Uploads, ohne die Site zu beschädigen:

Es gibt zwei Möglichkeiten, dies zu tun:

  • Alle S3-Einstellungen nur in den Site-Einstellungen deklarieren
rails c
SiteSetting.s3_upload_bucket="<bucket_name>/<uploads_folder>"
SiteSetting.s3_backup_bucket="<bucket_name>/<backups_folder>"
SiteSetting.enable_s3_uploads=true
SiteSetting.s3_access_key_id="<key>"
SiteSetting.s3_secret_access_key="<secret_key>"
SiteSetting.s3_endpoint="https://<sfo2>.digitaloceanspaces.com"
SiteSetting.s3_cdn_url="https://<bucket_name>.<sfo2>.cdn.digitaloceanspaces.com/<uploads_folder>"
SiteSetting.backup_location="s3"
  • Alle S3-Einstellungen außer DISCOURSE_S3_CDN_URL in app.yml spiegeln und DO-CDN in SiteSetting.s3_cdn_url deklarieren
  DISCOURSE_USE_S3: true
  DISCOURSE_S3_REGION: <sfo2>
  DISCOURSE_S3_ENDPOINT: https://<sfo2>.digitaloceanspaces.com
  DISCOURSE_S3_ACCESS_KEY_ID: <key>
  DISCOURSE_S3_SECRET_ACCESS_KEY: <secret_key>
#  DISCOURSE_S3_CDN_URL: https://<bucket_name>.<sfo2>.cdn.digitaloceanspaces.com/<uploads_folder>
  DISCOURSE_S3_BUCKET: <bucket_name>/<uploads_folder>
  DISCOURSE_S3_BACKUP_BUCKET: <bucket_name>/<backup_folder>
  DISCOURSE_BACKUP_LOCATION: s3
rails c
SiteSetting.s3_cdn_url="https://<bucket_name>.<sfo2>.cdn.digitaloceanspaces.com/<uploads_folder>"

@falco, wenn du dem zustimmst, kann ich das ursprüngliche Wiki-Thema aktualisieren.