目录
一、搭建思路:安装docker,加载现成的服务器, 启动,配置即可
1、docker安装,请参考
https://www.topunix.com/post-2165.html
2、docker下载bitwarden镜像
原来使用镜像bitwardenrs/server:latest,但iphone下的bitwarden报错,所以改为vaultwarden/server:latest
docker pull vaultwarden/server:latest
3、运行容器
docker run -itd --name bitwarden -v /data/bp:/data/ -p 9443:80 vaultwarden/server:latest
--name 容器名字
-v 将/data的镜像中的数据放在本地/data/bp/
-p 端口更改:9443:80(把docker中的80映射到9443),docker外部访问就是9443,
bitwardenrs/server:latest——镜像的名字
4、打开http://x.x.x.x:9443并创建第一个账号

5、默认是所有人都可以注册,影响数据安全性,下面我们禁用注册。
删除之前的容器(因为数据就在宿主机本地,所以删除容易,也不影响之前的数据)
(1)查看容器ID
[root@First data]# docker ps

(2)停止容器运行(停止后才能删除)

(3)删除容器

6、重新运行容器并禁用创建账号功能
docker run -itd --name bitwarden -e SIGNUPS_ALLOWED=false -v /data/bp:/data/ -p 9443:80 vaultwarden/server:latest
- -e SIGNUPS_ALLOWED=false:禁用账号创建功能
- -e INVITATiONS_ALLOWED=false:禁用邀请功能
7、测试是否可以注册

注册提示这个错误表示安装完成!!!
二、因为需要使用https,所以先申请SSL证书
参照:https://www.topunix.com/post-2172.html
并开启SSL:https://www.topunix.com/post-2188.html
三、因为docker是开放了http的80端口,并且映射到了公网9443端口。但只是http,bitwarden需要https端口,需要nginx做反向代理:
很简单,两步:
1、在nginx.conf配置文件的http中加入反向
#设定实际的服务器列表
http{
upstream zp_server1{
server 127.0.0.1:9443;
}
.........................
}
2、在nginx.conf配置文件,新建server虚拟主机配置
server {
listen 9999 ssl;
server_name www.topunix.com;
ssl_certificate certssl/www.topunix.com.pem;
ssl_certificate_key certssl/www.topunix.com.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
#反向代理的路径(和upstream绑定),location 后面设置映射的路径
proxy_pass http://zp_server1;
#Proxy Settings
proxy_redirect off;
#proxy_set_header Host $host;
#proxy_set_header X-Real-IP$remote_addr;
#proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_max_temp_file_size 0;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
}
四、检查并重载nginx
[root@First conf]# /usr/local/nginx/sbin/nginx -t nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful [root@First conf]# /usr/local/nginx/sbin/nginx -s reload



文章评论