# Bell Windows 运行说明 Bell Windows 包包含独立后端、GoAdmin 管理端静态资源和启动、停止、检查脚本。正式运行需要独立 PostgreSQL;包内不提供默认账号、密码、JWT secret 或数据库。 ## 配置 编辑 `config\bell.env`: ```text BELL_HOST=127.0.0.1 BELL_PORT=18090 BELL_WEB_HOST=127.0.0.1 BELL_WEB_PORT=18091 BELL_DATABASE_URL=host=127.0.0.1 port=5432 user=bell dbname=bell sslmode=disable BELL_JWT_SECRET=<至少 32 字符的独立随机值> BELL_BOOTSTRAP_USERNAME=<仅首次迁移使用> BELL_BOOTSTRAP_PASSWORD=<仅首次迁移使用,至少 8 字符> BELL_AUTO_MIGRATE=true BELL_SYNTHETIC_EVENTS_ENABLED=false ``` 不要把真实配置提交到 Git。首次迁移成功后,建议从进程环境中移除 `BELL_BOOTSTRAP_PASSWORD`;它不会写入明文数据库。 ## 启动、检查和停止 ```bat check-bell.bat start-bell.bat check-bell.bat -Running stop-bell.bat ``` 浏览器访问 `http://127.0.0.1:18091/`。`BELL_PORT` 是仅供本机 Web 网关访问的后端端口;`BELL_WEB_PORT` 是用户访问入口。启动脚本默认先执行幂等数据库迁移,再启动后端和 Web 网关;任一步失败都会返回非零退出码。 `stop-bell.bat` 只按包内 PID 文件和启动命令行核对后停止本包进程树,不按端口终止未知进程。运行日志位于 `runtime\logs`,不得包含密码、JWT 或登录 token。 ## 构建和包审计 从仓库根目录运行: ```powershell Bell\scripts\build\build-windows.bat pwsh -NoProfile -File Bell\scripts\build\test-package.ps1 -PackageRoot Bell\dist\bell-windows-amd64 ``` 输出: - `Bell\dist\bell-windows-amd64\` - `Bell\dist\bell-windows-amd64.zip` 包内 `VERSION.txt`、`MANIFEST.sha256` 和 `LICENSES\` 分别记录源码提交、工具链、文件摘要、GoAdmin 来源及 MIT 许可证。 ## 常见错误 - `BELL_DATABASE_URL is required`:设置独立 PostgreSQL 连接串。 - `PostgreSQL is unreachable`:启动 PostgreSQL,并检查地址和端口。 - `BELL_JWT_SECRET must contain...`:生成至少 32 字符、只供 Bell 使用的随机值。 - `port ... is already in use`:停止已有 Bell,或修改后端/Web 端口。 - `Bell database migration failed`:检查数据库是否存在、用户权限及迁移日志;不要删除已有 Event、Alert 或生命周期事实。