|
|
2 semanas atrás | |
|---|---|---|
| backend | 3 meses atrás | |
| frontend | 2 semanas atrás | |
| .dockerignore | 3 meses atrás | |
| .gitignore | 3 meses atrás | |
| AI 值班 Web 平台 - 详细需求规格说明书 (PRD).md | 3 meses atrás | |
| CHANGELOG.md | 3 meses atrás | |
| Dockerfile | 3 meses atrás | |
| README.md | 3 meses atrás | |
| Simple_Auth_Guide.md | 3 meses atrás | |
| docker-compose.wsl.yml | 3 meses atrás | |
| docker-compose.yml | 3 meses atrás | |
| run.py | 3 meses atrás |
基于 AI 的智能化视频监控与自动值班系统。该平台集成了实时视频流监控、AI 自动化巡检、异常检测告警以及后台管理功能。
本项目支持 Docker Compose 一键部署,集成了 MySQL 数据库,并实现了数据持久化。
根据您的运行环境选择对应的启动命令:
场景 A: Linux 服务器部署 (生产环境/标准 Linux) 适用于标准 Linux 服务器环境,使用本地目录挂载数据库,方便数据备份和查看。
# 启动服务
docker-compose up -d
场景 B: Windows (WSL 2) 本地开发 适用于在 Windows 上使用 Docker Desktop (WSL 2) 的用户。此配置使用 Docker 命名卷 (Named Volume) 存储数据库,以解决 Windows 文件系统 (NTFS) 挂载导致的 MySQL 权限问题。
# 使用 WSL 专用配置文件启动
docker-compose -f docker-compose.wsl.yml up -d
提示:
- 如果在 Windows 下直接运行
docker-compose up -d遇到数据库启动失败 (Permission denied),请务必使用上述 场景 B 的命令。- 如果遇到 "DEPRECATED" 警告,建议使用新版命令
docker compose(无连字符)。
# 构建并启动服务 (强制重新构建镜像)
# Linux:
docker-compose up -d --build
# Windows/WSL:
docker-compose -f docker-compose.wsl.yml up -d --build
❗ Windows 用户特别提示 (构建卡住解决方案): 如果直接运行
docker-compose build时遇到npm install阶段卡住不动(常见于 Windows Docker Desktop 网络环境),请按以下步骤手动构建:
- 手动构建镜像 (使用
--network=host共享主机网络,解决连接超时问题):bash > docker build --network=host -t ai-watch-platform . >> 2. 启动服务 (将自动使用刚才构建好的本地镜像): >bash > docker-compose up -d >提示:
docker-compose.yml已配置为优先使用本地ai-watch-platform镜像。只有当本地不存在该镜像时,才会尝试自动构建。- 如果遇到 "DEPRECATED" 警告,请确保使用新版
docker compose命令。- 💡 智能重试机制: 后端服务已内置了数据库连接重试逻辑 (Max 30次, 间隔2s)。即使数据库启动较慢,应用也会耐心等待直到连接成功,无需人工重启。
2. 访问服务
等待容器启动完成后,访问:http://localhost:8000
- 默认账号:
admin- 默认密码:
HNYZ08213. 数据持久化说明
启动后,项目根目录会自动生成以下文件夹用于数据持久化:
mysql_data/: MySQL 数据库数据reports/: 生成的巡检报告 (PDF)snapshots/: 告警截图文件手动构建镜像 (可选)
如果你不希望使用 Docker Compose,也可以直接使用
docker buildx(推荐) 或docker build构建和运行镜像。注意: 这种方式需要你自行准备 MySQL 数据库,并通过环境变量连接。
构建镜像
# 使用 BuildKit 构建 (推荐) docker buildx build -t ai-watch-platform .或者旧版命令(可能会提示 Deprecated 警告):
docker build -t ai-watch-platform .运行容器
# 假设你的 MySQL 运行在 192.168.1.100,密码为 root_password docker run -d -p 8000:8000 \ -e MYSQL_SERVER=192.168.1.100 \ -e MYSQL_PORT=3306 \ -e MYSQL_USER=root \ -e MYSQL_PASSWORD=root_password \ -v $(pwd)/reports:/app/reports \ -v $(pwd)/snapshots:/app/backend/app/static/snapshots \ --name ai-watch-app \ ai-watch-platform
方式二:本地开发环境
1. 克隆项目
git clone <repository-url> cd ai-watch-platform
建议使用虚拟环境管理 Python 依赖:
# 创建虚拟环境
python -m venv .venv
# 激活虚拟环境
# Windows:
.venv\Scripts\activate
# Linux/macOS:
source .venv/bin/activate
# 安装依赖
pip install -r backend/requirements.txt
在项目根目录下创建一个 .env 文件,配置数据库连接与其他敏感信息。你可以参考以下模板:
# .env 文件内容示例
MYSQL_SERVER=localhost
MYSQL_USER=root
MYSQL_PASSWORD=your_password
MYSQL_DB=ai_watch
SECRET_KEY=your_secret_key_here
确保 MySQL 中已经手动创建了名为 ai_watch 的空数据库,然后运行初始化脚本:
# 初始化数据表结构
python init_db_script.py
# 创建或重置管理员账户 (默认账户: admin / HNYZ0821)
python reset_admin.py
进入前端目录安装依赖并构建资源(构建后的文件将被后端自动托管):
cd frontend
npm install
npm run build
cd ..
在根目录下运行启动脚本,这将同时启动后端 API 服务并托管前端页面:
python run.py
服务启动后,请访问:http://localhost:8000
如果在第 4 步运行了 reset_admin.py (Docker 部署自动包含此步骤),可以使用以下默认账号登录:
adminHNYZ0821注意: 首次登录后建议立即修改密码。
ai-watch-platform/
├── backend/ # Python 后端代码
├── frontend/ # Vue3 前端代码
├── .env # 环境变量配置 (不要提交到 Git)
├── run.py # 项目启动入口
├── init_db_script.py # 数据库初始化脚本
├── reset_admin.py # 管理员重置脚本
├── Dockerfile # Docker 构建文件
├── docker-compose.yml # Docker Compose 编排文件
└── .dockerignore # Docker 忽略文件