可轻便docker部署的密码保存系统:Vaultwarden
一、简介
Vaultwarden是著名的Bitwarden项目的一个分支,是一个社区驱动的项目,使用Rust语言编写。它是Bitwarden的轻量级自托管替代方案,完全兼容Bitwarden客户端协议,支持通过Docker或Podman极速部署,几分钟内就能完成上线,极为便捷,尤其适合服务器资源有限、追求轻量化的用户。
二、主要特点
- 自托管:可以将其托管在自己的服务器或基础设施上,完全控制数据,减少对第三方服务和云提供商的依赖。
- 端到端加密:采用强大的端到端加密来保护密码和其他敏感信息,所有数据在发送到服务器之前都会在设备上进行加密,只有用户可以访问解密的数据。
- 开源和透明度:是一个开源项目,源代码可公开供审查,这种透明度促进信任,并允许安全专家审核代码,增强平台的整体安全性。
- 跨平台兼容性:服务器可与官方Bitwarden客户端配合使用,适用于各种平台,包括Windows、macOS、Linux、iOS和Android,能从任何设备轻松访问密码。
- 浏览器集成:使用Bitwarden的浏览器扩展,可将自托管Vaultwarden服务器与所有主要Web浏览器无缝集成,在浏览网页时自动填充登录凭据并直接访问密码。
- 活跃的社区支持:受益于活跃且参与的开发者和用户社区,为其持续的开发和支持做出贡献。
- 经济高效:与订阅基于云的密码管理服务相比,自托管Vaultwarden是一种经济高效的选择,特别是对于拥有特定托管资源的个人或组织而言。
- 资源占用低:相比官方服务器,内存占用显著降低,仅需约10MB内存。
- 完整功能支持:支持密码存储、安全笔记、信用卡信息、身份信息等核心功能。
三、部署要求
- Docker Engine:用于容器化部署和管理。
- Docker Compose:支持configs的版本,用于多容器应用的编排。
- 推荐服务器配置:CPU为2核心,内存为2GB RAM,存储为20GB+可用空间。
- 网络环境:要求支持https访问,需配备tls证书,如果是自签证书,需要浏览器信任。
四、部署步骤(以Docker Compose为例)
- 安装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
- 创建部署目录并编辑部署文件:
- 创建部署目录:
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
- 配置反向代理(可选):为了便于长期维护和提供HTTPS服务,推荐使用Nginx或Caddy等反代服务。例如,使用Caddy作为反向代理,它可以自动颁发Let’s Encrypt SSL证书。
五、访问Vaultwarden服务
安装以后,就可以通过ip:8080
访问Vaultwarden密码管理面板。如果配置了反向代理和HTTPS,可通过域名进行安全访问。
可轻便docker部署的密码保存系统:Vaultwarden的更多相关文章
- 使用docker部署WordPress博客系统(win10企业版)
docker介绍: docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相 ...
- 利用docker部署oxidized网络设备备份系统
随着网络设备的增多,通过人手备份网络设备倍感压力,而且效率低.有编程基础的人可能会通过Python的parimiko 或者netmiko 连接到设备操作 把文件通过ftp 上传到FTP服务器, 在通过 ...
- 利用docker部署elk交换机日志分析
今天我们来聊一下利用docker部署elk日志分析系统,这里解析一下elk是啥东西.elk分别是Elasticsearch,Logstash和Kibana的首字母缩写. Elasticsearch是一 ...
- Docker 方式部署 Solo 博客系统总结
此篇为Docker部署方式,另有Tomcat部署方式,请参考文章<Tomcat 方式部署 Solo 博客系统总结> 最近搭建了一个博客系统,作为自己的主页,方便记录一些平时所见所闻 ...
- Centos 7使用docker部署LAMP搭建wordpress博客系统
0.简要概述 LAMP是目前比较流行的web框架,即Linux+Apache+Mysql+PHP的网站架构方案.docker是目前非常流行的虚拟化应用容器,可以为任何应用创建一个轻量级.可移植的容器. ...
- 使用Docker部署监控系统,Prometheus,Grafana,监控服务器信息及Mysql
使用Docker部署监控系统,Prometheus,Grafana,监控服务器信息及Mysql 一.docker部署prometheus监控系统 1.1 配置安装环境 1.1.1 安装promethe ...
- Docker学习笔记三:Docker部署Java web系统
Docker部署Java Web系统 1.在root目录下创建一个路径test/app mkdir test && cd test&& mkdir app && ...
- 使用Docker部署Spring-Boot+Vue博客系统
在今年年初的时候,完成了自己的个Fame博客系统的实现,当时也做了一篇博文Spring-boot+Vue = Fame 写blog的一次小结作为记录和介绍.从完成实现到现在,也断断续续的根据实际的使用 ...
- liunx系统docker部署.net core3.1
此篇文章演示基本的基于docker部署.netcore服务,liunx系统腾讯云ubuntu,.net core版本3.1. 1.安装docker apt install docker.io 2.拉取 ...
- Tomcat 方式部署 Solo 博客系统总结
此篇为Tomcat部署方式,另有Docker部署方式,请参考文章<Docker 方式部署 Solo 博客系统总结> 一.环境和文件准备 服务器:购买的阿里云服务器,系统为Linux(C ...
随机推荐
- Hetao P1156 最大战力 题解 [ 绿 ][ 二分 ][ 最大子段和 ]
最大战力 Vjudge 原题 题解 形式化题意 给定两个数组 \(a[n]\) 和 \(b[n]\) ,需要在数组 \(b\) 中选择一个区间 \(b[l,r]\) ,替换掉区间 \(a[l,r]\) ...
- 关于DateTime的自定义转换
关于DateTime的自定义转换.把字符串时间转换成可以供DateTime类型识别的字符串类型的粗略实现. /// <summary> /// 把从数据库中读取的字符串的CurrentTi ...
- Chatbox接入硅基流动deepseek R1模型API
Chatbox接入硅基流动deepseek R1模型API 注册硅基流动,填入邀请码会获得14元的免费额度 硅基流动最新邀请码:9MqV8tO4 注册硅基流动后 新建一个秘钥 回到模型广场,选择dee ...
- ReviOS - 专为游戏优化的 Win11 / Win10 精简版系统
ReviOS介绍 ReviOS 渴望重新创建作为操作系统的 Windows 应该是 - 简单.ReviOS 是一款功能强大.高效的私有操作系统,适用于游戏玩家.高级用户和发烧友.由于资源.占用内存和存 ...
- Typecho网站内容的禁止复制和粘贴
本教程讲JS实现网站内容的禁止复制和粘贴.另存为 1.使右键和复制失效 方法1: 在网页中加入以下代码: <script language="Javascript"> ...
- JavaGUI - [03] LayoutManager布局管理器
Component中有一个方法setBounds()可以设置当前容器的位置和大小,但如果我们手动为组件设置位置和大小的话,就会造成程序的不通用性.LayoutManager布局管理器可以根据运行平 ...
- Docker安装与镜像加速器的配置
Docker简介 百科说:Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机 ...
- 北京大学DeepSeek系列教程:《DeepSeek与AIGC应用》
前言 今天大姚分享一个由北京大学推出的DeepSeek系列学习教程<DeepSeek与AIGC应用>,该文档全面介绍了DeepSeek-R1模型的技术特性.应用场景及其在AIGC领域的重要 ...
- CompletableFuture API介绍及使用
1. 介绍 CompletableFuture 是 Java 8 引入的一个用于异步编程的类,位于 java.util.concurrent 包中.它是对 Future 的增强,提供了更强大的功能来支 ...
- 快速排序(NB)
博客地址:https://www.cnblogs.com/zylyehuo/ # _*_coding:utf-8_*_ def partition(li, left, right): tmp = li ...