🧘‍♂️

ミニPCでマルチサーバー構築 [VaultwardenコンテナとTailscale]

2024/05/21に公開


ミニPCでマルチサーバー構築シリーズのWaultwardenコンテナ構築とTailscaleを使用したHTTPS化の記録メモです。

シリーズ

  1. N100搭載ミニPCでマルチサーバーの構想と構築準備
  2. ミニPCでマルチサーバー構築 [OS等インストール]
  3. ミニPCでマルチサーバー構築 [Sambaコンテナ]
  4. ミニPCでマルチサーバー構築 [PostgreSQLコンテナ]
  5. ミニPCでマルチサーバー構築 [Nginxコンテナ]
  6. ミニPCでマルチサーバー構築 [Immichコンテナ]
  7. ミニPCでマルチサーバー構築 [VaultwardenコンテナとTailscale] この記事
  8. ミニPCでマルチサーバー構築 [AdGuard Homeコンテナ]
  9. ミニPCでマルチサーバー構築 [GUI環境整備]

簡単な要件

  • セルフホスト可能
  • 認証情報をローカルに保存可能
  • 実ファイルの場所をある程度制御可能
  • PCでもスマホでも認証情報を簡単に利用できる
    • 特にスマホはオフラインでも使用可能であること
  • 長期間開発が滞っていない

検討事項とコンテナ化

  • セルフホスト可能なのはBitwardenとPsonoぐらいしかなさそう
    • ググラビリティが高そうなBitwardenに決定
    • したつもりで調べているとVaultwardenなるものがある事を知る
    • 非公式のため悩んだが、個人利用だし少し冒険することにした
      • 万が一の場合は情報をエクスポートして移行する
    • Vaultwardenに決定
  • 公式のDocker imageが存在するためそれを使用する
    • メールは使用しないのでその辺の設定は無し

compose.yaml

  • ポート7583は適当
compose.yaml
services:
  vault:
    image: vaultwarden/server:latest
    restart: unless-stopped
    ports:
      - "7583:80"
    environment:
      - TZ=Asia/Tokyo
    volumes:
      - /srv/vw-data:/data
    networks:
      - vltnet

networks:
  vltnet:

設定

  • VaultwardenはHTTPSでなければ使用できない
    • すなわちSSL証明書が必要
    • Tailnet経由だとHTTPSにする設定で解決する
  • 以下コマンドでTailnetアクセスをHTTPS化する
    • sudo tailscale serve --bg http://127.0.0.1:7583
  • 以下コマンドで状態確認可能
    • tailscale funnel status
  • Tailnetを使用するため、アクセス端末はTailscaleアプリ必須
    • Tailnetなので出先でもセキュアにオンライン
    • VPNオフでもVaultwardenは使用可能 (同期できないだけ)

参考文献

Discussion