diff --git a/README.md b/README.md index 61371a8b..8ef26a97 100644 --- a/README.md +++ b/README.md @@ -11,10 +11,10 @@ > **Early Alpha — Building in the Open** > OwnCord is under active development and is not production-ready. Do not use it for sensitive communications. Security hardening is in progress. Contributions and [security reports](https://github.com/J3vb/OwnCord/issues) are welcome. -A self-hosted Windows chat platform with real-time messaging, +A self-hosted chat platform with real-time messaging, voice/video, file sharing, and a web admin panel. Run your own -server and keep everything under your control — zero cloud -dependencies, works fully on LAN. +server on Windows or Linux and keep everything under your control +— zero cloud dependencies, works fully on LAN.

OwnCord Client @@ -27,9 +27,11 @@ dependencies, works fully on LAN. ## Quick Start -1. Download `chatserver.exe` and the OwnCord installer from - [GitHub Releases](https://github.com/J3vb/OwnCord/releases) -2. Run `chatserver.exe` — generates `config.yaml` and a `data/` +1. Download the server binary and the OwnCord installer from + [GitHub Releases](https://github.com/J3vb/OwnCord/releases): + - **Windows**: `chatserver.exe` + - **Linux**: `chatserver-linux-amd64.tar.gz` (extract to get `chatserver`) +2. Run `chatserver.exe` / `./chatserver` — generates `config.yaml` and a `data/` directory (database, TLS certs, uploads, backups) on first run 3. Open `https://localhost:8443/admin` to create the Owner account 4. Generate an invite code in the admin panel and share it @@ -236,15 +238,22 @@ OwnCord/ - Go 1.25+ - Node.js 20+ - Rust (stable) -- Windows 10/11 +- Windows 10/11 (client) or Linux x64 (server) ### Server +**Windows:** ```bash cd Server go build -o chatserver.exe -ldflags "-s -w -X main.version=1.0.0" . ``` +**Linux:** +```bash +cd Server +CGO_ENABLED=0 go build -o chatserver -ldflags "-s -w -X main.version=1.0.0" . +``` + ### Client ```bash diff --git a/docs/contributing.md b/docs/contributing.md index ea599e49..0bd86704 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -6,7 +6,8 @@ How to set up the development environment and contribute to OwnCord. ### Prerequisites -- **Windows 10+** (x64) +- **Windows 10+** (x64) — required for the Tauri client +- **Linux x64** — supported for server-only development - **Go 1.25+** (server) - **Node.js 20+** (client) - **Rust / Cargo** (Tauri client) @@ -17,7 +18,8 @@ How to set up the development environment and contribute to OwnCord. | Command | Description | |---------|-------------| -| `go build -o chatserver.exe -ldflags "-s -w" .` | Build server binary | +| `go build -o chatserver.exe -ldflags "-s -w" .` | Build server binary (Windows) | +| `CGO_ENABLED=0 go build -o chatserver -ldflags "-s -w" .` | Build server binary (Linux) | | `go test ./...` | Run all server tests | | `go test ./... -cover` | Run server tests with coverage | | `go test -race ./...` | Run server tests with race detection | diff --git a/docs/deployment.md b/docs/deployment.md index 23fe0853..6b2c93c2 100644 --- a/docs/deployment.md +++ b/docs/deployment.md @@ -1,25 +1,35 @@ # Deployment Guide -Production deployment guide for OwnCord server on Windows. +Production deployment guide for OwnCord server on Windows and Linux. ## Prerequisites -- **Windows 10+** (x64) +- **Windows 10+** (x64) or **Linux** (x64) - **Go 1.25+** (only if building from source) - **LiveKit Server** binary (for voice/video) -- see [LiveKit Setup](livekit-setup.md) - Ports available: `8443` (default), `7880` (LiveKit), `80` (if using ACME/Let's Encrypt) ## Building from Source +**Windows:** ```bash cd Server go build -o chatserver.exe -ldflags "-s -w -X main.version=1.0.0" . ``` +**Linux:** +```bash +cd Server +CGO_ENABLED=0 go build -o chatserver -ldflags "-s -w -X main.version=1.0.0" . +``` + - `-s -w` strips debug info (smaller binary) - `-X main.version=...` embeds the version string +- `CGO_ENABLED=0` produces a fully static binary on Linux -Alternatively, download a pre-built `chatserver.exe` from GitHub Releases. +Alternatively, download a pre-built binary from GitHub Releases: +- **Windows**: `chatserver.exe` +- **Linux**: `chatserver-linux-amd64.tar.gz` (extract to get `chatserver`) ## First Run Behavior