Bencher 自托管
Bencher 是 开源的。 它有 SaaS 版本,Bencher Cloud, 也可以作为一组可自托管的容器镜像使用:
部署
部署 Bencher 自托管的最简单方法是使用一系列 bencher
CLI 子命令:
bencher up
:启动 Bencher 自托管容器。 这类似于运行docker compose up
。bencher logs
:查看 Bencher 自托管容器的输出, 如果bencher up
是以--detach
标志运行。 这类似于运行docker compose logs
。bencher down
:停止并移除 Bencher 自托管容器, 如果bencher up
是以--detach
标志运行。 这类似于运行docker compose down
。
bencher up
创建并启动 Bencher 自托管容器。
这类似于运行 docker compose up
。
服务
选择要运行的容器。可能的选项有:all
、api
和 console
。默认选择 all
。类似于 docker compose up
的 SERVICE
参数。
选项
--detach
以分离模式运行。
容器将在后台运行。
类似于docker compose up
的 --detach
标志。
--pull <WHEN>
在运行之前拉取镜像。
可能的选项有:always
、missing
和 never
。
默认情况下选择 always
。
类似于 docker compose up
的 --pull
选项。
--tag <TAG>
指定容器的镜像标签。
默认情况下,镜像标签与 bencher
CLI 版本匹配。
最新的 bencher
CLI 版本是 v0.4.27
。
--console-port <PORT>
为控制台服务器容器指定一个端口号。
默认情况下,使用端口 3000
。
类似于 docker run
的--expose
选项的仅端口形式。
--api-port <PORT>
为 API 服务器容器指定一个端口号。
默认情况下,使用端口 61016
。
类似于 docker run
的 --expose
选项 的仅端口形式。
--console-env <KEY_VALUE>
将环境变量传递给控制台服务器容器。预期格式为 KEY=value
。这在使用控制台服务器配置时很有用。类似于 docker run
的--env
选项。
--api-env <KEY_VALUE>
将环境变量传递给 API 服务器容器。
预期格式为 KEY=value
。
这在使用 API 服务器配置 时很有用。
类似于 docker run
的 --env
选项。
--console-volume <HOST_CONTAINER>
将挂载卷传递给控制台服务器容器。
预期格式为 /host/path:/container/path
。
这在使用控制台服务器配置时可能很有用。
类似于 docker run
的--volume
选项。
--api-volume <HOST_CONTAINER>
将挂载卷传递给 API 服务器容器。
预期格式为 /host/path:/container/path
。
这在使用 API 服务器配置 时很有用。
类似于 docker run
的 --volume
选项。
--help
打印帮助。
bencher logs
查看 Bencher 自托管容器的输出,
如果 bencher up
是与--detach
选项一起运行的。
这类似于运行 docker compose logs
。
服务
选择要运行的容器。
可能的选择有:all
、api
和 console
。
默认选择是 all
。
类似于docker compose logs
的 SERVICE
参数。
选项
--help
打印帮助。
bencher down
停止并移除 Bencher 自托管的容器,
如果 bencher up
时使用了 --detach
标志。
这类似于运行 docker compose down
。
服务
选择要运行的容器。
可以选择的项有:all
、api
和 console
。
默认选择all
。
类似于 docker compose down
的 SERVICE
参数。
选项
--help
打印帮助。
或者,您也可以仅使用 docker compose
来编排容器。
这是一个 docker-compose.yml
文件的示例:
HTTPS
为了设置 HTTPS,可以使用启用 HTTPS 的代理来托管 Bencher 自托管,或者使用具有有效 SSL 证书的域名。
Host URL
在使用 Bencher 自托管时,您需要为大多数 bencher
CLI 子命令将 the --host
option 设置为您的 Bencher API 服务器的 URL。
例如,如果您使用 bencher run
CLI 子命令,并与 Bencher API 服务器(设为 https://api.bencher.example.com
)配合使用,那么您可以这样写:
备份
备份您的 Bencher 自托管 API 服务器的最简单方法是使用
bencher server backup
CLI 子命令。
用户必须是服务器上的管理员才能使用此子命令。
bencher server backup
备份API服务器数据库。
选项
--host <URL>
Bencher 自托管 API 服务器的 URL。
例如,https://api.bencher.example.com
。
--token <TOKEN>
必须设置--token
选项或BENCHER_API_TOKEN
环境变量为一个有效的API令牌。如果两者都已指定,则--token
选项优先于BENCHER_API_TOKEN
环境变量。
--compress
使用 gzip
压缩数据库备份。
此操作优先执行。
--data-store <DATA_STORE>
将数据库备份保存到该数据存储。 此操作第二步执行。
支持的数据存储:
aws_s3
: 备份到 AWS S3
使用 API 服务器配置的database.data_store
部分来设置您的 Bencher 自托管 API 服务器的数据存储。
--remove
删除数据库备份的本地副本。 此操作位于第三步运行。
灾难恢复
为了防止备份之间的数据丢失,Bencher 提供了内置的灾难恢复解决方案。此功能需要有效的 Bencher Plus 许可证。
支持的复制方案:
file
:复制到本地文件路径sftp
:通过 SFTP 复制s3
:复制到任何兼容 S3 的对象存储abs
:复制到 Azure Blob 存储gcs
:复制到谷歌云存储
使用 API 服务器配置中的 plus.disaster_recovery
部分 为您的 Bencher 自托管 API 服务器设置灾难恢复。