Skip to content

Getting Started ​

Kizuna is a self-hosted Discord alternative with real-time text chat, voice channels (WebRTC via mediasoup SFU), and screen sharing.

Quick Start ​

Join an existing server ​

  1. Download the desktop app for Linux, macOS, or Windows
  2. Get an invite link from a server admin and paste it into the app
  3. Or try the official test server at server.use-kizuna.com

Host your own server ​

bash
git clone https://github.com/ItsAshn/kizuna.git
cd kizuna
cp .env.example .env
# Edit .env — set DOMAIN and JWT_SECRET at minimum
docker compose up -d

The server will be available at https://your-domain.com. For voice and screen sharing to work, ensure UDP ports 40000-40099 are reachable.

Features ​

  • Real-time text chat — channels, direct messages, typing indicators, and @mentions (@everyone, @here, @user)
  • Voice channels — powered by WebRTC via mediasoup SFU with per-channel audio quality controls
  • Screen sharing — share your screen in voice channels (desktop client only)
  • Custom roles & permissions — create roles with granular permissions
  • File uploads & attachments — images, video, audio, PDFs, and more with drag-and-drop
  • Invite codes — generate join links with usage limits and expiry, with QR codes
  • Cross-server — connect to multiple self-hosted Kizuna servers from one client
  • Desktop client — Windows, macOS (Apple Silicon), and Linux via Tauri v2 with auto-updates
  • Docker deployment — one-command deploy with automatic HTTPS via Caddy

Project Structure ​

PackagePathPurpose
@kizuna/serverapps/server/Node.js backend, WebSocket API, mediasoup SFU for WebRTC
@kizuna/desktopapps/desktop/Tauri v2 desktop client (React + Vite)
@kizuna/sharedpackages/shared/Shared TypeScript types and utilities