FROM ubuntu:latest LABEL maintainer="Nelson Yalta " ENV DEBIAN_FRONTEND=noninteractive ARG USERNAME=user ARG USER_ID=1000 ARG GROUP_ID=1000 RUN apt-get update && \ apt-get -y install --no-install-recommends \ bc \ build-essential \ cmake \ curl \ gawk \ gfortran \ git \ gnupg2 \ libffi-dev \ libjpeg-dev \ libtool \ libncurses5-dev \ python3-full \ python3-dev \ python3-pip \ software-properties-common \ sudo \ unzip \ wget \ zip \ zlib1g-dev \ && \ apt-get autoremove -y && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* && \ rm -rf /tmp/* && \ mkdir -p /workspaces RUN if [ -z "$(getent group ${GROUP_ID})" ]; then \ groupadd -g ${GROUP_ID} "${USERNAME}"; \ else \ existing_group="$(getent group $GROUP_ID | cut -d: -f1)"; \ if [ "${existing_group}" != "${USERNAME}" ]; then \ groupmod -n "${USERNAME}" "${existing_group}"; \ fi; \ fi && \ if [ -z "$(getent passwd $USER_ID)" ]; then \ useradd -m -u ${USER_ID} -g ${GROUP_ID} "${USERNAME}"; \ else \ existing_user="$(getent passwd ${USER_ID} | cut -d: -f1)"; \ if [ "${existing_user}" != "${USERNAME}" ]; then \ usermod -l "${USERNAME}" -d /home/"${USERNAME}" -m "${existing_user}"; \ fi; \ fi && \ echo "${USERNAME} ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers && \ sed -i 's/#force_color_prompt=yes/force_color_prompt=yes/g' /home/${USERNAME}/.bashrc && \ chown -R ${USERNAME}:${USERNAME} /workspaces USER ${USERNAME} # Latest version of git ENV TZ=Etc/UTC ENV PATH=/workspaces/venv/bin:${PATH} ENV STREAMLIT_SERVER_ADDRESS=localhost RUN python3 -m venv /workspaces/venv WORKDIR /workspaces