Something went wrong. Try again.
Something went wrong. Try again.
gunpla.build Dockerfile
1.3 kB · 47 lines
Dockerfile
at main
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748FROM node:24-slim AS baseENV PNPM_HOME="/pnpm"ENV PATH="$PNPM_HOME:$PATH"RUN corepack enable
# ----------------------------# Stage 1: Install all deps# ----------------------------FROM base AS depsWORKDIR /appCOPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./RUN --mount=type=cache,id=pnpm,target=/pnpm/store \ pnpm install --frozen-lockfile
# ----------------------------# Stage 2: Build# ----------------------------FROM deps AS buildWORKDIR /appCOPY . .RUN node_modules/.bin/lex build --lexicons ./lexicons --out ./app/lexicons --overrideRUN node ace build
# ----------------------------# Stage 3: Production dependencies# ----------------------------FROM base AS prod-depsWORKDIR /appCOPY --from=build /app/build/package.json ./COPY --from=build /app/build/pnpm-lock.yaml ./COPY pnpm-workspace.yaml ./RUN --mount=type=cache,id=pnpm,target=/pnpm/store \ pnpm install --prod --frozen-lockfile
# ----------------------------# Stage 4: Production runtime# ----------------------------FROM base AS productionWORKDIR /appENV NODE_ENV=production
COPY --from=build /app/build ./COPY --from=prod-deps /app/node_modules ./node_modulesCOPY docker-entrypoint.js ./
EXPOSE 3333CMD ["node", "docker-entrypoint.js"]