Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Build from source

Compile the boatramp binary (server + CLI) yourself and choose which capabilities to include. The default build is lean — filesystem blobs and the SlateDB metadata store — and every heavier capability is a cargo feature you add on the build command.

For prebuilt archives and packages instead, see Install boatramp.

Before you start

Install a recent stable Rust toolchain with rustup, then confirm it:

cargo --version
cargo 1.85.0

Clone the repository and change into it:

git clone https://github.com/BoatRamp/BoatRamp.git
cd BoatRamp

Build the default binary

Build the boatramp package in release mode:

cargo build --release -p boatramp
    Finished `release` profile [optimized] target(s) in 2m 41s

This compiles the default features, fs and slatedb. The binary lands at target/release/boatramp.

Select features

Name extra features with --features, comma-separated, to compile in more capabilities. This build adds HTTPS, the handler engine, and wildcard ACME DNS-01:

cargo build --release -p boatramp --features tls,handlers,acme-dns
    Finished `release` profile [optimized] target(s) in 3m 12s

Some features imply others — acme-dns and http3 each pull in tls, and cluster pulls in handlers and slatedb. For every feature and what it enables, see Cargo features & platform support.

Build with Nix

The flake pins the exact toolchain from rust-toolchain.toml, so the compiler matches CI:

nix build
/nix/store/…-boatramp-0.1.0

The result is symlinked at result/bin/boatramp. Enter the dev shell with nix develop for the pinned toolchain plus the just build, just test, and just lint targets.

Verify the build

./target/release/boatramp --version
boatramp 0.1.0

See also