NodeBB vs Flarum: Which Forum Should You Self-Host?
Quick Verdict
If you want real-time threaded discussions with ActivityPub federation and a massive plugin library, NodeBB wins. If you want the lightest possible forum that looks modern and runs on cheap hardware, Flarum is the pick. NodeBB demands more resources but rewards you with websocket-powered live updates and cross-fediverse reach.
Overview
Both NodeBB and Flarum target the “modern forum” niche — replacing the aging phpBB/vBulletin generation with something that feels like it was built this decade. But they take fundamentally different architectural paths.
NodeBB is a Node.js application with real-time WebSocket support baked into its core. Every post, notification, and user action streams live to connected clients. Since v4.8, it also speaks ActivityPub, letting your forum federate with Mastodon, Lemmy, and the rest of the fediverse. Its 700+ plugin ecosystem covers everything from SSO to analytics.
Flarum is a PHP application built on Laravel. It prioritizes simplicity — a single container, MariaDB backend, and an extension system that keeps the core lightweight. There’s no federation support, and the real-time features are limited to polling-based notifications. What you get is a clean, fast forum that runs on minimal hardware.
Feature Comparison
| Feature | NodeBB | Flarum |
|---|---|---|
| Language/Framework | Node.js | PHP (Laravel) |
| Database | MongoDB or PostgreSQL | MySQL/MariaDB |
| Real-time Updates | WebSocket (native) | Polling-based |
| ActivityPub Federation | Yes (v4.8+) | No |
| Plugin/Extension Count | 700+ | 200+ |
| Mobile App | Progressive Web App | Responsive web only |
| Markdown Support | Yes (with plugins) | Yes (native) |
| SSO/LDAP | Yes (plugin) | Yes (extension) |
| API | REST + Write API | REST API |
| Search | Built-in + Elasticsearch option | Built-in |
| Theming | Custom themes + widget system | Custom CSS + extensions |
| Docker Image | ghcr.io/nodebb/nodebb:v4.9.1 | crazymax/flarum:1.8.9 |
Installation Complexity
NodeBB requires either MongoDB or PostgreSQL as its database. The Docker Compose setup involves two containers minimum (NodeBB + database), and you need to configure Redis if you want session caching. First-time setup runs through a web installer at port 4567. Total setup time: 10-15 minutes.
Flarum needs MariaDB and a single application container. The community-maintained Docker image from crazymax bundles PHP-FPM and handles most configuration through environment variables. Setup is straightforward — create the compose file, start the stack, run the install command. Total setup time: 5-10 minutes.
| Setup Aspect | NodeBB | Flarum |
|---|---|---|
| Containers Required | 2-3 (app + DB + optional Redis) | 2 (app + MariaDB) |
| Configuration Files | config.json + env vars | Environment variables |
| First-Run Setup | Web installer | CLI install command |
| SSL/Reverse Proxy | Manual (Nginx/Caddy) | Manual (Nginx/Caddy) |
| Time to First Post | 10-15 min | 5-10 min |
Flarum wins on simplicity. NodeBB requires more moving parts but offers more out of the box once configured.
Performance and Resource Usage
| Resource | NodeBB | Flarum |
|---|---|---|
| RAM (idle) | 300-512 MB | 256-512 MB |
| RAM (active, 50 users) | 800 MB - 1 GB | 512-768 MB |
| CPU (minimum) | 1 core | 1 core |
| CPU (recommended) | 2 cores | 2 cores |
| Disk (application) | 2 GB | 5 GB |
| Disk (recommended) | 10 GB | 10 GB |
NodeBB’s persistent WebSocket connections mean it holds more memory per concurrent user than Flarum’s stateless PHP request model. For a small community (under 50 active users), both run fine on a 2 GB VPS. At scale (500+ concurrent users), NodeBB’s event loop handles concurrent connections more efficiently than PHP-FPM’s process-per-request model, but you’ll need more RAM for the WebSocket connections.
Flarum’s PHP architecture means each request starts fresh — great for memory efficiency on low-traffic forums, but it means repeated database queries that Node.js would cache in memory.
Community and Support
| Metric | NodeBB | Flarum |
|---|---|---|
| GitHub Stars | ~14k | ~15k |
| First Release | 2014 | 2015 |
| License | GPL-3.0 | MIT |
| Commercial Support | NodeBB Inc (hosted plans) | Community only |
| Documentation | Comprehensive | Good, some gaps |
| Update Frequency | Monthly releases | Every few months |
| Plugin Ecosystem | 700+ | 200+ |
NodeBB has a company behind it (NodeBB Inc.) that offers hosted plans and commercial support. This means sustained development funding. Flarum is community-driven with a smaller but dedicated team. Both have active communities, but NodeBB’s larger plugin ecosystem means you’re less likely to need custom development.
Use Cases
Choose NodeBB If…
- You need real-time threaded discussions (live typing indicators, instant post updates)
- ActivityPub federation matters — you want your forum posts visible on Mastodon and Lemmy
- You need extensive plugin support for features like analytics, gamification, or advanced moderation
- You’re running a medium-to-large community with hundreds of concurrent users
- You want commercial support as a fallback
Choose Flarum If…
- You want the simplest possible setup on minimal hardware
- Your community is small to medium (under 200 active users)
- You prefer PHP — easier to customize if you’re already in that ecosystem
- You want a modern-looking forum without the overhead of real-time WebSocket infrastructure
- Budget is tight — runs well on a 1 GB VPS for small communities
- MIT license matters (more permissive than NodeBB’s GPL-3.0)
Final Verdict
NodeBB wins on features. The real-time WebSocket engine, ActivityPub federation, and 700+ plugin ecosystem make it the more capable platform. For communities that want to participate in the fediverse or need live discussion features, there’s no contest.
Flarum wins on efficiency. If you need a clean, modern forum that just works and doesn’t demand much from your server, Flarum delivers exactly that with less complexity.
For most self-hosters starting a new community in 2026, NodeBB is the stronger choice — ActivityPub federation alone gives your community reach that a standalone Flarum instance can’t match. The resource overhead is modest, and the plugin ecosystem means you won’t outgrow it quickly.
FAQ
Can NodeBB and Flarum import data from phpBB or vBulletin?
NodeBB has official import plugins for phpBB, vBulletin, MyBB, SMF, and WordPress. Flarum has community extensions for phpBB and MyBB imports, but they’re less mature.
Does Flarum support ActivityPub or federation?
No. Flarum is a standalone forum with no federation support. If cross-platform reach matters, NodeBB (v4.8+) or Lemmy are better choices.
Which is better for a small team wiki or knowledge base?
Neither is ideal for that use case. Consider BookStack or Outline for knowledge bases. Both NodeBB and Flarum are discussion forums, not documentation tools.
Can I migrate from Flarum to NodeBB later?
There’s no direct migration path. You’d need to export Flarum data and use NodeBB’s import tools, which may require custom scripting for the database transformation.
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