1.5 KiB
1.5 KiB
AutoLibrary Website
AutoLibrary 官网、软件下载中心与主题市场,使用 Vue 3、TypeScript、Go/Gin、SQLite 和 Casdoor。
本地开发
需要 Go 1.25.6+、Node.js 22.13+ 和支持 CGO 的 C 编译器。
cp config.example.json config.json
npm --prefix frontend ci
go run . backend
# 在另一个终端启动前端
npm --prefix frontend run dev
打开 http://127.0.0.1:5173。后端默认端口为 8080,登录功能需要配置 Casdoor。
构建与发布
npm --prefix frontend run build
go test ./...
docker build -t autolibrary-web:local .
bash deploy/smoke-container.sh autolibrary-web:local
推送 main 后,Gitea Actions 构建、测试并发布镜像到 gitea.kenanzhu.com/autolibrary/website:<提交SHA>。仓库 Secrets 需配置 REGISTRY_USERNAME 和具有软件包写入权限的 REGISTRY_TOKEN。
使用 compose.yaml 部署,设置 AUTOLIBRARY_IMAGE、AUTOLIBRARY_CONFIG、AUTOLIBRARY_DATA_DIR 和 AUTOLIBRARY_LOG_DIR,并按宿主机权限设置 AUTOLIBRARY_UID、AUTOLIBRARY_GID。前端健康检查端口由 AUTOLIBRARY_HTTP_PORT 指定,默认 3003。
配置只读挂载,数据库、主题文件和日志持久化在宿主机。上线前备份数据,更新 Compose 使用的镜像摘要后运行 docker compose up -d --wait。