目录
一、搭建思路:安装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
文章评论