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.
| OS | Also needs | Produces |
|---|---|---|
| macOS | Xcode Command Line Tools — xcode-select --install | .app and .dmg |
| Windows | Microsoft C++ Build Tools ("Desktop development with C++"). WebView2 ships with Windows 10/11. | .exe NSIS installer |
| Ubuntu / Debian | webkit2gtk 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-devTauri 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 installerInstallers 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-darwinThe 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 --versionThat 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.zipThe server
Nothing to build. It is standard-library Python:
cd CambiumServer
python3 server.pyReclaiming 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/.