From e055688daceca57bde6334f3f53b4858a388a7f0 Mon Sep 17 00:00:00 2001 From: usrbinkat Date: Thu, 30 Jan 2025 05:35:44 +0000 Subject: [PATCH] improve user creation and fix rust version --- .devcontainer/Dockerfile | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index df144e47..2522c917 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -1,4 +1,5 @@ -FROM docker.io/library/rust:1.84.0-bullseye +# TODO: adopt global version control for rust version +FROM docker.io/library/rust:1.81.0-bullseye ENV SHELL="/bin/bash" ENV BASH_FLAGS="-e" ENV BIN=/usr/local/bin @@ -9,7 +10,6 @@ ARG USER_UID=1000 ARG USER_GID=$USER_UID # Install basic tools -#gitlab-cli \ ARG APT_LIST="\ jq \ git \ @@ -18,16 +18,28 @@ curl \ cmake \ build-essential \ " -RUN set -ex \ +RUN set ${BASH_FLAGS} \ && apt-get update \ && apt-get install -y ${APT_LIST} \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* \ && echo -# Create the user -RUN groupadd --gid $USER_GID $USERNAME \ - && useradd --uid $USER_UID --gid $USER_GID -m $USERNAME \ - && echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME \ - && chmod 0440 /etc/sudoers.d/$USERNAME +# Create dev user `vscode` +RUN set ${BASH_FLAGS} \ + && mkdir -p /etc/sudoers.d \ + && groupadd --force --system sudo \ + && groupadd --force --gid 127 --system docker \ + && echo "%sudo ALL=(ALL:ALL) NOPASSWD: ALL" > /etc/sudoers.d/sudo \ + && groupadd --force --gid ${USER_GID} ${USERNAME} \ + && useradd \ + --create-home \ + --uid ${USER_UID} \ + --gid ${USER_GID} \ + --shell $(which bash) \ + --groups sudo,docker \ + ${USERNAME} \ + && echo # Install GitHub `gh` cli from github.com/cli/cli RUN set ${BASH_FLAGS} \