@@ -0,0 +1,42 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
container_name=${PRODUCT_VAMP_ZERO_CONTAINER:-product-vamp-zero}
|
||||
image_tag=${PRODUCT_VAMP_ZERO_IMAGE:-product-vamp-zero:dev}
|
||||
config_dir=${PRODUCT_VAMP_CONFIG_DIR:-/etc/product-vamp}
|
||||
state_dir=${PRODUCT_VAMP_STATE_DIR:-/var/lib/product-vamp}
|
||||
run_dir=${PRODUCT_VAMP_RUN_DIR:-/run/product-vamp}
|
||||
display_tty=${PRODUCT_VAMP_DISPLAY_TTY:-/dev/tty1}
|
||||
|
||||
install -d -m 0755 "$run_dir"
|
||||
|
||||
if command -v chvt >/dev/null 2>&1 && [ -c "$display_tty" ]; then
|
||||
tty_number=${display_tty#/dev/tty}
|
||||
case "$tty_number" in
|
||||
''|*[!0-9]*)
|
||||
;;
|
||||
*)
|
||||
chvt "$tty_number" || true
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
if [ -c "$display_tty" ]; then
|
||||
if command -v setterm >/dev/null 2>&1; then
|
||||
setterm --cursor off > "$display_tty" || printf '\033[?25l' > "$display_tty" || true
|
||||
else
|
||||
printf '\033[?25l' > "$display_tty" || true
|
||||
fi
|
||||
fi
|
||||
|
||||
docker rm -f "$container_name" >/dev/null 2>&1 || true
|
||||
|
||||
echo "Starting Product Vamp Zero container '$container_name' from '$image_tag' on '$display_tty'"
|
||||
|
||||
exec docker run --rm --name "$container_name" --network host --privileged \
|
||||
--env PRODUCT_VAMP_DISPLAY_TTY="$display_tty" \
|
||||
-v "$config_dir:/etc/product-vamp:ro" \
|
||||
-v "$state_dir:/var/lib/product-vamp" \
|
||||
-v "$run_dir:/run/product-vamp" \
|
||||
"$image_tag" \
|
||||
sh -lc 'display_tty=${PRODUCT_VAMP_DISPLAY_TTY:-/dev/tty1}; exec setsid --wait --ctty /usr/bin/vamp-zero --config /etc/product-vamp/vamp.json < "$display_tty"'
|
||||
Reference in New Issue
Block a user