Gryt

Quick Start

Get Gryt running in under 5 minutes

The fastest way to run Gryt. Pre-built images from GitHub Container Registry — no cloning needed.

mkdir gryt && cd gryt
curl -LO https://raw.githubusercontent.com/Gryt-chat/gryt/main/docker-compose.yml
curl -LO https://raw.githubusercontent.com/Gryt-chat/gryt/main/.env.example
cp .env.example .env
docker compose up -d
mkdir gryt && cd gryt
wget https://raw.githubusercontent.com/Gryt-chat/gryt/main/docker-compose.yml
wget https://raw.githubusercontent.com/Gryt-chat/gryt/main/.env.example
cp .env.example .env
docker compose up -d

Wait ~30 seconds for the database to start, then open http://localhost:3666.

This spins up everything: the web client, signaling server, SFU media server, ScyllaDB, and MinIO. See the full Docker Compose guide for all configuration options, production hardening, and TLS setup.

Docker (development — from source)

If you want to hack on Gryt itself:

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

Open http://localhost:3666.

Docker (Cloudflare Tunnel)

Self-host with automatic HTTPS tunnels — no port forwarding needed for HTTP traffic:

cp ops/deploy/host/.env.example ops/deploy/host/.env
# edit .env with your Cloudflare tunnel token
docker compose -f ops/deploy/host/compose.yml up -d --build

See the Cloudflare Tunnel guide for details.

Kubernetes with Helm

helm install gryt oci://ghcr.io/gryt-chat/charts/gryt

Or from the repo:

git clone --recurse-submodules https://github.com/Gryt-chat/gryt.git
cd gryt
helm install gryt ./ops/helm/gryt \
  --set gryt.domain=yourdomain.com \
  --set server.secrets.serverPassword=your-secure-password

Configuration

All services work out-of-the-box for local use. For production, see the Configuration page.

Next steps

Can't connect? Check logs:

docker compose logs -f

Audio not working? WebRTC requires HTTPS in production — see the TLS section.

On this page