27 lines
718 B
Docker
27 lines
718 B
Docker
FROM node:18
|
|
|
|
# Install some apt packages
|
|
RUN apt-get update && apt-get install -y sudo zsh git vim tmux
|
|
|
|
# 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
|