2026-07-15 21:01:09 +08:00

26 lines
674 B
Docker

ARG BASE_IMAGE=node:22-alpine
FROM ${BASE_IMAGE} AS build
WORKDIR /app
RUN apk add --no-cache openssl
COPY package*.json ./
RUN npm ci
COPY prisma ./prisma
RUN npx prisma generate
COPY tsconfig.json ./
COPY src ./src
RUN npm run build
FROM ${BASE_IMAGE}
WORKDIR /app
ENV NODE_ENV=production
RUN apk add --no-cache openssl
COPY package*.json ./
RUN npm ci --omit=dev
COPY --from=build /app/node_modules/.prisma ./node_modules/.prisma
COPY --from=build /app/node_modules/@prisma/client ./node_modules/@prisma/client
COPY --from=build /app/dist ./dist
COPY prisma ./prisma
RUN mkdir -p /app/data
EXPOSE 3088
CMD ["sh", "-c", "npx prisma migrate deploy && node dist/index.js"]