fabro/Dockerfile
Bryan Helmkamp 129b8b98c4 Add Docker Compose demo setup for local development
Multi-stage Dockerfile builds Rust API binary and bundles the web app
and docs into a single image. docker-compose.demo.yaml orchestrates
the three services (api, web, docs) with a shared entrypoint router.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 00:32:48 -05:00

28 lines
761 B
Docker

FROM rust:1-bookworm AS rust-builder
WORKDIR /app
COPY Cargo.toml Cargo.lock ./
COPY crates crates
COPY openapi openapi
RUN cargo build --release --bin arc
FROM oven/bun:1
RUN apt-get update && apt-get install -y --no-install-recommends \
python3 make g++ ca-certificates && \
rm -rf /var/lib/apt/lists/*
RUN bun i -g mintlify
WORKDIR /app
COPY --from=rust-builder /app/target/release/arc /usr/local/bin/arc
COPY package.json bun.lock ./
COPY apps/arc-web/package.json apps/arc-web/
COPY packages/arc-api-client/package.json packages/arc-api-client/
RUN bun install --frozen-lockfile
COPY apps/arc-web apps/arc-web
COPY packages/arc-api-client packages/arc-api-client
COPY docs docs
COPY entrypoint.ts .
ENTRYPOINT ["bun", "run", "entrypoint.ts"]