diff --git a/.github/workflows/publish-to-docker-hub.yml b/.github/workflows/publish-to-docker-hub.yml index fc5927f..ad94ad6 100644 --- a/.github/workflows/publish-to-docker-hub.yml +++ b/.github/workflows/publish-to-docker-hub.yml @@ -47,9 +47,9 @@ jobs: publish_node_pnpm: runs-on: ubuntu-latest env: - IMAGE_NAME: "node-pnpm" + IMAGE_NAME: "node" LANGUAGE: "node" - LANGUAGE_VERSION: 20 + LANGUAGE_VERSION: 18 steps: - uses: actions/checkout@v2 - run: echo ${DOCKER_HUB_PASSWORD} | docker login --username "${DOCKER_HUB_USER}" --password-stdin diff --git a/node-pnpm/Dockerfile b/node-pnpm/Dockerfile deleted file mode 100644 index e72e5c7..0000000 --- a/node-pnpm/Dockerfile +++ /dev/null @@ -1,19 +0,0 @@ -FROM node:20-slim AS base -ENV PNPM_HOME="/pnpm" -ENV PATH="$PNPM_HOME:$PATH" -RUN corepack enable -COPY . /app -WORKDIR /app - -FROM base AS prod-deps -RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --prod --frozen-lockfile - -FROM base AS build -RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile -RUN pnpm run build - -FROM base -COPY --from=prod-deps /app/node_modules /app/node_modules -COPY --from=build /app/dist /app/dist -EXPOSE 8000 -CMD [ "pnpm", "start" ] \ No newline at end of file diff --git a/node/Dockerfile b/node/Dockerfile new file mode 100644 index 0000000..57e0a7a --- /dev/null +++ b/node/Dockerfile @@ -0,0 +1,39 @@ +FROM ubuntu:20.04 +ENV DEBIAN_FRONTEND=noninteractive + +RUN rm /bin/sh && ln -s /bin/bash /bin/sh +RUN apt-get clean + +# Set the locale +RUN apt update +RUN apt-get install -y locales +RUN locale-gen en_US.UTF-8 + +ENV LANGUAGE=en_US.UTF-8 +ENV LC_ALL=en_US.UTF-8 +ENV LC_CTYPE=UTF-8 +ENV LANG=en_US.UTF-8 + + +# Install apt dependencies +RUN apt-get update && apt-get install -y --no-install-recommends apt-utils +RUN apt-get -y install curl wget jq git nano vim unzip zip + +# Install Node.js +ENV NODE_VERSION=18.19.0 +RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash +ENV NVM_DIR=/root/.nvm +RUN . "$NVM_DIR/nvm.sh" && nvm install ${NODE_VERSION} +RUN . "$NVM_DIR/nvm.sh" && nvm use v${NODE_VERSION} +RUN . "$NVM_DIR/nvm.sh" && nvm alias default v${NODE_VERSION} +ENV PATH="/root/.nvm/versions/node/v${NODE_VERSION}/bin/:${PATH}" +RUN node --version +RUN npm --version + +# install node packages +RUN npm install -g nodemon +RUN npm i -g cross-env + + +# install pnpm +RUN wget -qO- https://get.pnpm.io/install.sh | ENV="$HOME/.bashrc" SHELL="$(which bash)" bash -