You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
674 B
29 lines
674 B
FROM node:22-bookworm-slim AS api |
|
|
|
WORKDIR /app |
|
|
|
RUN apt-get update -y \ |
|
&& apt-get install -y --no-install-recommends openssl ca-certificates wget \ |
|
&& rm -rf /var/lib/apt/lists/* |
|
|
|
RUN corepack enable && corepack prepare pnpm@9.15.4 --activate |
|
|
|
COPY pnpm-lock.yaml pnpm-workspace.yaml package.json ./ |
|
COPY apps/api/package.json ./apps/api/ |
|
COPY apps/web/package.json ./apps/web/ |
|
|
|
RUN pnpm install --frozen-lockfile |
|
|
|
COPY apps/api ./apps/api |
|
|
|
RUN pnpm --filter api exec prisma generate \ |
|
&& pnpm --filter api build |
|
|
|
WORKDIR /app/apps/api |
|
|
|
ENV NODE_ENV=production |
|
ENV PORT=3001 |
|
|
|
EXPOSE 3001 |
|
|
|
CMD ["sh", "-c", "pnpm exec prisma migrate deploy && node dist/src/main.js"]
|
|
|