演示站
安装教程
一:安装Vaultwarden
1.更新系统
确保系统内的所有软件都是最新版
sudo apt update && sudo apt upgrade -y
2.安装 Docker 和 Docker Compose
curl -fsSL https://get.docker.com | bash && sudo curl -L "https://github.com/docker/compose/releases/download/v2.3.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && sudo chmod +x /usr/local/bin/docker-compose && docker-compose --version
3.一键部署 Vaultwarden ,含 WebSocket 端口
docker run -d --name vaultwarden -v /vw-data/:/data/ --restart unless-stopped -p 8080:80 -p 3012:3012 vaultwarden/server:latest
现在就可以通过 服务器ip:8080 登录
但是现在还不完美,我们要继续进行反代,用自己的域名访问
二.安装 Nginx Proxy Manager(反向代理)
1.创建安装目录
sudo -i
mkdir -p /root/data/docker_data/npm
cd /root/data/docker_data/npm
2.我们直接将他docker下来安装
vim docker-compose.yml
英文输入法下,按 i
将下面的全部粘贴进去
version: '3'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80' # 保持默认即可,不建议修改左侧的80
- '81:81' # 冒号左边可以改成自己服务器未被占用的端口
- '443:443' # 保持默认即可,不建议修改左侧的443
volumes:
- ./data:/data # 冒号左边可以改路径,现在是表示把数据存放在在当前文件夹下的 data 文件夹中
- ./letsencrypt:/etc/letsencrypt # 冒号左边可以改路径,现在是表示把数据存放在在当前文件夹下的 letsencrypt 文件夹中
按一下 esc,然后 :wq 保存退出
3.运行并访问 Nginx Proxy Manager
cd /root/data/docker_data/npm # 来到 dockercompose 文件所在的文件夹下
docker-compose up -d
现在我们就可以访问了 服务器ip:81
默认登陆名和密码:
Email: admin@example.com
Password: changeme
4.配置反向代理
①
Domain Names:“填写你的域名”
Forward Hostname / IP:“你服务器的ip”
Forward Port:“8080端口”
然后将Websockets Support打开,其他的默认就行
然后去SSL,申请证书(3个月有效期,到期自动续费)
②
Domain Names:"websocket.域名"
Forward Hostname / IP:“你服务器的ip”
Forward Port:“3012端口”
然后将Websockets Support打开,其他的默认就行
然后去SSL,申请证书
现在就可以通过你的域名,访问官网了
进阶玩法
一.如果想关闭注册之类的,可以先删除容器,然后在新加修改好的(删除容器不会丢失数据)
删除容器:
docker rm -f vaultwarden
关闭注册,并添加管理后台:
docker run -d --name vaultwarden \
-e SIGNUPS_ALLOWED=false \
-e ADMIN_TOKEN=ASDFGHJKL \
-v /vw-data/:/data/ \
--restart unless-stopped \
-p 8080:80 \
-p 3012:3012 \
vaultwarden/server:latest
-e SIGNUPS_ALLOWED=true/false(这一段是开放注册/关闭注册)
-e ADMIN_TOKEN=ASDFGHJKL(开放管理后台,ASDFGHJKL你自己设置,这是管理后台验证登录的令牌)
具体可以参考官方文档:https://rs.ppgg.in/configuration/configuration-overview
二.备份数据
步骤 1:编写备份脚本
首先,编写一个简单的备份脚本,将 Vaultwarden 数据目录压缩并保存到指定位置
1.1 创建备份脚本文件:
nano /usr/local/bin/vaultwarden_backup.sh
1.2 在文件中添加以下内容:
#!/bin/bash
# 设置备份存储目录(请根据需要修改路径)
BACKUP_DIR="/beifen"
# 当前日期
DATE=$(date +%F-%H%M%S)
# Vaultwarden 数据目录
VW_DATA_DIR="/vw-data"
# 备份文件名
BACKUP_FILE="$BACKUP_DIR/vaultwarden-backup-$DATE.tar.gz"
# 创建备份
tar -czvf $BACKUP_FILE $VW_DATA_DIR
# 保留最近 7 天的备份,删除旧备份
find $BACKUP_DIR -type f -name "vaultwarden-backup-*.tar.gz" -mtime +7 -exec rm {} \;
echo "Vaultwarden 数据备份已完成: $BACKUP_FILE"
BACKUP_DIR:将其设置为你想保存备份文件的目录,比如 /beifen。确保该目录存在,并且有写入权限。
VW_DATA_DIR:这是 Vaultwarden 数据所在的目录,根据你的 Docker 配置,它是 /vw-data。
1.3 保存并退出:
按 Ctrl + O 保存文件,然后按 Ctrl + X 退出。
步骤 2:赋予脚本执行权限
为了让这个脚本可以执行,你需要赋予它执行权限:
chmod +x /usr/local/bin/vaultwarden_backup.sh
步骤 3:设置 cron 作业
现在我们来设置 cron 作业,每天定时执行备份脚本。
3.1 打开 crontab:
crontab -e
3.2 添加以下条目(设置每天凌晨 2 点自动备份):
0 2 * * * /usr/local/bin/vaultwarden_backup.sh >> /var/log/vaultwarden_backup.log 2>&1
这条命令会每天凌晨 2 点执行备份脚本,并将输出写入 /var/log/vaultwarden_backup.log 日志文件中。
2>&1 表示将标准输出和错误输出都重定向到日志文件。
3.3 保存并退出:
保存编辑的 crontab,确保定时任务已正确设置。
步骤 4:测试备份脚本
手动运行备份脚本,确认它是否正常工作。
/usr/local/bin/vaultwarden_backup.sh
步骤 5:后期如果需要转移的恢复过程
①重新安装 Vaultwarden:
根据之前的安装命令重新设置 Vaultwarden。
②停止 Vaultwarden 容器(如果它正在运行):
docker stop vaultwarden
③恢复数据库和文件:
将备份文件复制到 Vaultwarden 数据目录(例如 /vw-data/)。
使用 tar 解压缩备份文件:
tar -xzvf /path/to/backup/vaultwarden-backup-2024-10-13.tar.gz -C /vw-data/
④检查文件权限:
确保文件的所有者和权限正确(通常需要设置为 root 用户):
chown -R root:root /vw-data/
⑤重启 Vaultwarden 容器:
docker start vaultwarden
⑥检查数据:
登录 Vaultwarden 确保数据已成功恢复。
步骤6:使用 ossutil 备份到阿里云 OSS
1 安装阿里云 ossutil 工具
ossutil 是阿里云官方的命令行工具,用于与 OSS 进行交互。 具体的可以去阿里云OSS官方文档,下载适用于你系统的 ossutil。
Linux可以通过以下步骤安装:
wget http://gosspublic.alicdn.com/ossutil/1.7.10/ossutil64
chmod 755 ossutil64
mv ossutil64 /usr/local/bin/ossutil
2 配置 ossutil
①下载并安装 ossutil 后,运行以下命令进行配置:
ossutil config
②配置中会要求提供以下信息:
AccessKeyId:阿里云的 AccessKeyId(你可以从阿里云控制台获取)。
AccessKeySecret:阿里云的 AccessKeySecret。
Endpoint:你所在区域的 OSS 终端地址,例如:oss-cn-hangzhou.aliyuncs.com。
3 修改备份脚本以上传到 OSS
在现有的备份脚本中,添加将备份文件上传到阿里云 OSS 的部分。假设你的备份文件是 vaultwarden-backup-2024-10-13.tar.gz,你可以按如下方式上传:
修改一下上面的备份脚本:
#!/bin/bash
# 本地备份存储目录
BACKUP_DIR="/beifen"
DATE=$(date +%F-%H%M%S) # 使用日期和时间作为文件名的一部分
VW_DATA_DIR="/vw-data"
BACKUP_FILE="$BACKUP_DIR/vaultwarden-backup-$DATE.tar.gz"
# 创建本地备份
tar -czvf $BACKUP_FILE $VW_DATA_DIR
# 保留最近 7 天的备份
find $BACKUP_DIR -type f -name "vaultwarden-backup-*.tar.gz" -mtime +7 -exec rm {} \;
# 上传备份文件到阿里云 OSS
ossutil cp $BACKUP_FILE oss://vaultwardenbeifen/
# 检查上传结果
if [ $? -eq 0 ]; then
echo "备份文件已成功上传到阿里云 OSS"
else
echo "上传失败,请检查配置"
fi
oss://your-bucket-name/vaultwarden-backups/:将这个路径替换为你在阿里云 OSS 中的存储桶名称和目标路径。
4 定期自动化
为了实现每天自动备份和上传,你可以使用 cron 定时任务。如下是在 crontab 中设置每天凌晨 3 点执行备份的方式:
①编辑 crontab:
crontab -e
②添加以下行:
0 3 * * * /usr/local/bin/vaultwarden_backup.sh
这样,每天备份文件会自动生成并上传到阿里云 OSS,同时在本地 /beifen 目录中保留。
7 条评论
这篇文章不错!
对权力结构的解构充满勇气与智慧。
建议增加田野调查素材,提升真实性。
《板龙》剧情片高清在线免费观看:https://www.jgz518.com/xingkong/111739.html
《怪胎英雄联盟》剧情片高清在线免费观看:https://www.jgz518.com/xingkong/12442.html
复古手游礼包,开启热血战斗!:https://501h.com/lianji/4628.html
博主太厉害了!