使用Docker搭建自己的Bitwarden密码管理服务
相信身为开发者,总会在各种网站中注册账号,为了方面记忆可以使用同一套账号密码进行注册,自从前段时间学习通时间撞库后有些人已经开始疯狂改密码了,可是密码一多就很难记忆,最好找个地方存储账户信息
我曾经使用过手机便签、笔记软件,Edge的同步功能,甚至私有的GIT仓库来记密码,效果都不是很好,于是前段时间疯狂寻找开源项目,想要搭建自己的密码管理系统,终于找到了Bitwarden这个神仙
准备工作
需要有可以使用服务器以及可以使用的域名
了解并熟悉Docker的简单使用
了解并熟悉Nginx的使用
了解HTTPS
了解Bitwarden
Bitwarden是一款开源的密码管理工具,可以直接访问他们的官网注册并使用他们的服务,将账号信息交给他们管理,也可以自行搭建服务,将账号密码存在自己的服务器上,供自己或者朋友进行使用
根据最近总结的经验来看,部署Bitwarden的方式大概总结了三种:
- 使用官方提供的的sh脚本进行安装,需要系统中安装好docker、docker-compse
这种方法我已经踩过坑了,首先的确是可以用的,但是执行安装脚本后启动服务,你会发现Docker中多了十多个容器,对于我这种强迫症来说接受不了,而且我的Docker中已经事先安装了Nginx并配置了网站的反向代理,会和官方提供的脚本中的nginx冲突导致运行失败,这个方案直接被pass
- 使用第三方维护的Docker镜像:Bitwarden_RS
https://hub.docker.com/r/bitwardenrs/server
这个是由第三方个人维护的整合好的bitwarden镜像,pull后可以直接运行并访问,这个镜像我也用了一段时间,这期间深深被bitwarden的功能折服,打算写一篇博客介绍给更多的人用,所以对这个镜像稍微了解一下,发现这个镜像已经不在维护了,但是功能可以正常使用,如果不介意的话可以使用,但不推荐
第三种方法就是我目前正在使用的方法,我会在下面介绍安装方法
快速部署Bitwarden
https://hub.docker.com/r/vaultwarden/server
注意:部署Bitwarden要求系统中安装了Docker和Nginx服务
推荐使用Vaultwarden镜像,他与第二种安装方案中的镜像是同一个作者,因docker镜像名称容易引人误会所以另开一个镜像,如果想快速安装Bitwarden使用下面这段命令就可以
# -p端口映射不多解释,-v绑定数据目录不多解释
docker run -d --name bw \
-p 8002:80 \
-v /opt/docker/bw/:/data/ \
vaultwarden/server:latest
然后通过服务器IP地址+端口号就可以访问服务了,如下所示
但是仅仅这样是用不了的,出于安全考虑Bitwarden要求必须使用https进行访问,否则报错
之前购买VPS的的博客中提过,我的域名是交给CloudFlare管理的,这里需要打开强制https功能,如果你没有这个条件的话需要用自己的域名申请一个SSL证书上传至服务器,然后配置Nginx,这里请百度
然后配置域名解析,将域名解析到你的服务器IP地址上,如下所示
然后编辑nginx的配置文件,配置Bitwarden的反向代理
server {
listen 80;
server_name bitwarden.hanzhe.site;
location / {
proxy_pass http://666.666.666.666:8002;
}
}
访问配置好的域名,就可以访问到Bitwarden网站了,强制https后注册登录都一切顺利,注册登录后在这个位置设置中文
之后就可以正常使用了,可以在存储密码后安装浏览器插件,设置远程地址后查看账号密码,或者使用密码填充
也可以GooglePlay商店或者百度下载手机端,同样设置服务器URL后登陆,进行添加查看账户信息,IOS也可以
https://bitwarden.hanzhe.site 这个就作为演示站供大家参考,已开放注册,信得过的话也可以联系我邀请你使用我私有的bitwarden
Bitwarden高级用法
在创建容器的时候可以指定很多环境变量,这里简单介绍几个
管理员访问密码,设置密码后可以访问管理页面
-e ADMIN_TOKEN=some_random_token_as_per_above_explanation \
是否允许注册,false为禁止之策
-e SIGNUPS_ALLOWED=false \
是否允许邀请注册,在禁止注册的情况下可以邀请某个指定的用户进行注册
-e INVITATIONS_ALLOWED=false \
是否直接在页面显示密码提示,不通过邮箱
-e SHOW_PASSWORD_HINT=false \
更多配置项请参照官方文档 https://github.com/dani-garcia/vaultwarden/wiki
使用Docker搭建自己的Bitwarden密码管理服务的更多相关文章
- Docker 搭建 etcd 集群及管理
环境 host1 10.1.99.13 host2 10.1.99.14 host3 10.1.99.15 host4 10.1.99.12(用于测试添加删除节点) 初始化集群 host1 $ doc ...
- 使用Docker搭建consul集群+registrator实现服务自动注册。
准备工作:10.173.16.83 master10.172.178.76 node110.171.19.139 node210.162.204.252 node3 一.安装consul-cluste ...
- 搭建ldap服务器及web管理服务--phpldapadmin
系统版本:centos6 安装配置openldap: yum install openldap openldap-servers openldap-clients openldap-devel com ...
- Docker 搭建 etcd 集群
阅读目录: 主机安装 集群搭建 API 操作 API 说明和 etcdctl 命令说明 etcd 是 CoreOS 团队发起的一个开源项目(Go 语言,其实很多这类项目都是 Go 语言实现的,只能说很 ...
- Docker 搭建开发环境
本文介绍如何将Docker集成到开发环境,自动构建应用,并使容器拥有独立的内网IP为开发人员提供服务. 术语解释 Docker镜像:一个不可修改的"模板",每个代码版本对应一个镜像 ...
- docker快速搭建几个常用的第三方服务
本次和大家分享的内容是使用docker快速搭建工作中常用的第三方的服务,对于有一些互联网背景的公司来说,以下几个服务都是很需要的:redis,rabbit,elasticsearch: 本篇涉及内容深 ...
- 基于docker搭建开源扫描器——伏羲
基于docker搭建开源扫描器——伏羲 1.简介 项目地址 伏羲是一款开源的安全检测工具,适用于中小型企业对企业内部进行安全检测和资产统计. 功能一览: 基于插件的漏洞扫描功能(类似于巡风) 漏洞管理 ...
- Docker搭建RabbitMQ集群
Docker搭建RabbitMQ集群 Docker安装 见官网 RabbitMQ镜像下载及配置 见此博文 集群搭建 首先,我们需要启动运行RabbitMQ docker run -d --hostna ...
- 使用docker搭建selenium grid 分布式环境
本文章只做docker搭建selenium grid 分布式环境步骤说明,对于selenium grid中的参数.流程.原理等不做说明.selenium grid的详细情况可查看官方文档https:/ ...
随机推荐
- react 可拖拽改变位置和大小的弹窗
一 目标 最近,项目上需要一个可以弹出一个可以移动位置和改变大小的窗口,来显示一下对当前页面的一个辅助内容 二 思路 1.之前写过一个antd modal的可移动弹窗但是毕竟不如自己写的更定制化,比如 ...
- Dockerfile创建自有镜像
文件名必须名为Dockerfile,用touch命令新建Dockerfile文件(执行touch Dockerfile),Dockerfile内容: from ubuntu --基础镜像名字 main ...
- R2DBC正式孵化成功,利好Spring Webflux
2022年4月25日,R2DBC社区宣布具有普遍可用性的1.0.0.RELEASE正式发布. R2DBC致力于为反应式编程 API操作关系型数据库带来规范支持,R2DBC不同于我们熟知的JDBC规范, ...
- c# 一些警告的处理方法
在使用.Net 6开发程序时,发现多了很多新的警告类型.这里总结一下处理方法. CS8618 在退出构造函数时,不可为 null 的 属性"Name"必须包含非 null 值 经常 ...
- CoreWCF 1.0.0 发布,微软正式支持WCF
2022年4月28日,我们达到了一个重要的里程碑,并发布了CoreWCF的1.0.0版本.对Matt Connew (微软WCF团队成员)来说,这是5年前即 2017年1月开始的漫长旅程的结束.Mat ...
- 【CSAPP】Cache Lab 实验笔记
cachelab这节先让你实现个高速缓存模拟器,再在此基础上对矩阵转置函数进行优化,降低高速缓存不命中次数.我的感受如上一节,实在是不想研究这些犄角旮旯的优化策略了. 前期准备 我实验的时候用到了va ...
- 面试题|Docker的优缺点
开源Linux 长按二维码加关注~ 上一篇:Linux中几个正则表达式的用法 Docker解决的问题: 由于不同的机器有不同的操作系统,以及不同的库和组件,在将一个应用部署到多台机器上需要进行大量的环 ...
- 鸭的NOI ONLINE杂刷
好耶!洛谷账号橙了! 水题 [NOI Online #2 入门组] 未了 这就是一道贪心+二分查找,思路很好想 除法有精度问题,建议不使用除法 code [NOI Online #3 提高组] 水壶 ...
- 面试突击51:为什么单例一定要加 volatile?
单例模式的实现方法有很多种,如饿汉模式.懒汉模式.静态内部类和枚举等,当面试官问到"为什么单例模式一定要加 volatile?"时,那么他指的是为什么懒汉模式中的私有变量要加 vo ...
- Primal_Dual 原始对偶
不是费用流都需要用 SPFA 吗. 众所周知,SPFA 去世了,然后网络流显然有负边.于是我们可以像 Johnson 全源最短路一样,给边加上势能,具体实现看我之前的 博客 啦. 然后对于每一次跑 D ...