Introduction
之前一直没有备份的习惯,一方面由于认为服务器商都是大厂,足够靠谱,另一方面是因为备份比较麻烦,没有找到什么特别好的方法。直到发现了 duplicati
,为备份找到了一个非常方便的方式。这里放上 Github
项目地址和 dockerhub
Github 这么好用的程序感觉星星有点少了
dockerhub 其实官方有提供了镜像,不过我这里使用 linuxserver
提供的镜像
可以选择的存储位置还是很多的:
我采用的是SFTP协议,存储到Hetzner的存储块。存储到谷歌或者微软云盘也都是很好的选择,可以直接在这个网页上唤出授权界面,不需要手动去账户中设置密钥之类的。
Deployment
services:
duplicati:
image: lscr.io/linuxserver/duplicati:latest
container_name: duplicati
environment:
- PUID=0
- PGID=0
- TZ=Europe/Moscow
volumes:
- ./appdata/config:/config
- ./backups:/backups
- /root/data:/source
ports:
- 8200:8200
restart: unless-stopped
注意两点:
- 提权。
PUID
和PGID
需要设置为0
而不是默认的1000
,否则恢复备份时会遇到路径无法访问的问题。 - 备份目标容器卷映射。我需要备份的文件在路径
/root/data
下面,所以我选择把这个路径映射到/source
,以便容器可以访问
Trouble
部署成功之后发现,备份选择远程存储时,连接总是失败,结果发现是因为通过了反向代理访问duplicati网页。改成通过ip+端口访问即可。