官网地址:duplicati/duplicati: Store securely encrypted backups in the cloud!

github项目地址:https://github.com/duplicati/duplicati

docker hub地址:hub.docker.com/r/linuxserver/duplicati

准备工作

1
2
3
4
5
sudo -i # 切换到root用户

apt update -y # 升级packages

apt install wget curl sudo vim git # Debian系统比较干净,安装常用的软件

安装 Docker 环境

安装 Docker(非大陆服务器)

1
2
3
4
5
wget -qO- get.docker.com | bash

docker -v #查看 docker 版本

systemctl enable docker # 设置开机自动启动

安装docker-compose

1
2
3
#https://github.com/docker/compose/releases 要安装其他版本的 Compose,请替换 v2.32.2
非大陆
sudo curl -L "https://github.com/docker/compose/releases/download/2.32.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

添加可执行权限:x

1
sudo chmod +x /usr/local/bin/docker-compose

在/usr/bin/路径下创建软连接

1
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

查看docker-compose版本

1
docker-compose --version

创建一下安装的目录

1
2
3
4
5
mkdir -p /root/data/docker_data/duplicati

cd /root/data/docker_data/duplicati

nano docker-compose.yml

docker-compose.yml(注意注释部分)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
---
services:
duplicati:
image: lscr.io/linuxserver/duplicati:latest
container_name: duplicati
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- SETTINGS_ENCRYPTION_KEY=88888888
- CLI_ARGS= #optional
- DUPLICATI__WEBSERVICE_PASSWORD= #optional
volumes:
- /path/to/duplicati/config:/config
- /path/to/backups:/backups #/path/to/backups可以改成备份盘的地址
- /path/to/source:/source #/path/to/source可以改成源数据的地址
ports:
- 8200:8200 #8200是访问端口号
restart: unless-stopped

运行

1
docker-compose up -d 

访问web界面:http://服务器ip:8200

卸载

1
2
3
4
5
6
7
8
#进入docker-compose所在的文件夹
cd /root/data/docker_data/duplicati

#停止容器,此时不会删除映射到本地的数据
docker-compose down

#完全删除映射到本地的数据
rm -rf /root/data/docker_data/duplicati

注意:
1、不知道服务器IP,可以直接在命令行输入:curl ip.sb,会显示当前服务器的IP。
2、遇到访问不了的情况,请在宝塔面板的防火墙和服务商的后台防火墙里打开对应端口。

更新

1
2
3
4
5
6
7
8
9
10
11
#万事先备份,以防万一
cp -r /root/data/docker_data/duplicati /root/data/docker_data/duplicati.archive

#进入docker-compose所在的文件夹
cd /root/data/docker_data/duplicati

#拉取最新的镜像
docker-compose pull

#重新更新当前镜像
docker-compose up -d