NodeBB
Node.js powered forum with real-time updates
NodeBB is a free, open-source forum platform built with Node.js. It delivers real-time interactions, social logins, and a rich plugin ecosystem on top of Redis, MongoDB, or Postgres.
Key features
- Real-time discussions
- Social login support
- Plugin and theme system
- Multiple database backends
Pros & cons
Strengths
- Snappy real-time UI
- Flexible database options
Trade-offs
- Plugin quality varies
- Needs Node.js maintenance
NodeBB replaces
Last reviewed Aug 26, 2026 · 779 words
NodeBB is the forum to run when Discourse's appetite, 2 GB of RAM at minimum and its own Docker launcher that dislikes sharing a host, is more than the community justifies. It runs comfortably on 1 GB, installs onto an existing Docker host or a plain Node.js install, and feels faster in daily use than either Discourse or the PHP forums because posts, notifications and unread counts arrive over a websocket without a refresh. The trade is that you maintain a Node.js application, with the upgrade cadence that implies, and that the plugin ecosystem is wide but uneven.
Pick the database once, because you will not switch
NodeBB supports MongoDB, Redis and PostgreSQL, and the choice is made at setup with no supported migration between them afterwards. MongoDB is what the project has recommended longest and what most plugins are tested against. Redis is fast and simple but keeps the whole dataset in memory, which is fine for a small community and a bad idea at 500,000 posts. PostgreSQL is fully supported and the right pick if you already run one and back it up, which on a self-hosted box you probably do. Whichever you pick, the forum's entire state lives there plus an uploads directory; back both up together.
Setup is one script; upgrades are the ongoing cost
From source, it is ./nodebb setup, which asks for the database and an admin user, then ./nodebb start, and the forum answers on port 4567 for a reverse proxy to pick up. The official container image does the same inside Docker, and a compose file with MongoDB is about 25 lines. The recurring work is ./nodebb upgrade after each release, which pulls dependencies, runs migrations and rebuilds assets, and a Node.js major version bump roughly yearly as old LTS releases age out. Neither is hard, but a forum that sits unupgraded for 18 months accumulates enough drift that the eventual upgrade becomes a weekend. Put it on a quarterly calendar.
Plugins are the feature and the risk
Everything beyond the core, including SSO providers, image uploads to S3, emoji packs, Markdown and a dozen ways to embed things, is a plugin installed from the admin panel, and there are hundreds of them under the nodebb-plugin- prefix on npm. The quality varies exactly as much as the catalogue warns. Some are maintained by the core team and track every release; some were last touched years ago and break on the next upgrade, taking the forum's build with them. Check each plugin's compatibility badge in the admin panel before installing, prefer the ones the core team maintains, and keep the count under 10. An SSO plugin pointing at Authentik is the one third-party addition I would call essential for a self-hosted community.
Real-time is why it feels different
Threads update as people post, typing indicators show, notifications land instantly, and the unread list is live. The effect is closer to a chat room that keeps a permanent record than to a classic forum, and it changes how people use the site: shorter posts, faster back-and-forth. For a technical community that wants long, searchable answers, that can be a mild negative, and Discourse's more deliberate pace can suit better. Recent 4.x releases add ActivityPub federation, so a NodeBB category can be followed from Mastodon or Lemmy, which for a small forum is a way to be discovered without a marketing budget.
Discourse, NodeBB and Flarum in one table
| NodeBB | Discourse | Flarum | |
|---|---|---|---|
| Runtime | Node.js | Ruby, own Docker launcher | PHP |
| RAM floor | 1 GB | 2 GB | Under 512 MB |
| Database | MongoDB, Redis or Postgres | PostgreSQL and Redis | MySQL or Postgres |
| Real-time UI | Yes | Partial | No |
| Plugin ecosystem | Large, uneven | Large, curated | Medium |
| Best for | Active, chatty communities | Large or long-form communities | Small, simple forums |
Discourse is the safest choice for a community that will grow past a few thousand members; Flarum is the lightest if all you want is a tidy board. The forums category has the rest of the field, including phpBB for people who want the 2005 experience deliberately.
What I'd do
PostgreSQL as the backend on the database server you already back up, the official image behind Caddy, fewer than 10 plugins with SSO to Authentik among them, and a quarterly upgrade slot. For a hobby community of 50 to 2,000 members that talks daily, NodeBB is the forum I would run. If the community is already 5,000 people or the posts are essays, Discourse and the extra gigabyte.
Compare NodeBB
6 head-to-head comparisons.
Similar social networks apps
Mastodon
Social NetworksDecentralized open-source microblogging server
Replaces Twitter, X
Discourse
Social NetworksModern open-source community discussion platform
Replaces phpBB, Reddit
Invidious
Social NetworksAlternative front-end to YouTube
Replaces YouTube
Lemmy
Social NetworksFederated link aggregator and forum
Replaces Reddit
Nitter
Social NetworksAlternative front-end for Twitter that respects your privacy
Replaces X
diaspora*
Social NetworksPrivacy-focused decentralized social network
Replaces Facebook, Twitter