内网离线安装
把镜像当文件搬进去、确认它完整到达、并在一台从未联网的机器上激活授权。
Busabase 没有任何一处需要「回家报到」。授权用编进构建里的公钥在本机验签,所以一个从没连过外网的实例,跑起来和联网的完全一样。
你唯一需要解决的,是怎么把镜像弄进去。
搬镜像
在一台能上网的机器上:
docker pull busabase/busabase-premium-allinone:latest
docker save busabase/busabase-premium-allinone:latest -o busabase-premium-allinone.tar
sha256sum busabase-premium-allinone.tar > busabase-premium-allinone.tar.sha256tar 包约 489 MB。把两个文件都带到目标机器,然后:
sha256sum -c busabase-premium-allinone.tar.sha256
docker load -i busabase-premium-allinone.tar一定要核对哈希,别因为「拷过来看着挺正常」就跳过。传输被截断不会在 docker load 时报错——它会在很久之后,表现为一个能启动但行为诡异的容器,然后你会花一个下午去 debug Busabase,而问题其实出在文件拷贝上。
压缩 tar 包不划算:里面的层本来就是压缩过的,gzip 只能把 489 MB 变成 487 MB。
一并镜像化依赖
Compose 部署还会拉 Postgres 和 SeaweedFS。要么把它们同步到你的内网 registry 并设置 IMAGE_REGISTRY,要么用同样的方式搬:
docker save postgres:16 chrislusf/seaweedfs:3.80 -o busabase-deps.tar一体机镜像没有这个负担——Postgres 和 SeaweedFS 已经在里面了。在真正隔离的网络里,这是「即便过了试用期也继续用一体机」的一个实在理由。
离线激活
激活是「粘贴」,不是「请求」。打开实例,进 系统管理 → 授权,把签发给你的激活码贴进去。验签在本机对着编进构建的公钥完成,没有任何流量离开这台机器。
激活码里有什么、过期会怎样,见授权。