# --- 基础信息 / Basic Information ---
local app_id="gmssh"
local app_name="GMSSH"
local app_text="桌面级AI运维系统，高性能·零侵入·AI智驱的SSH远程工具"
local app_url="https://www.gmssh.com"
local docker_name="gm-service"
local docker_port="8090"
local app_size="3"

# --- 核心逻辑 / Core Logic ---
docker_app_install() {
    # 1. 架构自动检测 / Architecture Detection
    local arch=$(uname -m)
    local image_tag=""

    if [[ "$arch" == "x86_64" ]]; then
        image_tag="gs-main-x86:latest"
        echo "检测到 x86_64 架构..."
    elif [[ "$arch" == "aarch64" || "$arch" == "arm64" ]]; then
        image_tag="gs-main-arm:latest"
        echo "检测到 ARM 架构..."
    else
        echo "暂不支持的架构: $arch"
        return 1
    fi

    local full_image="docker-rep.gmssh.com/gmssh/${image_tag}"

    # 2. 创建目录
    local base_dir="/home/docker/gmssh"
    mkdir -p "$base_dir/config" "$base_dir/logs" && cd "$base_dir"

    # 3. 提取配置 (使用根据架构确定的镜像)
    echo "正在使用镜像 ${full_image} 初始化配置..."
    docker pull "$full_image"
    docker run -d --name gm-temp-init "$full_image"
    docker cp gm-temp-init:/app/config/config.json "$base_dir/config/"
    docker stop gm-temp-init && docker rm gm-temp-init

    # 4. 生成 Compose 文件
    cat <<EOF > docker-compose.yml
version: '3'
services:
  gm-service:
    image: ${full_image}
    container_name: ${docker_name}
    restart: always
    ports:
      - "${docker_port}:80"
    volumes:
      - "${base_dir}/config:/app/config"
      - "${base_dir}/logs:/gs_logs"
EOF

    # 5. 启动
    docker compose up -d
    echo "安装完成 (${arch}) / Install Complete"
    check_docker_app_ip
}

# 更新逻辑也需要保持镜像一致性
docker_app_update() {
    cd /home/docker/gmssh
    docker compose pull
    docker compose up -d
    echo "更新完成 / Update Complete"
}

docker_app_uninstall() {
    cd /home/docker/gmssh
    docker compose down --rmi all
    rm -rf /home/docker/gmssh
    echo "卸载完成 / Uninstall Complete"
}

# --- 注册 / Registration ---
docker_app_plus
