MuseMVP

All in Cloudflare

MVP부터 프로덕션까지,모두 Cloudflare에서.

TanStack Start는 Cloudflare Vite 플러그인을 통해 Workers에서 네이티브로 실행되며, 어댑터 계층이 없습니다. D1, R2, Workers AI, Queues, Email Sending은 하나의 wrangler.jsonc에 선언되어 있습니다. 로컬 개발에는 Docker도 클라우드 자격 증명도 필요 없고, 배포는 검토 가능한 계획 하나로 시작합니다.

라이브 데모는 Flare 자체의 Worker, D1, R2가 제공합니다.

Worker · 진입점 3개
1
네이티브 바인딩
5
관리할 서버
0
릴리스 단계 · 모두 검토 가능
7
https://app.your-domain.com

내 Cloudflare 계정

안녕하세요, local user

Your product, in motion.

다음으로 쓸모 있는 것을 만드는 조용한 자리.

사용 가능한 크레딧
30
저장된 파일
0
AI 작업
0
주문
0

쓸모 있는 것을 만드세요.

응답을 스트리밍하거나 업로드한 문서를 요약합니다.

D1· SQLite 데이터베이스

사용자, 세션, 크레딧 원장, 작업, 결제 이벤트가 D1에 저장됩니다. Drizzle 스키마와 쿼리는 packages/db에 모여 있고, 마이그레이션은 저장소와 함께 버전 관리되며 위험한 마이그레이션은 배포 전에 검사합니다.

설정
d1_databases → DB
소스
packages/db/src/index.ts
가이드 읽기

점선 상자 안의 모든 것은 내 Cloudflare 계정에서 실행됩니다. Worker 런타임 시크릿은 AUTH_SECRET과, 활성화한 CAPTCHA·OAuth·결제 자격 증명뿐입니다.

All in Cloudflare

계정 하나. Worker 하나. 제품 전체.

컴퓨팅, 데이터, 파일, AI, 작업, 메일, 로그는 같은 Worker의 바인딩입니다. 플랫폼을 조립하는 대신 물려받습니다.

당신의 Cloudflare 계정

wrangler.jsonc에 한 번만 선언.

D1, R2, Workers AI, Queues, Cron Triggers, Email Sending은 네이티브 바인딩입니다. 개발, 프리뷰, Workers 테스트는 같은 코드를 실행합니다.

  • Worker
  • D1
  • R2
  • Workers AI
  • Queues
  • Cron Triggers
  • Email Sending
apps/web/wrangler.jsonc발췌
{
  "main": "src/server.ts",
  "d1_databases": [{ "binding": "DB" }],
  "r2_buckets": [{ "binding": "R2_BUCKET" }],
  "ai": { "binding": "AI" },
  "send_email": [{ "name": "EMAIL" }],
  "queues": { "producers": [{ "binding": "JOBS" }] },
  "triggers": { "crons": ["*/5 * * * *"] }
}

어댑터 계층 없음

TanStack Start를 Worker로 빌드.

Cloudflare Vite 플러그인이 Worker를 출력합니다. 앱과 엣지 사이에 OpenNext 변환이 없습니다.

빌드 경로

Next.js → OpenNext → Worker

TanStack Start → Cloudflare Vite plugin → Worker

더 적은 시크릿

바인딩이 액세스 키를 대신합니다.

데이터베이스, 파일, 모델, 큐, 메일은 Worker를 통해 접근합니다. 런타임 시크릿은 AUTH_SECRET과 활성화한 제공자뿐입니다.

키가 아니라 바인딩으로 접근

  • D1 연결 문자열
  • R2 액세스 키
  • 모델 API 키
  • 큐 브로커 URL
  • 메일 API 키

활성화할 때만 보관

  • AUTH_SECRET
  • OAuth / Turnstile / 결제 자격 증명
더 가벼운 스택

일곱 가지 인프라를 하나의 계정에.

보통 하나씩 가입하고 키를 따로 관리해야 하는 서비스가 Flare에서는 하나의 Worker에 연결된 바인딩입니다.

보통 따로 사는 일곱 가지 서비스가 이미 하나의 Worker에 붙어 있습니다.

보통 직접 조립하는 것

여러 대시보드, 여러 키, 여러 청구서

Flare에서는

하나의 계정, 하나의 wrangler.jsonc, 하나의 CLI

  • 런타임직접 확장하는 Node 서버나 컨테이너Workerssrc/server.ts
  • 데이터베이스호스팅 Postgres와 연결 문자열D1DB
  • 파일S3 버킷과 액세스 키R2R2_BUCKET
  • AI모델 제공사 계정과 API 키Workers AIAI
  • 작업Redis 큐와 상시 실행 워커QueuesJOBS
  • Cron외부 cron 서비스나 상주 프로세스Cron Triggers*/5 * * * *
  • 이메일메일 서비스와 API 키Email SendingEMAIL

어댑터 계층 없음

TanStack Start는 Cloudflare 공식 Vite 플러그인으로 Worker로 빌드되며, OpenNext 같은 변환 단계를 거치지 않습니다. 개발, 미리보기, 테스트 모두 Workers 호환 코드로 실행됩니다.

@cloudflare/vite-plugin

로컬은 자격 증명 없이

pnpm muse:init이 로컬 D1을 만들고 AUTH_SECRET을 생성하며 테스트 계정 두 개를 준비합니다. Cloudflare 계정도 Docker도 필요 없습니다.

pnpm muse:init

더 적은 시크릿

데이터베이스, 파일, AI, 큐, 이메일 모두 바인딩으로 접근합니다. Worker가 보관하는 것은 인증 시크릿과, 활성화한 CAPTCHA·OAuth·결제 자격 증명뿐입니다.

AUTH_SECRET
MVP → 프로덕션

명령 하나로 시작하고, 계획 하나로 배포합니다.

로컬 개발은 클라우드를 전혀 건드리지 않습니다. 배포 전에 무엇이 생성되고 어떤 마이그레이션이 실행될지 정확히 확인하고, 배포 후에는 공개 페이지 스모크 검사가 자동으로 실행됩니다. 모든 명령이 안정적인 JSON과 종료 코드를 반환하므로 그대로 CI에 연결할 수 있습니다.

로컬 초기화

AUTH_SECRET을 생성하고, 로컬 D1 마이그레이션을 적용하고, 테스트 계정 두 개를 만듭니다. 어느 단계에서도 Cloudflare 자격 증명이 필요 없습니다.

~/my-mvp1/5 · Init

pnpm install --frozen-lockfile

pnpm muse:init

command: init

initialized: true

next: [

"pnpm dev",

"Local accounts: [email protected] and [email protected] (see README)",

"Verification and reset links are captured at /dev/mail",

"Production secrets: .muse/production.secrets.json (gitignored)"

]

종료 코드0 성공1 작업 실패2 차단됨3 스모크 실패

plan은 읽기 전용이라 아무것도 생성하지 않습니다. 대기 중인 마이그레이션에 DROP, TRUNCATE, DELETE, UPDATE SET이 있으면 자동 배포가 차단됩니다.

배포 가이드 읽기
같은 제품군

세 개의 코드베이스. 맞는 런타임을 고르세요.

두 Next.js 앱은 musemvp 저장소에 있으며 도메인 패키지를 공유합니다. Flare는 독립 저장소로, 첫 줄부터 Workers를 위해 설계되었습니다.

프레임워크

Next.js + NodeNext.js 16

Next.js + CloudflareNext.js 16 + OpenNext

TanStack Start + CloudflareTanStack Start + Vite

런타임

Next.js + NodeVercel 또는 Docker의 Node.js

Next.js + CloudflareOpenNext를 통한 Cloudflare Workers

TanStack Start + CloudflareCloudflare Vite 플러그인으로 Workers에서 네이티브 실행

데이터와 파일

Next.js + NodePostgreSQL · S3 호환 스토리지

Next.js + CloudflareD1 · R2

TanStack Start + CloudflareD1 · R2

AI와 백그라운드 작업

Next.js + Node미포함

Next.js + Cloudflare미포함

TanStack Start + CloudflareWorkers AI · Queues · Cron Triggers

로컬 개발

Next.js + NodeDocker Compose의 PostgreSQL

