Per vedere e provare il bot senza Unraid: F5 in VS Code, scripts/run-dev e scripts/run-docker usano tutti deploy/local come /config e /data, con la stessa disposizione del container, così chiavi e configurazione valgono in ogni modo. ENCELADO_DATA_DIR separa i dati anche fuori dal container. scripts/screenshots rigenera docs/img dal server campione; /api/health in --sample non finge più un motore acceso. docker stop ora termina in un secondo con «SIGTERM: arresto» (PosixSignalRegistration), provato sull'immagine 5.0.0 costruita dalla catena. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
33 lines
1.9 KiB
Bash
33 lines
1.9 KiB
Bash
#!/usr/bin/env sh
|
|
# Regenerates docs/img/*.png: the server in sample mode (--sample) and a headless Edge/Chrome on every page.
|
|
# No keys, no market: the snapshot is fake. Pages are opened with ?once=1 (one snapshot, no stream),
|
|
# otherwise the headless browser never considers the page loaded.
|
|
# sh scripts/screenshots.sh [port]
|
|
set -eu
|
|
cd "$(dirname "$0")/.."
|
|
PORT="${1:-58085}"
|
|
BROWSER="${ENCELADO_BROWSER:-}"
|
|
for c in "/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe" "/c/Program Files/Microsoft/Edge/Application/msedge.exe" "$(command -v microsoft-edge || true)" "$(command -v google-chrome || true)" "$(command -v chromium || true)"; do
|
|
[ -n "$BROWSER" ] && break
|
|
[ -n "$c" ] && [ -x "$c" ] && BROWSER="$c"
|
|
done
|
|
[ -n "$BROWSER" ] || { echo "nessun browser Chromium trovato (imposta ENCELADO_BROWSER)" >&2; exit 1; }
|
|
|
|
dotnet build src/Encelado.Server -c Debug -nologo -v q
|
|
WORK="$(mktemp -d)"
|
|
trap '[ -n "${PID:-}" ] && kill "$PID" 2>/dev/null; rm -rf "$WORK"' EXIT
|
|
mkdir -p "$WORK/config" docs/img
|
|
ENCELADO_CONFIG_DIR="$WORK/config" dotnet src/Encelado.Server/bin/Debug/net10.0/Encelado.Server.dll --sample --port "$PORT" >/dev/null 2>&1 &
|
|
PID=$!
|
|
i=0; until curl -sf "http://127.0.0.1:$PORT/api/health" >/dev/null 2>&1; do i=$((i+1)); [ "$i" -lt 30 ] || { echo "il server campione non risponde" >&2; exit 1; }; sleep 1; done
|
|
|
|
shot() { # shot <name> <page> <size>
|
|
"$BROWSER" --headless=new --disable-gpu --no-first-run --hide-scrollbars "--user-data-dir=$WORK/edge-$1" "--window-size=$3" --virtual-time-budget=5000 "--screenshot=$(pwd)/docs/img/$1.png" "http://127.0.0.1:$PORT/?once=1#/$2" >/dev/null 2>&1 || true
|
|
[ -s "docs/img/$1.png" ] && echo " $1: $(wc -c < "docs/img/$1.png") byte" || echo " $1: screenshot non scritto" >&2
|
|
}
|
|
shot dashboard dashboard 1440,900
|
|
shot storico storico 1440,900
|
|
shot log log 1440,900
|
|
shot impostazioni impostazioni 1440,900
|
|
shot mobile dashboard 420,860
|