33 lines
1.2 KiB
Bash
33 lines
1.2 KiB
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
MODE="${MODE:-docker}" # docker|url
|
|
ED_VER="${ED_VER:-v4}" # v3|v4
|
|
OUTDIR="${OUTDIR:-/out}"
|
|
|
|
mkdir -p "$OUTDIR"
|
|
case "$MODE" in
|
|
docker)
|
|
# 1) Start your aed-docker container and copy its served webroot
|
|
# Expectation: container serves Avida-ED-Eco at /usr/share/nginx/html/Avida-ED-Eco
|
|
CID="$(docker create --name aedtmp_$ED_VER welsberr/aed-docker:$ED_VER)"
|
|
trap 'docker rm -f aedtmp_'"$ED_VER"' >/dev/null 2>&1 || true' EXIT
|
|
docker cp "aedtmp_$ED_VER:/usr/share/nginx/html/." "$OUTDIR/"
|
|
;;
|
|
url)
|
|
URL="${URL:-https://avida-ed.msu.edu/app4/}"
|
|
apk add --no-cache wget >/dev/null 2>&1 || true
|
|
wget --recursive --no-parent --page-requisites --adjust-extension \
|
|
--compression=auto --convert-links --timestamping \
|
|
--directory-prefix "$OUTDIR" \
|
|
"$URL"
|
|
# normalize into $OUTDIR/Avida-ED-Eco as needed
|
|
if [ ! -d "$OUTDIR/Avida-ED-Eco" ]; then
|
|
SUB="$(find "$OUTDIR" -type f -name index.html | head -n1)"
|
|
[ -n "$SUB" ] && rsync -a "$(dirname "$SUB")"/ "$OUTDIR/Avida-ED-Eco"/
|
|
fi
|
|
;;
|
|
*) echo "Unknown MODE=$MODE" >&2; exit 1;;
|
|
esac
|
|
|
|
echo "Assets fetched to $OUTDIR"
|