前言

我通过1panel安装Bitwarden后用了一段时间,发现Bitwarden确实很好用,而且自托管的也放心。1P部署虽然是傻瓜操作,再加上我比较菜,一些环境变量找不到配置的地方,这就导致邮件发送、管理员面板等功能无法使用。仔细研究了很多遍官方文档,里面提到的配置文件路径也找不到,而且很多环境变量也与docker compose安装的方法对不上。经过在网上搜索好久,查看了大量的教程,终于设置成功,现整理如下:

配置流程

1.配置只需要修改一个文件:docker-compose.yml

6895f8c58ad62.webp

2.打开1panel后台,进入Bitwarden安装目录,找到并打开docker-compose.yml文件,内容大概如下面这样(敏感信息我用*号代替了):

networks:
    1panel-network:
        external: true
services:
    bitwarden:
        container_name: ${CONTAINER_NAME}
        deploy:
            resources:
                limits:
                    cpus: ${CPUS}
                    memory: ${MEMORY_LIMIT}
        image: vaultwarden/server:1.34.3-alpine
        labels:
            createdBy: Apps
        networks:
            - 1panel-network
        ports:
            - ${HOST_IP}:${PANEL_APP_PORT_HTTP}:80
        restart: always
        volumes:
            - ./data:/data
        environment: 
            - SIGNUPS_ALLOWED=false
            - DOMAIN=https://************
            - ADMIN_TOKEN=***********************
            - SMTP_HOST=*********
            - SMTP_FROM=*************
            - SMTP_PORT=465
            - SMTP_SSL=true
            - SMTP_USERNAME=********
            - SMTP_PASSWORD=**********
            - SMTP_SECURITY=force_tls

3.最关键的就是添加environment及下方对应的参数,我只配置了一些必要的参数。你可以根据自己的实际需求,添加其他相应的参数。

4.参数全部配置好以后,需要docker重建才能生效。

5.这样,发送邀请邮件、邮箱认证、找回密码等功能就可以正常使用了。如果需要管理员面板,只需要在你正常的网址后面加上 /admin 即可进入后台管理,按照提示输入ADMIN TOKEN进行登录。在管理后台你就可以很方便的设置更多的参数及环境变量,查看或删除已注册用户等功能。

相关参数说明

# 启用或禁用新用户注册:true启用,false禁用
SIGNUPS_ALLOWED=false

# 设置web访问域名,必须使用 https
DOMAIN=https://vault.yourdomain.com

# 是否启用WebSocket通知:true启用,false禁用
WEBSOCKET_ENABLED=true

# 启用管理后台并设置token,默认为空不启用,设置token后则启用
ADMIN_TOKEN=XXXXXXXXXXXX

ADMIN_TOKEN:为后台管理页面 (/admin)设置token, 类似于管理员密码

token 建议使用 openssl 生成, linux 一般有此工具, windows 只要装了 git(git-for-windows) 也附带此工具(C:\Program Files\Git\usr\bin\openssl.exe)

$ openssl rand -base64 48

保存后等待重新部署完成, 在原有地址后面加上 /admin 即可进入后台管理

现在其他人无法直接进行注册, 但是后台管理中可以邀请指定邮箱进行注册(受到邀请的邮箱可以注册成功)

还有更多的参数,可根据自己的需要进行设置

# 设置日志路径
LOG_FILE=data/access.log
 
# 日志级别选项:trace、debug、info、warn、error 以及 off
LOG_LEVEL=warn
EXTENDED_LOGGING=true
 
# 设置SQLites数据库存储路径及数据库名
DATABASE_URL=data/vaultwarden.db
 
# 是否启用web客户端:true启用,false禁用
WEB_VAULT_ENABLED=true
 
# 修改线程,默认为10,若用户多可修改为更大,一般默认不需要设置
ROCKET_WORKERS=20
 
# 显示密码提示:true启用,false禁用
SHOW_PASSWORD_HINT=false
 
# 设置SMTP
SMTP_HOST=smtp.test.com
SMTP_FROM=test@test.com
SMTP_PORT=465
SMTP_USERNAME=test@test.com
SMTP_PASSWORD=password
# 自v1.25.0起,不再设置SMTP_SSL和SMTP_EXPLICIT_TLS,使用SMTP_SECURITY替代,它有以下选项:starttls、force_tls和off。
# 465端口使用force_tls,587端口使用starttls,25端口使用off。
SMTP_SECURITY=force_tls
 
# 启用或禁用邀请:true启用,false禁用
INVITATIONS_ALLOWED=false
 
# 启用或禁用分享发送功能,默认开启,启用true,禁用false
SENDS_ALLOWED=false