Answer vs Discourse: Q&A Platform or Discussion Forum?
Quick Verdict
These tools solve different problems. Apache Answer is a structured Q&A platform — question in, voted answer out, best answer accepted. Discourse is a discussion forum — threaded conversations, long-form discussions, community building. Choose based on whether you need answers or conversations.
Overview
Apache Answer is modeled after StackOverflow: ask a question, get answers, vote on quality, accept the best one. It’s focused on building a searchable knowledge base of questions and solutions.
Discourse is the modern forum standard: topic threads, categories, user trust levels, and rich discussion features. It’s focused on community engagement and conversation.
| Detail | Apache Answer | Discourse |
|---|---|---|
| Latest version | v2.0.0 (Feb 2025) | 3.4+ (ongoing) |
| Docker image | apache/answer:2.0.0 | discourse/discourse |
| Primary model | Q&A (question → answer → accept) | Forum (topic → replies → discussion) |
| Language | Go | Ruby on Rails |
| Database | SQLite, PostgreSQL, or MySQL | PostgreSQL (required) |
| License | Apache 2.0 | GPL v2 |
Feature Comparison
| Feature | Apache Answer | Discourse |
|---|---|---|
| Question/answer format | Yes (core model) | Plugin (limited) |
| Threaded discussions | No (flat answers) | Yes (nested replies) |
| Voting system | Yes (upvote/downvote on Q&A) | Yes (likes on posts) |
| Accept best answer | Yes | Plugin |
| Reputation system | Yes (StackOverflow-style) | Yes (trust levels) |
| Tags | Yes | Yes |
| Categories | Limited | Yes (hierarchical) |
| Full-text search | Yes | Yes (powered by PostgreSQL) |
| User roles | Admin, Moderator, User | Admin, Moderator, Trust Levels 0-4 |
| Plugin system | Yes (v2.0+) | Yes (extensive ecosystem) |
| SSO/OAuth | Via plugins | Built-in (OIDC, SAML, OAuth) |
| API | REST | REST + WebSocket |
| Real-time updates | No | Yes (MessageBus) |
| Email integration | Notifications | Full mailing list mode |
| Markdown | Yes | Yes (extended flavor) |
| Code highlighting | Yes | Yes |
| Mobile responsive | Yes | Yes (+ native app) |
| Moderation tools | Basic | Comprehensive |
| Custom themes | Limited | Yes (full theme system) |
| Webhooks | Via plugins | Built-in |
| AI features | Yes (v2.0 AI assistant) | Via plugins |
Installation Complexity
Apache Answer is dramatically simpler to deploy:
services:
answer:
image: apache/answer:2.0.0
ports:
- "9080:80"
volumes:
- answer-data:/data
environment:
- AUTO_INSTALL=true
- DB_TYPE=sqlite3
- DB_FILE=/data/sqlite3/answer.db
- ADMIN_NAME=admin
- ADMIN_PASSWORD=changeme
- [email protected]
restart: unless-stopped
One container, SQLite for small deployments, up in 2 minutes.
Discourse requires a dedicated server setup:
# Discourse uses its own container manager, not standard Docker Compose
git clone https://github.com/discourse/discourse_docker.git
cd discourse_docker
cp samples/standalone.yml containers/app.yml
# Edit containers/app.yml with database, SMTP, and domain settings
./launcher bootstrap app
./launcher start app
Discourse bundles PostgreSQL, Redis, Nginx, and Sidekiq inside a single container using its own orchestration tool. It requires at least 2 GB RAM, a dedicated domain, and working SMTP. Setup takes 30-60 minutes.
| Setup aspect | Apache Answer | Discourse |
|---|---|---|
| Minimum RAM | 256 MB (SQLite) | 2 GB |
| Containers | 1 (or 2 with PostgreSQL) | 1 (bundled) |
| Required services | None (SQLite) or PostgreSQL | PostgreSQL + Redis (bundled) |
| SMTP required | No (optional) | Yes (required for account creation) |
| Reverse proxy needed | Optional | Built-in Nginx |
| Setup time | 5 minutes | 30-60 minutes |
| Official Docker Compose | Yes | No (uses own launcher) |
Performance and Resource Usage
| Metric | Apache Answer | Discourse |
|---|---|---|
| RAM (idle) | ~100-150 MB (SQLite), ~300 MB (PostgreSQL) | ~1-2 GB |
| CPU at idle | Minimal | Low-medium |
| Disk (application) | ~100 MB | ~2 GB |
| Rebuild time | Seconds (Go binary) | 10-20 minutes (Ruby + assets) |
| Typical page load | Fast (Go + minimal frontend) | Moderate (Ember.js SPA) |
Answer is significantly lighter. Go’s compiled binary and minimal frontend mean it runs comfortably on hardware where Discourse would struggle.
Community and Support
Discourse has a massive community advantage. It’s been around since 2013, powers major communities (Mozilla, Docker, Netlify, Figma), and has extensive documentation. The plugin ecosystem is mature with hundreds of available extensions.
Apache Answer is newer (incubating at Apache since 2024). The community is growing, and the Apache Foundation backing provides long-term stability, but the ecosystem is still small compared to Discourse.
| Metric | Apache Answer | Discourse |
|---|---|---|
| First release | 2022 | 2013 |
| GitHub stars | ~13,000+ | ~43,000+ |
| Plugin ecosystem | Small (growing) | Large (hundreds) |
| Hosting companies | Few | Many (Discourse itself offers hosting) |
| Documentation | Good | Excellent |
| Commercial support | None | Discourse hosting team |
Use Cases
Choose Apache Answer If…
- Your primary need is a Q&A knowledge base (internal team FAQ, developer community, customer support)
- Questions have definitive answers that should be surfaced (not debated)
- You want the lightest possible deployment (runs on a $5/month VPS)
- Your content model is “ask → answer → done” rather than ongoing discussion
- You need to deploy quickly with minimal infrastructure
Choose Discourse If…
- You’re building a community around discussion and conversation
- Topics are open-ended (not single-answer questions)
- You need advanced moderation (trust levels, flagging, auto-silence)
- You want mailing list mode (users participate via email)
- You need a mature plugin ecosystem (SSO, chat, AI, gamification)
- You can allocate 2+ GB RAM to the forum
Final Verdict
Apache Answer is the right tool when you need a StackOverflow-style Q&A system. It’s lighter, simpler to deploy, and purpose-built for structured knowledge. If your questions have answers — not opinions, not discussions, but concrete solutions — Answer’s voting and acceptance model surfaces the best content efficiently.
Discourse is the right tool when you need a community. It handles nuanced discussions, long threads, and community governance far better than any Q&A platform. If your use case involves ongoing conversation, relationship building, or mailing list-style communication, Discourse is unmatched.
Don’t try to force one into the other’s role. Running a Q&A board in Discourse requires plugins and workarounds. Running a discussion forum in Answer fights the core model. Pick the tool that matches your content type.
Related
Get self-hosting tips in your inbox
Get the Docker Compose configs, hardware picks, and setup shortcuts we don't put in articles. Weekly. No spam.
Comments