Next.js + CloudflareWrangler 로컬 D1, Docker 불필요

TanStack Start + Cloudflare로컬 D1, Docker와 클라우드 자격 증명 불필요

배포

Next.js + NodeVercel 또는 직접 운영하는 Docker 호스트

Next.js + Cloudflarepnpm cf:deploy로 Workers에 배포

TanStack Start + Cloudflarepnpm muse:deploy: plan → yes → verify

이럴 때 선택

Next.js + NodePostgreSQL, 셀프 호스팅, 오래 실행되는 Node 프로세스가 필요할 때.

Next.js + Cloudflare하나의 플랫폼, 엣지 런타임, 최소한의 인프라 운영을 원할 때.

TanStack Start + CloudflareAI 중심 MVP를 가장 가벼운 경로로 내 컴퓨터에서 Workers까지 보내고 싶을 때.

MuseMVP와 All in One에는 세 코드베이스가 모두 포함됩니다. UI 템플릿 플랜에는 포함되지 않습니다.

Next.js + Cloudflare 보기
프로젝트 구조

하나의 pnpm 워크스페이스, 명확한 경계.

apps/web은 UI와 Worker 진입점을 맡고, 도메인 로직은 packages에 나뉘어 있습니다. 항목에 마우스를 올리면 실제 소스를 볼 수 있습니다.

musemvp-flare 마우스 또는 포커스로 미리보기

파일 탐색기

functions.ts문서 열기
apps/web/src/modules/workbench/functions.ts
소스 발췌

검토한 코드를 빌드 시 생성합니다.

구조 가이드 읽기

세 가지 플랜. 결제는 한 번.

필요에 맞는 플랜을 선택하세요

모든 플랜은 세금이 포함된 일회 구매입니다. UI 템플릿은 랜딩 페이지, MuseMVP는 풀스택 SaaS 스타터를 제공하며 All in One은 둘 다 포함합니다.

  • 일회 결제
  • 세금 포함
  • 구독 없음
  • 받은 버전은 계속 보관
가장 알찬 선택

한 번만 결제. 세금 포함.

All in One

MuseMVP + 모든 UI 템플릿

$79USD
일회성

풀스택 MuseMVP 스타터와 UI 랜딩 페이지 템플릿 9종 이상 전체. 유지보수 기간의 새 템플릿도 포함됩니다. MuseMVP Flare.

All in One 구매

SaaS 스타터

  • 포함Next.js + Node 앱
  • 포함Next.js + Cloudflare 앱
  • 포함TanStack Start + Cloudflare 앱
  • 포함인증, 결제, 대시보드
  • 포함AI Native 개발

UI 랜딩 페이지 템플릿

  • 포함공개된 랜딩 페이지 템플릿 9종 이상
  • 포함편집 가능한 페이지 소스, 레이아웃, 에셋
  • 포함유지보수 기간의 새 템플릿

결제 후 Dodo Customer Portal에서 GitHub를 연결하고, 각 저장소 초대를 수락하세요.

한 번만 결제. 세금 포함.

MuseMVP

풀스택 SaaS 스타터

$69USD
일회성

Node 및 Cloudflare용 Next.js와 독립형 MuseMVP Flare. 인증, 결제, 관리자 기능 포함.

MuseMVP 구매

SaaS 스타터

  • 포함Next.js + Node 앱
  • 포함Next.js + Cloudflare 앱
  • 포함TanStack Start + Cloudflare 앱
  • 포함인증, 결제, 대시보드
  • 포함AI Native 개발

UI 랜딩 페이지 템플릿

  • 미포함공개된 랜딩 페이지 템플릿 9종 이상
  • 미포함편집 가능한 페이지 소스, 레이아웃, 에셋
  • 미포함유지보수 기간의 새 템플릿

결제 후 Dodo Customer Portal에서 GitHub를 연결하고, 각 저장소 초대를 수락하세요.

한 번만 결제. 세금 포함.

UI 템플릿

UI 랜딩 페이지

$19USD
일회성

편집 가능한 Next.js 랜딩 페이지 템플릿 9종 이상. 엔지니어링 스타터와 분리된 디자인 제품입니다.

UI 템플릿 구매

