How do you update Discourse?


(Victor Aprea) #1

Discourse tells me version 0.9.7.4 is available and very courteously asks me to “Please upgrade!”. Do I do that by simply doing a “git pull” on the installation, or is there more to it than that?


(Jeff Atwood) #2

Provided you are on the only form of officially supported install, our Docker install, visit the URL

/admin/upgrade

And click the Upgrade button.

If for some reason that does not work, SSH into your server and issue these commands at a console:

cd /var/discourse
git pull
./launcher rebuild app

If you are somehow on a pre-V1 version of Discourse, you’ll need to upgrade to V1.


Facebook image for topics not showing correctly
(Jeff Atwood) #13

6 posts were split to a new topic: Upgrading Discourse on Scaleway VPS


(Max Hodges) #14

it tells me to update but then I ‘click here to upgrade’ the button is disabled

I wrote Discourse, but no reply.


(Erlend Sogge Heggen) #15

(As it seems you’re aware of now-) we replied 3 days ago :slight_smile: Our response was:

Generally this is because the items below (cropped out of your screenshot) including the updater must be updated first.


(Max Hodges) #16

Thanks! I got it. You’re exactly right.

Discourse team actually replied on a private thread which I didn’t notice.

Cheers!


(Dabaer) #17

I hate to upend an old post, but is there any way to debug the web updater? I have a bunch of discourse instances running on more or less the same configuration, in data centers with multiple carrier links, and i have one in Fremont that errantly refuses to check for updates.

It just sits on “Checking for updates” indefinitely and every time I have to manually git pull and rebuild. It’s been rebuilt and even completely reinstalled more than once and still I cannot get it to upgrade through the web interace.

Any thoughts?

Jadenn


(cpradio) #18

How many plugins are you using? Chances are you are hitting the ratelimiter and getting errors in the dev console. You can fix those by editing the web.ratelimited.template (spelling may be different, but should be enough to figure it out)


(Dabaer) #19

The instance only has one plugin aside from the default ones, additionally there are no related errors in the error log.


(Dabaer) #20

Actually I do see something in my local dev console, it’s rather cryptic and I am not familiar with discourse internals.

09:19:25.148 o@https://forum.redacted.com/assets/docker-manager-vendor-5ae6424eab01916a4efff0d807662635eb6e705497ff0a27699552e0ab3a1716.js:11:4615
e.default.trigger@https://forum.redacted.com/assets/docker-manager-vendor-5ae6424eab01916a4efff0d807662635eb6e705497ff0a27699552e0ab3a1716.js:16:14019
h.prototype._onerror@https://forum.redacted.com/assets/docker-manager-vendor-5ae6424eab01916a4efff0d807662635eb6e705497ff0a27699552e0ab3a1716.js:16:18979
d@https://forum.redacted.com/assets/docker-manager-vendor-5ae6424eab01916a4efff0d807662635eb6e705497ff0a27699552e0ab3a1716.js:16:8496
@https://forum.redacted.com/assets/docker-manager-vendor-5ae6424eab01916a4efff0d807662635eb6e705497ff0a27699552e0ab3a1716.js:11:5312
r.prototype.invoke@https://forum.redacted.com/assets/docker-manager-vendor-5ae6424eab01916a4efff0d807662635eb6e705497ff0a27699552e0ab3a1716.js:4:11147
r.prototype.flush@https://forum.redacted.com/assets/docker-manager-vendor-5ae6424eab01916a4efff0d807662635eb6e705497ff0a27699552e0ab3a1716.js:4:11672
n.prototype.flush@https://forum.redacted.com/assets/docker-manager-vendor-5ae6424eab01916a4efff0d807662635eb6e705497ff0a27699552e0ab3a1716.js:4:9826
a.prototype.end@https://forum.redacted.com/assets/docker-manager-vendor-5ae6424eab01916a4efff0d807662635eb6e705497ff0a27699552e0ab3a1716.js:4:5039
a.prototype.run@https://forum.redacted.com/assets/docker-manager-vendor-5ae6424eab01916a4efff0d807662635eb6e705497ff0a27699552e0ab3a1716.js:4:5417
l@https://forum.redacted.com/assets/docker-manager-vendor-5ae6424eab01916a4efff0d807662635eb6e705497ff0a27699552e0ab3a1716.js:8:12076
u/<@https://forum.redacted.com/assets/docker-manager-vendor-5ae6424eab01916a4efff0d807662635eb6e705497ff0a27699552e0ab3a1716.js:16:29510
ie.Callbacks/c@https://forum.redacted.com/assets/docker-manager-vendor-5ae6424eab01916a4efff0d807662635eb6e705497ff0a27699552e0ab3a1716.js:2:8015
ie.Callbacks/h.fireWith@https://forum.redacted.com/assets/docker-manager-vendor-5ae6424eab01916a4efff0d807662635eb6e705497ff0a27699552e0ab3a1716.js:2:8837
r@https://forum.redacted.com/assets/docker-manager-vendor-5ae6424eab01916a4efff0d807662635eb6e705497ff0a27699552e0ab3a1716.js:3:22679
.send/t@https://forum.redacted.com/assets/docker-manager-vendor-5ae6424eab01916a4efff0d807662635eb6e705497ff0a27699552e0ab3a1716.js:3:28992
1 docker-manager-vendor-5ae6424eab01916a4efff0d807662635eb6e705497ff0a27699552e0ab3a1716.js:11:4892
o() docker-manager-vendor-5ae6424eab01916a4efff0d807662635eb6e705497ff0a27699552e0ab3a1716.js:11
e.default.trigger() docker-manager-vendor-5ae6424eab01916a4efff0d807662635eb6e705497ff0a27699552e0ab3a1716.js:16
h.prototype._onerror() docker-manager-vendor-5ae6424eab01916a4efff0d807662635eb6e705497ff0a27699552e0ab3a1716.js:16
d() docker-manager-vendor-5ae6424eab01916a4efff0d807662635eb6e705497ff0a27699552e0ab3a1716.js:16
<anonymous> docker-manager-vendor-5ae6424eab01916a4efff0d807662635eb6e705497ff0a27699552e0ab3a1716.js:11
r.prototype.invoke() docker-manager-vendor-5ae6424eab01916a4efff0d807662635eb6e705497ff0a27699552e0ab3a1716.js:4
r.prototype.flush() docker-manager-vendor-5ae6424eab01916a4efff0d807662635eb6e705497ff0a27699552e0ab3a1716.js:4
n.prototype.flush() docker-manager-vendor-5ae6424eab01916a4efff0d807662635eb6e705497ff0a27699552e0ab3a1716.js:4
a.prototype.end() docker-manager-vendor-5ae6424eab01916a4efff0d807662635eb6e705497ff0a27699552e0ab3a1716.js:4
a.prototype.run() docker-manager-vendor-5ae6424eab01916a4efff0d807662635eb6e705497ff0a27699552e0ab3a1716.js:4
l() docker-manager-vendor-5ae6424eab01916a4efff0d807662635eb6e705497ff0a27699552e0ab3a1716.js:8
u/<() docker-manager-vendor-5ae6424eab01916a4efff0d807662635eb6e705497ff0a27699552e0ab3a1716.js:16
ie.Callbacks/c() docker-manager-vendor-5ae6424eab01916a4efff0d807662635eb6e705497ff0a27699552e0ab3a1716.js:2
ie.Callbacks/h.fireWith() docker-manager-vendor-5ae6424eab01916a4efff0d807662635eb6e705497ff0a27699552e0ab3a1716.js:2
r() docker-manager-vendor-5ae6424eab01916a4efff0d807662635eb6e705497ff0a27699552e0ab3a1716.js:3
.send/t() docker-manager-vendor-5ae6424eab01916a4efff0d807662635eb6e705497ff0a27699552e0ab3a1716.js:3

