#!/usr/bin/env bash set -euo pipefail container_name=${PRODUCT_VAMP_ZERO_CONTAINER:-product_vamp_zero} config_dir=${PRODUCT_VAMP_CONFIG_DIR:-/etc/product_vamp} image_tag=${PRODUCT_VAMP_ZERO_IMAGE:-} if [ -z "$image_tag" ]; then read -r image_tag < "$config_dir/image_id" fi 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 "$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"'