运行环境
- 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依然很慢,可以试试下面几个镜像源:
- 网易 http://hub-mirror.c.163.com
- ustc https://docker.mirrors.ustc.edu.cn
- 中国科技大学 https://docker.mirrors.ustc.edu.cn
接着去你的域名托管商的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双修~(@^_^@)~
有啥疑问欢迎评论留言哈,每一条评论我都会收到邮件通知然后及时回复大家的。