Open Source · AGPL-3.0

Talk & Chat without surveillance.

mesh is a self-hosted Matrix client that looks and feels like the app you know — but runs entirely on your server. End-to-end encrypted. No corporate middlemen.

interactive
MC
NX
my community
ROOMS
lounge try →
A
alice LIVE
B
bob
Y
you
# general
# announcements
# random
Voice Connected
# general encrypted
alice Today at 9:41
just set up my own mesh instance, took literally 1 command
bob Today at 9:42
no kidding? and it's actually E2EE by default?
alice Today at 9:42
yeah. runs on my own server, discord can't touch it
carol Today at 9:43
invite link? 👀
admin tippt…
Message #general
alice
bob
carol

What you get

Everything Discord has.
Plus actual privacy.

End-to-End Encrypted

E2EE enabled by default in all private rooms — messages and calls. Nobody reads your conversations. Not even us.

Matrix Federation

Built on the open Matrix protocol. Your instance federeates with the entire Matrix network. No lock-in, no single point of failure.

One Command Deploy

Docker-based setup with a single interactive script. Cloudflare Tunnel support for instant HTTPS. No server expertise required.

Familiar Interface

Spaces, channels, threads, roles — the 3-column layout your community already knows. No retraining needed.

Voice, Video & Screen

Native LiveKit WebRTC integration. Real voice/video calls, screenshare with audio, up to 4K. No iframe, no external dependencies.

AGPL-3.0 Open Source

Every line of code is public. Audit it. Fork it. If the maintainer vanishes, you keep running it. Actual software freedom.

Get started

Up in minutes.

One script handles everything: Docker check, config generation, image pulls, service start. Works on any Linux box or VPS.

  • Docker v20.10+ and Docker Compose v2
  • A Matrix homeserver (or use matrix.org)
  • A domain — or use Cloudflare Tunnel for free
Full documentation →
bash
$ curl -fsSL https://hostmesh.diy/install.sh | sh

Asks for your homeserver, LiveKit config, and HTTPS setup. Then starts everything.

bash
$ mkdir mesh && cd mesh
$ curl -fsSL https://hostmesh.diy/docker-compose.yml -o docker-compose.yml
$ curl -fsSL https://hostmesh.diy/.env.example -o .env
# Edit .env with your config
$ docker compose up -d
bash
$ git clone https://github.com/davifernan/mesh.git && cd mesh
$ cp .env.example .env
# Edit .env with your config
$ npm install
$ npm run dev

Full source checkout for development. Hot-reload on http://localhost:5173.