diff --git a/ops/devcontainer/Dockerfile b/ops/devcontainer/Dockerfile index 1190867..24e6373 100644 --- a/ops/devcontainer/Dockerfile +++ b/ops/devcontainer/Dockerfile @@ -12,10 +12,14 @@ RUN GOBIN=/usr/local/bin go install git.offline-twitter.com/offline-labs/gocheck # Create a user in the container with the same UID as on the host machine, to avoid ownership conflicts. # The user gets sudo of course. +# +# If the host user is `root` (uid = 0), we skip creating a new user, because it will fail otherwise. ARG USERNAME ARG UID ARG GID -RUN addgroup -g ${GID} ${USERNAME} -RUN adduser -D -u ${UID} -G ${USERNAME} ${USERNAME} -RUN echo "${USERNAME} ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/${USERNAME} +RUN if [ "${UID}" -ne 0 ]; then \ + addgroup -g "${GID}" "${USERNAME}" && \ + adduser -D -u "${UID}" -G "${USERNAME}" "${USERNAME}" && \ + echo "${USERNAME} ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/"${USERNAME}"; \ + fi USER ${USERNAME}