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