原文链接:https://www.jingsublog.com/archives/vaultwarden-da-jian-za-ji
环境使用Ubuntu Server 24.04.1 LTS系统|1Panel v2.0.12(社区版)|Docker v28.5.1|Docker Compose v2.40.3
一.搭建VaultWarden
在VaultWarden官方仓库中提供了Docker Compose安装方法,但我根据官方部署方法无法正常拉取镜像,期间走了很多弯路摸索出一条可能正确的路。
安装Docker和Docker Compose
搭建VaultWarden首先要安装Docker和Docker Compose
Docker安装指令(非官方)
bash <(curl -sL https://cdn.jsdelivr.net/gh/abokecn/docker@main/DockerInstallation.sh)
Docker Compose安装指令
curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose
如果不信任以上脚本可以根据官方文档部署,本文不再赘述。
1.正式开始搭建VaultWarden
Ⅰ 创建数据目录
首先创建一个文件夹来放VaultWarden的文件
mkdir -p /vaultwarden && cd /vaultwarden
再创建一个名为vw-data的目录用于持久化储存数据来保存数据库和其他重要文件
mkdir -p vw-data
Ⅱ 创建Docker Compose文件
先新建一个docker-compose.yml文件
vim docker-compose.yml
然后把以下内容放入docker-compose.yml 中
version: '3'
services:
vaultwarden:
image: vaultwarden/server:latest #拉取vaultwarden镜像
container_name: vaultwarden #将容器命名为vaultwarden
restart: always
volumes:
- ./vw-data:/data #将上文的vm-data映射到Docker容器中的/data目录,以确保数据持久化。
env_file:
- config.env #挂载环境变量配置文件
ports:
- "3080:80" #将容器内80端口映射至宿主机3080端口
Ⅲ 创建环境变量配置文件
创建vaultwarden环境变量文件config.env
# 是否开放用户注册;
SIGNUPS_ALLOWED=true
# 域设置
DOMAIN=https://example.com/bit
# 数据库在容器内的路径
DATABASE_URL=/data/vaultwarden.db
# 设置服务器线程
ROCKET_WORKERS=10
# 是否开启 Web 客户端
WEB_VAULT_ENABLED=true
# 配置SMTP服务器的主机地址,用于发送邮件
SMTP_HOST=smtp.your_email_provider.com
# 发件人邮件地址
SMTP_FROM=<mail-address>
# 配置SMTP服务器的端口
SMTP_PORT=587
# 配置SMTP加密方式
SMTP_SECURITY=starttls
# 配置SMTP登陆用户名
SMTP_USERNAME=<mail-address>
# 配置SMTP登陆密码
SMTP_PASSWORD=<less-secure-app-password>
# 设置日志记录的级别
LOG_LEVEL=warn
# 启用扩展日志记录,在日志中显示时间戳和目标
EXTENDED_LOGGING=true
# 记录到文件
LOG_FILE=/data/bitwarden.log
注意:访问vaultwarden的域名或IP必须使用HTTPS
Ⅳ 拉取镜像并运行容器
使用以下命令拉取vaultwarden容器并启动镜像
docker-compose pull && docker-compose up -d
Ⅴ 配置反代(可选)
第一步打开1Panel
第一步

第二步

2.使用你的vaultwarden
在浏览器地址栏输入你的域名,如果有以下界面代表你成功了

然后点击创建账户,官方账户也是登不进去的(应该)
注意!!!如果你没有配置HTTPS,那么就算出现图中界面也没有成功,是没有办法创建账户的!!!
二. 结语
本文只代表作者观点,仅对搭建过程进行梳理,每个人环境不同,遇到的问题也不同,**本文仅作参考!!!**如有疏漏、谬误欢迎指出。
本文最初在博客发表
博客原文链接
————————————————方式二————————————————————
介绍:
Bitwarden 是一款开源的密码管理工具,与 SafeInCloud、1Password 等类似。其官方服务器端采用 .Net 开发,浏览器插件和桌面应用使用 Javascript 编写,而移动应用则由 C# 实现。该系统的数据库采用 mssql,由于其占用内存较大,部署此系统的机器至少需要 3GB 的内存。
不过好消息是,有人使用 Rust 实现了 Bitwarden 并且提供了 Docker 镜像,降低了对机器配置的要求,并且官方版本中部分收费的功能,在这个开源实现中可以免费使用。本文便使用 vaultwarden 来进行配置 Bitwarden。
部署方法:
第一步:更新源
Ubuntu/Debian:
apt update -y && apt upgrade -y
Centos:
yum update -y && yum upgrade -y
第二步:安装并配置Docker
安装Docker:
curl -fsSL https://get.docker.com -o get-docker.sh && sudo sh ./get-docker.sh
启动Docker:
sudo systemctl start docker
设置Docker在开机时自动启动:
sudo systemctl enable docker
第三步:拉取并运行 vaultwarden 容器(可以修改左侧为未被占用的端口)
docker pull vaultwarden/server:latest
docker run -d --name vaultwarden -v /vw-data/:/data/ --restart unless-stopped -p 3012:3012 -p 80:80 vaultwarden/server:latest
第四步:反向代理到域名
此处使用一种非常简单的方式:Cloud flare 提供的 Origin Rules
配置如下:
修改Field为Hostname,Value为选择的完整域名,Rewrite to 刚才在左侧填写的端口
记得解析自己的子域名到服务器IP:
使用A记录,Name为域名前缀,Content为服务器地址
第五步:登录域名进行配置 Bitwarden

注意:主密码提示不得与密码相同
第六步:安装 Bitwarden 插件/应用
登录 https://bitwarden.com/download/ 进行安装,可选择如下应用
第七步:连接到自托管 Bitwarden
- 选择区域—>自托管

- 在自托管环境栏目填入刚才反向代理的域名

- 即可享用密码托管服务(可以添加二次验证一类的服务来增加安全性)

相关地址:
Bitwarden 官网:https://bitwarden.com
vaultwarden GitHub 地址:https://github.com/dani-garcia/vaultwarden