简介
自建的bitwarden服务端还是更推荐rust编写的开源替代客户端vaultwarden,用 Rust 编写并与上游 Bitwarden 客户端,该项目是兼容的 Bitwarden 服务器 API 的替代实现*,非常适合运行官方资源密集型服务可能不理想的自托管部署。
部署
首先,注册一个koyeb,(如果你有其他可以部署docker的PaaS平台,你也可以自己看着弄)
之后,登陆你的koyeb:
接着,点击create app +来创建应用,并选择docker选项
在images栏填入vaultwarden/server,点击next、Advanced、将端口从8000修改为80
此处为2023年4月7日更新内容
此前的教程内容部署出来的容器可以用,单koyeb每个月会自动重新部署容器,从而导致使用内置数据库的服务端丢失所有用户数据。故而琢磨了一下把永久保存数据库的方法给总结出来了,并在此写下
申请一个在线mysql数据库
网上有很多白嫖在线mysql数据库的平台,大部分还是比较稳妥可靠的,如果你实在还是不放心,那就干脆买服务器自建好了。博主这里选择使用db4free.net提供的免费数据库。
打开db4free,点击左侧菜单栏中的数据库一栏:
之后在新页面点击马上建立你的免费MySQL账号 »按钮
依次填入数据库名称、数据库用户名、数据库密码以及你的邮箱(此处可用临时邮箱)这样你就申请到了一个免费的mysql数据库。在接下来的文字中我将用[dbname]、[username]、[password]来分别代表你输入的数据库名、用户名和密码。
至此你已经申请到了你的数据在线数据库,由于vaultwarden项目的设置,你需要将这些信息重新排列成mysql数据库的链接形式来方便docker容器将其使用,即:
mysql://[username]:[password]@db4free.net:3306/[dbname]
添加环境变量
接下来你只需要回到koyeb容器的创建页面,如果已经创建了的话,你只需要进入该项目的设置页面,找到Environment variables在其下创建如图的两个环境变量,其中DATABASE_URL的值为上面排列好的mysql://[username]:[password]@db4free.net:3306/[dbname]而RUST_BACKTRACE的值则为1。
之后的步骤没有区别,照做就行。
修改你的应用名称,也就是你koyeb默认生成的网站的前缀
点击deploy,等待程序状态变为healthy,即可正常使用
使用
打开bitwarden(手机、插件、pc客户端都行),在添加账户时点右上角设置,将你的获取的域名填入服务器URL选项中,保存即可。
自此你就可以使用完全自建,不用担心泄露问题的全平台密码管理器了,不管是安卓手机还是iphon亦或者谷歌内核的各个浏览器以及firefox浏览器等,均可直接自动填充密码。并且由于密码全都加密保存在你自建的koyeb容器中,也可以不用担心密码泄露问题。
总结
以上就是用koyeb搭建bitwarden服务端的全部流程,是不是非常无脑且快捷?有需要的话就赶紧去部署起来吧!
