From 27b385ad54d352aeb8c2d24b9b832a0b46c17235 Mon Sep 17 00:00:00 2001 From: Tomas Mirchev Date: Tue, 3 Sep 2024 03:57:34 +0300 Subject: [PATCH] add node-dev dockerfile --- frontend/Dockerfile | 46 +++++++++++++++++++++++++++++++++++++++++++++ frontend/README.md | 3 +++ 2 files changed, 49 insertions(+) create mode 100644 frontend/Dockerfile create mode 100644 frontend/README.md diff --git a/frontend/Dockerfile b/frontend/Dockerfile new file mode 100644 index 0000000..e52610c --- /dev/null +++ b/frontend/Dockerfile @@ -0,0 +1,46 @@ +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"] diff --git a/frontend/README.md b/frontend/README.md new file mode 100644 index 0000000..e66317c --- /dev/null +++ b/frontend/README.md @@ -0,0 +1,3 @@ +docker build -t my-dev-container . +docker run -it --rm -v ~/apps/gateway:/usr/src/app -w /usr/src/app my-dev-container +