Files
OwnCord/docs/quick-start.md
T
Claude 82893e036b fix(client): start reliably on Wayland; degrade PTT without X11
On Wayland sessions (notably GNOME + NVIDIA), WebKitGTK's DMABUF renderer
can crash or render a blank window, so the client failed to start. Set
WEBKIT_DISABLE_DMABUF_RENDERER=1 on Wayland unless the user has already set
it themselves.

device_query's global key state needs an X11/XWayland display and panicked
per poll on pure-Wayland setups. Use DeviceState::checked_new() so push-to-
talk degrades to inactive with a single warning instead.

Fixes #96

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LwtnpHAoSFr1ZibQgQkNQK
2026-07-19 10:50:10 +00:00

2.6 KiB

Quick Start Guide

Get OwnCord running with the fewest possible steps.

Choose Your Setup Path

Goal Best path
Fastest local/LAN setup Prebuilt binaries
Linux server with easiest operations Docker
Custom dev build Build from source

Platform Support (Current Releases)

Component Windows x64 Linux x64 Linux ARM64
Server binary Yes Yes Not published yet
Desktop client Yes Yes Yes

Prerequisites

  • Go 1.25+ (only if building server from source)
  • Node.js 20+ and Rust (only if building client from source)
  • Docker + Compose v2 (Docker path only)
  • LiveKit (optional, required for voice/video)
  1. Download from GitHub Releases.
  2. Start the server:
    • Windows: chatserver.exe
    • Linux: ./chatserver
  3. Open https://localhost:8443/admin.
  4. Create the Owner account.
  5. Create invite codes and share them.

Option B: Docker (Linux server)

cd Server
cp .env.example .env
cp livekit.yaml.example livekit.yaml
# Edit both files before start
docker compose up -d

Then open https://localhost:8443/admin and create the Owner account.

Full Docker details: Deployment Guide.

Option C: Build from source

# Server (Windows)
cd Server
go build -o chatserver.exe -ldflags "-s -w -X main.version=1.0.0" .

# Server (Linux)
cd Server
CGO_ENABLED=0 go build -o chatserver -ldflags "-s -w -X main.version=1.0.0" .

# Client
cd Client/tauri-client
npm install
npm run tauri build

What Happens on First Server Start

  • config.yaml is created with defaults.
  • data/ is created for DB, certs, uploads, and backups.
  • A self-signed TLS certificate is generated.
  • SQLite schema and migrations are applied.

Client Connection Notes

  • The default server address is https://<server-ip>:8443.
  • The desktop client uses TOFU certificate pinning:
    • First connection prompts for trust.
    • Future connections require the same cert fingerprint.
  • Linux/Wayland: the client automatically sets WEBKIT_DISABLE_DMABUF_RENDERER=1 on Wayland sessions to work around WebKitGTK rendering crashes. Export the variable yourself (any value) before launching to override this.

If Remote Users Cannot Connect

  1. Use Tailscale for the simplest remote setup.
  2. Or configure Port Forwarding.

Next Steps