# Build image FROM rust:1.65 as builder # Run dummy build to build and cache dependencies that only depends on Cargo.toml and Cargo.lock WORKDIR /usr/src RUN USER=root cargo new blessed-rs COPY Cargo.toml Cargo.lock /usr/src/blessed-rs/ WORKDIR /usr/src/blessed-rs RUN cargo build --release # Run actual build COPY ./src ./src COPY ./data ./data RUN cargo build --release # Run image FROM debian:buster-slim # RUN apt-get update && apt-get install -y extra-runtime-dependencies && rm -rf /var/lib/apt/lists/* COPY --from=builder /usr/src/blessed-rs/target/release/blessed-rs /usr/local/bin/blessed-rs WORKDIR /usr/blessed-rs COPY ./static ./static COPY ./templates ./templates COPY ./data ./data CMD ["blessed-rs"]