vaultwarden(bitwarden-rs)安装
July 11, 2021, 3:09 p.m.
read: 3143
0x00 install docker
官方安装文档:
ubuntu: https://docs.docker.com/engine/install/ubuntu/
debian: https://docs.docker.com/engine/install/debian/
centos: https://docs.docker.com/engine/install/centos/
fedora: https://docs.docker.com/engine/install/fedora/
0x01 install vaultwarden docker image
以下以ubuntu 20.04系统为例
# 启动容器,并绑定到本机地址的8080端口上面
# 若本地不存在镜像,则自动下载镜像并运行
docker run -d --name bitwarden -v /vw-data/:/data/ -p 127.0.0.1:8080:80 vaultwarden/server:latest
# 以下为容器管理命令,仅供参考
# 查看所有的运行中的容器
docker container ls
# 查看所有的容器,包含未在运行中的容器
docker container ls -a
# 停止/运行/重启容器
docker container stop/start/restart [container-id]
现在容器已经在运行了
0x02 install nginx
sudo apt-get install nginx
需要解析一个域名到服务器的ip地址,下面以bw.example.com为例,同时需要申请ssl证书
在 /etc/nginx/sites-enabled 目录下生成名为 bw 的配置文件
参考配置:
server {
listen 80;
server_name bw.example.com;
location / {
proxy_pass http://127.0.0.1:8080;
#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_set_header HTTP_X_FORWARDED_FOR $remote_addr;
proxy_redirect default;
}
}
server {
listen 443;
server_name bw.example.com; #填写绑定证书的域名
ssl on;
ssl_certificate /root/https/common/1.crt;
ssl_certificate_key /root/https/common/2.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://127.0.0.1:8080;
#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_set_header HTTP_X_FORWARDED_FOR $remote_addr;
proxy_redirect default;
}
}
0x03 login web admin page and create a new account
登录网页端管理界面,然后新建账户
0x04 disable registration of new users
删除已有容器(数据都保存在映射的目录里面不回丢失),新建容器,添加环境变量
# 删除容器,删除之前需要先停止容器
docker container stop [container-id]
docker container rm [container-id]
# 重启启动一个容器,并添加环境变量
# 此环境变量含义为直接新用户注册
# 若允许注册,则不需要进行 上述删除容器,以及以下的新建容器等操作
docker run -d --name vaultwarden \
> -e SIGNUPS_ALLOWED=false \
> -e INVITATIONS_ALLOWED=false \
> -v /vw-data/:/data/ \
> -p 127.0.0.1:8080:80 \
> vaultwarden/server:latest
0x05 update version of vaultwarden (Optional)
docker pull vaultwarden/server:latest
docker stop vaultwarden
docker rm vaultwarden
docker run -d --name vaultwarden -e SIGNUPS_ALLOWED=false -e INVITATIONS_ALLOWED=false -v /vw-data/:/data/ -p 127.0.0.1:8080:80 vaultwarden/server:latest