Garrison Documentation
Garrison is a self-hosted, featherweight, end-to-end-encrypted, guild-first comms app for gamers, a modern alternative to mainstream chat services that's light enough it won't cost you frames, private by default, and ships the whole guild toolkit built in.
New here? Jump to Getting Started to install the app, or Self-Hosting to stand up your own server in one command.
What makes Garrison different
Featherweight
A native Tauri desktop app, not Electron, that idles around ~15 MB of RAM. It stays out of the way of your game.
Private by default
Self-hosted with no telemetry, and real end-to-end encryption (MLS / RFC 9420) for encrypted channels.
Guild-first
Roles & ranks, an event scheduler with RSVPs, invites, and granular permissions are core, not bolted on.
One backend, every client
The same Go services power the web app and the desktop app, so every device stays in lockstep.
Everything Garrison does
- Messaging: servers, categories, text/voice channels, replies, reactions, edits, pins, threads, mentions, DMs, search, forwarding, custom emoji, uploads, embeds, GIFs, and live translation. Read more â
- Voice, video & screen-share: low-latency self-hosted voice, priority-speaker channels, a cross-channel "command net", push-to-talk, a game overlay, and voice moderation. Read more â
- Roles & permissions: an editable
@everyonebase role, an Administrator permission, enforced role hierarchy, per-channel overrides, role colors, and a rank-ladder preset. Read more â - Guild toolkit: a raid/siege/event scheduler with RSVPs posted as in-channel cards, plus invites, kicks, and bans. Read more â
- Security & encryption: MLS end-to-end encryption, argon2id passwords, rotating refresh tokens with theft detection, and TOTP two-factor auth. Read more â
Where it runs
| Client | Platform | Highlights |
|---|---|---|
| Web | Any modern browser | Full app, nothing to install. Next.js 15 / React 19, dark "war-room" theme, 14 accent themes. |
| Desktop | Windows (Tauri v2) | System tray, close-to-tray, global push-to-talk hotkeys, a game overlay, and signed auto-updates. |
| Android | APK | The same app, packaged for your phone. iOS is on the roadmap. |
How it's built
Garrison is a small set of Go services behind a TLS edge. Clients talk to a REST API for everything request/response, and to a WebSocket gateway for real-time fan-out (messages, presence, voice signaling). Voice/video/screen-share run through a self-hosted LiveKit SFU. The server only ever stores opaque ciphertext for encrypted channels, it can't read them.
Want the deep version? See Self-Hosting for how the whole stack comes up with one command, and Security & Encryption for the end-to-end-encryption model.