Skip to content
@Gryt-chat

Gryt Chat

Gryt is an open source VoIP and instant messaging platform built using Javascript

Logo
Gryt Chat

Gryt is an open-source voice and text chat platform that values privacy and user control of data. With Gryt, users can host their own servers, giving them full control over their conversations and data. Gryt is a secure, private communication platform that empowers users to communicate freely while protecting their privacy.

AGPL-3.0 License Stars Pull Requests Issues

Website · Live App · Documentation · Source Code · Report a Bug · Request a Feature


Caution

Early Development Stage — This project is experimental and under active development. Expect breaking changes.


Why Gryt?

Most communication platforms today are owned by corporations that monetize your conversations, lock you into their ecosystem, and give you zero control over where your data lives. Gryt exists to change that.

  • Self-hostable — Run your own server. Your data stays on your hardware.
  • Open source — Every line is auditable. No telemetry, no tracking, no surprises.
  • Full-featured — Crystal-clear voice chat, persistent text messaging, file sharing — all in one platform.
  • Modern stack — Built with TypeScript, React, Go, and WebRTC for real-time performance.

What's Inside

Core Platformgryt

A monorepo using git submodules containing everything you need:

Component Repo Built With
Web Client packages/client React · TypeScript · Vite · Electron
Signaling Server packages/server Node.js · Express · Socket.IO
SFU (Media Server) packages/sfu Go · Pion WebRTC
Auth packages/auth Keycloak · OIDC
Docs packages/docs Next.js · Fumadocs
Landing Page packages/site React · Vite

Deployment Options

Method Best For
Docker Compose Quick self-hosting
Helm Chart Kubernetes clusters
Cloudflare Tunnel Tunneled hosting
Dev Scripts Local development

Get started in one command:

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

Pre-built Docker images are published to GitHub Container Registry:

Image Purpose
ghcr.io/gryt-chat/server Signaling, chat, file uploads
ghcr.io/gryt-chat/sfu WebRTC media forwarding
ghcr.io/gryt-chat/client Web UI (browser access)

Features

Voice Chat

WebRTC-powered real-time audio with noise suppression, echo cancellation, voice activity detection, and a configurable audio pipeline.

Text & Files

Persistent messaging backed by ScyllaDB with file uploads, image thumbnails, and S3-compatible object storage.

Multi-Server

Connect to multiple self-hosted servers simultaneously and switch between them seamlessly from a single client.

Privacy First

Self-host everything. Your messages, files, and voice data never touch a third-party server unless you choose to.

Desktop & Web

Clean, accessible interface built with Radix UI. Dark and light themes, responsive layout, and an Electron desktop app with auto-updates for Linux, macOS, and Windows.

Easy Deployment

Docker Compose for quick setups, Helm charts for Kubernetes, Cloudflare Tunnels for easy access, and comprehensive docs to guide you through production deployment.


Architecture

┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│   Web Client    │    │  Gryt Server    │    │   SFU Server    │
│   (React/TS)    │◄──►│ (Node.js/Express)│◄──►│     (Go)        │
│                 │    │                 │    │                 │
│ • Voice UI      │    │ • Signaling     │    │ • Media Relay   │
│ • Audio Proc.   │    │ • Persistence   │    │ • WebRTC        │
│ • Multi-Server  │    │ • File Uploads  │    │ • Track Mgmt    │
└─────────────────┘    └─────────────────┘    └─────────────────┘
         │                      │                      │
         │              ┌───────┴───────┐              │
         │              │   ScyllaDB    │              │
         │              │   + MinIO/S3  │              │
         │              └───────────────┘              │
         │                                             │
         └──────────── WebRTC Media (UDP) ─────────────┘

Contributing

We welcome contributions of all kinds — code, documentation, bug reports, and feature ideas.

  1. Fork the repo and create your branch from main
  2. Make your changes and ensure tests pass
  3. Open a pull request with a clear description of what you've done

Check out the contributing guide, browse the issue tracker for open issues, or create a feature request if you have an idea.


