世界を動かす技術を、日本語で。

私がセルフホストしているもの

2026年10月16日原文(viceconsole.fyi)

概要

  • 自己ホスティング の歴史と背景の紹介
  • 自己ホスティングとクラウドサービス の使い分け理由
  • セキュリティ方針 やハードウェア選択の基準
  • 主要な自己ホストサービス の具体例と運用方法
  • リソース節約の工夫 と実際の運用感想

私が自己ホストするもの、しないもの、その理由

  • 自己ホスティング の世界に長年関わってきた経験
    • 大学時代からLinuxサーバーでウェブサイト運営
    • MythTVやXBMC(現Kodi)の運用歴
  • インド滞在時はストリーミングサービス (Netflix、Disney Plus、Spotify)が安価だったため利用
  • 帰国後は高額な西欧価格を嫌い、また子供の視聴管理の難しさからストリーミングサービスを解約
  • Jellyfinによる自己ホスティング で家族の視聴体験をコントロール
  • 自己ホスティングによるメリット
    • クラウドサービス依存の低減
    • 無駄なUI変更や通知、利用規約変更のストレス減
    • アップデートタイミングを自分で決定可能

運用ルールとセキュリティ

  • VPNサーバー以外はインターネット公開しない
    • AI支援のハッキングリスクも考慮
  • ISPはCGNATを利用 しIPv4での外部到達不可
  • VPNはIPv6のみ公開 (公共Wi-Fiでは利用困難だが許容範囲)
  • できるだけネイティブ運用、依存関係が多い場合のみコンテナ化
    • Goバイナリ単体で動くサービスを好む
    • Docker Compose+多依存サービスは極力避ける
  • DockerからPodmanへ移行
    • systemdとの統合性向上が理由

ハードウェア構成

  • Beelink Mini PC(S12 Pro, Intel N100, 16GB RAM, 512GB SSD) をEUR 180で購入
    • 現在は価格が倍増
  • 6TB HDDをメディアストレージ用に接続
  • 16GB RAMで十分な理由
    • 軽量なサービス選定と運用
    • AI推論などの重い処理は行わない

自己ホストしているサービス例

  • Actual Budget :家計簿・資産管理(投資口座はクラウド依存)
    • 月末にOFX/CSVで手動インポート
  • Audiobookshelf :オーディオブック・ポッドキャスト管理
    • 子供向けに導入、チャプター管理が優秀
  • Automatic Ripping Machine (ARM) :DVDリッピング自動化
    • 英語・フランス語のバイリンガルコンテンツ確保
  • Backrest :Resticバックアップ用Web UI
    • Immich(写真)のバックアップ重視
    • Gotifyで失敗通知
  • Beszel :エージェント型システム監視ダッシュボード
    • 家中のRaspberry PiやProxmoxクラスタの監視
  • Caddy :Webサーバー兼リバースプロキシ
    • LetsEncryptによるSSL証明書自動取得
    • サブドメイン管理が容易
  • Cockpit :Webベースのサーバー管理コンソール
    • サービス障害の可視化
  • Forgejo :GiteaフォークのGitリモート
    • 高速なプライベートGit運用
  • Frigate :ネットワークビデオレコーダー(NVR)
    • 8台のIPカメラ管理
    • Home Assistant連携による自動化
    • 低解像度運用でリソース節約
  • Gonic :Go製Subsonic互換音楽サーバー
    • 子供用・大人用で2インスタンス運用
  • Gotify :Go製通知サービス
    • Uptime Kuma等と連携し障害・イベント通知
  • Home Assistant :スマートホーム自動化
    • 独自プロトコル・柔軟な制御
    • Podmanで運用
  • Homepage :自己ホストサービス一覧ダッシュボード
    • サービス状況の一元管理
  • Immich :Google Photos代替
    • 家族写真の自己管理と容量制限からの解放
    • アルバム共有も独自解決
  • Jellyfin :メディアサーバー
    • 映画・TV・ホームビデオ管理
    • おすすめ機能や自動再生がないシンプルな体験
    • 720p中心の省リソース運用
  • Music Player Daemon (MPD) :長年定番の音楽再生
    • Snapcastと組み合わせて全館オーディオ

