# SafeLine WAF v9.3.9 NAS 部署指南

## 前置要求

- Docker 20+
- Docker Compose v2+
- 至少 1GB 可用内存
- 至少 5GB 可用磁盘空间

## 快速部署

SSH 登录 NAS 后执行：

```bash
# 1. 创建安装目录
mkdir -p /data/safeline

# 2. 进入目录
cd /data/safeline

# 3. 拉取 Docker 镜像
docker compose -f /path/to/compose.yaml pull

# 4. 启动容器
docker compose -f /path/to/compose.yaml up -d

# 5. 获取管理员密码
docker exec safeline-mgt /app/mgt-cli reset-admin --once
```

## 配置说明

编辑 `.env` 文件：

```bash
SAFELINE_DIR=/data/safeline          # 安装目录
POSTGRES_PASSWORD=随机20位密码       # PostgreSQL 密码
MGT_PORT=9443                        # 管理面板端口
IMAGE_PREFIX=chaitin                 # 镜像源
IMAGE_TAG=9.3.9                      # 版本号
SUBNET_PREFIX=192.168.90             # Docker 网络子网
```

## 访问管理面板

部署完成后访问：`https://NAS_IP:9443/`

默认用户名：`admin`
密码获取：`docker exec safeline-mgt /app/mgt-cli reset-admin --once`

## 服务架构

| 服务 | 容器名 | 端口 | 说明 |
|------|--------|------|------|
| postgres | safeline-pg | 5432 (内部) | 数据库 |
| mgt | safeline-mgt | 9443 (映射) | 管理面板 |
| detect | safeline-detector | 8000 (内部) | 检测引擎 |
| tengine | safeline-tengine | host network | WAF 反向代理 |
| luigi | safeline-luigi | - | 日志处理 |
| fvm | safeline-fvm | - | 规则虚拟机 |
| chaos | safeline-chaos | - | 动态保护 |

## 常用命令

```bash
# 查看容器状态
docker ps | grep safeline

# 查看日志
docker logs -f safeline-mgt

# 重启所有服务
cd /data/safeline && docker compose restart

# 停止所有服务
cd /data/safeline && docker compose down

# 更新镜像
docker compose pull && docker compose up -d
```
