Skip to Content

인프라 인벤토리

포트 할당

/Users/axe/CLAUDE.md  가 SSOT. 본 표는 후행 정리.

범위프로젝트
31xxBlueprint
32xxCortex
33xxArtemis
34xxDistributa
35xxKolon Discussion
36xxmysrt
37xxframe
38xxhive
39xxaxelabs (회사 홈 + @axe/ui) + matrix (인프라 모니터링 MCP)
31xx ~docs (3140 = axelabs-docs)

전체 포트 테이블

서비스포트컨테이너 / 프로세스관리
Blueprint Next.js dev3100node수동
Blueprint WebSocket3101node수동
Blueprint Docker nginx3180 / 3143Dockerdocker compose
Cortex Postgres 163200Docker cortex-postgresdocker compose
Cortex MCP blue3210Docker cortex-mcp-blue (alias cortex-mcp active)docker compose
Cortex MCP green3211Docker cortex-mcp-green (passive)docker compose (task 15)
Cortex proxy (Caddy blue/green selector)3212Docker axe-cortex-proxydocker compose (task 15)
Cortex cloudflared (legacy, mysrt only)20241cloudflaredlaunchd com.cortex.cloudflared — D-cortex-7 후 cortex 라우트 제거, mysrt.axellc.com 만 서비스
Artemis Qdrant6333Dockerdocker compose
Artemis Caddy3380 / 3343Dockerdocker compose
Distributa Next.js3400node수동
Kolon Discussion3500node수동
mysrt FastAPI3600uvicornlaunchd com.mysrt.app
frame Postgres 163700Docker frame-postgresdocker compose
frame MCP blue3710Docker frame-mcp-bluedocker compose
frame MCP green3711Docker frame-mcp-greendocker compose
frame proxy (Caddy blue/green selector)3712Docker ${CUSTOMER_PREFIX:-axe}-frame-proxy (기본 axe-frame-proxy, 멀티커스터머 prefix 변수화)docker compose
Blueprint Postgres 163120Docker blueprint-postgresdocker compose
Blueprint MCP blue3152 → 3000Docker blueprint-mcp-blue (alias blueprint-mcp active)docker compose
Blueprint MCP green3153 → 3000Docker blueprint-mcp-green (passive)docker compose
Blueprint MCP proxy (Caddy)3151Docker axe-blueprint-mcp-proxydocker compose

blueprint-mcp blue/green 은 Microsoft Entra 토큰 + Blueprint 플랫폼 토큰(axe login, D-axe-idp-1) 둘 다 수용 — environment:BLUEPRINT_ISSUER=https://blueprint.axellc.com(+ BLUEPRINT_AUDIENCE) 가 자체 OP 의 resource-server 신뢰를 켠다 (2026-06-04, known-gaps). 미설정 시 Entra 경로만.

| hive Postgres 16 | 3800 | Docker hive-postgres | docker compose | | hive MCP blue | 3810 | Docker hive-mcp-blue | docker compose | | hive MCP green | 3811 | Docker hive-mcp-green | docker compose | | hive proxy (Caddy blue/green selector) | 3812 | Docker axe-hive-proxy | docker compose | | axelabs-docs (이 문서) | 3140 | node | 수동 / launchd 검토 | | axelabs (회사 홈 + @axe/ui 쇼케이스) | 3900 | Docker axelabs (Next.js standalone) | docker compose | | matrix Postgres 16 | 3901 | Docker matrix-postgres | docker compose | | matrix MCP blue | 3910 | Docker matrix-mcp-blue (alias matrix-mcp active) | docker compose | | matrix MCP green | 3911 | Docker matrix-mcp-green (passive) | docker compose | | matrix proxy (Caddy blue/green selector) | 3912 | Docker axe-matrix-proxy (127.0.0.1 bind) | docker compose | | stream MCP (realchoice) | 8780 | Docker stream-mcp | docker compose | | magnet MCP (realchoice) | 8770 | Docker magnet-mcp | docker compose |

launchd 서비스 (자동 시작)

