1419 文字
7 分
現在のHomelabの状況メモ
2025-10-15

RSSリーダー探しから始まって、self-hosted沼にハマり、気づけば自宅サーバーを構築するに至りました。

Gemini先生に相談する際にも簡単に提示できるよう、現在のHomelabの状況をまとめておきます。

🤖 Gemini相談用の構成サマリー(クリックで展開)
# My Homelab Configuration Summary
## Overall Architecture
- Hybrid configuration: OCI (Cloud) + Home Server (On-premises)
- Connected via Tailscale VPN.
## 1. OCI Server (paimon)
- **Instance**: Oracle Cloud Always Free (VM.Standard.E2.1.Micro)
- **Specs**: 1 OCPU (AMD EPYC 7551), 1 GB RAM
- **OS**: Ubuntu 24.04 LTS
- **Services (Docker Compose)**:
- FreshRSS (RSS Reader)
- RSSHub (RSS Generator)
- Uptime Kuma (Monitoring)
- Netdata (Monitoring)
- Nginx Proxy Manager (Reverse Proxy)
## 2. Home Server (Proxmox Host)
- **Hardware**:
- **Mobo**: ASRock B250M Pro4
- **CPU**: Intel Core i3-7100 @ 3.90GHz
- **Memory**: 40GB DDR4-2400
- **Storage**:
- 512GB NVMe SSD (Proxmox OS, VM disks)
- 8TB HDD (Media storage)
- **Virtualization**: Proxmox VE 9.0
- **IP Address**: 192.168.x.200 (Static)
### 2.1. VM: lumine (Main Service VM)
- **Assigned Resources**: 2 Cores, 8GB RAM
- **Services (Single Docker Compose)**:
- memos (Notes)
- jellyfin (Media Server, Intel QSV enabled)
- stash ("Library" management)
- homepage (Dashboard)
- copyparty (File sharing)
- netdata (Monitoring)
- adguard (Ad-blocking DNS)
- glances (Monitoring)
- npm (Internal Reverse Proxy, handles requests to `*.lumine`)
### 2.2. VM: noelle (Home Assistant)
- **Assigned Resources**: 2 Cores, 4GB RAM
- **OS**: Home Assistant Operating System (HAOS)
### 2.3. VM: nahida (Planned)
- **Purpose**: Dedicated for Immich (Photo management)
## 3. Network Configuration
- **Topology**: Fiber Modem -> Router (Bridge) -> Proxmox
- **Subnet**: 192.168.x.0/24
- **DNS**: AdGuard Home on `lumine` is set as the primary DNS for the LAN. It uses DNS rewrites for `*.lumine` to point to the `lumine` VM.
- **Remote Access**: Tailscale for secure access to local IPs.
## 4. Current Issues
- **paimon**: Unable to upgrade OCI account.
- **lumine**: Considering separating AdGuard Home into a dedicated LXC.
- **noelle**: Facing issues connecting a CO2 monitor to Wi-Fi.
- **nahida**: Need to set up Immich.

全体構成図#

現在のHomelabは、OCI上のクラウドサーバーと自宅サーバーのハイブリッド構成である。

[インターネット]
|
+-- [OCI Cloud] ------------------+
| | |
| +-- [VM] paimon |
| | (Tailscale VPN)
+-- [自宅LAN] --------------------+
|
+-- [光BBユニット] -> [ルーター(ブリッジ)] -> [Proxmoxサーバー]
|
+-- [VM] lumine
+-- [VM] noelle

OCIと自宅サーバー群はTailscaleによるVPNで接続され、単一のプライベートネットワークを形成している。

paimon (OCIサーバー)#

Oracle CloudのAlways Free枠(VM.Standard.E2.1.Micro)を利用。主に外部との連携や、自宅サーバーがダウンした際にも稼働させたいサービスを展開している。

スペック#

  • プロセッサ: AMD EPYC™ 7551 (1 OCPU, 2-vCPU相当)
  • メモリー: 1 GB
  • イメージ: Ubuntu 24.04 LTS

稼働中サービス#

全サービスをDocker Composeで管理している。

  • FreshRSS: RSSリーダー本体
  • RSSHub: RSSフィードがないサイトをRSS化
  • Uptime Kuma: 自宅サーバーや各サービスを外部から死活監視
  • Netdata: サーバーリソース監視
  • Nginx Proxy Manager: 各サービスへのリバースプロキシ

自宅サーバー (Proxmox)#

家庭内のメインサーバー。以前使っていたPCパーツを流用して構築した。

