safesight-edge/docs/deployment.md

135 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Edge 设备部署指南
## 首次部署(从 SD 卡克隆)
### 克隆前准备
在源设备上清理不需要的文件后关机,取出 SD 卡,使用 `dd` 或烧录工具克隆到新卡。
### 克隆后配置
将新 SD 卡插入新设备,开机,执行以下步骤:
#### 1. 生成新的设备 ID
管理端通过设备 ID 区分不同设备,克隆后必须更换:
```bash
sudo rm -f /etc/machine-id /var/lib/safesight-edge-agent/device_id
sudo systemd-machine-id-setup
```
#### 2. 重新生成 SSH 主机密钥
```bash
sudo rm -f /etc/ssh/ssh_host_*_key*
sudo ssh-keygen -A
```
#### 3. 设置主机名
```bash
sudo hostnamectl set-hostname <新主机名>
```
#### 4. 配置静态 IP生产环境
编辑 netplan 配置:
```bash
sudo nano /etc/netplan/01-network-manager-all.yaml
```
写入:
```yaml
network:
version: 2
ethernets:
enP4p65s0: # 网卡名,用 ip addr 确认
dhcp4: no
addresses:
- 10.0.0.82/24 # 目标 IP
routes:
- to: default
via: 10.0.0.1 # 网关
nameservers:
addresses:
- 10.0.0.1 # DNS
```
应用:
```bash
sudo netplan apply
```
#### 5. 重启
```bash
sudo reboot
```
### 验证
```bash
# 确认服务状态
systemctl status safesight-edge-server safesight-edge-agent
# 确认新 IP
ip addr show | grep inet
# 确认新设备 ID
cat /var/lib/safesight-edge-agent/device_id
# 管理端发现新设备后,在设备详情页设置别名
```
---
## 更新部署
### 首次安装(新设备/离线部署)
在开发机(已安装 safesight-edge 源码和编译环境)上:
```bash
cd ~/apps/safesight-edge
git pull && bash scripts/package-offline.sh
```
将生成的包传到目标设备:
```bash
scp safesight-upgrade-*.tar.gz orangepi@<目标IP>:/tmp/
```
在目标设备上:
```bash
cd /tmp && tar -xzf safesight-upgrade-*.tar.gz
cd safesight-upgrade-*
sudo AGENT_TOKEN=<管理端token> ./deploy.sh install
```
> 安装后配置为空模板,通过管理端部署向导下发实际配置。
### 在线更新(可访问 git
```bash
cd ~/apps/safesight-edge
git pull
bash scripts/build.sh -m -j4
cd agent && go build -o safesight-edge-agent ./cmd/safesight-agent && cd ..
sudo ./scripts/deploy.sh upgrade
```
### 旧设备首次升级
```bash
cd ~/apps/safesight-edge && git pull
bash scripts/build.sh -m -j4
cd agent && go build -o safesight-edge-agent ./cmd/safesight-agent
sudo ./scripts/upgrade-from-old.sh
```