Files
sigilbox/podman-run.sh

67 lines
1.4 KiB
Bash
Raw Normal View History

2026-05-16 16:05:32 -07:00
#!/usr/bin/env bash
2026-05-15 09:12:28 -07:00
set -euo pipefail
2026-05-16 16:05:32 -07:00
# Podman helper for local-page-archiver worker-container runs.
2026-05-15 09:12:28 -07:00
# Usage:
2026-05-16 16:05:32 -07:00
# ./podman-run.sh build
# ./podman-run.sh archive <URL> [archive CLI options]
# ./podman-run.sh vnc-archive <URL> [archive CLI options]
2026-05-15 09:12:28 -07:00
2026-05-16 16:05:32 -07:00
IMAGE_NAME="${ARCHIVE_WORKER_IMAGE:-local-page-archiver:latest}"
2026-05-15 09:12:28 -07:00
ARCHIVE_DIR="${ARCHIVE_DIR:-$(pwd)/archives}"
build_image() {
podman build -t "${IMAGE_NAME}" .
}
2026-05-16 16:05:32 -07:00
ensure_image() {
if ! podman image exists "${IMAGE_NAME}"; then
build_image
fi
2026-05-15 09:12:28 -07:00
}
case "${1:-}" in
2026-05-16 16:05:32 -07:00
build)
build_image
;;
archive)
2026-05-15 09:12:28 -07:00
shift
2026-05-16 16:05:32 -07:00
ensure_image
node src/container-runner.mjs archive \
--runtime podman \
--image "${IMAGE_NAME}" \
--archive-path "${ARCHIVE_DIR}" \
"$@"
2026-05-15 09:12:28 -07:00
;;
2026-05-16 16:05:32 -07:00
vnc-archive|headful-archive)
shift
ensure_image
node src/container-runner.mjs archive \
--runtime podman \
--image "${IMAGE_NAME}" \
--archive-path "${ARCHIVE_DIR}" \
--vnc \
"$@"
;;
help|"")
cat <<EOF
Usage:
./podman-run.sh build
./podman-run.sh archive <URL> [archive CLI options]
./podman-run.sh vnc-archive <URL> [archive CLI options]
Environment:
ARCHIVE_WORKER_IMAGE=${IMAGE_NAME}
ARCHIVE_DIR=${ARCHIVE_DIR}
EOF
2026-05-15 09:12:28 -07:00
;;
*)
2026-05-16 16:05:32 -07:00
ensure_image
node src/container-runner.mjs archive \
--runtime podman \
--image "${IMAGE_NAME}" \
--archive-path "${ARCHIVE_DIR}" \
"$@"
2026-05-15 09:12:28 -07:00
;;
esac