(Dabaer) #21

Okay I didn’t realize there was some sort of information exchange between the client and discourse when checking for updates, it appears requests to /admin/docker/latest?path=%2Fvar%2Fwww%2Fdiscourse&version=823a699&branch=origin%2Ftests-passed are triggering cloudflares security measures, which is unusual considering all of the discourse instances are behind cloudflare. I’ll take this up with cloudflare I guess since it seems to be in error.


(Hung V Pham) #22

You need to upgrade docker_manager first, then the other buttons will be anable


(Jeff Atwood) #23

13 posts were split to a new topic: Problems with Discourse install in VMWare


(Maurizio Marini) #25

Hello, how can I upgrade docker_manager? Should I use package manager (apt-get, dnf, yum, etc etc) or should I use something custom?
Many thanx an dsorry for lamer question


(Felix Freiberger) #26

Nothing special is needed – simply upgrade through the web or rebuild :slight_smile:


(Allen - Watchman Monitoring) #27

Docker manager is a part of discourse, and is updated via the web update feature in your site’s /admin/upgrade.

The thing that is more likely to go bump in the night is discourse_docker, the docker image, and docker itself.

The git pull in this three step combo which updates discourse_docker (not docker manager as I initially wrote)

If you run in to an issue with this, you could make sure docker itself is up to date, and if you have any errors, search here on meta for others, or post a topic with logs of any problem you have.


(David Taylor) #28

My understanding is that docker_manager is a plugin to discourse, which is updated just like any other plugin: either through a rebuild or by it updating itself in the web UI. The git pull you describe updates the “launcher” script.


(Maurizio Marini) #29

Many thanks. I didn’t know that docker_manager is upgraded by that 3-steps sequence.
Whenever I use the 3-steps, I do not get any issue (until now, at least …:slight_smile: )
My issues are with web upgrade (that hangs)
this one sometimes does not work, like OP said.


(Allen - Watchman Monitoring) #30

Indeed @David_Taylor , I’ve updated my comment above. Thanks!

@maumar what I meant to say assumed you were running in to trouble when you asked, and my answer addressed that situation.


(Maurizio Marini) #31

@Allen your answer addressed my question perfectly, my best regards for your availability to help