ihm_client/Dockerfile

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"]