# fzstudio_server **Repository Path**: fourzkw/fzstudio_server ## Basic Information - **Project Name**: fzstudio_server - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-24 - **Last Updated**: 2026-10-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # FZstudio 服务端 仅含**服务器需要**的前后端:管理台(`admin/`)+ Go 业务/更新服务(`server/`)。在服务器上编译部署。 桌面客户端在另一个仓库,不在此目录。 ## 目录 ``` admin/ # Vite + React 管理台(构建后嵌入 Go) server/ # Go HTTP 服务(更新分发、管理 API、NewAPI 对接) .env.example run.sh # 读取 .env 后启动(不改 Go 代码) deploy/ # systemd 示例 ``` ## 服务器编译 依赖:Go ≥ 1.22、Node.js ≥ 18。 ```bash git clone https://gitee.com/fourzkw/fzstudio_server.git cd fzstudio_server npm install --prefix admin npm run build --prefix admin cd server go build -o fzstudio-server ./cmd/server cd .. ``` ## 配置环境变量(写在文件里) ```bash cp .env.example .env nano .env # 填写 ADMIN_TOKEN、PUBLIC_BASE_URL、NEWAPI_* 等 ``` `.env` 已在 `.gitignore` 中,**不要提交**。Go 进程通过系统环境变量读取,无需改代码。 ### 方式 A:用 run.sh(前台 / 调试) ```bash chmod +x run.sh ./run.sh ``` ### 方式 B:systemd(常驻,推荐) `.env` 使用 `KEY=value` 格式(不要写 `export`),路径与示例一致或改 service 文件: ```bash sudo cp deploy/fzstudio-server.service.example /etc/systemd/system/fzstudio-server.service # 按实际安装路径编辑 WorkingDirectory / EnvironmentFile / ExecStart sudo systemctl daemon-reload sudo systemctl enable --now fzstudio-server ``` `EnvironmentFile=` 会把文件内容注入进程环境,效果与 `export` 相同。 ## 检查 - 公开下载:`/download`(安装包、使用说明、API 配置教程) - 健康检查:`GET /health` - 管理台:`/admin/` - NewAPI 探测:`GET /api/admin/newapi/ping`(Bearer `ADMIN_TOKEN`) - 静默开户:管理台「NewAPI 连通」或 `POST /api/admin/newapi/provision` - 映射库存:`DATA_DIR/fzstudio-store.json`(sk 经 `SECRET_KEY`/`ADMIN_TOKEN` 加密) 更细说明见 [`server/README.md`](server/README.md)。 ## 从主仓同步 ```powershell .\scripts\sync-server-repo.ps1 -Dest "d:\_Project\fzstudio-server" ``` 再在本仓库 `git add/commit/push`,服务器 `git pull` 后重新编译(`.env` 留在服务器本地,不会被覆盖)。 ## 不要提交 - `node_modules`、`.env`、生产密钥