因为害怕沟槽的灵车服务器爆炸炸飞我的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. 设置备份
-
点击新建备份,填入名称,选择无加密(因为 Vaultwarden 的文件已自带加密),然后下一步。
-
我用的是 Infini 盘的 WebDav 备份,试了好几次才填对,给大家做个参考。
-
前面我们在 Duplicati 的编排文件里把宿主机的所有文件挂载在了容器的
/source里面,这个注意一下。
-
这边按自己的需求设置。
-
最后确认并保存。
至此,你的 Vaultwarden 与数据备份就没问题了。
4. 杂项
4.1 如何生成 Admin Token
- 运行以下命令:
docker run --rm -it vaultwarden/server:latest /vaultwarden hash - 传入密码后会生成一串字符:
修改ADMIN_TOKEN='$argon2************'docker-compose.yml中该变量为:
注意:生成的Token中的$必须是成组的ADMIN_TOKEN: $$argon2************$$,因为 变量插值 (Interpolation)。如果不是成组的请手动改一下,加起来一共十个$
这里感谢
- 然后重新启动容器:
访问docker compose up -d域名/admin,填入第 2 步中设置的密码即可进入管理面板。
4.2 启用推送通知功能
进入此网站:Requesting Hosting Installation ID & Key | Bitwarden
填写邮箱获取两个变量,填入 docker-compose.yml 文件中对应的单引号内即可。
我自己搭好了一个,如果懒得搭可以私我用我的喵






