docs: update contributing and quick-start for Linux/ARM64/Docker

contributing.md:
- Prerequisites now show Windows/Linux/ARM64 support matrix
- Client commands split into Build, Tests, Typecheck/Lint/Format sections
- Add 7 missing commands: lint:ox, format, format:check, knip,
  test:mutate, test:mutate:dry, test:browser

quick-start.md:
- Prerequisites table covers Windows + Linux x64 + ARM64
- Step 1 split into 3 options: pre-built binaries, Docker, build from source
- Release table lists all platform artifacts (exe, AppImage, deb)
- Docker quick-start references deployment.md Docker section
This commit is contained in:
J3vb
2026-04-03 14:37:46 +02:00
parent 8a5b001e41
commit 1d712828e4
2 changed files with 64 additions and 17 deletions
+29 -5
View File
@@ -6,11 +6,16 @@ How to set up the development environment and contribute to OwnCord.
### Prerequisites
- **Windows 10+** (x64) — required for the Tauri client
- **Linux x64** — supported for server-only development
| Platform | Server | Client |
|----------|--------|--------|
| Windows 10+ x64 | ✅ | ✅ |
| Linux x64 | ✅ | ✅ |
| Linux ARM64 | ✅ | ✅ (CI only) |
- **Go 1.25+** (server)
- **Node.js 20+** (client)
- **Rust / Cargo** (Tauri client)
- **Rust / Cargo** (Tauri client — not needed for server-only work)
- **Docker + Compose v2** (optional — alternative to building the server locally)
### Available Commands
@@ -26,12 +31,19 @@ How to set up the development environment and contribute to OwnCord.
#### Client (Tauri v2)
**Build & dev**
| Command | Description |
|---------|-------------|
| `npm run dev` | Start Vite dev server with hot reload |
| `npm run build` | TypeScript check + Vite production build |
| `npm run tauri dev` | Launch Tauri app in dev mode |
| `npm run tauri build` | Build release installer |
| `npm run tauri build` | Build release installer (NSIS on Windows, AppImage+deb on Linux) |
**Tests**
| Command | Description |
|---------|-------------|
| `npm test` | Run all tests (vitest) |
| `npm run test:unit` | Unit tests only |
| `npm run test:integration` | Integration tests only |
@@ -41,10 +53,22 @@ How to set up the development environment and contribute to OwnCord.
| `npm run test:e2e:ui` | Playwright UI mode |
| `npm run test:watch` | Vitest watch mode |
| `npm run test:coverage` | Coverage report |
| `npm run test:mutate` | Stryker mutation testing |
| `npm run test:mutate:dry` | Stryker dry-run (no mutations applied) |
| `npm run test:browser` | Vitest browser-mode tests |
**Type checking, linting & formatting**
| Command | Description |
|---------|-------------|
| `npm run typecheck` | Full typecheck (all sources) |
| `npm run typecheck:build` | Typecheck build config only |
| `npm run lint` | ESLint check (src/) |
| `npm run lint` | oxlint + ESLint check (src/) |
| `npm run lint:fix` | ESLint auto-fix |
| `npm run lint:ox` | oxlint only (fast correctness checks) |
| `npm run format` | Prettier format (src/ + tests/) |
| `npm run format:check` | Prettier check only (no writes) |
| `npm run knip` | Dead code and unused export detection |
## Active Branches
+35 -12
View File
@@ -4,32 +4,55 @@ Get OwnCord up and running in minutes.
## Prerequisites
- **Windows 10+** (x64)
| | Windows x64 | Linux x64 | Linux ARM64 |
|-|:-----------:|:---------:|:-----------:|
| Server | ✅ | ✅ | ✅ |
| Client | ✅ | ✅ | ✅ |
- **Go 1.25+** (only if building the server from source)
- **Node.js 20+** (only if building the client from source)
- **Rust / Cargo** (only if building the Tauri client from source)
- **LiveKit Server** binary (optional, for voice/video) -- see [LiveKit Setup](livekit-setup.md)
- **Node.js 20+** + **Rust / Cargo** (only if building the client from source)
- **Docker + Compose v2** (alternative to building the server — Linux only)
- **LiveKit Server** (optional, for voice/video) -- see [LiveKit Setup](livekit-setup.md)
## Step 1: Download
Get the latest release from GitHub Releases. Download `chatserver.exe` and the `OwnCord` installer.
### Option A — Pre-built binaries (recommended)
Or build from source:
Download from [GitHub Releases](https://github.com/J3vb/OwnCord/releases):
| Platform | Server | Client |
|----------|--------|--------|
| Windows x64 | `chatserver.exe` | `OwnCord_x.x.x_x64-setup.exe` |
| Linux x64 | `chatserver-linux-amd64.tar.gz` | `OwnCord_x.x.x_x86_64.AppImage` or `_amd64.deb` |
| Linux ARM64 | _(included in server tar)_ | `OwnCord_x.x.x_aarch64.AppImage` or `_arm64.deb` |
### Option B — Docker (Linux server only)
```bash
# Server
cd Server
go build -o chatserver.exe -ldflags "-s -w -X main.version=1.0.0" .
cp .env.example .env # set LIVEKIT_API_KEY + LIVEKIT_API_SECRET
cp livekit.yaml.example livekit.yaml # set node_ip + matching keys
docker compose up -d
```
See [Deployment Guide — Docker](deployment.md#docker-linux) for full details.
### Option C — Build from source
```bash
# 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
cd Client/tauri-client && npm install && npm run tauri build
```
## Step 2: Run the Server
Run `chatserver.exe`. On first run:
**Windows/Linux binary:** Run `chatserver.exe` (Windows) or `./chatserver` (Linux). On first run:
1. `config.yaml` is created in the working directory with default settings
2. `data/` directory is created for the database, TLS certs, uploads, and backups