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
| # | 도구 | 랜딩 도메인 | 어드민 도메인 | 역할 |
|---|---|---|---|---|
| 1 | Dev Tools Hub | devtools.codebase.how | — | 모든 도구의 단일 진입점 (카드 UI) |
| 2 | AI Core Dashboard | ai-core.codebase.how | ai-core.devtools.codebase.how | Claude 세션 · LLM 로그 · 토큰 통합 시각화 |
| 3 | pgAdmin | db.codebase.how | db.devtools.codebase.how | 20+ 프로젝트 PostgreSQL 통합 관리 |
| 4 | RedisInsight | redis.codebase.how | redis.devtools.codebase.how | 전체 Redis DB 자동 등록 + 시각화 |
| 5 | Grafana LGTM | monitor.codebase.how | monitor.devtools.codebase.how | Loki · Grafana · Prometheus · Promtail 통합 모니터링 |
2-서브도메인 패턴
- 랜딩 (
*.codebase.how): 공개 소개 페이지 (hub Nginx vhost) - 어드민 (
*.devtools.codebase.how): 운영자 전용 콘솔 (🔒 Tailscale 제한)
상세: 플랫폼 공용 도메인
빠른 접근
각 도구의 상세 가이드:
- 🏠 Dev Tools Hub — 카드 UI, Host-based vhost
- 🤖 AI Core Dashboard — Laravel + Filament
- 🐘 pgAdmin — PostgreSQL 통합 관리
- 🔴 RedisInsight — Redis 시각화
- 📊 Monitoring — Grafana LGTM
전체 포트 할당
Dev Tools는 7000번대 대역을 전용으로 사용합니다.
| 서비스 | 포트 | 컨테이너 |
|---|---|---|
| AI Core (Laravel) | 7000 | msk-dashboard-web |
| Hub (Nginx) | 7001 | msk-hub |
| Docs (Docusaurus nginx) | 7002 | msk-portal-docs |
| pgAdmin | 7050 | msk-pgadmin |
| RedisInsight | 7051 | msk-redisinsight |
| Grafana | 7060 | msk-monitoring-grafana |
| Prometheus | 7061 | msk-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}으로 복제 설치 (도메인 가이드 참조)
운영 베스트 프랙티스
- 새 도구 추가 시 2-서브도메인 패턴 준수 (랜딩 +
.devtools.어드민) - 어드민 URL은 절대 공개 금지 — 반드시 Access List 적용
- Hub 랜딩 페이지는 마케팅·SEO 목적으로 활용 가능
- 자동 등록 스크립트 활용 (RedisInsight
auto-register.sh등)
관련 문서
- 플랫폼 공용 도메인 — 2-서브도메인 체계
- Hub
- AI Core
- pgAdmin
- RedisInsight
- Monitoring
- API Access Key Core