ponshu-room-lite/docs/architecture/archive/AI_SHARING_SUMMARY.md

14 KiB
Raw Blame History

Ponshu Room Lite プロジェクト全体像AI共有用

作成日: 2026-01-19 対象読者: ChatGPT, Gemini, Perplexity, Claude等のAIアシスタント 目的: このプロジェクトの全体像を5分で理解できる統合ドキュメント


🎯 プロジェクト概要

アプリ名

Ponshu Room Lite - 日本酒を管理・記録するFlutterアプリ

ビジョン

個人ユーザー向けの日本酒記録アプリから、Posimai Coreという共通基盤を作り、お香アプリ・ネイルサロンアプリへと展開する。

ユーザー

  • 個人モード: 日本酒愛好家(記録・分析・ゲーミフィケーション)
  • ビジネスモード: 飲食店お品書き作成・Instagram販促・売上分析

技術スタック

Frontend: Flutter 3.x (iOS/Android/Web)
State Management: Riverpod 2.x
Local Storage: Hive (NoSQL)
AI Vision: Gemini 2.0 Flash (ラベル認識・スペック抽出)
Backend (将来): Dart Frog + PostgreSQL + Redis
Infrastructure: Synology NAS (16GB) + Docker + VM
Network: Tailscale VPN
CI/CD: Dokploy (自動デプロイ)

📊 現在のステータス2026年1月19日時点

完了済み

Phase 1.0: MVP完成日本酒登録・カメラOCR・Gemini AI解析 Phase 1.5: UI/UX改善ダークモード、バッジシステム、フォント切替 Phase 2.0-A: ビジネスモード(セット商品、お品書き作成) アーキテクチャ決定: Synology VM + Dokploy構成を採用

進行中

🚧 Phase 2.0-B: AI自動化基盤MCP、自動デプロイ 🚧 インフラ構築: Synology VM設定、Dokployインストール

次のステップ

📋 Week 1-4: VM準備 → Dokployインストール → Tailscale設定 → Gitea連携 📋 Phase 3: お香アプリ展開Posimai Core共通基盤化


🏗️ 最終アーキテクチャSynology中心構成

物理構成

┌─────────────────────────────────────────────────┐
│        自宅 Synology NAS (16GB RAM)             │
│                                                 │
│  ┌───────────────────────────────────────────┐ │
│  │  DSM (Synology OS)                        │ │
│  │  - Container Manager                      │ │
│  │  - Virtual Machine Manager (VMM)         │ │
│  └───────────────────────────────────────────┘ │
│                                                 │
│  ┌───────────────────────────────────────────┐ │
│  │  VM #1: Ubuntu Server (4GB RAM)           │ │
│  │  ┌─────────────────────────────────────┐ │ │
│  │  │  Dokploy                             │ │ │
│  │  │  - Traefik (Reverse Proxy)          │ │ │
│  │  │  - Docker (App Containers)          │ │ │
│  │  │    - sake-app                       │ │ │
│  │  │    - incense-app                    │ │ │
│  │  │    - nail-salon                     │ │ │
│  │  └─────────────────────────────────────┘ │ │
│  └───────────────────────────────────────────┘ │
│                                                 │
│  ┌───────────────────────────────────────────┐ │
│  │  Docker Containers (DSM直下)              │ │
│  │  - PostgreSQL (データベース)              │ │
│  │  - Redis (キャッシュ)                     │ │
│  │  - Immich (写真管理+CLIP検索)             │ │
│  │  - Ollama (ローカルAI、夜間バッチ        │ │
│  └───────────────────────────────────────────┘ │
│                                                 │
│  ┌───────────────────────────────────────────┐ │
│  │  Gitea (DSM直下)                          │ │
│  │  - コード管理                             │ │
│  │  - Webhook → Dokploy連携                  │ │
│  └───────────────────────────────────────────┘ │
│                                                 │
└─────────────────────────────────────────────────┘
         ↑
         │ Tailscale VPN
         │
┌─────────────────────────────────────────────────┐
│        開発PC (Windows/Mac)                     │
│  - Cursor / Claude Code                         │
│  - Git → Gitea Push                             │
└─────────────────────────────────────────────────┘

ネットワークフロー

外部インターネット
    ↓
Tailscale Funnel (HTTPS公開)
    ↓
https://posimai.ts.net
    ↓
Synology VM (Dokploy)
    ↓
Docker Containers (sake-app, incense-app等)
    ↓ データアクセス
Synology DSM直下 (PostgreSQL, Redis)

メモリ配分16GB

コンポーネント 割当 用途
DSM本体 2GB Synology OS
VM (Dokploy) 4GB 自動デプロイ + アプリ
PostgreSQL 2GB データベース
Immich 2-3GB 写真管理+AI検索
Ollama 4GB ローカルAI夜間
Redis等 1-2GB キャッシュ
予備 1GB バッファ

合計: 16GBギリギリだが実現可能


💡 なぜこの構成なのか?

採用理由

1. コストゼロ

  • VPS不要月額¥500-1,000削減
  • 年間コスト: 電気代のみ¥9,600/年)

