# --- 基础信息 ---
local app_id="wxchat"
local app_name="WxChat"
local app_text="MoviePilot微信转发代理Docker"
local app_url="https://github.com/DDSRem-Dev/wxchat-Docker"
local docker_name="wxchat"
local docker_port="16880"   # 默认端口，对应容器内的 80
local app_size="1"

# --- 核心逻辑 ---

# 1. 安装函数
docker_app_install() {
	# 定义安装目录
	local install_path="/home/docker/${app_id}"
	
	# 创建并进入目录
	mkdir -p "${install_path}" && cd "${install_path}"
	
	# 直接写入 docker-compose.yml 文件
	# 注意：这里将端口变成了变量 "${docker_port}:80"
	cat > docker-compose.yml <<EOF
services:
  ${docker_name}:
    container_name: ${docker_name}
    image: ddsderek/wxchat:latest
    restart: always
    ports:
      - "${docker_port}:80"
    environment:
      - TZ=Asia/Shanghai
EOF

	# 启动容器 (兼容 docker compose 和 docker-compose)
	if docker compose version > /dev/null 2>&1; then
		docker compose up -d
	else
		docker-compose up -d
	fi
	
	echo "安装完成"
check_docker_app_ip
}

# 2. 更新函数
docker_app_update() {
	local install_path="/home/docker/${app_id}"
	cd "${install_path}" || { echo "目录不存在"; return; }
	
	if docker compose version > /dev/null 2>&1; then
		docker compose pull
		docker compose up -d
	else
		docker-compose pull
		docker-compose up -d
	fi
	echo "更新完成"
}

# 3. 卸载函数
docker_app_uninstall() {
	local install_path="/home/docker/${app_id}"
	cd "${install_path}" || { echo "目录已删除或不存在"; return; }
	
	# 停止容器及删除镜像
	if docker compose version > /dev/null 2>&1; then
		docker compose down --rmi all
	else
		docker-compose down --rmi all
	fi
	
	# 删除文件目录
	cd ..
	rm -rf "${install_path}"
	echo "卸载完成"
}

# --- 结尾必须包含此行以完成注册 ---

docker_app_plus
