iching-broker-level1/Dockerfile

31 lines
780 B
Docker
Raw Permalink Normal View History

2025-03-25 13:35:24 +00:00
# 1. Node.js Build-Stage
2025-04-02 12:24:32 +00:00
FROM forgejo.edf-bootstrap.cx.fg1.ffm.osc.live/devfw-cicd/node:20.18.1 AS build
2025-03-25 08:54:22 +00:00
WORKDIR /app
COPY package*.json ./
2025-03-25 13:35:24 +00:00
COPY . .
2025-03-25 08:54:22 +00:00
2025-03-26 09:31:06 +00:00
#RUN npm install
RUN npm install -g npm@11.2.0
2025-03-25 13:35:24 +00:00
RUN npx tsc # TypeScript Code kompilieren
2025-03-25 11:39:58 +00:00
2025-03-26 10:39:02 +00:00
# 2. Rust build-Stage
2025-04-02 12:24:32 +00:00
FROM forgejo.edf-bootstrap.cx.fg1.ffm.osc.live/devfw-cicd/rust:1.74.0 AS rust-build
2025-03-25 11:39:58 +00:00
RUN cargo install iching
2025-03-25 08:54:22 +00:00
2025-03-26 10:39:02 +00:00
# 3. Final node.js runtime-Stage
2025-04-02 12:24:32 +00:00
FROM forgejo.edf-bootstrap.cx.fg1.ffm.osc.live/devfw-cicd/node:20.18.1
2025-03-25 13:35:24 +00:00
WORKDIR /app
2025-03-25 08:54:22 +00:00
2025-03-26 10:39:02 +00:00
# 4. Copy previous builds
2025-03-25 13:35:24 +00:00
COPY --from=build /app .
COPY --from=rust-build /usr/local/cargo/bin/iching /usr/local/bin/iching
2025-03-25 08:54:22 +00:00
2025-03-26 10:39:02 +00:00
# 5. Run app
2025-03-25 13:37:32 +00:00
CMD ["npx", "ts-node", "broker.ts"]
2025-03-26 10:39:02 +00:00
#run indefinitely to avoid CrashLoopBackOff
2025-04-02 12:24:32 +00:00
#CMD exec /bin/bash -c "trap : TERM INT; sleep infinity & wait"