quartz-research-note/content/自宅サーバー.md

3.8 KiB
Raw Blame History

#server #self-hosted

物理構成

Macbook Pro (mid 2012)

SSD(256GB)に載せ替え、メモリ16GB

接続は有線、電源はMagsafe-USB typeC変換アダプタにしてMacbook Pro 2019のアダプタをもらってきている

NAS

  • ケースJONSBO N1
    • フロントの14cmケースファンはうるさかったのでKAZE FLEX 140 SQUARE PWM 1200rpmに交換CPUファンのPWMを分岐した
  • アリエクで買える謎のNAS用Mini-ITXマザー
    • CPUはオンボードJ6413
    • SATAx6
    • なぜか2.5GbEが3つもついてる
    • フロントパネルはUSB変換かまして2.0でしか使えない(オーディオ用のヘッダは無い)
  • メモリ DDR4 8GB(マザボの限界)
  • ストレージ
    • CrucialのなんかSSD 256GB(ブート用)
    • WD Red Pro 6TB x4 ZFSでRAIDZ2(RAID6相当)組んでるので実用量は10TBくらい
    • WD Blue 4TB x1 (前使ってた外付けHDDからデータを移し終わったので挿してるけど、未使用)
  • Corsair SF450 -PLATINUM
    • 低負荷だとファン停止して動いてくれるのが嬉しい(今の所回ってるの見たことない)

今の所熱は夏冷房かけずに外出してもなんとか大丈夫そう

酵母のスターターを膨らませるのにも便利

論理構成

どちらもベアメタルにインストールされてるのはProxmox

NASはSSD上にボリューム作ってTrueNAS Coreを立ち上げ、NFSサーバーとして仮想マシン用のボリュームを提供している

TrueNASは普通にScaleの方でよかったと思う、よくわかってなかったので・・・GUIでアップグレードできるのでそのうち上げる。

あと、TrueNASをVMとして展開するデメリットとして、S.M.A.R.Tとか温度のモニタリングができない、ネットワークのインターフェースが仮想デバイスなので10GbEとして表示される、とかがある。

仮想マシンというかLXC

Docker用にLXCコンテナが計3つぐらい動いてる。ブートディスクは全てNASのNFSサーバー上。

Proxmoxの性質上、どうしてもDockerコンテナをいっぱい立ち上げたければそのホストになるVMかLXCを立てる必要がある。

LXCはライブマイグレーションできないのが悲しい。

いっぱいいるけど全部Portainerで一覧してWebから管理はできている

MBP-Dockerホスト1(Mastodon)

Mastodonとそのリバースプロキシ関連が立ち上がってる。わざわざホスト分けた意味はあんまりない気がする。そのうちホスト2と合体してもいいかも

自宅のインターネッツがIPoE環境でIPv4は複数人でポートを共有&自分で選択はできないのでCloudflare Tunnelを使って公開している(後述のVPNと同じ仕組み)。

MBP-Dockerホスト2

主にテスト用。外に公開する前提のサービスを立ち上げたり試したり。定期的に稼働してるのは以下

  • ObsidianのSelf-hosted LiveSyncこのVaultと別の元々使ってたやつのCouchDB
  • Mastodon用のElasticSearch
    • Mastodon以外でも使う機会あるかなと思って一応メインのdocker-composeから分けてる

NAS-Dockerホスト3

主に家庭(?)用サービス。

  • Cloudflare Tunnel用デーモン
    • ゼロトラスト系VPNWireguard用のやつ。こいつがいるので実質的に外出先でもこのNASで立ち上がってるサービスは普通に使える。
  • PhotoPrism
  • JellyFin
  • Dashy
    • 単にIPが迷子になるので便利。

そのうち立ち上げたいもの

  • NocoDB
  • パスワードマネージャLastPass置き換えBitWarden?