入门
从源码运行
开发Casvisor要从源码运行。只是不想用Docker的话,也可以从GitHub Releases下载对应系统的压缩包,再照下面的配置改。
需要准备
| 版本 | 用途 | |
|---|---|---|
| Go | 1.23及以上 | 后端 |
| Node.js和Yarn | Node 20及以上,Yarn 1 | 前端 |
| MySQL或MariaDB | 5.7 / 10.3及以上 | 可选:不选MySQL时数据库是SQLite |
| Casdoor | 可选:不用自带账号、改为通过Casdoor登录时需要,见对接Casdoor |
四种协议都在这个Go程序里处理,旁边不需要再跑别的东西。
编译和运行
git clone https://github.com/casvisor/casvisor
cd casvisor/web
yarn install
yarn build
cd ..
go run .yarn build把前端输出到web/build,由后端提供。Casvisor监听19000端口(conf/app.conf里的httpport)。第一次启动时它会建好SQLite数据库db/casvisor.db和管理员admin,并把密码打印在输出里;打开http://localhost:19000用它登录。录像写到recordings/。
配置
默认配置不用改。你自己的配置写在conf/app.local.conf里,它会覆盖conf/app.conf,而且不进git。例如改用MySQL、通过Casdoor登录:
driverName = mysql
dataSourceName = root:123456@tcp(localhost:3306)/
dbName = casvisor
casdoorEndpoint = https://door.example.com
clientId = <Client ID>
clientSecret = <Client secret>
casdoorOrganization = "<组织>"
casdoorApplication = "<应用>"用MySQL时,第一次启动会建好dbName指定的库,所以dataSourceName里的账号要有建库权限。每一项的含义见配置。
开发前端
前端是React + Vite + shadcn/ui。开发时单独跑Vite,让它把接口请求转给后端:
cd web
yarn dev它监听18001端口,把/api(包括WebSocket)转发到http://localhost:19000。要连别的后端,设置环境变量CASVISOR_BACKEND。
编译到其他系统
后端是纯Go,CGO_ENABLED=0即可交叉编译:
CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -o casvisor .
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o casvisor.exe .运行时它从工作目录读取conf/、data/、swagger/和web/build/,部署时把这几个目录和程序一起拷过去。