搭建vaultwarden 配合 Duplicati 备份

因为害怕沟槽的灵车服务器爆炸炸飞我的Vaultwarden 所以采用Duplicati备份

1. 搭建 Vaultwarden

1.1 创建相关文件夹并编辑

mkdir vaultwarden && cd vaultwarden
nano docker-compose.yml

1.2 填入以下内容

services:
  vaultwarden:
    image: vaultwarden/server:latest
    container_name: vaultwarden
    restart: always
    environment:
      DOMAIN: "https://喵喵喵.hachimi" # 使用反向代理时必填;您的域名;Vaultwarden 需要知道它是 https 才能正确处理附件
      SIGNUPS_ALLOWED: "true" # 创建账户后,使用 "false" 停用此选项,这样就不会有陌生人注册了
      # ADMIN_TOKEN: $XXX # 若自用不给别人用的话可以选择不填写token 不开启控制面板,若需要请跳转到补充说明
      # 下面是推送功能,就是在客户端之间自动同步,比如电脑上修改了某项,手机收到推送自动更新,不需要手动更新。此功能可选 如需要请跳转到大标题3
      # PUSH_ENABLED: 'true'  # 启用推送通知功能
      # PUSH_INSTALLATION_ID: '喵'
      # PUSH_INSTALLATION_KEY: '喵喵'
    volumes:
      - ./vw-data:/data # : 前面的路径可以修改
    ports:
      - 3008:80 # 可以将 3008 替换为喜欢的端口

保存并退出后,让镜像立起来:

docker compose up -d

绑定域名,去宝塔或 1Panel 配置反代后,你的 Vaultwarden 就立起来了。

2. 搭建 Duplicati

2.1 创建相关文件夹

mkdir Duplicati && cd Duplicati
nano docker-compose.yml

2.2 填入内容

version: "2.1"
services:
  app:
    image: lscr.io/linuxserver/duplicati:latest
    restart: unless-stopped
    environment:
      - PUID=0
      - PGID=0
      - TZ=Asia/Shanghai
      - SETTINGS_ENCRYPTION_KEY=密码喵
      - DUPLICATI__WEBSERVICE_PASSWORD=密码喵
    volumes:
      - ./config:/config
      - ./backups:/backups
      - /:/source
    ports:
      - 3009:8200
    networks:
      - default
networks:
  default:
    name: duplicati

保存并退出后,让镜像立起来:

docker compose up -d

然后可通过 ip:端口 去访问。

3. 设置备份

  1. 点击新建备份,填入名称,选择无加密(因为 Vaultwarden 的文件已自带加密),然后下一步。

  2. 我用的是 Infini 盘的 WebDav 备份,试了好几次才填对,给大家做个参考。

  3. 前面我们在 Duplicati 的编排文件里把宿主机的所有文件挂载在了容器的 /source 里面,这个注意一下。

  4. 这边按自己的需求设置。

  5. 最后确认并保存。

至此,你的 Vaultwarden 与数据备份就没问题了。

4. 杂项

4.1 如何生成 Admin Token

  1. 运行以下命令:
    docker run --rm -it vaultwarden/server:latest /vaultwarden hash
    
  2. 传入密码后会生成一串字符:
    ADMIN_TOKEN='$argon2************'
    
    修改 docker-compose.yml 中该变量为:
    ADMIN_TOKEN: $$argon2************ 
    
    注意:生成的Token中的$必须是成组的 $$,因为 变量插值 (Interpolation)。如果不是成组的请手动改一下,加起来一共十个$
    这里感谢
  1. 然后重新启动容器:
    docker compose up -d
    
    访问 域名/admin,填入第 2 步中设置的密码即可进入管理面板。

4.2 启用推送通知功能

进入此网站:Requesting Hosting Installation ID & Key | Bitwarden

填写邮箱获取两个变量,填入 docker-compose.yml 文件中对应的单引号内即可。

我自己搭好了一个,如果懒得搭可以私我用我的喵

30 个赞

共计9个喵~ www

(悄悄爬过…)

佬,我照着试了一遍,那个$符号的地方,不是在前面加一个,是一共会生成5个$,每个都变成$$才可以,官网文档上就是这么写的,我这么搞也成功了。
https://rs.ppgg.in/configuration/enabling-admin-page

收到!我即刻更改
佬这么晚还在折腾呀 :tieba_025:

现在的服务器面板都能支持目录备份,点几下就好了

1 个赞

一直都是没备份运行,看你这帖子怕了、
参考一下x

写的很清楚感谢大佬

很好的教程,回头更新下

我是用的rclone定时备份的

2 个赞

感谢佬友,这就去部署一个

谢谢佬分享

1 个赞

感谢分享

1 个赞

感谢大佬教程

1 个赞

这个看起来不错,不过我是自己写的脚本丢在青龙里定时备份的

1 个赞

mark

1 个赞

之前用vaultwarden-backup将vaultwarden的密码自动备份到google网盘
Duplicati这是第一次听说
它的功能应该比vaultwarden-backup更强大

2 个赞

感谢佬友分享

1 个赞

源数据这里没有


但在计算机source这里却有

这是为啥?

1 个赞

支持技术贴

1 个赞