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 WORKDIR /app COPY package.json ./ RUN npm install --omit=dev && npm install @infisical/sdk COPY --from=builder /app/node_modules/.prisma ./node_modules/.prisma COPY --from=builder /app/dist ./dist COPY prisma ./prisma COPY scripts ./scripts ENV INFISICAL_SECRET_PATHS="/exchange,/shared" EXPOSE 8000 CMD ["sh", "-c", "node scripts/load-secrets.mjs && . ./.env.infisical && npx prisma migrate resolve --applied 0_init 2>/dev/null; npx prisma migrate deploy && node dist/index.js"]