FROM node:22-alpine AS builder WORKDIR /app COPY package.json ./ RUN npm install COPY prisma ./prisma RUN npx prisma generate COPY tsconfig.json ./ COPY src ./src RUN npm run build FROM node:22-alpine RUN apk add --no-cache curl jq WORKDIR /app COPY package.json ./ RUN npm install --omit=dev COPY --from=builder /app/node_modules/.prisma ./node_modules/.prisma COPY --from=builder /app/dist ./dist COPY prisma ./prisma COPY scripts ./scripts EXPOSE 8000 CMD ["sh", "-c", ". /app/scripts/load-vault-env.sh && npx prisma migrate resolve --applied 0_init 2>/dev/null; npx prisma migrate deploy && node dist/index.js"]