47 lines
1.0 KiB
Docker
47 lines
1.0 KiB
Docker
FROM debian:bookworm
|
|
|
|
RUN apt-get update && apt-get install -y \
|
|
zsh \
|
|
vim \
|
|
tmux \
|
|
curl \
|
|
git \
|
|
nodejs \
|
|
&& apt-get clean \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
RUN useradd -ms /bin/zsh dev \
|
|
&& mkdir /home/dev/bin \
|
|
&& chown -R dev:dev /home/dev
|
|
|
|
|
|
USER dev
|
|
|
|
export NVM_DIR="/home/dev/.nvm"
|
|
RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash \
|
|
&& [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" \
|
|
&& nvm install 18 \
|
|
&& nvm install 20 \
|
|
&& nvm install 22 \
|
|
&& nvm instal install --lts \
|
|
&& nvm use --lts \
|
|
&& nvm alias default lts/*
|
|
|
|
RUN corepack enable yarn
|
|
RUN corepack enable pnpm
|
|
|
|
RUN sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended
|
|
|
|
COPY --chown=dev:dev .vim /home/dev/.vim
|
|
COPY --chown=dev:dev .tmux.conf /home/dev/.tmux.conf
|
|
COPY --chown=dev:dev .zshrc /home/dev/.zshrc
|
|
COPY --chown=dev:dev bin /home/dev/bin
|
|
|
|
ENV PATH="/home/dev/bin:$PATH"
|
|
|
|
SHELL ["/bin/zsh", "-c"]
|
|
|
|
WORKDIR /usr/src/app
|
|
|
|
CMD ["zsh"]
|