惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Simon Willison's Weblog
Simon Willison's Weblog
P
Privacy International News Feed
www.infosecurity-magazine.com
www.infosecurity-magazine.com
T
Troy Hunt's Blog
Hacker News - Newest:
Hacker News - Newest: "LLM"
Attack and Defense Labs
Attack and Defense Labs
S
Secure Thoughts
V2EX - 技术
V2EX - 技术
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
O
OpenAI News
Cloudbric
Cloudbric
Google Online Security Blog
Google Online Security Blog
Schneier on Security
Schneier on Security
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Help Net Security
Help Net Security
Cyberwarzone
Cyberwarzone
G
GRAHAM CLULEY
L
Lohrmann on Cybersecurity
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Spread Privacy
Spread Privacy
NISL@THU
NISL@THU
N
News and Events Feed by Topic
T
Tenable Blog
S
Security @ Cisco Blogs
N
News and Events Feed by Topic
The Hacker News
The Hacker News
C
CXSECURITY Database RSS Feed - CXSecurity.com
宝玉的分享
宝玉的分享
月光博客
月光博客
酷 壳 – CoolShell
酷 壳 – CoolShell
美团技术团队
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google DeepMind News
Google DeepMind News
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tailwind CSS Blog
V
Visual Studio Blog
P
Proofpoint News Feed
Webroot Blog
Webroot Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 三生石上(FineUI控件)
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Jina AI
Jina AI
雷峰网
雷峰网
T
The Blog of Author Tim Ferriss
Hugging Face - Blog
Hugging Face - Blog
腾讯CDC
L
LangChain Blog
The Register - Security
The Register - Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 聂微东

Docker 归档 | Jack's Space

笔记|Docker 快速搭建 FreshRSS Filebrowser + Jellyfin 搭建自己的媒体库
结合宝塔和 Docker 安装 Bitwarden 及数据迁移
阿杰 Jack · 2022-04-21 · via Docker 归档 | Jack's Space

互联网时代,我们的账号数量也不断增多,每使用一家服务就需要注册一个账户。偷懒的人会在几乎所有平台使用同一套用户名、邮箱和密码,这对于账户的安全非常不利。当其中一个服务的账户信息被泄露,黑客可使用泄漏的账号密码去各个平台进行尝试,导致其他平台的数据丢失。然而,在不同平台使用不同的账号或者密码虽然安全,但是用户记忆的成本就会大大增加,因此密码管理类软件应运而生。

常见的这类软件有1Password、Lastpass等,但这里介绍一款可以部署在自己服务器上的工具–bitwarden。Bitwarden本身就提供免费的服务可以供大家使用,但是自己部署可以体验到付费版才拥有的功能。详情可见Bitwarden官网:https://bitwarden.com/。

目录

  1. 宝塔国际版安装
  2. 安装Docker
  3. 安装bitwarden
    • 初次部署
    • 设置方向代理
    • 优化配置
      • 关闭新用户注册
      • 设置自动同步
    • 数据迁移

宝塔国际版安装

wget -O install.sh http://www.aapanel.com/script/install-ubuntu_6.0_en.sh && bash install.sh

官方安装指南

https://docs.docker.com/engine/install

根据自己的系统选择合适的安装教程。

安装完成后输入以下代码以设置docker开机启动:

systemctl enable docker #设置docker开机自动启动

systemctl status docker #查看docker状态

安装bitwarden

初次部署

docker run -d --name bitwardenrs \
  --restart unless-stopped \
  -e WEBSOCKET_ENABLED=true \
  -v /www/wwwroot/demo/:/data/ \
  -p 6666:80 \
  -p 3012:3012 \
  vaultwarden/server:latest

其中,/www/wwwroot/demo/为挂载目录,为数据存放的位置,可按需更改。(平时应多备份该文件夹

6666为选择的服务器端口,也可按需更改(记得在宝塔防火墙中放行相应端口)。

安装完成后,可以通过http://ip:6666访问bitwarden界面。

设置方向代理

  1. 解析一个域名到服务器。
  2. 进入宝塔,添加一个网站,FTPDatabase不需要,PHP为静态即可。
  3. 修改网站文件夹路径为 /www/wwwroot/demo/,与前面保持一致。
  4. 修改网站的Config,将52–64行注释掉并添加:
  location / {
  proxy_pass http://127.0.0.1:6666/;
  rewrite ^/(.*)$ /$1 break;
  proxy_redirect off;
  proxy_set_header Host $host;
  proxy_set_header X-Forwarded-Proto $scheme;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header Upgrade-Insecure-Requests 1;
  proxy_set_header X-Forwarded-Proto https;
  }
  1. 完成后重载nginx,此时可以通过域名访问网站并注册账号进行使用。
  2. 如果需要设置自动同步数据,可以直接参考后面步骤设置自动同步

优化配置

关闭新用户注册

作为私人使用的密码管理工具,自己注册完成即可关闭新用户注册。

首先停止该容器 docker stop bitwardenrs

并删除该容器 docker rm -f bitwardenrs

(放心,数据还保存在设置的目录里)

然后运行以下代码:

docker run -d --name bitwardenrs \
  --restart unless-stopped \
  -e SIGNUPS_ALLOWED=false \
  -e WEBSOCKET_ENABLED=true \
  -v /www/wwwroot/demo/:/data/ \
  -p 6666:80 \
  -p 3012:3012 \
  vaultwarden/server:latest

设置自动同步

同前面设置反向代理相同,打开宝塔网页的Config,用以下代码替换掉反向代理的代码,即可打开自动更新。

    location / {
        proxy_pass http://127.0.0.1:6666;
        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 X-Forwarded-Proto $scheme;
    }
  
    location /notifications/hub {
        proxy_pass http://127.0.0.1:3012;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
  
    location /notifications/hub/negotiate {
        proxy_pass http://127.0.0.1:6666;
    }

数据迁移

有时可能遇到重装服务器或者迁移服务器的情况,此时需要涉及数据迁移的问题。

  1. 首先将bitwarden存放数据的文件夹里的文件(即前面的/www/wwwroot/demo/)压缩并下载到本地。
  2. 上传到新的服务器相应的位置,比如还是/www/wwwroot/demo/,解压缩。
  3. 同前面一样添加网站,并把路径改为/www/wwwroot/demo/
  4. SSH登录然后同前面一样运行docker的代码:
  docker run -d --name bitwardenrs \
   --restart unless-stopped \
   -e SIGNUPS_ALLOWED=false \
   -e WEBSOCKET_ENABLED=true \
   -v /www/wwwroot/demo/:/data/ \
   -p 6666:80 \
   -p 3012:3012 \
   vaultwarden/server:latest
  1. 然后依然按照上面优化配置,即可重新登录bitwarden,且与之前账户密码等信息保持一致。
  2. 本质就是备份好bitwarden存放数据的文件夹,在新服务器上运行docker时,将挂载目录指向备份的数据即可。