# 1. Node.js Build-Stage FROM node:20.18.1 AS build WORKDIR /app COPY package*.json ./ COPY . . #RUN npm install RUN npm install -g npm@11.2.0 RUN npx tsc # TypeScript Code kompilieren # 2. Rust build-Stage FROM rust:1.74.0 AS rust-build RUN cargo install iching # 3. Final node.js runtime-Stage FROM node:20.18.1 WORKDIR /app # 4. Copy previous builds COPY --from=build /app . COPY --from=rust-build /usr/local/cargo/bin/iching /usr/local/bin/iching # 5. Run app CMD ["npx", "ts-node", "broker.ts"] #run indefinitely to avoid CrashLoopBackOff #CMD exec /bin/bash -c "trap : TERM INT; sleep infinity & wait"