Fluid vs Mattermost

Fluid Chat vs Mattermost: same database, different deal.

Two open source, self-hostable, Postgres-backed chat platforms that agree on nearly all of the architecture and disagree entirely about how software should be sold. Here's where each one genuinely wins.

Including the three rows where Mattermost wins outright.

Mattermost is the grown-up of open source team chat: Go on the backend, Postgres underneath, a long enterprise track record, and a compliance story that will survive a procurement review. If you're comparing it to Fluid Chat, you're comparing two tools that agree on almost everything architecturally and disagree completely about business models.

The one-paragraph answer

Choose Mattermost if you need SSO/SAML, compliance exports, high-availability deployment guidance, native mobile apps, or a vendor with a support contract and a phone number. Choose Fluid Chat if you want the complete feature set — including the admin layer — at $0 with no tier chart, on a deliberately small operational footprint.

Where they agree

It's worth naming the overlap, because it's most of the product:

  • Both are open source and both are genuinely self-hostable — not a demo mode, the real thing.
  • Both run on Postgres (Mattermost also supports MySQL), so backups are a database dump and your data is queryable with tools you already own.
  • Both use the channels + threads model, which means no retraining anyone coming off Slack.
  • Both ship search with operators, webhooks, bot identities and a documented API.
  • Both let you keep unlimited message history when self-hosted, because it's your disk.

Where they differ

Fluid ChatMattermost
BackendTypeScript / Next.js 15Go
DatabasePostgresPostgres or MySQL
SearchPostgres full-textPostgres full-text, or Elasticsearch at scale
Pricing model$0, hosted or self-hostedFree tier plus paid Professional / Enterprise
Audit logIncludedHigher tier
SSO / SAMLNot builtPaid tier
Compliance exportsStandard data exportEnterprise feature
Voice / video / screen shareNoYes
Native mobile appsNo (responsive web)iOS and Android
Playbooks / boardsNoYes
Ops surfaceApp, realtime, worker, PostgresServer, Postgres, optional Elasticsearch
Commercial supportNoYes

Details are summarised from each project's public documentation and pricing pages and change over time — verify against mattermost.com before deciding.

The pricing model is the real fork

Mattermost's free self-hosted tier is legitimately generous, and a lot of teams run on it happily for years. But the model is the standard open-core one: the features that get interesting at organisational scale — SSO, advanced compliance, certain admin and governance capabilities — live in paid tiers. That's a perfectly reasonable way to fund a company. It also means your evaluation has a second question attached: which tier do we end up on?

Fluid doesn't have that question, because it doesn't have tiers. All 91 features are in the one product: roles and guest scoping, audit log, retention policies, per-channel posting policy, per-workspace read-only mode, scoped API keys with rate limits, and full data export. Not because we're more generous — because a self-hosted install has nothing to meter, and building a licence check would be work we'd rather not do.

Operational footprint

Mattermost is a single Go binary plus Postgres, which is a genuinely nice deployment story — arguably simpler than Fluid's three processes at the smallest scale. The difference shows up as you grow: Mattermost's search typically wants Elasticsearch for large deployments, and the HA guidance introduces more moving parts.

Fluid runs an app process, a realtime process and a worker against one Postgres, and adds only Redis when you scale past a single app process. Search stays in Postgres at every size, which is a deliberate ceiling: it means one less cluster to run, and it means very large deployments will feel that choice eventually.

  • Small team, one box: Mattermost is marginally simpler (one binary). Both are fine.
  • Mid-size, one region: roughly equivalent effort.
  • Large, multi-region, compliance-bound: Mattermost, clearly. It's the case it was built for.

Migrating between them

Neither direction is a one-click affair today. Fluid exports its own workspace as JSONL, CSV and a file manifest, which gives you a clean, documented shape to transform — but there's no built-in Mattermost importer, and no Slack importer either. If you need one, that's an excellent first contribution and the export format is already there to work against.

Try Fluid in the time it takes to read Mattermost's pricing page.

Start a free workspace, or clone the repo and run docker compose up against your own Postgres.

Best Mattermost alternatives, briefly

If you're on this page because Mattermost isn't fitting, the realistic field is small:

  1. 1Fluid Chat — if the paid tiers are the problem and you want everything included at $0 on a small footprint.
  2. 2Rocket.Chat — if you want voice, video and omnichannel in one deployment and MongoDB doesn't put you off.
  3. 3Zulip — if your frustration is actually the conversation model, and threads-per-channel isn't cutting it.
  4. 4Slack — if the honest answer is that you'd rather not run anything, and per-seat billing is acceptable.

FAQ

Mattermost questions, answered straight.

Is Fluid Chat a good Mattermost alternative?

It's a good alternative if the paid tiers are your friction point — Fluid includes audit logging, retention policies, guest scoping, scoped API keys and full data export at $0 with no tier chart. It's a poor alternative if you need SSO/SAML, native mobile apps, voice and video, or commercial support, all of which Mattermost has and Fluid does not.

What is the difference between Fluid Chat and Mattermost?

Architecturally they're close: both are open source, self-hostable and Postgres-backed, and both use the channels-and-threads model. The differences are the business model (Mattermost has free plus paid Professional and Enterprise tiers; Fluid has no tiers), the feature breadth (Mattermost adds voice, video, playbooks, boards, SSO and native apps) and the stack (Go versus TypeScript).

Is Mattermost free?

Mattermost has a free self-hosted tier alongside paid Professional and Enterprise plans. Features such as SSO/SAML and advanced compliance capabilities sit in the paid tiers. Check mattermost.com for current plan details, as they change.

Which is easier to self-host?

At small scale Mattermost is marginally simpler, since it deploys as a single Go binary plus Postgres. Fluid runs an app process, a realtime process and a worker against one Postgres. The gap reverses at larger scale, where Mattermost deployments often add Elasticsearch for search while Fluid keeps search in Postgres.

Can I migrate from Mattermost to Fluid Chat?

There's no built-in Mattermost importer today. Fluid's own export format — JSONL, CSV and a file manifest — is documented and stable, which gives a clear target for a migration script, and an importer would be a welcome contribution.

Something not covered? Open an issue.

No tiers to evaluate. Just the product.

If the tier chart is what's slowing your decision down, Fluid removes it entirely. Start free, hosted or self-hosted.