当前位置: 首页 > 知识库问答 >
问题:

amh - 实现AMH面板vaultwarden数据迁移与备份的最佳实践?

楚俊迈
2024-09-15

AMH-7.1面板软件vaultwarden-1.32如何导入数据
今天欣喜的发现amh面板支持了docker!!!!历史性的突破!!!
这下彻底放弃其他面板了哈哈哈哈
不过目前amh支持的vaultwarden-1.32应用中,如何导入在其他面板部署和备份的vaultwarden数据?
另外amh上数据的备份也是个问题
我以前采用了这个项目备份:
https://github.com/ttionya/vaultwarden-backup/blob/master/README_zh.md
ampod上线后,希望可以直接通过amdata和am3应用实现s3的快速备份

现在看起来:
导入数据:直接替换/home/usrdata/vaultwarden/data/这个文件下的内容?
备份数据:执行脚本,安装rclone,手动通过任务计划和手动进程进行备份?

补充:测试了下我之前备份项目的命令

docker run -it \
  --mount type=bind,source="/home/usrdata/vaultwarden/",target=/data/ \
  --mount type=bind,target=/home/usrdata/vaultwarden/ \
  -e DATA_DIR="/data" \
  ttionya/vaultwarden-backup:latest restore \
  --zip-file backup.202409121811.7z
  --password 123

成功拉取并运行了镜像,但有个问题,这个镜像需要交互……
amh amhpod-1.0 romantic_jepsen restart 我尝试通过这个命令交互,但是不行……

共有3个答案

阮选
2024-09-15

更新:
通过运行这个命令完成迁移:

docker run -it \
  --mount type=bind,source="/home/usrdata/vaultwarden/data/",target=/data/ \
  --mount type=bind,source="/home/usrdata/vaultwarden/",target=/bitwarden/restore/ \
  -e DATA_DIR="/data" \
  ttionya/vaultwarden-backup:latest restore \
  --zip-file backup.202409121811.7z
  --password 123
  --force-restore

source和target注意别反了,前者是本地目录,target是容器内目录
上面的bind是目标文件data,下面的bind是本地备份文件目录

但是,反代方面又遇到了些问题……默认情况下,使用的这个nginx反代:

location ~ ^/vaultwarden-3123123/ {
    rewrite ^/vaultwarden-3123123(/.*)$ $1 break;
    proxy_pass http://127.0.0.100:5270;

    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";

    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
}
虽然知道大大已经提供了 https://面板IP或域名:面板端口/vaultwarden-随机目录方式,但是强迫症记不住后面的目录,想直接使用域名反代……

这个规则我直接配置到了规则管理,然后通过lngx进行反代,不知道会不会有安全性问题,目前网页版和浏览器插件都是通的,但奇怪的是手机版bitwarden却连不上

最后,总结下目前amhpod需要完善的功能:

  • 交互执行
  • 本地映射文件备份
  • 在备份或者文件同步中增加rclone
  • lngx本地反代问题
    之后继续迁移其他项目,看看还缺什么……
赵明亮
2024-09-15

amh上集成的应用是都用了随机目录访问,用nginx或apache都兼容,这样是比较安全些,如果应用出现安全问题时可以避免暴露利用。

vaultwarden需要直接用域名访问的话,用lngx反向代理同样可以的,
后端源站地址填写:http://127.0.0.100:5270
与勾选:WS连接反代 选项就可以了,不用额外加规则了。

备份的话,默认面板上的备份软件就能备份,默认有备份/home/usrdata/
要单独备份的话,可以只备份/home/usrdata/vaultwarden/data/目录。

备份时,选择不备份网站、不备份数据库,勾选额外备份,填写,
add:/home/usrdata/vaultwarden/data/
与勾选:纯数据模式
这样就可以最小体积备份到各类云端了。

其它需要交互的情况,ampod新版本再看做优化,方便命令使用。

皮嘉德
2024-09-15

在AMH面板中管理Vaultwarden(即Bitwarden的自托管版本)的数据迁移与备份,你可以遵循以下最佳实践:

数据迁移

