Installation
Raahi ships as one executable plus the built admin UI.
Prerequisites
Section titled “Prerequisites”- Rust 1.84 or newer to compile Raahi
- Node.js 20 or newer
cmake, Go, Perl, and a C or C++ compiler for native build dependenciesjustfor the repository recipes- pnpm or npm for the admin UI
On Debian or Ubuntu:
sudo apt install build-essential cmake golang perlRun the repository check before building:
just doctorBuild from source
Section titled “Build from source”git clone https://git.simhadri.rocks/iamd3vil/raahi.gitcd raahijust setupjust releaseThe release binary is written to target/release/raahi. The UI build is written to ui/build.
Run it from the repository root:
./target/release/raahiBuild a portable Linux archive
Section titled “Build a portable Linux archive”just dist builds a static musl executable and packages it with the admin UI:
uv tool install cargo-zigbuildjust distThe archive is written under dist/. It runs on x86-64 Linux without shared library dependencies. You need zig on PATH to build it.
tar xzf dist/raahi-v*-x86_64-unknown-linux-musl.tar.gzcd raahi-v*./raahiFix stddef.h build failures
Section titled “Fix stddef.h build failures”Some Linux distributions install libclang without its built-in C headers. The just recipes set BINDGEN_EXTRA_CLANG_ARGS when needed. Set it yourself if you run Cargo directly:
export BINDGEN_EXTRA_CLANG_ARGS="-I$(cc -print-file-name=include)"cargo build --releaseContinue with the quickstart to run a local upstream and send traffic through Raahi.