# --- Build --- FROM clux/muslrust:latest AS build COPY Cargo.toml Cargo.lock /volume/ COPY . . RUN cargo fetch --locked RUN cargo build --release RUN rm -rfv /volume/target/*/release/rave RUN mv target/*-unknown-linux-musl/release/rave /tmp/rave # --- Runtime --- FROM gcr.io/distroless/static AS runtime COPY --from=build /tmp/rave /rave WORKDIR /app COPY ./static ./static ENV RUST_LOG=info ENV RAVE_STORAGE_DIR=/data ENV RAVE_CACHE_DIR=/cache VOLUME [ "/data", "/cache" ] ENTRYPOINT ["/rave"]