# 准备

  • 烧写好系统镜像的 Raspberry Pi4b
  • 良好的网络环境

# 开始


# 下载运行 docker 镜像

1. 使用 Docker 拉取最新版本的 Bitwarden RS

docker pull vaultwarden/server:latest

2. 运行 Bitwarden 镜像

sudo docker run -d --name bitwarden  --restart=always \
    -v /bw-data/:/data/ -p 127.0.0.1:8080:80 \
    -p 127.0.0.1:3012:3012 vaultwarden/server:latest

这里将网络服务器暴露在端口 8080 上,端口 3012,这是 Bitwarden 的 Web 套接字用来进行通信的端口。


# 配置 NGINX

1. 下载 nginx

sudo apt install nginx

2. 停止运行 nginx

sudo systemctl stop nginx

3. 为 nginx 生成一个 SSL 证书,在 Raspberry Pi 上生成证书有两种不同的方式

  • 自签证书
  • Lets Encrypt 等

4. 使用以下命令生成自签名证书

sudo openssl req -x509 -nodes -days 365 -newkey rsa:4096 -keyout /etc/ssl/private/nginx-bitwarden.key -out /etc/ssl/certs/nginx-bitwarden.crt

5. 创建一个 Diffie-Hellman

sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048

6. 查看 NGINX 的默认配置文件

cat /etc/nginx/nginx.conf

file

7. 为 NGINX 创建一个新的配置文件

sudo vim /etc/nginx/conf.d/bitwarden.conf

8. 编写配置

server {
    listen 80;
    listen [::]:80;
    server_name localhost;
    return 301 https://$host$request_uri;
}

server {
  listen 443 ssl http2;
  server_name localhost;

  ssl_certificate      /etc/ssl/certs/nginx-bitwarden.crt;
  ssl_certificate_key  /etc/ssl/private/nginx-bitwarden.key;

  ssl_dhparam /etc/ssl/certs/dhparam.pem;

  client_max_body_size 128M;

  location / {
    proxy_pass http://0.0.0.0:8080;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
  }

  location /notifications/hub {
    proxy_pass http://0.0.0.0:3012;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
  }

  location /notifications/hub/negotiate {
    proxy_pass http://0.0.0.0:8080;
  }
}

9. 保存退出重启 NGINX

sudo systemctl restart nginx

# 创建 Bitwarden 账户

https://你的树莓派ip

file

# 启用 Bitwarden 管理面板

1. 生成管理员令牌

openssl rand -base64 48

2. 停止当前正在运行的容器

sudo docker stop bitwarden

3. 删除现有的 Bitwarden 容器

sudo docker rm bitwarden

4. 需要重新运行 docker 命令

sudo docker run -d --name bitwarden  -e ADMIN_TOKEN=你的管理员令牌 \
    --restart=always -v /bw-data/:/data/ \
    -p 127.0.0.1:8080:80 -p 127.0.0.1:3012:3012 \
    vaultwarden/server:latest

# 访问 Bitwarden 管理面板

1. 访问管理面板

https://你的树莓派ip/admin

file 输入你的管理员令牌

2. 管理您的用户以及配置 Bitwarden 的设置

file

# 禁用 Bitwarden 新用户创建

file

file

file