Introduced Dockerfiles for both frontend and backend applications to set up production environments. The frontend Dockerfile configures Next.js and the backend Dockerfile configures a Nest.js setup, both using node:lts-alpine base images. This update streamlines dependencies installation and container runtime configurations.
28 lines
1.2 KiB
Docker
28 lines
1.2 KiB
Docker
# This template uses Automatically Copying Traced Files feature
|
|
# so you need to setup your Next Config file to use `output: 'standalone'`
|
|
# Please read this for more information https://nextjs.org/docs/pages/api-reference/next-config-js/output
|
|
|
|
# Production image, copy all the files and run next
|
|
FROM docker.io/node:lts-alpine AS runner
|
|
RUN apk add --no-cache dumb-init
|
|
ENV NODE_ENV=production
|
|
ENV PORT=3000
|
|
WORKDIR /usr/src/app
|
|
COPY apps/frontend/next.config.js ./
|
|
COPY apps/frontend/public ./public
|
|
COPY apps/frontend/.next/standalone/apps/frontend ./
|
|
COPY apps/frontend/.next/standalone/package.json ./
|
|
COPY apps/frontend/.next/standalone/node_modules ./node_modules
|
|
COPY apps/frontend/.next/static ./.next/static
|
|
# RUN npm i sharp
|
|
RUN chown -R node:node .
|
|
USER node
|
|
EXPOSE 3000
|
|
# COPY --chown=node:node ./tools/scripts/entrypoints/api.sh /usr/local/bin/docker-entrypoint.sh
|
|
# ENTRYPOINT [ "docker-entrypoint.sh" ]
|
|
# 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.
|
|
ENV NEXT_TELEMETRY_DISABLED=1
|
|
CMD ["dumb-init", "node", "server.js"]
|