Files
recipe-app/backend/Dockerfile
T

43 lines
1.4 KiB
Docker
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Byggas från projektets rot: docker build -f backend/Dockerfile -t recipe-api:local .
# Stage 1: Bygg recipe-document-converter
FROM node:22-alpine AS converter-build
WORKDIR /converter
COPY recipe-document-converter/package.json ./
RUN npm install
COPY recipe-document-converter/src ./src
COPY recipe-document-converter/tsconfig.json ./
RUN npm run build
# Stage 2: Installera backend-beroenden
FROM node:22-alpine AS deps
WORKDIR /app
COPY backend/package.json ./
COPY backend/prisma ./prisma
# Ta bort file:-referensen så att npm inte försöker skapa en symlink till converter
RUN npm pkg delete dependencies.recipe-document-converter && npm install
# Stage 3: Bygg applikationen
FROM node:22-alpine AS builder
WORKDIR /app
COPY --from=deps /app/node_modules ./node_modules
# Lägg in converter direkt i node_modules undviker symlänk-problematik helt
COPY --from=converter-build /converter/dist ./node_modules/recipe-document-converter/dist
COPY --from=converter-build /converter/package.json ./node_modules/recipe-document-converter/package.json
COPY backend/ .
RUN npx prisma generate
RUN npm run build
# Stage 4: Kör applikationen
FROM node:22-alpine AS runner
WORKDIR /app
ENV NODE_ENV=production
COPY --from=builder /app/package.json ./package.json
COPY --from=builder /app/node_modules ./node_modules
COPY --from=builder /app/prisma ./prisma
COPY --from=builder /app/dist ./dist
EXPOSE 8080
CMD ["node", "dist/main"]