도입
2026년 6월, "build me a todo app" 한 줄로 완성된 앱이 즉시 공유 가능한 미리보기 URL로 제공되는 AI 앱 빌더 카테고리는 Lovable, Bolt, v0, Replit 같은 SaaS가 시장을 빠르게 잠식하고 있습니다. 그러나 이 모든 SaaS 뒤에는 사용자별 격리 컨테이너, 코딩 에이전트 오케스트레이션, 슬립/웨이크업 비용 제어, 미리보기 URL 라우팅이라는 공통 인프라가 필요합니다. sandboxd는 바로 그 인프라를 한 줄의 설치 명령으로 자기 서버에 띄울 수 있도록 만든 MIT 라이선스 오픈소스 백엔드 엔진입니다. 긱뉴스에 소개된 이 프로젝트는 Go 단일 바이너리 + Docker + Traefik + SQLite 조합으로 Kubernetes나 별도 DB 서버 없이도 멀티 테넌트 AI 앱 빌더 SaaS를 하루 만에 부트스트랩할 수 있게 해줍니다.

sandboxd가 하는 일 — 한 요청으로 끝나는 흐름
sandboxd는 본질적으로 AI 앱 빌더용 백엔드 엔진입니다. 사용자가 프롬프트를 보내면 다음 세 단계가 한 HTTP 요청 흐름 안에서 일어납니다.
| 단계 | 엔드포인트 | 동작 |
|------|-----------|------|
| 1. 샌드박스 생성 | POST /sandbox | 격리된 Linux 컨테이너가 스핀업 (개별 파일시스템, 메모리 제한) |
| 2. 코딩 에이전트 실행 | POST /v1/sandboxes/{id}/tasks | OpenCode 또는 Claude Code CLI가 컨테이너 안에서 앱을 작성 |
| 3. 라이브 미리보기 URL | http://s-{id}-3000.preview.localhost | Traefik이 자동 라우팅, TLS 종단처리까지 처리 |
핵심 차별점은 슬립/웨이크업 기반 비용 제어입니다. 샌드박스가 일정 시간 사용되지 않으면 docker stop으로 메모리를 해제하고, 다음 미리보기 URL 접속 시 즉시 깨워 워크스페이스 파일은 디스크에 그대로 둔 채 서빙을 재개합니다. 이 패턴 덕분에 한 대의 $20 일반 서버에 수십 명의 사용자 샌드박스를 동시에 수용할 수 있습니다. README의 표현을 빌리면 "the difference between a $20 server and a $2,000 cluster"입니다.
핵심 아키텍처 — 의도적으로 단순한 스택
sandboxd의 가장 큰 미덕은 지루할 정도로 단순한 스택입니다. 별도 메시지 큐도, Kubernetes 클러스터도, 외부 DB 서버도 필요 없습니다.
┌──────────────── your host (just needs Docker) ────────────────┐
browser ──▶│ Traefik ──▶ sandbox (coding agent + dev server :3000)│
│ ▲ ▲ │
API/CLI ──▶│ sandboxd ─────────┘ │
│ └─ workspace dir (persists) │
│ └─ SQLite (source of truth) │
│ · idle→stop · request→wake │
└─────────────────────────────────────────────────────────────────┘
| 컴포넌트 | 역할 | 대안 대비 장점 |
|----------|------|----------------|
| Go 단일 바이너리 (sandboxd) | Docker CLI에 명령을 위임하는 컨트롤 플레인 | 소스 한 사람이 오후 한 번에 읽을 수 있는 분량 |
| Traefik v3 | 미리보기 URL 라우팅 + 자동 TLS | 샌드박스별 라우트 자동 등록, 포트 충돌 없음 |
| SQLite (WAL 모드) | 영속 상태 + 부트 시 Docker 재조정 | 별도 DB 서버 불필요, 재시작해도 상태 보존 |
| Docker (hardened runc) | 컨테이너 런타임 (cap-drop ALL, no-new-privileges) | 익숙한 운영 인터페이스 |
설치는 단 한 줄입니다 — ./install.sh 한 번이면 API + 미리보기 + Traefik + SQLite 스택이 한 번에 뜨고, http://127.0.0.1:9090/healthz로 헬스체크까지 가능합니다. base 이미지에는 OpenCode와 Claude Code CLI가 사전 설치되어 있어 별도 의존성 설치 없이 바로 프롬프트를 전달할 수 있습니다.
빠른 시작 — 3단계로 보는 라이브 미리보기
install.sh로 스택이 뜨면 다음과 같이 코딩 에이전트에게 직접 작업을 맡길 수 있습니다.
# 1) 포트 3000을 노출하는 샌드박스 생성
API=http://127.0.0.1:9090
ID=$(curl -s -XPOST $API/sandbox -H 'content-type: application/json' \
-d '{"ports":[3000]}' | sed -E 's/.*"id":"([^"]+)".*/\1/')
# 2) Vite + todo 앱 빌드 작업을 에이전트에 위임
curl -s -XPOST $API/v1/sandboxes/$ID/tasks -H 'content-type: application/json' -d '{
"prompt":"create a Vite app that shows a todo list and run it on port 3000",
"agent":"opencode"
}'
# 3) SSE로 에이전트 진행 상황 스트리밍
curl -N $API/v1/sandboxes/$ID/tasks//events
작업이 끝나면 http://s-{id}-3000.preview.localhost URL이 즉시 살아납니다. .localhost는 모든 모던 브라우저에서 127.0.0.1로 해석되므로 로컬에서는 DNS 설정도, 인증서 발급도 필요 없습니다. 실제 배포 시에는 .preview.yourdomain.com을 호스트로 향하게 하고 Let's Encrypt DNS-01 와일드카드 인증서 한 장으로 모든 미리보기 호스트를 커버할 수 있습니다. 첫 요청에 stopped 샌드박스가 깨어나는 wake-on-request 메커니즘이 이미 내장되어 있어, 데모 URL을 받았다가 며칠 뒤 다시 접속해도 자동으로 컨테이너가 부팅됩니다.
적합한 사용처와 강화 포인트

