How We Built This Site

@kbruner asked about how this site is built. Here’s a somewhat long answer with a little opinion mixed in.

Lists of likely technology choices for building online communities usually include Facebook, Google Groups, or maybe one of the many companies that provide team collaborations solutions. The latter are usually focused on corporate users working on projects or managing teams within or across departments.

Services like Microsoft Teams are often part of complex eco-systems that soon drive you into prohibitively expensive monthly subscription fees as the number of users increases.

Yahoo! Groups had been a popular choice but jumped the shark 10 years ago and finally gave up the ghost in 2020.

Facebook is not accepted by many community members so isn’t suitable for a solution that needs to be inclusive.

Listserv, the venerable software whose name has become a generic noun, is 35 years old but hasn’t grown beyond a traditional linear model of send-and-reply.

Google Groups has become the go-to solution for a lot of small groups who need an email list. The design aesthetic of Google Groups is very austere. There is little that can be done to define a community’s visual identity and it doesn’t offer the type of features that people have come to expect from social media platforms such as embedded media (like a Youtube video), @mentions, or even a dose of fun.

Introducing Discourse

Discourse is an open-source software project that has been in active development since 2013. It provides a highly configurable discussion forum with email integration that sensitively sends just the right amount of email to members to keep them aware of new postings without being reundant or excessive. It is used by a wide variety of groups including corporate, academic and non-profits.

Discouse has a modern look and feel, it is fast, and (I hope) easy for people to use.

The software is free. Features and capabilities don’t change if you have 10 or 10,000 members.

The software or service is delivered in three different ways:

Original Source

The source code of the software can be downloaded from Github (a popular collection of software repositories) and installed on your own server. This requires the talent of a skilled web developer or system administrator.

Docker Container on a Digital Ocean Droplet

This is the solution we use. Digital Ocean is a provider of web services. A droplet is a virtual private server. And a Docker Container is a form of software packaging. With about 30 minutes and a credit card, a person with moderate knowledge of setting up a website (such as Wordpress) can have a Discourse server running with weekly backups for about $7/month.

Commercial Hosting

Discourse themselves offers commercially supported Discourse hosting packages beginning at $100/month.

Other Stuff

You’ll also need a few other things:

  • You will need a domain name ( and an DNS provider to provide an address for the site (e.g., The domain is registered with GoDaddy and the DNS provider is Cloudflare.
  • Sending or receiving email requires a mail server. Some organizations may already have this, such as Google GSuite or Office365. But, you can also just use a new, personal GMail account. Be sure to configure the GMail account to allow less secure applications. We are using a combination of Gsuite and Amazone Web Services to receive and send mail.
  • Email deliverability to the inbox isn’t trivial. In a world flooded with spam, it is important to properly configure DNS records. Things like Sender Policy Frameworks and DKIM are important to avoid automated notifications being flagged as spam.
  • You’ll need to make some decisions about how you want the site to work. Is it open for people to join or is it invitiation only? Are posts moderated? Etc.
  • The setup wizard for Discourse will want a variety of logos in different formats.

Some basic Discourse terminology

Posts = Any unit of content that has an attribution. Typically these are topics and replies.
Topics = A post that begins a thread of discussion. Members reply to a Topic (or reply to a reply under a topic)
Replies = A post in response to a topic (or other reply).
Category = All Topics should be under a category. Begin with a small number of categories and add new ones when there seems to be a sufficient level of interest. By default there is an “unassigned” category but I turned that off on this site.
Themes = The collection of styles, images and html templates that make the site look a certain way. We are using the default theme but there are many others to choice from and they can be easily installed.


There are commercial providers of Discourse support. So far, I have been managing this myself and relying heavily on Google to find answers. However, my personal web development experience level is advanced/expert. The Discourse developers do eat their own dog food with most documentation published at which is, of course, a Discouse site.


Post a reply below.

thanks @dfick! this addresses the concerns we have with other platforms regarding inclusivity, cost, etc. will check it out.