20 lines
700 B
Docker
20 lines
700 B
Docker
FROM node:22-slim AS base
|
|
RUN corepack enable && corepack prepare pnpm@9.0.0 --activate
|
|
WORKDIR /app
|
|
|
|
FROM base AS build
|
|
COPY pnpm-workspace.yaml pnpm-lock.yaml package.json turbo.json tsconfig.base.json ./
|
|
COPY codebase/@packages/ codebase/@packages/
|
|
COPY codebase/apps/api/ codebase/apps/api/
|
|
RUN pnpm install --frozen-lockfile
|
|
RUN pnpm --filter @kthulu/api build
|
|
|
|
FROM base AS runtime
|
|
COPY --from=build /app/node_modules ./node_modules
|
|
COPY --from=build /app/codebase/apps/api/dist ./dist
|
|
COPY --from=build /app/codebase/apps/api/package.json ./package.json
|
|
COPY --from=build /app/codebase/apps/api/node_modules ./app-node_modules
|
|
|
|
ENV NODE_ENV=production
|
|
EXPOSE 3780
|
|
CMD ["node", "dist/main.js"]
|