NodeBB

Node.js powered forum with real-time updates

Social Networks ★ 15.2k stars Medium setup GPL-3.0

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

NodeBBDiscourseFlarum
RuntimeNode.jsRuby, own Docker launcherPHP
RAM floor1 GB2 GBUnder 512 MB
DatabaseMongoDB, Redis or PostgresPostgreSQL and RedisMySQL or Postgres
Real-time UIYesPartialNo
Plugin ecosystemLarge, unevenLarge, curatedMedium
Best forActive, chatty communitiesLarge or long-form communitiesSmall, 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