Deploy Vaultwarden
在 Cloudflare 后台创建隧道 (Tunnel)
在部署之前,先在云端"开通"这条隧道:
-
进入 Networks -> Tunnels,点击 Create a Tunnel。
-
选择 Cloudflared,给隧道起个名字(例如 Home-Vault)。
-
在 Install and run a connector 页面,选择 Docker,你会看到一行包含 token 的命令。
- 只需记录:
--token后面那一长串随机字符(这就是你的 Tunnel Token)。
- 只需记录:
-
在 Public Hostname 标签页点击 Add a public hostname:
- Subdomain: vault(或者你喜欢的名字)
- Domain: gdu.me(选择你已有的域名)
- Service Type: HTTP
- URL: vaultwarden:80(Docker 内部容器间的访问地址)
基本配置
SSH 进入 VPS,创建工作目录并生成 Admin Token:
# 创建并进入工作目录
mkdir -p ~/vaultwarden/vw-data && cd ~/vaultwarden
# 生成 Admin Token(将引号内的内容替换为你的密码)
echo -n "这里改成你的密码" | argon2 "$(openssl rand -base64 32)" -e -id -k 65540 -t 3 -p 4
创建 docker-compose.yml:
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: always
environment:
- SIGNUPS_ALLOWED=true # 第一次部署先设为 true,注册完你的账号后改成 false
- DOMAIN=${DOMAIN}
- ADMIN_TOKEN=${VAULTWARDEN_ADMIN_TOKEN}
- SMTP_HOST=${SMTP_HOST}
- SMTP_PORT=${SMTP_PORT}
- SMTP_SECURITY=${SMTP_SECURITY}
- SMTP_FROM=${SMTP_FROM}
- SMTP_USERNAME=${SMTP_USERNAME}
- SMTP_PASSWORD=${SMTP_PASSWORD}
- PUSH_ENABLED=true
- PUSH_INSTALLATION_ID=${PUSH_INSTALLATION_ID} # 前往 https://bitwarden.com/host/ 生成
- PUSH_INSTALLATION_KEY=${PUSH_INSTALLATION_KEY}
- TEMPLATES_FOLDER=/templates # 中文汉化模板路径
volumes:
- ./vw-data:/data
- ./vw-data/vaultwarden-zh-cn/templates:/templates # 挂载汉化模板
cloudflared:
image: cloudflare/cloudflared:latest
container_name: cloudflared
restart: always
command: tunnel --no-autoupdate run --token <Your_Token> # 替换为你的 Tunnel Token
depends_on:
- vaultwarden
中文汉化
将汉化模板 clone 到数据目录下:
cd ~/vaultwarden/vw-data
git clone https://github.com/JinkaiNiu/vaultwarden-zh-cn
然后在 docker-compose.yml 的 vaultwarden 服务中添加以下内容,让容器能找到这些模板:
environment:
- TEMPLATES_FOLDER=/templates # 新增
# ... 其他环境变量保持不变
volumes:
- ./vw-data:/data
- ./vw-data/vaultwarden-zh-cn/templates:/templates # 新增
配置 .env
在 ~/vaultwarden/ 目录下创建 .env 文件:
nano .env
VAULTWARDEN_ADMIN_TOKEN='6cC+XYmBk' # 填写前面生成的 Admin Token
SMTP_HOST=smtp.qq.com
SMTP_PORT=587
SMTP_SECURITY=starttls
[email protected]
[email protected]
SMTP_PASSWORD=xxxxxxxxxxxxxxxx # QQ 邮箱填授权码,不是账号密码(在 QQ 邮箱设置 -> 账户 -> POP3/SMTP 中生成)
PUSH_INSTALLATION_ID=dddddd # 填写 bitwarden.com/host/ 上的 Installation ID
PUSH_INSTALLATION_KEY=yyyyyy # 填写对应的 Installation Key
DOMAIN=https://xxx.com # 换成你的域名
启动
docker compose up -d
启动后访问 https://你的域名 即可打开 Vaultwarden,管理后台在 /admin 路径下。注册完账号后,记得将 SIGNUPS_ALLOWED 改为 false 并重启容器。