safesight-control/scripts/deploy/install.sh

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"