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.
The current deployment is made up of a single DigitalOcean droplet,
This host runs:
- Discourse Docker image
This host relies on:
- SendGrid API key (for outgoing mail only)
Our Discourse site was deployed exactly as described in upstream’s documentation:
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.
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.
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
- 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.
Two types of backups are made of the Discourse site:
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.
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.