#!/usr/bin/env bash # Deploy the benchmark dashboard via docker compose. # ./deploy.sh -> regenerate site from source, rebuild, restart # ./deploy.sh logs -> tail container logs # ./deploy.sh down -> stop & remove container # ./deploy.sh status -> show running state # # The site rebuilds from data/benchmark_history.json on every run, so just # add a grade to the JSON, then run this. Bound to 0.0.0.0:8081 — point # Netbird (or any reverse proxy) at http://:8081 for HTTPS/subdomain. set -euo pipefail cd "$(dirname "$0")" case "${1:-up}" in up) # --build forces a rebuild so new grades/code take effect docker compose up -d --build echo echo "✓ dashboard up: http://$(hostname -I 2>/dev/null | awk '{print $1}' || echo localhost):8081/dashboard.html" echo " (bind 0.0.0.0:8081 -> container :80)" ;; logs) docker compose logs -f --tail=100 ;; down) docker compose down ;; status) docker compose ps ;; *) echo "usage: $0 [up|logs|down|status]"; exit 1 ;; esac