🔧 make the app docker ready

This commit is contained in:
ChatonDeAru
2024-03-24 10:17:15 +01:00
committed by ChatonDeAru (Romain)
parent 24db804c7f
commit a0c4396527
8 changed files with 258 additions and 133 deletions

31
Dockerfile Normal file
View File

@@ -0,0 +1,31 @@
# App build
FROM node:20-alpine as build-stage
ARG user=node
ARG project_dir=/opt/node_app
ARG NODE_ENV=production
ARG PORT=3000
ENV NODE_ENV $NODE_ENV
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"]