맥미니 하나로 AI 스타트업 인프라 구축하기
M1 16GB 맥미니에서 PM2 18개 서비스, Docker 12개 컨테이너, ngrok 7개 터널을 돌린다. 월 클라우드 비용: $0.
문제
사이드 프로젝트를 시작하면 가장 먼저 부딪히는 게 인프라 비용이다.
AWS EC2 한 대 켜면 월 5만원. RDS 추가하면 10만원. 프로젝트가 3개로 늘어나면 30만원. 아직 수익은 0원인데 서버비가 먼저 나간다.
나도 그랬다. 머니몬, 타로몬, 달러시그널 — 프로젝트가 늘어날수록 클라우드 비용이 부담이 됐다. 그래서 결정했다. 집에 있는 맥미니 하나로 전부 돌리자.

현재 구성: M1 16GB에서 돌아가는 것들
PM2로 관리하는 서비스 18개
| 서비스 | 포트 | 역할 |
|---|---|---|
| moneymon | 8000 | 투자 분석 백엔드 |
| dollar-signal-api | 8001 | 환율 시그널 API |
| dollar-signal-web | 3003 | 환율 대시보드 |
| jipmon-backend | 8010 | 부동산 분석 |
| jipmon-frontend | 3000 | 부동산 프론트 |
| slimmon | 3005 | 다이어트 트래커 |
| tarotmon-dev | 3010 | AI 타로 리딩 |
| arbimon-api | - | 펀딩비 모니터링 |
| memomon | - | YouTube 자막 봇 |
| mini-admin | 5050 | 관리자 페이지 |
| codemon-make-worker | - | AI 에이전트 워커 |
| ngrok-* (7개) | - | 외부 터널 |
전부 pm2 start ecosystem.config.js로 한 번에 관리한다. 하나가 죽으면 자동 재시작. pm2 save로 부팅 시 자동 복원.
Docker 컨테이너 12개
| 서비스 | 포트 | 용도 |
|---|---|---|
| PostgreSQL | 5432 | 메인 DB |
| Redis | 6379 | 캐시 + 메시지 큐 |
| nginx | 80/443 | 리버스 프록시 |
| n8n | 5678 | 워크플로우 자동화 |
| Qdrant | 6333 | 벡터 DB |
| Ollama | 11434 | 로컬 LLM |
| Portainer | 9000 | Docker 관리 UI |
| Uptime Kuma | 3001 | 서비스 모니터링 |
| code-server | 8080 | 웹 IDE |
| Minio | 9090 | 오브젝트 스토리지 |
ngrok 터널 7개
각 서비스마다 커스텀 도메인으로 외부에 노출한다.
tarotmon.ngrok.app → localhost:3010
dollar-signal-api.ngrok.app → localhost:8001
codemon-make.ngrok.app → localhost:3200
codemon-n8n.ngrok.app → localhost:5678ngrok도 PM2로 관리한다. 죽으면 자동 재시작.
포트 전쟁
서비스가 15개를 넘어가면 포트가 겹치기 시작한다.
초기에는 대충 3000번대에 몰아넣었다. 그러다 slimmon과 uptime-kuma가 둘 다 3001번을 쓰면서 동시에 죽었다. 그날 포트 할당 표를 만들었다.
3000번대: 프론트엔드
5000번대: 관리 도구
8000번대: 백엔드 API교훈: 인프라가 작을 때 규칙을 만들어야 한다. 커지고 나서 정리하면 이미 늦다.

비용 비교
| 항목 | 클라우드 (AWS) | 맥미니 (집) |
|---|---|---|
| 서버 | EC2 × 3 = 월 15만원 | 초기 구매비만 (M1 약 80만원) |
| DB | RDS = 월 5만원 | Docker PostgreSQL = $0 |
| 스토리지 | S3 = 월 1만원 | 1TB 외장 = 초기 8만원 |
| 도메인/터널 | 고정 IP 비용 | ngrok 유료 = 월 $8 |
| 월 총액 | ~21만원 | ~1만원 (전기세+ngrok) |
1년이면 240만원 vs 12만원. 맥미니 구매비를 포함해도 1년 안에 본전을 뽑는다.
한계: 솔직히 말하면
M1 16GB는 빡빡하다.
- Docker 컨테이너 12개 + PM2 서비스 18개 동시에 돌리면 메모리가 14GB를 넘는다
- Ollama로 로컬 LLM 돌리면 다른 서비스가 느려진다
- 동시 접속자가 많아지면 응답 속도가 떨어진다
- 정전되면 전부 다운 (UPS 필요)
하지만 사이드 프로젝트 단계에서는 충분하다. 트래픽이 몰리지 않는 프로젝트라면 맥미니 하나로 수년간 버틸 수 있다.
다음 단계: 맥 팜
프로젝트 중 일부가 실제 사업으로 발전하면서, 이제 한 대로는 부족해졌다. 현재 계획:
| 기기 | 역할 |
|---|---|
| iMac M4 | 메인 워크스테이션 + AI 에이전트 |
| 맥미니 M1 (현재) | 가벼운 서비스 배포 |
| 맥미니 M4 Pro 32GB | 상업용 전용 서버 |
맥 팜이라고 부르기로 했다.

배운 점
- 작게 시작하라. 클라우드는 스케일이 필요할 때 쓰면 된다. 사이드 프로젝트에 AWS는 과잉이다.
- 관리 도구에 투자하라. PM2, Portainer, Uptime Kuma — 이 세 가지가 1인 인프라 운영의 핵심이다.
- 규칙을 일찍 만들라. 포트, 네이밍, 디렉토리 구조. 서비스가 3개일 때 정해야 30개일 때 안 무너진다.
- 물리 서버의 안정감. 클라우드는 요금 폭탄이 무섭고, 물리 서버는 한번 사면 끝이다.
생각해볼 질문
당신의 사이드 프로젝트에 정말 클라우드가 필요한가? 서랍 속 맥미니가 더 나은 선택일 수도 있다.
이 글에서 소개한 인프라는 실제로 codemon.ai의 모든 서비스를 운영하고 있습니다.