Docker 自建 Bitwarden 密码服务器 centOS + 宝塔面板

2024-03-19 05:58

本文主要是介绍Docker 自建 Bitwarden 密码服务器 centOS + 宝塔面板,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

简单复制自 Docker 自建 Bitwarden 密码服务器
备份用 侵删

Docker

因为宝塔面板的 Docker 管理器在系统重启后就会无法启动,卸载重装还是会出现这种情况,似乎论坛有解决办法,但没去细看,还是直接 ssh 到服务器上直接安装吧。

更新 yum 软件源缓存,并安装 docker-ce。

sudo yum makecache fast
sudo yum install docker-ce

启动 Docker CE

sudo systemctl enable docker
sudo systemctl start docker

配置文件

为了方便使用宝塔备份数据,我在网站主目录中存放数据库文件,新建一个目录 Bitwarden:

mkdir /www/wwwroot/bitwarden && cd /www/wwwroot/bitwarden

准备配置文件:

vi config.env

根据需要修改下面的参数:

SIGNUPS_ALLOWED=true #是否开放用户注册;
DOMAIN=https://bitwarden.uefeng.com #Bitwarden 服务使用的域名
DATABASE_URL=/data/bitwarden.db #数据库在容器内的路径
ROCKET_WORKERS=10  #设置服务器线程
WEB_VAULT_ENABLED=true #是否开启 Web 客户端

准备服务描述文件:

vi docker-compose.yml

根据需要修改下面的参数:

version: '3
services:
bitwarden:
image: mprasil/bitwarden:latest #使用 mprasil/bitwarden 最新镜像
container_name: bitwarden
restart: always
volumes:
- ./data:/data  #容器内的 /data 目录挂载到宿主机的当前目录下的 data 目录;
env_file:
- config.env
ports:
- "47878:80" #将容器内的 80 端口映射到了宿主机的 47878 端口;

在面板新建一个站点,站点目录就选择刚新建的 Bitwarden 目录,配置好域名证书,添加反向代理。

https://img.uefeng.com/2019/10/3348597877.jpg

最后启动服务:

docker-compose up -d

用户注册和数据导入

启动服务后,通过刚配置好的域名,看到下图所示的登录界面,点击右下方的创建帐号。

https://img.uefeng.com/2019/10/1998373378.jpg

登录之后在左侧栏的「工具」菜单中找到数据导入页面,不过直接导入还是会有些错乱,需要手工调整,也有高级版才能使用的 TOTP。

https://img.uefeng.com/2019/10/1889338241.jpg

https://img.uefeng.com/2019/10/2077451744.jpg

关闭用户注册和网页端访问

因为密码服务器是我一个人使用,所以在注册好帐号,导入数据后,就关闭了用户注册权限和网页端访问权限,前面生成的 config.env 中,调整以下两项值:

SIGNUPS_ALLOWED=false
WEB_VAULT_ENABLED=false

修改之后,需要重启 bitwarden 服务才生效,运行以下命令来删除并重新创建容器。因为之前就做好了 数据库映射,不用担心数据被删除。

docker-compose down && docker-compose up -d

手机客户端很简洁,功能足够使用了,当然 ios 端的体验还是比 andriod 端的要好很多。

https://img.uefeng.com/2019/10/3188523389.jpg

这篇关于Docker 自建 Bitwarden 密码服务器 centOS + 宝塔面板的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/825019

相关文章

CentOS和Ubuntu系统使用shell脚本创建用户和设置密码

《CentOS和Ubuntu系统使用shell脚本创建用户和设置密码》在Linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设置密码,本文写了一个shell... 在linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

Windows 上如果忘记了 MySQL 密码 重置密码的两种方法

《Windows上如果忘记了MySQL密码重置密码的两种方法》:本文主要介绍Windows上如果忘记了MySQL密码重置密码的两种方法,本文通过两种方法结合实例代码给大家介绍的非常详细,感... 目录方法 1:以跳过权限验证模式启动 mysql 并重置密码方法 2:使用 my.ini 文件的临时配置在 Wi

Windows Docker端口占用错误及解决方案总结

《WindowsDocker端口占用错误及解决方案总结》在Windows环境下使用Docker容器时,端口占用错误是开发和运维中常见且棘手的问题,本文将深入剖析该问题的成因,介绍如何通过查看端口分配... 目录引言Windows docker 端口占用错误及解决方案汇总端口冲突形成原因解析诊断当前端口情况解

springboot上传zip包并解压至服务器nginx目录方式

《springboot上传zip包并解压至服务器nginx目录方式》:本文主要介绍springboot上传zip包并解压至服务器nginx目录方式,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录springboot上传zip包并解压至服务器nginx目录1.首先需要引入zip相关jar包2.然

将Java项目提交到云服务器的流程步骤

《将Java项目提交到云服务器的流程步骤》所谓将项目提交到云服务器即将你的项目打成一个jar包然后提交到云服务器即可,因此我们需要准备服务器环境为:Linux+JDK+MariDB(MySQL)+Gi... 目录1. 安装 jdk1.1 查看 jdk 版本1.2 下载 jdk2. 安装 mariadb(my

Python从零打造高安全密码管理器

《Python从零打造高安全密码管理器》在数字化时代,每人平均需要管理近百个账号密码,本文将带大家深入剖析一个基于Python的高安全性密码管理器实现方案,感兴趣的小伙伴可以参考一下... 目录一、前言:为什么我们需要专属密码管理器二、系统架构设计2.1 安全加密体系2.2 密码强度策略三、核心功能实现详解

基于Python打造一个可视化FTP服务器

《基于Python打造一个可视化FTP服务器》在日常办公和团队协作中,文件共享是一个不可或缺的需求,所以本文将使用Python+Tkinter+pyftpdlib开发一款可视化FTP服务器,有需要的小... 目录1. 概述2. 功能介绍3. 如何使用4. 代码解析5. 运行效果6.相关源码7. 总结与展望1

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经

Docker镜像修改hosts及dockerfile修改hosts文件的实现方式

《Docker镜像修改hosts及dockerfile修改hosts文件的实现方式》:本文主要介绍Docker镜像修改hosts及dockerfile修改hosts文件的实现方式,具有很好的参考价... 目录docker镜像修改hosts及dockerfile修改hosts文件准备 dockerfile 文