升级雷池

注意: 升级雷池时服务会重启,流量会中断一小段时间,根据业务情况选择合适的时间来执行升级操作。

版本更新记录

在线升级

执行以下命令进行升级,升级不会清除历史数据。

  1. bash -c "$(curl -fsSLk https://waf-ce.chaitin.cn/release/latest/upgrade.sh)"

[可选] 执行以下命令删除旧版本 Docker 镜像,释放磁盘空间。

  1. docker rmi $(docker images | grep "safeline" | grep "none" | awk '{print $3}')

有部分环境的默认 SafeLine 安装路径是在 /data/safeline-ce,安装之后可能会发现需要重新绑定 OTP、配置丢失等情况,可以修改 .env 的 SAFELINE_DIR 变量,指向 /data/safeline-ce

在线升级 Beta 版

注意:

  1. 稳定版与 beta 版的升级脚本不通,注意区分
  2. beta 版仅支持在线安装和更新
  1. bash -c "$(curl -fsSLk https://waf-ce.chaitin.cn/release/beta/upgrade.sh)"

离线镜像

适用于 docker hub 拉取镜像失败的场景,手动更新镜像。

  1. # cd /path/to/safeline
  2. mv compose.yaml compose.yaml.old
  3. wget "https://waf-ce.chaitin.cn/release/latest/compose.yaml" --no-check-certificate -O compose.yaml
  4. wget "https://waf-ce.chaitin.cn/release/latest/seccomp.json" --no-check-certificate -O seccomp.json
  5. sed -i "s/IMAGE_TAG=.*/IMAGE_TAG=latest/g" ".env"
  6. grep "SAFELINE_DIR" ".env" > /dev/null || echo "SAFELINE_DIR=$(pwd)" >> ".env"
  7. grep "IMAGE_TAG" ".env" > /dev/null || echo "IMAGE_TAG=latest" >> ".env"
  8. grep "MGT_PORT" ".env" > /dev/null || echo "MGT_PORT=9443" >> ".env"
  9. grep "POSTGRES_PASSWORD" ".env" > /dev/null || echo "POSTGRES_PASSWORD=$(LC_ALL=C tr -dc A-Za-z0-9 </dev/urandom | head -c 32)" >> ".env"
  10. grep "SUBNET_PREFIX" ".env" > /dev/null || echo "SUBNET_PREFIX=172.22.222" >> ".env"

下载 雷池社区版镜像包 并传输到需要安装雷池的服务器上,执行以下命令加载镜像

  1. docker load -i image.tar.gz

执行以下命令替换 Docker 容器

  1. docker compose down
  2. docker compose up -d

常见升级问题

请参考 升级问题