2025-03-25 13:35:24 +00:00
|
|
|
# 1. Node.js Build-Stage
|
|
|
|
FROM node:20.18.1 AS build
|
2025-03-25 08:54:22 +00:00
|
|
|
|
2025-03-25 14:04:48 +00:00
|
|
|
RUN echo "Stage 1 startet"
|
|
|
|
|
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
|
|
|
|
|
|
|
RUN npm install
|
2025-03-25 13:35:24 +00:00
|
|
|
RUN npx tsc # TypeScript Code kompilieren
|
2025-03-25 11:39:58 +00:00
|
|
|
|
2025-03-25 13:35:24 +00:00
|
|
|
# 2. Rust Build-Stage
|
2025-03-25 14:04:48 +00:00
|
|
|
|
|
|
|
RUN echo "Stage 2 startet"
|
|
|
|
|
2025-03-25 13:35:24 +00:00
|
|
|
FROM 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-25 13:35:24 +00:00
|
|
|
# 3. Final Node.js Runtime-Stage
|
|
|
|
FROM node:20.18.1
|
|
|
|
|
2025-03-25 14:04:48 +00:00
|
|
|
RUN echo "Stage 3 startet"
|
|
|
|
|
2025-03-25 13:35:24 +00:00
|
|
|
WORKDIR /app
|
2025-03-25 08:54:22 +00:00
|
|
|
|
2025-03-25 13:35:24 +00:00
|
|
|
# 4 Copy previous builds
|
|
|
|
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-25 14:04:48 +00:00
|
|
|
RUN echo "Calling Broker"
|
|
|
|
|
2025-03-25 13:37:32 +00:00
|
|
|
CMD ["npx", "ts-node", "broker.ts"]
|
|
|
|
#CMD ["npx", "ts-node", "mailsender.ts"]
|