Aligner le CIDR par défaut de run.sh sur la webapp et nettoyer le parsing GPU

This commit is contained in:
Antoine Jacquin
2026-09-18 21:29:17 +02:00
parent e5895df7b8
commit 7e2dcfe656
2 changed files with 19 additions and 14 deletions

26
run.sh
View File

@ -118,7 +118,7 @@ while [ $# -gt 0 ]; do
-g)
GPU_FLAG="--gpus all"
# Check if next arg is a GPU selector (not another flag)
if [ $# -gt 1 ] && [[ ! "$2" =~ ^- ]] && [[ "$2" != "all" || "$2" == "all" ]]; then
if [ $# -gt 1 ] && [[ ! "$2" =~ ^- ]]; then
GPU_ARG="$2"
GPU_FLAG="--gpus all"
shift 2
@ -233,20 +233,23 @@ fi
# le journal complet est affiché. Ça évite de lancer tests/serveur/pipeline
# sur une image périmée (code baké à la dernière édition).
build_image() {
local log="/tmp/lidar_build_$$.log"
echo "Mise à jour de l'image Docker (cache)..."
if ! docker build -t "$IMAGE_NAME" "$SCRIPT_DIR" >/tmp/lidar_build.log 2>&1; then
cat /tmp/lidar_build.log >&2
echo "Échec du build de l'image (journal : /tmp/lidar_build.log)" >&2
if ! docker build -t "$IMAGE_NAME" "$SCRIPT_DIR" >"$log" 2>&1; then
cat "$log" >&2
echo "Échec du build de l'image (journal : $log)" >&2
exit 1
fi
rm -f "$log"
}
# Image webapp légère (conteneur webapp seul — cf. Dockerfile.webapp)
build_webapp_image() {
local log="/tmp/lidar_webapp_build_$$.log"
echo "Mise à jour de l'image Docker webapp (cache)..."
if ! docker build -f Dockerfile.webapp -t "$WEBAPP_IMAGE" "$SCRIPT_DIR" >/tmp/lidar_webapp_build.log 2>&1; then
cat /tmp/lidar_webapp_build.log >&2
echo "Échec du build de l'image webapp (journal : /tmp/lidar_webapp_build.log)" >&2
if ! docker build -f Dockerfile.webapp -t "$WEBAPP_IMAGE" "$SCRIPT_DIR" >"$log" 2>&1; then
cat "$log" >&2
echo "Échec du build de l'image webapp (journal : $log)" >&2
exit 1
fi
}
@ -283,10 +286,11 @@ if [ "$SERVE_FLAG" -eq 1 ]; then
GPU_ENV_FLAG="-e LIDAR_GPU=1 -e CUDA_VISIBLE_DEVICES=${GPU_ARG} --gpus '""device=${GPU_ARG}""'"
fi
# Réseau autorisé à lancer les générations (/api/generate) : la valeur
# vient de l'environnement hôte LIDAR_REGEN_CIDR (défaut 192.168.1.0/24,
# chaîne vide pour lever la restriction).
REGEN_ENV_FLAG="-e LIDAR_REGEN_CIDR=${LIDAR_REGEN_CIDR-192.168.1.0/24}"
exec docker run --rm --init $GPU_FLAG $CUDA_ENV_FLAG \
# vient de l'environnement hôte LIDAR_REGEN_CIDR ; sans elle, le défaut
# de la webapp s'applique (localhost + RFC1918). Chaîne VIDE pour lever
# complètement la restriction.
REGEN_ENV_FLAG="-e LIDAR_REGEN_CIDR=${LIDAR_REGEN_CIDR-127.0.0.0/8,::1,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16}"
exec docker run --rm --init $GPU_FLAG \
--user 1000:1000 \
-p "${SERVE_PORT}:8973" \
-v "${INPUT_DIR}:/data/input" \