After backup restore on other server, uploaded images are broken

Hello guys!

I have 2 instances of the same forum: an old one hosted in DigitalOcean, and a new one hosted on our company server and accessible only on our company intranet. I am original admin of the old forum only.

The backup of 1st forum has been restored to the new one, everything worked fine except user uploaded images in posts. They are all broken.

As you can see in this snapshot where I edit a post with a broken image, the image does appear in the preview and the url seems to be relative, so I assume it points to the picture hosted on the new intranet server.

But the link on the rendered post is absolute and refers to the old forum (inaccessible from our intranet):
https://www.oldforum.com/uploads/default/original/1X/be73346d397d355ee1e03e817a2beecfac28bad3.png

It should point to https://www.newforum.com/uploads/...

What can I do to solve this issue? :worried:

PS: I’m far from a specialist, I somehow managed to set up my first discourse instance following the great step-by-step guides available out there…

Thanks!

Is the domain in your app.yml correctly set for the new forum?

(I boot up new test instances on DO all the time and occasionally forget about this, worth checking :slight_smile: )

1 „Gefällt mir“

I’ll ask for my fellow admin to check this, sure worth it! :thumbsup:

I’ve found out that I can simply force an absolute path for the image by editing the url to the newer domain. But doing this for each uploaded picture is quite a challenge ^^

RAILS_ENV=production script/discourse remap old_hostname new_hostname

will do the trick.

9 „Gefällt mir“
./launcher enter app
gem install thor
RAILS_ENV=production discourse remap old_hostname new_hostname
rake posts:rebake

Did the trick. I wrote the complete list of commands for newbies like me who might run into the same problem.

Thanks! :wink:

2 „Gefällt mir“

Wenn ich versuche (unter Verwendung des Formats subdomain.domain.ext für die Hostnamen):

./launcher enter app
gem install thor
RAILS_ENV=production discourse remap old_hostname new_hostname
rake posts:rebake

erhalte ich:

Rewriting all occurences of discourse.old_domain.org to discourse.new_domain.org
THIS TASK WILL REWRITE DATA, ARE YOU SURE (type YES)
YES
Warning: no type cast defined for type "name" with oid 19. Please cast this type explicitly to TEXT to be safe for future changes.
Done

Wurde der Befehl vielleicht aktualisiert und erfordert nun ein Flag oder eine Variable? Würde dies auch Vorkommen der alten Domain im Fließtext umschreiben? Ich versuche lediglich, Bilder zu reparieren.

1 „Gefällt mir“

Ich habe das auch bekommen. Ist das irgendwo dokumentiert?