前言※
Vaultwarden,也就是原来的Bitwarden_RS,为了方便与 Bitwarden区分,于2021年8月更名为Vaultwarden。
相较于Bitwarden,Vaultwarden是开源免费的,可以自主的管理自己的密码不必担心第三方。
Vaultwarden兼容Bitwarden的Chrome和edge扩展及手机端软件,十分方便。
搭建教程※
本文主要基于Debain + Docker + Docker-compose 进行快速部署,如有不同之处请自行调整。
1、创建docker-compose.yml
容器编排文件
# 创建挂载目录 & 进入挂载主目录 & 创建 docker-compose.yml
mkdir /home/docker/vaultwarden && cd /home/docker/vaultwarden && nano docker-compose.yml
2、复制下方内容到docker-compose.yml
中(新版compose
已经移除了version
)
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: always
ports:
- "8081:80" # 前端网页端口
- "3012:3012"
volumes:
- ./data:/data
environment:
DATA_FOLDER: 'data' # 主数据文件夹,默认data
RSA_KEY_FILENAME: 'data/rsa_key' # RSA公钥私钥文件夹,默认配置
ICON_CACHE_FOLDER: 'data/icon_cache' # URL网站图标文件夹,默认配置
ATTACHMENTS_FOLDER: 'data/attachments' # 附件上传存放文件夹,默认配置
SENDS_FOLDER: 'data/sends' # 发送文件文件夹,默认配置
TMP_FOLDER: 'data/tmp' # 临时文件文件夹,默认配置
DATABASE_URL: 'data/db.sqlite3' # 默认SQLite,如使用Mysql,格式填写:mysql://user:password@host[:port]/database_name
DATABASE_MAX_CONNS: '10' # 数据库最大连接数,默认
IP_HEADER: 'X-Real-IP' # 客户端IP头,默认为X-Real-IP,设置为none,禁用任何头,只使用远程IP
ICON_CACHE_TTL: '2592000' # 缓存成功获取的图标的生存时间,单位为秒
ICON_CACHE_NEGTTL: '259200' # 缓存不可用图标的生存时间,以秒为单位(0表示“永远”)
WEB_VAULT_FOLDER: 'web-vault/' # 配置是Web文件路径
WEB_VAULT_ENABLED: 'true' # 配置是否开启Web端访问
WEBSOCKET_ENABLED: 'false' # 启用websocket通知
WEBSOCKET_ADDRESS: '0.0.0.0' # 控制WebSocket服务器地址
WEBSOCKET_PORT: '3012' # 控制WebSocket服务器端口
SENDS_ALLOWED: 'true' # 控制用户是否允许创建Bitwarden发送,可以在组织策略中禁用
EMERGENCY_ACCESS_ALLOWED: 'true' # 控制用户是否可以启用对其帐户的紧急访问
SIGNUPS_ALLOWED: 'false' # 配置是否允许新用户注册
SIGNUPS_VERIFY: 'true' # 新用户注册是否需要邮件验证
SIGNUPS_VERIFY_RESEND_TIME: '3600' # 新用户注册邮件验证再次推送间隔(秒)
SIGNUPS_VERIFY_RESEND_LIMIT: '3' # 电子邮件验证推送次数
ORG_CREATION_USERS: 'example@qq.com' # 允许创建组织的用户邮箱,默认all都可以创建,none表示禁止创建,指定用户邮箱多个用逗号隔开
INVITATIONS_ALLOWED: 'true' # 组织管理员邀请用户,即使注册是禁用的
INVITATION_ORG_NAME: 'Vaultwarden' # 邀请邮件中显示的姓名并非来自特定组织
INVITATION_EXPIRATION_HOURS: '120' # 电子邮件验证令牌和删除请求令牌将过期,必须至少为1
ORG_ATTACHMENT_LIMIT: '2097152' # 每个组织的附件存储限制,以KB为单位
USER_ATTACHMENT_LIMIT: '2097152' # 每个用户附件存储限制,以KB为单位
TRASH_AUTO_DELETE_DAYS: '90' # 自动删除垃圾前等待的天数,不设置默认不删除
PASSWORD_HINTS_ALLOWED: 'true' # 控制用户是否可以设置密码提示
SHOW_PASSWORD_HINT: 'false' # 控制密码提示是否应该直接显示在网页上,没有配置SMTP服务
DOMAIN: 'https://example.com' # 域名配置,建议配置此值,否则某些功能可能无法工作
ADMIN_SESSION_LIFETIME: '20' # 将admin会话的生存期设置为此值,以分钟为单位
REQUIRE_DEVICE_EMAIL: 'false' # 在新设备登录时,需要发送电子邮件,如果发送失败,登录将失败
SMTP_HOST: 'smtp-mail.outlook.com' # SMTP服务器地址
SMTP_FROM: 'example@outlook.com' # 您创建的发件人
SMTP_FROM_NAME: 'Vaultwarden Service' # 发件人称呼
SMTP_SECURITY: 'starttls' # 默认值为starttls(显式端口587或25),force_tls(隐式端口465)或off,不加密(端口25)
SMTP_PORT: '587'
SMTP_USERNAME: 'example@outlook.com'
SMTP_PASSWORD: 'password'
SMTP_TIMEOUT: '15'
SMTP_AUTH_MECHANISM: 'Login' # SSL的默认值是“Plain”和“Login”,非SSL连接没有
3、运行命令完成搭建
docker-compose up -d