#!/usr/bin/env bash
# ============================================================
# ラーメンスープ評価AI — VPS(Ubuntu 22.04想定) セットアップ
#   このスクリプトをパッケージのルートで実行する:
#     bash setup.sh
# ============================================================
set -euo pipefail
cd "$(dirname "$0")"

echo "==> 1/5 OSパッケージ(ffmpeg等)を確認"
if ! command -v ffmpeg >/dev/null 2>&1; then
  echo "  ffmpeg が無いので導入します（sudoパスワードを求められる場合があります）"
  sudo apt-get update
  sudo apt-get install -y ffmpeg python3-venv python3-pip libgl1 libglib2.0-0
else
  echo "  ffmpeg: OK ($(command -v ffmpeg))"
fi

echo "==> 2/5 Python仮想環境 .venv を作成"
if [ ! -d .venv ]; then
  python3 -m venv .venv
fi
# shellcheck disable=SC1091
source .venv/bin/activate
python -m pip install --upgrade pip wheel

echo "==> 3/5 PyTorch(CPU版)を先に導入"
# GPUインスタンスならこの行をコメントアウトし、requirements内の注記に従いCUDA版を入れる
pip install torch torchvision --index-url https://download.pytorch.org/whl/cpu

echo "==> 4/5 残りの依存を導入"
pip install -r requirements.txt

echo "==> 5/6 APIキーの確認"
if [ ! -s secrets/byteplus.key ] && [ -z "${ARK_API_KEY:-}" ]; then
  echo "  [要対応] BytePlus APIキーが未設定です。次のどちらかを行ってください:"
  echo "    A) secrets/byteplus.key にキー文字列を保存"
  echo "    B) 環境変数  export ARK_API_KEY=xxxx  を設定 (run.sh / systemd で読み込む)"
else
  echo "  APIキー: OK"
fi

echo ""
echo "==> 6/6 環境診断（check_env.py）"
python check_env.py || {
  echo ""
  echo "  [要対応] 診断で不足が見つかりました。上記の → 指示に従って解消後、"
  echo "           python3 check_env.py で再確認してください。"
  exit 1
}

echo ""
echo "==> セットアップ完了。起動は:  bash run.sh"
