Updating Discourse from v1.0.1


(Joshua Rosenfeld) #1

I’ve been tasked at work with updating a Discourse instance we have that has been sitting at version 1.0.1 since…well…whenever v1.0.1 was released.

Side note: It’s so strange to see how Discourse used to look…

Anyway, over the next few days, I’m going to be working to get it up to date. I’m assuming I’ll need to use the console to rebuild, not Docker Manager, but other than that anything I should be looking out for? I only started working with Discourse at 1.5, so I won’t have read anything about Discourse prior to that.


(Robby O'Connor) #2

Never had to maintain anything that old…I’ve only been maintaining discourse for maybe the past ~year and a half.

Should be as easy as just rebuilding, no?


(Joshua Rosenfeld) #3

That’s my assumption…figured I’d double check before breaking a production site.


(Robby O'Connor) #4

Jusrt to be safe – make a backup copy of the directory – then just cowboy it.


(Jay Pfaffman) #5

I’d be inclined to make a new instance and try to restore a backup.


(Robby O'Connor) #6

This is actually the saner approach I didn’t think of…


(Joshua Rosenfeld) #7

:musical_note: I would if I could but I am not able :musical_note:

Oops, sorry…broke out into song there. This instance is hosted locally, and not on DO where I can simply make a new droplet to play with. I can try to convince IT, but I’m not sure I’ll be able to. Lots of extra stuff, (like DNS), to deal with if I was to make a new instance.


(Matt Palmer) #8

Don’t necessarily migrate to the new instance; create a temporary instance, restore onto it, check it all works OK, then create a new container in the original location, shut down the old one, and restore the upgraded backup. Not that that should be any different, functionally, to doing an in-place upgrade, but at least you won’t blow up the live site if things don’t go according to plan (which, given how old that instance is, I wouldn’t rule out).


(Joshua Rosenfeld) #9

Let me check that I am following…I should:

  1. Create a temporary DO droplet with an up-to-date copy of Discourse.
  2. Upload a Discourse backup of my out-of-date instance and restore it.
  3. Make sure the world doesn’t explode.
  4. Move the original /var/discourse somewhere else.
  5. Install Discourse locally again.
  6. Create backup on DO instance.
  7. Restore backup to new local instance?

(Matt Palmer) #11

Pretty much, although you don’t have to move all of /var/discourse out of the way, just shared/app (or whatever it’s called). Run a ./launcher bootstrap rather than a rebuild, because I think that does extra stuff to setup the shared directory again.


(Joshua Rosenfeld) #12

Perfect. Are you sure about the bootstrap step though, I thought rebuild runs bootstrap…


(Matt Palmer) #13

Ah, yes. Rebuild does the nuking itself, too.


(Jay Pfaffman) #14

You could even make the temporary site be a random desktop, your workstation, or whatever.


(Joshua Rosenfeld) #15

Yeah - I’ve got a workstation I use for my personal Discourse production staging. I’m going to back it up, wipe it, and use it for this.