40 lines
1.1 KiB
Docker
40 lines
1.1 KiB
Docker
ARG VARIANT="plucky"
|
|
FROM ubuntu:${VARIANT}
|
|
|
|
ENV TERM=xterm-256color
|
|
ENV 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}
|
|
|
|
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"]
|