519 字
3 分钟
Docker部署自建Bitwarden密码管理器 | Nginx
2026-04-18
--
一个使用docker在Debian13服务器上搭建私人Bitwarden的部署记录。

相关链接#

Bitwarden是有商业化服务的,理论上你可以付费享用官方提供的密码托管服务;VaultWarden是基于Bitwarden可自托管特性,开源的一个密码托管服务,在后续的手机APP、浏览器拓展里,均需访问自托管站点来链接到自建Vaultwarden密码库。

Docker-Compose配置#

Terminal window
# 进入用户目录,新建应用目录
cd ~
mkdir bitwarden
# 编辑compose文件(参考下文)
nano ~/bitwarden/docker-compose.yml

文件内容参考:

version: '3.9'
services:
srprolin:
image: 'vaultwarden/server:1.35.4'
ports:
- '3012:3012'
- '8080:80'
restart: unless-stopped
volumes:
- '/vw-data/:/data/'
container_name: vaultwarden
environment:
- WEBSOCKET_ENABLED=true

你可以提前使用docker pull来拉取镜像。

随后,执行启动命令即可跑通该容器:

Terminal window
# 进入应用目录
cd ~/bitwarden
# 启动容器
sudo docker compose up -d

Nginx+Certbot配置#

Terminal window
# 安装certbot
apt-get install -y certbot
apt-get install -y python3-certbot-nginx
# 申请Let's Encrypt的免费SSL证书
# 将<your-domain>改为已在DNS处解析过的域名
sudo certbot certonly --nginx -d <your-domain>
# 安装启动Nginx
apt-get update && apt-get install -y nginx
systemctl enable nginx && systemctl start nginx
# 编辑配置文件(参考下文)
nano /etc/nginx/sites-available/default
# 启用软链接
ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/default
# 测试文件格式
nginx -t
# 重载Nginx服务
systemctl reload nginx

配置文件内容参考:

# ==================== Bitwarden - HTTP ====================
server {
listen 80;
server_name <your-domain>;
# HTTP自动跳转HTTPS
return 301 https://$host$request_uri;
}
# ==================== Bitwarden - HTTPS ====================
server {
listen 443 ssl http2;
server_name <your-domain>;
ssl_certificate /etc/letsencrypt/live/<your-domain>/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/<your-domain>/privkey.pem;
location /notifications/hub {
proxy_pass http://172.17.0.1:3012;
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;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 86400s;
proxy_send_timeout 86400s;
}
location / {
proxy_pass http://172.17.0.1:8080;
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;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}

结语#

  • 上述方法建立在长期使用,且有域名的前提下,此方法不需要开放云服务器厂商处的端口。
  • 当然你可以使用宝塔、1Panel等服务器面板管理应用,一键安装配置Bitwarden
  • 如果你只是测试,可以不进行Nginx配置,只在docker容器跑通后,开放云服务器厂商的8080TCP端口,即可通过http://ip:8080访问vaultwarden后台。

这篇文章是否对你有帮助?

发现错误或想要改进这篇文章?

文章修订历史 (3 次)

查看变更记录
2026-04-18 9e2efcc

CMS:Update Posts “2026-04-18-bitwarden-1”

2026-04-18 4b1e809

CMS:Update Posts “2026-04-18-bitwarden-1”

2026-04-18 f914b75

CMS:Create Posts “2026-04-18-bitwarden-1”

Docker部署自建Bitwarden密码管理器 | Nginx
https://blog.srprolin.top/posts/2026-04-18-bitwarden-1/
作者
RoL1n
发布于
2026-04-18
许可协议
CC BY-NC-SA 4.0

目录
  1. 1
    相关链接
  2. 2
    Docker-Compose配置
  3. 3
    Nginx+Certbot配置
  4. 4
    结语