bitwarden
个人密码库,这是我玩nas之后最想推荐的一个东西,今天就来分享一下
之前使用bitwarden都是网上现成的文章照抄(能搜到的都是抄来抄去的简直离谱),导致邮箱无法使用、数据库也只是本地的sqlLite很不方便。
前段时间突然想优化一下了,就去翻了官方文档
docker-compose
废话少说,直接放docker-compose.yml
version: "3.9"
services:master:image: docker.io/vaultwarden/server:1.27.0container_name: bitwardenvolumes:- ./data:/data:rwports:- 7032:80environment:- TZ=Asia/Shanghai- DATABASE_URL=postgresql://root:XXXXXXXXXXXX@172.16.0.130:5432/bitwarden- SERVER_ADMIN_EMAIL=XXXXXXXXX@163.com # 系统初始化登录账号- SIGNUPS_ALLOWED=true # 是否开放注册- INVITATIONS_ALLOWED=true # 是否允许邀请- WEBSOCKET_ENABLED=true- ADMIN_TOKEN=XXXXXXXXXXXXXXXXXXXXX随机生成XXXXXXXXXXXXXXXXXXXXXXXXXXXXX- DOMAIN=https://pwd.taotaojs.top- SMTP_HOST=smtp.163.com- SMTP_FROM=XXXXXXXXXXXXXXXX@163.com- SMTP_PORT=465- SMTP_SECURITY=force_tls- SMTP_USERNAME=XXXXXXXXXXXXXXXXXX@163.com- SMTP_PASSWORD=XXXXXXXXXXXXXXXXXXnetworks:- basenetwork
networks:basenetwork:external: true
说明
将上面的那些XXXXX替换成自己的就可以了
我将这个容器和postgresql容器放到同个网络下了,所以可以直接使用172.16这种内网地址直连数据库(之后会整理那些基础服务相关的docker-compose,敬请期待)
另外SMTP服务要自己去163或者其他平台申请,很简单的
启动这个docker-compose之后,我们就可以看到库中已经自动生成好表结构了
但是这个时候库中的数据都是空白的
迁移数据
我们将原来数据文件下载下来
然后用数据库连接工具连接
直接输入连接名和选择数据库文件就可以了
点击测试连接,是通的(毕竟是本地
打开就可以看到所有存有线上数据的表了
然后只要将这个库中的数据导出为sql,放到新的PostgreSql库中运行即可。
不过在迁移过程过程中遇到了几处问题:
数据库迁移遇到的问题
外键约束
要先将users和organizations中的数据导入,才能导入其他数据
16进制字符串问题
users的insert语句中,password_hash和salt字段都是十六进制形式。而sqlLite导出来的会是【X’十六进制字符串’】这种形式,导入到PostgreSql中,我们要将这个改成【E’\x十六进制字符串’】即可
boolean类型数据问题
PostgreSql的boolean类型无法识别1或0,只能将其改成true或false
全都导入好之后,网页就可以直接登录进去了,想要尝试一下也可以访问 https://pwd.taotaojs.top 注册玩玩。虽然库在我手中,但是他全都是死加密的,所以还是相当安全的。
End。
欢迎来到我的blog > https://blog.taotaojs.top/archives/bitwarden-shu-ju-qian-yi-zhi-postgresql