ハードウェアスペック#

  • マザーボード: ASRock B250M Pro4
  • CPU: Intel(R) Core(TM) i3-7100 @ 3.90GHz
  • メモリ: 40GB
    • Crucial 4GB DDR4-2400 x2
    • Sanmax 16GB DDR4-2400 x2
  • ストレージ:
    • 512GB M.2 NVMe SSD (Apacer AS2280P4): ProxmoxホストOS、VM/LXCのシステムディスク用
    • 240GB SSD (Sandisk SDSSDHII-240G-J26): (用途未定)
    • 8TB HDD (Seagate ST8000VN002): メディアファイルなど、大容量データ保存用
    • 1TB HDD (TOSHIBA DT01ACA100): (用途未定)
  • 外部ストレージ:
    • 2TB HDD: VMのバックアップ先として利用予定

OS・仮想化基盤#

  • OS: Proxmox VE 9.0
  • ネットワーク: 物理NICをvmbr0にブリッジ接続し、全VMがこれを利用する。
  • IPアドレス: 192.168.x.200 に固定。

VM: lumine (サービス母艦)#

Proxmox上のVM。8GBのメモリと2コアCPUを割り当て。我が家のデジタルライフを支えるサービスのほとんどがここで稼働中。

稼働中サービス#

全て単一のdocker-compose.ymlで管理している。

  • memos: 日々のメモ用
  • jellyfin: メディアサーバー (Intel QSV有効化)
  • stash: “ライブラリ”管理
  • homepage: 各サービスへのポータル画面
  • copyparty: ファイル共有・アップロード用
  • netdata: VMリソース監視
  • adguard: LAN全体の広告ブロックDNSサーバー
  • glances: 詳細なリソースモニター
  • npm: LAN内サービスへのリバースプロキシ

サービス管理方針#

  • デプロイ: 全てDocker Composeで管理。
  • ネットワーク: my-servicesというカスタムブリッジネットワークを作成し、全コンテナを接続。
  • サービスへのアクセス:
    • npm (Nginx Proxy Manager) をリバースプロキシとして利用。
    • 各サービスには http://memos.luminehttp://jellyfin.lumine のような分かりやすいURLでアクセスできるよう設定している。
  • データ永続化:
    • 各サービスの設定ファイルは./<サービス名>/ディレクトリに保存。
    • Jellyfin等のメディアデータは、Proxmoxホストからマウントした/mnt/data/配下を参照。

VM: noelle (Home Assistant)#

Proxmox上のVM。4GBのメモリと2コアCPUを割り当て。Home Assistant Operating System (HAOS) を直接動かしている。

VM: nahida (予定)#

Proxmox上のVM。リソース消費を考慮し、写真管理ツールImmichを単独で動かす予定である。

システム詳細#

ネットワーク構成#

  • 物理接続: 光BBユニット → 自前ルーター(ブリッジモード) → Proxmoxサーバー
  • IPアドレス体系: ルーター配下は192.168.x.0/24。Proxmoxホストは.200に固定。各VMはルーターのDHCPからIPを取得。
  • DNS: ルーターのDHCP設定で、DNSサーバーとしてlumine上で稼働するAdGuard HomeのIPを指定。AdGuard HomeのDNS書き換え機能を利用して *.lumine ドメインの名前解決をlumine VM自身に向けることで、前述の http://memos.lumine といったURLでのアクセスを実現している。
  • リモートアクセス: 前述の通りTailscaleを導入し、外出先からでも192.168.x.xのローカルIPで安全に各サービスへアクセス可能。

現状の課題と所感#

paimon#

OCIには多少ならお金を払っても良いと思っているのだが、「Your account provisioning is in progress…」の表示から一向に課金アカウントにアップグレードできない。

lumine#

サービス母艦として色々動かしすぎているが、パフォーマンス的にはまだ余裕がある。ただ、AdGuard Homeのようなネットワークの根幹に関わるサービスは、将来的に別のLXCに分離した方が安定するかもしれない。

noelle#

家にスマートデバイスがほとんど無いので、現在はデスクライトのON/OFF機能のみ。今後、センサー類を増やしてスマートホーム化を進めたい。既存のCO2モニターがなぜかWi-Fiに繋がらず、最初の壁にぶつかっている。

nahida#

そもそも死にかけドライブからデータを整理したり、8TBのHDDやメモリを増設したのは、全てImmichを快適に動かすためである。このまとめ記事も、Immichの導入を円滑にするために書いている。

封面
示例歌曲
示例艺术家
封面
示例歌曲
示例艺术家
0:00 / 0:00