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 Like

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 Likes
./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 Likes

When I attempt (using the format subdomain.domain.ext for the hostnames):

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

I get:

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

Has the command perhaps been updated to require some flag or variable? Would this also rewrite occurrences of the old domain in prose? I’m really just trying to fix images.

1 Like

I got this aswell is this documented somewhere?