Mac s3_region zu einem Zeichenfolgenwert

Was könnten die Gründe dafür sein, diese Variable zu einer eingeschränkten Liste zu machen? Wofür?

irb(main):007:0> SiteSetting.s3_region='fr-par'
Traceback (most recent call last):
        5: from (irb):7
        4: from lib/site_setting_extension.rb:548:in `block in setup_methods'
        3: from lib/site_setting_extension.rb:368:in `add_override!'
        2: from lib/site_settings/type_supervisor.rb:149:in `to_db_value'
        1: from lib/site_settings/type_supervisor.rb:207:in `validate_value'
Discourse::InvalidParameters (Ungültiger Wert `fr-par` für `s3_region`)

Scaleway hat seine eigenen Regionen.

Sie können verschiedene Werte über Umgebungsvariablen gemäß Konfigurieren eines S3-kompatiblen Objektspeicheranbieters für Uploads festlegen

1 „Gefällt mir“

Glaubst du, ich hätte das nicht getan?

Wenn der zulässige Wert einer Variablen im Skript gemäß der Liste der möglichen Werte streng begrenzt ist, bist du sicher, dass dies helfen wird?

Ja, ich bin sicher, weil ich die Scaleway-Anleitung unter Configure an S3 compatible object storage provider for uploads geschrieben und getestet habe, dass sie mit einer Produktionsinstallation funktioniert.

1 „Gefällt mir“

Cool! Probieren Sie es mit 2.9.0.Beta9 :slight_smile: Erklären Sie bitte, warum Sie die Variable nicht über die Konsole ändern können?

\u003e Discourse::InvalidParameters (Ungültiger Wert fr-par für s3_region)

InvalidParameters

Verstanden? Ungültiger Wert fr-par für s3_region - Ungültige Parameter! Ok?

Du solltest es nicht über die Konsole ändern, weil du Configure an S3 compatible object storage provider for uploads folgen und es als Umgebungsvariablen festlegen solltest :slightly_smiling_face:

2 „Gefällt mir“

Du sagst seltsame Dinge :exploding_head:

  1. Ich habe das gemacht, bevor ich hier ursprünglich gepostet habe.
  2. Das funktioniert nicht
  3. Ich habe es DIREKT über die Konsole versucht
  4. Das funktioniert nicht

@Falco Ich werde dir einen Bucket und ein Zugriffstoken auf Scaleway zur Verfügung stellen. Ich werde jetzt einen Server erstellen und dort ein Forum einrichten und dir Zugang gewähren. Wenn es mir gelingt, werde ich mich entschuldigen :smiling_face_with_three_hearts: :kissing_heart:

Mitten am Tag werde ich den Server löschen. Bis dahin bleibt der Zugriff bestehen.

Offensichtlich - die vorgeschlagenen Einstellungen funktionieren nicht

Stellen Sie einfach den Endpunkt ein.

Using Scaleway s3-compatible object storage - #19 by Falco.

EDIT: Oh, irgendwie hatte ich den ganzen Anfang dieses Themas verpasst. . .

Viele andere Leute haben die Anleitung befolgt und sie funktioniert.

1 „Gefällt mir“

nano /var/discourse/containers/app.yml

  DISCOURSE_S3_REGION: "fr-par"
  DISCOURSE_S3_ACCESS_KEY_ID: "SCW*******WYCGN"
  DISCOURSE_S3_SECRET_ACCESS_KEY: "***************"
  DISCOURSE_BACKUP_LOCATION: "s3"
  DISCOURSE_S3_BACKUP_BUCKET: "test-forum-falco-discourse-s3-region"
  DISCOURSE_S3_ENDPOINT: "https://s3.fr-par.scw.cloud"

./launcher rebuild app

Removing old container
+ /usr/bin/docker rm app
app

