更新 02
This commit is contained in:
103
02
103
02
@@ -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 "========================================================"
|
||||||
Reference in New Issue
Block a user