准备

  • docker
  • nginx/caddy

启动

docker run -d --name vaultwarden -v `pwd`:/data -p 8088:80 vaultwarden/server:latest

此时打开 http://yourhost:8088, 就可以看到页面

配置

  • 在工作目录(即上述执行的目录, 如果 -v 指定了目录, 则为其指定目录)中, 增加一个 config.json
  • 其中
    • signups_allowed 为是否允许注册, 注册完第一个账号之后建议关闭
    • admin_token 为 /admin 管理页面的 token, 建议配置完之后将其置空(即不开启 /admin)
{
  "domain": "http://localhost",
  "sends_allowed": false,
  "disable_icon_download": false,
  "signups_allowed": true,
  "signups_verify": false,
  "signups_verify_resend_time": 3600,
  "signups_verify_resend_limit": 6,
  "invitations_allowed": false,
  "password_iterations": 100000,
  "show_password_hint": false,
  "admin_token": "token",
  "invitation_org_name": "Vaultwarden",
  "ip_header": "X-Real-IP",
  "icon_cache_ttl": 2592000,
  "icon_cache_negttl": 259200,
  "icon_download_timeout": 10,
  "icon_blacklist_non_global_ips": true,
  "disable_2fa_remember": false,
  "authenticator_disable_time_drift": false,
  "require_device_email": false,
  "reload_templates": false,
  "log_timestamp_format": "%Y-%m-%d %H:%M:%S.%3f",
  "disable_admin_token": false,
  "_enable_yubico": true,
  "_enable_duo": false,
  "_enable_smtp": true,
  "smtp_ssl": true,
  "smtp_explicit_tls": false,
  "smtp_port": 587,
  "smtp_from_name": "Vaultwarden",
  "smtp_timeout": 15,
  "smtp_accept_invalid_certs": false,
  "smtp_accept_invalid_hostnames": false,
  "_enable_email_2fa": false,
  "email_token_size": 6,
  "email_expiration_time": 600,
  "email_attempts_limit": 3
}

部署

使用 nginx/caddy 做反向代理, 可以设置 sub-path, 注意: 设置 sub-path 后登陆的地址需要加上 /#/, 否则会导致静态文件 404 例如: sub-path 为 /test, 那么登陆页面为 https://yourdomain/test/#/