可轻便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 ...
随机推荐
- PostgreSQL:数据库迁移与版本控制
title: PostgreSQL:数据库迁移与版本控制 date: 2025/2/6 updated: 2025/2/6 author: cmdragon excerpt: 在现代软件开发中,数据库 ...
- ssh免密登录,服务器互信。
1.ssh-keygen 产生本主机的公钥和私钥. ssh-keygen -t rsa 文件保存在 ~/.ssh/目录下,其中 id_rsa:本地服务器的私钥 id_rsa.pub:本地服务器的公钥 ...
- .NET最佳实践:避免同步读取HttpRequest
为什么要避免同步读取 ASP.NET Core 中的所有 I/O 操作都是异步的.服务器实现了 Stream 接口,该接口同时具备同步和异步的方法. 在进行 I/O 操作时,应优先使用异步方法,以避免 ...
- 5.main.js配置
1.根目录新建api文件夹 api文件夹分mock(存放虚拟json)和urls(api请求链接) urls 中新建index.js来汇总按分类拆分的url请求文件 2.添加api配置 imp ...
- 揭秘 Sdcb Chats 如何解析 DeepSeek-R1 思维链
在上一篇文章中,我介绍了 Sdcb Chats 如何集成 DeepSeek-R1 模型,并利用其思维链(Chain of Thought, CoT)功能增强 AI 推理的透明度.DeepSeek-R1 ...
- 深入集成:使用 DeepSeek SDK for .NET 实现自然语言处理功能
快速上手:DeepSeek SDK for .NET 全面指南 简介 Ater.DeepSeek.AspNetCore 是专门为 .NET 开发者提供的 DeepSeek API SDK.它旨在简化与 ...
- 重磅发布!DeepSeek 微调秘籍揭秘,一键解锁升级版全家桶,AI 玩家必备神器!
DeepSeek V3/R1 火爆全网,基于原始模型的解决方案和 API 服务已随处可见,陷入低价和免费内卷. 如何站在巨人肩膀上,通过后训练(post-training)结合专业领域数据,低成本打造 ...
- 【全网最全教程】使用最强DeepSeekR1+联网的火山引擎,没有生成长度限制,DeepSeek本体的替代品,可本地部署+知识库,注册即可有750w的token使用
最近火山引擎推出了自家联网版的DeepSeekR1,并且加入了联网的功能,不用担心DeepSeek本体的服务器繁忙了,可以说直接是DeepSeek本体的替代品.现在注册即送30块体验价(相当于750w ...
- tinyint、int的区别
1.tinyint(1字节--4位[带符号]) 很小的整数.带符号的范围是-128到127.无符号的范围是0到255. 2.smallint(2字节--6位[带符号]) 小的整数.带符号的范围是-32 ...
- go语言实现终端里的倒计时
最近在更新系统的时候发现pacman的命令行界面变了,我有很久没更新过设备上的Linux系统了,所以啥时候变的不好说.但这一变化成功勾起了我的好奇心.新版的更新进度界面如下: 新的更新进度界面能同时显 ...