From 4133798a8198d99e5d4eebd18671702ef1823c8d Mon Sep 17 00:00:00 2001 From: sriram veeraghanta Date: Wed, 23 Aug 2023 15:30:18 +0530 Subject: [PATCH] docker fixes --- space/Dockerfile.space | 8 +------- web/Dockerfile.web | 30 ++++++++++++------------------ 2 files changed, 13 insertions(+), 25 deletions(-) diff --git a/space/Dockerfile.space b/space/Dockerfile.space index 356d91987..0bdc6e158 100644 --- a/space/Dockerfile.space +++ b/space/Dockerfile.space @@ -17,10 +17,7 @@ WORKDIR /space COPY --from=deps /space/node_modules ./node_modules COPY . . -# Next.js collects completely anonymous telemetry data about general usage. -# Learn more here: https://nextjs.org/telemetry -# Uncomment the following line in case you want to disable telemetry during the build. -# ENV NEXT_TELEMETRY_DISABLED 1 +ENV NEXT_TELEMETRY_DISABLED 1 RUN yarn build @@ -49,9 +46,6 @@ USER nextjs EXPOSE 3000 -USER root -RUN echo -e "@tiptap-pro:registry=https://registry.tiptap.dev/\n//registry.npmjs.org/:_authToken=hjdbasjhbdajshb" > .npmrc - ENV PORT 3000 # set hostname to localhost ENV HOSTNAME "0.0.0.0" diff --git a/web/Dockerfile.web b/web/Dockerfile.web index 176f91de9..f14efc571 100644 --- a/web/Dockerfile.web +++ b/web/Dockerfile.web @@ -1,29 +1,23 @@ FROM node:18-alpine AS base -ARG TIPTAP_TOKEN # Install dependencies only when needed FROM base AS deps # Check https://github.com/nodejs/docker-node/tree/b4117f9333da4138b03a546ec926ef50a31506c3#nodealpine to understand why libc6-compat might be needed. RUN apk add --no-cache libc6-compat -WORKDIR /web +WORKDIR /app # Install dependencies based on the preferred package manager -COPY package.json ./ -RUN echo -e "@tiptap-pro:registry=https://registry.tiptap.dev/\n//registry.npmjs.org/:_authToken=$TIPTAP_TOKEN" > .npmrc - -RUN npm install +COPY package.json yarn.lock .npmrc ./ +RUN yarn # Rebuild the source code only when needed FROM base AS builder -WORKDIR /web -COPY --from=deps /web/node_modules ./node_modules +WORKDIR /app +COPY --from=deps /app/node_modules ./node_modules COPY . . -# Next.js collects completely anonymous telemetry data about general usage. -# Learn more here: https://nextjs.org/telemetry -# Uncomment the following line in case you want to disable telemetry during the build. -# ENV NEXT_TELEMETRY_DISABLED 1 +ENV NEXT_TELEMETRY_DISABLED 1 RUN yarn build @@ -32,7 +26,7 @@ RUN yarn build # Production image, copy all the files and run next FROM base AS runner -WORKDIR /web +WORKDIR /app ENV NODE_ENV production # Uncomment the following line in case you want to disable telemetry during runtime. @@ -41,12 +35,12 @@ ENV NODE_ENV production RUN addgroup --system --gid 1001 nodejs RUN adduser --system --uid 1001 nextjs -COPY --from=builder /web/public ./public +COPY --from=builder /app/public ./public # Automatically leverage output traces to reduce image size # https://nextjs.org/docs/advanced-features/output-file-tracing -COPY --from=builder --chown=nextjs:nodejs /web/.next/standalone ./ -COPY --from=builder --chown=nextjs:nodejs /web/.next/static ./.next/static +COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./ +COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static USER nextjs @@ -54,6 +48,6 @@ EXPOSE 3000 ENV PORT 3000 # set hostname to localhost -# ENV HOSTNAME "0.0.0.0" +ENV HOSTNAME "0.0.0.0" -# CMD ["node", "server.js"] \ No newline at end of file +CMD ["node", "web/server.js"] \ No newline at end of file