Files
SecMPS/owl_zlmediakit/scripts/setup.sh
2026-05-15 23:22:48 +08:00

102 lines
2.9 KiB
Bash

#!/bin/bash
# GoWVP + ZLMediaKit 一键部署脚本
# 适用于统信UOS20 ARM64 离线环境
set -e
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m'
INSTALL_DIR="/opt/owl-zlmediakit"
DATA_DIR="${INSTALL_DIR}/data"
echo -e "${GREEN}========================================${NC}"
echo -e "${GREEN} GoWVP + ZLMediaKit 部署脚本 ${NC}"
echo -e "${GREEN}========================================${NC}"
# 检查root权限
if [ "$EUID" -ne 0 ]; then
echo -e "${RED}错误: 请使用 root 用户运行${NC}"
exit 1
fi
# 检查架构
ARCH=$(uname -m)
if [ "$ARCH" != "aarch64" ]; then
echo -e "${RED}错误: 当前架构为 $ARCH,本脚本仅支持 aarch64${NC}"
exit 1
fi
# 创建目录
echo -e "${YELLOW}[1/6] 创建数据目录...${NC}"
mkdir -p "${DATA_DIR}"/record
mkdir -p "${DATA_DIR}"/log
mkdir -p "${DATA_DIR}"/gowvp-configs
mkdir -p "${DATA_DIR}"/snap
# 复制配置文件
echo -e "${YELLOW}[2/6] 复制配置文件...${NC}"
cp configs/zlm-config.ini "${DATA_DIR}/"
cp configs/docker-compose.yml "${INSTALL_DIR}/"
# 加载Docker镜像
echo -e "${YELLOW}[3/6] 加载 Docker 镜像...${NC}"
if [ -f "docker-images/zlmediakit-master-arm64.tar" ]; then
docker load -i docker-images/zlmediakit-master-arm64.tar
echo -e "${GREEN} ✓ ZLMediaKit 镜像已加载${NC}"
else
echo -e "${RED} ✗ 未找到 ZLMediaKit 镜像文件${NC}"
exit 1
fi
if [ -f "docker-images/gowvp-latest-arm64.tar" ]; then
docker load -i docker-images/gowvp-latest-arm64.tar
echo -e "${GREEN} ✓ GoWVP 镜像已加载${NC}"
else
echo -e "${RED} ✗ 未找到 GoWVP 镜像文件${NC}"
exit 1
fi
# 启动服务
echo -e "${YELLOW}[4/6] 启动服务...${NC}"
cd "${INSTALL_DIR}"
docker-compose up -d
# 等待服务启动
echo -e "${YELLOW}[5/6] 等待服务启动 (约30秒)...${NC}"
sleep 10
echo -e "${YELLOW} 继续等待...${NC}"
sleep 10
echo -e "${YELLOW} 即将完成...${NC}"
sleep 10
# 验证服务
echo -e "${YELLOW}[6/6] 验证服务状态...${NC}"
if docker ps | grep -q zlmediakit; then
echo -e "${GREEN} ✓ ZLMediaKit 容器正在运行${NC}"
else
echo -e "${RED} ✗ ZLMediaKit 容器未运行${NC}"
fi
if docker ps | grep -q gowvp; then
echo -e "${GREEN} ✓ GoWVP 容器正在运行${NC}"
else
echo -e "${RED} ✗ GoWVP 容器未运行${NC}"
fi
echo -e "${GREEN}========================================${NC}"
echo -e "${GREEN} 部署完成! ${NC}"
echo -e "${GREEN}========================================${NC}"
echo ""
echo -e "${YELLOW}访问地址:${NC}"
echo -e " ZLMediaKit: http://<服务器IP>"
echo -e " GoWVP管理界面: http://<服务器IP>:15123"
echo ""
echo -e "${YELLOW}常用命令:${NC}"
echo -e " 查看日志: docker logs -f zlmediakit"
echo -e " 查看日志: docker logs -f gowvp"
echo -e " 停止服务: docker-compose down"
echo -e " 重启服务: docker-compose restart"