运行环境

  • Centos7
  • Docker version 20.10.3, build 48d30b5

闲言少叙

注意全程root用户操作,

安装Docker,

$ curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

配置docker国内镜像并拉取bitwardenrs镜像,

$ mkdir -p /etc/docker/
$ echo "{\n'registry-mirrors': [\n'https://docker.mirrors.ustc.edu.cn'\n]\n}" > /etc/docker/daemon.json
$ systemctl daemon-reload
$ systemctl start docker
# 把docker加入开机自启
$ systemctl enable docker
# 拉取bitwardenrs镜像
$ docker pull bitwardenrs/server:latest

如果在你的服务器上配置了上述docker镜像后docker pull依然很慢,可以试试下面几个镜像源:

接着去你的域名托管商的DNS解析那里配置个二级域名,例如https://fvjsdf.sharpgan.com,为了安全考量可以搞个随机的,再然后推荐去腾讯云撸个免费一年的亚洲诚信SSL证书(本站的ssl证书目前就是用的这个),这里我也就不赘述了,

关于证书类型选择,这里我测试使用Nginx的是ok的,下面以腾讯云的亚洲诚信为例说明哦,

~/Downloads/fvjsdf.sharpgan.com  tree
.
├── Apache
│   ├── 1_root_bundle.crt
│   ├── 2_fvjsdf.sharpgan.com.crt
│   └── 3_fvjsdf.sharpgan.com.key
├── IIS
│   ├── fvjsdf.sharpgan.com.pfx
│   └── keystorePass.txt
├── Nginx
│   ├── 1_fvjsdf.sharpgan.com_bundle.crt
│   └── 2_fvjsdf.sharpgan.com.key
├── Tomcat
│   ├── fvjsdf.sharpgan.com.jks
│   └── keystorePass.txt
└── fvjsdf.sharpgan.com.csr

4 directories, 10 files

紧接着我们把上述Nginx/目录的两个证书scp到服务器上,具体细节不再赘述,然后我说说在服务器上要执行的命令,

$ mkdir -p /data/ssl/
$ mv 1_fvjsdf.sharpgan.com_bundle.crt /data/ssl/cert.crt && mv 2_fvjsdf.sharpgan.com.key /data/ssl/keys.key

在域名DNS解析,ssl证书申请及上传和上述命令执行完后我们就可以来执行运行docker容器的命令了,如下,

$ docker run -d --name bitwarden \
  -e ROCKET_TLS='{certs="/ssl/cert.crt",key="/ssl/keys.key"}' \
  -e SIGNUPS_ALLOWED=true \
  -e DOMAIN='https://fvjsdf.sharpgan.com:33699' \
  -v /data/ssl/:/ssl/ \
  -v /data/bw-data/:/data/ \
  -p 33699:80 \
  bitwardenrs/server:latest

docker run执行完后可以用netstat -lnptu命令看看相应的端口起来了没有,如果端口起来了,我们就可以进入web端(上面的-e DOMAIN后面的url就是哦~)建个账号了,tips:上述33699端口可以改成443,如果你的国内服务器完成了备案的话,然后为了安全考虑你的账号建好后需要把允许注册给关掉,我们来执行下面的命令停掉docker容器再干掉它,然后启动一个不允许注册的容器,

$ docker ps
CONTAINER ID   IMAGE                       COMMAND       CREATED       STATUS                 PORTS                             NAMES
bf27dd7c5c8f   bitwardenrs/server:latest   "/start.sh"   2 hours ago   Up 2 hours (healthy)   3012/tcp, 0.0.0.0:33699->80/tcp   bitwarden
$ docker stop bf27dd7c5c8f
$ docker container rm bf27dd7c5c8f
$ docker run -d --name bitwarden \
  -e ROCKET_TLS='{certs="/ssl/cert.crt",key="/ssl/keys.key"}' \
  -e DOMAIN='https://fvjsdf.sharpgan.com:33699' \
  -v /data/ssl/:/ssl/ \
  -v /data/bw-data/:/data/ \
  -p 33699:80 \
  bitwardenrs/server:latest

至此你可以访问比如说上述的https://fvjsdf.sharpgan.com:33699的页面来导入数据了,然后各种客户端下载走起了,我是安卓,Mac双修~(@^_^@)~

有啥疑问欢迎评论留言哈,每一条评论我都会收到邮件通知然后及时回复大家的。