For communities that already live in chat
Keep the server.Stop losing the good threads.
Nobody is asking you to leave Discord. But the answer somebody wrote out in full on Tuesday is unfindable by Thursday, Slack quietly swallows everything past its message limit, and none of it is reachable from a search engine. Meith is where the things worth keeping go — and the chat carries on exactly as it is.
“Somebody answered this last month. I can't find it.”
Chat search returns a list of messages that mention a word. Board search returns the thread that is about your question, ranked ahead of a passing mention of it, and it stays quick however far back the archive goes.
“We hit the message limit and lost two years.”
Nothing here expires and nothing sits behind a plan. The archive is rows in a Postgres database on a machine you rent, and the only thing that ever removes a post is somebody deciding to.
“The same five questions, every week, forever.”
Write the answer once, in a thread with an address you can paste. Newcomers find it themselves — which a private server can never let them do, however good the answer was.
“None of it is on the open web.”
Every public thread has a permanent URL, renders as plain HTML, and turns up in a search engine. A year of good answers stops being invisible and starts bringing you people.
The reason to bother
An archive that is actually findable.
This is the whole trade. Chat is unbeatable for the conversation happening right now and hopeless at everything after it; a board is the exact opposite. Running both is not a compromise — it is the two halves of what a community actually needs.
- A thread has an address
- Every public thread has a permanent URL you can paste into the chat, into a README, into a reply. Nothing behind a login, nothing that expires, nothing that moves because somebody said something else.
- And a search engine can read it
- Public forums render as plain HTML, feeds are published as Atom, and there is no third-party script in the way. The answers you have already written start doing the work of finding you people.
Which is the part chat cannot do at any price: a private server is invisible to everybody who has not already joined it.
What the board adds
The half that chat was never going to do.
Four of the things worth having next to a server. Each is also a link, because the page asserts and the document argues.
Years of answers, still findable
Search that knows a thread about your question beats a passing mention of it, and stays quick however deep the archive goes. The answer somebody wrote years ago keeps earning its keep.
How search holds up →
A room for everyone, and one for the committee
Open forums for the whole community, a members-only floor, a committee room nobody else knows is there. Who can read, post, search or reply is decided per member, per forum — and every way into the board, search and feeds included, obeys the same rules.
How permissions work →
Add what you are missing, without the fear
Plugins add the things your community needs and stay in their lane. One that misbehaves fails on its own: the page still renders, the thread still posts, the board carries on as though it had never been installed.
What plugins can do →
Whoever runs it is not chained to it
Backups, migrations, member admin, scheduled jobs — everything nobody should have to click through a browser for is one command or one API call, safe to script because it obeys exactly the permissions a person would.
The API and the CLI →
Coming from Discord or Slack
You do not need to move anything.
There is no clean export out of either, and you would not want one — a chat log poured into a forum is still a chat log. The communities that do this well start the board with the twenty threads that were always worth keeping, and add to it whenever an answer in chat turns out to deserve writing down properly.
The server stays. Nothing about this asks anybody to change where they hang about.
The bit people worry about
“But who's going to run it?”
Somebody in your community already does this for a living, or near enough — every club has one and every project has three. This is a job for them, and it is smaller than they will expect: about half an hour, once, and then it runs. What it needs is a server, a domain, and nobody's permission.
The whole job, by hand. The guided route is the same four containers, with the panel typing the secrets in for you.
Guided, with Coolify
A panel installed on the same server — still your machine, not a service you sign up to. Point it at the repository and it generates the secrets and the database password, issues the certificate, tells the board its own address, and redeploys on push.
Nothing is typed in. About twenty minutes.
Or by hand, if they would rather
The same four containers without the panel — Postgres, a one-shot migration the others wait on, the web server, and the worker that runs the background tick. A clone, an .env with three generated secrets, one command, and a reverse proxy they already run.
Postgres and nothing else — no Redis, no broker, no search cluster.
What it costs
A small board is happy on a VPS of about €15 a month, and a busy one wants a bigger machine — that part scales with your board the way anything does.
What never changes is what the bill follows. It follows the machine, never the membership: two hundred members cost exactly what twenty do, and there is no tier that unlocks the private forum.
Still quick a decade in
Reading never drags.
Long threads, deep pages, a search across everything ever written — pages come back before anyone wonders whether the board is busy, and they keep doing it as the archive grows. Ten years of history is a feature of your community rather than a weight on it.
Measured, not asserted: against a board of 2.3M posts, a thread page renders in 3.3 ms at the 95th percentile — and a run over its 50 ms budget fails the build.
Coming from somewhere else
Bring the archive if you have one.
A MyBB board imports whole, and the importer is resumable, so a decade of history moves across several sittings rather than one long night. Old links keep working, so every URL anybody ever posted still lands.
Coming from a chat platform or a Facebook group is different, and it is worth being straight about it: there is usually no clean way to get your history out of one. That is their decision rather than ours.
The licence
Yours to keep.
Meith is free software under the GNU Lesser General Public License v3. Run a board on it for anything at all, commercially included, without publishing a line of your configuration or a word your members wrote. Nobody can put a price on it later, and nobody can switch it off.
- Themes and plugins are yours
- Both fill an interface this software provides, which is the case the Lesser GPL exists to allow. License yours however you like — it is not obliged to be LGPL because the board it runs in is.
- Changes to Meith come back
- Modify the board itself and those changes carry the same licence to whoever you hand the modified version to. That is the copyleft, and it is the whole of what is asked.
Which is the point of choosing it: the version you are running stays free software whatever anybody decides later, and anybody can carry it on.
Read the licence — GNU Lesser General Public License v3
LGPLv3 is additional permissions on top of the GNU GPL, which it incorporates. Both texts are in the repository, and both travel with any copy you pass on.
Not quite you?
The same board, argued four other ways.
It is one piece of software underneath. What changes is which of its problems you recognise — so there is a page for each.
Sports clubs
Fixtures, notices, subs and a committee room — for GAA, soccer, and any club run by volunteers in their own time.
Meith for sports clubs →
Residents' associations
A noticeboard the whole road can reach — including the neighbours who will not go near Facebook.
Meith for residents' associations →
Facebook groups
You built the group. Facebook owns the reach, the members and the archive — and can close it tomorrow.
Meith for Facebook groups →
Gaming clans
Rosters, builds and recruitment that do not scroll up the channel — and something an applicant can read before they join.
Meith for gaming clans →
Give the good answers somewhere to live.
On a machine of your own, at your own address, in about half an hour. Have a look at a real board first — and read the source before you run it.
- A machine
- Your own, with Docker
- A domain
- Pointed at it
- Everything else
- Comes up beside it