sandboxd README는 명시적으로 "1~2개 컨테이너를 자기만 쓸 거면 그냥 docker run이 더 낫다"고 못 박습니다. 이 도구가 빛을 발하는 시점은 여러 사용자를 위한 샌드박스를 운영할 때입니다.
| 사용처 | 적합도 | 이유 |
|--------|--------|------|
| AI 앱 빌더 SaaS (Lovable/Bolt/v0류) | ✅ 최적 | "프롬프트 → 라이브 앱" 흐름이 곧 핵심 가치 |
| 에이전트 플랫폼 (코딩 + 도구 호출) | ✅ 좋음 | tasks API가 SSE로 진행 상황 스트리밍 |
| 사용자/브랜치별 미리보기 환경 | ✅ 좋음 | 격리 + URL 자동 발급 + 슬립 |
| 팀 내 다중 앱 호스팅 | ✅ 좋음 | 멀티 테넌트 격리 기본 내장 |
| 1~2 컨테이너 셀프 호스팅 | ❌ 오버킬 | docker run / lxd로 충분 |
다만 v1은 "Docker만 있으면 어디서든 한 줄로 동작"을 우선했고, 그 결과 몇 가지가 의도적으로 단순화된 상태로 남아 있습니다.
| 항목 | v1 상태 | 프로덕션 강화 시 |
|------|---------|------------------|
| 컨테이너 격리 | hardened Docker (cap-drop, no-new-privileges) | 신뢰 불가 코드면 gVisor / Kata / Firecracker, 또는 테넌트별 VM |
| API 인증 | 기본 OFF (로컬용) | SANDBOXD_API_AUTH_DISABLED= + SANDBOXD_API_TOKENS= |
| 미리보기 링크 | URL 아는 사람 모두 접근 가능 | private-sandbox forward-auth hook으로 게이팅 |
| 네트워크 egress | 무제한, 미기록 | egress 화이트리스트 + 로깅 추가 |
| 워크스페이스 | 평범한 bind-mount, 쿼터 없음 | filesystem quota, 멀티 호스트 sharding |
README는 "Launch lean on it; harden as you grow"라고 정리하며, v1이 어디까지 책임지고 어디서부터 운영자의 책임인지 선을 긋고 있습니다. 단일 호스트 + 단일 Docker 소켓 구조라 컨트롤 플레인은 호스트에서 root-equivalent이므로 호스트 자체를 신뢰 경계로 다루고 패치를 유지하며 무관한 시크릿을 같이 두지 말라는 경고가 그대로 적혀 있습니다.
2026년 6월 기준 전망 — "AI 앱 빌더 인프라는 오픈소스화가 끝났다"
sandboxd의 등장은 한 가지 흐름을 확정합니다. "프롬프트 → 앱" SaaS의 핵심 차별점은 더 이상 인프라가 아니라 프롬프트 UX, 디자인, 도메인 특화 워크플로우로 이동한다는 점입니다. Lovable, Bolt, v0, Replit 모두 결국 같은 종류의 멀티 테넌트 샌드박스 인프라를 각자의 디자인 결정으로 감싸고 있을 뿐이고, 그 아래 80%의 공통 인프라가 이제 MIT 라이선스 단일 Go 바이너리로 대체 가능해졌습니다.
2026년 6월 기준으로 보았을 때, sandboxd 같은 자체 호스팅 백엔드는 다음과 같은 사용자에게 특히 매력적입니다. (1) 데이터 주권이 중요한 기업 — AI 빌더 SaaS가 코드를 외부에 보냈다는 컴플라이언스 이슈가 있는 팀, (2) 수직 도메인 빌더 — 의료/법률/교육 등 도메인 특화 AI 앱 빌더를 자체 인프라에 띄워야 하는 팀, (3) 에이전트 플랫폼 사업자 — 단순 채팅을 넘어 코드를 생성·실행하는 에이전트를 SaaS로 출시하려는 팀. kubernetes Job/Pod 백엔드 인터페이스 스왑이 TODO로 남아 있어 멀티 호스트 확장은 향후 메인 기여 영역으로 예정되어 있습니다.
정리
sandboxd는 2026년 6월 현재 AI 앱 빌더 제품군이 공통으로 의존해 온 멀티 테넌트 샌드박스 인프라를 MIT 라이선스 + Go 단일 바이너리 + Docker + Traefik + SQLite 조합으로 압축한 오픈소스 백엔드 엔진입니다. 한 줄 설치로 격리 컨테이너, 코딩 에이전트 오케스트레이션, 슬립/웨이크업 비용 제어, 와일드카드 미리보기 URL까지 즉시 사용할 수 있고, 강화 포인트(VM 격리, API 인증, egress 제어)도 명확히 문서화되어 있어 작은 팀이 한 대의 서버에서 출발해 단계적으로 프로덕션으로 키울 수 있는 좋은 출발점을 제공합니다. 2026년 6월 기준으로, "AI 앱 빌더를 직접 만들겠다"는 결정이 더 이상 인프라 때문에 막힐 이유는 없습니다.
'AI 뉴스' 카테고리의 다른 글
| SaaS 종말론은 틀렸다 — 주가 급락을 둘러싼 5가지 오해와 Vertical AI (0) | 2026.06.18 |
|---|---|
| 미국 소비자 60%, 브랜드 메시지의 ‘AI’에 거부감 — 2026년 기업 AI 마케팅 현실 점검 (0) | 2026.06.18 |
| 로컬 LLM, 이제 2022년형 M2 Mac에서도 실용 — Gemma 4·Qwen 3.6 로컬 에이전트 코딩 가이드 (0) | 2026.06.18 |
| SpaceX, 600억 달러(약 90조원)에 Cursor 개발사 Anysphere 인수 (0) | 2026.06.18 |
| Claude Code 수석 디자이너의 AI 빌드 워크플로우 — worktree·auto mode·prototype skill 실전 정리 (0) | 2026.06.18 |