Pixiv - KiraraShss
742 字
4 分钟
群晖部署Bitwarden密码管理器全攻略
Bitwarden 是一款开源的密码管理器,其功能主要有账号密码管理、自动生成密码、导出所有密码、密码自动填充、方便切换多个账号等。而 Vaultwarden 是一个使用 Rust 编写的非官方 Bitwarden 服务器实现,它与官方 Bitwarden 客户端兼容,且支持更多的系统平台和架构。本文介绍如何在群晖 Synology DSM 上部署安装 Bitwarden 密码管理器,将重要的个人密码托管在自己的服务器上。

启用 SSH 服务
进入 DSM 控制面板 > 终端机和 SNMP > 终端机,勾选启用 SSH 服务。指定 SSH 连接的端口号并保存设置。
Docker 部署
# 切换至 root 用户# 创建目录,用于存放 vaultwarden 数据mkdir -p /volume1/docker/vw-data
# 下载 docker 最新镜像docker pull vaultwarden/server:latest
# 创建并运行容器(完整命令)docker run -d --name bitwarden \ -v /volume1/docker/vw-data:/data/ \ -p 8080:80 \ -p 3012:3012 \ -e SIGNUPS_ALLOWED=false \ -e WEBSOCKET_ENABLED=true \ -e INVITATIONS_ALLOWED=false \ -e ADMIN_TOKEN=随机字符串 \ -e DOMAIN=https://yourdomain.com:7878 \ --restart=always \vaultwarden/server:latest参数选项:
- 变量
-e SIGNUPS_ALLOWED=false,禁止注册。 - 如需开放注册、配置SMTP邮箱发信等,需要在
/admin管理页面内进行设置,而启用 admin 管理页面,需要配置变量-e ADMIN_TOKEN=随机字符串(随机字符串可通过运行openssl rand -base64 16命令生成一个)。访问/admin进入管理页面需要输入已定义的字符串才能进入。 - 配置变量
-e WEBSOCKET_ENABLED=true以启用 WebSocket 连接,保持服务端与客户端实时同步。 - 配置变量
-e DOMAIN=你的域名:端口,懂得都懂443和80端口被禁用。
更多参数配置,请访问 —> 官方WIKI
部署SSL证书
详细教程,请参考《群晖 Synology 部署 ZeroSSL 泛域名证书》
反向代理/启用HTTPS
创建 Nginx 配置文件
# 进入目录cd /etc/nginx/sites-enabled
# 编辑文件vim bitwarden.server.confNginx 示例配置: 更多反代相关配置,请参考->官方文档
server { listen 7878 default; #禁止通过IP访问 server_name _; return 403;}
server { # 可替换为其它可用端口,前提是已做好端口映射和防火墙开放行 listen 7878 ssl http2;
# 替换为自己的域名 server_name yourdomain.com;
ssl_certificate /usr/syno/etc/certificate/system/default/fullchain.pem; ssl_certificate_key /usr/syno/etc/certificate/system/default/privkey.pem; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers 'TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+ECDSA+AES128:EECDH+aRSA+AES128:EECDH+ECDSA+AES256:EECDH+aRSA+AES256:SSLCipherSuiteECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256;'; add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"; #开启HSTS
# 非443端口强制跳转https,注意不可有其他跳转 error_page 497 301 =307 https://$host:$server_port$request_uri;
# 反向代理 location / { proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $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;
proxy_pass http://127.0.0.1:8080; }
location /admin { proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $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;
proxy_pass http://127.0.0.1:8080; }}重载 Nginx 服务
# DSM 6.x 系统synoservice --reload nginx
# DSM 7.x 系统systemctl reload nginx首次使用 Bitwarden 需要创建账号,浏览器访问 https://域名.com:端口/admin,输入预先配置的 ADMIN_TOKEN 值,进入管理页面,优先配置 SMTP 邮箱发信后,重新回到首页通过创建账号进行登录。
推荐文章
基于标签匹配 · 智能推荐支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!
群晖部署Bitwarden密码管理器全攻略
https://blog.moewah.com/posts/5218/
喵斯基部落