FROM oven/bun:debian AS frontend-dependency-installer WORKDIR /usr/src/warren COPY frontend/package.json frontend/bun.lock ./ RUN bun install --frozen-lockfile --ignore-scripts FROM node:bookworm AS frontend-builder WORKDIR /usr/src/warren COPY --from=frontend-dependency-installer /usr/src/warren/ . COPY frontend/ ./ RUN npm run generate FROM rust:bookworm AS backend-builder WORKDIR /usr/src/warren COPY backend/ . RUN cargo build --release FROM debian:bookworm WORKDIR /var/lib/warren COPY --from=backend-builder /usr/src/warren/target/release/warren /usr/bin/warren COPY --from=frontend-builder /usr/src/warren/dist ./frontend ENTRYPOINT ["warren"]