48 lines
1.2 KiB
Docker
48 lines
1.2 KiB
Docker
# 1. Node.js Build-Stage
|
|
FROM forgejo.edf-bootstrap.cx.fg1.ffm.osc.live/devfw-cicd/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
|
|
|
|
|
|
### NEW ###
|
|
#RUN npm install -g http-server
|
|
RUN npx tsc event.ts
|
|
RUN npx tsc broker.ts
|
|
|
|
RUN cp index.html dist/
|
|
|
|
# 2. Rust build-Stage
|
|
FROM forgejo.edf-bootstrap.cx.fg1.ffm.osc.live/devfw-cicd/rust:1.74.0 AS rust-build
|
|
RUN cargo install iching
|
|
|
|
# 3. Final node.js runtime-Stage
|
|
FROM forgejo.edf-bootstrap.cx.fg1.ffm.osc.live/devfw-cicd/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
|
|
|
|
|
|
# Lege das /iching-Verzeichnis in dist an
|
|
RUN mkdir -p dist/iching
|
|
|
|
# Kopiere HTML und JS-Dateien hinein
|
|
RUN cp index.html dist/iching/
|
|
RUN cp dist/*.js dist/iching/
|
|
|
|
|
|
# 5. Run app
|
|
|
|
#CMD ["npx", "http-server", ".", "-p", "8080"]
|
|
#CMD ["npx", "http-server", "dist", "-p", "8080"]
|
|
CMD ["npx", "http-server", "dist/iching", "-p", "8080", "--mime", "application/javascript=js"]
|
|
#CMD ["npx", "http-server", "dist/iching", "-p", "8080", "--mime", "application/javascript=js", "-S", "false"]
|