Discourse (fossrit.community)

This page documents the Discourse service used for our community forums at fossrit.community. Discourse is where anyone may share topics for discussion with the wider FOSS@RIT community.

Contact information

  • Owner: FOSS@MAGIC Tech Team
  • Contact: #rit-foss-admin / #rit-foss-admin:matrix.org / telegram.me/fossrit_infra
  • Persons: Justin W. Flory
  • Location: Toronto, Canada (TOR1)
  • Servers: fossrit.community
  • Purpose: Discussion forums for FOSS@RIT community.

Hosts

The current deployment is made up of a single DigitalOcean droplet, fossrit.community. This host runs:

This host relies on:

  • SendGrid API key (for outgoing mail only)

Deploying

Our Discourse site was deployed exactly as described in upstream’s documentation:

Configuration

We do not use config files to maintain Discourse. The config settings are dynamic and stored inside the image container. If a rollback is needed, see Backups.

Firewall

Note that DigitalOcean maintains its own firewall, a layer above the Linux Droplet where the Discourse forum is hosted. If adding or changing ports on a DigitalOcean Droplet, make sure the ports you need opened are added to the Droplet firewall in the DigitalOcean admin panel. See the DigitalOcean page for more information about accessing the admin panel. See FOSSRIT/infrastructure#44 for additional historical context.

Upgrading

Excerpt from meta.discourse.org.

If you self-host Discourse, you occasionally need to run a manual update via the command line to get the latest security releases newest libraries. These updates are not picked up in admin/upgrade, which is why you’ll occasionally need to do this additional step.

  • Discourse itself should be updated about twice a month, by clicking the “Update to Latest Version” button in your admin dashboard (admin/upgrade). We do beta releases roughly once every week.
  • Every two months we recommend SSH’ing into your web server and doing
cd /var/discourse
git pull
./launcher rebuild app
  • As for Ubuntu updates, make sure you have automatic security updates enabled for your Ubuntu! The command is:
dpkg-reconfigure -plow unattended-upgrades
However, that just covers critical security updates. Every so often you should get all the OS updates like so:
apt-get update
apt-get dist-upgrade

To summarize:

  • update Discourse twice a month via web updater
  • update the container every two months
  • update the OS every six months

You could double these numbers and still be fairly safe, e.g. update Discourse once a month, container every 4 months, OS once every 12 months, and so on.

But you really, really want automatic security updates enabled in Ubuntu, as listed above – all our Digital Ocean “one-time installs” already have automatic security updates set up.

Backups

Two types of backups are made of the Discourse site:

Site-level backups

The Discourse site takes a weekly backup of site content, usually between 00:00–01:00 on Thursdays. These backups are available from the admin panel:

These backups can be used for rollbacks, triggered by admin users.

Droplet-level snapshots

Snapshots are currently enabled via DigitalOcean ($2/month). They are scheduled to start weekly Friday 3 PM to Saturday 2 PM (EST). Snapshots can be accessed via the DigitalOcean droplet settings.