当前位置: 首页 > news >正文

使用 Ubuntu + Docker + Vaultwarden + Tailscale 自建密码管理器

使用 Ubuntu + Docker + Vaultwarden + Tailscale 自建密码管理器

Vaultwarden

先决条件

  • 一台运行 Ubuntu 系统的服务器。可以是云提供商的 VPS、家庭网络中的树莓派、或者 Windows 电脑上的虚拟机等等

  • 一个 Tailscale 账户。如果还没有 Tailscale 账户,可以通过此链接迅速创建一个,这里不再赘述

安装 Tailscale

通过一键安装命令在服务器上安装 Tailscale

curl -fsSL https://tailscale.com/install.sh | sh

Tailscale 启动

sudo tailscale up --advertise-exit-node --ssh --operator=<Username> --authkey=<Authkeys>
  • <Username> 替换成你在机器上的用户名

  • <Authkeys> 替换成你的 验证密钥,需要在 Admin consoleSettings - Personal Settings - Keys - Auth keys 中 点击 Generate auth key... 创建

开启端口转发

echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf
echo 'net.ipv6.conf.all.forwarding = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf
sudo sysctl -p /etc/sysctl.d/99-tailscale.conf

安装 Docker

在新主机上首次安装 Docker 引擎之前,需要设置 Docker 存储库。可以参考官方手册

设置 Dockerapt 存储库

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc# Add the repository to Apt sources:
echo \"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

安装 Docker 包

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

部署 vaultwarden 映像

创建数据目录

mkdir /home/$USER/vw-data

启动 vaultwarden 镜像

sudo docker run -d --name vaultwarden -v /home/$USER/vw-data/:/data/ -p 127.0.0.1:8080:80 --restart unless-stopped vaultwarden/server:latest
  • 将容器内的 80 端口绑定到服务器的 8080 端口,下一步将会用到这个端口

  • 使用 --restart unless-stopped 选项以确保服务器在遇到问题时继续运行

  • 将主机上的 /home/$USER/vw-data/ 目录挂载到容器内的 /data/ 目录,用于存储应用程序数据

使用 Tailscale 通过 HTTPSvaultwarden 提供给 Tailnet

tailscale serve --bg --set-path /vault 127.0.0.1:8080

这样,便能从你的 Tailnet 上的设备使用浏览器访问 https://<machinename>.<tailnet-name>.ts.net/vault/,但需要将URL中的 <machinename><tailnet-name> 替换为您自己的机器名称和 Tailnet 名称


参考连接:

  • Manage passwords over your tailnet with vaultwarden

  • GitHub - dani-garcia/vaultwarden: Unofficial Bitwarden compatible server written in Rust, formerly known as bitwarden_rs

http://www.lryc.cn/news/357285.html

相关文章:

  • YOLOv7添加注意力机制和各种改进模块
  • 【OpenGL第一个程序】
  • GPT-4O神器来袭!自动生成Figma设计稿,移动端开发瞬间加速!
  • 清华大学提出IFT对齐算法,打破SFT与RLHF局限性
  • TS(TypeScript)中Array数组无法调出使用includes方法,显示红色警告
  • 基于Kafka的日志采集
  • 某烟草企业数字化转型物流信息化咨询项目规划方案(117页PPT)
  • 失落的方舟 命运方舟台服封号严重 游戏封IP怎么办
  • 2.10 mysql设置远程访问权限
  • C# 证件照替换底色与设置背景图---PaddleSegSharp
  • HCIA-HarmonyOS Device Developer 课程大纲
  • 洗地机哪个牌子最好用?十大名牌洗地机排行榜
  • Unity开发——XLua热更新之Hotfix配置(包含xlua获取与导入)
  • Qt 基于FFmpeg的视频转换器 - 转GIF动图
  • HTML新春烟花盛宴
  • 第十四届蓝桥杯c++研究生组
  • KDD 2024|基于隐空间因果推断的微服务系统根因定位
  • 白鹭群优化算法,原理详解,MATLAB代码免费获取
  • 【源码】2024完美运营版商城/拼团/团购/秒杀/积分/砍价/实物商品/虚拟商品等全功能商城
  • Java-数组内存解析
  • Spring Cache --学习笔记
  • NTP服务的DDoS攻击:原理和防御
  • 【面试干货】事务的并发问题(脏读、不可重复读、幻读)与解决策略
  • 函数式接口:现代编程的利器
  • 2022职称继续教育--深入实施新时代人才强国战略 加快建设世界重要人才中心和创新高地
  • kube-prometheus-stack 识别 k8s 集群内所有的 ServiceMonitor 和 PrometheusRule
  • Android 图片加载glide库 一次通关
  • Spring OAuth2:开发者的安全盾牌!(上)
  • 设计模式使用(成本扣除)
  • 输入输出(2)——C++的标准输出流