# Gryt Gryt is an open-source WebRTC voice chat platform. Self-hostable, with a desktop client, a signalling server and an SFU for media. Everything at once: https://docs.gryt.chat/llms-full.txt Single page: append .md to any docs URL below. ## Documentation - [Gryt Documentation](https://docs.gryt.chat/docs.md): Documentation for the Gryt WebRTC voice chat platform - Use Gryt: Install it, and find your way around - [Using Gryt](https://docs.gryt.chat/docs/use.md): Install it, sign in, and find your way around - [Installation](https://docs.gryt.chat/docs/use/installation.md): Download and install the Gryt desktop client on Windows, macOS, or Linux - [Updates](https://docs.gryt.chat/docs/use/updates.md): How the desktop client updates itself, and what to do when it stops - [Do I need an account?](https://docs.gryt.chat/docs/use/accounts.md): No. Here is what you get if you make one anyway, and what it costs you if you don't. - [User Interface](https://docs.gryt.chat/docs/use/interface.md): Design system, themes, and accessibility - [Threads and forum channels](https://docs.gryt.chat/docs/use/threads.md): Branch a conversation off a message, or run a whole channel that way - [Voice](https://docs.gryt.chat/docs/use/voice.md): Talking to people, and what happens when things go wrong - [Audio processing](https://docs.gryt.chat/docs/use/audio.md): What happens to your voice between the microphone and the network - [Roles and permissions](https://docs.gryt.chat/docs/use/roles.md): What people are allowed to do on your server, and how to decide it - [Custom Emojis](https://docs.gryt.chat/docs/use/emojis.md): Upload, manage, and import custom emojis for your Gryt server - [Accessibility](https://docs.gryt.chat/docs/use/accessibility.md): Our commitment and roadmap toward full accessibility - [FAQ](https://docs.gryt.chat/docs/use/faq.md): Frequently asked questions about Gryt - [Troubleshooting](https://docs.gryt.chat/docs/use/troubleshooting.md): Common issues and solutions for Gryt - Host Gryt: Run a server, on anything from a spare PC to a VPS - [Hosting Gryt](https://docs.gryt.chat/docs/host.md): Run a server, on anything from a spare PC to a VPS - **Getting one up** - [Quick Start](https://docs.gryt.chat/docs/host/quick-start.md): Getting a Gryt server running - [The gryt CLI](https://docs.gryt.chat/docs/host/cli.md): gryt, the terminal manager for self-hosted Gryt servers - [Hosting from the app](https://docs.gryt.chat/docs/host/from-the-app.md): The desktop client ships with a server in it. Run one, or several, without a terminal. - [Docker Compose](https://docs.gryt.chat/docs/host/docker-compose.md): Self-host Gryt with a single docker compose up — no cloning required - [Pelican panel](https://docs.gryt.chat/docs/host/pelican.md): One-click Gryt server if you already run Pelican or Pterodactyl - [Windows (no Docker)](https://docs.gryt.chat/docs/host/windows.md): Run a Gryt server on Windows without Docker — just extract and start - **Letting people reach it** - [No domain, just an IP](https://docs.gryt.chat/docs/host/no-domain.md): Open three ports, hand out your address, done. The way a Minecraft server works. - [Cloudflare Tunnel](https://docs.gryt.chat/docs/host/cloudflare-tunnel.md): Host Gryt behind Cloudflare Tunnel (HTTP) + direct UDP (WebRTC media) - [Tailscale](https://docs.gryt.chat/docs/host/tailscale.md): Play with friends who aren't on your network, without touching your router - **The services** - [The Gryt server](https://docs.gryt.chat/docs/host/server.md): The Gryt server — chat, identity, permissions and everything that isn't media - [The voice server](https://docs.gryt.chat/docs/host/sfu.md): The Go SFU that carries voice, video and screen share - [Configuration](https://docs.gryt.chat/docs/host/configuration.md): How each Gryt service is configured, and the settings that span more than one - [Identity](https://docs.gryt.chat/docs/host/identity.md): Who can join your server, and what that costs you - [Multi-Server](https://docs.gryt.chat/docs/host/multi-server.md): Connecting to multiple Gryt servers - **Running it** - [Uploads and the media worker](https://docs.gryt.chat/docs/host/uploads.md): What happens to a picture or video before anyone sees it, on each way of hosting Gryt - [Rate Limiting](https://docs.gryt.chat/docs/host/rate-limiting.md): How the server decides somebody is going too fast - [Backups](https://docs.gryt.chat/docs/host/backups.md): What to copy, why copying gryt.db on its own can hand you an empty database, and how to check a backup before you need it. - [Monitoring](https://docs.gryt.chat/docs/host/monitoring.md): Monitor your Gryt instance with Prometheus and Grafana - [Voice Debugging](https://docs.gryt.chat/docs/host/voice-debugging.md): Finding out why voice won't connect - Build on Gryt: Bots, addons, plugins and the SDKs - [Building on Gryt](https://docs.gryt.chat/docs/build.md): Bots, addons, plugins, and the packages you can build against - **Addons and plugins** - [Addons](https://docs.gryt.chat/docs/build/addons.md): Themes and plugins, what a plugin can ask for, and what that does and doesn't protect you from - [Addon API](https://docs.gryt.chat/docs/build/addon-api.md): Everything on the gryt object a client plugin runs against, generated from the source - [Server plugins](https://docs.gryt.chat/docs/build/server-plugins.md): Code that runs inside your server, what it can hear, and why installing one is a bigger decision than a theme - [Server plugin API](https://docs.gryt.chat/docs/build/server-plugin-api.md): Every capability, event and call a server plugin gets, generated from the source - [Plugin pairs](https://docs.gryt.chat/docs/build/plugin-pairs.md): A plugin on the client, the same plugin on the server, and a pipe between them - **Bots and webhooks** - [Writing a bot](https://docs.gryt.chat/docs/build/bots.md): Writing and running a Gryt bot - [Bot API](https://docs.gryt.chat/docs/build/bot-api.md): Everything @gryt/bot exports, generated from the source - [Webhooks](https://docs.gryt.chat/docs/build/webhooks.md): Post messages and cards into a Gryt channel with one HTTP request, and try a card before you send it. - **The server's own API** - [Server API](https://docs.gryt.chat/docs/build/server-api.md): Every REST endpoint and Socket.IO event the server answers - **Voice SDK** - [Voice SDK](https://docs.gryt.chat/docs/build/voice.md): The Gryt voice engine as an npm package - [Getting started](https://docs.gryt.chat/docs/build/voice-getting-started.md): Wiring the engine into a React app - [The seams](https://docs.gryt.chat/docs/build/voice-seams.md): The five interfaces the engine can't work out for itself - [Hooks](https://docs.gryt.chat/docs/build/voice-hooks.md): The API you actually call - **Component library** - [Component library](https://docs.gryt.chat/docs/build/ui.md): The two packages Gryt's interface is built from - [React Native](https://docs.gryt.chat/docs/build/ui-react-native.md): @gryt/ui-native, and where a phone forces a different answer - About Gryt: How it works, what it promises, and how to help - [About Gryt](https://docs.gryt.chat/docs/about.md): What the pieces are, what Gryt promises, and how to help - **What Gryt is** - [Why Gryt?](https://docs.gryt.chat/docs/about/why-gryt.md): Philosophy, trust boundaries, and a simple architecture overview - [Architecture](https://docs.gryt.chat/docs/about/architecture.md): What the pieces are and how they fit together - [Security](https://docs.gryt.chat/docs/about/security.md): How Gryt protects your identity across untrusted servers - **Where it is going** - [Roadmap](https://docs.gryt.chat/docs/about/roadmap.md): What's shipped, what's in progress, and what's coming next - [Feature requests](https://docs.gryt.chat/docs/about/feature-requests.md): Where to request features and how to run our feedback board - **Helping** - [Contributing](https://docs.gryt.chat/docs/about/contributing.md): How to contribute to Gryt - [Build from Source](https://docs.gryt.chat/docs/about/build-the-client.md): Compile the Gryt desktop client yourself from the public source code - [Inside the client](https://docs.gryt.chat/docs/about/client-internals.md): How the desktop and web client is laid out, and how to run it locally - [The gryt.chat site](https://docs.gryt.chat/docs/about/website.md): The gryt.chat marketing site and blog — Vite, React, and MDX - [Writing Blog Posts](https://docs.gryt.chat/docs/about/blog.md): How to create and format blog posts for gryt.chat/blog - **Policies** - [AI Policy](https://docs.gryt.chat/docs/about/ai.md): How AI is and isn't used in Gryt's development - [Licensing](https://docs.gryt.chat/docs/about/licensing.md): How Gryt is licensed and what that means for you