S3-Endpoint-Änderungsverfahren?

Hallo,

ich scheine einfach nicht damit zurechtzukommen. Der alte Endpunkt ist immer noch in allen Beiträgen enthalten.

Schritte:

  1. “S3-Endpunkt” in den Admin-Einstellungen ändern
  2. Alle Beiträge neu aufbereiten: rake posts:rebake
  3. Redis-Cache geleert
    Nachdem sich bestätigt hat, dass dies nicht funktioniert hat:
  4. rake posts:remap['alter Endpunkt ohne http', 'neuer Endpunkt ohne http']
  5. Alle Beiträge neu aufbereiten
  6. Container neu gestartet
  7. Ganzen Server neu gestartet
    Nachdem auch dies nicht funktioniert hat:
  8. SQL bearbeiten: Alle Vorkommen des alten Endpunkts durch den neuen Endpunkt in den Spalten “raw” und “image_url” der Tabelle “posts” ersetzen
  9. Alle Beiträge neu aufbereiten

Nach all dem behalten nicht nur die alten Beiträge den alten Endpunkt, sondern auch neue Beiträge mit neuen Anhängen enthalten den alten Endpunkt. “short-url”-Links verweisen ebenfalls auf den alten Endpunkt.

Was sind die korrekten Schritte?

#bringBackMinio

Entschuldigung, weiß jemand, wie man das macht? Es sollte etwas Einfaches sein, aber ich komme nicht weiter.

Hast du hier einen Rat, @falco?

@plague69 kannst du mehr Details zu deiner Einrichtung teilen?

Was sind die alten und neuen S3-Endpunkt-Werte?

Verwendest du ein CDN für S3?

Ich dachte nicht, dass es wichtig ist? Da wenn es sich ändert und falsch ist, kann ich es reparieren, aber ich habe Schwierigkeiten, es zu ändern.

Alter Endpunkt:
http://discourse.domain.tld:9000

Neuer Endpunkt: (Nur der Port wurde geändert, es gab einen Konflikt und ein anderer Dienst kann nicht verschoben werden)
http://discourse.domain.tld:9001

CDN unverändert:
http://files.domain.tld:80

Ich kann das CDN entfernen, falls nötig, derzeit besteht jedoch keine Notwendigkeit.

Vielen Dank @Falco

Ich habe noch nie versucht, einen S3-Server an einem nicht-standardisierten Port zu verwenden, da dies kein Testfall ist, den wir abdecken.

Trotzdem: Könntest du versuchen, den S3-Endpunkt in einer Umgebungsvariable in der Datei app.yml einzurichten?

env:
   # aktuelle Einstellungen ...
   DISCOURSE_S3_ENDPOINT:  http://discourse.domain.tld:9001

Das hat leider nicht funktioniert. Immer noch bei 9000 hängen geblieben.

Nach dem Hinzufügen dieser Umgebungsvariable musste der Container neu aufgebaut werden, nicht nur neu gestartet, damit die Änderung wirksam wird. Die Option wurde aus den Einstellungen entfernt, also weiß ich, dass es funktioniert hat, und die Variable war nach dem Neuaufbau in den Startparametern des Containers enthalten.

Gibt es eine Möglichkeit, alles auf die lokale Festplatte herunterzuladen, wenn wir S3 nicht mehr verwenden? Da Backups S3 nicht einschließen, kann ich nicht einmal ein Backup erstellen und wiederherstellen.

Wird posts:rebake die Kurz-URLs erneut erstellen?

Ich glaube, es gibt eine S3-zu-lokales-Laufwerk-Rake-Aufgabe. Du kannst hier suchen oder im Quellcode nachschauen. Das ist wahrscheinlich deine beste Option.

Früher gab es: rake uploads:migrate_from_s3. Das Minio-zu-S3-Migrationsskript, als sie das S3-URL-Format geändert haben (Schrägstrich statt Subdomain-Format).

Im Moment kann ich das nicht einmal mehr sehen.