本文介绍了如何使用Docker搭建Vaultwarden密码管理器,包括创建目录、编写docker-compose.yml文件、启动容器等步骤。同时,还提供了迁移Vaultwarden的方法,包括打包下载Vaultwarden文件、上传到新服务器、安装SQLite、执行完整性检查和修复、重启容器等。最后,文章还提供了备份Vaultwarden的解决方案,包括编写备份脚本、安装7z、设置备份任务等。
此内容由AI生成,不代表个人观点,仅用于文章内容的解释与总结
Vaultwarden 采用 Rust 语言开发,内存占用极低,通常仅需 10-50MB,远低于官方 Bitwarden 服务器的资源需求。其模块化设计支持 Docker 容器化部署,默认镜像体积小巧,约 100MB,启动速度快,适合资源有限的环境。
一、docker搭建Vaultwarden
1.连接vps,输入代码
sudo mkdir -p /opt/aultwarden && cd /opt/aultwarden
nano docker-compose.yml
复制粘贴进去
version: '3'
services:
vaultwarden:
container_name: vaultwarden
image: vaultwarden/server:latest
restart: unless-stopped
volumes:
- /opt/aultwarden/data:/data
ports:
- 3017:80
environment:
- DOMAIN= # 这是您希望与您的Vaultwarden实例关联的域名。
- LOGIN_RATELIMIT_MAX_BURST=10 # 允许在一阵登录/两步验证尝试中的最大请求次数。
- LOGIN_RATELIMIT_SECONDS=60 # 这是来自同一IP的登录请求之间的平均秒数,在Vaultwarden限制登录次数之前。
- ADMIN_RATELIMIT_MAX_BURST=10 # 这与LOGIN_RATELIMIT_MAX_BURST相同,只争对admin面板。
- ADMIN_RATELIMIT_SECONDS=60 # 这与LOGIN_RATELIMIT_SECONDS相同
- ADMIN_SESSION_LIFETIME=20 # 会话持续时间
- ADMIN_TOKEN= # 此值是Vaultwarden管理员面板的令牌(一种密码)。为了安全起见,这应该是一个长的随机字符串。如果未设置此值,则管理员面板将被禁用。建议openssl rand -base64 48 生成ADMIN_TOKEN确保安全
- SENDS_ALLOWED=true # 此设置决定是否允许用户创建Bitwarden发送 - 一种凭证共享形式。
- EMERGENCY_ACCESS_ALLOWED=true # 此设置控制用户是否可以启用紧急访问其账户的权限。例如,这样做可以在用户去世后,配偶可以访问密码库以获取账户凭证。可能的值:true / false。
- WEB_VAULT_ENABLED=true # 此设置决定了网络保险库是否可访问。一旦您配置了您的账户和客户端,停止您的容器,然后将此值切换为false并重启Vaultwarden,可以用来防止未授权访问。可能的值:true/false。
- SIGNUPS_ALLOWED=false # 此设置控制新用户是否可以在没有邀请的情况下注册账户。可能的值:true / false。
2.启动
docker compose up -d
访问http://ip:3017 反代的话1panel面板设置就好了。
二、最近换服务器了,记录下怎么迁移Vaultwarden
1.打包并下载aultwarden文件,上传到新服务器。
2.在 Vaultwarden 容器内安装 SQLite
3.进入容器:
docker exec -it vaultwarden bash
4.安装 SQLite
apt update && apt install sqlite3 -y
5.执行完整性检查
sqlite3 /data/db.sqlite3 "PRAGMA integrity_check;"
6.如果有错误,尝试修复:
sqlite3 /data/db.sqlite3 "VACUUM;"
7.退出并重启容器
exit
docker restart vaultwarden
8.定期重启 Vaultwarden 可以设置一个 cron 任务,每天重启 Vaultwarden,防止 SQLite 内存占用累积:
0 3 * * * docker restart vaultwarden
三、备份 Vaultwarden
1panel面板计划任务添加以下代码:
没有安装7z,请先安装7z
sudo apt install p7zip-full
这就是我的Vaultwarden 迁移备份的解决方案。