Bitwarden 是 1Password 的最佳平替产品,全平台自动填充密码、无规律密码生成、支付卡、身份 ID、笔记词条管理等。功能和体验丝毫不输 1Password。
相比于 1Password 最低 $35 一年的价格,Bitwarden 只需要一台免费的 AWS 服务器,数据完全私有化。
Bitwarden 是一个开源产品,官方提供了桌面客户端、手机移动端(iOS、Android)、网页端 & 浏览器插件。各端产品除了可以使用官方提供的服务,也可以使用自建的服务,这篇文章就是为了记录自建 Bitwarden 服务的细节。
注意:不要直接安装 Bitwarden,官方发布的 Bitwarden 是基于 .NET 开发的程序,并且使用了 MySQL,对服务器的配置要求比较高。
除官方发布的版本,还有第三方采用 Rust 实现的 Bitwarden RS 版本,对比官方原版,做了非常多的优化,并且一些在官方服务中需要付费订阅的功能,在这个版本里也是免费的。
在安装之前,请确保已经具备了这些东西:
- 一台 VPS 主机(需要用到 Docker 镜像安装,机器配置不需要太高,512M 内存就足够了)
- 一个域名(Bitwarden 需要使用 HTTPS,拥有域名并解析到 VPS 上是必须的)
- 具备一点点操作 Linux 终端的能力(最低要求是知道使用文本编辑器如:Vim、Nano 等)
安装 Docker CE & Docker Compose
你需要在服务器上安装 Docker CE 以及 Docker Compose(Docker Compose 是可选的,主要是为了方便对 Docker 镜像写配置)
- 关于 Docker 安装,建议阅读此文章:CentOS 7 安装 Docker 详细步骤(无坑)
- 非 CentOS 系统,请直接阅读此文章:Docker 安装教程
当然,如果之前已经安装过 Docker 了,可以略过这一步,直接安装 Bitwarden。
安装 Bitwarden RS
安装 Bitwarden RS 非常简单,只要已经正确安装了 Docker,那你只需要敲下面这一行代码:
1 | docker pull bitwardenrs/server:latest |
启动它也非常的简单,只需要执行以下代码即可:
1 | docker run -d --name bitwarden \ |
使用 Docker Compose 配置
Docker Compose 是用于定义和运行多容器 Docker 程序的工具,通过使用 Docker Compose,就可以使用 yml 文件来配置程序所需要的服务,通过使用 docker-compose 命令,就可以从 yml 配置中创建并启动服务。
首先,我们创建一个用来放置 bitwarden 配置的文件夹:
1 | mkdir ~/bitwarden |
进入此文件夹,并创建一个 docker-compose.yml 文件
1 | cd ~/bitwarden && vim docker-compose.yml |
在 docker-compose 配置文件里,写入以下配置:
1 | version: "3" |
在保存配置文件之后,通过以下指令控制 docker 应用状态
1 | docker-compose up -d #运行服务 |
关于配置文件的详细信息,可以参考官方文档:Using Docker Compose
配置网页代理
上述内容操作完成以后,Bitwarden 程序就已经处于运行的状态了,但此时前端还不能访问,我们需要给它配置一个 Web 服务,这里推荐使用 Caddy2 来搭建 Web 服务。
关于安装 Caddy2,请参考这片文章:Caddy2 安装
Caddy2 安装完成以后,在 Caddyfile 中填入这几条配置:
1 | example.com { |
此时访问站点(刷新一下浏览器),你就可以看到 Bitwarden 在正常使用了
参考链接
本文 Docker & 其相关的概念,大多来自 Docker 的 Gitbook 里,感兴趣不妨去关注一下