Untitled
unknown
plain_text
a year ago
1.1 kB
6
Indexable
FROM node:18-alpine AS base FROM base AS builder # Check https://github.com/nodejs/docker-node/tree/b4117f9333da4138b03a546ec926ef50a31506c3#nodealpine to understand why libc6-compat might be needed. RUN apk add --no-cache libc6-compat RUN apk update # Set working directory WORKDIR /app RUN npm i -g turbo COPY . . RUN turbo prune --scope=ingest --docker # Add lockfile and package.json's of isolated subworkspace FROM base AS installer RUN apk add --no-cache libc6-compat RUN apk update WORKDIR /app # First install the dependencies (as they change less often) COPY .gitignore .gitignore COPY --from=builder /app/out/json/ . COPY --from=builder /app/out/package-lock.json ./package-lock.json RUN npm ci # Build the project COPY --from=builder /app/out/full/ . COPY turbo.json turbo.json RUN npm run build -- --filter=ingest... # RUN npx prisma generate FROM base AS runner WORKDIR /app # Don't run production as root RUN addgroup --system --gid 1001 nodejs RUN adduser --system --uid 1001 nodejs USER nodejs COPY --from=installer /app . CMD node apps/ingest/dist/index.js
Editor is loading...