E2B管理平台部署
E2B服务部署
可参考以下步骤,通过提供的脚本完成自动化部署;若需定制化调整,可基于脚本内容进行修改。
- 安装e2b-infra软件包。
- 获取软件包。
wget https://eulermaker.openeuler.openatom.cn/api/ems5/repositories/2403sp3/openEuler%3A24.03-LTS-SP3/aarch64/history/5f3f217a-2daa-11f1-9840-fa163e47408d/last/Packages/e2b-infra-2026.09-3.oe2403sp3.aarch64.rpm
- 卸载旧的软件包。
rpm -e e2b-infra
- 安装e2b-infra软件包,安装目录为“/opt/e2b-infra”。
rpm -ivh e2b-infra-2026.09-3.oe2403sp3.aarch64.rpm
- 获取软件包。
- 修改“/opt/e2b-infra/dep/.env”配置文件。
- 打开配置文件。
vi /opt/e2b-infra/dep/.env
- 按“i”进入编辑模式,修改如下配置。
# 在.env文件第一行 SERVER_IP=本机地址 # 当前集群server节点的ip,空格分隔(server节点为nomad的server端运行所在的节点)
.env文件中其余关键配置默认如下,可按需修改。
export NUM_SERVERS=1 # 当前集群server节点的个数 export REGISTRY_URL="{ip}:{port}/{repository_name}" # harbor仓库地址,默认值为 REGISTRY_URL=$SERVER_IP:2900/e2b-orchestration,即harbor默认端口为2900 export POSTGRES_CONNECTION_STRING="postgresql://{username}:{password}@{ip}:{port}/{database_name}?sslmode=disable" # postgres数据库地址,默认值为postgresql://postgres:local@$SERVER_IP:5432/mydatabase?sslmode=disable export HARBOR_HOST="{ip}:{port}" # harbor仓库地址,默认$SERVER_IP:2900,端口2900 - 按“Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。
- 打开配置文件。
- 安装启动。
- 进入“/opt/e2b-infra”目录。
cd /opt/e2b-infra
- 下载依赖组件。如遇网络问题可手动下载相关依赖并上传至“/opt/e2b-infra/dep”目录。
bash build.sh --download
arm64所需依赖包如下所示(详见build.sh脚本download_packages函数):

- 安装。安装过程需要拉取Docker镜像,如遇网络问题可使用Docker代理进行手动拉取。在执行start启动服务之前需将Docker代理关掉。
bash build.sh --install
Docker镜像需要如下所示(详见build.sh脚本pull_docker_images函数):

- 启动服务。
bash build.sh --start
如启动失败,则先执行--stop并且--uninstall,再尝试重新--start启动服务。
bash build.sh --stop bash build.sh --uninstall
表1 build.sh默认配置参数说明 变量名
值
含义
PG_PORT
5432
postgres容器服务端口。
MINIO_PORT
9000
minio服务端口(单机部署无需minio)。
MINIO_CONSOLE_PORT
9001
minio控制台端口(单机部署无需minio)。
HARBOR_HTTP_PORT
2900
harbor服务端口,后续可通过server_ip:2900访问harbor管理系统。
HARBOR_USER
admin
harbor管理系统账户。
HARBOR_PASSWORD
Harbor12345
harbor管理系统账户admin的默认密码。
NOMAD_PORT
4646
nomad服务端口,后续可通过server_ip:4646访问nomad管理系统。
NOMAD_HTTP_PORT
4646
nomad健康检查端口。
CONSUL_HTTP_PORT
8500
consul健康检查端口。
- 进入“/opt/e2b-infra”目录。
E2B服务验证
- E2B将配置保存在postgres里,沙箱启动后可通过sql命令修改沙箱配置。
- 配置服务器开放4646和2900端口,分别用于访问nomad和harbor服务。
- 修改沙箱超时时间。请将mydatabase修改为.env中配置的数据库名称。
docker exec postgres2 psql -U postgres -d mydatabase -c "UPDATE tiers SET max_length_hours = 24 WHERE id = 'base_v1';"
- 修改沙箱最大并发量请将mydatabase修改为.env中配置的数据库名称。
docker exec postgres2 psql -U postgres -d mydatabase -c "UPDATE tiers SET concurrent_instances = 50 WHERE id = 'base_v1';"
- 可通过访问http://{server_ip}:4646查看各个服务状态。
请在“/opt/e2b-infra/.env”文件中查看NOMAD_ACL_TOKEN字段,该值即为登录Token。

Healthy表示服务正常启动。

资源配置
Nomad中的template-manager-system任务在Job Definition中对CPU、内存等资源设定了默认上限,可根据主机实际资源情况进行调整。
- 进入Jobs页面中找到template-manager-system。

- 进入后在“Definition”页签即可修改相关配置,修改完成后单击“Plan”按钮保存。

template-manager-system的内存建议分配规则为:单个沙箱内存 × 最大沙箱数 + 20GB,配置单位为MB。