- Backend NestJS orchestrant CloudCompare CLI (stats, decimation x2 sur 5 etapes, volume, assemblage .bin) - Scripts Python (laspy, scipy, matplotlib) pour la conversion LAS/LAZ et la generation d'images - Frontend web simple (Tailwind CDN) avec historique des runs - Image Docker (debian:trixie-slim + cloudcompare apt + xvfb) prete pour deploiement Coolify - Lint/typecheck/tests unitaires integres comme portes de qualite au build Docker - CLAUDE.md documentant les comportements CloudCompare CLI verifies empiriquement
23 lines
602 B
Bash
23 lines
602 B
Bash
#!/bin/sh
|
|
set -e
|
|
|
|
# CloudCompare reste une application Qt : meme en -SILENT elle a besoin d'un display.
|
|
# On demarre un Xvfb persistant pour tout le cycle de vie du conteneur plutot que
|
|
# d'en relancer un par appel CLI (plus rapide, evite les conflits de lockfile).
|
|
Xvfb "${DISPLAY:-:99}" -screen 0 1280x1024x24 -nolisten tcp &
|
|
XVFB_PID=$!
|
|
|
|
cleanup() {
|
|
kill "$XVFB_PID" 2>/dev/null || true
|
|
}
|
|
trap cleanup EXIT INT TERM
|
|
|
|
# Attente que le display soit pret
|
|
for i in $(seq 1 20); do
|
|
if xdpyinfo -display "${DISPLAY:-:99}" >/dev/null 2>&1; then
|
|
break
|
|
fi
|
|
sleep 0.25
|
|
done
|
|
|
|
exec node dist/main.js
|