BitWarden数据迁移以及邮箱SMTP配置

bitwarden

个人密码库,这是我玩nas之后最想推荐的一个东西,今天就来分享一下

之前使用bitwarden都是网上现成的文章照抄(能搜到的都是抄来抄去的简直离谱),导致邮箱无法使用、数据库也只是本地的sqlLite很不方便。
前段时间突然想优化一下了,就去翻了官方文档

docker-compose

废话少说,直接放docker-compose.yml

version: "3.9"
services:
  master:
    image: docker.io/vaultwarden/server:1.27.0
    container_name: bitwarden
    volumes:
      - ./data:/data:rw
    ports:
      - 7032:80
    environment:
      - TZ=Asia/Shanghai
      - DATABASE_URL=postgresql://root:[email protected]:5432/bitwarden
      - [email protected] # 系统初始化登录账号
      - SIGNUPS_ALLOWED=true # 是否开放注册
      - INVITATIONS_ALLOWED=true # 是否允许邀请
      - WEBSOCKET_ENABLED=true
      - ADMIN_TOKEN=XXXXXXXXXXXXXXXXXXXXX随机生成XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      - DOMAIN=https://pwd.taotaojs.top
      - SMTP_HOST=smtp.163.com
      - [email protected]
      - SMTP_PORT=465
      - SMTP_SECURITY=force_tls
      - [email protected]
      - SMTP_PASSWORD=XXXXXXXXXXXXXXXXXX
    networks:
      - basenetwork
networks:
  basenetwork:
    external: true

说明

将上面的那些XXXXX替换成自己的就可以了

我将这个容器和postgresql容器放到同个网络下了,所以可以直接使用172.16这种内网地址直连数据库(之后会整理那些基础服务相关的docker-compose,敬请期待)
另外SMTP服务要自己去163或者其他平台申请,很简单的

启动这个docker-compose之后,我们就可以看到库中已经自动生成好表结构了

BitWarden数据迁移以及邮箱SMTP配置_第1张图片

但是这个时候库中的数据都是空白的

迁移数据

我们将原来数据文件下载下来

BitWarden数据迁移以及邮箱SMTP配置_第2张图片

然后用数据库连接工具连接

BitWarden数据迁移以及邮箱SMTP配置_第3张图片

直接输入连接名和选择数据库文件就可以了

BitWarden数据迁移以及邮箱SMTP配置_第4张图片

点击测试连接,是通的(毕竟是本地

BitWarden数据迁移以及邮箱SMTP配置_第5张图片

打开就可以看到所有存有线上数据的表了

BitWarden数据迁移以及邮箱SMTP配置_第6张图片

然后只要将这个库中的数据导出为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

你可能感兴趣的:(docker,NAS,docker,bitwarden,vaultwarden,数据迁移,SMTP配置)