首先创建bitwarden的数据文件夹。
mkdir /home/bitwarden/data
然后输入命令
# 生成admin_token
openssl rand -base64 30
+ImZ6F8ezW6s8gWsj3E9ShBLG9cpd6fsLx81h3Wu
docker run -d --name bitwarden \
-e SIGNUPS_ALLOWED=false \
-e INVITATIONS_ALLOWED=false \
-e ADMIN_TOKEN=+ImZ6F8ezW6s8gWsj3E9ShBLG9cpd6fsLx81h3Wu \
-e LOG_FILE=/data/log.log \
-e LOG_LEVEL=info \
-p 8728:80 \
-v /home/bitwarden/data:/data \
bitwardenrs/server:latest
此时,服务已经启动,监听本地端口 8728
如果有域名的话,可以使用nginx来做反向代理。首先为这个业务申请证书。可以使用lets encrypt的服务。
配置nginx就可以使用https的业务了。参考配置。
server {
listen 80;
server_tokens off;
# access_log /var/log/nginx/web2.access.log main;
server_name bitwarden.superpig.win;
location ^~ / {
rewrite ^ https://$server_name:443$request_uri? permanent;
}
}
server{
listen 443 ssl http2;
server_name bitwarden.superpig.win;
gzip on;
gzip_proxied any;
gzip_min_length 1024;
gzip_comp_level 3;
gzip_types text/plain text/javascript text/css text/json application/javascript application/json image/jpeg image/gif image/png;
ssl on;
ssl_certificate /etc/letsencrypt/live/bitwarden.superpig.win/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/bitwarden.superpig.win/privkey.pem;
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://127.0.0.1:8728;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_redirect off;
### Most PHP, Python, Rails, Java App can use this header -> https ###
proxy_set_header X-Forwarded-Proto $scheme;
}
}
因为是自用的服务,在创建容器的时候设置了SIGNUPS_ALLOWED=false
,所以不能直接注册用户。但是可以使用admin页面邀请的方式。
假设架设的服务域名为bitwarden.superpig.win,访问页面https://bitwarden.superpig.win/admin
,此时会要求输入admin token。就是启动容器的时候配置的那串。
进入管理页面后,点击进入User的tab。出现用户管理页面。
输入你中意邀请的邮箱。点击邀请。
此时,再返回注册用户页面。使用这个邮箱注册,会发现之前的错误提示没有了。注册成功然后使用这个用户登录即可。
开始享受伟大的bitwarden带来的便利吧。