Skip to content

编译

Beszel 中心 (hub) 和代理都使用 Go 语言编写,因此您可以轻松地自己构建它们,或者为不同的平台进行交叉编译。 如果您还没有安装 Go 语言,请先 安装 Go

克隆代码库

bash
# 克隆代码库
git clone --branch v0.9.0 --depth 1 https://github.com/henrygd/beszel.git
# 导航到项目目录
cd beszel/beszel

以下命令假设您位于项目目录 (/beszel) 中。

使用 Makefile

运行 make 命令。这将在 build 目录中创建包含二进制文件的目录。

bash
# 构建中心和代理(同时)
make
# 只构建代理
make build-agent
# 只构建中心(需要 Node 或 Bun)
make build-hub

您还可以为不同的平台进行构建:

bash
make OS=freebsd ARCH=arm64

运行 go tool dist list 命令查看有效的选项列表。

手动编译

准备依赖项

bash
go mod tidy

代理

进入 beszel/cmd/agent 目录并运行以下命令可在当前目录中创建二进制文件:

bash
CGO_ENABLED=0 go build -ldflags "-w -s" .

中心

中心会将 Web UI 嵌入到二进制文件中,因此您必须首先构建网站。我使用的是 Bun,但如果您愿意也可以使用 Node.js:

bash
cd site
bun install
bun run build

然后在 /beszel/cmd/hub 中:

bash
CGO_ENABLED=0 go build -ldflags "-w -s" .

交叉编译

您可以使用 GOOSGOARCH 环境变量为不同的平台进行交叉编译。

例如,要为 FreeBSD ARM64 构建:

bash
GOOS=freebsd GOARCH=arm64 CGO_ENABLED=0 go build -ldflags "-w -s" .

运行 go tool dist list 命令查看有效的选项列表。

基于 MIT 许可发布