- 本项目由golang+vue3+TailwindCss编写,目的是给openwrt设备提供一个更好看的网页端仪表盘和更便于调用的无鉴权系统状态HTTP API
Warning
本项目仍在开发中,仪表盘页面尚未足够完善,请谨慎在生产环境使用
- 从releases下载最新构建产物
- 将二进制文件和
./scripts/etc/inid.d/diskio-api服务文件部署到openwrt设备上,推荐将二进制文件放置在/usr/bin/中,服务文件放置在/etc/init.d/中 - 使用文本编辑器打开服务文件,修改必要的"文件路径"或"监控端口等配置
- 给服务文件和二进制文件
chmod +x权限,使用/etc/init.d/diskio-api enable使其服务开机自启,最后使用/etc/init.d/diskio-api start来启动服务
- go >= 1.18
- node.js >= 20.x
- pnpm >= 8.x
Warning
项目后端仅支持linux发行版,并只优先适配openwrt,虽然go支持windows交叉编译linux二进制产物,但是不保证能在windows上编译成功
- 在任意linux发行版上,clone本项目
- 后端编译需要go编译器和goreleaser,下载和安装教程请看对应官网
- 前端编译需要node.js和pnpm,下载和安装教程请看对应官网
- 确保前置前置所需工具安装完毕后,在项目目录下,使用
goreleaser release --snapshot --clean命令即可进行编译,编译产物默认在./dist目录下`
mkdir ./dist
cd ./frontend
pnpm install
pnpm vite build --outDir ../dist/frontend --emptyOutDirWarning
需要先编译前端,因为使用了embed将前端文件打包到二进制产物中,embed找不到./dist/frontend文件夹可能会引起编译报错
go mod tidy
go build -o openwrt-monitor-api ./backend/main.go


