FROM docker.io/rust:1-alpine3.20 AS builder RUN mkdir /tmp/tmp RUN echo "hesinde:x:2222:2222:Linux User,,,:/:/app" > /passwd RUN apk --no-cache add \ musl-dev ENV CARGO_CARGO_NEW_VCS="none" ENV CARGO_BUILD_RUSTFLAGS="-C target-feature=+crt-static" WORKDIR /work COPY . . RUN cargo build --release --target=$(arch)-unknown-linux-musl RUN cp "./target/$(arch)-unknown-linux-musl/release/little-hesinde" /app FROM scratch COPY --from=builder /passwd /etc/passwd COPY --from=builder /app /app COPY --from=builder --chown=2222: /tmp/tmp /tmp USER hesinde CMD ["/app", "--listen-address", "[::]:3000", "--cache-path", "/tmp/cache", "--", "/library"] ENV TMPDIR=/tmp VOLUME ["/library", "/tmp"] EXPOSE 3000