52 lines
1.4 KiB
Bash
52 lines
1.4 KiB
Bash
#!/bin/bash
|
|
# SafeSight Control 一键安装脚本
|
|
# 用法: sudo bash install.sh
|
|
set -e
|
|
|
|
if [ "$EUID" -ne 0 ]; then
|
|
echo "请用 sudo 运行"
|
|
exit 1
|
|
fi
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
INSTALL_DIR="${1:-/opt/safesightd}"
|
|
ARCH=$(uname -m)
|
|
|
|
echo "========== SafeSight Control 安装 =========="
|
|
echo "安装目录: $INSTALL_DIR"
|
|
|
|
# 选二进制
|
|
if [ "$ARCH" = "aarch64" ] || [ "$ARCH" = "arm64" ]; then
|
|
BIN="safesightd-linux-arm64"
|
|
elif [ "$ARCH" = "x86_64" ]; then
|
|
BIN="safesightd-linux-amd64"
|
|
else
|
|
echo "不支持的架构: $ARCH"
|
|
exit 1
|
|
fi
|
|
|
|
# 创建目录
|
|
mkdir -p "$INSTALL_DIR"/{bin,config,data}
|
|
|
|
# 复制文件
|
|
cp "$SCRIPT_DIR/$BIN" "$INSTALL_DIR/bin/safesightd"
|
|
chmod +x "$INSTALL_DIR/bin/safesightd"
|
|
|
|
[ -f "$SCRIPT_DIR/safesightd.json.example" ] && cp "$SCRIPT_DIR/safesightd.json.example" "$INSTALL_DIR/config/safesightd.json"
|
|
[ -d "$SCRIPT_DIR/configs" ] && cp -r "$SCRIPT_DIR/configs" "$INSTALL_DIR/"
|
|
[ -d "$SCRIPT_DIR/tools" ] && cp -r "$SCRIPT_DIR/tools" "$INSTALL_DIR/"
|
|
[ -d "$SCRIPT_DIR/scripts" ] && cp -r "$SCRIPT_DIR/scripts" "$INSTALL_DIR/"
|
|
[ -d "$SCRIPT_DIR/deps" ] && cp -r "$SCRIPT_DIR/deps" "$INSTALL_DIR/"
|
|
|
|
# 安装服务
|
|
cp "$SCRIPT_DIR/safesightd.service" /etc/systemd/system/
|
|
systemctl daemon-reload
|
|
systemctl enable --now safesightd
|
|
|
|
echo ""
|
|
echo "========== 安装完成 =========="
|
|
echo "服务状态:"
|
|
systemctl status safesightd --no-pager -l
|
|
echo ""
|
|
echo "打开 http://$(hostname -I | awk '{print $1}'):18080"
|