FROM node:22-alpine AS deps WORKDIR /app COPY package.json package-lock.json ./ RUN npm ci FROM deps AS builder COPY tsconfig.json ./ COPY src ./src RUN npm run build FROM deps AS runtime-deps RUN npm prune --omit=dev FROM node:22-alpine AS runtime RUN apk add --no-cache curl jq WORKDIR /app COPY package.json ./ COPY --from=runtime-deps /app/node_modules ./node_modules COPY --from=builder /app/dist ./dist COPY scripts ./scripts EXPOSE 8000 CMD ["sh", "-c", ". /app/scripts/load-vault-env.sh && node dist/index.js"]