【docker】Bitwarden | 开源密码管理服务

2024-08-20 19:00:32 浏览数 (1)

本文发布于315天前,最后更新于140天前,其中的信息可能有所发展或是发生改变。

1.前言

The password manager trusted by millions At home, at work, or on the go, Bitwarden easily secures all your passwords and sensitive information.

夜梦推荐此项目使用1panel快速部署。

2.准备

2.1服务器

配置参考

最低配置

推荐配置

CPU

x64, 1.4GHz

x64, 2GHz dual core

内存

2GB RAM

4GB RAM

存储

12GB

25GB

Docker版本

Engine 19 and Compose 1.24

Engine 19 and Compose 1.24

2.2域名

如果你有公网访问的需求,夜梦强烈推荐使用自己的域名,并将所使用的域名解析到自己的服务器上。

2.3 docker/docker-compose

在开始部署之前,你需要安装 docker 和 docker-compose。具体安装方法请参考:在服务器上安装 docker/docker-compose

3.部署

3.1端口

Bitwarden默认占用80与443端口,你也可以在后续的安装中修改占用端口。

3.2用户(可选)

可选

推荐新建一个专门的用户来运行Bitwarden。仅为官方推荐,非必需。

创建一个bitwarden用户:

代码语言:javascript复制
sudo adduser bitwarden

设置密码(一定要强,输入时不会显示):

代码语言:javascript复制
sudo passwd bitwarden

创建一个docker组(如果还没有的话):

代码语言:javascript复制
sudo groupadd docker

将用户bitwarden添加到docker组中:

代码语言:javascript复制
sudo usermod -aG docker bitwarden

创建bitwarden目录:

代码语言:javascript复制
sudo mkdir /opt/bitwarden

设置目录/opt/bitwarden权限:

代码语言:javascript复制
sudo chmod -R 700 /opt/bitwarden

设置目录/opt/bitwarden的所有者为bitwarden:

代码语言:javascript复制
sudo chown -R bitwarden:bitwarden /opt/bitwarden

3.3安装

下载安装脚本

代码语言:javascript复制
curl -Lso bitwarden.sh "https://func.bitwarden.com/api/dl/?app=self-host&platform=linux" && chmod 700 bitwarden.sh

运行脚本

代码语言:javascript复制
./bitwarden.sh install

完善信息

  • Enter the domain name for your Bitwarden instance:输入你的域名
  • Do you want to use Let’s Encrypt to generate a free SSL certificate? (y/n):一般选择y,然后你需要输入你的邮箱用来申请证书。
  • Enter the database name for your Bitwarden instance (ex. vault):输入vault即可。
  • Enter your installation id:到https://bitwarden.com/host取获得Id&Key。

点击submit即可得到

  • Enter your installation key:installation id获取方式。
  • Enter your region (US/EU) [US]:默认即可。

然后会生成密钥,等待即可。

启动项目,初次启动会拉取镜像,速度取决于你的网络,耐心等待即可。

代码语言:javascript复制
./bitwarden.sh start

3.4配置环境变量(必须)

有一些环境变量未在bitwarden.sh脚本中配置,所以要我们手动进行配置。

编辑配置文件

代码语言:javascript复制
cd ~
vim ./bwdata/env/global.override.env

改下面的变量(必须配置,否则无法验证邮箱)

代码语言:javascript复制
...
globalSettings__mail__smtp__host=<placeholder>
globalSettings__mail__smtp__port=<placeholder>
globalSettings__mail__smtp__ssl=<placeholder>
globalSettings__mail__smtp__username=<placeholder>
globalSettings__mail__smtp__password=<placeholder>
...
adminSettings__admins=
...

globalSettings__mail__smtp...= SMTP相关信息(推荐使用Gmail邮箱)

adminSettings__admins=管理员邮箱

改完保存以后,记得重启

代码语言:javascript复制
./bitwarden.sh restart

3.5配置安装文件

安装脚本使用的文件是./bwdata/config.yml。如果你有需求,比如换端口什么的,可以对安装文件进行修改。

代码语言:javascript复制
cd ~ && vim ./bwdata/config.yml

修改好记得重新应用。

代码语言:javascript复制
./bitwarden.sh rebuild

然后启动

代码语言:javascript复制
./bitwarden.sh start

运行成功

代码语言:javascript复制
Bitwarden is up and running!
===================================================

visit https://yourdomain.com
to update, run `./bitwarden.sh updateself` and then `./bitwarden.sh update`

3.6检查运行

代码语言:javascript复制
docker ps

如果提示

代码语言:javascript复制
CONTAINER ID   IMAGE                              COMMAND            CREATED         STATUS                   PORTS                                                                                    NAMES
9c6b45fb5fee   bitwarden/nginx:2023.9.0           "/entrypoint.sh"   2 minutes ago   Up 2 minutes (healthy)   80/tcp, 0.0.0.0:80->8080/tcp, :::80->8080/tcp, 0.0.0.0:443->8443/tcp, :::443->8443/tcp   bitwarden-nginx
e7f46c94587e   bitwarden/admin:2023.9.0           "/entrypoint.sh"   2 minutes ago   Up 2 minutes (healthy)   5000/tcp                                                                                 bitwarden-admin
fa7cac7f458e   bitwarden/web:2023.9.1             "/entrypoint.sh"   2 minutes ago   Up 2 minutes (healthy)                                                                                            bitwarden-web
fab16c02aebd   bitwarden/events:2023.9.0          "/entrypoint.sh"   2 minutes ago   Up 2 minutes (healthy)   5000/tcp                                                                                 bitwarden-events
3fccfa041435   bitwarden/api:2023.9.0             "/entrypoint.sh"   2 minutes ago   Up 2 minutes (healthy)   5000/tcp                                                                                 bitwarden-api
c5b2fd80339a   bitwarden/mssql:2023.9.0           "/entrypoint.sh"   2 minutes ago   Up 2 minutes (healthy)                                                                                            bitwarden-mssql
007246ec3836   bitwarden/icons:2023.9.0           "/entrypoint.sh"   2 minutes ago   Up 2 minutes (healthy)   5000/tcp                                                                                 bitwarden-icons
c9d13f82fbb5   bitwarden/sso:2023.9.0             "/entrypoint.sh"   2 minutes ago   Up 2 minutes (healthy)   5000/tcp                                                                                 bitwarden-sso
951de6f272e8   bitwarden/attachments:2023.9.0     "/entrypoint.sh"   2 minutes ago   Up 2 minutes (healthy)                                                                                            bitwarden-attachments
1c52a1f5732c   bitwarden/notifications:2023.9.0   "/entrypoint.sh"   2 minutes ago   Up 2 minutes (healthy)   5000/tcp                                                                                 bitwarden-notifications
727921fbed50   bitwarden/identity:2023.9.0        "/entrypoint.sh"   2 minutes ago   Up 2 minutes (healthy)   5000/tcp                                                                                 bitwarden-identity

就说明运行正常。你可以访问你的域名(https://yourdomain.com)进入web界面了!

4.使用

关于邮箱

访问之后你需要注册一个新账户然后才能登录。你必须完善SMTP的相关配置!!!要不然你验证不了邮箱也就用不了Bitwarden了。

You may now register a new account and log in. You will need to have configured smtp environment variables (see Environment Variables) in order to verify the email for your new account.

进行注册

5.常见问题

An unhandled server error has occurred

使用docker ps查看mssql是否正常运行。此项目对内存要求较高,请务必保证满足最低内存要求。还有就是检查配置文件。

如果你无法解决此问题,夜梦推荐你使用1panel进行快速部署。

0 人点赞