From add3efff8ff4f487e87d4fc833884a62a3fa3e4d Mon Sep 17 00:00:00 2001 From: Tanguy Herbron Date: Thu, 15 Apr 2021 13:47:59 +0200 Subject: [PATCH] Add Docker configuration for production environment --- Dockerfile | 33 +++++++++++++++++++++++++++++++++ docker-compose.yml | 9 +++++++++ 2 files changed, 42 insertions(+) create mode 100644 Dockerfile create mode 100644 docker-compose.yml diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..bda5962 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,33 @@ +FROM node:current-alpine AS deps + +RUN apk add --no-cache libc6-compat +WORKDIR /app +COPY package.json yarn.lock ./ +RUN yarn install --frozen-lockfile + +FROM node:alpine AS builder +WORKDIR /app +COPY . . +COPY --from=deps /app/node_modules ./node_modules +RUN yarn build + +FROM node:alpine AS runner +WORKDIR /app + +ENV NODE_ENV production + +COPY --from=builder /app/public ./public +COPY --from=builder /app/.next ./.next +COPY --from=builder /app/node_modules ./node_modules +COPY --from=builder /app/package.json ./package.json + +RUN addgroup -g 1001 -S nodejs +RUN adduser -S nextjs -u 1001 +RUN chown -R nextjs:nodejs /app/.next +USER nextjs + +EXPOSE 3000 + +RUN npx next telemetry disable + +CMD ["yarn", "start"] diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..5f1eedf --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,9 @@ +version: "3.2" + +services: + website: + build: . + container_name: therbron.com + ports: + - 3000:3000 + restart: unless-stopped