# --- 基础信息 / Basic Information ---
local app_id="excalidraw"
local app_name="Excalidraw"
local app_text="虚拟手绘风格白板，支持绘制流程图、图表，数据存储在本地浏览器中"
local app_url="https://excalidraw.com"
local docker_name="excalidraw"
local docker_port="8209" # 指定端口
local app_size="1"

# --- 核心逻辑 / Core Logic ---
docker_app_install() {
    # 1. 创建目录
    # 虽然 Excalidraw 主要依靠浏览器缓存存储数据，但创建目录保持结构统一
    local base_dir="/home/docker/excalidraw"
    mkdir -p "$base_dir" && cd "$base_dir"

    # 2. 写入 Docker Compose 文件
    # 使用官方构建好的生产镜像，而非本地编译
    cat <<EOF > docker-compose.yml
services:
  excalidraw:
    image: excalidraw/excalidraw:latest
    container_name: ${docker_name}
    restart: unless-stopped
    ports:
      - "${docker_port}:80"
    healthcheck:
      disable: true

EOF

    # 3. 启动容器
    echo "正在拉取镜像并启动 Excalidraw..."
    docker compose up -d

    echo "------------------------------------------------"
    echo "安装完成 / Install Complete"
    check_docker_app_ip
    echo "注意：默认版本数据存储在您浏览器的缓存中，清除浏览器缓存会导致绘图丢失。"
    echo "------------------------------------------------"

}

docker_app_update() {
    cd /home/docker/excalidraw
    docker compose pull
    docker compose up -d
    echo "更新完成 / Update Complete"
}

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

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

