1.搭建环境

  1. 一台内存大于1G、安装好Docker、Docker-compose且拥有公网ip的服务器
  2. 一枚域名
  3. 反向代理工具(宝塔或者Nginx Proxy Manager

2.开始搭建

创建 docker-compose.yml 文件:

services:
  self-host:
    image: bitwarden/self-host:beta
    restart: always
    env_file:
      - .env
    ports:
      - 5500:8080
    volumes:
      - ./_data:/etc/bitwarden
    environment:
      BW_DB_PROVIDER: sqlite
      BW_DB_FILE: /etc/bitwarden/db.sqlite3

创建 .env 文件:

BW_INSTALLATION_ID=b66577a0-e4fe-430b-86b0-b24a006f06db
BW_INSTALLATION_KEY=038QojLaNEJop6ICSZKE
BW_DOMAIN=bitwarden.blog-goodnightan.top
globalSettings__disableUserRegistration=false
[email protected]

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

  • BW_INSTALLATION_ID: 你的安装 ID,需要在 Bitwarden 官网申请。
  • BW_INSTALLATION_KEY: 您的安装密钥,需要在 Bitwarden 官网申请。
  • BW_DOMAIN: 你的域名,例如 example.com
  • globalSettings__disableUserRegistration: 是否禁用用户注册,在初次部署时请设置为 false
  • adminSettings__admins: 管理员的邮箱。
    你需要进入此页面手动提交邮箱就可免费获得安装 ID 和 KEY,复制它们填入到 .env 对应变量的后面。
    完成所有变量值的填充后,执行 docker compose up -d 启动服务。然后执行 docker compose logs -f 查看日志:
    稍等片刻,如果日志如上那么表示部署成功。若出现一些以 WARN exited 开头的日志,就表示部分服务启动失败了。具体你可能要去 issues 中寻找答案
tips:default 以上配置模板使用 SQLite 数据库,因为它非常小巧小规模使用完全足够。

按照以上配置部署后,数据将保存在 _data 目录。若要迁移,先停止服务然后完整迁移数据目录即可。在访问前,需反向代理 5500 端口,并配置 SSL 证书。

tips:default 官方服务端我个人体验下来内存占用巨大(ARM64),不适合资源有限的服务器。只运行服务什么都不干,内存占用超过1G,正常使用过程中内存占用1.12G,对于我4G内存的机子来说是一种巨大的负担,所以该服务不对外开放!!!

3.禁用注册

确保部署成功后,访问你绑定的域名并进入注册页面,创建自己的用户。完成后再修改 .env 文件,禁用注册:

globalSettings__disableUserRegistration=true

再次执行 docker compose up -d 更新部署。

4.开始使用

获取浏览器插件