見出し画像

【趣味の話】自分専用クラウド基盤を本気で見直した話 〜ファイルサーバーのみから写真サーバーを追加構築〜


もともと、私はNextcloudをnginx単体で自宅サーバーに建て、写真や資料ファイルを管理していました。
しかし、長年使ってきた中で、特に写真検索性能に限界を感じるようになりました。

大量の写真データ(約3万枚)を保存していると、単純なファイルブラウザ型のNextcloudだけでは

  • サムネイル表示が重い

  • メタデータ検索が弱い

  • スマホで直感的に探しにくい という課題が無視できなくなってきたのです。


今回、目指したもの

  • ファイル管理機能はNextcloudに残す

  • 写真ブラウジング・検索はPhotoPrismに任せる

  • データの重複保存は避け、ストレージ効率も意識する

  • 外出先からも快適にアクセスできるよう、セキュアな構成を作る

新アーキテクチャ

構成はこうしました。

Internet
   ↓
[ VPS (WireGuardサーバー) ]
   ↓ (WireGuardトンネル)
[ 自宅サーバー (WireGuardクライアント) ]
   ├── Traefik (リバースプロキシ / SSLターミネーション)
   ├── Nextcloud(+Redis+MariaDB)
   ├── PhotoPrism(+MariaDB)
  • 外部公開ドメイン (例: hogehoge.com) はVPSのIPに向け、そこからWireGuardトンネルで自宅サーバーへルーティング

  • TraefikがLet's Encryptで自動的に証明書を管理

  • Nextcloud (例: nextcloud.hogehoge.com)とPhotoPrism (例: photoprism.hogehoge.com)はDocker Composeで独立運用

  • NextcloudはRedisキャッシュを導入し、高速化

  • PhotoPrismはNextcloudストレージをマウント参照し、データ複製なしで連携

  • 自動Rescanコンテナで、スマホからアップロードされた写真もすぐPhotoPrismに反映


設計ポイント

  • NAT超えとセキュリティ
     通常、自宅サーバーを直接インターネット公開するのはリスクが大きい。(というかNATが挟まっていて固定IPがないためサーバーを立てれない)
     → そこでVPS中継+WireGuardトンネルで安全にNAT越え。

  • ストレージ一元管理
     Nextcloudの /files 内に

    • Mobile Photos(スマホ写真)

    • Camera Photos(一眼レフ写真)

    • Processed Photos(現像済み写真)  
      をそれぞれ作成。PhotoPrismはこれらを参照するだけにした。

  • Rescanの自動化
     専用コンテナを用意し、PhotoPrismのphotoprism indexコマンドを5分間隔で実行
     これにより、新しい写真もほぼリアルタイムで検索可能に。


苦労した点

  • WireGuard+Traefik+Docker Composeをすべて噛み合わせる設定調整

  • NextcloudのHTTPSリダイレクト強制など細かいチューニング

  • PhotoPrismのRescan設計(最初は時間がかかるので細かい最適化をした)


最後に

個人環境とはいえ、「ちゃんと設計して作ると、ここまで快適になるんだ」と改めて実感しました。
Docker Composeでまとめたので、サーバーの移設も比較的楽にできそうです。

P.S.
生成AIすごすぎません???
革命的に生産性が上がっています。このnoteも5分で作れちゃいました。

画像
アーキテクチャ図はどんだけ叩いてもイマイチな生成


これから思ったことや考えたことはnoteに書いていきます!
ではまた!

「♡」は、誰でも(noteにアカウントを作っていない方でも!)押すことができます。この投稿を「いいな」と思った方は、気軽に押してみてください。

TwitterとFacebookによくいます。Instagramも始めました。ストーリー楽しい
デジタル名刺に各種載っています
https://lit.link/fukudomehideki

いいなと思ったら応援しよう!

コメント

コメントするには、 ログイン または 会員登録 をお願いします。
買うたび 抽選 ※条件・上限あり \note クリエイター感謝祭ポイントバックキャンペーン/最大全額もどってくる! 12.1 月〜1.14 水 まで
【趣味の話】自分専用クラウド基盤を本気で見直した話 〜ファイルサーバーのみから写真サーバーを追加構築〜|福留 秀基 / スパークル@東北
word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word

mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1