#!/bin/bash
# deploy.sh - 部署到 OCI 计算实例（通过 SSH）

# 设置变量（请替换为你的实际值）
OCI_USER="your-oci-username"
OCI_HOST="your-instance-ip-or-dns"
OCI_REGION="iad"
OCI_TENANCY="your-tenancy"
OCI_NAMESPACE="your-namespace"
REGISTRY="$OCI_REGION.ocir.io/$OCI_NAMESPACE"

# 登录 OCI Registry（在本地执行，然后复制到远程）
echo "请确保本地已登录 OCI Registry: docker login $REGISTRY"

# SSH 到 OCI 实例并部署
ssh $OCI_USER@$OCI_HOST << 'EOF'
  # 安装 Docker（如果没有）
  if ! command -v docker &> /dev/null; then
    echo "安装 Docker..."
    sudo apt-get update
    sudo apt-get install -y docker.io
    sudo systemctl start docker
    sudo systemctl enable docker
  fi

  # 登录 OCI Registry（在远程执行）
  # 需要提前在远程设置 docker login，或者通过环境变量传递凭证
  # 这里假设已经登录，或者你可以这样做：
  # echo "$DOCKER_PASSWORD" | docker login --username "$DOCKER_USERNAME" --password-stdin $REGISTRY

  # 拉取镜像
  docker pull $REGISTRY/home-renovation-backend:latest
  docker pull $REGISTRY/home-renovation-ai:latest

  # 停止并删除旧容器
  docker stop home-renovation-backend home-renovation-ai || true
  docker rm home-renovation-backend home-renovation-ai || true

  # 运行 AI 服务容器
  docker run -d --name home-renovation-ai \
    -p 8001:8001 \
    --restart unless-stopped \
    $REGISTRY/home-renovation-ai:latest

  # 运行后端容器（连接到 AI 服务）
  docker run -d --name home-renovation-backend \
    -p 8000:8000 \
    -e AI_SERVICE_URL=http://localhost:8001 \
    --restart unless-stopped \
    $REGISTRY/home-renovation-backend:latest

  echo "部署完成！"
  docker ps
EOF

echo "部署脚本执行完毕。"
