From 4e8a8d270a980cd4de03fb49c9099f051fc26347 Mon Sep 17 00:00:00 2001 From: colinmcneil Date: Tue, 17 Dec 2024 14:56:25 -0500 Subject: [PATCH] Split production node_modules --- src/aws-kb-retrieval-server/Dockerfile | 10 +++++++--- src/brave-search/Dockerfile | 10 +++++++--- src/everart/Dockerfile | 10 ++++++++-- src/everything/Dockerfile | 8 ++++++-- src/filesystem/Dockerfile | 14 +++++++++----- src/gdrive/Dockerfile | 7 +++++-- src/gdrive/index.ts | 4 ++-- src/github/Dockerfile | 13 +++++++------ src/gitlab/Dockerfile | 17 ++++++++++------- src/google-maps/Dockerfile | 9 ++++++--- src/memory/Dockerfile | 9 ++++++--- src/postgres/Dockerfile | 10 +++++++--- src/sequentialthinking/Dockerfile | 9 ++++++--- src/slack/Dockerfile | 9 ++++++--- 14 files changed, 92 insertions(+), 47 deletions(-) diff --git a/src/aws-kb-retrieval-server/Dockerfile b/src/aws-kb-retrieval-server/Dockerfile index 88f3906d..a173a606 100644 --- a/src/aws-kb-retrieval-server/Dockerfile +++ b/src/aws-kb-retrieval-server/Dockerfile @@ -9,10 +9,14 @@ RUN --mount=type=cache,target=/root/.npm npm install FROM node:22-alpine AS release -COPY --from=builder /app/dist /app +WORKDIR /app + +COPY --from=builder /app/dist /app/dist +COPY --from=builder /app/package.json /app/package.json +COPY --from=builder /app/package-lock.json /app/package-lock.json ENV NODE_ENV=production -WORKDIR /app +RUN npm ci --ignore-scripts --omit-dev -CMD ["node", "dist/index.js"] \ No newline at end of file +ENTRYPOINT ["node", "dist/index.js"] \ No newline at end of file diff --git a/src/brave-search/Dockerfile b/src/brave-search/Dockerfile index ed129551..fefeca68 100644 --- a/src/brave-search/Dockerfile +++ b/src/brave-search/Dockerfile @@ -10,10 +10,14 @@ RUN --mount=type=cache,target=/root/.npm npm install FROM node:22-alpine AS release -COPY --from=builder /app/dist /app +WORKDIR /app + +COPY --from=builder /app/dist /app/dist +COPY --from=builder /app/package.json /app/package.json +COPY --from=builder /app/package-lock.json /app/package-lock.json ENV NODE_ENV=production -WORKDIR /app +RUN npm ci --ignore-scripts --omit-dev -CMD ["node", "dist/index.js"] \ No newline at end of file +ENTRYPOINT ["node", "dist/index.js"] \ No newline at end of file diff --git a/src/everart/Dockerfile b/src/everart/Dockerfile index 385c08dd..c27f9542 100644 --- a/src/everart/Dockerfile +++ b/src/everart/Dockerfile @@ -9,10 +9,16 @@ RUN --mount=type=cache,target=/root/.npm npm install FROM node:22-alpine AS release -COPY --from=builder /app/dist /app +WORKDIR /app + +COPY --from=builder /app/dist /app/dist +COPY --from=builder /app/package.json /app/package.json +COPY --from=builder /app/package-lock.json /app/package-lock.json ENV NODE_ENV=production -WORKDIR /app +RUN npm ci --ignore-scripts --omit-dev + +ENTRYPOINT ["node", "dist/index.js"] CMD ["node", "dist/index.js"] \ No newline at end of file diff --git a/src/everything/Dockerfile b/src/everything/Dockerfile index 7a6482c4..56267937 100644 --- a/src/everything/Dockerfile +++ b/src/everything/Dockerfile @@ -9,10 +9,14 @@ RUN --mount=type=cache,target=/root/.npm npm install FROM node:22-alpine AS release -COPY --from=builder /app/dist /app +WORKDIR /app + +COPY --from=builder /app/dist /app/dist +COPY --from=builder /app/package.json /app/package.json +COPY --from=builder /app/package-lock.json /app/package-lock.json ENV NODE_ENV=production -WORKDIR /app +RUN npm ci --ignore-scripts --omit-dev CMD ["node", "dist/index.js"] \ No newline at end of file diff --git a/src/filesystem/Dockerfile b/src/filesystem/Dockerfile index 00b4cb49..d762d39e 100644 --- a/src/filesystem/Dockerfile +++ b/src/filesystem/Dockerfile @@ -12,10 +12,14 @@ RUN --mount=type=cache,target=/root/.npm-production npm ci --ignore-scripts --om FROM node:22-alpine AS release -COPY --from=builder /app/dist /app -COPY --from=builder /app/node_modules /app/node_modules -ENV NODE_ENV=production - WORKDIR /app -CMD ["node", "dist/index.js"] \ No newline at end of file +COPY --from=builder /app/dist /app/dist +COPY --from=builder /app/package.json /app/package.json +COPY --from=builder /app/package-lock.json /app/package-lock.json + +ENV NODE_ENV=production + +RUN npm ci --ignore-scripts --omit-dev + +ENTRYPOINT ["node", "dist/index.js"] \ No newline at end of file diff --git a/src/gdrive/Dockerfile b/src/gdrive/Dockerfile index edc223c4..b7bb2a76 100644 --- a/src/gdrive/Dockerfile +++ b/src/gdrive/Dockerfile @@ -14,8 +14,11 @@ FROM node:22-alpine AS release WORKDIR /app COPY --from=builder /app/dist /app/dist -COPY --from=builder /app/node_modules /app/node_modules +COPY --from=builder /app/package.json /app/package.json +COPY --from=builder /app/package-lock.json /app/package-lock.json ENV NODE_ENV=production -CMD ["node", "dist/index.js"] \ No newline at end of file +RUN npm ci --ignore-scripts --omit-dev + +ENTRYPOINT ["node", "dist/index.js"] \ No newline at end of file diff --git a/src/gdrive/index.ts b/src/gdrive/index.ts index deb8ec06..4a8e954c 100644 --- a/src/gdrive/index.ts +++ b/src/gdrive/index.ts @@ -183,9 +183,9 @@ const credentialsPath = process.env.GDRIVE_CREDENTIALS_PATH || path.join( async function authenticateAndSaveCredentials() { console.log("Launching auth flow…"); const auth = await authenticate({ - keyfilePath: path.join( + keyfilePath: process.env.GDRIVE_OAUTH_PATH || path.join( path.dirname(new URL(import.meta.url).pathname), - process.env.GDRIVE_OAUTH_PATH || "../../../gcp-oauth.keys.json", + "../../../gcp-oauth.keys.json", ), scopes: ["https://www.googleapis.com/auth/drive.readonly"], }); diff --git a/src/github/Dockerfile b/src/github/Dockerfile index 20f4ff38..4a054d65 100644 --- a/src/github/Dockerfile +++ b/src/github/Dockerfile @@ -8,15 +8,16 @@ WORKDIR /app RUN --mount=type=cache,target=/root/.npm npm install -RUN --mount=type=cache,target=/root/.npm-production npm ci --ignore-scripts --omit-dev +FROM node:22.12-alpine AS release -FROM node:22-alpine AS release - -COPY --from=builder /app/dist /app -COPY --from=builder /app/node_modules /app/node_modules +COPY --from=builder /app/dist /app/dist +COPY --from=builder /app/package.json /app/package.json +COPY --from=builder /app/package-lock.json /app/package-lock.json ENV NODE_ENV=production WORKDIR /app -CMD ["node", "dist/index.js"] \ No newline at end of file +RUN npm ci --ignore-scripts --omit-dev + +ENTRYPOINT ["node", "dist/index.js"] \ No newline at end of file diff --git a/src/gitlab/Dockerfile b/src/gitlab/Dockerfile index 83e470b6..ce8823ca 100644 --- a/src/gitlab/Dockerfile +++ b/src/gitlab/Dockerfile @@ -9,13 +9,16 @@ RUN --mount=type=cache,target=/root/.npm npm install RUN --mount=type=cache,target=/root/.npm-production npm ci --ignore-scripts --omit-dev -FROM node:22-alpine AS release - -COPY --from=builder /app/dist /app -COPY --from=builder /app/node_modules /app/node_modules - -ENV NODE_ENV=production +FROM node:22.12-alpine AS release WORKDIR /app -CMD ["node", "dist/index.js"] \ No newline at end of file +COPY --from=builder /app/dist /app/dist +COPY --from=builder /app/package.json /app/package.json +COPY --from=builder /app/package-lock.json /app/package-lock.json + +ENV NODE_ENV=production + +RUN npm ci --ignore-scripts --omit-dev + +ENTRYPOINT ["node", "dist/index.js"] \ No newline at end of file diff --git a/src/google-maps/Dockerfile b/src/google-maps/Dockerfile index 24598a6d..62949680 100644 --- a/src/google-maps/Dockerfile +++ b/src/google-maps/Dockerfile @@ -12,11 +12,14 @@ RUN --mount=type=cache,target=/root/.npm-production npm ci --ignore-scripts --om FROM node:22-alpine AS release -COPY --from=builder /app/dist /app -COPY --from=builder /app/node_modules /app/node_modules +COPY --from=builder /app/dist /app/dist +COPY --from=builder /app/package.json /app/package.json +COPY --from=builder /app/package-lock.json /app/package-lock.json ENV NODE_ENV=production WORKDIR /app -CMD ["node", "dist/index.js"] \ No newline at end of file +RUN npm ci --ignore-scripts --omit-dev + +ENTRYPOINT ["node", "dist/index.js"] \ No newline at end of file diff --git a/src/memory/Dockerfile b/src/memory/Dockerfile index 23f9304d..d5af8471 100644 --- a/src/memory/Dockerfile +++ b/src/memory/Dockerfile @@ -11,11 +11,14 @@ RUN --mount=type=cache,target=/root/.npm-production npm ci --ignore-scripts --om FROM node:22-alpine AS release -COPY --from=builder /app/dist /app -COPY --from=builder /app/node_modules /app/node_modules +COPY --from=builder /app/dist /app/dist +COPY --from=builder /app/package.json /app/package.json +COPY --from=builder /app/package-lock.json /app/package-lock.json ENV NODE_ENV=production WORKDIR /app -CMD ["node", "dist/index.js"] \ No newline at end of file +RUN npm ci --ignore-scripts --omit-dev + +ENTRYPOINT ["node", "dist/index.js"] \ No newline at end of file diff --git a/src/postgres/Dockerfile b/src/postgres/Dockerfile index d9f8d0c7..f390ec0e 100644 --- a/src/postgres/Dockerfile +++ b/src/postgres/Dockerfile @@ -11,10 +11,14 @@ RUN --mount=type=cache,target=/root/.npm-production npm ci --ignore-scripts --om FROM node:22-alpine AS release -COPY --from=builder /app/dist /app -COPY --from=builder /app/node_modules /app/node_modules +COPY --from=builder /app/dist /app/dist +COPY --from=builder /app/package.json /app/package.json +COPY --from=builder /app/package-lock.json /app/package-lock.json + ENV NODE_ENV=production WORKDIR /app -CMD ["node", "dist/index.js"] \ No newline at end of file +RUN npm ci --ignore-scripts --omit-dev + +ENTRYPOINT ["node", "dist/index.js"] \ No newline at end of file diff --git a/src/sequentialthinking/Dockerfile b/src/sequentialthinking/Dockerfile index 38c742c1..08a4282a 100644 --- a/src/sequentialthinking/Dockerfile +++ b/src/sequentialthinking/Dockerfile @@ -11,11 +11,14 @@ RUN --mount=type=cache,target=/root/.npm-production npm ci --ignore-scripts --om FROM node:22-alpine AS release -COPY --from=builder /app/dist /app -COPY --from=builder /app/node_modules /app/node_modules +COPY --from=builder /app/dist /app/dist +COPY --from=builder /app/package.json /app/package.json +COPY --from=builder /app/package-lock.json /app/package-lock.json ENV NODE_ENV=production WORKDIR /app -CMD ["node", "dist/index.js"] +RUN npm ci --ignore-scripts --omit-dev + +ENTRYPOINT ["node", "dist/index.js"] diff --git a/src/slack/Dockerfile b/src/slack/Dockerfile index 103579f6..6df0be52 100644 --- a/src/slack/Dockerfile +++ b/src/slack/Dockerfile @@ -12,11 +12,14 @@ RUN --mount=type=cache,target=/root/.npm-production npm ci --ignore-scripts --om FROM node:22-alpine AS release -COPY --from=builder /app/dist /app -COPY --from=builder /app/node_modules /app/node_modules +COPY --from=builder /app/dist /app/dist +COPY --from=builder /app/package.json /app/package.json +COPY --from=builder /app/package-lock.json /app/package-lock.json ENV NODE_ENV=production WORKDIR /app -CMD ["node", "dist/index.js"] +RUN npm ci --ignore-scripts --omit-dev + +ENTRYPOINT ["node", "dist/index.js"]