自宅サーバーを立てた
勉強(遊ぶ)ためになんとなく自宅にサーバーを立てたくなった結果、気づいたら色々ポチっていた。

スペック
- CPU: AMD Ryzen9 7945HX(16Core/32Thread)(Amazonリンク)
- RAM: DDR5-5200 SODIMM 96GB(48GBx2)(Amazonリンク)
- GPU: NVIDIA RTX3060 12GBAmazonリンク
- クーラー: Corsair NAUTILUS 240 RSAmazonリンク
- ストレージ: NVMe 2TBAmazonリンク
- 電源: 玄人志向 80PLUS Bronze 650WAmazonリンク
- ケース: LianLi A3-mATX BlackAmazonリンク
組む時に考えていたこと
- PROXMOXを使ってVMを建てたいから、コア数(スレッド数)を多くしたい
- Ryzen CPUを使ったことがないから使ってみたい
- VRAMのコスパはAMDの方が良いけど、まだまだCUDAがデファクトスタンダードだから選択しづらい
- メインPCがあるからGPUにはそんなにお金をかけない。
- ピカピカゲーミングで眩しくない
サーバーで立っているもの
サーバーはざっくり以下のイメージで構成されている。

現時点で、microk8sとDifyのVMが立っている。
リソースの配分はこんな感じ。
| リソース | microk8s | Dify | 余り |
|---|---|---|---|
| vCPU | 24 | 4 | 4 |
| RAM | 80 | 12 | 4 |
| ストレージ | 1TB | 512GB | 400GB |
| その他 | GPU | - | - |
microk8s
microk8sでは、常時以下のものを動かしている
- mlflow tracking server
- MCPサーバー
- streamlitアプリ
これらとは別に、必要な時に動かすものは以下のもの
Dify
langgenius/difyをVMにdocker-composeを利用してセルフホストしている。
このDifyでは、3dify-project/dify-mcp-clientを利用して、microk8s上にデプロイしているMCPサーバーにDifyのワークフローやチャットからアクセスできるようにしている。