safesight-edge/docs/deployment.md

128 lines
2.2 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
# 管理端发现新设备后,在设备详情页设置别名
```
---
## 更新部署
### 在线更新(可访问 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
bash scripts/package-offline.sh
```
将生成的 `safesight-upgrade-*.tar.gz` 传到生产设备:
```bash
# 通过 SCP替换 IP
scp safesight-upgrade-*.tar.gz orangepi@10.0.0.82:/tmp/
# 或通过 U 盘挂载后复制
```
在生产设备上:
```bash
tar -xzf safesight-upgrade-*.tar.gz -C /tmp/
cd /tmp/safesight-upgrade-*
sudo ./deploy.sh upgrade # 已升级过的新设备
# 或
sudo ./upgrade-from-old.sh # 首次从旧版本升级
```