+ /usr/bin/docker run --shm-size=512m -d --restart=always -e LANG=en_US.UTF-8 -e RAILS_ENV=production -e UNICORN_WORKERS=4 -e UNICORN_SIDEKIQS=1 -e RUBY_GLOBAL_METHOD_CACHE_SIZE=131072 -e RUBY_GC_HEAP_GROWTH_MAX_SLOTS=40000 -e RUBY_GC_HEAP_INIT_SLOTS=400000 -e RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR=1.5 -e DISCOURSE_DB_SOCKET=/var/run/postgresql -e DISCOURSE_DB_HOST= -e DISCOURSE_DB_PORT= -e LETSENCRYPT_DIR=/shared/letsencrypt -e DISCOURSE_FORCE_HTTPS=true -e LC_ALL=en_US.UTF-8 -e LANGUAGE=en_US.UTF-8 -e DISCOURSE_S3_REGION=fr-par -e DISCOURSE_S3_ACCESS_KEY_ID=SCWDM************GN -e DISCOURSE_S3_SECRET_ACCESS_KEY=*********************** -e DISCOURSE_BACKUP_LOCATION=s3 -e DISCOURSE_S3_BACKUP_BUCKET=test-forum-falco-discourse-s3-region -e DISCOURSE_S3_ENDPOINT=https://s3.fr-par.scw.cloud -e DISCOURSE_HOSTNAME=********** -e DISCOURSE_DEVELOPER_EMAILS=***************** -e DISCOURSE_SMTP_ADDRESS=in-v3.mailjet.com -e DISCOURSE_SMTP_PORT=587 -e DISCOURSE_SMTP_USER_NAME=************************ -e DISCOURSE_SMTP_PASSWORD=**************************** -e DISCOURSE_NOTIFICATION_EMAIL=************************* -e LETSENCRYPT_ACCOUNT_EMAIL=me@example.com -h scw-jolly-merkle-app -e DOCKER_HOST_IP=172.17.0.1 --name app -t -p 80:80 -p 443:443 -v /var/discourse/shared/standalone:/shared -v /var/discourse/shared/standalone/log/var-log:/var/log --mac-address 02:53:96:b4:7e:e7 local_discourse/app /sbin/boot
e558fe6dbde62177ae4f4171fd1099f1844321c80f59cf4c3c0d4c56abfa9412

*** - Geheimnisse

./launcher enter app

rake site_settings:export

---
title: Discourse1
contact_email: *************************
default_dark_mode_color_scheme_id: '1'
invite_only: 'true'
login_required: 'true'
default_trust_level: '1'
allowed_iframes: https://www.google.com/maps/embed?|https://www.openstreetmap.org/export/embed.html?|https://calendar.google.com/calendar/embed?|https://codepen.io/|https://www.instagram.com|https://*************************/discobot/certificate.svg
default_email_digest_frequency: '1440'

Es funktioniert immer noch nicht

Die in der app.yaml gesetzten ENV-Variablen werden nicht unbedingt von rake site_settings:export übernommen, keine Ahnung, warum Sie das angenommen haben.

Nachdem es nun so aussieht, als hätten Sie alle ENV-Variablen gemäß der Anleitung unter Konfigurieren eines S3-kompatiblen Objektspeichers für Uploads eingerichtet, was passiert, wenn Sie versuchen, ein Bild in einen Beitrag hochzuladen? Gibt es etwas Interessantes auf der Seite /logs?

1 „Gefällt mir“

Hallo.

Ok. Sollten sie nicht auch in den Foreneinstellungen angezeigt werden? Sie haben offensichtlich einen interessanten und speziellen Programmieransatz. Sollten sie nicht wirklich dort sein?

Bitte entschuldige mich. Jetzt funktioniert es :smiling_face_with_three_hearts: :kissing_heart:

  • In der Weboberfläche fehlen Feldeinstellungen
  • site_settings:export - Felder fehlen
  • SiteSetting.s3_region=‘fr-par’ - Fehler “Ungültiger Wert fr-par für s3_region

Aber

  • es funktioniert
  • Ich verstehe nicht, warum ich das entschieden habe

Danke. Entschuldigung :wink: