# WZP relay + web bridge — multi-stage build # Build context: featherChat repo root (../../..) FROM rust:latest AS builder RUN apt-get update && apt-get install -y cmake pkg-config libssl-dev && rm -rf /var/lib/apt/lists/* WORKDIR /build # Copy warzone-phone workspace (feature/wzp-web-variants branch) COPY warzone-phone/Cargo.toml warzone-phone/Cargo.lock ./warzone-phone/ COPY warzone-phone/crates ./warzone-phone/crates # wzp-crypto depends on warzone-protocol via deps/featherchat/warzone/... COPY warzone/crates/warzone-protocol ./warzone-phone/deps/featherchat/warzone/crates/warzone-protocol # Build both binaries WORKDIR /build/warzone-phone RUN cargo build --release --bin wzp-relay --bin wzp-web # Runtime — use same distro as builder to match glibc FROM debian:trixie-slim RUN apt-get update && apt-get install -y ca-certificates && rm -rf /var/lib/apt/lists/* COPY --from=builder /build/warzone-phone/target/release/wzp-relay /usr/local/bin/ COPY --from=builder /build/warzone-phone/target/release/wzp-web /usr/local/bin/ # Copy static files for wzp-web (HTML, JS, WASM) COPY --from=builder /build/warzone-phone/crates/wzp-web/static /data/static WORKDIR /data