Files
aiops/docs/quick-start.md
T
attacker 97c4207ff8 refactor: 标准化项目结构 frontend/ + backend/ + SQLite + run.sh
- 目录重构: app/ -> frontend/,与 backend/ 并列
- 数据库: 默认 SQLite(零配置),修复 DSN() bug
- run.sh: 一键启动前后端,支持 start/stop/restart/status
- Makefile: install/dev/build/lint/clean 快捷命令
- vite.config.ts: 配置 dev server 端口 5173 + API 代理到 8080
- config.yaml: SQLite 默认配置,开箱即用
- docs/: 完整开发文档(项目结构/API/数据库/规范/部署)
- 修复: GORM foreign key 关联声明
- 修复: go get gorm.io/driver/sqlite 依赖
2026-06-13 23:34:23 +08:00

164 lines
3.1 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.
# 快速开始
## 环境要求
| 工具 | 最低版本 | 说明 |
|------|---------|------|
| Go | 1.21+ | 后端编译运行(需 CGO 支持 SQLite) |
| Node.js | 18+ | 前端构建 |
| npm | 9+ | 包管理 |
| gcc/clang | - | CGO 编译 SQLite 需要 |
### 检查环境
```bash
go version # >= 1.21
node -v # >= 18
gcc --version # macOS 自带 clang
```
## 安装
### 1. 克隆仓库
```bash
git clone https://gitee.com/attacker/aiops.git
cd aiops
```
### 2. 安装依赖
```bash
make install
# 或手动安装
cd backend && go mod download && cd ..
cd frontend cd app &&cd app && npm install && cd ..
```
### 3. 配置(可选)
默认使用 SQLite,无需任何额外配置即可启动。
如需使用 MySQL 等其他数据库,编辑 `backend/config.yaml`:
```yaml
database:
driver: mysql # 改为 mysql / postgres
host: localhost
port: 3306
user: root
password: your_password
dbname: aiops
```
## 启动
### 方式一:一键启动(推荐)
```bash
chmod +x run.sh
./run.sh start
```
输出示例:
```
[INFO] ========== EZOps AIOps 启动脚本 ==========
[INFO] 正在启动后端服务...
[INFO] 编译 Go 程序...
[SUCCESS] 后端服务已启动 (PID: 12345, 端口: 8080)
[INFO] 正在启动前端服务...
[SUCCESS] 前端服务已启动 (PID: 12346, 端口: 5173)
[SUCCESS] ========== 所有服务已启动 ==========
[INFO] 前端地址: http://localhost:5173
[INFO] 后端地址: http://localhost:8080
[INFO] 健康检查: http://localhost:8080/health
```
### 方式二:分别启动
```bash
# 仅后端
./run.sh backend
# 仅前端
./run.sh frontend
```
### 方式三:使用 Makefile
```bash
make dev # 启动
make status # 查看状态
make stop # 停止
```
## 访问
| 地址 | 说明 |
|------|------|
| http://localhost:5173 | 前端界面 |
| http://localhost:8080/health | 后端健康检查 |
| http://localhost:8080/version | 版本信息 |
| http://localhost:8080/api/v1/auth/login | 登录接口 |
## 常用命令
```bash
./run.sh status # 查看服务状态
./run.sh stop # 停止所有服务
./run.sh restart # 重启所有服务
./run.sh help # 查看帮助
make logs # 查看实时日志
make build # 构建生产包
make clean # 清理构建产物
```
## 日志位置
| 服务 | 日志文件 |
|------|---------|
| 后端 | `backend/logs/server.log` |
| 前端 | `frontend/logs/dev.log` |
| 数据库 | `backend/data/aiops.db`(SQLite 文件) |
## 数据库
默认使用 SQLite,数据库文件位于 `backend/data/aiops.db`,首次启动时自动创建表结构(AutoMigrate)。
### 重置数据库
```bash
./run.sh stop
rm -f backend/data/aiops.db
./run.sh start
```
## 常见问题
### Q: CGO 编译失败?
SQLite 需要 CGO 支持。确保环境变量 `CGO_ENABLED=1`:
```bash
export CGO_ENABLED=1
```
### Q: Go 模块下载慢?
设置国内代理:
```bash
export GOPROXY=https://goproxy.cn,direct
```
### Q: 端口被占用?
```bash
./run.sh stop # 先停止
./run.sh start # 再启动
# 或强制释放端口
lsof -ti:8080 | xargs kill -9
lsof -ti:5173 | xargs kill -9
```