Skip to content

Server quick start

Get a server running in under 10 minutes.


  • A machine with a public IP address (Linux, FreeBSD, or macOS)
  • Port 443 open in your firewall/security group
  • Root or sudo access

Download the binary for your platform (rchat-server-x86_64-linux-gnu, rchat-server-aarch64-linux-gnu or rchat-server-x86_64-freebsd) from the releases page, then install it:

Terminal window
chmod +x rchat-server-*
sudo mv rchat-server-* /usr/local/bin/rchat-server

See Server Installation for all available binaries and checksum verification.

Verify it works:

Terminal window
rchat-server --help

rChat requires a valid TLS certificate for the domain clients connect to.

Using Let’s Encrypt (certbot):

Terminal window
sudo apt install certbot
sudo certbot certonly --standalone -d your-domain.com

Your certificate files will be at:

  • /etc/letsencrypt/live/your-domain.com/fullchain.pem
  • /etc/letsencrypt/live/your-domain.com/privkey.pem

Terminal window
sudo mkdir -p /etc/rchat
sudo nano /etc/rchat/server.toml
[server]
bind_addr = "0.0.0.0:443"
max_connections = 100000
rate_limit_bps = 1048576
circuit_ttl_secs = 3600
connection_timeout_secs = 300
[server.tls]
cert_path = "/etc/letsencrypt/live/your-domain.com/fullchain.pem"
key_path = "/etc/letsencrypt/live/your-domain.com/privkey.pem"

Terminal window
sudo rchat-server --config /etc/rchat/server.toml

You should see output like:

INFO Listening on 0.0.0.0:443
INFO WebSocket endpoint: /ws
INFO Max connections: 100000

Once confirmed working, set it up as a systemd service to run on boot.


Clients connect to:

wss://your-domain.com/ws

Give your users the server address. No prekey bundle or server identity file is needed — rChat clients authenticate each other directly.