SaaS 스타터

  • 미포함Next.js + Node 앱
  • 미포함Next.js + Cloudflare 앱
  • 미포함TanStack Start + Cloudflare 앱
  • 미포함인증, 결제, 대시보드
  • 미포함AI Native 개발

UI 랜딩 페이지 템플릿

  • 포함공개된 랜딩 페이지 템플릿 9종 이상
  • 포함편집 가능한 페이지 소스, 레이아웃, 에셋
  • 포함유지보수 기간의 새 템플릿

결제 후 Dodo Customer Portal에서 GitHub를 연결하고, 각 저장소 초대를 수락하세요.

모든 플랜에 포함

  • 개발자 라이선스 1명
  • 여러 상업용 최종 제품
  • 고객 프로젝트 비공개 전달
  • 제품 라인 업데이트
  • 공개 문서와 커뮤니티

개발자 1명. 여러 상업 제품과 고객 프로젝트 소스를 비공개로 전달할 수 있습니다. 소스 재배포나 템플릿 재판매는 할 수 없습니다.

받은 버전은 영구히 보관할 수 있습니다. 같은 제품 라인을 유지하는 동안 업데이트와 새 템플릿이 포함됩니다. 미래의 독립 제품이나 무제한 서비스는 포함되지 않습니다.

직접 업그레이드하거나 차액만 결제할 수 없습니다. 플랜을 바꾸려면 지원팀에 문의하세요.

Flare FAQ

MuseMVP Flare에 대해

구매 범위, Next.js 버전과의 차이, 로컬 개발, 운영 비용.

구매 플랜에 Flare가 포함되나요?

포함됩니다. MuseMVP와 All in One에는 Flare 소스와 두 Next.js 앱이 포함됩니다. UI 템플릿 플랜 단독으로는 포함되지 않습니다.

Next.js + Cloudflare와 무엇이 다른가요?

둘 다 Workers에 배포되고 D1과 R2를 사용합니다. Flare는 TanStack Start와 Vite로 네이티브 빌드되어 OpenNext 어댑터가 없고, Workers AI, Queues, Cron Triggers를 추가로 내장합니다. Next.js 버전은 이미 Next.js 생태계에 익숙한 팀에 잘 맞습니다.

정말 모든 것이 Cloudflare에 있나요?

컴퓨팅, 데이터베이스, 파일, AI, 큐, 예약 작업, 이메일, 로그가 모두 내 Cloudflare 계정에 있습니다. 결제 게이트웨이(Stripe, Creem, Dodo Payments, Waffo)와 Google·GitHub 로그인은 의도적으로 외부 서비스로 남겨 두었습니다.

Cloudflare 계정 없이 로컬에서 실행할 수 있나요?

네. pnpm muse:init이 로컬 D1을 만들고 시크릿을 생성하며 테스트 계정을 준비합니다. Cloudflare 자격 증명이 필요 없습니다. 다만 Workers AI에는 로컬 에뮬레이터가 없으므로 실제 생성을 확인하려면 원격 바인딩을 명시적으로 켜거나 내 계정에 배포해야 합니다.

운영 비용은 어느 정도인가요?

Workers, D1, R2, Queues, Workers AI는 사용량 기반 과금이며 포함 사용량이 있지만, 템플릿이 비용 0을 보장하지는 않습니다. Email Sending은 서비스 활성화와 발신 도메인 검증이 필요하고, 임의의 수신자에게 트랜잭션 메일을 보내려면 현재 Workers Paid가 필요합니다. 최신 Cloudflare 요금을 확인하세요.

UI 템플릿을 재사용할 수 있나요?

네. UI 템플릿은 Next.js 기반이므로 TanStack Start에 통합할 때 라우팅과 프레임워크 전용 컴포넌트를 바꿔야 합니다.

Workers · D1 · R2 · AI · Queues · Email

다음 MVP를 바로 Cloudflare로.

인증, 결제, AI, 배포 도구가 모두 준비되어 있습니다. 빈 저장소가 아니라 돌아가는 Worker에서 시작하세요.

  1. pnpm muse:init
  2. pnpm dev
  3. muse:deploy --plan
  4. muse:deploy --yes
문서 읽기