Admin Guide: upgrading Discourse

Discourse is the software that powers ClojureVerse. It regularly releases new versions, and we usually try to stay current.

The easy way to upgrade is through admin/upgrade, which looks like this.

If the docker_manager is out of date you need to update that first (the other buttons will be greyed out so you don’t have a choice), after that you “Upgrade all”, click “Start upgrade”, and watch as the upgrade takes place. You get a log of terminal output and can follow along.

Most of the time this goes well, but sometimes it doesn’t. In that case you need to ssh into the machine and rebuild Discourse, which will pull in the latest version.

ssh [email protected]jureverse.org
tmux at
script ~/`date +%Y%m%d_%H%M%S`_upgrade_discourse.txt
cd /var/discourse/
./launcher rebuild app
# Ctrl-D (exit script)

Notes:

  • clojureverse.org is proxied by Cloudflare, internal.clojureverse.org bypasses cloudflare
  • Always use tmux, try tmux at first (attach), if there is no existing session then just use tmux to start one. The upgrade can take a while and if you get disconnected you want to be able to go back and see where it’s at. This also allows someone else to jump in or follow along.
  • use script to record the session, for reference, and in case something goes wrong and you need help the other person can see what already happened.

This rebuild tends to always just work. If it doesn’t… you’ll have to have a closer look at the output and take it from there.