一、简介

Vaultwarden是著名的Bitwarden项目的一个分支,是一个社区驱动的项目,使用Rust语言编写。它是Bitwarden的轻量级自托管替代方案,完全兼容Bitwarden客户端协议,支持通过Docker或Podman极速部署,几分钟内就能完成上线,极为便捷,尤其适合服务器资源有限、追求轻量化的用户。

二、主要特点

  1. 自托管:可以将其托管在自己的服务器或基础设施上,完全控制数据,减少对第三方服务和云提供商的依赖。
  2. 端到端加密:采用强大的端到端加密来保护密码和其他敏感信息,所有数据在发送到服务器之前都会在设备上进行加密,只有用户可以访问解密的数据。
  3. 开源和透明度:是一个开源项目,源代码可公开供审查,这种透明度促进信任,并允许安全专家审核代码,增强平台的整体安全性。
  4. 跨平台兼容性:服务器可与官方Bitwarden客户端配合使用,适用于各种平台,包括Windows、macOS、Linux、iOS和Android,能从任何设备轻松访问密码。
  5. 浏览器集成:使用Bitwarden的浏览器扩展,可将自托管Vaultwarden服务器与所有主要Web浏览器无缝集成,在浏览网页时自动填充登录凭据并直接访问密码。
  6. 活跃的社区支持:受益于活跃且参与的开发者和用户社区,为其持续的开发和支持做出贡献。
  7. 经济高效:与订阅基于云的密码管理服务相比,自托管Vaultwarden是一种经济高效的选择,特别是对于拥有特定托管资源的个人或组织而言。
  8. 资源占用低:相比官方服务器,内存占用显著降低,仅需约10MB内存。
  9. 完整功能支持:支持密码存储、安全笔记、信用卡信息、身份信息等核心功能。

三、部署要求

  1. Docker Engine:用于容器化部署和管理。
  2. Docker Compose:支持configs的版本,用于多容器应用的编排。
  3. 推荐服务器配置:CPU为2核心,内存为2GB RAM,存储为20GB+可用空间。
  4. 网络环境:要求支持https访问,需配备tls证书,如果是自签证书,需要浏览器信任。

四、部署步骤(以Docker Compose为例)

  1. 安装Docker和Docker Compose:

    • 如果尚未安装Docker,可以参考相关指南,如在Ubuntu 22.04、Debian 12 (Bullseye)、AlmaLinux/Rocky Linux、Fedora、Linux Mint 21、树莓派等系统上的安装方法。
    • 安装Docker Compose,可使用以下命令:
1sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-linux-$(uname -m)" -o /usr/local/bin/docker-compose
2sudo chmod +x /usr/local/bin/docker-compose
  1. 创建部署目录并编辑部署文件:

    • 创建部署目录:
1mkdir -p /data/vaultwarden &&  cd /data/vaultwarden
- 在部署目录下,创建docker-compose.yaml文件,示例内容如下:
1version: '3'
2services:
3 vaultwarden:
4 container_name: vaultwarden
5 image: vaultwarden/server:latest
6 restart: unless-stopped
7 volumes:
8 - ./data/:/data/
9 ports:
10 - 8080:80
11 environment:
12 - DOMAIN=https://subdomain.yourdomain.com # 这是您希望与您的Vaultwarden实例关联的域名。
13 - LOGIN_RATELIMIT_MAX_BURST=10 # 允许在一阵登录/两步验证尝试中的最大请求次数。
14 - LOGIN_RATELIMIT_SECONDS=60 # 这是来自同一IP的登录请求之间的平均秒数,在Vaultwarden限制登录次数之前。
15 - ADMIN_RATELIMIT_MAX_BURST=10 # 这与LOGIN_RATELIMIT_MAX_BURST相同,只争对admin面板。
16 - ADMIN_RATELIMIT_SECONDS=60 # 这与LOGIN_RATELIMIT_SECONDS相同
17 - ADMIN_SESSION_LIFETIME=20 # 会话持续时间
18 - ADMIN_TOKEN=YourReallyStrongAdminTokenHere # 此值是Vaultwarden管理员面板的令牌(一种密码)。为了安全起见,这应该是一个长的随机字符串。如果未设置此值,则管理员面板将被禁用。建议openssl rand -base64 48生成ADMIN_TOKEN确保安全
19 - SENDS_ALLOWED=true # 此设置决定是否允许用户创建Bitwarden发送 - 一种凭证共享形式。
20 - EMERGENCY_ACCESS_ALLOWED=true # 此设置控制用户是否可以启用紧急访问其账户的权限。例如,这样做可以在用户去世后,配偶可以访问密码库以获取账户凭证。可能的值:true / false。
21 - WEB_VAULT_ENABLED=true # 此设置决定了网络保险库是否可访问。一旦您配置了您的账户和客户端,停止您的容器,然后将此值切换为false并重启Vaultwarden,可以用来防止未授权访问。可能的值:true/false。
22 - SIGNUPS_ALLOWED=true # 此设置控制新用户是否可以在没有邀请的情况下注册账户。可能的值:true / false。
- 注意:`DOMAIN` 改成最后要用的域名形式,`ADMIN_TOKEN` 可以在ssh里面输入 `openssl rand -base64 48` 生成。

3. 创建Vaultwarden容器:

1docker-compose up -d
  1. 配置反向代理(可选):为了便于长期维护和提供HTTPS服务,推荐使用Nginx或Caddy等反代服务。例如,使用Caddy作为反向代理,它可以自动颁发Let’s Encrypt SSL证书。

