Files
quicproquo/docs/src/getting-started/prerequisites.md
Christian Nennemann 2e081ead8e chore: rename quicproquo → quicprochat in docs, Docker, CI, and packaging
Rename all project references from quicproquo/qpq to quicprochat/qpc
across documentation, Docker configuration, CI workflows, packaging
scripts, operational configs, and build tooling.

- Docker: crate paths, binary names, user/group, data dirs, env vars
- CI: workflow crate references, binary names, artifact names
- Docs: all markdown files under docs/, SDK READMEs, book.toml
- Packaging: OpenWrt Makefile, init script, UCI config (file renames)
- Scripts: justfile, dev-shell, screenshot, cross-compile, ai_team
- Operations: Prometheus config, alert rules, Grafana dashboard
- Config: .env.example (QPQ_* → QPC_*), CODEOWNERS paths
- Top-level: README, CONTRIBUTING, ROADMAP, CLAUDE.md
2026-03-21 19:14:06 +01:00

2.5 KiB

Prerequisites

Before building quicprochat you need a Rust toolchain. No other system tools are required — Protobuf compilation is handled automatically at build time by the protobuf-src crate, which vendors the protoc compiler. Docker is optional and useful for reproducible builds and deployment.


Rust toolchain

Minimum supported Rust version: 1.77+ (stable)

quicprochat uses the 2021 edition and workspace resolver v2. Any stable Rust release from 1.77 onward should work. Install or update via rustup:

# Install rustup (if not already present)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

# Ensure you are on a recent stable release
rustup update stable
rustup default stable

# Verify
rustc --version   # should print 1.77.0 or later
cargo --version

The workspace depends on several crates that use procedural macros (serde_derive, clap_derive, tls_codec_derive, thiserror, prost-derive). These compile during the build step and require no additional system libraries beyond what rustc ships.


No external compiler dependencies

In v2, all wire-format serialisation uses Protobuf via the prost crate. The quicprochat-proto crate's build.rs script drives code generation through prost-build, which in turn uses the protobuf-src crate to compile and use a vendored copy of protoc. You do not need to install protoc or any other system compiler.

The legacy Cap'n Proto schemas (schemas/) are still present for reference, but the v2 runtime and RPC framework use Protobuf exclusively.


Optional: Docker and Docker Compose

If you prefer to build and run quicprochat in containers, you will need:

  • Docker Engine 20.10+ (or Docker Desktop)
  • Docker Compose v2+ (the docker compose plugin, not the legacy docker-compose binary)
docker --version          # 20.10+
docker compose version    # v2+

The docker/Dockerfile is a multi-stage build that does not install any extra system packages in the builder stage — protobuf-src takes care of the Protobuf compiler at compile time.

See Docker Deployment for full instructions.


Summary checklist

Dependency Required? How to check
Rust stable 1.77+ Yes rustc --version
protoc CLI No (vendored automatically) n/a
Docker + Compose No (container builds only) docker --version / docker compose version

Once all prerequisites are satisfied, proceed to Building from Source.