45 lines
1.3 KiB
Docker
Executable File
45 lines
1.3 KiB
Docker
Executable File
# Dockerfile: construction des artefacts (dist/) sans serveur — Nginx géré par 4NK_node
|
|
FROM node:20-alpine AS builder
|
|
|
|
WORKDIR /app
|
|
|
|
# Installation des dépendances système
|
|
RUN apk update && apk add --no-cache \
|
|
git \
|
|
build-base \
|
|
python3 \
|
|
make \
|
|
g++ \
|
|
curl \
|
|
ca-certificates
|
|
|
|
# Copie des fichiers de dépendances
|
|
COPY package*.json ./
|
|
|
|
# Installation des dépendances (inclut les devDependencies nécessaires au build)
|
|
RUN npm install
|
|
|
|
# Copie du code source
|
|
COPY . .
|
|
|
|
# Préparation des dépendances wasm (pkg/sdk_client)
|
|
ARG SDK_CLIENT_PKG_URL=""
|
|
ARG SDK_CLIENT_PKG_TARBALL=""
|
|
ARG SDK_CLIENT_PKG_BASE="https://git.4nkweb.com/4nk/ihm_client/raw/branch/docker-support/pkg"
|
|
ENV SDK_CLIENT_PKG_URL=${SDK_CLIENT_PKG_URL}
|
|
ENV SDK_CLIENT_PKG_TARBALL=${SDK_CLIENT_PKG_TARBALL}
|
|
ENV SDK_CLIENT_PKG_BASE=${SDK_CLIENT_PKG_BASE}
|
|
RUN chmod +x ./scripts/setup-remote-deps.sh && npm run build_wasm
|
|
|
|
# Build de l'application
|
|
RUN npm run build
|
|
|
|
# Stage artefacts uniquement (pas de serveur ici)
|
|
FROM alpine:3.19 AS dist
|
|
WORKDIR /opt/ihm_client
|
|
COPY --from=builder /app/dist ./dist
|
|
COPY --from=builder /app/package*.json ./
|
|
|
|
# Conteneur neutre (aucun port exposé, artefacts montables dans 4NK_node)
|
|
CMD ["sh", "-c", "echo 'dist prêt dans /opt/ihm_client/dist'; tail -f /dev/null"]
|