ARG VARIANT="noble" FROM ubuntu:${VARIANT} RUN userdel -r ubuntu || echo "User ubuntu does not exist, continuing..." ENV TERM=xterm-256color ENV DF_DEV=true ARG DEBIAN_FRONTEND=noninteractive RUN apt-get update && apt-get upgrade -y && apt-get install -y --no-install-recommends \ # basics git wget locales ca-certificates sudo openssh-client libssl-dev \ # utils tree jq \ && apt-get autoremove -y \ && apt-get clean -y \ && rm -rf /var/lib/apt/lists/* # Set up UTF-8 locale RUN localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8 ENV LANG=en_US.UTF-8 ENV LC_ALL=en_US.UTF-8 ENV LC_CTYPE=en_US.UTF-8 ARG WORKSPACE_DIR="/workspace" ARG USERNAME=dev ARG UID=1000 ARG GID=1000 RUN groupadd -g ${GID} ${USERNAME} \ && useradd -u ${UID} -g ${GID} -m -s /bin/zsh ${USERNAME} \ && echo "${USERNAME} ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers RUN mkdir -p ${WORKSPACE_DIR} && chown ${USERNAME}:${USERNAME} ${WORKSPACE_DIR} WORKDIR ${WORKSPACE_DIR} USER ${USERNAME} ENV USER=${USERNAME} COPY install-packages.sh /tmp/install-packages.sh RUN sudo chmod +x /tmp/install-packages.sh && /tmp/install-packages.sh && sudo rm /tmp/install-packages.sh CMD ["zsh"]