I set up a Discourse server today. It was pleasantly straightforward. The official docs work well enough, though there are a few things I did:
- integrated with existing nginx sites by cribbing from this guide (short version: forward Discourse requests to a socket)
- set up email delivery via MailJet- their admin interface makes getting credentials and setting up + verifying SPF and DKIM records simple
- set up
certbotto generate LetsEncrypt certs (thanks Arch wiki) and get HTTPS rolling (bonus: https for existing sites for free!)
- added SSO for GitHub and Discord (short version: create the applications on the respective sites, support for these Oauth is baked in)
DenyUser, locking myself out of ssh access
Maybe skip the last one if you’re doing the install yourself?