Skip to content
Meith

Free and open source · Your own server · No per-member pricing

The group chat forgets.Your community shouldn't.

A GAA club, a Discord server, a residents' association, a Facebook group — the same thing keeps happening. The notice scrolls away. The answer you typed out twice is gone. Half the members never saw it at all. Meith gives your community a place of its own, where nothing gets lost and nobody else decides who sees what.

No ads, no trackers, and no third-party script between your members and your board. Nothing here is priced per member — two hundred of them cost what twenty do.

A board, in outline — its forums, what is in them, and the last thing said.

It just scrolls away.

In a chat, the answer you wrote on Tuesday is gone by Thursday. Here it is a thread. It stays where it was put, it is still there in five years, and search reaches all the way back — this season's question turns up last season's answer.

Somebody else decides who sees it.

A feed ranks your notice below an ad. A notification setting nobody found buries the AGM. On your own board a notice is a notice: everyone who is in can see it, in the order it was written, and it can go out by email as well.

Half of them aren't even on it.

Your treasurer is not on Discord. Plenty of your members will not open a Facebook account, and should not have to. A board is a link — no app to install, no company to join, and nobody shut out of their own community.

And it isn't really ours.

Platforms change the rules, put a price on what was free, and close. Your board is your domain, your database, your archive. Take it with you, or fork the software and carry it on. Nobody can take it off you.

Alongside what you already have

Chat is for now. This is for keeps.

You do not have to leave anywhere. Keep the group chat — it is good at what it is good at. Put the things that need to still be true next month somewhere they will survive it.

Leave in the chat

  • who's about tonight
  • today's lifts
  • the banter
  • “on my way”
  • the photo from Saturday

Put on the board

  • fixtures & results
  • decisions and minutes
  • how we do things
  • registration & fees
  • recruitment
  • the archive
  • what a new member needs in six months

What you get

Everything a community needs to feel at home.

Six things your members and moderators will actually notice, and how each one is done. Each is also a link, because the page asserts and the document argues.

01

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

02

It looks like your community, not like software

Your colours, your crest, light and dark — restyle the whole thing or install a different theme entirely. A theme can only change how the board looks, never whether it works, so a new coat of paint can never cost you the board.

How themes work

03

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

04

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

05

Bots stay out, people get in

A trap only bots fall into, questions you write about your own community, and a first post held for somebody to glance at — which matters more in a juvenile section than it does anywhere else. No puzzle grids, and no stranger deciding who is human enough to join.

How the spam controls work

06

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

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.

first deploy
✔ postgres started
✔ migrate exited (0)
✔ web started
✔ worker started
→ open /install to name the board

A first deploy: the same four containers on either route. On the guided one, the panel generates the secrets and issues the certificate 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 follows releases.

Nothing is typed in. About twenty minutes.

The quickstart

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.

Deploying by hand

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.

The operator handbook

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.

Every measurement, and how it was taken

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 parity decisions

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 licenceGNU 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.

Give your community somewhere to keep things.

A place of your own, on a machine of your own, in about half an hour. Have a look at a real one first, and read the source before you run it — all of it is there.

A machine
Your own, with Docker
A domain
Pointed at it
Everything else
Comes up beside it