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

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

先决条件

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

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

安装 Tailscale

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

bash 复制代码
curl -fsSL https://tailscale.com/install.sh | sh

Tailscale 启动

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

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

开启端口转发

bash 复制代码
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 存储库

bash 复制代码
# 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 包

bash 复制代码
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

部署 vaultwarden 映像

创建数据目录

bash 复制代码
mkdir /home/$USER/vw-data

启动 vaultwarden 镜像

bash 复制代码
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

bash 复制代码
tailscale serve --bg --set-path /vault 127.0.0.1:8080

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


参考连接:

相关推荐
忆~遂愿3 小时前
CANN metadef 核心解析:计算图原型定义、算子元数据抽象与异构系统互操作机制
docker·容器
说实话起个名字真难啊4 小时前
用docker来安装openclaw
docker·ai·容器
恬静的小魔龙5 小时前
【群晖Nas】群晖Nas中实现SVN Server功能、Docker/ContainerManager等
docker·svn·容器
Zfox_5 小时前
CANN Catlass 算子模板库深度解析:高性能 GEMM 融合计算、Cube Unit Tiling 机制与编程范式实践
docker·云原生·容器·eureka
春日见6 小时前
如何创建一个PR
运维·开发语言·windows·git·docker·容器
DARLING Zero two♡6 小时前
告别 Docker 命令行!Portainer+cpolar 让容器管理从局域网走向公网
运维·docker·容器
liu****7 小时前
2.深入浅出理解虚拟化与容器化(含Docker实操全解析)
运维·c++·docker·容器·虚拟化技术
logocode_li8 小时前
OCI/CRI 双标准下:从 dockerd 到 containerd 的 K8s 运行时迭代史
docker·云原生·容器·k8s
_运维那些事儿20 小时前
VM环境的CI/CD
linux·运维·网络·阿里云·ci/cd·docker·云计算
lpruoyu1 天前
【Docker进阶-05】Docker网络
网络·docker·容器