Docker部署开源密码管理器Bitwarden, 并申请免费ssl证书自动刷新永不过期

GitHub传送阵

废话

由于我的安全习惯,我基本上不会在不同的应用程序上使用相同的密码。这使我需要在备忘录上记录大量的账号密码,每次登录系统时需要检索备忘录,这很麻烦。虽然Chrome的密码管理器也可以使用,但是其功能过于简单,无法记录其他非Web系统的账号。
最近加入新团队后,我需要申请许多新的系统账号,这使我决定部署一个密码管理器来管理我的账号密码。
我选择了 Bitwarden,因为它非常简单易用且免费。现在,我已经成功部署并整理了简单易懂的部署文档,希望能对大家有所帮助。
以下是一些实现后的效果截图,快来试试吧!

当我登录一个网站时:image-20230421162007384

密码库:image-20230421162740155

如果不需要远程共享,可以部署在本地。
要实现远程多端共享,就至少需要一台公网可访问的服务器,最好还有一个已备案的域名。

部署

下载并启动nginx

#下载
[root@ogenes01 data]#  git clone https://github.com/ogenes/docker-bitwarden.git

#进入项目
[root@ogenes01 data]# cd docker-bitwarden

#生成环境变量
[root@ogenes01 docker-bitwarden]# cp .env.example .env

#将nginx配置文件中的域名替换成自己的域名
[root@ogenes01 docker-bitwarden]# sed s/bitwarden.example.com/yourdomain/g nginx/conf.d/bitwarden.conf

#创建网络,指定子网与.env中配置一致
[root@ogenes01 docker-bitwarden]# docker network create backend --subnet=172.19.0.0/16
18f511530214374896700ad3f179fb9180227fe4e5b6ccf7e9f8ed9b8602059c
[root@ogenes01 docker-bitwarden]# docker network ls | grep backend
18f511530214   backend   bridge    local

#启动nginx
[root@ogenes01 docker-bitwarden]# docker-composer up -d nginx

启动bitwarden

[root@ogenes01 docker-bitwarden]# docker-compose up -d bitwarden
[+] Running 1/1
 ⠿ Container bitwarden  Started                   0.3s

申请SSL证书

因为bitwarden的服务端地址必须是https的, 所以这一步必不可少。

这里演示通过 certbot 可以申请免费的ssl证书, 但是前提是要有一个已经备案的域名。

如果只是本机部署,不需要远程的话,也可以试一下通过openssl本地生成ssl证书,具体可以参考: Nginx本地开发环境配置ssl证书实现https访问

[root@ogenes01 docker-bitwarden]# docker-compose run --rm  certbot certonly --webroot --webroot-path /var/www/certbot/ -d yourdomain
Saving debug log to /var/log/letsencrypt/letsencrypt.log
……………………
Successfully received certificate.
……………………

配置https,重启nginx

#去掉注释
[root@ogenes01 docker-bitwarden]# vim nginx/conf.d/bitwarden.conf
server {
    listen 80;
    listen [::]:80;

    server_name bitwarden.example.com;

		# When you get a certificate from Let’s Encrypt, our servers validate that you control the domain names in that certificate using “challenges,” as defined by the ACME standard.
    location /.well-known/acme-challenge/ {
        root /var/www/certbot;
    }

    location / {
        return 301 https://bitwarden.example.com$request_uri;
    }
}

server {
    listen 443 ssl;
    listen [::]:443 ssl;

    server_name bitwarden.example.com;

    ssl_certificate /etc/nginx/ssl/live/bitwarden.example.com/fullchain.pem;
    ssl_certificate_key /etc/nginx/ssl/live/bitwarden.example.com/privkey.pem;

    location / {
        proxy_pass http://bitwarden:80/;
    }
}


#重启nginx
[root@ogenes01 docker-bitwarden]# docker-compose restart nginx

浏览器访问

image-20230418194934116

创建一个账号

点击 Create account

image-20230418200130938

登录,设置中文

image-20230418200318902.png

更改配置,禁止注册,然后重启

SIGNUPS_ALLOWED: 'false'

再次尝试注册时会报错:
发生错误。
Registration not allowed or user already exists

image-20230419150341237

从chrome导出账号密码

chrome://settings/passwords
image-20230418200627552

导入到bitwarden

image-20230418200734434

下载浏览器插件

访问 https://chrome.google.com/webstore/search/bitwarden?utm_source=chrome-ntp-icon

image-20230418195902674

设置服务器url, 自动填充

image-20230418200923646

输入服务器url: https://bitwarden.example.com
然后登录
image-20230418201520303

最后自动刷新ssl证书

添加计划任务
#每个月月初更新https证书
1 1 1 * * cd /data/docker-bitwarden && docker-compose run --rm certbot renew >> /dev/null 2>&1
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值