fix(atlas): complete rewrite to match actual 2026-03-31 infrastructure
- Remove stale Tailscale-scan noise (DESKTOP-*, Mai_SVR, Hetzner, Cloudflare, iPhone) - Ubuntu PC now central node with posimai-dev + Syncthing as child services - Add PostgreSQL, Resend nodes - Add Syncthing file-sync edge (Windows ↔ Ubuntu) - Add rsync backup edge (Ubuntu → Synology) - Add posimai-dev health_url for Atlas metrics panel - Correct VPS label (XServer not Hetzner), 27 apps count Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
0d580fe994
commit
d85cfbe1be
158
atlas.json
158
atlas.json
|
|
@ -2,87 +2,106 @@
|
||||||
"meta": {
|
"meta": {
|
||||||
"owner": "mai",
|
"owner": "mai",
|
||||||
"description": "Posimai 開発インフラ構成",
|
"description": "Posimai 開発インフラ構成",
|
||||||
"updated": "2026-03-29",
|
"updated": "2026-03-31",
|
||||||
"version": "1"
|
"version": "2"
|
||||||
},
|
},
|
||||||
"nodes": [
|
"nodes": [
|
||||||
{
|
|
||||||
"id": "windows-pc",
|
|
||||||
"label": "Windows PC",
|
|
||||||
"type": "device",
|
|
||||||
"description": "メイン開発機。Claude Code / VS Code / Git / Docker Desktop",
|
|
||||||
"status": "active"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"id": "ubuntu-pc",
|
"id": "ubuntu-pc",
|
||||||
"label": "Ubuntu PC",
|
"label": "Ubuntu PC",
|
||||||
"type": "device",
|
"type": "device",
|
||||||
"description": "常時起動の開発サーバー。posimai-dev(ブラウザターミナル)稼働中。Claude Code インストール済み。Tailscale HTTPS でどこからでもアクセス可能。",
|
"description": "常時起動の開発サーバー(実体)。posimai-dev・Claude Code 稼働中。Tailscale HTTPS でどこからでもアクセス可能。Syncthing でファイル同期。",
|
||||||
"url": "https://100.77.11.43:3333",
|
"url": "https://100.77.11.43:3333",
|
||||||
"health_url": "https://100.77.11.43:3333/api/health",
|
"health_url": "https://100.77.11.43:3333/api/health",
|
||||||
"status": "active"
|
"status": "active"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "android-phone",
|
"id": "posimai-dev",
|
||||||
"label": "Android (検証用)",
|
"label": "posimai-dev",
|
||||||
|
"type": "service",
|
||||||
|
"description": "ブラウザターミナル + Claude Code チャット。Ubuntu PC 上で常時稼働。音声入力・スラッシュコマンド・セッションログ対応。",
|
||||||
|
"url": "https://100.77.11.43:3333",
|
||||||
|
"health_url": "https://100.77.11.43:3333/api/health",
|
||||||
|
"status": "active",
|
||||||
|
"parent": "ubuntu-pc"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "syncthing-ubuntu",
|
||||||
|
"label": "Syncthing",
|
||||||
|
"type": "service",
|
||||||
|
"description": "Ubuntu PC ↔ Windows PC のリアルタイムファイル同期。posimai-project フォルダを双方向同期。",
|
||||||
|
"url": "http://100.77.11.43:8384",
|
||||||
|
"status": "active",
|
||||||
|
"parent": "ubuntu-pc"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "windows-pc",
|
||||||
|
"label": "Windows PC",
|
||||||
"type": "device",
|
"type": "device",
|
||||||
"description": "PWA テスト・モバイル動作確認用スマートフォン",
|
"description": "maita のメイン操作端末。Cursor / Claude Code / ブラウザで Ubuntu PC に接続して開発。Syncthing で posimai-project を同期。",
|
||||||
|
"status": "active"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "android-phone",
|
||||||
|
"label": "スマートフォン",
|
||||||
|
"type": "device",
|
||||||
|
"description": "PWA テスト・モバイル動作確認。Tailscale 経由で posimai-dev にアクセス。",
|
||||||
"status": "active"
|
"status": "active"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "synology",
|
"id": "synology",
|
||||||
"label": "Synology NAS",
|
"label": "Synology NAS",
|
||||||
"type": "device",
|
"type": "device",
|
||||||
"description": "ローカルバックアップ・Gitea ホスト。LAN 内常時稼働",
|
"description": "ローカルバックアップサーバー。Gitea・Uptime Kuma をホスト。Ubuntu PC の rsync バックアップ受け先(毎日 3:00)。",
|
||||||
"status": "active"
|
"status": "active"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "gitea",
|
"id": "gitea",
|
||||||
"label": "Gitea",
|
"label": "Gitea",
|
||||||
"type": "service",
|
"type": "service",
|
||||||
"description": "ローカル Git バックアップ。Synology 上で Docker 動作",
|
"description": "ローカル Git バックアップ。Synology 上で Docker 動作。全リポジトリのバックアップ用リモート。",
|
||||||
"url": "http://100.76.7.3:3000",
|
"url": "http://100.76.7.3:3000",
|
||||||
"status": "active",
|
"status": "active",
|
||||||
"parent": "synology"
|
"parent": "synology"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "vps-xserver",
|
"id": "tailscale",
|
||||||
"label": "VPS (XServer)",
|
"label": "Tailscale",
|
||||||
"type": "server",
|
"type": "network",
|
||||||
"description": "Posimai API 本番サーバー。共同開発者 Eiji 提供。Ubuntu / Docker で運用",
|
"description": "デバイス間 VPN メッシュ。Ubuntu PC・Windows PC・スマートフォン・Synology・VPS を安全に接続。tailnet: tail72e846.ts.net",
|
||||||
"url": "https://api.soar-enrich.com",
|
|
||||||
"status": "active"
|
"status": "active"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "docker",
|
"id": "vps-xserver",
|
||||||
"label": "Docker Engine",
|
"label": "VPS",
|
||||||
"type": "service",
|
"type": "server",
|
||||||
"description": "VPS 上のコンテナランタイム。Posimai API コンテナを管理",
|
"description": "Posimai API 本番サーバー。共同開発者 Eiji 提供。Ubuntu 25.04 / AMD EPYC 4コア / 5.8GB。Nginx + Docker 構成。",
|
||||||
"status": "active",
|
"url": "https://api.soar-enrich.com",
|
||||||
"parent": "vps-xserver"
|
"health_url": "https://api.soar-enrich.com",
|
||||||
|
"status": "active"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "posimai-api",
|
"id": "posimai-api",
|
||||||
"label": "Posimai API",
|
"label": "Posimai API",
|
||||||
"type": "service",
|
"type": "service",
|
||||||
"description": "server.js。認証・記事・TTS・ジャーナル・習慣 API を提供",
|
"description": "Node.js / Express。認証(Magic Link + WebAuthn)・記事・RSS・TTS・Journal API を提供。PostgreSQL 16 と接続。",
|
||||||
"url": "https://api.soar-enrich.com",
|
"url": "https://api.soar-enrich.com",
|
||||||
"status": "active",
|
"status": "active",
|
||||||
"parent": "vps-xserver"
|
"parent": "vps-xserver"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "tailscale",
|
"id": "postgresql",
|
||||||
"label": "Tailscale",
|
"label": "PostgreSQL 16",
|
||||||
"type": "network",
|
"type": "service",
|
||||||
"description": "デバイス間 VPN メッシュ。全デバイスを安全に接続",
|
"description": "VPS 本番 DB。articles / journal_posts / users / site_config / reading_history テーブル。自前認証も完全ホスト。",
|
||||||
"url": "https://tailscale.com",
|
"status": "active",
|
||||||
"status": "active"
|
"parent": "vps-xserver"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "github",
|
"id": "github",
|
||||||
"label": "GitHub",
|
"label": "GitHub",
|
||||||
"type": "cloud",
|
"type": "cloud",
|
||||||
"description": "ソースコード管理。push で Vercel 自動デプロイをトリガー",
|
"description": "ソースコード管理(posimai org)。push で Vercel 自動デプロイをトリガー。",
|
||||||
"url": "https://github.com/posimai",
|
"url": "https://github.com/posimai",
|
||||||
"status": "active"
|
"status": "active"
|
||||||
},
|
},
|
||||||
|
|
@ -90,15 +109,15 @@
|
||||||
"id": "vercel",
|
"id": "vercel",
|
||||||
"label": "Vercel",
|
"label": "Vercel",
|
||||||
"type": "cloud",
|
"type": "cloud",
|
||||||
"description": "全 posimai-* アプリのホスティング・自動デプロイ",
|
"description": "全 posimai-* PWA のホスティング・CDN・自動デプロイ。27 本稼働中。",
|
||||||
"url": "https://vercel.com",
|
"url": "https://vercel.com",
|
||||||
"status": "active"
|
"status": "active"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "posimai-apps",
|
"id": "posimai-apps",
|
||||||
"label": "Posimai Apps",
|
"label": "Posimai Apps (27)",
|
||||||
"type": "app",
|
"type": "app",
|
||||||
"description": "25+ の posimai-* PWA 群。Vercel でホスト、API を呼び出す",
|
"description": "brain / habit / pulse / feed / reader / journal / brief / daily / ambient / veil / lens / diff / clean / timer / digest / think / site / events / maps / tech-events / analytics / roadmap / together / atlas / dashboard / hotels など全 27 本。",
|
||||||
"url": "https://posimai-dashboard.vercel.app",
|
"url": "https://posimai-dashboard.vercel.app",
|
||||||
"status": "active",
|
"status": "active",
|
||||||
"parent": "vercel"
|
"parent": "vercel"
|
||||||
|
|
@ -107,39 +126,58 @@
|
||||||
"id": "supabase",
|
"id": "supabase",
|
||||||
"label": "Supabase",
|
"label": "Supabase",
|
||||||
"type": "cloud",
|
"type": "cloud",
|
||||||
"description": "posimai-together のリアルタイムデータ・グループ共有機能",
|
"description": "posimai-together のリアルタイムデータ・グループ共有機能のみ使用。Auth は自前 VPS に移行済み。",
|
||||||
"url": "https://supabase.com",
|
"status": "active"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "resend",
|
||||||
|
"label": "Resend",
|
||||||
|
"type": "cloud",
|
||||||
|
"description": "Magic Link メール送信のみ利用。noreply@soar-enrich.com から配信。",
|
||||||
"status": "active"
|
"status": "active"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "stripe",
|
"id": "stripe",
|
||||||
"label": "Stripe",
|
"label": "Stripe",
|
||||||
"type": "cloud",
|
"type": "cloud",
|
||||||
"description": "決済処理。共同開発者と共有、Kintone 連携実績あり",
|
"description": "決済処理。共同開発者 Eiji と共有。アカウント済み・Kintone 連携実績あり。将来の課金機能向け。",
|
||||||
"url": "https://stripe.com",
|
"url": "https://stripe.com",
|
||||||
"status": "active"
|
"status": "active"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"edges": [
|
"edges": [
|
||||||
{ "from": "windows-pc", "to": "tailscale", "type": "connects", "label": "VPN" },
|
{ "from": "windows-pc", "to": "tailscale", "type": "connects", "label": "VPN" },
|
||||||
{ "from": "ubuntu-pc", "to": "tailscale", "type": "connects", "label": "VPN" },
|
{ "from": "ubuntu-pc", "to": "tailscale", "type": "connects", "label": "VPN" },
|
||||||
{ "from": "android-phone", "to": "tailscale", "type": "connects", "label": "VPN" },
|
{ "from": "android-phone", "to": "tailscale", "type": "connects", "label": "VPN" },
|
||||||
{ "from": "synology", "to": "tailscale", "type": "connects", "label": "VPN" },
|
{ "from": "synology", "to": "tailscale", "type": "connects", "label": "VPN" },
|
||||||
{ "from": "vps-xserver", "to": "tailscale", "type": "connects", "label": "VPN" },
|
{ "from": "vps-xserver", "to": "tailscale", "type": "connects", "label": "VPN" },
|
||||||
{ "from": "windows-pc", "to": "gitea", "type": "push", "label": "git push" },
|
|
||||||
{ "from": "windows-pc", "to": "github", "type": "push", "label": "git push" },
|
{ "from": "windows-pc", "to": "ubuntu-pc", "type": "connects", "label": "SSH / posimai-dev" },
|
||||||
{ "from": "ubuntu-pc", "to": "gitea", "type": "push", "label": "git push" },
|
{ "from": "android-phone", "to": "posimai-dev", "type": "connects", "label": "Tailscale HTTPS" },
|
||||||
{ "from": "ubuntu-pc", "to": "github", "type": "push", "label": "git push" },
|
{ "from": "windows-pc", "to": "syncthing-ubuntu","type": "connects","label": "ファイル同期" },
|
||||||
{ "from": "github", "to": "vercel", "type": "trigger", "label": "auto deploy" },
|
|
||||||
{ "from": "gitea", "to": "synology", "type": "runs-on" },
|
{ "from": "posimai-dev", "to": "ubuntu-pc", "type": "runs-on" },
|
||||||
{ "from": "docker", "to": "vps-xserver", "type": "runs-on" },
|
{ "from": "syncthing-ubuntu", "to": "ubuntu-pc", "type": "runs-on" },
|
||||||
{ "from": "posimai-api", "to": "docker", "type": "runs-on", "label": "container" },
|
|
||||||
{ "from": "vercel", "to": "posimai-apps","type": "hosts" },
|
{ "from": "ubuntu-pc", "to": "gitea", "type": "push", "label": "git push" },
|
||||||
{ "from": "posimai-apps", "to": "posimai-api", "type": "calls", "label": "REST API" },
|
{ "from": "ubuntu-pc", "to": "github", "type": "push", "label": "git push" },
|
||||||
{ "from": "posimai-apps", "to": "supabase", "type": "calls", "label": "realtime" },
|
{ "from": "windows-pc", "to": "gitea", "type": "push", "label": "git push" },
|
||||||
{ "from": "posimai-apps", "to": "stripe", "type": "calls", "label": "payment" },
|
{ "from": "windows-pc", "to": "github", "type": "push", "label": "git push" },
|
||||||
{ "from": "windows-pc", "to": "vps-xserver", "type": "connects", "label": "SSH" },
|
{ "from": "ubuntu-pc", "to": "synology", "type": "connects","label": "rsync backup" },
|
||||||
{ "from": "windows-pc", "to": "ubuntu-pc", "type": "connects", "label": "SSH / posimai-dev" },
|
|
||||||
{ "from": "android-phone", "to": "ubuntu-pc", "type": "connects", "label": "Tailscale HTTPS" }
|
{ "from": "gitea", "to": "synology", "type": "runs-on" },
|
||||||
|
{ "from": "github", "to": "vercel", "type": "trigger", "label": "auto deploy" },
|
||||||
|
{ "from": "vercel", "to": "posimai-apps", "type": "hosts" },
|
||||||
|
|
||||||
|
{ "from": "posimai-api", "to": "vps-xserver", "type": "runs-on", "label": "Docker" },
|
||||||
|
{ "from": "postgresql", "to": "vps-xserver", "type": "runs-on" },
|
||||||
|
{ "from": "posimai-api", "to": "postgresql", "type": "calls", "label": "SQL" },
|
||||||
|
{ "from": "posimai-api", "to": "resend", "type": "calls", "label": "Magic Link" },
|
||||||
|
|
||||||
|
{ "from": "posimai-apps", "to": "posimai-api", "type": "calls", "label": "REST API" },
|
||||||
|
{ "from": "posimai-apps", "to": "supabase", "type": "calls", "label": "realtime" },
|
||||||
|
{ "from": "posimai-apps", "to": "stripe", "type": "calls", "label": "payment" },
|
||||||
|
|
||||||
|
{ "from": "windows-pc", "to": "vps-xserver", "type": "connects", "label": "SSH" }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue