Building a community is hard. Picking the platform is the easy part once you know what you actually need, but the noise around forum software makes the easy part look hard. Discord pulls members in but locks every word inside a closed system you don’t own. Discourse is solid but heavyweight for a 200-person product community. Reddit is convenient and rents out your audience to whoever buys ads next.
That’s the gap Flarum fills. It’s an open-source, MIT-licensed forum platform with a modern interface, a small surface area, and a plugin ecosystem that lets you build the thing you actually want without writing PHP from scratch.
I host Flarum for a few clients and contribute back through OpenCollective, so this isn’t a tour of the marketing site. It’s where Flarum is the right answer, where it isn’t, and what to expect when you run it yourself.
What Flarum is
Flarum is the third generation of an open-source discussion software project. It picks up where esoTalk and FluxBB left off, with a PHP backend and a frontend built on Mithril, a small JavaScript framework that keeps the UI feeling responsive instead of bloated.
Three things define the project:
- Lightweight by design. A clean Flarum install fits in a few hundred MB and runs on shared hosting if needed. There’s no Elasticsearch dependency, no Redis-required-for-anything, no Sidekiq workers. PHP and a database is the whole stack.
- Extension-driven. The core is deliberately minimal. Almost every feature you’d want (tags, polls, single sign-on, custom emoji, BBCode, mentions) ships as an extension, not as a bolted-on core feature. The catalog has more than 1,200 entries.
- MIT-licensed. Free for commercial and non-commercial use. You can fork it, ship it, charge for it, contribute back, or all four.
Webnestify backs the project through OpenCollective because forum platforms are infrastructure, and the maintainers shouldn’t have to depend on a single corporate sponsor to keep the lights on.
Why I keep recommending it
The honest comparison most agencies face isn’t “Flarum or another self-hosted forum”. It’s “Flarum or one of these closed platforms”:
- Discord and Slack are great for live chat and dead for archived discussion. Search is bad, threading is worse, and your member-generated content is one billing dispute away from being unreachable.
- Discourse is the heavyweight self-hosted option. Genuinely excellent, and the right pick at large scale, but it brings a Ruby + Postgres + Redis + Sidekiq stack that’s overkill for a 200-person community on shared hosting.
- Reddit rents you space inside Reddit. Their algorithm decides what your members see; their ads decide what shows up next to your content.
Flarum sits in the middle: lighter than Discourse, more permanent than Discord, and entirely yours. For most agency-led communities (product feedback forums, course communities, paid membership areas) that middle ground is exactly the trade you want.
Where Flarum actually fits
Use cases I’ve seen work well in practice:
- Product or SaaS support communities. Customers help each other, your team handles the hard questions, and the discussions become indexed knowledge that reduces the same support ticket showing up next month.
- Paid membership areas. A few extensions wire Flarum to a payment provider so members get access to gated tags or private categories. Recurring revenue, fewer DMs.
- Course and education communities. Each cohort gets a tag, students discuss in public threads, and the searchable history compounds across cohorts.
- Open-source project forums. A real archive that Google can crawl, instead of a Discord that’s invisible to anyone who hasn’t joined.
- Internal company knowledge bases. Smaller teams running Flarum behind SSO as a structured alternative to “scroll the Slack channel until you find the answer”.
The pattern across these: archived, searchable, permanent discussion is the deliverable. Anything live-chat-flavored is a worse fit.
Installation paths in plain English
Four ways to get Flarum running:
- Composer (recommended for self-hosters). A one-line
composer create-project flarum/flarum .pulls down the latest stable. Extensions are managed through the same Composer file. Reproducible, version-pinnable, the way I’d do it on production. - Docker. A fit if you already run a container stack or want Flarum sitting alongside other self-hosted tools. Less common in the official guides but well-supported by the community.
- Manual upload. A pre-built tarball you can FTP to a host without SSH. Slower to update, but it works.
- Hosted Flarum. Services like Free Flarum and a handful of paid hosts run it for you. Lowest effort, lowest control. Reasonable for testing.
For anything serious I’d run the Composer install on a VPS you control, with a hardened reverse proxy in front. The cost is around 5€ a month at the small end and scales linearly with traffic.
When NOT to use Flarum
Places I’d pick something else:
- Real-time chat as the primary interaction. Flarum is forum-shaped. If you need IRC-flavored continuous chat, look at Matrix or Discord depending on whether you want ownership.
- Heavy moderation tooling out of the box. Flarum’s moderation is solid but Discourse has more built-in for high-spam environments.
- Ticketing. A few extensions push Flarum in that direction, but a purpose-built helpdesk like Zammad or Freescout will fit better.
- Communities under 50 members. A Discord server or a private Slack is fine until there’s enough activity to justify hosting.
Closing the loop
Flarum is one of those tools that does the boring thing well: indexed, searchable, permanent discussions on infrastructure you control, with a UI that doesn’t feel like a relic. For most agency communities and SaaS support forums I look at, it’s the right answer.
If you’re standing up a new community and want it to live on your own infrastructure with the right hardening from day one, the Cloud Infrastructure Audit & Hardening engagement is the natural starting point. For more on the open-source tooling I run for agency clients, the open-source solutions category has the rest.