56 lines
1.3 KiB
Bash
56 lines
1.3 KiB
Bash
#!/usr/bin/env bash
|
|||
|
|
set -euo pipefail
|
||
|
|
umask 027
|
||
|
|
|
||
|
|
cd "$(dirname "$0")"
|
||
|
|
|
||
|
|
command -v docker >/dev/null 2>&1 || {
|
||
|
|
echo "[error] Docker 未安装或不在 PATH 中" >&2
|
||
|
|
exit 1
|
||
|
|
}
|
||
|
|
command -v zstd >/dev/null 2>&1 || {
|
||
|
|
echo "[error] 缺少 zstd,无法导入离线镜像" >&2
|
||
|
|
exit 1
|
||
|
|
}
|
||
|
|
docker info >/dev/null 2>&1 || {
|
||
|
|
echo "[error] Docker daemon 未运行" >&2
|
||
|
|
exit 1
|
||
|
|
}
|
||
|
|
docker compose version >/dev/null 2>&1 || {
|
||
|
|
echo "[error] 需要 Docker Compose v2" >&2
|
||
|
|
exit 1
|
||
|
|
}
|
||
|
|
|
||
|
|
sha256sum -c SHA256SUMS
|
||
|
|
|
||
|
|
if [[ ! -f bbav5.env ]]; then
|
||
|
|
cp bbav5.env.example bbav5.env
|
||
|
|
chmod 600 bbav5.env
|
||
|
|
echo "[init] 已创建 bbav5.env,请在启动前填写数据库密码和模型配置"
|
||
|
|
fi
|
||
|
|
|
||
|
|
mkdir -p \
|
||
|
|
input workspace data logs models \
|
||
|
|
service_data/memory_storage \
|
||
|
|
service_data/cost_logs \
|
||
|
|
service_data/reproducibility \
|
||
|
|
service_data/redis \
|
||
|
|
service_data/qdrant \
|
||
|
|
service_data/neo4j
|
||
|
|
|
||
|
|
shopt -s nullglob
|
||
|
|
archives=(images/*.tar.zst)
|
||
|
|
(( ${#archives[@]} > 0 )) || {
|
||
|
|
echo "[error] images/ 下没有离线镜像包" >&2
|
||
|
|
exit 1
|
||
|
|
}
|
||
|
|
for archive in "${archives[@]}"; do
|
||
|
|
echo "[load] $archive"
|
||
|
|
zstd -dc "$archive" | docker load
|
||
|
|
done
|
||
|
|
|
||
|
|
docker compose --env-file bbav5.env -f docker-compose.yml config >/dev/null
|
||
|
|
echo "[ok] 安装准备完成"
|
||
|
|
echo "[next] 编辑 bbav5.env,然后执行 ./start.sh"
|
||
|
|
|