From 94eb9327d19425bbded17ee90bc1300e7c90958e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jinseok=20=28=EC=8B=AC=EC=A7=84=EC=84=9D=29?= Date: Wed, 8 Apr 2026 10:03:48 +0900 Subject: [PATCH] =?UTF-8?q?=EB=8F=84=EC=BB=A4=20=EC=84=A4=EC=A0=95=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web-app/.gitignore | 1 + web-app/Dockerfile | 24 ++++++++++++++---------- web-app/docker-compose.yml | 15 +++++++++++++++ 3 files changed, 30 insertions(+), 10 deletions(-) create mode 100644 web-app/docker-compose.yml diff --git a/web-app/.gitignore b/web-app/.gitignore index a128bbe..7114b04 100644 --- a/web-app/.gitignore +++ b/web-app/.gitignore @@ -1,5 +1,6 @@ # Dependencies node_modules +.pnpm-store # Build outputs build/ diff --git a/web-app/Dockerfile b/web-app/Dockerfile index 207bf93..2bb7034 100644 --- a/web-app/Dockerfile +++ b/web-app/Dockerfile @@ -1,22 +1,26 @@ -FROM node:20-alpine AS development-dependencies-env +FROM node:24-alpine AS development-dependencies-env +RUN npm install -g corepack && corepack enable COPY . /app WORKDIR /app -RUN npm ci +RUN pnpm install --frozen-lockfile -FROM node:20-alpine AS production-dependencies-env -COPY ./package.json package-lock.json /app/ +FROM node:24-alpine AS production-dependencies-env +RUN npm install -g corepack && corepack enable +COPY ./package.json pnpm-lock.yaml /app/ WORKDIR /app -RUN npm ci --omit=dev +RUN pnpm install --frozen-lockfile --prod -FROM node:20-alpine AS build-env +FROM node:24-alpine AS build-env +RUN npm install -g corepack && corepack enable COPY . /app/ COPY --from=development-dependencies-env /app/node_modules /app/node_modules WORKDIR /app -RUN npm run build +RUN pnpm run build -FROM node:20-alpine -COPY ./package.json package-lock.json /app/ +FROM node:24-alpine +RUN npm install -g corepack && corepack enable +COPY ./package.json pnpm-lock.yaml /app/ COPY --from=production-dependencies-env /app/node_modules /app/node_modules COPY --from=build-env /app/build /app/build WORKDIR /app -CMD ["npm", "run", "start"] \ No newline at end of file +CMD ["pnpm", "run", "start"] \ No newline at end of file diff --git a/web-app/docker-compose.yml b/web-app/docker-compose.yml new file mode 100644 index 0000000..157a812 --- /dev/null +++ b/web-app/docker-compose.yml @@ -0,0 +1,15 @@ +services: + web: + image: node:24-alpine + working_dir: /app + volumes: + - .:/app + - node_modules:/app/node_modules + ports: + - "5173:5173" + command: sh -c "npm install -g corepack && corepack enable && pnpm install && pnpm run dev --host" + environment: + - NODE_ENV=development + +volumes: + node_modules: \ No newline at end of file