## Buiilder FROM rust:latest AS builder RUN rustup default nightly RUN update-ca-certificates # Create appuser ENV USER=ulairi ENV UID=10001 RUN adduser \ --disabled-password \ --gecos "" \ --home "/nonexistent" \ --shell "/sbin/nologin" \ --no-create-home \ --uid "${UID}" \ "${USER}" WORKDIR /ulairi-api COPY ./ . RUN cargo build --release ## Final image FROM debian:buster-slim RUN apt update RUN apt install -y libpq5 libpq-dev # Import from builder COPY --from=builder /etc/passwd /etc/passwd COPY --from=builder /etc/group /etc/group WORKDIR /ulairi-api # Copy our build COPY --from=builder /ulairi-api/target/release/ulairi-api ./ # Use an unprivileged user USER ulairi:ulairi CMD ["/ulairi-api/ulairi-api"]