更新 02

This commit is contained in:
2026-02-13 09:45:40 +08:00
parent 14f072a53e
commit 611cc58734

103
02
View File

@@ -1,23 +1,96 @@
#!/bin/bash #!/bin/bash
# search_all_videos.sh
echo "开始全面搜索视频文件..." # ================= 配置区域 =================
echo "==========================" # 源代码位置 (刚才手动安装的位置)
SOURCE_DIR="/usr/local/goedge/edge-admin"
# 镜像名称
IMAGE_NAME="goedge-admin:local-v1"
# 飞牛 NAS 数据存储路径规范
NAS_DATA_DIR="/vol1/1000/dock/goedge"
# Compose 配置文件名
COMPOSE_FILE="$NAS_DATA_DIR/goedge.yml"
# ===========================================
# 搜索容器内部 echo "=== 🚀 开始制作 GoEdge Docker 镜像 ==="
echo "1. 搜索容器内部..."
docker exec dysync1 find /app -type f \( -name "*.mp4" -o -name "*.avi" -o -name "*.mkv" -o -name "*.mov" -o -name "*.wmv" \) 2>/dev/null
echo "--------------------------" # 1. 检查源目录是否存在
if [ ! -d "$SOURCE_DIR" ]; then
echo "❌ 错误:找不到源目录 $SOURCE_DIR"
exit 1
fi
# 搜索本地映射目录 cd "$SOURCE_DIR"
echo "2. 搜索本地映射目录..."
find ./data -type f \( -name "*.mp4" -o -name "*.avi" -o -name "*.mkv" -o -name "*.mov" -o -name "*.wmv" \) 2>/dev/null
echo "--------------------------" # 2. 动态生成 Dockerfile
# 使用 tail -f 确保容器在前台运行不退出
echo "📂 正在生成 Dockerfile..."
cat <<EOF > Dockerfile
FROM debian:12-slim
# 搜索整个系统(可能需要权限) # 设置时区和基本环境
echo "3. 搜索系统视频文件可能需要sudo..." ENV TZ=Asia/Shanghai
find /home -type f \( -name "*.mp4" -o -name "*.avi" -o -name "*.mkv" -o -name "*.mov" -o -name "*.wmv" \) 2>/dev/null | head -20 WORKDIR /usr/local/goedge/edge-admin
echo "搜索完成!" # 将当前目录的所有文件复制到镜像中
COPY . .
# 赋予执行权限
RUN chmod +x bin/edge-admin
# 暴露端口 (7788=管理端, 8001=API节点)
EXPOSE 7788 8001
# 启动命令:启动服务并挂起 logs防止容器退出
CMD ["/bin/sh", "-c", "./bin/edge-admin start && tail -f logs/run.log"]
EOF
# 3. 构建 Docker 镜像
echo "🐳 正在构建镜像 (这可能需要几秒钟)..."
docker build -t "$IMAGE_NAME" .
if [ $? -ne 0 ]; then
echo "❌ 镜像构建失败!"
rm Dockerfile
exit 1
fi
# 清理临时生成的 Dockerfile
rm Dockerfile
echo "✅ 镜像 $IMAGE_NAME 构建成功!"
# 4. 准备飞牛 NAS 目录结构
echo "📂 正在创建数据目录结构: $NAS_DATA_DIR ..."
mkdir -p "$NAS_DATA_DIR/configs"
mkdir -p "$NAS_DATA_DIR/logs"
mkdir -p "$NAS_DATA_DIR/data"
# 5. 生成 docker-compose (goedge.yml)
echo "📝 正在生成配置文件: $COMPOSE_FILE ..."
cat <<EOF > "$COMPOSE_FILE"
version: '3'
services:
goedge:
image: $IMAGE_NAME
container_name: goedge-admin
restart: always
network_mode: "host"
volumes:
- "$NAS_DATA_DIR/configs:/usr/local/goedge/edge-admin/configs"
- "$NAS_DATA_DIR/logs:/usr/local/goedge/edge-admin/logs"
- "$NAS_DATA_DIR/data:/usr/local/goedge/edge-admin/data"
EOF
echo ""
echo "========================================================"
echo "🎉 恭喜!镜像制作与配置生成已完成!"
echo "========================================================"
echo "1. 镜像名称: $IMAGE_NAME"
echo "2. 配置文件: $COMPOSE_FILE"
echo "3. 数据目录: $NAS_DATA_DIR"
echo ""
echo "👉 你现在可以执行以下命令来启动容器:"
echo " docker compose -f $COMPOSE_FILE up -d"
echo ""
echo "💡 如果想把镜像导出保存(备份),请运行:"
echo " docker save -o /tmp/goedge-image.tar $IMAGE_NAME"
echo "========================================================"