From c2d418631bf8143dddb6a2056d5eb4dcd8d0776a Mon Sep 17 00:00:00 2001 From: Guilherme Werner Date: Fri, 20 Oct 2023 12:53:44 -0300 Subject: [PATCH] Create Dockerfile --- Dockerfile | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..348d145 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,38 @@ +# Copyright (c) TribuFu. All Rights Reserved. + +FROM node:18-alpine AS base +VOLUME /config +VOLUME /saved + +FROM base AS deps +RUN apk add --no-cache libc6-compat +WORKDIR /src +COPY package.json lerna.json yarn.lock ./ +COPY ./package.json ./package.json +COPY ./next.config.js ./next.config.js +COPY ./next-i18next.config.js ./next-i18next.config.js +RUN yarn --frozen-lockfile + +FROM base AS build +WORKDIR /src +COPY --from=deps /src/node_modules ./node_modules +COPY . ./. +WORKDIR /src/. +ENV NEXT_TELEMETRY_DISABLED 1 +RUN yarn build + +FROM base AS final +WORKDIR /app +RUN addgroup --system --gid 1001 nodejs +RUN adduser --system --uid 1001 nextjs +COPY --from=build --chown=nextjs:nodejs /src/node_modules ./node_modules +COPY --from=build --chown=nextjs:nodejs /src/.next ./.next +COPY --from=build --chown=nextjs:nodejs /src/package.json ./package.json +COPY --from=build --chown=nextjs:nodejs /src/next.config.js ./next.config.js +COPY --from=build --chown=nextjs:nodejs /src/public ./public +WORKDIR /app +ENV NODE_ENV production +ENV NEXT_TELEMETRY_DISABLED 1 +USER nextjs +EXPOSE ${PORT} +CMD ["yarn", "start"]