使用 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 名称


参考连接:

相关推荐
ELI_He9991 小时前
Airflow docker 部署
运维·docker·容器
slient_love3 小时前
docker和docker compose部署安装
docker·容器
钱彬 (Qian Bin)3 小时前
项目实践14—全球证件智能识别系统(切换回SQLite数据库并基于Docker实现离线部署和日常管理)
运维·docker·容器·fastapi·证件识别
岚天start3 小时前
Docker部署NGINX实现服务四层转发方案
服务器·nginx·docker
牛奔5 小时前
docker compose up 命令,默认配置文件自动查找规则
java·spring cloud·docker·容器·eureka
工具罗某人5 小时前
docker快速部署jenkins
java·docker·jenkins
BigBigHang5 小时前
【docker】离线设备安装镜像
运维·docker·容器
学好statistics和DS5 小时前
Docker文件与本地文件,系统
运维·docker·容器
liuc03175 小时前
docker下安装SearXNG
运维·docker·容器
oMcLin5 小时前
如何在CentOS 8上配置并优化Docker与Kubernetes结合的容器集群,提升微服务部署效率?
docker·kubernetes·centos