御风灰灰
发布于 2024-07-11 / 13 阅读
0
0

Vaultwarden部署

1. Vaultwarden介绍

  1. Vaultwarden 是什么?

Vaultwarden 是一个用于本地搭建 Bitwarden 服务器的第三方 Docker 项目。仅在部署的时候使用 Vaultwarden 镜像,桌面端、移动端、浏览器扩展等客户端均使用官方 Bitwarden 客户端。
Vaultwarden 很轻量,对于不希望使用官方的占用大量资源的自托管部署而言,它是理想的选择。

  1. Vaultwarden 与 Bitwarden 的区别

除不支持官方企业版的部分功能(如目录同步、SSO、群组、自定义角色以及基于企业组织层面的 Duo Security 两步登录)外,其他大部分功能均免费支持。并跟随官方版本保持及时更新。
Vaultwarden 比官方版更轻量。官方版使用 .Net 开发,使用 MSSQL 数据库,要求至少 2GB 内存;Vaultwarden 使用 Rust 编写,改用 SQLite 数据库(现在也支持 MySQL 和 PostgreSQL),运行时只需要 10M 内存,可以说对硬件基本没有要求。

2. 安装docker

参考本博客ubuntu下docker部署

3. 部署Vaultwarden

3.1 使用docker-compose.yml管理docker

模板配置文件docker-compose.yml

version: '3'

services:
  vaultwarden:
    container_name: vaultwarden
    image: vaultwarden/server:latest
    restart: unless-stopped
    volumes:
      - /mnt/data/vaultwarden:/data/
    ports:
      - 8004:80
    environment:
      - DOMAIN=https://44587oq645.yicp.fun
      - LOGIN_RATELIMIT_MAX_BURST=10
      - LOGIN_RATELIMIT_SECONDS=60
      - ADMIN_RATELIMIT_MAX_BURST=10
      - ADMIN_RATELIMIT_SECONDS=60
      - SENDS_ALLOWED=true
      - EMERGENCY_ACCESS_ALLOWED=true
      - WEB_VAULT_ENABLED=true
      - SIGNUPS_ALLOWED=false
      - SIGNUPS_VERIFY=true
      - SIGNUPS_VERIFY_RESEND_TIME=3600
      - SIGNUPS_VERIFY_RESEND_LIMIT=5
      - SMTP_HOST=smtp.163.com
      - SMTP_FROM=xx@163.com
      - SMTP_FROM_NAME=Vaultwarden
      - SMTP_SECURITY=force_tls
      - SMTP_PORT=465
      - SMTP_USERNAME=xxx@163.com
      - SMTP_PASSWORD=xxx

3.2 配置项说明

3.2.1 系统类配置

  1. 服务域配置

    DOMAIN=https://xxx.tx.x  自己服务所在的域实例
    
  2. 禁用新用户注册

    SIGNUPS_ALLOWED=true/false
    
  3. 将注册限制为某些电子邮件域名

您可以通过设置 SIGNUPS_DOMAINS_WHITELIST 来限制只能某些域名的电子邮件地址可以注册。示例:

SIGNUPS_DOMAINS_WHITELIST=example.com (单个域名)
SIGNUPS_DOMAINS_WHITELIST=example.com,example.net,example.org (多个域名)

如果设置了 SIGNUPS_DOMAINS_WHITELIST,SIGNUPS_ALLOWED=false的值将被忽略。
您可能还想设置 SIGNUPS_VERIFY=true,这要求新注册的用户在成功登录前进行电子邮件验证。这可以防止有人用一个拥有正确域名的假电子邮件地址注册。

  1. 禁用邀请

    environment:
     - INVITATIONS_ALLOWED=false
    
  2. 启用管理页面

    environment:
     - ADMIN_TOKEN=xxx
    
  3. 禁用管理

    environment:
     -DISABLE_ADMIN_TOKEN=true
    
  4. 启用WebSocket通知

    environment:
     - WEBSOCKET_ENABLED=true
    
  5. 邮件配置

    environment:
     - SMTP_HOST=smtp.163.com
     - SMTP_FROM=xx@163.com
     - SMTP_FROM_NAME=Vaultwarden
     - SMTP_SECURITY=force_tls
     - SMTP_PORT=465
     - SMTP_USERNAME=xxx@163.com
     - SMTP_PASSWORD=xxx
    

评论