• 使用 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>
    
    • 替换成你在机器上的用户名

    • 替换成你的 验证密钥,需要在 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://..ts.net/vault/,但需要将URL中的 替换为您自己的机器名称和 Tailnet 名称


    参考连接:

  • 相关阅读:
    哈希(hash)——【C++实现】
    数睿通2.0:高效的数据处理,主数据与数据表功能全面升级
    专家建议|2022内容运营的5大SEO错误以及如何避免
    ARM CoreSight相关模块简介
    classification_report加入topk计算
    Java设计模式之备忘录模式
    原型继承
    【课程】SP Module2 辅音和元音的声学
    Java代码中如何计算HashMap对象中元素个数呢?
    Mysql DATETIME与TIMESTAMP的区别
  • 原文地址:https://blog.csdn.net/qq_34530696/article/details/139300873