Docker 部署 Bitwarden RS 服务

Bitwarden RS 服务是官方 Bitwarden server APIRust 重构版。因为 Bitwarden RS 必须要通过 https 才能访问, 所以在开始下面的步骤之前, 建议先参考 《Ubuntu Nginx 配置 SSL 证书》 配置好域名和 https 访问。

部署 Bitwarden RS

拉取最新版本的 docker.io/vaultwarden/server 镜像:

$ sudo docker pull docker.io/vaultwarden/server:latest

使用以下命令来运行 docker.io/vaultwarden/server:latest 容器:

$ sudo docker run -d --name bitwardenrs -v /home/ubuntu/docker/bitwardenrs/data:/data -p 10089:80 docker.io/vaultwarden/server:latest

上面的 docker run 命令解释如下:

  • -d
    • 保持STDIN打开状态
  • --name
    • 给容器起一个名字方便管理
  • -v /home/ubuntu/docker/bitwardenrs/data/data:/data
    • 将容器的 /data 目录映射到本机的 /home/ubuntu/docker/bitwardenrs/data 目录
  • -p 10089:80
    • 将容器的 80 端口映射到本机的 10089 端口

现在可以访问前面配置好的域名访问搭建好的 Bitwarden RS 网站, 并注册一个新账户进入用户主页:

在这里插入图片描述

私有化设置

先删除上一步创建好的 Bitwarden RS 容器:

$ sudo docker ps -a
$ sudo docker rm -f bitwardenrs

再使用下面的命令重新创建一个 Bitwarden RS 容器:

$ sudo docker run -d --name bitwardenrs -e SIGNUPS_ALLOWED=false -e INVITATIONS_ALLOWED=false -v /home/ubuntu/docker/bitwardenrs/data:/data -p 10089:80 docker.io/vaultwarden/server:latest

上面的 docker run 命令中新增的内容解释如下:

  • -e SIGNUPS_ALLOWED=false
    • 禁用新用户的注册
  • -e INVITATIONS_ALLOWED=false
    • 禁用邀请

需要注意的是, 现在 注册邀请 功能仍然显示在页面上, 但是实际尝试 注册邀请 会报错误消息。因为官方 Bitwarden server API 是一个开放平台, 所以我们无法完全禁用。

客户端配置

直接从 官方 Bitwarden 应用程序 下载不同平台的应用程序。如果 Android 应用程序无法正常下载, 可以到 uptodown 搜索下载。

在这里插入图片描述

然后在应用程序的登录页面, 选择 自托管 并填写域名地址, 重启后就是对接我们自己的服务器了。

更详细的内容可以查看 Bitwarden RS wiki 文档。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/111384.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大数据-玩转数据-Flink恶意登录监控

一、恶意登录 对于网站而言,用户登录并不是频繁的业务操作。如果一个用户短时间内频繁登录失败,就有可能是出现了程序的恶意攻击,比如密码暴力破解。 因此我们考虑,应该对用户的登录失败动作进行统计,具体来说&#x…

长话短说 CopyOnWrite 思想及其应用场景

长话短说 CopyOnWrite 思想及其应用场景。 CopyOnWrite(写入时复制)思想 CopyOnWrite(简称COW,中文意思是:写入时复制)就是在进行写操作时,先复制要改变的对象,对副本进行写操作,完成对副本的操作后,把原有对象的引用指向副本对象。 CopyOnWrite采用了读写分离的思想…

七天学会C语言-第二天(数据结构)

1. If 语句&#xff1a; If 语句是一种条件语句&#xff0c;用于根据条件的真假执行不同的代码块。它的基本形式如下&#xff1a; if (条件) {// 条件为真时执行的代码 } else {// 条件为假时执行的代码 }写一个基础的If语句 #include<stdio.h> int main(){int x 10;…

opencv形状目标检测

1.圆形检测 OpenCV图像处理中“找圆技术”的使用-图像处理-双翌视觉OpenCV图像处理中“找圆技术”的使用,图像处理,双翌视觉https://www.shuangyi-tech.com/news_224.htmlopencv 找圆心得&#xff0c;模板匹配比霍夫圆心好用 - 知乎1 相比较霍夫找直线算法&#xff0c; 霍夫找…

2023年云南省职业院校技能大赛中职组“网络安全”赛项样题

2023年云南省职业院校技能大赛 中职组“网络安全”赛项样题 一、竞赛时间 总计&#xff1a;180分钟 二、竞赛阶段 竞赛阶段 任务阶段 竞赛任务 竞赛时间 分值 A、B模块 A-1 登录安全加固 180分钟 200分 A-2 数据库加固 A-3 服务加固SSH\VSFTPD A-4 防火墙策…

90 # 实现 express 请求处理

上一节构建 layer 和 route 的关系&#xff0c;这一节来实现 express 请求处理 application.js const http require("http"); const Router require("./router");function Application() {this._router new Router(); }Application.prototype.get fu…

LabVIEW使用ModbusTCP协议构建分布式测量系统

LabVIEW使用ModbusTCP协议构建分布式测量系统 分布式测量系统主要用于监控远程物体。这种系统允许对系统用户获得的数据进行全面的数据收集、处理、存储和组织访问。它们可能包括许多不同类型的传感器。 在任何具有互联网接入的个人计算机上运行的软件都会发送来自传感器的测…

链表的基本操作(acm模式,中等)

此题自己亲自动手实现难度确实不容易&#xff0c;为了更好的掌握 链表这一结构&#xff0c;还是得自己敲&#xff0c;自己debug,还得多次看&#xff0c;才能脑子清楚&#xff0c;手也熟。 // 本题的删除索引是从1开始&#xff0c;函数实现是从0开始&#xff0c;先说明这一点&a…

DMA简单总结

文章目录 一、基础概念1.1 DMA---Direct Memory Access 直接存储器访问&#xff0c;目的减少CPU资源占用 二、典型DMA硬件模型2.1 基本硬件特性---通道数、源/目标类型&#xff0c;地址与累加方式&#xff0c;数据位宽&#xff0c;搬移长度&#xff0c;循环模式&#xff0c;中断…

操作系统备考学习 day3 (2.1.1 - 2.1.6)

操作系统备考学习 day3 二、进程与线程2.1 进程与线程2.1.1 进程的概念和特征2.1.2 进程的状态与转换2.1.3 进程的组织2.1.4 进程控制2.1.5 进程间通信&#xff08;IPC&#xff09;2.1.6 线程和多线程模型 二、进程与线程 2.1 进程与线程 2.1.1 进程的概念和特征 进程&#…

华为云云耀云服务器L实例评测|redis漏洞回顾 MySQL数据安全解决 搭建主从集群MySQL 相关设置

前言 最近华为云云耀云服务器L实例上新&#xff0c;也搞了一台来玩&#xff0c;期间遇到过MySQL数据库被攻击的情况&#xff0c;数据丢失&#xff0c;还好我有几份备份&#xff0c;没有造成太大的损失&#xff1b;后来有发现Redis数据库被攻击的情况&#xff0c;加入了redis密…

获得进程的内核转储core

预备 main.cpp #include <iostream>using namespace std;int main(int argc,char *argv[]) {int *a NULL;*a 0x1;return 0; }CMakeLists.txt cmake_minimum_required(VERSION 3.10)project(main)SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -Wall")INCLUD…