# featherChat server — multi-stage build # Build context: featherChat repo root (../../..) FROM rust:latest AS builder WORKDIR /build # Copy warzone workspace COPY warzone/Cargo.toml warzone/Cargo.lock ./warzone/ COPY warzone/crates ./warzone/crates # Build server WORKDIR /build/warzone RUN cargo build --release --bin warzone-server # Build WASM (for embedded web client) RUN cargo install wasm-pack && \ wasm-pack build crates/warzone-wasm --target web --out-dir /build/wasm-pkg 2>&1 || true # Runtime FROM debian:bookworm-slim RUN apt-get update && apt-get install -y ca-certificates && rm -rf /var/lib/apt/lists/* COPY --from=builder /build/warzone/target/release/warzone-server /usr/local/bin/ COPY --from=builder /build/wasm-pkg /srv/wasm-pkg WORKDIR /data EXPOSE 7700 ENTRYPOINT ["warzone-server"] CMD ["--bind", "0.0.0.0:7700"]