共计 2319 个字符,预计需要花费 6 分钟才能阅读完成。
运行环境
- 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 双修~(@^_^@)~
有啥疑问欢迎评论留言哈,每一条评论我都会收到邮件通知然后及时回复大家的。