base-debian refactor
This commit is contained in:
@@ -1,39 +1,39 @@
|
||||
ARG VARIANT="bookworm"
|
||||
ARG VARIANT="trixie"
|
||||
FROM debian:${VARIANT}
|
||||
|
||||
RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
|
||||
&& apt-get -y install --no-install-recommends \
|
||||
ca-certificates \
|
||||
zsh \
|
||||
vim \
|
||||
tmux \
|
||||
curl \
|
||||
unzip \
|
||||
git \
|
||||
python3 \
|
||||
build-essential \
|
||||
libssl-dev \
|
||||
sudo \
|
||||
&& apt-get clean \
|
||||
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 \
|
||||
# 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 USER_UID=1000
|
||||
ARG USER_GID=$USER_UID
|
||||
ARG UID=1000
|
||||
ARG GID=1000
|
||||
|
||||
RUN groupadd --gid $USER_GID $USERNAME \
|
||||
&& useradd --uid $USER_UID --gid $USER_GID -m $USERNAME \
|
||||
&& echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME \
|
||||
&& chmod 0440 /etc/sudoers.d/$USERNAME
|
||||
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 /workspace && chown -R $USERNAME:$USERNAME /workspace
|
||||
USER $USERNAME
|
||||
RUN mkdir -p ${WORKSPACE_DIR} && chown ${USERNAME}:${USERNAME} ${WORKSPACE_DIR}
|
||||
WORKDIR ${WORKSPACE_DIR}
|
||||
|
||||
RUN git clone https://gitea.tomastm.com/tomas.mirchev/dotfiles.git ~/.dotfiles
|
||||
RUN ~/.dotfiles/install.sh
|
||||
USER ${USERNAME}
|
||||
|
||||
SHELL ["/bin/zsh", "-c"]
|
||||
WORKDIR /workspace
|
||||
ENV w=/workspace
|
||||
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"]
|
||||
|
||||
Reference in New Issue
Block a user