Commune lets you build free and open public communities on a Matrix server. It transforms a Matrix server into a publicly accessible community platform. The goal is to make it easy for existing homeserver operators to open up their Matrix instance (or a subset of it) to the web, and add extra community features using native Matrix functionality.
Conceptual Introduction: Communal Bonfires.
We're operating these live instances at the moment:
Commune opens up all spaces and underlying rooms to the web by reading data directly from the Synapse DB, bypassing Synapse's client-server API. Additional features such as discussion boards, threaded comments are rendered by the client. Commune makes use of many materialized views for querying Synapse events.
You'll need to set up a matrix/synapse server. Existing servers can be used too, but Commune is highly experimental at the moment, so it's best to set up a new homeserver.
make deps
to fetch dependencies.config-sample.toml
to config.toml
. Update the config with your
Synapse details.make
to build the app.db/matrix/views/creates.sh
script to create materialized views.modd
to run app locally while developing.nginx
.Finally, you'll need to go install the client and point it to your Commune backend.
Find us on #commune:commune.sh or on #commune:matrix.org.
Commune is operating in world_readable
mode. This means that everything on your matrix server has the potential to be accessible from the web. No work has been put into private spaces/rooms or encryption. Unless explicitly stated, assume that every event on a Commune-based matrix server will be public.