本文重在 Vaultwarden 的部署流程,介绍和具体使用方法请到:最佳密码管理器推荐 – 技焉洲
指标 | 描述 |
---|---|
适用系统 | Debian 系发行版,包括 Ubuntu, Armbian,其他发行版稍改命令一般也可 |
走通流程时间 | 10 分钟 |
前置条件
既然是密码管理器,HTTPS 作为基本的安全保障必须要有,因此必须要有一个域名,并把它解析到服务器的 IP 上。
本文使用 Nginx 进行反代。
Docker 安装
全复制并执行,一键创建工作目录并开放端口
myserve="vaultwarden"
sudo ufw allow 8888/tcp comment $myserve && sudo ufw reload
mkdir -p ~/myserve/$myserve && cd ~/myserve/$myserve && mkdir vw-data
根据注释自定义,然后执行,一键创建 docker-compose.yml 文件
cat > ./docker-compose.yml << EOF
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: unless-stopped
ports:
- '8888:80'
volumes:
- './vw-data/:/data/'
environment:
TZ: "Asia/Shanghai"
DOMAIN: 'https://bitwarden.vfly2.com' # 必须是 https
SIGNUPS_ALLOWED: "true" # 配置是否允许注册,设置成 false 禁止注册
WEBSOCKET_ENABLED: "true" # 是否开启 WebSocket
WEB_VAULT_ENABLED: "true" # 配置是否开启Web端访问
ADMIN_TOKEN: "xxxxxxxxxxx" # 后台登陆密码,建议使用 openssl rand -base64 48 生成一个密码确保安全
# 邮箱设置要放在 EOF 上面
EOF
环境变量参考文档: vaultwarden/.env.template at main · dani-garcia/vaultwarden (github.com)
如果想在这个配置文件里直接指定邮箱设置,填充下面字段并复制进上面即可。或者待会在后台设置。
SMTP_HOST: smtp.gmail.com
SMTP_FROM: notice@vfly2.com
SMTP_FROM_NAME: AhFei_Vaultwarden_Service
SMTP_SECURITY: starttls
SMTP_PORT: 587
SMTP_USERNAME: example@gmail.com
SMTP_PASSWORD: xxxxxxxxxxx
拉取容器镜像
docker compose pull
启动容器
docker compose up -d
关闭容器
docker compose down
Nginx 反代
使用 acme.sh 自动获取和更新证书: [[02acme.sh]] 使用 acme.sh 申请和自动更新证书的完整指南 – 技焉洲
记得修改域名
acme.sh --issue -d bitwarden.vfly2.com --webroot /var/www/html
acme.sh --install-cert -d bitwarden.vfly2.com \
--key-file /etc/ssl/private/bitwarden.vfly2.com.key \
--fullchain-file /etc/ssl/certs/bitwarden.vfly2.com.cer \
--reloadcmd "systemctl reload nginx"
sudo vim /etc/nginx/sites-available/bitwarden
自行更改域名和路径
server {
listen 80;
server_name bitwarden.vfly2.com;
location /.well-known/acme-challenge/ {
root /var/www/html;
}
location / {
return 301 https://bitwarden.vfly2.com$request_uri;
}
}
server {
listen 443 ssl;
server_name bitwarden.vfly2.com;
ssl_certificate /etc/ssl/certs/bitwarden.vfly2.com.cer;
ssl_certificate_key /etc/ssl/private/bitwarden.vfly2.com.key;
location /.well-known/acme-challenge/ {
root /var/www/html;
}
location / {
proxy_pass http://localhost:8888;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# WebSocket 必须
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'Upgrade';
}
}
sudo ln -s /etc/nginx/sites-available/bitwarden /etc/nginx/sites-enabled/bitwarden
检查配置
sudo nginx -t
重启生效
sudo systemctl reload nginx
备份和迁移
只需要备份整个根目录即可,在本文中,就是 ~/myserve/vaultwarden
。
迁移新服务器,就把 ~/myserve/vaultwarden
复制到新服务器,再执行一遍上面的部署过程,重设域名解析,其他什么都不需要动,就可以了。具体流程如下:
关闭原来旧的服务端
docker compose down
在旧的服务端,通过 rsync 把原目录整个复制到新服务器上,
sudo rsync -avuzP -e "ssh -p 22" -r ~/myserve/vaultwarden root@1.2.3.4:/home/hoo/myserve/
在新服务器上
docker compose pull
启动新服务端
docker compose up -d
原文链接: https://yanh.tech/2025/04/11/vaultwarden-installation
版权声明:本博客所有文章除特別声明外,均为 AhFei 原创,采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 技焉洲 (yanh.tech) 。
保持更新 ٩(•̤̀ᵕ•̤́๑)ᵒᵏᵎᵎᵎᵎ 清晰恒益的实用技能,欢迎使用 RSS 订阅,如果能留言互动就更好了。
可在 Telegram 群组 https://t.me/vfly2 交流依文章步骤遇到的问题。