문제 (Problem)
Docker Compose 파일은 YAML 기반이라 오타나 구조 오류를 IDE에서 즉시 잡아주지 않습니다:
- 포트 충돌(같은 호스트 포트를 두 서비스가 사용)을 배포 시점까지 모름
- 볼륨 경로 오류, 존재하지 않는 이미지 태그 참조
- deprecated된 옵션(version 필드, links 등) 사용 경고 없음
- 서비스 의존성 순환(depends_on 사이클) 감지 불가
- 환경변수 참조 오류(
${VAR}미정의)가 런타임에서야 발견
Pain Point 강도: 8/10 - Docker Compose를 쓰는 개발자가 매일 겪는 설정 디버깅
시장 (Market)
- 1차 시장: 글로벌 풀스택 개발자, DevOps 엔지니어
- 세그먼트: Docker Compose로 로컬 개발환경/스테이징을 구성하는 팀
- TAM: 개발자 도구 시장 ~$6.4B (2025), CAGR 16%
- 핵심 사실: VSCode 30M+ 활성 사용자 중 Docker 확장 설치 수 1,000만+. Docker Compose 전용 deep linting 도구는 존재하지 않음
솔루션 (Solution)
SpecLint Mono - Docker Compose 파일에 특화된 VSCode/Cursor 인라인 린터
핵심 기능
- 포트 충돌 감지: 동일 호스트 포트를 사용하는 서비스 쌍을 즉시 경고
- 의존성 순환 검출: depends_on 그래프에서 사이클 발견 시 시각적 표시
- 이미지 태그 검증: Docker Hub API로 이미지:태그 존재 여부 확인
- Deprecated 옵션 경고: Compose Spec 최신 버전 기준 deprecated 필드 하이라이트
- 환경변수 추적:
.env파일과 교차 검증, 미정의 변수 경고 - Quick Fix 제공: 오류마다 원클릭 수정 제안 (Code Action)
사용 시나리오
# docker-compose.yml
services:
web:
image: nginx:latst # ⚠️ 'latst' 태그가 Docker Hub에 없음. 'latest'?
ports:
- "8080:80"
api:
image: node:20
ports:
- "8080:3000" # 🔴 포트 충돌: web 서비스와 호스트 포트 8080 중복
depends_on:
- db
db:
image: postgres:16
depends_on:
- api # 🔴 순환 의존성: api → db → api
environment:
- POSTGRES_PASSWORD=${DB_PASS} # ⚠️ DB_PASS가 .env에 정의되지 않음
경쟁 (Competition)
| 경쟁사 | 가격 | 약점 |
|---|---|---|
| Docker VSCode Extension | Free | 기본 YAML 문법만, 시맨틱 검증 없음 |
| YAML Language Server | Free | 범용 YAML, Docker Compose 특화 룰 없음 |
| hadolint | Free OSS | Dockerfile만, Compose 미지원 |
| Spectral (Stoplight) | Free/$99+/mo | OpenAPI 전용, Docker 미지원 |
| OPA/Conftest | Free OSS | 정책 엔진, IDE 통합 없음, 러닝커브 높음 |
경쟁 강도: Low - Docker Compose 전용 인라인 린터는 시장에 없음 차별점: “Docker Compose의 ESLint” — 깊은 시맨틱 검증 + IDE 네이티브 통합 + Quick Fix
MVP 개발 (MVP)
- MVP 기간: 4주
- 풀 버전: 3개월
- 기술 복잡도: Low
- 필요 스택: TypeScript, VSCode Extension API, Docker Compose JSON Schema, Docker Hub API
MVP 범위
- 포트 충돌 감지 + 의존성 순환 검출
- deprecated 옵션 경고 (Compose Spec v2 기준)
- 환경변수 .env 교차 검증
- VSCode Diagnostic + Code Action 통합
수익 모델 (Revenue)
- 모델: Freemium + Subscription
- 가격:
- Free: 핵심 린팅 룰 (포트 충돌, 순환 의존, deprecated)
- Pro: $9/월 (이미지 태그 검증, 커스텀 룰, 팀 공유 설정)
- Team: $29/월 (CI 파이프라인 통합, 조직 정책 강제)
- 예상 MRR (6개월): $3,000
- 예상 MRR (12개월): $12,000
리스크 (Risk)
| 유형 | 수준 | 대응 |
|---|---|---|
| 기술 | Low | Docker Compose spec은 공개 JSON Schema 기반. 파싱 난이도 낮음 |
| 시장 | Medium | VSCode 마켓플레이스 자체 결제 미지원 → 외부 라이선싱(Paddle/LemonSqueezy) 필요 |
| 실행 | Low | 좁은 범위(Compose 전용)로 1인 개발에 최적. 4주 MVP 가능 |
추천 (Recommendation)
점수: 93/100 ⭐⭐⭐⭐⭐
추천 이유
- Docker Compose 전용 deep linting 도구가 시장에 전무 — 명확한 BLUE 오션
- 좁은 범위에서 압도적 깊이를 제공하는 “마이크로 니치” 전략
- VSCode 30M+ 사용자 기반 위에서 자연스러운 배포
- 4주 MVP로 빠른 시장 검증 가능
- dev_tools + devops 도메인 완벽 적합, 기술 스택 100% 매칭
리스크 요인
- VSCode 마켓플레이스 결제 인프라 부재 → 외부 결제 시스템 통합 필요
- Docker 공식 확장이 Compose 린팅을 추가할 가능성
- 무료 핵심 기능의 가치가 높아 Pro 전환 동기 부족할 수 있음
첫 번째 액션
- Compose Spec JSON Schema 기반 파서 구현
- 포트 충돌 + 순환 의존 감지 린팅 룰 개발
- VSCode Extension으로 패키징 후 마켓플레이스 무료 출시
- r/docker, r/selfhosted, Hacker News에 Show HN 론칭
이 아이디어는 Vastlint(광고 태그 린터)에서 영감을 받아, ‘범용 설정 린터’를 Docker Compose 단일 도메인으로 축소(constrain)하여 깊이와 완성도를 극대화한 창의적 변형입니다.