diff --git a/Dockerfile b/Dockerfile index bfe09c7de71aeddf5f1b0efc5d1809d21203f85d..8f42d2dfbe9cc1ddb6280ed73a869daa3a6371ca 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,12 +1,26 @@ FROM debian:trixie -ENV CARGO_HOME="$HOME/.cargo" +ARG USERNAME=rustbuilder +ARG USER_UID=1000 +ARG USER_GID=$USER_UID -RUN apt update && \ - apt install curl wget zip unzip rustup && \ +ARG RUST_VERSION=1.82 + +RUN groupadd --gid $USER_GID $USERNAME \ + && useradd --uid $USER_UID --gid $USER_GID -m $USERNAME + +RUN apt-get update && \ + apt-get install -y sudo curl wget zip unzip make build-essential clang rustup && \ rm -rf /var/lib/apt/lists/* -RUN rustup install stable -y && \ - rustup default stable -y && \ +RUN echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME && \ + chmod 0440 /etc/sudoers.d/$USERNAME + +USER $USERNAME + +RUN rustup install $RUST_VERSION && \ + rustup default $RUST_VERSION && \ rustup install nightly && \ - cargo install junitify \ No newline at end of file + cargo install cargo-binstall junitify cargo-nextest + +ENV PATH=$PATH:/home/$USERNAME/.cargo/bin \ No newline at end of file