notesArea/Vaultwarden 部署.md

Vaultwarden 部署

https://github.com/dani-garcia/vaultwarden

使用 Docker 部署

1. 在 vaultwarden 目录下创建 docker-compose.yaml 文件

services:
  server:
    image: vaultwarden/server
    restart: always
    ports:
      - 5600:80
    environment:
      - DOMAIN=${DOMAIN}
      - SIGNUPS_ALLOWED=${SIGNUPS_ALLOWED}
      - ORG_CREATION_USERS=${ORG_CREATION_USERS}
      - ADMIN_TOKEN=${ADMIN_TOKEN}
    volumes:
      - ./_data:/data/

2. 创建 .env 文件

DOMAIN=
SIGNUPS_ALLOWED=
ORG_CREATION_USERS=
ADMIN_TOKEN=

在部署前需要填充 .env 中的变量的值,具体如下:

  • DOMAIN: 你的域名(实际上是包含协议的地址),如 https://example.com
  • SIGNUPS_ALLOWED: 是否禁用用户注册,在初次部署时请设置为 true
  • ORG_CREATION_USERS: 允许创建组织的用户,为邮箱地址
  • ADMIN_TOKEN: 管理员 Token,建议是 Argon2 哈希处理的 PHC 字符串

先留空 ADMIN_TOKEN 变量,因为我们后续将从容器中执行命令生成它。完成其它变量值的填充后,执行 docker compose up -d 启动服务。

3. 生成 ADMIN_TOKEN

在部署成功后,我们向该容器发起命令生成 ADMIN_TOKEN

docker compose exec server /vaultwarden hash

按交互要求输入至少 8 位长度的密码,然后会得到一个有效的 ADMIN_TOKEN 配置。将它复制到 .env 即可,完成后再次执行 docker compose up -d 更新部署。

4. 禁用注册

.env 文件中,SIGNUPS_ALLOWED 的值改为 false,再次执行 docker compose up -d 更新部署。

大纲
文件