Skip to main content

Dev Tools 개요

multi-saas-kit을 기반으로 SaaS를 운영하는 개발자 · SRE · Platform Admin을 위한 통합 개발 도구 모음입니다.

왜 Dev Tools 생태계인가

SaaS 플랫폼을 운영할 때 필요한 도구들이 여기저기 흩어져 있으면 관리 비용이 큽니다.

  • DB는 pgAdmin으로 접속
  • Redis는 CLI로만
  • 로그는 각 서버 SSH로
  • AI 세션/LLM 비용은 파일만 보고 추정

multi-saas-kit은 이 모든 것을 단일 Hub에서 진입하는 5종 통합 Dev Tools로 제공합니다.

5종 Dev Tools

#도구랜딩 도메인어드민 도메인역할
1Dev Tools Hubdevtools.codebase.how모든 도구의 단일 진입점 (카드 UI)
2AI Core Dashboardai-core.codebase.howai-core.devtools.codebase.howClaude 세션 · LLM 로그 · 토큰 통합 시각화
3pgAdmindb.codebase.howdb.devtools.codebase.how20+ 프로젝트 PostgreSQL 통합 관리
4RedisInsightredis.codebase.howredis.devtools.codebase.how전체 Redis DB 자동 등록 + 시각화
5Grafana LGTMmonitor.codebase.howmonitor.devtools.codebase.howLoki · Grafana · Prometheus · Promtail 통합 모니터링
2-서브도메인 패턴
  • 랜딩 (*.codebase.how): 공개 소개 페이지 (hub Nginx vhost)
  • 어드민 (*.devtools.codebase.how): 운영자 전용 콘솔 (🔒 Tailscale 제한)

상세: 플랫폼 공용 도메인

빠른 접근

각 도구의 상세 가이드:

전체 포트 할당

Dev Tools는 7000번대 대역을 전용으로 사용합니다.

서비스포트컨테이너
AI Core (Laravel)7000msk-dashboard-web
Hub (Nginx)7001msk-hub
Docs (Docusaurus nginx)7002msk-portal-docs
pgAdmin7050msk-pgadmin
RedisInsight7051msk-redisinsight
Grafana7060msk-monitoring-grafana
Prometheus7061msk-monitoring-prometheus

네트워크 아키텍처

                 ┌─────────────────────────┐
│ Nginx Proxy Manager │
│ (reverse proxy) │
└──────┬─────────────┬────┘
│ │
*.codebase.how *.devtools.codebase.how
│ │
┌──────────────▼──┐ ┌─────▼────────────────┐
│ Hub (7001) │ │ 각 어드민 컨테이너 │
│ Host-based vhost │ │ ai-core / pgadmin / │
│ │ │ redisinsight / │
│ landings/ │ │ grafana │
│ ├─ ai-core/ │ └──────────────────────┘
│ ├─ db/ │
│ ├─ redis/ │
│ └─ monitor/ │
└──────────────────┘

└── shared network ──▶ 각 프로젝트 postgres/redis

공유 네트워크 (${PLATFORM_NAME}-shared-network)를 통해 pgAdmin / RedisInsight / Grafana가 모든 프로젝트의 DB 컨테이너에 접근합니다.

보안 체계

레이어방식
1차 랜딩🌐 공개 (SEO/소개 목적)
어드민 접근🔒 NPM Access List (Tailscale 100.64.0.0/10)
어드민 인증🔑 각 도구 자체 로그인 (이중 보호)
감사 로그📋 AI Core에서 통합 수집 (Auditable)

시작하기

# 전체 Dev Tools 한 번에 시작 (또는 개별 실행)
make up NAME=_devtools/hub
make up NAME=_devtools/dashboard
make up NAME=_devtools/pgadmin
make up NAME=_devtools/redisinsight
make up NAME=_devtools/monitoring

상태 확인:

docker ps --format "{{.Names}}" | grep -E "hub|dashboard|pgadmin|redisinsight|monitoring"

설치 방식

Codebase 운영 모드
  • Managed: *.codebase.how 엔드포인트를 그대로 사용 (Codebase 팀이 운영)
  • Self-hosted: ${ROOT_DOMAIN}으로 복제 설치 (도메인 가이드 참조)

운영 베스트 프랙티스

  1. 새 도구 추가 시 2-서브도메인 패턴 준수 (랜딩 + .devtools. 어드민)
  2. 어드민 URL은 절대 공개 금지 — 반드시 Access List 적용
  3. Hub 랜딩 페이지는 마케팅·SEO 목적으로 활용 가능
  4. 자동 등록 스크립트 활용 (RedisInsight auto-register.sh 등)

관련 문서