Made with care by the Gryt community · Licensed under AGPL-3.0

Pinned Loading

  1. gryt gryt Public

    Monorepo for the Gryt voice chat platform — a self-hostable, WebRTC-based voice communication app with a desktop client, signaling server, SFU, and Keycloak auth.

    Shell 36

  2. client client Public

    Web and desktop voice chat client built with React, Vite, and Electron. Features noise suppression, voice activity detection, multi-server support, and a Radix UI interface.

    TypeScript 1

  3. server server Public

    WebRTC signaling server for Gryt. Handles room management, user presence, rate limiting, file uploads, and message persistence with ScyllaDB — powered by Socket.IO and Express.

    TypeScript

  4. sfu sfu Public

    Lightweight Selective Forwarding Unit written in Go using Pion WebRTC. Relays audio streams between participants without transcoding for low-latency group voice chat.

    Go

  5. auth auth Public

    Centralized Keycloak authentication service for the Gryt platform. Includes custom themes, HAProxy config, bootstrap scripts, and Postgres backup tooling. Open-sourced for transparency.

    CSS

  6. image-worker image-worker Public

    Background image processing worker for Gryt. Compresses uploads to AVIF, generates thumbnails, and updates the shared SQLite database — powered by Sharp.

    TypeScript

Repositories

Showing 10 of 17 repositories
  • gryt Public

    Monorepo for the Gryt voice chat platform — a self-hostable, WebRTC-based voice communication app with a desktop client, signaling server, SFU, and Keycloak auth.

    Gryt-chat/gryt’s past year of commit activity
    Shell 36 0 7 0 Updated Apr 14, 2026
  • client Public

    Web and desktop voice chat client built with React, Vite, and Electron. Features noise suppression, voice activity detection, multi-server support, and a Radix UI interface.

    Gryt-chat/client’s past year of commit activity
    TypeScript 0 1 0 0 Updated Apr 14, 2026
  • appimage.github.io Public Forked from AppImage/appimage.github.io

    Given an URL to an AppImage, the GitHub action in this project inspects the AppImage and puts it into a community-maintained catalog

    Gryt-chat/appimage.github.io’s past year of commit activity
    Shell 0 709 0 0 Updated Mar 27, 2026
  • site Public

    Landing page for gryt.chat — built with React 19, Vite, and Radix UI.

    Gryt-chat/site’s past year of commit activity
    MDX 0 0 0 0 Updated Mar 27, 2026
  • server Public

    WebRTC signaling server for Gryt. Handles room management, user presence, rate limiting, file uploads, and message persistence with ScyllaDB — powered by Socket.IO and Express.

    Gryt-chat/server’s past year of commit activity
    TypeScript 0 0 0 0 Updated Mar 15, 2026
  • sfu Public

    Lightweight Selective Forwarding Unit written in Go using Pion WebRTC. Relays audio streams between participants without transcoding for low-latency group voice chat.

    Gryt-chat/sfu’s past year of commit activity
    Go 0 0 0 0 Updated Mar 15, 2026
  • docs Public

    Documentation site for the Gryt voice chat platform. Built with Next.js and Fumadocs, featuring MDX content, search, and custom branding.

    Gryt-chat/docs’s past year of commit activity
    MDX 0 0 0 0 Updated Mar 10, 2026
  • auth Public

    Centralized Keycloak authentication service for the Gryt platform. Includes custom themes, HAProxy config, bootstrap scripts, and Postgres backup tooling. Open-sourced for transparency.

    Gryt-chat/auth’s past year of commit activity
    CSS 0 0 0 0 Updated Mar 9, 2026
  • image-worker Public

    Background image processing worker for Gryt. Compresses uploads to AVIF, generates thumbnails, and updates the shared SQLite database — powered by Sharp.

    Gryt-chat/image-worker’s past year of commit activity
    TypeScript 0 0 0 0 Updated Mar 9, 2026
  • .github Public
    Gryt-chat/.github’s past year of commit activity
    0 0 1 0 Updated Feb 22, 2026

Top languages

Loading…

Most used topics

Loading…