app/apps/frontend/Dockerfile
Mathis b512732a14
Add Dockerfile for frontend and backend apps
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.
2024-10-25 09:35:50 +02:00

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"]