用 1Panel 自托管 Vaultwarden:反代 HTTPS、关闭注册与 WebDAV 备份

举报
yd_286747025 发表于 2026/11/07 11:39:54 2026/11/07
【摘要】 密码管理器我一直想自己托管,数据放在自己手里更踏实。这次用 1Panel 的编排功能部署了 Vaultwarden(Bitwarden 的轻量第三方服务端),记录一下步骤和几个容易忽略的点。 一、部署在 1Panel 里新建一个编排,名字随意,内容如下:services: vaultwarden: image: vaultwarden/server:latest contain...

密码管理器我一直想自己托管,数据放在自己手里更踏实。这次用 1Panel 的编排功能部署了 Vaultwarden(Bitwarden 的轻量第三方服务端),记录一下步骤和几个容易忽略的点。

一、部署

在 1Panel 里新建一个编排,名字随意,内容如下:

services:
  vaultwarden:
    image: vaultwarden/server:latest
    container_name: vaultwarden
    restart: always
    environment:
      - DOMAIN=vault.example.com
    volumes:
      - ./vw-data:/data
    ports:
      - "127.0.0.1:8080:80"

要点是端口只绑定 127.0.0.1,不直接暴露公网,外部访问统一走反向代理。数据都在 ./vw-data 目录里,后面备份也只备份它。

二、反向代理和 HTTPS

Bitwarden 客户端强制要求 HTTPS,所以必须配证书。在 1Panel 的「网站」里创建反向代理站点,代理地址填 http://127.0.0.1:8080,然后在 HTTPS 设置里申请 Let’s Encrypt 证书,验证方式选 HTTP 验证,并打开自动续期。前提是域名已经解析到服务器,80 端口能从外面访问到,否则申请会失败。

三、创建账号后立刻关闭注册

我先把 SIGNUPS_ALLOWED 设为 true,注册好自己的账号,然后改成 false,再重启容器:

docker compose up -d --force-recreate

自托管的服务如果一直开着注册,等于把入口留给任何知道地址的人,这一步千万别忘。

四、备份到 WebDAV

密码库丢了是大事,只放在一台机器上不行。1Panel 的「备份账号」支持 WebDAV,我添加了一个网盘的 WebDAV 账号(地址、用户名、应用专用密码),然后给这个编排或数据目录建一个定时备份任务,备份目标选 WebDAV,并设置保留份数。建好后手动执行一次,去网盘里确认文件真的出现了,再用「恢复」流程想一遍,别等真出事才发现备份是空的。

五、踩过的坑

  1. 证书申请失败:多半是域名没解析好,或者防火墙、安全组没放行 80 端口。先用 curl 从外网测一下。
  2. 客户端提示连不上:检查 DOMAIN 环境变量是否写成了真实的 https 地址,反代有没有开启 WebSocket 支持。
  3. 数据位置:别把数据放在容器内部,一定要挂载到宿主机目录,否则重建容器就没了。

六、小结

整套流程不复杂:容器只监听本机,反代加 HTTPS,建完号关注册,数据定时备份到异地。1Panel 把后面几步都做成了界面操作,对不想手写 nginx 配置的人比较友好。建议再给服务器开启系统更新,并定期拉取新版镜像。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。