From 1dea958a015e201c3d1fa05ed65287225d3bc050 Mon Sep 17 00:00:00 2001 From: kaiffeetasse Date: Wed, 12 Feb 2025 21:37:48 +0100 Subject: [PATCH 1/2] feat: add docker support --- Dockerfile | 20 ++++++++++++++++++++ README.md | 12 ++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..cc8ac3b --- /dev/null +++ b/Dockerfile @@ -0,0 +1,20 @@ +FROM node:18-alpine AS builder + +WORKDIR /app + +COPY package.json package-lock.json ./ +RUN npm install --frozen-lockfile + +COPY . . +RUN npm run build + +FROM node:18-alpine AS runner + +WORKDIR /app + +COPY --from=builder /app/.output .output +COPY --from=builder /app/node_modules node_modules +COPY --from=builder /app/package.json . + +EXPOSE 3000 +CMD ["node", ".output/server/index.mjs"] diff --git a/README.md b/README.md index 380b684..983ec24 100644 --- a/README.md +++ b/README.md @@ -86,6 +86,18 @@ yarn preview bun run preview ``` +### Docker + +Build the Docker image: +``` +docker build -t deep-research-web . +``` + +Run the Docker image: +``` +docker run -p 3000:3000 deep-research-web +``` + Check out the [deployment documentation](https://nuxt.com/docs/getting-started/deployment) for more information. ## License From c5bcec4dba64332e9f168fc361e58db395a4d17f Mon Sep 17 00:00:00 2001 From: WangYK <62269186+AnotiaWang@users.noreply.github.com> Date: Thu, 13 Feb 2025 10:16:15 +0800 Subject: [PATCH 2/2] fix: various bugs in Dockerfile --- Dockerfile | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index cc8ac3b..3e2ecc1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,19 +1,21 @@ -FROM node:18-alpine AS builder +FROM node:20-alpine AS builder WORKDIR /app -COPY package.json package-lock.json ./ -RUN npm install --frozen-lockfile +COPY package.json pnpm-lock.yaml ./ +RUN npm i -g --force pnpm@9 +RUN pnpm install --frozen-lockfile COPY . . -RUN npm run build +ENV NODE_OPTIONS="--max_old_space_size=2048" +RUN pnpm build -FROM node:18-alpine AS runner +FROM node:20-alpine AS runner WORKDIR /app +# We only need the `.output` directory, which contains everything the app needs to run COPY --from=builder /app/.output .output -COPY --from=builder /app/node_modules node_modules COPY --from=builder /app/package.json . EXPOSE 3000