fix: 修复登录500错误和移除明文密码提示

- 修复 deps.py 中 get_vn_service 的引用错误 (vn_service.vn_service -> vn_service)
- 移除登录页面上的明文密码提示
- 改进前端错误处理,避免数据加载失败导致登录显示错误
This commit is contained in:
2026-07-02 12:23:55 +08:00
parent 3fbe6c9be5
commit 918bbed0fc
63 changed files with 16699 additions and 10 deletions
+122
View File
@@ -0,0 +1,122 @@
# 部署文档
本目录包含 Sanguo VeighNa 平台的部署相关文档。
## 文档列表
### Docker 部署
- **[docker-deployment.md](./docker-deployment.md)** - Docker 容器部署指南
- 前置要求和安装
- 快速开始步骤
- 配置说明
- 生产部署建议
### Synology NAS 部署
- **[synology-nas.md](./synology-nas.md)** - Synology NAS 专用部署指南
- NAS 环境配置
- 数据持久化设置
- 自动备份配置
- 故障排除
## 快速链接
### 部署方式对比
| 方式 | 适用场景 | 难度 | 推荐度 |
|------|----------|------|--------|
| Docker Compose | 开发/测试/小规模部署 | 简单 | ⭐⭐⭐⭐⭐ |
| Synology NAS | 家庭 NAS 部署 | 中等 | ⭐⭐⭐⭐ |
| Kubernetes | 大规模/高可用部署 | 复杂 | ⭐⭐⭐ |
### 部署检查清单
- [ ] 硬件要求满足(内存、存储)
- [ ] Docker/Docker Compose 已安装
- [ ] 网络端口已开放
- [ ] 数据目录已创建
- [ ] 环境变量已配置
- [ ] SSL 证书已准备(生产环境)
- [ ] 备份策略已制定
## 配置文件
### 环境变量示例
```env
# 数据目录
DATA_DIR=/volume1/docker/stock/sanguo_vnpy
# 端口配置
HTTP_PORT=8000
WS_PORT=8080
# 时区
TZ=Asia/Shanghai
# 日志级别
VNPY_LOG_LEVEL=INFO
# 安全配置
JWT_SECRET_KEY=your-secure-secret-key
```
### 目录结构
```
{DATA_DIR}/
├── data/ # 数据库和数据文件
├── logs/ # 运行日志
├── config/ # 配置文件
├── temp/ # 临时文件
├── redis/ # Redis 持久化
└── nginx/ # Nginx 相关
```
## 数据备份
### 重要提示
**所有重要数据都存储在配置的 DATA_DIR 中**,请确保:
1. 该目录有足够的存储空间
2. 定期备份该目录
3. 备份包含所有子目录
### 备份命令
```bash
# 创建备份
tar czf vnpy_backup_$(date +%Y%m%d).tar.gz {DATA_DIR}
# 恢复备份
tar xzf vnpy_backup_YYYYMMDD.tar.gz -C /
```
## 故障排除
### 常见问题
1. **容器无法启动**
- 检查端口占用: `netstat -tulpn | grep :8000`
- 查看日志: `docker-compose logs vnpy`
2. **数据丢失**
- 确保使用绑定挂载
- 检查 DATA_DIR 配置
3. **性能问题**
- 调整资源限制
- 增加 Worker 数量
## 相关文档
- [开发文档](../development.md)
- [运维文档](../operations/)
- [API 文档](../api/)
- [用户指南](../user_guide/)
---
**最后更新**: 2026-07-01
+409
View File
@@ -0,0 +1,409 @@
# Docker 部署指南
本指南介绍如何使用 Docker Compose 部署 Sanguo VeighNa 量化交易平台。
## 目录
- [前置要求](#前置要求)
- [快速开始](#快速开始)
- [配置说明](#配置说明)
- [启动服务](#启动服务)
- [访问界面](#访问界面)
- [数据管理](#数据管理)
- [生产部署](#生产部署)
- [常见问题](#常见问题)
---
## 前置要求
### 系统要求
- **操作系统**: Linux, macOS, Windows (with WSL2)
- **Docker**: 20.10+
- **Docker Compose**: 2.0+
- **内存**: 至少 2GB 可用内存
- **存储**: 至少 10GB 可用存储空间
### 安装 Docker
#### Linux
```bash
# Ubuntu/Debian
curl -fsSL https://get.docker.com | bash
sudo usermod -aG docker $USER
# 启用 Docker Compose
sudo apt-get install docker-compose-plugin
```
#### macOS
下载并安装 [Docker Desktop for Mac](https://www.docker.com/products/docker-desktop/)
#### Windows
下载并安装 [Docker Desktop for Windows](https://www.docker.com/products/docker-desktop/)
---
## 快速开始
### 1. 克隆项目
```bash
git clone https://github.com/sanguo/sanguo_vnpy_v2.git
cd sanguo_vnpy_v2
```
### 2. 配置环境变量
```bash
cd docker
cp .env.example .env
vi .env # 编辑配置
```
### 3. 启动服务
```bash
docker-compose up -d
```
### 4. 查看状态
```bash
docker-compose ps
docker-compose logs -f
```
---
## 配置说明
### 环境变量
编辑 `.env` 文件配置以下参数:
```env
# 数据目录
DATA_DIR=./data
# 端口配置
HTTP_PORT=8000
WS_PORT=8080
# 时区
TZ=Asia/Shanghai
# 日志级别
VNPY_LOG_LEVEL=INFO
# 数据库配置
DB_TYPE=sqlite
DB_PATH=/app/data/vnpy.db
# Web 服务配置
WEB_HOST=0.0.0.0
WEB_PORT=8000
WEB_WORKERS=2
# 安全配置
JWT_SECRET_KEY=your-secret-key-here
SESSION_TIMEOUT=3600
```
### 目录映射
默认目录映射:
| 容器路径 | 宿主机路径 | 说明 |
|----------|------------|------|
| /app/data | `{DATA_DIR}/data` | 数据库和数据文件 |
| /app/logs | `{DATA_DIR}/logs` | 运行日志 |
| /app/config | `{DATA_DIR}/config` | 配置文件 |
| /app/temp | `{DATA_DIR}/temp` | 临时文件 |
---
## 启动服务
### 基本命令
```bash
# 启动所有服务
docker-compose up -d
# 仅启动核心服务
docker-compose up -d vnpy redis
# 启动并包含 Nginx
docker-compose --profile nginx up -d
# 启动并包含 PostgreSQL
docker-compose --profile postgres up -d
```
### 查看状态
```bash
# 查看容器状态
docker-compose ps
# 查看日志
docker-compose logs -f vnpy
# 查看所有服务日志
docker-compose logs -f
```
### 停止服务
```bash
# 停止服务
docker-compose down
# 停止并删除数据卷
docker-compose down -v
```
### 重启服务
```bash
# 重启所有服务
docker-compose restart
# 重启特定服务
docker-compose restart vnpy
```
### 进入容器
```bash
# 进入 VeighNa 容器
docker-compose exec vnpy bash
# 进入 Redis 容器
docker-compose exec redis sh
```
---
## 访问界面
### Web 界面
启动成功后,访问:
```
http://localhost:8000
```
### 默认登录
- **用户名**: `admin`
- **密码**: `admin123`
### WebSocket 端点
```
ws://localhost:8080
```
---
## 数据管理
### 数据备份
```bash
# 备份数据目录
tar czf vnpy_backup_$(date +%Y%m%d).tar.gz ./data
# 恢复数据
tar xzf vnpy_backup_YYYYMMDD.tar.gz
```
### 数据库操作
#### SQLite
```bash
# 进入容器
docker-compose exec vnpy bash
# 访问数据库
sqlite3 /app/data/vnpy.db
# 常用命令
.tables # 列出所有表
.schema # 查看表结构
.quit # 退出
```
#### PostgreSQL
```bash
# 进入 PostgreSQL 容器
docker-compose exec postgres psql -U vnpy -d vnpy
# 常用命令
\l # 列出所有数据库
\dt # 列出所有表
\q # 退出
```
---
## 生产部署
### 使用 Nginx 反向代理
```bash
# 启用 Nginx
docker-compose --profile nginx up -d
```
### 配置 HTTPS
1. 获取 SSL 证书
```bash
# 使用 Let's Encrypt
mkdir -p data/nginx/ssl
# 将证书文件复制到该目录
cp cert.pem data/nginx/ssl/
cp key.pem data/nginx/ssl/
```
2. 更新 nginx 配置
3. 重启服务
```bash
docker-compose restart nginx
```
### 资源限制
`.env` 文件中配置:
```env
VNPY_CPU_LIMIT=2.0
VNPY_MEMORY_LIMIT=2G
WEB_WORKERS=4
```
### 安全建议
1. **修改默认密码**
2. **使用强 JWT 密钥**
3. **启用 HTTPS**
4. **配置防火墙**
5. **定期备份**
6. **监控日志**
---
## 常见问题
### 端口冲突
如果端口被占用,修改 `.env` 中的端口配置:
```env
HTTP_PORT=8001
WS_PORT=8081
```
### 权限问题
```bash
# 修复数据目录权限
sudo chown -R $USER:$USER ./data
sudo chmod -R 755 ./data
```
### 容器无法启动
```bash
# 查看详细日志
docker-compose logs vnpy
# 重新构建
docker-compose up -d --build
```
### 数据丢失
确保使用绑定挂载而非命名卷:
```yaml
volumes:
- ./data:/app/data
```
---
## 高级配置
### 使用 PostgreSQL
```bash
# 启用 PostgreSQL
export USE_POSTGRES=1
docker-compose --profile postgres up -d
```
### 自定义配置
```bash
# 挂载自定义配置
mkdir -p config
cp your_config.yaml config/
```
### 多实例部署
```bash
# 修改端口和数据目录
docker-compose -f docker-compose.yml -p vnpy2 up -d
```
---
## 附录
### Docker Compose 命令参考
| 命令 | 说明 |
|------|------|
| `up -d` | 后台启动服务 |
| `down` | 停止并删除容器 |
| `ps` | 查看服务状态 |
| `logs` | 查看日志 |
| `exec` | 在容器中执行命令 |
| `restart` | 重启服务 |
| `build` | 重新构建镜像 |
### 目录结构
```
sanguo_vnpy_v2/
├── docker/
│ ├── .env # 环境变量配置
│ ├── .env.example # 配置示例
│ ├── docker-compose.yml # 编排配置
│ ├── Dockerfile # 镜像构建
│ ├── entrypoint.sh # 启动脚本
│ └── nginx/ # Nginx 配置
├── data/ # 数据目录
├── logs/ # 日志目录
└── docs/ # 文档
```
---
**最后更新**: 2026-07-01
**文档版本**: 1.0.0
+677
View File
@@ -0,0 +1,677 @@
# Synology NAS 部署指南
本指南介绍如何在 Synology NAS 上部署 Sanguo VeighNa 量化交易平台。
## 目录
- [前置要求](#前置要求)
- [快速开始](#快速开始)
- [详细步骤](#详细步骤)
- [配置说明](#配置说明)
- [访问界面](#访问界面)
- [数据备份](#数据备份)
- [故障排除](#故障排除)
- [升级指南](#升级指南)
---
## 前置要求
### 硬件要求
- **Synology NAS**DSM 7.x 或更高版本
- **内存**:至少 2GB 可用内存(推荐 4GB+)
- **存储**:至少 10GB 可用存储空间(用于数据和日志)
### 软件要求
- **Container Manager**(或 Docker 套件)
- SSH 访问权限(用于高级操作)
- 文本编辑器(如 Text Editor、vim
### 网络要求
- 固定 IP 地址(推荐)
- 或使用 DDNS 服务
- 开放相应端口(默认 8000
---
## 快速开始
### 1. 开启 SSH 访问
在 DSM 控制面板中:
1. 进入 **控制面板** > **终端机和 SNMP**
2. 勾选 **启用 SSH 服务**
3. 端口使用默认 22
4. 点击 **应用**
### 2. SSH 登录 NAS
```bash
ssh admin@your-nas-ip
# 或
ssh your-username@your-nas-ip
```
### 3. 创建数据目录
```bash
# 创建主目录
sudo mkdir -p /volume1/docker/stock/sanguo_vnpy
# 创建子目录
sudo mkdir -p /volume1/docker/stock/sanguo_vnpy/{data,logs,config,temp,redis,nginx}
```
### 4. 上传项目文件
在本地电脑上执行:
```bash
# 压缩项目文件
tar czf sanguo_vnpy_v2.tar.gz sanguo_vnpy_v2/
# 上传到 NAS
scp sanguo_vnpy_v2.tar.gz admin@your-nas-ip:/tmp/
# 或使用 rsync
rsync -avz sanguo_vnpy_v2/ admin@your-nas-ip:/volume1/docker/containers/sanguo_vnpy_v2/
```
在 NAS 上解压:
```bash
# SSH 登录后执行
cd /volume1/docker/containers/
sudo tar xzf /tmp/sanguo_vnpy_v2.tar.gz
```
### 5. 配置环境变量
```bash
cd /volume1/docker/containers/sanguo_vnpy_v2/docker
sudo cp .env.example .env
sudo vi .env # 或使用其他编辑器
```
关键配置项:
```env
# 数据目录 - 确保 此目录存在
DATA_DIR=/volume1/docker/stock/sanguo_vnpy
# 端口配置 - 根据需要修改
HTTP_PORT=8000
WS_PORT=8080
# 时区
TZ=Asia/Shanghai
# JWT 密钥 - 请修改为随机字符串
JWT_SECRET_KEY=your-random-secret-key-here
```
### 6. 启动服务
```bash
cd /volume1/docker/containers/sanguo_vnpy_v2/docker
sudo docker-compose up -d
```
### 7. 检查运行状态
```bash
# 查看容器状态
sudo docker-compose ps
# 查看日志
sudo docker-compose logs -f vnpy
```
---
## 详细步骤
### 步骤 1: 准备数据目录
创建完整的目录结构:
```bash
# 主目录
sudo mkdir -p /volume1/docker/stock/sanguo_vnpy
# 数据子目录
sudo mkdir -p /volume1/docker/stock/sanguo_vnpy/data # 数据库和数据文件
sudo mkdir -p /volume1/docker/stock/sanguo_vnpy/logs # 运行日志
sudo mkdir -p /volume1/docker/stock/sanguo_vnpy/config # 配置文件
sudo mkdir -p /volume1/docker/stock/sanguo_vnpy/temp # 临时文件
sudo mkdir -p /volume1/docker/stock/sanguo_vnpy/redis # Redis 持久化
sudo mkdir -p /volume1/docker/stock/sanguo_vnpy/nginx # Nginx 相关
sudo mkdir -p /volume1/docker/stock/sanguo_vnpy/nginx/ssl # SSL 证书
# 设置权限
sudo chmod -R 755 /volume1/docker/stock/sanguo_vnpy
```
### 步骤 2: 配置 Docker Compose
编辑 `.env` 文件:
```bash
cd /volume1/docker/containers/sanguo_vnpy_v2/docker
sudo cp .env.example .env
sudo vi .env
```
完整配置示例:
```env
# ============================================
# 数据目录配置
# ============================================
DATA_DIR=/volume1/docker/stock/sanguo_vnpy
# ============================================
# 端口配置
# ============================================
HTTP_PORT=8000
WS_PORT=8080
NGINX_HTTP_PORT=80
NGINX_HTTPS_PORT=443
# ============================================
# 时区配置
# ============================================
TZ=Asia/Shanghai
# ============================================
# VeighNa 配置
# ============================================
VNPY_LOG_LEVEL=INFO
VNPY_LOG_FILE=/app/logs/vnpy.log
# ============================================
# 数据库配置
# ============================================
DB_TYPE=sqlite
DB_PATH=/app/data/vnpy.db
# ============================================
# Web 服务配置
# ============================================
WEB_HOST=0.0.0.0
WEB_PORT=8000
WEB_WORKERS=2
# ============================================
# 安全配置
# ============================================
JWT_SECRET_KEY=please-change-this-to-a-secure-random-key
SESSION_TIMEOUT=3600
# ============================================
# 资源限制
# ============================================
VNPY_CPU_LIMIT=2.0
VNPY_MEMORY_LIMIT=2G
```
### 步骤 3: 构建和启动
```bash
# 构建镜像(首次运行)
sudo docker-compose build
# 启动服务
sudo docker-compose up -d
# 查看启动日志
sudo docker-compose logs -f
```
### 步骤 4: 验证部署
```bash
# 检查容器状态
sudo docker-compose ps
# 应该看到类似输出:
# NAME STATUS PORTS
# sanguo-vnpy Up 0.0.0.0:8000->8000/tcp
# sanguo-redis Up 6379/tcp
# 检查日志
sudo docker-compose logs vnpy | tail -20
# 进入容器检查
sudo docker-compose exec vnpy bash
ls -la /app/data
exit
```
---
## 配置说明
### 端口配置
| 端口 | 用途 | 说明 |
|------|------|------|
| 8000 | HTTP API | Web 界面和 REST API |
| 8080 | WebSocket | 实时数据推送 |
| 80 | Nginx HTTP | 反向代理(可选) |
| 443 | Nginx HTTPS | SSL 反向代理(可选) |
### 目录映射
| 容器路径 | 宿主机路径 | 说明 |
|----------|------------|------|
| /app/data | `{DATA_DIR}/data` | 数据库和数据文件 |
| /app/logs | `{DATA_DIR}/logs` | 运行日志 |
| /app/config | `{DATA_DIR}/config` | 配置文件 |
| /app/temp | `{DATA_DIR}/temp` | 临时文件 |
| /data | `{DATA_DIR}/redis` | Redis 持久化数据 |
### 资源限制
默认资源限制(可在 `.env` 中调整):
| 服务 | CPU 限制 | 内存限制 |
|------|----------|----------|
| vnpy | 2.0 | 2G |
| redis | 0.5 | 256M |
| nginx | 0.5 | 256M |
---
## 访问界面
### Web 界面
启动成功后,可以通过以下地址访问:
```
http://your-nas-ip:8000
```
### 默认登录凭据
- **用户名**: `admin`
- **密码**: `admin123`
**重要**: 首次登录后请立即修改密码!
### WebSocket 连接
WebSocket 端点:
```
ws://your-nas-ip:8080
```
---
## 数据备份
### 重要数据位置
所有重要数据都存储在 `/volume1/docker/stock/sanguo_vnpy/`
```
/volume1/docker/stock/sanguo_vnpy/
├── data/ # 数据库和数据文件
├── logs/ # 运行日志
├── config/ # 配置文件
├── redis/ # Redis 持久化数据
└── nginx/ # Nginx 配置和证书
```
### 备份方法
#### 方法 1: 使用 Hyper Backup 套件(推荐)
1. 打开 **Hyper Backup**
2. 创建新备份任务
3. 选择 **从文件夹备份**
4. 选择 `/volume1/docker/stock/sanguo_vnpy/`
5. 配置备份目标和计划
#### 方法 2: 手动备份
```bash
# 创建备份
sudo tar czf \
/volume1/Backup/vnpy_backup_$(date +%Y%m%d_%H%M%S).tar.gz \
/volume1/docker/stock/sanguo_vnpy/
# 列出备份文件
ls -lh /volume1/Backup/vnpy_backup_*
# 恢复备份
sudo tar xzf \
/volume1/Backup/vnpy_backup_YYYYMMDD_HHMMSS.tar.gz \
-C /
```
#### 方法 3: 使用 rsync 同步到其他位置
```bash
# 同步到另一个共享文件夹
sudo rsync -avz \
/volume1/docker/stock/sanguo_vnpy/ \
/volume1/Backup/sanguo_vnpy_backup/
# 同步到远程服务器
rsync -avz -e ssh \
/volume1/docker/stock/sanguo_vnpy/ \
user@remote-server:/backup/path/
```
### 自动备份脚本
创建定时任务:
```bash
# 创建备份脚本
sudo vi /volume1/docker/stock/backup_vnpy.sh
```
脚本内容:
```bash
#!/bin/bash
# Sanguo VeighNa 自动备份脚本
BACKUP_DIR="/volume1/Backup"
DATA_DIR="/volume1/docker/stock/sanguo_vnpy"
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
BACKUP_FILE="$BACKUP_DIR/vnpy_backup_$TIMESTAMP.tar.gz"
# 保留最近 7 天的备份
find $BACKUP_DIR -name "vnpy_backup_*.tar.gz" -mtime +7 -delete
# 创建备份
tar czf $BACKUP_FILE $DATA_DIR
# 记录日志
echo "Backup created: $BACKUP_FILE" >> $BACKUP_DIR/backup.log
echo "Backup completed: $BACKUP_FILE"
```
设置定时任务:
```bash
# 给脚本执行权限
sudo chmod +x /volume1/docker/stock/backup_vnpy.sh
# 添加到 crontab(每天凌晨 2 点执行)
sudo crontab -e
# 添加以下行
0 2 * * * /volume1/docker/stock/backup_vnpy.sh
```
---
## 故障排除
### 常见问题
#### 1. 容器无法启动
**检查日志**
```bash
sudo docker-compose logs vnpy
```
**常见原因**
- 端口被占用:修改 `.env` 中的端口配置
- 数据目录不存在:创建所需目录
- 权限问题:检查目录权限
#### 2. 数据目录权限问题
```bash
# 修复权限
sudo chown -R $(id -u):$(id -g) /volume1/docker/stock/sanguo_vnpy
sudo chmod -R 755 /volume1/docker/stock/sanguo_vnpy
```
#### 3. 端口冲突
```bash
# 检查端口占用
sudo netstat -tulpn | grep :8000
# 或使用 lsof
sudo lsof -i :8000
```
#### 4. Redis 连接失败
```bash
# 检查 Redis 容器
sudo docker-compose logs redis
# 重启 Redis
sudo docker-compose restart redis
# 跳过 Redis 检查(开发环境)
# 在 .env 中设置
SKIP_REDIS_CHECK=1
```
#### 5. 日志文件过大
```bash
# 清理旧日志
sudo find /volume1/docker/stock/sanguo_vnpy/logs -name "*.log" -mtime +30 -delete
# 或配置日志轮转
sudo vi /etc/logrotate.d/vnpy
```
### 重置部署
如果需要完全重置:
```bash
# 停止并删除容器
sudo docker-compose down
# 备份数据
sudo cp -r /volume1/docker/stock/sanguo_vnpy /volume1/Backup/
# 清理数据(谨慎操作)
sudo rm -rf /volume1/docker/stock/sanguo_vnpy/data/*
sudo rm -rf /volume1/docker/stock/sanguo_vnpy/logs/*
# 重新启动
sudo docker-compose up -d
```
---
## 升级指南
### 升级步骤
1. **备份当前版本**
```bash
# 备份数据
sudo tar czf /volume1/Backup/vnpy_pre_upgrade_$(date +%Y%m%d).tar.gz \
/volume1/docker/stock/sanguo_vnpy/
```
2. **下载新版本**
```bash
# 停止服务
cd /volume1/docker/containers/sanguo_vnpy_v2/docker
sudo docker-compose down
```
3. **替换项目文件**
```bash
# 备份旧代码
sudo mv /volume1/docker/containers/sanguo_vnpy_v2 \
/volume1/docker/containers/sanguo_vnpy_v2_old
# 解压新版本
sudo tar xzf /tmp/sanguo_vnpy_v2_new.tar.gz -C /volume1/docker/containers/
```
4. **复制配置**
```bash
# 复制 .env 配置
sudo cp /volume1/docker/containers/sanguo_vnpy_v2_old/docker/.env \
/volume1/docker/containers/sanguo_vnpy_v2/docker/.env
```
5. **启动新版本**
```bash
cd /volume1/docker/containers/sanguo_vnpy_v2/docker
sudo docker-compose up -d --build
```
6. **验证升级**
```bash
# 检查状态
sudo docker-compose ps
sudo docker-compose logs -f
```
### 回滚
如果升级失败:
```bash
# 停止新版本
cd /volume1/docker/containers/sanguo_vnpy_v2/docker
sudo docker-compose down
# 恢复旧版本
sudo mv /volume1/docker/containers/sanguo_vnpy_v2 \
/volume1/docker/containers/sanguo_vnpy_v2_new
sudo mv /volume1/docker/containers/sanguo_vnpy_v2_old \
/volume1/docker/containers/sanguo_vnpy_v2
# 启动旧版本
cd /volume1/docker/containers/sanguo_vnpy_v2/docker
sudo docker-compose up -d
```
---
## 性能优化
### 资源调整
根据 NAS 配置调整资源限制:
```env
# .env 文件中
VNPY_CPU_LIMIT=4.0 # 增加 CPU
VNPY_MEMORY_LIMIT=4G # 增加内存
WEB_WORKERS=4 # 增加 Worker 数量
```
### 存储优化
- 将数据目录放在 SSD 缓存盘上(如果有)
- 定期清理旧日志
- 使用数据库的 VACUUM 功能优化 SQLite
### 网络优化
- 使用有线网络连接
- 配置 QoS 优先级
- 考虑使用本地网络而非远程访问
---
## 安全建议
1. **修改默认密码**:首次登录后立即修改
2. **使用 HTTPS**:配置 SSL 证书
3. **限制访问**:使用防火墙规则
4. **定期备份**:设置自动备份任务
5. **更新系统**:保持 DSM 和套件更新
6. **监控日志**:定期检查访问日志
---
## 附录
### A. Docker Compose 常用命令
```bash
# 启动服务
sudo docker-compose up -d
# 停止服务
sudo docker-compose down
# 重启服务
sudo docker-compose restart
# 查看状态
sudo docker-compose ps
# 查看日志
sudo docker-compose logs -f
# 进入容器
sudo docker-compose exec vnpy bash
# 更新并重启
sudo docker-compose up -d --build
# 删除容器和数据(危险)
sudo docker-compose down -v
```
### B. 目录结构参考
```
/volume1/docker/
├── stock/
│ └── sanguo_vnpy/
│ ├── data/ # 数据库
│ ├── logs/ # 日志
│ ├── config/ # 配置
│ ├── temp/ # 临时文件
│ ├── redis/ # Redis 数据
│ └── nginx/ # Nginx 相关
└── containers/
└── sanguo_vnpy_v2/ # 项目文件
└── docker/
├── .env
├── .env.example
├── docker-compose.yml
├── Dockerfile
└── entrypoint.sh
```
### C. 支持和反馈
如有问题,请通过以下方式获取支持:
- GitHub Issues
- 项目文档
- 社区论坛
---
**最后更新**: 2026-07-01
**文档版本**: 1.0.0