FROM node:18 # Install some apt packages RUN apt-get update && apt-get install -y sudo zsh git vim tmux lsof # Variable for default user `node` to be used in the following steps ARG USERNAME=node # Ensure basic setup of default `node` user # Not needed since node:18 already comes with a node user #RUN useradd -ms /bin/zsh $USERNAME \ # && chown -R node:node /home/$USERNAME # Set zsh as default shell for node user RUN chsh -s /bin/zsh node # Ensure `node` user has access to `sudo` RUN mkdir -p /etc/sudoers.d \ && echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME \ && chmod 0440 /etc/sudoers.d/$USERNAME # Set working directory WORKDIR /workspace # Use non-root user USER $USERNAME