16 分で読了 #homelab
このページの目次

ソftwareスタック一覧

用途:災害復旧リファレンス + 新規マシン再構築チェックリスト。インフラストラクチャ層には検証方法を記載;詳細なアーキテクチャは各専門ドキュメントを参照のこと。

インフラストラクチャ

システムコア

サービスポート検証設定
sshd22systemctl status sshd/etc/ssh/sshd_config
dockerdocker info/etc/docker/daemon.json
containerd
postgresql-185432pg_isready/etc/postgresql-18/
k3s6443kubectl get nodes/etc/rancher/k3s/
tailscaledtailscale status/var/lib/tailscale/
smb139,445smbclient -L localhost/etc/samba/smb.conf
sunshine47984–48010systemctl --user status sunshine~/.config/sunshine/

ネットワーク

サービスポート説明設定
NetworkManagerネットワーク管理/etc/NetworkManager/
systemd-resolved5355DNS スタブ/etc/systemd/resolved.conf
caddy9443(127.0.0.1)mTLS ゲートウェイ(metrics-fleet)/etc/caddy/Caddyfile
avahi-daemon5353mDNS

プロキシ

詳細は network-architecture.md を参照してください。

場所コンポーネントポート設定
本体mihomo(TUN 自動プロキシ)mixed:7890,API:9999,DNS:5350/opt/mihomo/mihomo_config/config.yaml(真のソース)
N100(.7)Nikki+mihomo(全室透過プロキシ)mixed:7890,API:9090,DNS:1053/etc/nikki/profiles/home.yaml(sync-mihomo-to-router.timer から派生)

DNS リンク

本体: アプリ → mihomo DNS(:5350,fake-ip) → AdGuard(:53) → 国内 223.5.5.5 / 国外 DoH 1.1.1.1 + 8.8.8.8
全室: クライアント → N100 AdGuard(:53) → mihomo(:1053,fake-ip) → 上記と同じ

> 本体と全室で AdGuard/mihomo の順序が逆になる: 本体はまず mihomo TUN を経由し、その後 AdGuard を通る。全室では AdGuard が先頭で広告フィルタリングを行い、その後 mihomo でルーティングする。これらは独立したパスであり、それぞれが独自に管理されている。

/etc/resolv.confnameserver 127.0.0.1; systemd-resolved DNSStubListener=no(ポート 53 の競合を避けるため)。

監視スタック

サービスポート検証設定
prometheus9090curl :9090/-/healthy/etc/prometheus/prometheus.yml
grafana3000curl :3000/api/health/etc/grafana/
loki3100curl :3100/ready/etc/loki/config.yaml
tempo3200(grpc:4317)curl :3200/ready/etc/tempo/config.yaml
node_exporter9100curl :9100/metrics
otelcol-home4318(127.0.0.1)metrics+trace パイプライン/etc/otelcol-home/config.yaml
otelcol-logsjournald→Loki/etc/otelcol-logs/config.yaml
miwifi-exporter9184小米ルーター指標/etc/miwifi-exporter.env

定期収集(textfile collector → node_exporter)

サービス頻度収集内容
amdgpu-metrics10秒GPU 温度/消費電力/周波数
net-metrics15秒WiFi 信号/リンク品質 + プロキシ遅延
rathole-probe30秒全 rathole サービスの TCP/TLS/HTTP ハートビート → rathole_service_up
owntracks-collector30秒家族の GPS 位置/バッテリー残量/精度
sgcc-collector毎日 08:00国家电网の電気料金
miwifi-exporter常駐小米ルーター指標

メッセージと IoT

サービスポート説明
mosquitto1883MQTT Broker (Home Assistant + Owntracks バックエンド)

社内ネットワーク透過

詳細は rathole-tunnel.md を参照してください。rathole-client (Docker, host ネットワーク)、中継に腾讯云 VPS を使用、keepalive+nodelay 有効。デーモン: rathole-watchdog (5分ごとのハートビート)。

公開サービス:

