Logo-Upload funktioniert nach Wiederherstellung aus dem Backup nicht

Ich habe eine neue Discourse-Instanz auf einer anderen Domain erstellt und sie aus einem Backup wiederhergestellt. Alles lief reibungslos. Allerdings wurden keine Logos angezeigt (alles leer, nicht das Standardlogo). Also habe ich über das Menü „Branding

Um Ihnen hier weiterhelfen zu können, benötigen wir weitere Informationen zu Ihrer Umgebung.

  • Wie wurde die neue Instanz installiert?
  • Befindet sie sich hinter einem Reverse Proxy oder CloudFlare?

Hallo Stephen,

  1. Es wurde mit dem eigenständigen discourse-setup-Skript installiert.
  2. Es ist kein Reverse-Proxy oder CDN beteiligt.

Nur ein Update dazu: Ich habe heute eine neue Instanz erstellt und die Logos wurden problemlos aus dem Backup wiederhergestellt. Es war wahrscheinlich eine Art vorübergehendes Problem.

Korrigiert, ich habe das Problem erneut… Die Logo-Bilder funktionierten einwandfrei, bis ich meinen Browser-Cache geleert habe.

Lösung

Die Ursache war, dass die meisten Bilder während des Wiederherstellungsvorgangs nicht korrekt aus dem Backup wiederhergestellt wurden. Ich konnte das Problem lösen, indem ich das Tar-Archiv manuell entpackt und die fehlenden Bilder in das Discourse-Upload-Verzeichnis kopiert habe.

Analyse

Wenn ich versuche, ein neues Logo hochzuladen, sehe ich Folgendes:

  1. Das Bild-Upload scheint einwandfrei zu funktionieren:

  1. Aber der darauffolgende GET-Request zum Anzeigen des hochgeladenen Bildes führt zu einem 404-Fehler:

  1. Das Bild ist im Upload-Verzeichnis nicht vorhanden:
/var/discourse# tree shared/standalone/uploads/default/original/
shared/standalone/uploads/default/original/
`-- 1X
    |-- 52b3aff4e63a7e38bef42d469bafd1ed7c1cc1a2.png
    `-- e952cfd4c1bc58e77024e4c2b518531356319780.png

Hier ist der Inhalt des Backup-Tarballs:

/tmp# tar tvzf ask-tunisians-2020-07-28-042934-v20200728004302.tar.gz 
-rw-r--r-- discourse/www-data 11767008 2020-07-28 04:29 dump.sql.gz
drwxr-xr-x discourse/www-data        0 2020-07-26 21:11 var/www/discourse/public/uploads/default/
drwxr-xr-x discourse/www-data        0 2020-07-26 21:11 var/www/discourse/public/uploads/default/original/
drwxr-xr-x discourse/www-data        0 2020-07-27 20:33 var/www/discourse/public/uploads/default/original/1X/
-rw-r--r-- discourse/www-data    14843 2020-07-26 21:56 var/www/discourse/public/uploads/default/original/1X/7835873085d7323b640c2504cd737b51f370360f.png
-rw-r--r-- discourse/www-data     9039 2020-07-27 20:33 var/www/discourse/public/uploads/default/original/1X/75a192f211147f512bdddabaf50addd43c6a9d86.png
-rw-r--r-- discourse/www-data     5783 2020-07-26 21:56 var/www/discourse/public/uploads/default/original/1X/19629775936660ecc73235158b4d68b9ec4b2abe.png
-rw-r--r-- discourse/www-data    11124 2020-07-26 21:11 var/www/discourse/public/uploads/default/original/1X/e952cfd4c1bc58e77024e4c2b518531356319780.png
-rw-r--r-- discourse/www-data    35570 2020-07-26 21:11 var/www/discourse/public/uploads/default/original/1X/52b3aff4e63a7e38bef42d469bafd1ed7c1cc1a2.png
-rw-r--r-- discourse/www-data     2375 2020-07-26 21:56 var/www/discourse/public/uploads/default/original/1X/d4af3550a7c3f857c974b996257c8e3db72e7850.png
-rw-r--r-- discourse/www-data     9759 2020-07-26 22:14 var/www/discourse/public/uploads/default/original/1X/dfc47da4c22ffeddf59f736a46a2c50ee55d7fa1.png
-rw-r--r-- discourse/www-data    24898 2020-07-26 21:46 var/www/discourse/public/uploads/default/original/1X/d832b24f2cb338139984be98045d22e0af093c4a.png

Offensichtlich waren die Bilder vorhanden, aber die Frage ist: Warum wurden die meisten Bilder im Rahmen des Wiederherstellungsvorgangs nicht korrekt kopiert?