dani-garcia/vaultwarden(github.com)
mkdir -p /home/cokan/docker/bitwarden
docker run -d \
--name vaultwarden \
-v /home/cokan/docker/bitwarden:/data/ \
-p 9527:80 \
vaultwarden/server:latest
# 上海时区
TZ=Asia/Shanghai
# 启用或禁用新用户注册:true启用,false禁用
SIGNUPS_ALLOWED=false
# 设置web访问域名
DOMAIN=https://vault.yourdomain.com
# 设置SQLites数据库存储路径及数据库名
DATABASE_URL=data/vaultwarden.db
# 设置日志路径
LOG_FILE=data/access.log
# 日志级别选项:trace、debug、info、warn、error 以及 off
LOG_LEVEL=warn
EXTENDED_LOGGING=true
# 启用管理后台并设置token,默认为空不启用,设置token后则启用
ADMIN_TOKEN=XXXXXXXXXXXX
# 是否启用WebSocket通知:true启用,false禁用
WEBSOCKET_ENABLED=true
# 是否启用web客户端:true启用,false禁用
WEB_VAULT_ENABLED=true
# 修改线程,默认为10,若用户多可修改为更大,一般默认不需要设置
ROCKET_WORKERS=20
# 显示密码提示:true启用,false禁用
SHOW_PASSWORD_HINT=false
# 设置SMTP
SMTP_HOST=smtp.test.com
[email protected]
SMTP_PORT=465
[email protected]
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
1. vaultwarden+caddy
#!/bin/bash
export yourdomain="cokan.xyz"
export DATA_DOCKER="/home/cokan/docker"
export DATA_BW="${DATA_DOCKER}/bitwarden"
mkdir -p ${DATA_BW}/caddy-config
mkdir -p ${DATA_BW}/caddy-data
mkdir -p ${DATA_BW}/vw-data
mkdir -p ${DATA_BW}/data
mkdir -p ${DATA_BW}/caddy-logs
if [ ! -d ${DATA_BW}/ssl ];then
sudo mkdir -p ${DATA_BW}/ssl
fi
cat << EOF | sudo tee ${DATA_BW}/ssl/cokan.cer
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
EOF
cat << EOF | sudo tee ${DATA_BW}/ssl/cokan.key
-----BEGIN PRIVATE KEY-----
-----END PRIVATE KEY-----
EOF
docker pull caddy:2
docker pull vaultwarden/server:latest
cat << EOF | sudo tee ${DATA_BW}/docker-compose.yml
version: '3'
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: always
environment:
- WEBSOCKET_ENABLED=true # Enable WebSocket notifications.
volumes:
- ./vw-data:/data
caddy:
image: caddy:2
container_name: caddy
restart: always
ports:
- 443:443
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- ./ssl:/etc/ssl
- ./caddy-config:/config
- ./caddy-data:/data
- ./caddy-logs:/logs
environment:
- DOMAIN=https://bw.${yourdomain}
EOF
cat << EOF | sudo tee ${DATA_BW}/Caddyfile
bw.${yourdomain} {
tls /etc/ssl/cokan.cer /etc/ssl/cokan.key
encode gzip
reverse_proxy /notifications/hub vaultwarden:3012
reverse_proxy vaultwarden:80
}
EOF
cd ${DATA_BW}
docker-compose up -d
这里编辑收缩框内容