Your keys are your account.
No email, no phone number, no company in the middle. Your identity is a Nostr keypair you hold. Create one and save a twelve-word recovery phrase, or import the key you already use in another Nostr app. The same identity works on every Discordia server and in any Nostr client, and no operator can take it from you.
This colour signature is derived from the public key. Nobody else has it.
What is actually yours
Self-hosted is not decentralised, and Discordia is deliberate about that. The decentralisation is portable identity plus independent servers. A community's data lives with its operator, on purpose.
| Identity | You | A keypair. Importable as an nsec, revocable by nobody. |
|---|---|---|
| Direct messages | Your key | Encrypted on Nostr relays, never through a gateway. They follow you to another server or to any Nostr client. |
| Guild data | Whoever runs the server | Export and import move it between operators with everyone's keys intact. |
Everything a server needs, in a native app.
A Rust desktop client, not a web page in a frame. Voice, video and the mixer run natively, and nothing in it phones home.
Text and voice channels
Guilds with roles, moderation, custom emoji, a soundboard, and levels the guild defines for itself.
Screen share with the sound
Share a window or a whole screen with its system audio, turn on a camera, or pop a stream out into its own window.
DMs no server can read
Direct messages are NIP-17 gift wraps, NIP-44 encrypted, carried by Nostr relays. They never touch the gateway and follow you into any Nostr client.
Encrypted calls
Voice and screen share are encrypted end to end between the people in the call. The media relay forwards ciphertext.
Bots
A Rust bot SDK against the same wire protocol the client speaks. The server's own integration tests drive it.
A room you rearrange
Panels drag, resize and snap to presets like furniture. Your layout is yours and comes back next time.
Take your guild with you
Export writes a guild out with its members' keys intact. Import brings it up under another operator with the same people in it.
Works offline, at home
Home and your DMs need no server at all. A guild appears when you connect to one.
One binary, three ways
The desktop app embeds the server. The same server ships alone for a box, and as a Docker image.
Run it from the app.
Hosting is a button, not a weekend. The desktop app starts a gateway and a bundled voice server in-process, and the rendezvous at discordia.world introduces your friends to it without showing them your address.
Create a server
Open Discordia, choose Create a server, and give it a name. Pick a spot on the globe or leave it off.
Launch
The gateway and the voice server start inside the app. Your data lands in your own config directory, and you are the operator.
Share the code
Friends type it into their app. The connection is QUIC keyed to your host, punched through your NAT or carried by the relay as ciphertext when it cannot be.
Download
Every build comes from a public GitHub Actions run and is signed. Nothing in the app reports back to anyone.
Looking up the latest release…
- macOSApple silicon, disk image
- WindowsInstaller
- Windows portableZip, no installer
- Linuxx86_64 AppImage
Verify a download
Releases are signed with minisign. The public key lives in the repository as release-signing.pub, and every file has a .minisig beside it.
minisign -Vm Discordia-macos-arm64.dmg -P RWRC4u05WSE3oLs4o2ZKddADDC0QrOba58PqVBVYxog366q5Hk3wrTdM