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.
@@ -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