Is it by design that updates via web UI can provoke breaking changes?

I just tried upgrading via the web UI. The first part went ok, but the second step (update Discourse version) got part way through, then said there was an error, and the forum no longer works at all (just the ‘Oops’ page).

Logging into ssh (to manually run ./launcher rebuild app), I get

ERROR: Docker version 18.06.3-ce not supported, please upgrade to at least 20.10.0, or recommended 24.0.7

Putting aside the possible solutions to that problem (which are beyond my level of comfort/competence), I’m wondering if this is as intended? I had the vague understanding the UI should be idiot proof, and that one would have to ssh to do the dangerous stuff, so I was comfortable trying without first making sure my IT-whizz would be available as backup.

3 Likes

It makes a valiant effort, but if underlying parts are broken there’s nothing it can do.

Dashboard.literatecomputing.com will do a command line upgrade with a click, and it’ll update docker if it’s required. It’ll also restart the existing container of building a new one fails.

There are still things that can go wrong.

The biggest benefit to the ux upgrade is lack of downtime, which a two container setup mostly provides.

3 Likes

Does Docker being out of date count as being broken? I’d be inclined to call that a breaking change on the part of Discourse.

I’ll have a look. It’s true we’re self-hosted, and the OS is also out of date, so we knew there would be some work down the line, just not that it was going to be forced on us unexpectedly.

2 Likes

That is frustrating.

If you look at Docker Engine | endoflife.date (and click the "show more unmaintained releases button), you’ll see that Docker 18 support Ended 6 years ago (18 Aug 2018). It really isn’t too soon to upgrade.

So, yeah, if you’re that out of date on docker and your OS like you knew you were, then you shouldn’t upgrade Discourse either. :person_shrugging:

I’m not sure whether it’s possible for Discourse to know what the underlying version of Docker it’s running under to be able to warn you on the UX.

3 Likes