Skip to main content
tuliprox consists of a Rust backend, a Yew/WebAssembly frontend, and mdBook-generated documentation. You can build each component individually or use the provided Makefile and helper scripts.

Prerequisites

1

Install the Rust toolchain

Or use the Makefile target:
2

Install build tools

This installs: cross, trunk, wasm-bindgen-cli, cargo-set-version, mdbook, and markdownlint-cli2.To install tools individually:
3

Install wasm-opt

Trunk requires a compatible wasm-opt binary in PATH to optimize the WebAssembly output.
The script downloads binaryen version 128 into .tools/wasm-tools/version_128/bin/.

Building the backend

The output binary is at target/release/tuliprox.

Building the frontend

The frontend build also generates the documentation site and copies it into the frontend distribution:
This script:
  1. Runs bin/build_docs.sh to build mdBook docs into frontend/build/docs
  2. Runs trunk build --release to compile the Yew/WASM frontend into frontend/dist
  3. Copies frontend/build/docs into frontend/dist/static/docs
For a debug build:

Building the documentation only

Output goes to frontend/build/docs. To preview locally:

Full build (backend + frontend + docs)

This builds documentation with mdBook, then calls ./bin/build_fe.sh release to produce the complete set of web assets.

Build targets

cross uses Docker to provide the correct cross-compilation toolchain for each target. Install it with cargo install cross.

Building a Docker image from source

Build the full multi-stage Docker image from the repository root:
Target a specific architecture or final stage:
Available final stages: scratch-final, alpine-final.

Helper scripts

The repository ships build helper scripts under bin/:
bin/build_docker.sh requires REPO_OWNER and GITHUB_IO_TOKEN environment variables and is intended for CI pipelines. Do not run it locally without those credentials.