Flarum vs NodeBB: Which Forum Should You Self-Host?

Feature Comparison at a Glance

FeatureFlarumNodeBB
LanguagePHP (Laravel)Node.js
FrontendMithril.js (SPA)Benchpress templates + vanilla JS
DatabaseMySQL/MariaDBMongoDB or PostgreSQL or Redis
LicenseMITGPL-3.0
Real-time updatesPusher/WebSocket (optional)Socket.io (built-in)
Docker imagecrazymax/flarum (community)ghcr.io/nodebb/nodebb (official)
Minimum RAM512 MB1 GB
Extension count~200 community~100 official + community
Mobile experienceResponsive SPAResponsive + optional PWA
SEOServer-side rendered fallbackServer-side rendered
Moderation toolsBasic + extensionsComprehensive built-in
SSO/OAuthVia extensionsBuilt-in (Google, GitHub, Twitter)

Both platforms target communities that want modern, lightweight forum software. The choice comes down to your tech stack preference and feature priorities.

Quick Verdict

For most self-hosted communities, Flarum delivers a cleaner user experience with lower resource requirements. NodeBB wins when you need real-time features, built-in chat, or already run a Node.js stack. Flarum is the lighter, faster option; NodeBB is the more feature-complete one out of the box.

Overview

Flarum is a PHP-based forum built on Laravel with a Mithril.js single-page application frontend. It’s fast, minimal, and extensible. The project launched in 2014 as the spiritual successor to esoTalk and FluxBB. Current stable version: v1.8.1, with v2.0 in beta.

NodeBB is a Node.js forum platform built for real-time interaction. It uses Socket.io for live updates, supports multiple database backends, and includes features like chat, notifications, and SSO out of the box. Current stable version: v4.9.1.

Installation Complexity

Flarum uses the community-maintained crazymax/flarum Docker image with MariaDB:

services:
  flarum:
    image: crazymax/flarum:1.8.1
    restart: unless-stopped
    ports:
      - "8888:8000"
    environment:
      FLARUM_BASE_URL: "https://forum.example.com"
      DB_HOST: db
      DB_NAME: flarum
      DB_USER: flarum
      DB_PASSWORD: your-strong-password
    volumes:
      - flarum-data:/data
    depends_on:
      - db

  db:
    image: mariadb:11.7
    restart: unless-stopped
    environment:
      MYSQL_DATABASE: flarum
      MYSQL_USER: flarum
      MYSQL_PASSWORD: your-strong-password
      MYSQL_ROOT_PASSWORD: your-root-password
    volumes:
      - db-data:/var/lib/mysql

NodeBB uses its official image with MongoDB:

services:
  nodebb:
    image: ghcr.io/nodebb/nodebb:v4.9.1
    restart: unless-stopped
    ports:
      - "4567:4567"
    environment:
      url: "https://forum.example.com"
      database: mongo
      mongo__host: mongo
      mongo__port: "27017"
      mongo__database: nodebb
    volumes:
      - nodebb-data:/usr/src/app/public/uploads
    depends_on:
      - mongo

  mongo:
    image: mongo:7.0
    restart: unless-stopped
    volumes:
      - mongo-data:/data/db

Both are straightforward Docker setups. Flarum’s PHP stack is more familiar to traditional web developers. NodeBB’s dependency on MongoDB (or PostgreSQL/Redis) adds a heavier data layer.

Winner: Flarum. Simpler stack, lower resource requirements, faster initial setup.

Performance and Resource Usage

MetricFlarumNodeBB
Idle RAM~150 MB (PHP-FPM + MariaDB)~300 MB (Node.js + MongoDB)
Page load (uncached)~200-400 ms~300-500 ms
Real-time supportOptional (Pusher extension)Built-in (Socket.io)
Concurrent users (1 GB RAM)~200-500~100-300
Static asset handlingNginx (bundled in Docker image)Express.js

Flarum’s PHP-FPM model handles concurrent requests efficiently with lower memory overhead. NodeBB’s Node.js event loop excels at real-time features but uses more baseline memory for the MongoDB connection pool and Socket.io.

Extension Ecosystems

Flarum has ~200 community-developed extensions covering tags, polls, reactions, SEO, Markdown, syntax highlighting, OAuth providers, and more. Extensions install via Composer. The ecosystem is active but smaller than traditional platforms like phpBB or Discourse.

NodeBB ships with more built-in features (chat, notifications, reputation system) and has ~100 plugins. Plugins install via the admin panel or npm. NodeBB’s plugin API is well-documented, and the official team maintains several key plugins.

Extension CategoryFlarumNodeBB
SSO/OAuthExtensions (multiple providers)Built-in (Google, GitHub, Twitter)
MarkdownExtensionBuilt-in
PollsExtensionExtension
Chat/messagingExtension (limited)Built-in
Reactions/likesExtensionBuilt-in
Tags/categoriesExtension (tags)Built-in (categories + tags)
SEOExtension (sitemap, meta)Built-in sitemap + meta
Spam preventionExtension (Akismet, StopForumSpam)Built-in + extensions

Community and Support

DimensionFlarumNodeBB
GitHub stars~15,000~14,000
First release20152013
Release cadenceQuarterly stableMonthly patches
DocumentationGood, some gapsComprehensive
Forumdiscuss.flarum.orgcommunity.nodebb.org
Commercial supportNo officialYes (NodeBB Inc.)

Both have active communities. NodeBB has the advantage of a company (NodeBB Inc.) backing development with paid support options. Flarum is community-driven with no commercial entity, which means slower progress on major features but complete independence.

Use Cases

Choose Flarum If…

  • You want the lightest possible forum software
  • Your community is discussion-focused (no need for real-time chat)
  • You prefer PHP/Laravel and MySQL/MariaDB
  • You’re running on limited hardware (512 MB RAM is workable)
  • Clean, modern UI is a priority
  • You want something that feels like a modern web app, not a traditional forum

Choose NodeBB If…

  • Real-time features matter (live notifications, built-in chat)
  • You need comprehensive moderation tools out of the box
  • Your team runs Node.js and prefers that ecosystem
  • You want commercial support as an option
  • Built-in SSO/OAuth without extensions is important
  • You need a reputation/karma system for community gamification

Final Verdict

Flarum is the better choice for communities that prioritize speed, simplicity, and a modern aesthetic. It’s lighter, faster to deploy, and feels more like a contemporary web app than a traditional forum. NodeBB wins on feature completeness — real-time updates, built-in chat, and SSO work without extensions. For a standard discussion forum, Flarum gets you running faster with fewer resources. For a community platform that needs chat, gamification, and enterprise SSO, NodeBB justifies the extra overhead.

FAQ

Can Flarum handle large communities (10,000+ users)?

Yes, with proper caching (Redis/Memcached) and a reverse proxy. Several communities run Flarum at scale. NodeBB also scales well but typically requires more server resources at similar user counts.

Does NodeBB support MySQL instead of MongoDB?

NodeBB supports PostgreSQL and Redis as database backends in addition to MongoDB. MySQL is not officially supported. PostgreSQL is the recommended alternative if you want to avoid MongoDB.

Is Flarum v2.0 stable enough for production?

As of March 2026, Flarum v2.0 is in beta (v2.0.0-beta.7). The stable release is v1.8.1. Stick with v1.8.x for production unless you’re comfortable testing beta software and can handle breaking changes in extensions.

Can I migrate between Flarum and NodeBB?

There’s no direct migration path between the two. You’d need to export data from one platform and write a custom import script for the other. Both support data export, but the schema differences make migration non-trivial.

Comments