对于从其他面板迁移到AMH面板的Vaultwarden数据,最直接的方法是迁移数据库和文件存储。由于Vaultwarden主要依赖于SQLite数据库(对于小型安装)或PostgreSQL/MySQL(对于大型安装)以及文件存储来保存数据,因此迁移过程大致可以分为两步:

  1. 数据库迁移

    • 首先,导出当前Vaultwarden实例的数据库。
    • 接着,在AMH面板的Vaultwarden容器中,创建相应的数据库(如果尚未创建)。
    • 然后,将导出的数据库文件导入到新创建的数据库中。
    • 修改Vaultwarden的配置文件(如.env或配置文件中的数据库设置部分),以指向新的数据库连接信息。
  2. 文件迁移

    • 将原Vaultwarden实例的data目录(包含附件和加密密钥)复制到AMH面板的Vaultwarden容器的相应位置(通常是/home/usrdata/vaultwarden/data/)。
    • 确保Vaultwarden服务有足够的权限访问这些文件。

数据备份

对于AMH面板上的Vaultwarden数据备份,你可以采用多种策略,但使用脚本和自动化工具是推荐的方式:

  1. 使用vaultwarden-backup脚本

    • 你可以继续使用你提到的vaultwarden-backup脚本。这个脚本能够备份Vaultwarden的数据库和文件存储到多个位置,包括S3兼容的存储服务。
    • 在AMH面板中,你可以创建一个自定义的Cron任务来定期执行这个脚本。
  2. 集成Rclone和S3备份

    • 安装Rclone并配置好S3连接。
    • 编写一个脚本来执行Rclone命令,将Vaultwarden的data目录和数据库文件(如果直接备份数据库文件的话)上传到S3。
    • 同样地,在AMH面板中设置一个Cron任务来定期执行这个脚本。
  3. 利用AMH面板的内置备份功能(如果可用):

    • 检查AMH面板是否提供了直接备份Docker容器或指定目录的功能。
    • 如果可用,配置AMH面板以定期备份Vaultwarden的data目录和数据库存储位置。

注意事项

  • 在进行任何迁移或备份操作之前,请确保你已经完全备份了当前的数据,以防万一操作失败导致数据丢失。
  • 修改配置文件或执行迁移脚本时,请确保Vaultwarden服务已经停止,以避免数据不一致。
  • 考虑到安全性,确保你的备份存储位置是安全的,并且只有授权用户才能访问。

通过上述步骤,你应该能够成功地在AMH面板中迁移和备份Vaultwarden数据。

 类似资料:
  • 我的问题是,创建一个待完成的数据表和另一个已完成的数据表是好的实践吗?或者我应该只制作一个包含两种类型数据的表,并按状态区分?

  • 数据备份到7牛云了,我从7牛云下载回数据,上传到那个目录还原

  • 目前需求就是将mysql的表结构及数据迁移到pgsql. 我用的方案是使用navicate 同步数据及结构到pg, 有如下问题: mysql中的索引直接丢失了 不知道为啥一直报错表找不到 对于默认值 pgsql也丢失了 请问大家有什么好的实践吗? 我考虑的是 直接使用数据库迁移 将数据库脚本转化为pg的语法

  • 本文阐述了使用 TiDB Data Migration(以下简称 DM)对分库分表进行合并迁移的场景中,DM 相关功能的支持和限制,旨在给出一个业务的最佳实践(使用默认的“悲观协调”模式)。 独立的数据迁移任务 在分库分表合并迁移的实现原理部分,我们介绍了 sharding group 的概念,简单来说可以理解为需要合并到下游同一个表的所有上游表即组成一个 sharding group。 当前的

  • 你好,请问AMH面板AMS3远程备份服务支持又拍云吗?我尝试配置,但是一直连接失败。 如果支持的话,请问具体怎么配置呢?

  • MinDoc 备份分为数据库备份和文件备份。 mysql 数据库的备份 如果你使用的是mysql数据库,可以有以下集中方式来备份你的数据库: mysqldump备份数据库* 在mysql命令行中执行如下命令来备份数据库: mysqldump --databases mindoc_db > mindoc_db.sql mysqldump 完整的参数是: mysqldump -u USER_NAME