利用docker自建bitwarden(vaultwarden)
互联网时代密码的重要程度应该不需要赘述了吧。几年前,最初听说有种软件专门用来做密码管的时候,第一个蹦出来的概念是,为啥需要这种玩意儿?
是时候祭出xkcd经典图啦!
使用windows下的docker
配合wsl2下的ubuntu使用,并在docker选项中的distro选中安装的ubuntu。
要在ubuntu命令行里docker compose up -d启动。
主要是vwdata位置的写法比较特别,详见下文。
使用openwrt下的docker
也是在命令行中docker compose up -d启动。使用esir-lean的固件,已经内置了docker-compose了,非常方便。
docker-compose.yml文件
1 | version: '3' |
docker compose up -d
卷名的形成
后生成的vloumes,将以docker-compose.yml所在的文件夹命名,比如所在文件夹名字为vaultwarden
,那么生成的volumes就会是vaultwarden_certs
等等。转移yml文件位置后,要确保文件夹的名称不变。
vwdata 储存bitwarden中的各站点数据
certs 储存nginx证书
vhost.d 储存站点nginx配置
vhost文件的写法(解决/notifications/hub should be proxied to the websocket server
问题)
每个app下environment
中的VIRTUAL_HOST
赋予了这个app域名
nginx config 中的访问地址应为http://容器名:端口
在vhost.d文件夹下建立xx.abc.com的同名文件,在其中加入:
old version:
1 | client_max_body_size 128M; |
我注释掉了官方写法其中的一部分,不改会报错,根路径本来就会转发向80端口吧。。。
When your container exposes only one port, nginx-proxy will default to this port, else to port 80.
new version:
新版的官方转发规则用了upstream的写法,比较麻烦,懒得研究相应的docker-nginx的写法了,期待大神补充
ref:
Home · nginx-proxy/nginx-proxy Wiki (github.com)
Old version of nginx proxy example · dani-garcia/vaultwarden Wiki (github.com)
new version of nginx proxy example · dani-garcia/vaultwarden Wiki (github.com)