라벨용도빈도
com.cortex.cloudflaredmysrt.axellc.com tunnel (legacy 명) — 추후 axe-tunnel Docker 로 이전 후 폐기always
com.artemis.filings공시 수집매일 18:00
com.artemis.collectorsWatchPath 트리거event
com.mysrt.appmysrt (:3600)always
com.frame.token-rotationframe JWT 갱신매 8h
com.frame.integrity-checknightly 무결성 감사매일
com.axe.backup.locallocal restic backup매일 03:00 KST
com.axe.ring.pushring backup push매일 03:30 KST
com.axe.restore-drill분기별 restore drillJan/Apr/Jul/Oct 15 03:00
com.axe.console.rebuild운영자 콘솔 rebuild매시
com.axe.health-check인프라 health probe매분
com.axe.secret-checksecret 만료 알림매일 09:00
com.axe.operator-alert-notifyBlueprint silent-drop L2 — [OPERATOR-ALERT] 마커 tail → macOS notification (D-bp-alert-1, 2026-05-22)always (KeepAlive)
com.axe.netheal인터넷 자가치유 — WAN 끊김 시 DNS플러시→DHCP갱신→WiFi바운스 + ISP 인지 백오프 (D-matrix-4). /usr/local/sbin/axe-netheal.sh, 로그 /var/log/axe-netheal.logalways (KeepAlive)

전체 list:

launchctl list | grep -E 'cortex|artemis|mysrt|frame|axe' | head -30

Docker 컨테이너 (axe-macmini 기준)

axelabs-tunnel cloudflared (axelabs.ai 트래픽) axe-frame-proxy Caddy (blue/green selector :3712) frame-mcp-blue FastMCP (:3710) frame-mcp-green FastMCP (:3711, passive) frame-postgres PostgreSQL 16 (:3700) axe-hive-proxy Caddy (blue/green selector :3812) hive-mcp-blue FastMCP (:3810) hive-mcp-green FastMCP (:3811, passive) hive-postgres PostgreSQL 16 (:3800) axe-blueprint-mcp-proxy Caddy (:3151, upstream alias `blueprint-mcp`) blueprint-mcp-blue FastMCP (:3000 internal, host :3152, alias `blueprint-mcp` active) blueprint-mcp-green FastMCP (:3000 internal, host :3153, passive) blueprint-postgres PostgreSQL 16 (:3120, Prisma schema) axe-matrix-proxy Caddy (:3912 → upstream alias `matrix-mcp`, 127.0.0.1 bind only) matrix-mcp-blue Rust/axum (:3910, alias `matrix-mcp` active, MCP + REST + collector) matrix-mcp-green Rust/axum (:3911, passive) matrix-postgres PostgreSQL 16 (:3901, ICU ko-KR) axe-vaultwarden Vaultwarden Timshel axe-vault-caddy Caddy (vault TLS termination :8222) axe-caddy Caddy (admin.axelabs.ai) artemis-* Artemis stack (별도 운영) blueprint-app Blueprint (axe customer 의 Next.js)

확인:

docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"

핵심 파일

파일역할
/Users/axe/.axe/customers.yaml멀티테넌트 SSOT
/Users/axe/.axe/bin/axe운영자 CLI
/Users/axe/CLAUDE.md포트 / 도메인 / launchd 모음
/Users/axe/multi-tenant-platform-plan.md플랫폼 마스터 plan
/Users/axe/frame/DECISIONS.mdD-ops 결정 기록
/Users/axe/.axe/state.yaml현재 rollout phase
/Users/axe/.axe/NEXT_SESSION.md다음 세션 컨텍스트
/Users/axe/.axe/tunnels/axelabs/config.ymlcloudflared ingress
/Users/axe/.axe/vault/docker-compose.ymlVaultwarden
/Users/axe/.axe/vault/.envVaultwarden secrets
/Users/axe/frame/.env.localframe env_file (vault-pulled, D-ops-17/18). docker-compose env_file 단일 출처 — environment: 블록은 literal config 만
/Users/axe/hive/.env.localhive env_file (vault-pulled). 동일 패턴 (D-ops-18)
/Users/axe/blueprint/.envBlueprint env (vault-pulled). compose project_dir=docker/ 라서 docker/.env → ../.env symlink 필요 (bin/setup-env-symlink.sh)
/Users/axe/.axe/backups/local/restic Tier A repo
/Users/axe/.axe/messages/외부 송부 메시지 (realchoice 등)

