api/Dockerfile
Nathan Lamy 0164870be5
Some checks are pending
Build and Publish Docker Image / docker (push) Waiting to run
chore: add ci
2025-08-21 16:06:54 +02:00

30 lines
790 B
Docker

ARG NODE_IMAGE=node:22-slim
###### First Stage - Creating base ######
FROM $NODE_IMAGE as base
RUN mkdir -p /home/node/app && chown node:node /home/node/app
RUN npm install --global pnpm
WORKDIR /home/node/app
USER node
RUN mkdir tmp
###### Second Stage - Installing dependencies ######
FROM base AS dependencies
COPY --chown=node:node ./package*.json ./
RUN pnpm install
COPY --chown=node:node . .
###### Third Stage - Building Stage ######
FROM dependencies AS build
RUN node ace build
###### Final Stage - Production ######
FROM base as production
ENV NODE_ENV=production
ENV PORT=3333
ENV HOST=0.0.0.0
COPY --chown=node:node ./package.json ./
COPY --chown=node:node ./pnpm-lock.yaml ./
RUN pnpm install --prod
COPY --chown=node:node --from=build /home/node/app/build .
EXPOSE 3333