Skip to content

v0.2.3:装的时候一条命令,不用再自己编译

Latest

Choose a tag to compare

@mingyangbest mingyangbest released this 03 Nov 14:05
· 6 commits to main since this release

以前装它得先 clone、改三处占位符、再等本地编译几分钟。NAS 上没有 git、或者不熟悉命令行的人,往往卡在这一步就没继续。现在镜像直接拉:

curl -fsSL https://raw.githubusercontent.com/mingyangbest/tpbackup/main/install.sh | bash

新增

  • 镜像发到了 GitHub 容器仓库 ghcr.io/mingyangbest/tpbackup,amd64 和 arm64 都有。装的过程不再需要 git,也不用编译。
  • install.sh 一键装:检查 Docker、建目录、生成随机密码、拉镜像、起容器、等健康检查、把访问地址和密码打印出来。重复运行不会重置密码、不会动数据,升级时也可以直接重跑。
  • 仓库根目录放了一份开箱能用的 docker-compose.yml。默认端口 8088、密码 tpbackup、备份目录是当前目录下的 library/,什么都不改就能起来。想改就复制一份 .env.example 成 .env,改三行。
  • docker-compose.build.yml:想本地构建(改代码,或者不想用预构建镜像)时走这条。配置继承上面那份,端口密码目录的改法完全一样,不会出现两份配置各自漂移。
  • 4 项部署入口测试:install.sh 内嵌的 compose 与仓库文件逐字比对、.env.example 里的键是不是真有人读、开箱默认值对不对、脚本语法。

修好的问题

  • 一键脚本会把已有的同名容器顶掉。第一版容器名默认 tpbackup,机器上已经有一个在跑时,compose 认为这就是同一个服务,直接替换掉——换成新镜像、新端口、新密码,脚本还照常说「装好了」。真机验收时把一台生产实例这么顶掉过,数据卷没动,配置和令牌都在,但那几分钟服务是断的。现在起容器前先查同名容器属于哪个目录,不是本目录就停下,把两个选择摆出来:升级它,或者换个名字装第二个。
  • 打印出来的地址可能打不开。以前取 hostname -I 的第一项,NAS 上那往往是网桥或虚拟机地址(实测那台机器第一项是 192.168.124.112,真地址排在后面)。改成取默认路由的出口地址。

升级前看一眼

  • 这一版没改容器里的代码。app/ 和 Dockerfile 跟 v0.2.2 逐字相同,已经在跑的实例不需要动,备份行为一点没变。这次改的是「怎么装」。
  • docker-compose.example.yml 删了。你机器上那份 docker-compose.yml 是你自己的,照旧用,不用跟着改;仓库里新的那份是给新装的人用的(拉镜像,不本地构建)。
  • 同一台机器想装第二个实例,名字和端口都得换:TPBACKUP_NAME=tpbackup2 TPBACKUP_PORT=8090 bash install.sh。只换端口不换名字,会被当成同一个实例。
  • 镜像标签:0.2.3 这样的数字标签固定版本,latest 跟着默认分支走。