vaultwarden(原bitwarden_rs)是轻量级bitwarden服务端程序,作者推荐使用docker架设

一. 下载镜像

docker pull vaultwarden/server

二. 启动容器

docker run -d --name bitwarden --restart=always -v /root/vaultwarden_data/:/data/ -p 20000:80 -p 3012:3012 -e ADMIN_TOKEN=后台管理密码 -e SIGNUPS_ALLOWED=false -e ENABLE_DB_WAL=false -e DATABASE_URL=mysql://数据库用户名:用户密码@ip:3306/数据库名称 -e ROCKET_PORT=80 vaultwarden/server:latest
  • 参数说明

    • -v /root/vaultwarden_data/:/data/数据目录
    • -p 20000:80 把bitwarden的默认服务端口80映射到宿主20000端口
    • -p 3012:3012 映射websocket端口
    • -e ADMIN_TOKEN=后台管理密码
    • -e SIGNUPS_ALLOWED=false 设置不允许新用户注册(一般先开启注册,自己注册后删除容器重新设置关闭注册并启动容器)
    • -e DATABASE_URL=mysql://数据库用户名:用户密码@ip:3306/数据库名称
    • -e ROCKET_PORT=80 bitwarden的服务端口(容器内),不添加该参数的话默认就是80

    重要:

    新版本中,ADMIN_TOKEN 已支持设置为Argon2进行Hash后的字符串。
    安全起见,不要再设置为明文密码。

    以下为通过容器计算hash的方法:

方法一:通过已运行的容器获取
docker exec -it 容器名 /vaultwarden hash
方法二:创建临时容器获取
docker run --rm -it vaultwarden/server /vaultwarden hash
两种方法执行后返回
Generate an Argon2id PHC string using the 'bitwarden' preset:

Password: 
Confirm Password: 

ADMIN_TOKEN='$argon2id$v=19$m=65540,t=3,p=dsasadhakjblahblahyourhash'

Generation of the Argon2id PHC string took: 272.278337ms

这样就得到了ADMIN_TOKEN
似乎必须用单引号才能识别

最后更新于 2024-03-19