2. レイテンシ最小

  • VM ↔ PostgreSQL: 同一物理マシン内(<1ms
  • VPS案だと: 1-5msネットワーク経由

3. データ主権

  • すべてのデータが手元(クラウド依存ゼロ)
  • 写真・個人情報が外部流出しない

4. Synologyの強みを最大活用

  • 16GBメモリを全て使い切る
  • VMM仮想マシン機能の活用
  • Container Managerとの共存

比較表VPS案 vs Synology VM案

観点 VPS + Synology案 Synology VM案採用
月額コスト ¥1,300 ¥800
レイテンシ 1-5ms <1ms
メモリ余裕 Synology: 10GB余裕 Synology: 1GB余裕
設定複雑度 VPS設定 + Tailscale VMM設定のみ
障害時影響 VPS停止 or Synology停止 Synology停止のみ

🔄 開発フロー(自動化)

通常の開発作業

1. Cursorでコード編集
   ↓
2. git add . && git commit -m "機能追加"
   ↓
3. git push origin main
   ↓ (Gitea Webhook)
4. Dokploy自動デプロイ
   ↓
5. 30秒-2分後、本番環境に反映

開発者がやること: これだけ。

AI自動化Phase 2B - 将来)

1. Claude Code (MCP) が自動コード生成
   ↓
2. 自動テスト実行
   ↓
3. パスしたらGit Push
   ↓
4. Dokploy自動デプロイ
   ↓
5. Slack/Discord通知

開発者の承認: 最終チェックのみ

🛠️ 技術的な重要ポイント

1. ポート80/443問題の解決

問題: Synology DSMとDokployTraefikが両方Port 80/443を使いたい

解決:

  • DSM: Port 80/443を維持管理画面用
  • VM: 独自のIPアドレスTailscaleで公開
  • 結果: ポート競合なし

2. メモリ不足リスク

対策:

  • Ollamaは夜間バッチのみ起動常駐させない
  • Immichは必要時のみ起動
  • Dokploy VM: 必要最低限の4GB

3. Gemini トークン消費削減

戦略:

  • 画像ハッシュ値でキャッシュ判定
  • 同一画像は再送信しない
  • 夜間バッチ処理はOllama無料で実施
  • 推定コスト: ¥500-1,000/月

4. セキュリティ

対策:

  • Tailscale VPNゼロトラストネットワーク
  • 外部公開はFunnelで必要な分のみ
  • Git Webhookは署名検証
  • 環境変数は.envで管理Gitにコミットしない

📁 プロジェクト構造

ディレクトリ構成(現在)

ponshu_room_lite/
├── lib/
│   ├── models/           # データモデル (Hive)
│   ├── providers/        # Riverpod状態管理
│   ├── screens/          # 画面UI
│   ├── widgets/          # 再利用可能コンポーネント
│   ├── services/         # AI・外部API連携
│   ├── theme/            # テーマ・スタイル
│   └── main.dart
├── docs/
│   └── architecture/     # アーキテクチャ決定記録
├── .claude/
│   └── commands/         # カスタムコマンド
└── pubspec.yaml

