Introduction

之前一直没有备份的习惯,一方面由于认为服务器商都是大厂,足够靠谱,另一方面是因为备份比较麻烦,没有找到什么特别好的方法。直到发现了 duplicati,为备份找到了一个非常方便的方式。这里放上 Github项目地址和 dockerhub

Github 这么好用的程序感觉星星有点少了

dockerhub 其实官方有提供了镜像,不过我这里使用 linuxserver提供的镜像

可以选择的存储位置还是很多的:

image-20240121210320592

我采用的是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

注意两点:

  1. 提权PUIDPGID需要设置为 0而不是默认的 1000,否则恢复备份时会遇到路径无法访问的问题。
  2. 备份目标容器卷映射。我需要备份的文件在路径 /root/data下面,所以我选择把这个路径映射到 /source,以便容器可以访问

Trouble

部署成功之后发现,备份选择远程存储时,连接总是失败,结果发现是因为通过了反向代理访问duplicati网页。改成通过ip+端口访问即可。

最后修改:2024 年 01 月 22 日
如果觉得我的文章对你有用,请随意赞赏