diff --git a/images/homelab-workspace/Dockerfile b/images/homelab-workspace/Dockerfile index 7374c72c..7e5be654 100644 --- a/images/homelab-workspace/Dockerfile +++ b/images/homelab-workspace/Dockerfile @@ -500,8 +500,4 @@ COPY --link --chown=root:root --chmod=755 coder/*.sh /opt/coder/bin/ RUN rm -f /etc/apt/apt.conf.d/keep-cache -# Add `coder` user (coder platform will connect the user in as this user) -# hadolint ignore=DL3059 -RUN useradd coder --no-create-home --shell /bin/bash -g coder --groups sudo,docker -USER coder WORKDIR / diff --git a/templates/docker/homelab-workspace/main.tf b/templates/docker/homelab-workspace/main.tf index fa7f66fe..2dc7d8af 100644 --- a/templates/docker/homelab-workspace/main.tf +++ b/templates/docker/homelab-workspace/main.tf @@ -35,13 +35,16 @@ else DEBIAN_FRONTEND="noninteractive" apt-get install -yq --no-install-recommends curl sudo adduser fi echo "---------------------------------------------------------------------------------" -if grep coder /etc/passwd > /dev/null; then - echo "Modifying user: coder -> ${local.username}..." - usermod --home /home/${local.username} --shell /bin/bash --login $username coder -else - echo "Creating user - ${local.username}..." - useradd --groups sudo --home-dir /home/${local.username} --shell /bin/bash ${local.username} +if ! getent group coder > /dev/null; then + echo "Creating group: coder..." + groupadd coder +fi +if ! getent group docker > /dev/null; then + echo "Creating group: docker..." + groupadd docker fi +echo "Creating user - ${local.username}..." +useradd -g coder --groups sudo,docker --home-dir /home/${local.username} --shell /bin/bash ${local.username} # allow coder user to sudo to so that they can run any system actions (such as using apt-get) within their workspace container. echo "Enabling ${local.username} to sudo" echo "${local.username} ALL=(ALL) NOPASSWD:ALL" >/etc/sudoers.d/${local.username}