五、访问Vaultwarden服务

安装以后,就可以通过ip:8080访问Vaultwarden密码管理面板。如果配置了反向代理和HTTPS,可通过域名进行安全访问。

可轻便docker部署的密码保存系统:Vaultwarden的更多相关文章

  1. 使用docker部署WordPress博客系统(win10企业版)

    docker介绍: docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相 ...

  2. 利用docker部署oxidized网络设备备份系统

    随着网络设备的增多,通过人手备份网络设备倍感压力,而且效率低.有编程基础的人可能会通过Python的parimiko 或者netmiko 连接到设备操作 把文件通过ftp 上传到FTP服务器, 在通过 ...

  3. 利用docker部署elk交换机日志分析

    今天我们来聊一下利用docker部署elk日志分析系统,这里解析一下elk是啥东西.elk分别是Elasticsearch,Logstash和Kibana的首字母缩写. Elasticsearch是一 ...

  4. Docker 方式部署 Solo 博客系统总结

      此篇为Docker部署方式,另有Tomcat部署方式,请参考文章<Tomcat 方式部署 Solo 博客系统总结>   最近搭建了一个博客系统,作为自己的主页,方便记录一些平时所见所闻 ...

  5. Centos 7使用docker部署LAMP搭建wordpress博客系统

    0.简要概述 LAMP是目前比较流行的web框架,即Linux+Apache+Mysql+PHP的网站架构方案.docker是目前非常流行的虚拟化应用容器,可以为任何应用创建一个轻量级.可移植的容器. ...

  6. 使用Docker部署监控系统,Prometheus,Grafana,监控服务器信息及Mysql

    使用Docker部署监控系统,Prometheus,Grafana,监控服务器信息及Mysql 一.docker部署prometheus监控系统 1.1 配置安装环境 1.1.1 安装promethe ...

  7. Docker学习笔记三:Docker部署Java web系统

    Docker部署Java Web系统 1.在root目录下创建一个路径test/app mkdir test && cd test&& mkdir app && ...

  8. 使用Docker部署Spring-Boot+Vue博客系统

    在今年年初的时候,完成了自己的个Fame博客系统的实现,当时也做了一篇博文Spring-boot+Vue = Fame 写blog的一次小结作为记录和介绍.从完成实现到现在,也断断续续的根据实际的使用 ...

  9. liunx系统docker部署.net core3.1

    此篇文章演示基本的基于docker部署.netcore服务,liunx系统腾讯云ubuntu,.net core版本3.1. 1.安装docker apt install docker.io 2.拉取 ...

  10. Tomcat 方式部署 Solo 博客系统总结

      此篇为Tomcat部署方式,另有Docker部署方式,请参考文章<Docker 方式部署 Solo 博客系统总结> 一.环境和文件准备 服务器:购买的阿里云服务器,系统为Linux(C ...

随机推荐

  1. Hetao P1156 最大战力 题解 [ 绿 ][ 二分 ][ 最大子段和 ]

    最大战力 Vjudge 原题 题解 形式化题意 给定两个数组 \(a[n]\) 和 \(b[n]\) ,需要在数组 \(b\) 中选择一个区间 \(b[l,r]\) ,替换掉区间 \(a[l,r]\) ...

  2. 关于DateTime的自定义转换

    关于DateTime的自定义转换.把字符串时间转换成可以供DateTime类型识别的字符串类型的粗略实现. /// <summary> /// 把从数据库中读取的字符串的CurrentTi ...

  3. Chatbox接入硅基流动deepseek R1模型API

    Chatbox接入硅基流动deepseek R1模型API 注册硅基流动,填入邀请码会获得14元的免费额度 硅基流动最新邀请码:9MqV8tO4 注册硅基流动后 新建一个秘钥 回到模型广场,选择dee ...

  4. ReviOS - 专为游戏优化的 Win11 / Win10 精简版系统

    ReviOS介绍 ReviOS 渴望重新创建作为操作系统的 Windows 应该是 - 简单.ReviOS 是一款功能强大.高效的私有操作系统,适用于游戏玩家.高级用户和发烧友.由于资源.占用内存和存 ...

  5. Typecho网站内容的禁止复制和粘贴

    本教程讲JS实现网站内容的禁止复制和粘贴.另存为 1.使右键和复制失效 方法1: 在网页中加入以下代码: <script language="Javascript"> ...

  6. JavaGUI - [03] LayoutManager布局管理器

      Component中有一个方法setBounds()可以设置当前容器的位置和大小,但如果我们手动为组件设置位置和大小的话,就会造成程序的不通用性.LayoutManager布局管理器可以根据运行平 ...

  7. Docker安装与镜像加速器的配置

    Docker简介 百科说:Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机 ...

  8. 北京大学DeepSeek系列教程:《DeepSeek与AIGC应用》

    前言 今天大姚分享一个由北京大学推出的DeepSeek系列学习教程<DeepSeek与AIGC应用>,该文档全面介绍了DeepSeek-R1模型的技术特性.应用场景及其在AIGC领域的重要 ...

  9. CompletableFuture API介绍及使用

    1. 介绍 CompletableFuture 是 Java 8 引入的一个用于异步编程的类,位于 java.util.concurrent 包中.它是对 Future 的增强,提供了更强大的功能来支 ...

  10. 快速排序(NB)

    博客地址:https://www.cnblogs.com/zylyehuo/ # _*_coding:utf-8_*_ def partition(li, left, right): tmp = li ...