10 Steps to Build a Top-Tier Discord Server for Your Open Source Community. ✨
It’s well-established that Discord is a great platform for Developer communities. What’s less established are clear, best practices on how to configure a server from scratch to best serve a community of devs. If you are a community manager or Discord moderator, this blog post aims to give you the definitive guide to getting a working server that will feel welcoming, resourceful, and intuitive for all your community members.
Configuring a top-tier server is not difficult at all, the Glasskube server is an example of a “less is more” approach. Having said that, we will explore some additional intermediate and advanced practices that might make sense for some use cases. Let’s not waste any more time and jump straight in.
1. Don't Reinvent the Wheel 🛞
As developers we spend a large amount of time working on challenging tasks and solving hard problems, Discord can be complex and a bit daunting as a beginner to the platform, but if you take away anything from this blog post it should be that you do not need to over-engineer your server for it to be highly effective.
Any community platform should have the following ingredients:
- Clear lines of communication
- Clearly document known or past bugs
- Easy to navigate
- Relevant and customizable to each community member
- Safe from Bot attacks or raids
- And if it’s fun, even better
Discord as a product has evolved immensely in the last few years allowing community managers to easily adapt the platform to the needs of their ecosystem.
Focus on applying some of the tips in this blog post to build an MVS (minimum viable server), there will always be time to pivot and add fancy features down the road. Let’s take each point one by one.
2. Establish Clear Lines of Communication 🗣️
Before creating your first channel, think to yourself, what brings a user to your server? Whether it’s product updates, open-source development, or job searching. Make sure those as the main channel lanes.
It’s always good to have a #general
, catch-all channel and then a handful of other channels that might guide server members to more targeted conversations around troubleshooting bugs, asking for help, or even having off-topic conversations. If you see the need, consider dividing your channels into categories to give further context.
When a new member joins an overly complicated and cluttered server, it can be daunting to engage and integrate into the community. “Where do I even start?” - Me on most servers.
Simplifying the structure by focusing solely on essential channels, categories, roles, and resources is crucial. This approach creates a welcoming environment where newcomers can easily navigate and become active participants in the community.
3. Are you Into Role-Play? 📛
Nah, me neither, but they are useful on Discord. Roles are a great way to understand the different user profiles that make up your community and to assign custom permissions.
Most new members are shy and you might not want to force them to introduce themselves when they join. A good way around this is by assigning roles by asking onboarding questions. We will see how to do that in a bit.
Also, not every community member might have the same interests, roles can be used as a filtering system to direct the right people to the appropriate channels.
On the Glasskube Discord server, all members have access to all channels but in the intermediate steps, I’ll show you how to unlock channels based on different roles.
💡 Each Discord server has the default
@everyone
role. Use the principle of least privilege when configuring this role. Allow@everyone
to view and interact in text channels and voice channels, but make sure no actions can be taken upon other members nor any management permission given either. To add permissions to users, create roles and attach the roles to the user directly.
4. Enable the Community Feature ✅
If you’ve set up Discord servers in the past you more than likely used bots like “carl” bot for onboarding, role assignments, and moderation. No need for that now, let the Community feature take care of that for you. This feature does 80% of the heavy lifting for you as a Discord Community Manager by combining security, member verification, and onboarding all in one. Just follow the instructions to set up:
1️⃣ Onboarding questions 2️⃣ Server guide 3️⃣ Safety guidelines
💡 To enable the community server feature, click on your Server name at the top right > Server settings > Community Overview > Activate.
By enabling the Community feature you unblock additional channel types such as forums, stages, and announcements.
5. Have a Short but Effective Onboarding Process 👋
An onboarding process should serve two major functions, first of all, to get to know new members better, and second to let members know what they can find on your server. Customize the onboarding questions and answers to your liking, and assign roles or even channels to the user depending on the answer given. Here are the two questions we ask new Glasskube community members.
6. Structured Help and Support Forums 🆘
Don’t let questions asked in your community go to waste. Persist them in a centralized place so newcomers can learn from others’ past questions. The best way to do so is by using channel Forums.
They act as a useful supplement to the official project documentation. Many OSS software projects struggle to keep their documentation up to date and here is where the forums can lend a hand, by documenting and persisting conversations revolving around troubleshooting efforts. If new members pose questions that have already been answered in a forum, send the forum thread instead of resolving the same issue twice.
Check out the questions forum on the Wasp discord server, they are a great example of neatly, well-tagged questions that are a huge help to community members old and new.
💡 When setting up your forum section create useful and relevant tags and enforce their usage on each question so they can be easily filtered and contextualized when needed.
7. Keep the Announcements Coming 🎉
As a vibrant OSS project, you are probably releasing as much as possible and sharing community-relevant topics regularly. Make sure to have at least one Announcement
channel and keep it up to date.
💡 Announcement channels, different from other channels can be subscribed to and viewed from outside your server. If you want to push updates to your channel followers make sure to click the “Share with followers! Publish” button once an announcement is shared.
Announcement channels accept webhook integrations making YouTube videos, live Twitch streams or Canny roadmap updates appear automatically.