Skip to content
@Gryt-chat

Gryt Chat

Self-hostable voice and text chat. WebRTC, no transcoding, no account required.

Gryt

Gryt

Voice and text chat you host yourself.
Your server, your hardware, your conversations.

Latest release Stars AGPL-3.0

Website · Try it · Docs · Download


Why

Most voice platforms are owned by companies that monetise the conversation and decide who gets to leave. Gryt is built the other way round — you run the server, the data sits on your disk, and nobody needs an account with us to talk to you.

No account required

A server chooses which identities it admits. Guests hold a keypair on their own device. An account carries your identity between servers — it is not the price of entry.

Real-time voice

Go and Pion WebRTC relay audio without transcoding. Noise suppression, echo cancellation and voice activity detection run on the client.

Yours to run

Docker Compose, Helm, or a Cloudflare Tunnel. One compose file can host as many servers as you like — they share an SFU.

Desktop and web

Electron app for Linux, macOS and Windows with auto-updates, plus a browser client. The desktop app can host a server on its own.

Files and messages

Persistent chat backed by SQLite, uploads to any S3-compatible store, and thumbnails generated out of process so a bad image cannot take the server down.

Open about how it is built

Gryt is developed partly with AI assistance. The policy says which parts of the codebase never merge without a human reading the whole diff.


Get started

git clone --recurse-submodules https://github.com/Gryt-chat/gryt.git
cd gryt && ./ops/start_dev.sh

Or read the deployment guide to put it on a real machine.

Repositories

gryt Monorepo, ops, releases Shell
client Desktop and web app React · Electron
server Signalling, chat, uploads Node · Socket.IO
sfu Media relay Go · Pion
auth Accounts, optional Keycloak
image-worker Thumbnails Sharp
ui · docs · site Components, docs, landing page

Note

Gryt is in beta. Breaking changes happen between releases.

AGPL-3.0 · Built in Norway · Contributing

Pinned Loading

  1. gryt gryt Public

    The Gryt monorepo. Self-hosted voice and text chat over WebRTC: desktop and web client, signalling server, Go SFU, auth, and the ops to deploy them. Every component is a submodule with its own repo.

    Shell 37 1

  2. client client Public

    Gryt's desktop and web client. React, Vite and Electron, with noise suppression and voice activity detection running locally, and a bundled server so you can host from the app itself.

    TypeScript 1 1

  3. server server Public

    Gryt's signalling server. Rooms, presence, invites, uploads and message history on SQLite, over Socket.IO. Decides who may join a server and on what terms.

    TypeScript

  4. sfu sfu Public

    Gryt's media server, written in Go on Pion. Relays audio between participants without transcoding, and serves every Gryt server on a host from one process.

    Go 1

  5. auth auth Public

    The Keycloak stack behind Gryt accounts, with its themes, proxy config and backup tooling. An account is optional in Gryt, so this is for people who want one identity across servers.

    TypeScript

  6. image-worker image-worker Public

    Compresses uploads to AVIF and builds thumbnails for a Gryt server. Runs as its own process so a malformed image cannot take down the one holding the keys and the sockets.

    TypeScript

Repositories

Showing 10 of 27 repositories

Top languages

Loading…

Most used topics

Loading…