Setting Up Discourse: A Step-by-Step Guide and Learnings
This post will be of interest to anyone interested in how to set up Discourse from both a tech and building community perspective.
Some learnings from setting up a self-hosted open-source instance of Discourse at community.influencer.tips
- Deploy the platform - Save yourself a heap of time and use the DigitalOcean Discourse Marketplace to get your Discourse server running. For me, it took about 3 days of trial and error with various deploy READMEs to get to the place with everything working in the backend as expected. And no, I'm not affiliated with DigitalOcean, I just love their services. That said, I will keep researching the docker approach to deployment as that aligns more with my view of how I would like to manage Discourse.
- Follow the setup instructions on DigitalOcean Discourse Marketplace - This step includes details about domain name, SMTP email server and setting up the admin account. You will need to be familar with SSH access into a the server to run the install script. Also, be patient it takes about 10 minutes for the deployment to complete.
- Invite your loyal friends to help - When launching your community, you’ll want it to feel vibrant and engaging - not like an empty space. Start by sparking discussions now! Ask friends who share an interest in your topic to post questions on your forum and take the time to respond thoughtfully. This will create valuable conversations and make the community more appealing to others. When reaching out, let them know their involvement makes a real difference and that you’re still in the building phase. People love to be part of something new and meaningful - so share your vision and invite them to grow it with you. For example, checkout this post where if you visit right now you will see a discourse community forum just starting, but with one very important ingredient which is the start of community participation.
- Encourage profile pictures - Ask your new community forum members to upload their profile pictures - because life is so much better when you can see someones smiling happy face.
- Ask for feedback, listen and do what is important - As people start using the new platform, ask for feedback, listen and prioritise your backlog for what to do next.
- Make it all behave, look and feel right - Finally the Discourse admin bit. As you are most likely the admin, visit the admin tab in the side menu and let's work through the options from the top.
- Dashboard - The dashboard is presented first. Personal takeaway, it is nice to see backups, version control, moderation and security getting such a high mention on the list of admin tasks. The dashboard options consisting:
- General - These are a series of gauges and charts that are designed to inform you about what is happening within the Discourse community. Making sense of these will depend on what is important to you. Topics (which are the questions or discussions) and daily engaged users would be something that I personally would recommend tracking. This screen also contains current deployed version, a summary of recent updates and details about backups.
- Backups - Make sure to put in place a backup strategy. My recommendation would be to schedule a backup to S3 so that it is set and forget.
- Update Discourse - Make sure to do a backup first then on a regular basis do updates. Besides the benefits of new features, updating is very important because it helps to keep your Discourse website secure.
- Moderation - Next is moderation which gives you a high level birds-eye view of who is doing what. Red flags about suspicious spammy behaviour will be surfaced here.
- Security - Continuing the theme of keeping the space safe for all is security where you can see any suspicious logins.
- Reports - A collection of more Discourse management reports.
- Users - This screen is very self-explanatory. Listed down the screen in rows are all the users and across the top of the screen are different ways of looking at these users consisting:
- New, Staff, Suspended, Silenced and Staged Users - These options are self-explanatory.
- Groups - This option shows how you or the system have group users by role or behaviour.
- Send invites - This is were you can send an invite to a person to become a member of the community forum.
- Trust level - You might find a couple of your users need to be trusted more that the defaults. This will be desirable when they are post frequently and Discourse might be missreading there activity (which is what you want) as spam which it attempts to control
- Dashboard - The dashboard is presented first. Personal takeaway, it is nice to see backups, version control, moderation and security getting such a high mention on the list of admin tasks. The dashboard options consisting:
- All site settings - There are many options listed here and I'm not going to go through them all. The big ones are:
- Required – This is the first tab for all the essentials, such as a name for the forum and its description. There are some legal details here, so it’s wise to review everything carefully. When making changes to fields, remember to tick the green arrow next to the field; otherwise, your input won’t be saved
- Branding - I have been looking forward to this one. This is where all your design images will go. The first two are required as all the others if left blank will default to these. I used business logo for these. Remember to tick the green arrow to save these. I also changed the opengraph image so that when someone posts a URL onto socials then it has an engaging picture instead of just a big logo.
- Basic Setup - Lots of options for customisations. For now suggesting just to go with the defaults.
- Login - There is a very fine line between providing an open forum to build trust with the community and creating a safe space for members to share what matters most to them. If you are committed to offering a very safe environment for your members, these options, among the many others on this page, are important to consider, including:
- Invite only - When checked, all new users must be explicitly invited by trusted users or staff and public registration is disabled.
- Login required - When checked, only members that are logged in will be able to see content. Note that disallow anonymous access will mean that Google and chatGPT will not be able to index your forum with will have a direct impact on organic SEO.
- Must approve users - When checked, all new users must wait for moderator or admin approval before being allowed to log in.
- Notifications - Once again, a treasure trove of options! For now, I’m going with all the default settings and suggest that, in the interests of getting your Discourse setup running quickly, you do the same. You can always revisit and customise as needed. That said there is one field that is required and that is the first one - provide your email as required.
- What's new - As the name suggests a list of features that will depend on the current version of Discourse that you are using.
- Learn from what your loyal friends have shared - By now you should have a couple of topics going. Make sure to answer and follow up. One interesting conversation that I had was about the word "topic", we chatted about it and after some consideration changed in to "discussion". Now it reads "start a discussion" which makes more sense to the community than the default "start a topic". To make this type of change visit admin, then select site-texts and follow the instructions.
- Share some more - Continue to share with a wider group of contacts. Something that I have found works well for me is to send a direct message on social media to people that I'm connected with.
- Tweak - Don't be afraid to change settings and menu items so that you provide the best experience for people visiting.
That is about it for now.
I'm sure I will be revisiting this post with more ideas to help with your getting your self-hosted Discourse organised.
For more information and to read the announcement about the influencerTips community engagement platform which uses Discourse visit here.
Leave a comment with questions, thoughts or tips.