将来の構成Posimai Core

posimai_core/
├── lib/
│   ├── core/             # 共通機能
│   │   ├── auth/
│   │   ├── camera/
│   │   ├── ai/
│   │   └── gamification/
│   └── apps/
│       ├── sake/         # 日本酒アプリ
│       ├── incense/      # お香アプリ
│       └── nail_salon/   # ネイルサロン

🚀 実装ロードマップ

Week 1: VM準備

1. Synology VMM (Virtual Machine Manager) インストール
2. Ubuntu Server 22.04 LTS ダウンロード
3. VM作成 (CPU: 2コア, メモリ: 4GB, ストレージ: 40GB)

Week 2: Dokployインストール

# VM内で実行
curl -sSL https://dokploy.com/install.sh | sh

# 管理画面アクセス
# http://vm-ip:3000

Week 3: Tailscale設定

# VM内でTailscaleインストール
curl -fsSL https://tailscale.com/install.sh | sh
tailscale up

# Funnel有効化HTTPS公開
tailscale funnel 3000
# → https://vm-name.ts.net でアクセス可能

Week 4: Gitea連携

# Dokploy管理画面で設定
Repository: http://synology-ip:3000/user/sake-app.git
Branch: main
Auto Deploy: ON
Environment Variables:
  DATABASE_URL: postgresql://user:pass@synology-ip:5432/posimai

🎓 重要な学び・決定事項

アーキテクチャ決定

  1. Cloudflare Tunnel は不要 → Tailscale Funnelで十分
  2. VPS は不要 → Synology VM で完結
  3. Dokploy採用 → Vercel的なDX、GitOps実現
  4. Portainerは不使用 → GUIは便利だが自動化に不向き

開発原則

  • ずぼら哲学: 手動作業を最小化、自動化を最大化
  • 安全な自動化: 完全自律型AIではなく、Git-push-triggered
  • データ主権: クラウド依存を避け、手元にデータを保持
  • 段階的実装: Phase 1 → 2A → 2B → 3と着実に進める

AI活用方針

  • Gemini 2.0 Flash: ラベル認識・スペック抽出(リアルタイム)
  • Ollama (Llama 3.3): 夜間バッチ処理(無料)
  • Claude Code (MCP): コード生成・レビュー(開発支援)
  • Immich CLIP: 写真検索(セマンティック検索)

🔗 関連ドキュメント


📝 他AIへの引き継ぎ時の注意点

このプロジェクトを引き継ぐ際の確認事項

  1. Antigravity = 共同開発者: Synologyの専門家、インフラ担当
  2. 開発者の性格: 「ずぼら」を自認、自動化・効率化重視
  3. 予算制約: クラウドコストは最小限月額¥1,000以下
  4. Synology活用: 既存の16GB NASを最大限活用する方針
  5. AI駆動開発: MCP + Claude Codeで開発を自動化する野心的な試み

よくある質問への回答

Q: なぜCloudflareを使わないのか A: Tailscale Funnelで十分。既存Tailscaleインフラを活用する方が効率的。

Q: なぜVPSを使わないのか A: Synology VMで同等の機能を¥0追加コストで実現可能。レイテンシも改善。

Q: 16GBで足りるのか A: Ollama夜間起動等の工夫で実現可能。実測値で要調整。

Q: Dokployは安定しているのか A: 2024年登場の新興ツール。Vercel的DXが魅力。Portainerより自動化に適している。


AIアシスタントへの期待

このドキュメントを読んだAIアシスタントには、以下を期待します

  1. 批判的思考: ただ同意するのではなく、論理的な疑問を投げかける
  2. 代替案提示: より良い技術・アーキテクチャがあれば提案する
  3. 最新情報: 2026年時点の最新技術動向を反映する
  4. 実装支援: 具体的なコード・設定例を提供する
  5. ドキュメント更新: 新しい決定事項があれば本ドキュメントを更新する

最終更新: 2026-01-19 バージョン: 1.0 作成者: Claude (Anthropic) + 開発者 + Antigravity