Docker 네트워크

네트워크용도멤버 (예시)
frame_defaultframe 컨테이너 격리postgres, frame-mcp-blue/green
artemis_default플랫폼 공유axelabs-tunnel, axe-caddy, blueprint-app, frame-mcp-blue/green (alias)

확인:

docker network ls docker network inspect artemis_default

DNS Records (Cloudflare zone axelabs.ai)

TypeNameContentProxy
CNAME (Tunnel)axeAXELABS-UUID.cfargotunnel.comON
CNAME (Tunnel)*.axeAXELABS-UUID.cfargotunnel.comON (wildcard)
CNAME (Tunnel)adminAXELABS-UUID.cfargotunnel.comON
CNAME (Tunnel)docsAXELABS-UUID.cfargotunnel.comON
CNAMEwwwaxelabs.aiON
TXTaxeMS=ms10433167 (Microsoft 도메인 검증)DNS only

AXELABS-UUID = d8efecdd-2c3f-42de-9925-501433e21394. Cloudflare UI 가 .cfargotunnel.com suffix 를 인식해서 Type 컬럼에 Tunnel 로 표시.

Microsoft Entra ID Apps (axe customer 기준)

AppClient ID용도
Frame MCP137fc0ef-eb9f-4903-acbc-1a748add349c회계 OAuth
Hive MCPb7ead15d-2fea-4864-a5a8-b4b07d1629d4HR OAuth
Blueprint MCP482598f7-540c-462c-9dfd-b957651eb804Blueprint platform OAuth (D-bp-mcp-1)
axe-vaultwarden9d0dc49b-a251-45e1-9f10-74704af3c033Vault SSO
Blueprint Web(별도)Web UI 로그인

Application ID URI:

  • Frame MCP: https://axe.axelabs.ai/frame/mcp
  • Hive MCP: https://axe.axelabs.ai/hive/mcp
  • Blueprint MCP: https://axe.axelabs.ai/blueprint/mcp
  • Vaultwarden: (Microsoft 기본 api://...)

Cloudflare Tunnel

TunnelID실행
axelabsd8efecdd-2c3f-42de-9925-501433e21394Docker axelabs-tunnel (axelabs.ai 전체)
cortex35b42a0a-8ef8-467d-be90-2f46b3e0dbd0launchd com.cortex.cloudflared (cortex.axellc.com, mysrt.axellc.com)
axe846f512c-7a35-45f0-8cea-d41157318856별도 운영
(customer 측)(별도)(each customer macmini)

확인 (host):

cloudflared tunnel list

Vaultwarden Organizations

Organization용도
axe액스코퍼레이션 주식회사 platform (axec entity 가 운영 주체)
realchoice (예정)realchoice customer

Collections (per organization):

  • frame-jwt-<entity> — 운영자 발급 토큰 보관 (현재 dormant, OAuth 사용 후)
  • frame-secrets — client_id, client_secret 보관
  • infra-secrets — backup password 등

Backup repositories

Tier위치Password
A (local)/Users/axe/.axe/backups/local/Keychain axe.backup.restic.local
B (ring)realchoice:/Users/realchoice/peer-backups/axe/Keychain
C (cold)/Volumes/axe-cold-{1,2,3}/restic-repo/종이 메모

백업 대상 dump (axe-backup, 매일 03:00): frame · blueprint · hive · mysrt · index (evidence_blob = 죽은 딜 OneDrive/Blueprint 원본 삭제 후 SOLE 사본, D-index-51) + .local/files/. 상세 = backup.

현재 customer 상태

SSOT = /Users/axe/.axe/customers.yaml. 본 표는 후행 정리. 빠른 확인: axe customers list.

Customer 메타

idnamepublic_domainentitiesonboarded상태
axeAXEaxe.axelabs.aiaxec (액스코퍼레이션 주식회사) · axev (액스벤처스 주식회사) · axep (액스파트너스 유한책임회사, GP) · axe_ia_001 (액스 투자조합 1호, KIP, GP=axev)2025-01-01live — 9 service in-house 가동, AXE 가 operator-of-record
realchoiceRealchoicerealchoice.axelabs.aitruvia (트루비아 주식회사). customer 측 frame schema_name = realchoice (legacy_id, sovereignty 유지)2026-05-25live (self-deploy) — 5/5 endpoint LIVE, customer 측 자체 운영 (D-customer-sovereignty), AXE 측은 software supply + cloudflared catch-all 만

axe.entities 의 한글 legal_name SoT = customers.yamlaxe.entity_meta.(entity).legal_name (2026-05-27 신설, (entity) = axec / axev / axep / axe_ia_001). frame DB 의 영문 legal_name (AX Capital LLC / AX Ventures LLC) 정정은 별 backlog B-frame-entity-legal-name-i18n. axe_ia_001entity_kind='kip' (개인투자조합) 은 frame shared.entity CHECK constraint ['corporate','kip','kvf'] 의 fund tier.

Customer × Service 매트릭스 (axe customer 가동 현황)

axe customer 의 서비스만 in-house. realchoice 는 customer self-deploy 라 AXE 측 가동 0. 각 service 의 가동 버전 + Docker container 상태 + path.

Service버전컨테이너path상태
Blueprint0.1.0blueprint-app + blueprint-mcp-blue/green + blueprint-postgres + axe-blueprint-mcp-proxy/ (apex) + /blueprint/mcpLIVE (5 컨테이너 healthy)
Frame0.1.0frame-mcp-blue/green + frame-postgres + frame-worker + axe-frame-proxy/frame + /frame/mcpLIVE (5 컨테이너 healthy)
Hive0.1.0hive-mcp-blue/green + hive-postgres + axe-hive-proxy/hive + /hive/mcpLIVE (4 컨테이너 healthy)
Matrix0.1.0matrix-mcp-blue/green + matrix-postgres + axe-matrix-proxy/matrix + /matrix/mcpLIVE (4 컨테이너 healthy, JWT enforced — D-matrix-1)
Cortex0.1.0cortex-mcp-blue/green + cortex-postgres + axe-cortex-proxy/cortex + /cortex/mcpdegraded — postgres healthy but mcp-blue/green Restarting (crash loop, task 15 진행 중 — D-cortex-1..7)
VaultTimshel (axelabs-ai/vault axe.3)axe-vaultwarden + axe-vault-caddy/vaultLIVE (2 컨테이너 healthy)
Blurgram(Rust)blurgram-api + blurgram-postgres + blurgram-redis + blurgram-tunnelblurgram.com (별 domain, AXE 운영)LIVE (4 컨테이너 healthy — D-ops-41)
Stream(Python)— (customer realchoice 측에서 사용 예정, axe 측 가동 없음)manifest only
Magnet(Python)— (customer realchoice 측에서 사용 예정, axe 측 가동 없음)manifest only

추가 컨테이너: axelabs (회사 홈 :3900) + axelabs-docs (이 문서 :3140) + axelabs-tunnel (cloudflared) — service 가 아닌 platform infrastructure.

Customer × Service 매트릭스 (realchoice customer)

realchoice 는 customer self-deploy (D-customer-sovereignty) 모델 — AXE 측 컨테이너 0. AXE 책임 = (a) software supply (code/image), (b) 외부 노출 (DNS + cloudflared catch-all).

Service상태
Blueprintcustomer self-deploy — realchoice-macmini 의 blueprint-app + mcp blue/green + postgres
Framecustomer self-deploy — frame-mcp-blue + frame-postgres + axe-frame-proxy (customer 측)
Hivecustomer self-deploy — hive-postgres + hive-mcp-blue/green + axe-hive-proxy (customer 측)
Vaultcustomer self-deploy — vault-app (Timshel) + vault-caddy + vault-mcp + vault-cron
Ingresscustomer self-deploy — axe-realchoice-ingress (host Caddy :8090)
Matrix / Cortex / Blurgram / Stream / Magnet미사용 (또는 customer 측 결정)

빠른 검증: curl https://realchoice.axelabs.ai/ → 200 (customer 측 정상 serve).

향후 추가 예정

항목Phase
index 서비스Phase 6
신규 customer onboarding (자동화 완성)Phase 2
OAuth proxy 재활성 (Anthropic Connector 개선 시)D-ops-15 후속
docs.axelabs.ai 배포본 문서 작업 직후
Last updated on