サービス選定・運用のこだわり

  • ネイティブ運用優先、複雑な依存関係は避ける
  • DockerよりPodman+systemd統合 を重視
  • クラウド依存は最小限、必要に応じて使い分け
  • 通知や監視の自動化 により安定運用を実現
  • リソース消費の最適化 (解像度・プロセス数等)

今後の課題・展望

  • 投資口座の自己ホスト管理への移行検討
  • Immichでの重複写真整理やアルバム共有の改善
  • Home Assistantの冗長化や障害時対応の検討
  • ProxmoxクラスタやIPカメラ運用の詳細記事執筆予定

このように、 自己ホスティング はコスト削減だけでなく、 自由度・安定性・プライバシー の面でも多くのメリットをもたらします。一方で、 運用ルールの徹底や適切なツール選定 が重要となるため、自分のニーズに合わせて柔軟に構成を見直すことがポイントです。

Hackerたちの意見

できるだけネイティブでサービスを動かしたいけど、複雑なサービスや依存関係が多いものはコンテナ化するよ。好きなのは、単一のGoバイナリで動くサービス。Docker Composeファイルだけで、MySQLやRedis、他に3つのコンテナを立ち上げようとするサービス?もう代替案を探してる。うん、君の意見は尊重するけど、実際にその逆が好きな可哀想な人もいることを忘れないで。

└

私がRustとSqliteをプロジェクトに選んだ大きな理由は、エンドユーザーが小さなバイナリを実行するだけで済むからなんだ。https://github.com/sergiotapia/joyscroller こういうセットアップなら、特に自分だけのためなら、かなり遠くまで行けると思うよ。

└

うん、君の意見は尊重するけど、実際にその逆が好きな可哀想な人もいることを忘れないで。全ての条件が同じなら、なんでDocker Composeを好むの?私の視点からすると、単一のバイナリがDocker Composeの解決策を圧倒的に上回るよ。

└

同じく、コンポーズファイルさえあれば、すぐに始められるよ!

└

同意!みんなDocker Composeの話してるけど、俺は全部k8sに入れてるよ。

いい記事だね。私のセットアップにも同じようなサービスがたくさんあるよ。メールを完全に自己ホスティングするのは面倒だし、必要ないけど、いろんな受信箱(Gmail、iCloud、Proton、非企業のOutlook)をmbsyncでミラーリングして、Roundcubeや他のフロントエンドを使ってメールを見たり作成したりすることができるよ。これを使って、異なるサービスから簡単にメールにアクセスできるし、どれからでも送信できる。メールディレクトリを監視して、新しいメールが来たらntfy.sh通知を送る別のサービスもあるよ。サービスが多いからちょっと複雑だけど、こちらがそのクアドラントだよ: https://github.com/ebrahim37/infra-template/tree/main/homela... これは約1ヶ月前に実装したんだけど、iPhoneのメールアプリがどんどんバグってきたからね。

└

プロトンでこれできるの?暗号化や復号化はどう処理するの?これやりたいなぁ、プロトンのフロントエンドは時々イライラするんだよね。

└

「メールを完全に自己ホスティングするのは面倒/不必要」って言ってるけど、ITやってるなら、なんで特にメールの自己ホスティングが面倒だと思うの?

宣言的/標準的なデプロイ方法、つまりDocker Composeやk3s/k8sなしでこれらのサービスを全部動かすのは、ちょっと頭が混乱するよ。いろんなハードウェアやOS、プロバイダーで自己ホスティングしてるけど、できるだけ手間を減らしたいんだ。

└

特に今は、指を鳴らせば半分責任のあるコーディファイドバージョンが手に入るからね。好きなようにやって、LLMに自分の作業をちょっとマシなものに移植してもらえばいいんじゃない?

└

ペットは時々いいよね!でも、世話や餌やりは必要だし、これを面倒だと思う人もいるけど、楽しみとして捉える人もいるよね。「もっとやるべきことがある」っていう視点も分かる、特にそういうのが好きじゃないならね。

└

俺の経験上、「宣言的」とか「デプロイ」とか「docker」、「k8s」って言葉が出てくると、実際には手間が増えるサインだと思うんだよね。でも、これは俺だけの意見。

Hacker Newsで議論の続きを見る