Discourse
Modern open-source community discussion platform and modern alternative to legacy forums.
Why consider Discourse?
Discourse is a modern discussion platform with infinite scrolling, real-time typing notifications, dynamic notifications, and trust levels. It provides complete community moderation.
Learn Discourse by building
Practical setup notes, real use cases, and copy-ready examples in one focused guide.
In this guide10 sections
What is Discourse?
Discourse is an open-source discussion platform and community forum engine built for the modern web. Developed with Ruby on Rails and Ember.js, Discourse replaces dated forum software like phpBB and vBulletin, as well as proprietary community platforms like Circle and Khoros.
It introduces modern social features including infinite scrolling, real-time notifications, a progressive trust-level moderation system, Markdown and rich media embedding, and mobile-friendly responsive design.
Who Is It For?
- Open-Source Projects & Developer Communities: Hosting developer discussions, feature proposals, release announcements, and troubleshooting Q&A.
- Customer Support Teams: Creating public customer support hubs where solved topics reduce repetitive support tickets.
- Product Companies: Building engaged customer feedback loops, beta testing groups, and user knowledge bases.
Key Features
- Dynamic infinite scrolling interface eliminating pagination barriers in conversations.
- Progressive trust-level system (Levels 0–4) that automatically grants permissions to active members while preventing spam.
- Integrated Akismet anti-spam, automated rate limiting, and community flag-based moderation.
- Comprehensive REST API for integrating user authentication, notifications, and automated posting.
- Official plugins for OAuth SSO (Google, GitHub, Discord), chat channels, and polling.
Installation with Docker
Discourse is officially deployed using Docker on an Ubuntu or Debian Linux server (minimum 2 GB RAM recommended).
# 1. Clone official Discourse Docker launchersudo git clone https://github.com/discourse/discourse_docker.git /var/discoursecd /var/discourse# 2. Run the interactive setup assistantsudo ./discourse-setupThe setup script prompts for your configuration parameters:
Hostname for your Discourse? forum.example.comEmail address for admin account? admin@example.comSMTP mail server address? smtp.mailgun.orgSMTP mail server port? 587SMTP mail server username? postmaster@forum.example.comSMTP mail server password? secret_passwordOnce generated, build and launch the container:
sudo ./launcher rebuild appOpen https://forum.example.com in your browser to complete your initial administrative registration.
Practical Use Cases
1. Developer Ecosystem Q&A Forum
An open-source library maintainer hosts a Discourse community where developers share code snippets, report edge cases, and mark authoritative solutions with the Solved plugin.
2. Product Feedback and Feature Voting
A software company creates dedicated category boards where users propose new features and vote on roadmap items, helping product teams prioritize development.
3. Customer Knowledge Hub
A support team organizes categorized FAQ topics and searchable tutorials that rank high on search engines, deflecting inbound support inquiries.
Troubleshooting and Limitations
- Mandatory SMTP Configuration: Discourse requires working SMTP transactional email for user registration, password resets, and notifications; test SMTP connectivity thoroughly before launching.
- Memory Requirements: Discourse requires at least 2 GB of RAM (or 1 GB RAM with 2 GB swap space) to complete container rebuilds without memory exhaustion.
Official Resources
- Official Website: https://discourse.org
- GitHub Repository: https://github.com/discourse/discourse
- Community & Docs: https://meta.discourse.org
Related tools
More options with a similar category or technology profile.
MISP
Open source threat intelligence and cyber security information sharing platform.
Zulip Mobile
Official React Native mobile application for Zulip organized team chat.
Wire Server
End-to-end encrypted enterprise team communication, conferencing, and file sharing platform.
Signal Server
Enterprise-grade end-to-end encrypted messaging server infrastructure powering Signal.