2022-09-14 20:05:06 +00:00
|
|
|
FROM node:18-bullseye AS prebuild
|
2022-09-14 19:16:00 +00:00
|
|
|
ENV ELASTIC_URL='http://elastic:9200' \
|
|
|
|
ELASTIC_USER='elastic' \
|
|
|
|
ELASTIC_PASSWORD='' \
|
2022-01-07 15:01:42 +00:00
|
|
|
MATOMO_URL='' \
|
|
|
|
MATOMO_SITE_ID='' \
|
2022-01-15 00:59:06 +00:00
|
|
|
STATS_CACHE_MINUTES=60 \
|
2022-01-03 12:12:50 +00:00
|
|
|
TZ='UTC'
|
2022-09-14 20:05:06 +00:00
|
|
|
FROM prebuild AS build
|
2022-01-01 19:37:33 +00:00
|
|
|
WORKDIR /srv
|
|
|
|
COPY application/package*.json ./
|
|
|
|
RUN npm install --frozen-lockfile
|
|
|
|
COPY application/. .
|
|
|
|
RUN npm run build
|
|
|
|
|
|
|
|
FROM build as dev
|
|
|
|
CMD npm run dev
|
|
|
|
|
2022-09-14 20:05:06 +00:00
|
|
|
FROM prebuild AS prod
|
2022-01-01 19:37:33 +00:00
|
|
|
RUN groupadd -g 1001 nodejs
|
|
|
|
RUN useradd -u 1001 -g 1001 nextjs
|
|
|
|
USER nextjs
|
|
|
|
EXPOSE 3000
|
|
|
|
WORKDIR /srv
|
|
|
|
COPY --from=build /srv/node_modules ./node_modules
|
|
|
|
COPY --from=build /srv/package*.json ./
|
|
|
|
COPY --from=build --chown=nextjs:nodejs /srv/src/.next ./.next
|
|
|
|
COPY --from=build /srv/src/public ./public
|
|
|
|
CMD node_modules/.bin/next start
|