Install
Build Ursula from source and prepare a host to run the server.
Ursula is currently easiest to install from source. The build compiles Rust plus the RocksDB native dependency, so the host needs a Rust toolchain and a C/C++ build toolchain.
Prerequisites
Required:
- Rust stable and Cargo
- a C/C++ compiler
- CMake
pkg-config
Optional but recommended for the repo's developer workflow: just (recipe runner) and sccache (compiler cache). They speed up rebuilds; everything still works with plain cargo.
On macOS:
brew install rust cmake pkg-config
brew install just sccache # optional
On Debian or Ubuntu:
sudo apt-get update
sudo apt-get install -y build-essential cmake pkg-config curl
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
cargo install just sccache # optional
Build
Clone the repository, then build the workspace:
git clone https://github.com/opendurability/ursula.git
cd ursula
cargo build --release --bin ursula
If you installed just and sccache, you can use the cached recipes instead, which wire sccache into both Rust and RocksDB's C/C++ build steps:
just build
For a release binary:
cargo build --release --bin ursula
./target/release/ursula --help
Run from source
For local development, use the checked-in justfile:
just serve --node-id 1 \
--listen 127.0.0.1:4437 \
--advertise 127.0.0.1:4437 \
--data-dir ./data
For deployment, build target/release/ursula and run the binary with a config file.