サービスドメイントンネル
Grafanagrafana.liz6.com13000→3000
Open WebUIchat.liz6.com13001→3001
ドキュメントサイトdoc.liz6.com13002→8090
mdservepaste.liz6.com13003→8088
CalDAVcaldav.liz6.com13004→5232
OTLP (mTLS)otlp.liz6.com:94439443→Caddy mTLS (失効+パス制限) →4318

Docker コンテナ

インフラストラクチャレベル (停止すると家庭全体に影響)

コンテナポート説明
adguardhome53,8083DNS 広告フィルタリング
rathole-client社内ネットワーク透過
bark-server8085iOS 通知
radicale5232CalDAV/CardDAV
docker-proxy2375(127.0.0.1)Docker ソケット安全プロキシ
owntracks-recorder8083 (内部)GPS 位置記録

アプリケーションレベル

コンテナポート説明
open-webui3001LLM チャットインターフェース
homeassistant8123スマートホーム
searxng8888プライバシー検索
sillytavern3002AI ロールプレイ
navidrome4533音楽サーバー
wakapi8831コーディング時間統計
homepage8830ホームダッシュボード
it-tools8099開発者向けツールボックス
whodb8889データベース Web 管理
ドキュメントサイト8090自作レンダラー (doc.liz6.com)
mdserve8088Markdown レンダリング (paste.liz6.com)

補助サービス

サービスポート説明
bypass-forwardiptables FORWARD ACCEPT (LAN↔mihomo TUN)、oneshot
codex-relay4446ローカル API プロキシ (カスタムレスポンス→チャット完了)
li-home-docシステムドキュメントサイトレンダラー (バックグラウンドホットリロード)

デスクトップと開発

以下は個人用デスクトップ環境であり、インフラストラクチャサービスではありません。

デスクトップ環境 (Hyprland)

コアコンポーネント⁠: hyprland(~/.config/hypr/), hypridle, hyprlock, hyprpaper, waybar, fuzzel, wlogout, mako, cliphist, swappy, grim+slurp, fcitx5, waypaper

ディスプレイとセッション⁠: hypridle, hypridle-dpms, udiskie, gamemoded (ゲームモード + LLM による VRAM 割り当て)

オーディオ⁠: pipewire, pipewire-pulse, wireplumber

デスクトップ統合⁠: xdg-desktop-portal (+hyprland/gtk), flatpak-portal, dconf, gvfs, at-spi-dbus

ターミナル⁠: ghostty(~/.config/ghostty/), wezterm(~/.wezterm.lua)

ファイル管理⁠: thunar (GUI), superfile (TUI)

デスクトップアプリ

アプリソース説明
Google Chromeバイナリ /opt/google/chrome/ブラウザ
WeChatFlatpakWeChat
SpotifyFlatpak音楽
SteamFlatpakゲームプラットフォーム
wiliwiliFlatpakBilibili
BottlesFlatpakWine 管理
FlatsealFlatpakFlatpak 権限管理
Bambu Studioバイナリ /opt/bambustudio-bin/3D プリント用スライサー
百度网盘バイナリ /opt/baidunetdisk/クラウドストレージ
OpenRGBFlatpakRGB ライティング

AI/LLM

サービスポート説明
llama-server18080llama.cpp API (Vulkan, router モード, MTP)
openclaw-gateway18789AI エージェントプラットフォーム

GPU 消費電力スケジューリング: llama-gpu-sync.timer (15秒間隔、gpu_busy_percent をポーリング → ステージ 0↔5 を切り替え)。詳細は local-llm.md を参照してください。

開発

言語バージョンツール
rust1.92.0cargo
python3.13.11pip
go1.25.5go
node24.14.0npm
dotnet10.0.101dotnet
ruby3.xgem
openjdk17java

nvim(~/.config/nvim/), lazygit, chezmoi, kubectl+k9s+kubectx, helm, flutter, pulumi, ccache

Shell & CLI

zsh (starship, fzf-tab+zoxide+autosuggestions), fastfetch, eza, dust, procs, zellij, fzf, jq, lnav, tealdeer, strace, lsof, systemctl-tui

エンタメ

Steam (Flatpak), gamescope, MangoHud, Cheat Engine Server (/opt/ceserverbin76/), ffmpeg, mpv, wine-staging 11.4, Bottles

関連ドキュメント