はじめに

「ラズパイ=お遊び」というイメージは、もはや過去のものです。

私は現在、Raspberry Pi 5 を使って、実務を想定した自宅サーバー構成を構築し、 実際のアプリ開発・AI支援開発・検証環境として運用しています。

本記事では、以下のような構成を紹介します。

  • Raspberry Pi 5 × 複数台構成
  • app / db / lvs に役割分離
  • Tailscale によるセキュアな内部ネットワーク
  • Claude CLI を用いた AI 支援開発
  • 「壊さない」ことを最優先にした設計思想

全体構成

役割分離した3台構成

    ┌──────────────┐
│  lvs-server  │  ← 入口・制御
│ (Raspberry)  │
└──────┬───────┘
┌──────▼───────┐
│  app-server  │  ← API / アプリケーション
│ (Raspberry)  │
└──────┬───────┘
┌──────▼───────┐
│   db-server  │  ← DB / RAG / Redis
│ (Raspberry)  │
└──────────────┘
  

設計のポイント

  • 1台に詰め込まない
  • 役割を明確に分離
  • 実務でよくある構成をそのまま小型化

各サーバーの役割

lvs-server(入口・制御)

  • ロードバランサ用途(将来拡張前提)
  • 外部公開時の入口(現在は基本クローズ)
  • Cloudflare Tunnel / Nginx / LVS の検証環境

現在の運用では、内部通信はすべて Tailscale 経由です。


app-server(アプリケーション層)

  • FastAPI / Web API
  • ApprovalHub などの業務アプリ
  • 開発中アプリの実行環境
  • RAG API のフロント役

特徴

  • アプリ専用サーバー
  • DB・インフラには直接触らない
  • いつでも壊して作り直せる設計

db-server(中枢・データ層)

  • MySQL(Docker運用)
  • PostgreSQL(検証用)
  • Redis
  • ChromaDB(RAG用ベクトルDB)
  • Claude CLI / AIバッチ処理

特徴

  • データとAI処理の集約地点
  • cron による日次AIバッチ運用
  • 読み取り専用解析を基本方針とする

ネットワーク構成:Tailscale を全面採用

なぜ Tailscale なのか

  • ポート開放不要
  • VPN設定不要
  • IP管理がシンプル
  • Mac / スマホ / サーバーを同一LAN感覚で扱える

運用ポリシー

  • すべて Tailscale 内部通信
  • SSH / MySQL / API 接続も Tailscale 経由
  • 外部公開は必要なときだけ限定的に実施

「公開=ポート開放」ではなく、 閉じたネットワークで完結させるのが基本思想です。


開発スタイル:Claude CLI による AI 支援

Claude CLI の役割

  • 実装は行わない
  • 読み取り専用の解析・要約・整理
  • 提案型のAIアシスタントとして利用

実際に行っている処理

  • Gitリポジトリの解析
  • TODO / FIXME コメントの抽出と整理
  • ドキュメント改善提案
  • テスト不足箇所の洗い出し
  • 直近コミットの要約

本番コードは一切変更させない = 壊れないAI活用を徹底。


なぜ「すべてDocker化」しないのか

db-server では MySQL を Docker で運用していますが、 すべてをコンテナ化しているわけではありません。

理由は以下です。

  • ラズパイはリソースが限られる
  • 永続化・I/Oの挙動を理解したい
  • Linuxの素の挙動を把握しておきたい

Dockerは目的ではなく手段 状況に応じて使い分けています。


この構成のメリット

実務と同じ思考で設計できる

  • 役割分離
  • 障害切り分け
  • スケールを意識した構成

失敗できる環境

  • 自宅環境なので何度でも作り直せる
  • 実験・検証に最適

AI開発とインフラが自然につながる

  • RAG
  • AIバッチ
  • 分析・ドキュメント生成

面談・受託で説明しやすい

  • なぜこの構成にしたかを論理的に語れる
  • 趣味で終わらない構成

エンジニアとしての設計思想

この構成で一番大切にしている考え方は以下です。

便利そうなことをやらない 壊れないことだけをやる

  • AIは万能ではない
  • 自動化は制御しないと毒になる
  • インフラは「理解できる範囲」で組む

その結果として、 長く使える開発環境になりました。


おわりに

Raspberry Pi 5 は、

  • 学習
  • 趣味
  • 検証
  • 副業
  • 受託開発

すべてに使える 最高の実験台 です。

この構成は、 AI時代にエンジニアがどう生きるかを考える上でも、 とても良い題材だと感じています。