このサイトを含め、私が公開しているWebサービスはほぼ全部、自宅に置いた 手のひらサイズのミニPC 1台で動いています。 スペックは Intel N100(4コア) + メモリ32GB。消費電力はアイドル時10W前後で、 電気代は月に数百円です。この記事では、その小さなマシンの上で何をどう動かしているかをまとめます。
動いているもの一覧
- ツイッタラー世論調査(Next.js + PostgreSQL)— 登録1万人超の投票サイト。いまは選挙イベントで毎分投票が飛んできます
- 馴れ合いサークル(馴れ合い表) — Xの交流関係をグリッド表示するツール
- ヒカマー8values — 政治思想診断のコミュニティ版
- 画像板(ブール) — 自作のタグ検索付き画像ボード
- 検索エンジン(SearXNG) — 自分用のメタ検索
- 翻訳API — 多言語対応のためにNLLBモデルをCPUで自前ホスト
- 自動化(n8n) — 通知や定期処理のワークフロー
- このポートフォリオ — 見ての通り
- ほか、Bot数体と定期ジョブ(cron)が10本以上
これだけ詰め込んでも、N100のCPUは普段30%以下、メモリもまだ余っています。個人開発の 規模なら、小型PC1台で十分すぎるのだと毎日実感しています。
なぜ自宅サーバーなのか
理由は主に3つです。
- コスト: クラウドで同じことをやると月数千円〜。電気代数百円の世界に住みたい
- 検閲耐性: 匿名投票所のようなサイトは、プラットフォームの都合で 消されないことが大事。ドメインとサーバーを自分で握る
- 勉強になる: Docker・リバースプロキシ・DNS・TLS・バックアップ、 インフラの全部を実地で覚えられる
構成: PaaSを自分でホストする
デプロイには Coolify(セルフホストできるPaaS)を使っています。Gitにpushしたら Dockerコンテナをビルドして差し替え、TLS証明書も勝手に更新してくれる——Herokuのような体験を 自宅でやる感じです。HTTPSの公開は Cloudflare Tunnel 経由なので、 ルーターのポートを開ける必要すらありません。
アプリは全部Dockerコンテナで、DB(PostgreSQL)や検索エンジンも同様。1台のマシン上で 20以上のコンテナが平和に共存しています。異常時はコンテナ単位で直せるので、 小さく運用するのにDockerは本当に便利です。
止まらないための小ネタ集
- バックアップ: DBダンプとファイルを毎朝別ディスクへ。これがないと 検閲耐性も何もない
- 死活監視: ヘルスチェックを5分おきのcronで回して、おかしければ再起動
- スナップショット: 選挙イベント中は毎時、議席状況をDBに記録。 後から「あの時点の情勢」をグラフにできる
- Torミラー: 主要サイトは .onion でも公開。ドメインが死んでも、 検閲圏からも届く場所を確保しています
- データはローカルに: バックアップ含め、外部サービスに依存しすぎない
おわりに
「個人開発のインフラ」と聞くと大げさですが、実体は小さな箱1台とcronの山です。 特別なものは何もなくて、強いて言えば「毎日ちゃんと動くように作る」ことだけを 大事にしています。もし自宅サーバーに興味がある人がいたら、 N100クラスのミニPCから始めるのをおすすめします。安い・静か・省電力・十分速い、の4冠です。
▼ 関連: ツイッタラー世論調査 / ミラーページ