docker
Some checks failed
Run Unit-Tests / test_frontend (push) Has been cancelled
Run Unit-Tests / test_backend (push) Has been cancelled

This commit is contained in:
Bastian Wagner
2026-02-16 15:03:47 +01:00
parent 57c1faa3ba
commit 8545ef3b36

View File

@@ -1,31 +1,27 @@
FROM node:22 AS development
WORKDIR /api/src
# -------- BUILD --------
FROM node:22 AS build
WORKDIR /app
COPY package*.json ./
RUN npm install
RUN npm ci
COPY . .
RUN npm run build
################
## PRODUCTION ##
################
# Build another image named production
FROM node:22 AS production
# -------- PROD DEPS (nur prod node_modules) --------
FROM node:22 AS deps
WORKDIR /app
# Set node env to prod
ARG NODE_ENV=production
ENV NODE_ENV=${NODE_ENV}
COPY package*.json ./
RUN npm ci --omit=dev && npm cache clean --force
# Set Working Directory
WORKDIR /api/src
# -------- RUNTIME --------
FROM node:22-slim AS runtime
ENV NODE_ENV=production
WORKDIR /app
# Copy all from development stage
COPY --from=development /api/src/ .
COPY --from=deps /app/node_modules ./node_modules
COPY --from=build /app/dist ./dist
COPY package*.json ./
EXPOSE 4000
# Run app
CMD [ "node", "dist/src/main" ]
# Example Commands to build and run the dockerfile
# docker build -t thomas-nest .
# docker run thomas-nest
CMD ["node", "dist/src/main"]