mirror of
https://github.com/Paris-est-Ludique/intranet.git
synced 2025-06-08 00:24:21 +02:00
29 lines
559 B
Docker
29 lines
559 B
Docker
# App build
|
|
FROM node:20-alpine as build-stage
|
|
|
|
ARG user=node
|
|
ARG project_dir=/opt/node_app
|
|
ARG PORT=3000
|
|
|
|
ENV PORT $PORT
|
|
ENV NODE_OPTIONS="--max_old_space_size=4096"
|
|
|
|
EXPOSE $PORT
|
|
|
|
## Enable corepack for proper version of YARN
|
|
RUN corepack enable
|
|
|
|
RUN mkdir $project_dir && chown $user:$user $project_dir
|
|
USER $user
|
|
WORKDIR $project_dir
|
|
|
|
## Copy file for YARN then install all deps
|
|
COPY --chown=$user .yarnrc.yml yarn.lock package.json ./
|
|
RUN yarn install --frozen-lockfile
|
|
|
|
COPY --chown=$user . ./
|
|
|
|
## Build the app
|
|
RUN yarn run build
|
|
|
|
CMD ["yarn", "start"] |