Cambium

Documentation

Cambium Client

Building from Source

The client is a Tauri app: a React frontend in a Rust shell. The server is plain Python and needs no build at all. Grab a copy of the source from the source page and work from the repo root.

Prerequisites

Everyone needs Node.js LTS (for npm) and Rust via rustup. Then some system libraries, depending on the OS.

OSAlso needsProduces
macOSXcode Command Line Tools — xcode-select --install.app and .dmg
WindowsMicrosoft C++ Build Tools ("Desktop development with C++"). WebView2 ships with Windows 10/11..exe NSIS installer
Ubuntu / Debianwebkit2gtk 4.1 and friends — see the block below.AppImage and .deb
sudo apt update
sudo apt install -y libwebkit2gtk-4.1-dev build-essential curl wget file \
  libxdo-dev libssl-dev libayatana-appindicator3-dev librsvg2-dev

Tauri v2 needs webkit2gtk 4.1, which means Ubuntu 22.04 or newer. On an older distro with only 4.0 you will need to upgrade.

Build it

cd CambiumClient/TauriClient
npm install          # first time, and after dependency changes
npm run build:tauri  # frontend, Rust, and the installer

Installers land in CambiumClient/target/release/bundle/, under dmg/, nsis/ or appimage/ depending on the platform. (The crates share one workspace target directory at the CambiumClient root.)

Apple Silicon vs Intel

The build targets your own chip. To force one, add the target and pass it through:

rustup target add aarch64-apple-darwin
npm run build:tauri -- --target aarch64-apple-darwin

The command-line client

The cambium CLI is plain Rust — none of the Tauri system libraries above are needed for it, just rustup:

cd CambiumClient
cargo build --release -p cambium-cli
./target/release/cambium --version

That binary is self-contained: put it anywhere on your PATH and you are done. If you want an archive laid out exactly like the ones on the downloads page — the bare binary at the archive root plus the MIT LICENSE, whose notice must travel with any copy — package it like this:

# macOS / Linux
tar -czf cambium-cli-<version>-macos-$(uname -m).tar.gz \
  -C target/release cambium -C ../.. LICENSE
# Windows (PowerShell)
Compress-Archive -Force target\release\cambium.exe, LICENSE `
  cambium-cli-<version>-windows-x86_64.zip

The server

Nothing to build. It is standard-library Python:

cd CambiumServer
python3 server.py

Reclaiming space

These are all regenerated by npm install or a rebuild, so they are safe to delete when you are done: CambiumClient/target/ (the big one, multiple GB), CambiumClient/TauriClient/node_modules/, and CambiumClient/TauriClient/dist/.