release: bump version to 0.63.0
This commit is contained in:
101
planet.sh
101
planet.sh
@@ -3242,6 +3242,101 @@ stop() {
|
||||
log_success "已停止"
|
||||
}
|
||||
|
||||
confirm_destroy() {
|
||||
local answer=""
|
||||
|
||||
clear_wait_spinner
|
||||
log_warn "即将执行破坏性清理"
|
||||
log_note "destroy 会停止服务并删除 Planet 的 Docker 容器、卷、镜像和本地编译/运行状态。"
|
||||
log_note "这会清空本地 PostgreSQL/Redis 数据卷;源码和现有 .env 配置文件会保留。"
|
||||
printf "%b请输入 Y 确认,N 取消 [Y/N]: %b" "$YELLOW" "$NC"
|
||||
read -r answer
|
||||
|
||||
case "$answer" in
|
||||
Y|y)
|
||||
return 0
|
||||
;;
|
||||
*)
|
||||
log_warn "已取消 destroy"
|
||||
return 1
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
compose_destroy() {
|
||||
if compose_available; then
|
||||
docker compose down --volumes --rmi all --remove-orphans >/dev/null 2>&1 || true
|
||||
return 0
|
||||
fi
|
||||
|
||||
if compose_v1_available; then
|
||||
docker-compose down --volumes --rmi all --remove-orphans >/dev/null 2>&1 || true
|
||||
return 0
|
||||
fi
|
||||
|
||||
log_warn "未检测到 Docker Compose,跳过 compose 级清理"
|
||||
}
|
||||
|
||||
remove_planet_docker_state() {
|
||||
local container_ids=""
|
||||
local volume_names=""
|
||||
|
||||
compose_destroy
|
||||
|
||||
container_ids="$(docker ps -aq --filter "name=^/planet_" 2>/dev/null || true)"
|
||||
if [ -n "$container_ids" ]; then
|
||||
printf "%s\n" "$container_ids" | awk '/^[0-9a-f]{12,64}$/' | xargs -r docker rm -f >/dev/null 2>&1 || true
|
||||
fi
|
||||
|
||||
docker image rm "$AI_PROVIDER_IMAGE_NAME" postgres:15 redis:7-alpine >/dev/null 2>&1 || true
|
||||
|
||||
volume_names="$(docker volume ls -q --filter label=com.docker.compose.project=planet 2>/dev/null || true)"
|
||||
if [ -n "$volume_names" ]; then
|
||||
printf "%s\n" "$volume_names" | xargs -r docker volume rm -f >/dev/null 2>&1 || true
|
||||
fi
|
||||
docker volume rm -f planet_postgres_data planet_redis_data postgres_data redis_data >/dev/null 2>&1 || true
|
||||
}
|
||||
|
||||
remove_planet_build_state() {
|
||||
rm -rf \
|
||||
"$SCRIPT_DIR/.venv" \
|
||||
"$SCRIPT_DIR/.uv" \
|
||||
"$SCRIPT_DIR/.uv-cache" \
|
||||
"$SCRIPT_DIR/.pytest_cache" \
|
||||
"$SCRIPT_DIR/.ruff_cache" \
|
||||
"$SCRIPT_DIR/node_modules" \
|
||||
"$SCRIPT_DIR/dist" \
|
||||
"$SCRIPT_DIR/frontend/node_modules" \
|
||||
"$SCRIPT_DIR/frontend/dist" \
|
||||
"$SCRIPT_DIR/frontend/dist-ssr" \
|
||||
"$PLANET_STATE_DIR" \
|
||||
"$PLANET_CACHE_DIR"
|
||||
}
|
||||
|
||||
destroy() {
|
||||
confirm_destroy || return 0
|
||||
|
||||
log_warn "开始 destroy"
|
||||
|
||||
stop_backend_service
|
||||
stop_ai_provider_service
|
||||
stop_frontend_service
|
||||
stop_motion_agent_service
|
||||
|
||||
start_wait_session "清理 Docker 状态"
|
||||
remove_planet_docker_state
|
||||
stop_wait_session
|
||||
log_success "Docker 容器、卷和镜像已清理"
|
||||
|
||||
start_wait_session "清理本地编译状态"
|
||||
remove_planet_build_state
|
||||
stop_wait_session
|
||||
log_success "本地编译和运行状态已清理"
|
||||
|
||||
log_success "destroy 完成"
|
||||
log_note "已保留源码和 .env 配置文件;重新开始可执行 ./planet.sh init"
|
||||
}
|
||||
|
||||
stop_local_services_for_restart() {
|
||||
log_warn "正在停止本地服务"
|
||||
stop_backend_service
|
||||
@@ -3428,6 +3523,9 @@ case "$1" in
|
||||
stop)
|
||||
stop
|
||||
;;
|
||||
destroy)
|
||||
destroy
|
||||
;;
|
||||
restart)
|
||||
shift
|
||||
restart "$@"
|
||||
@@ -3442,11 +3540,12 @@ case "$1" in
|
||||
log "$2"
|
||||
;;
|
||||
*)
|
||||
log_error "用法: ./planet.sh {init|start|stop|restart|createuser|health|log}"
|
||||
log_error "用法: ./planet.sh {init|start|stop|destroy|restart|createuser|health|log}"
|
||||
log_note "全局参数: -v, --verbose 在状态提示之间增量输出命令日志"
|
||||
log_note "init 首次初始化空项目: 同步 uv/bun 依赖、生成缺失 env、启动数据库并写入默认数据"
|
||||
log_note "start 启动服务,可选: -b <后端端口> -f <前端端口> -a <AI Provider 端口> -m/--motion-agent --motion-agent-port <端口> --motion-agent-camera-indexes 0,1 --motion-agent-camera-urls rtsp://... --motion-agent-dry-run --allow-lan --verbose"
|
||||
log_note "stop 停止服务"
|
||||
log_note "destroy 删除 Planet 容器、卷、镜像和本地编译状态,执行前需要输入 Y 确认"
|
||||
log_note "restart 重启服务,可选: -b [后端端口] -f [前端端口] -a [AI Provider 端口] -m [Motion Agent] -d --allow-lan --verbose"
|
||||
log_note "createuser 交互创建用户"
|
||||
log_note "health 检查健康状态"
|
||||
|
||||
Reference in New Issue
Block a user