当前位置: 首页 >> 原创·心情随笔 >> 202003120827 bitwarden_rs部署手册 >> 正文

202003120827 bitwarden_rs部署手册

7个月前 (03-12)     作者:iMoke     分类:原创·心情随笔     阅读次数:986     评论(0)    

之前写了一篇基于宝塔面板的bitwarden,用了三个月一直很稳定,但是昨天帮iDeer搭建他的Bitwarden服务器时,发现其实有更简单的方法。本文就来介绍这个。


零、前言

    之前写了一篇基于宝塔面板的bitwarden,用了三个月一直很稳定,但是昨天帮iDeer搭建他的Bitwarden服务器时,发现其实有更简单的方法。本文就来介绍这个。


一、参考资料



二、准备环境

一台VPS,1vCPU/512M内存/16G硬盘即可;

互联网环境(这就不用说了)

推荐CentOS7系统,本例为CentOS7_1908 minimal版本


三、开始部署

1.(可选)本着一切从简的原则,还是安装宝塔面板。宝塔面板可以快速为我们创建好反向代理。

如果有“洁癖”,那可以后期自己安装apache/nginx做反向代理。

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh


2.(可选)安装Web服务器Apache/Nginx,用于反向代理。可根据自己习惯选择。

image.png


3.新建虚拟主机,并创建反向代理

image.png


示例:Apache反向代理配置

#PROXY-START/
<IfModule mod_proxy.c>
    ProxyRequests Off
    SSLProxyEngine on
    # 因为官方版支持admin页面管理,因此,为了保证安全,单独把admin页面独立出来。如果不想打开这个页面,可以将这两行反向到一个假的地址。
    ProxyPass /admin http://<your_domain>/admin
    ProxyPassReverse /admin http://<your_domain>/admin
    # 反向代理
    ProxyPass / http://<your_domain>/
    ProxyPassReverse / http://<your_domain>/
    </IfModule>
#PROXY-END/


示例:Nginx反向代理

   #PROXY-START/admin

    location /admin
    {
        proxy_pass http://<your_domain>/admin;
        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_set_header REMOTE-HOST $remote_addr;
        
        add_header X-Cache $upstream_cache_status;
        
        #Set Nginx Cache
        
            add_header Cache-Control no-cache;
        expires 12h;
    }
    location /
    {
        proxy_pass http://<your_domain>;
        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_set_header REMOTE-HOST $remote_addr;
        
        add_header X-Cache $upstream_cache_status;
        
        #Set Nginx Cache
        
            add_header Cache-Control no-cache;
        expires 12h;
    }
    #PROXY-END/admin


4.给域名配置证书(没有证书无法使用。)

image.png


5.获取docker镜像

yum install -y docker
systemctl enable docker
systemctl start docker
docker pull bitwardenrs/server

image.png


6.创建对应目录

#bitwarden=/www/wwwroot/bitwarden

mkdir -p $bitwarden/data

mkdir -p $bitwarden/ssl

mkdir -p $bitwarden/log



7.启动bitwarden,并支持重启自动启动

[root@centos7]# openssl rand -base64 48
zv7CEozy7ztS7PifX5LSPH3+lKrKh1MOa4FsKxbbTc3/l3i8Wj+o3fm5za2QhCph


LOCAL_DIR=/www/wwwroot/bitwarden
DOMAIN=<your_domain>
ADMIN_TOKEN=admin
mkdir -p $LOCAL_DIR
docker run -i -t -d \
  --restart=always \
  --name bitwarden \
  -e DOMAIN=$DOMAIN \
  -e SIGNUPS_ALLOWED=false \
  -e INVITATIONS_ALLOWED=false \
  -e ADMIN_TOKEN=$ADMIN_TOKEN \
  -e WEBSOCKET_ENABLED=true \
  -e ROCKET_WORKERS=20 \
  -e SMTP_HOST=smtp.<your_domain> \
  -e SMTP_FROM='notice@<your_domain>' \
  -e SMTP_PORT=25 \
  -e SMTP_SSL=false \
  -e SMTP_USERNAME='notice@<your_domain>' \
  -e SMTP_PASSWORD='<your_smtp_password>' \
  -e SHOW_PASSWORD_HINT=false \
  -e LOG_FILE=/bitwarden/bitwarden.log \
  -e LOG_LEVEL=warn \
  -e EXTENDED_LOGGING=true \
  -e DATA_FOLDER=/bitwarden \
  -p 8080:80 \
  -p 3012:3012 \
  -v $LOCAL_DIR:/data/ \
  bitwardenrs/server:latest

# 下面内容会引起报错,不要添加
#    -e ROCKET_TLS='{certs="/path/to/docker/ssl/fullchain.cer",key="/path/to/docker/ssl/yourdomain.com.key"}' \

#  20200712更新
#  -e DATA_FOLDER=/bitwarden \
#  -v /www/wwwroot/bitwarden:/data/ \
#  DOTA_FOLDER 和 -v的透传目录不能相同,否则会无法启动。
#  受影响版本:版本: 2.15.1

image.png


四、细节修改

1.时间

#查看docker ID
[root@bitwarden ~]# docker ps
CONTAINER ID        IMAGE                       COMMAND             CREATED             STATUS                    PORTS                              NAMES
c826ef9ecc44        bitwardenrs/server:latest   "/bitwarden_rs"     29 minutes ago      Up 25 minutes (healthy)   3012/tcp, 127.0.0.1:8080->80/tcp   bitwarden
[root@bitwarden ~]# docker exec -it bitwarden /bin/bash
root@c826ef9ecc44:/# cat /etc/timezone 
Etc/UTC
root@c826ef9ecc44:/# echo "Asia/shanghai" > /etc/timezone
root@c826ef9ecc44:/# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

#20200712更新
#时间如果不对,发送邮件会被退信。


2.IP传递

apache

image.png

nginx

image.png




五、成果展示

/admin 管理页面

image.png


image.png


前台界面

image.png


注册界面

image.png


用户界面

image.png



除非注明,发表在“傲孤漠客”的文章『202003120827 bitwarden_rs部署手册』版权归iMoke所有。 转载请注明出处为“本文转载于『傲孤漠客』原地址https://www.imoke.org/post/20200312127.html

评论

发表评论   

昵称*

E-mail*(建议输入,以便收到博主回复的提示邮件)

网站

分享:

支付宝

微信