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


参考连接:

相关推荐
OKUNP4 小时前
Docker高级管理--容器通信技术与数据持久化
docker·容器·php
用户6855449692737 小时前
第一周作业
docker
星辰云-11 小时前
【超详细】CentOS系统Docker安装与配置一键脚本(附镜像加速配置)
linux·docker·centos
果子⌂13 小时前
Docker-构建镜像并实现LNMP架构
mysql·nginx·docker·容器·架构·php
无敌糖果13 小时前
K8S数据流核心底层逻辑剖析
docker·容器·kubernetes·k8s架构·底层逻辑·k8s数据流
极限实验室17 小时前
一键启动:使用 start-local 脚本轻松管理 INFINI Console 与 Easysearch 本地环境
数据库·docker
❀͜͡傀儡师17 小时前
docker 安装数据集成平台 Apache SeaTunnel 服务
docker·容器
超级小忍18 小时前
Spring Boot 与 Docker 的完美结合:容器化你的应用
spring boot·后端·docker
B1nna20 小时前
Docker学习
学习·docker·容器
缘友一世20 小时前
网安系列【15】之Docker未授权访问漏洞
docker·容器