AGPL-3.0 · Self-hosted · E2EE · Desktop App

Team communication
on your terms

OpenCorde is a self-hosted team communication platform you run yourself. Spaces, channels, voice, video, threads, forums, end-to-end encryption, and a Discord bridge — all on infrastructure you own.

Everything your team needs

🔐

End-to-End Encryption

MLS protocol (RFC 9420) for text channels, voice, video, and file transfers. Keys never leave your device.

🎙️

Voice & Video

LiveKit-powered SFU with screen sharing, noise suppression, per-participant controls, and stage channels.

🌉

Discord Bridge

Bidirectional message bridging with Discord via ghost users. Migrate communities without losing history.

🗂️

Forums & Events

Threaded forum channels with posts and replies. Scheduled events with RSVP and calendar integration.

🔍

Full-Text Search

Tantivy-powered search across all messages, channels, and attachments — instant, server-side.

🕸️

Federation-Ready

Built around Ed25519 node identity and a peer registry. Cross-instance messaging is on the roadmap — the architecture is designed for it from day one.

🛡️

Your Infrastructure

Self-host on any Linux server. PostgreSQL, Redis, MinIO, LiveKit — all standard open-source components.

Self-host in minutes

Requires: Docker, Rust toolchain, Node.js 20+

1 Clone & configure
git clone https://github.com/opencorde/opencorde
cp .env.example .env
# Edit .env — set JWT_SECRET, database credentials, SMTP
2 Start services
docker compose up -d
# Starts PostgreSQL, Redis, MinIO, LiveKit
3 Run the API
cargo run -p opencorde-api
# Runs migrations automatically on first boot
4 Launch the client
cd client && npm install && npm run dev
# Or build the Tauri desktop app:
npm run tauri build

Full documentation and Docker Compose reference in the README.