# syntax=docker/dockerfile:1
FROM rust:1-slim AS build
WORKDIR /src
COPY Cargo.toml Cargo.lock ./
COPY crates/icebox-macro/Cargo.toml crates/icebox-macro/Cargo.toml
RUN mkdir -p crates/icebox-macro/src \
    && echo "fn main() {}" > crates/icebox-macro/src/lib.rs \
    && cargo build --release \
    && rm -rf target/release/.fingerprint/icebox-* target/release/deps/icebox-*
COPY . .
RUN cargo build --release \
    && strip target/release/icebox \
    && cp target/release/icebox /usr/local/bin/icebox
FROM gcr.io/distroless/base-debian12:nonroot
COPY --from=build /usr/local/bin/icebox /usr/local/bin/icebox
WORKDIR /data
VOLUME ["/data"]
EXPOSE 8443
ENTRYPOINT ["/usr/local/bin/icebox"]
CMD ["--api"]
