6e9c588ae3
Co-authored-by: Copilot <copilot@github.com>
35 lines
895 B
Docker
35 lines
895 B
Docker
# Byggas från projektets rot: docker build -f backend/Dockerfile -t recipe-importer-api:local .
|
|
|
|
# Stage 1: Bygg applikationen
|
|
FROM node:24.15.0-alpine AS builder
|
|
WORKDIR /app
|
|
|
|
# Kopiera backend-filer
|
|
COPY backend/package.json ./
|
|
COPY backend/package-lock.json ./
|
|
COPY backend/src ./src
|
|
COPY backend/tsconfig.json ./
|
|
COPY backend/nest-cli.json ./
|
|
|
|
# Köra npm ci för reproducerbara builds
|
|
RUN npm ci
|
|
RUN npm run build
|
|
|
|
# Stage 2: Kör applikationen
|
|
FROM node:24.15.0-alpine AS runner
|
|
WORKDIR /app
|
|
ENV NODE_ENV=production
|
|
|
|
# Tesseract OCR systempaket (krävs av tesseract.js)
|
|
RUN apk add --no-cache \
|
|
tesseract-ocr \
|
|
tesseract-ocr-data-swe \
|
|
tesseract-ocr-data-eng
|
|
|
|
COPY --from=builder /app/package.json ./package.json
|
|
COPY --from=builder /app/node_modules ./node_modules
|
|
COPY --from=builder /app/dist ./dist
|
|
|
|
EXPOSE 3001
|
|
CMD ["node", "dist/main"]
|