Aligner le CIDR par défaut de run.sh sur la webapp et nettoyer le parsing GPU
This commit is contained in:
@ -38,9 +38,10 @@ services:
|
||||
# Les tuiles sont servies à la demande depuis LIDAR_GENERATION_URL
|
||||
# (cache peuplé au fil des consultations) : plus de rsync ni de sync
|
||||
# périodique ; le bouton ↻ / POST /api/sync déclenchent le rebuild.
|
||||
# Réseau autorisé à lancer les générations depuis la carte (défaut
|
||||
# 192.168.1.0/24 ; chaîne vide = restriction levée). Les autres clients
|
||||
# consultent la carte en lecture seule (boutons masqués, API 403).
|
||||
# Réseau autorisé à lancer les générations depuis la carte (défaut :
|
||||
# localhost + plages privées RFC1918 ; chaîne vide = restriction levée).
|
||||
# Les autres clients consultent la carte en lecture seule (boutons
|
||||
# masqués, API 403).
|
||||
# - LIDAR_REGEN_CIDR=192.168.1.0/24
|
||||
# Le webapp sert du HTTP. Le TLS est terminé par le reverse proxy (Traefik,
|
||||
# certificat porté par le proxy) : la configuration Traefik (routage HTTPS)
|
||||
|
||||
26
run.sh
26
run.sh
@ -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" \
|
||||
|
||||
Reference in New Issue
Block a user