[{"data":1,"prerenderedAt":391},["ShallowReactive",2],{"docs:navigation":3,"docs:page:\u002Fdocs\u002Fdeployment\u002Fcloudflare":115},[4],{"title":5,"path":6,"stem":7,"children":8,"icon":10},"Introduction","\u002Fdocs","docs\u002F1.index",[9,11,16,21,38,95,110],{"title":5,"path":6,"stem":7,"icon":10},"i-lucide-house",{"title":12,"path":13,"stem":14,"icon":15},"Quickstart","\u002Fdocs\u002Fquickstart","docs\u002F2.quickstart","i-lucide-rocket",{"title":17,"path":18,"stem":19,"icon":20},"Essentials","\u002Fdocs\u002Fconfiguration","docs\u002F3.configuration","i-lucide-book-open",{"title":22,"path":23,"stem":24,"children":25,"icon":27},"Authentication","\u002Fdocs\u002Fauthentication","docs\u002F4.authentication\u002Findex",[26,28,33],{"title":22,"path":23,"stem":24,"icon":27},"i-lucide-shield-check",{"title":29,"path":30,"stem":31,"icon":32},"Protect User Data","\u002Fdocs\u002Fauthentication\u002Fuser-data","docs\u002F4.authentication\u002F1.user-data","i-lucide-user-lock",{"title":34,"path":35,"stem":36,"icon":37},"Two-Factor Verification","\u002Fdocs\u002Fauthentication\u002Ftwo-factor","docs\u002F4.authentication\u002F2.two-factor","i-lucide-key-round",{"title":39,"path":40,"stem":41,"children":42,"icon":44},"Deployment","\u002Fdocs\u002Fdeployment","docs\u002F5.deployment\u002Findex",[43,45,50,55,60,65,70,75,80,85,90],{"title":39,"path":40,"stem":41,"icon":44},"i-lucide-cloud-upload",{"title":46,"path":47,"stem":48,"icon":49},"Deploy to Cloudflare","\u002Fdocs\u002Fdeployment\u002Fcloudflare","docs\u002F5.deployment\u002F1.cloudflare","i-simple-icons-cloudflare",{"title":51,"path":52,"stem":53,"icon":54},"Platform Support","\u002Fdocs\u002Fdeployment\u002Fsupport","docs\u002F5.deployment\u002F10.support","i-lucide-list-checks",{"title":56,"path":57,"stem":58,"icon":59},"Deploy to Vercel","\u002Fdocs\u002Fdeployment\u002Fvercel","docs\u002F5.deployment\u002F2.vercel","i-simple-icons-vercel",{"title":61,"path":62,"stem":63,"icon":64},"Deploy to Azure","\u002Fdocs\u002Fdeployment\u002Fazure","docs\u002F5.deployment\u002F3.azure","i-simple-icons-microsoftazure",{"title":66,"path":67,"stem":68,"icon":69},"Switch Hosts","\u002Fdocs\u002Fdeployment\u002Fswitch-hosts","docs\u002F5.deployment\u002F4.switch-hosts","i-lucide-arrow-right-left",{"title":71,"path":72,"stem":73,"icon":74},"Database and File Storage","\u002Fdocs\u002Fdeployment\u002Fdata-services","docs\u002F5.deployment\u002F5.data-services","i-lucide-database",{"title":76,"path":77,"stem":78,"icon":79},"Domains and Secrets","\u002Fdocs\u002Fdeployment\u002Fsettings","docs\u002F5.deployment\u002F6.settings","i-lucide-settings",{"title":81,"path":82,"stem":83,"icon":84},"Troubleshoot Deployment","\u002Fdocs\u002Fdeployment\u002Ftroubleshooting","docs\u002F5.deployment\u002F7.troubleshooting","i-lucide-wrench",{"title":86,"path":87,"stem":88,"icon":89},"Deploy Agents","\u002Fdocs\u002Fdeployment\u002Fagents","docs\u002F5.deployment\u002F8.agents","i-lucide-bot",{"title":91,"path":92,"stem":93,"icon":94},"Deploy Automations","\u002Fdocs\u002Fdeployment\u002Fautomations","docs\u002F5.deployment\u002F9.automations","i-lucide-workflow",{"title":96,"path":97,"stem":98,"children":99,"icon":101},"Connect Accounts","\u002Fdocs\u002Fconnect","docs\u002F6.connect\u002Findex",[100,102,106],{"title":96,"path":97,"stem":98,"icon":101},"i-lucide-plug",{"title":103,"path":104,"stem":105,"icon":37},"Connection Credentials","\u002Fdocs\u002Fconnect\u002Fcredentials","docs\u002F6.connect\u002F1.credentials",{"title":107,"path":108,"stem":109,"icon":84},"Connect MCP Servers","\u002Fdocs\u002Fconnect\u002Fmcp","docs\u002F6.connect\u002F2.mcp",{"title":111,"path":112,"stem":113,"icon":114},"Project Reference","\u002Fdocs\u002Freference","docs\u002F7.reference","i-lucide-terminal",{"page":116,"surround":386},{"id":117,"title":46,"body":118,"description":379,"extension":380,"links":381,"meta":382,"navigation":383,"path":47,"seo":384,"stem":48,"__hash__":385},"docs\u002Fdocs\u002F5.deployment\u002F1.cloudflare.md",{"type":119,"value":120,"toc":373},"minimark",[121,125,130,146,149,190,193,196,234,244,248,251,282,289,293,296,316,319,322,338,341,345,357,369],[122,123,124],"p",{},"This guide deploys a working local application to Cloudflare Workers. You need a\nCloudflare account and committed SQL migrations.",[126,127,129],"h2",{"id":128},"_1-prepare-the-worker-build","1. Prepare the Worker Build",[122,131,132,133,137,138,141,142,145],{},"Your project needs a Worker build command and a ",[134,135,136],"code",{},"wrangler.jsonc"," file containing\nat least ",[134,139,140],{},"name"," and ",[134,143,144],{},"main",".",[122,147,148],{},"For a new Nuxt project, the initializer prepares both:",[150,151,156],"pre",{"className":152,"code":153,"language":154,"meta":155,"style":155},"language-bash shiki shiki-themes github-light github-light github-dark","pnpm dlx @cloudconfig\u002Fcore@beta init blog-app --target nuxt --cloudflare\n","bash","",[134,157,158],{"__ignoreMap":155},[159,160,163,167,171,174,177,180,184,187],"span",{"class":161,"line":162},"line",1,[159,164,166],{"class":165},"snPdu","pnpm",[159,168,170],{"class":169},"sIIMD"," dlx",[159,172,173],{"class":169}," @cloudconfig\u002Fcore@beta",[159,175,176],{"class":169}," init",[159,178,179],{"class":169}," blog-app",[159,181,183],{"class":182},"sBjJW"," --target",[159,185,186],{"class":169}," nuxt",[159,188,189],{"class":182}," --cloudflare\n",[122,191,192],{},"The standalone initializer also prepares a Worker entry. In an existing project,\ncheck the generated setup before continuing; you do not need to create another\napplication to redeploy it.",[122,194,195],{},"Select Cloudflare in your existing config:",[150,197,202],{"className":198,"code":199,"filename":200,"language":201,"meta":155,"style":155},"language-ts shiki shiki-themes github-light github-light github-dark","deploy: {\n  target: 'cloudflare',\n}\n","cloud.config.ts","ts",[134,203,204,213,228],{"__ignoreMap":155},[159,205,206,209],{"class":161,"line":162},[159,207,208],{"class":165},"deploy",[159,210,212],{"class":211},"sxrX7",": {\n",[159,214,216,219,222,225],{"class":161,"line":215},2,[159,217,218],{"class":165},"  target",[159,220,221],{"class":211},": ",[159,223,224],{"class":169},"'cloudflare'",[159,226,227],{"class":211},",\n",[159,229,231],{"class":161,"line":230},3,[159,232,233],{"class":211},"}\n",[122,235,236,237,240,241,145],{},"Nuxt's Nitro preset follows this setting, including in older projects that still\nset ",[134,238,239],{},"cloudconfig.cloudflare: true"," in ",[134,242,243],{},"nuxt.config.ts",[126,245,247],{"id":246},"_2-sign-in-to-cloudflare","2. Sign In to Cloudflare",[122,249,250],{},"From your project, install Wrangler if it is missing and authenticate:",[150,252,254],{"className":152,"code":253,"language":154,"meta":155,"style":155},"pnpm add -D wrangler\npnpm exec wrangler login\n",[134,255,256,269],{"__ignoreMap":155},[159,257,258,260,263,266],{"class":161,"line":162},[159,259,166],{"class":165},[159,261,262],{"class":169}," add",[159,264,265],{"class":182}," -D",[159,267,268],{"class":169}," wrangler\n",[159,270,271,273,276,279],{"class":161,"line":215},[159,272,166],{"class":165},[159,274,275],{"class":169}," exec",[159,277,278],{"class":169}," wrangler",[159,280,281],{"class":169}," login\n",[122,283,284,285,288],{},"In CI, use ",[134,286,287],{},"CLOUDFLARE_API_TOKEN"," instead of an interactive login.",[126,290,292],{"id":291},"_3-preview-and-deploy","3. Preview and Deploy",[122,294,295],{},"Preview the deployment before changing resources:",[150,297,299],{"className":152,"code":298,"language":154,"meta":155,"style":155},"pnpm exec cloudconfig deploy --dry-run\n",[134,300,301],{"__ignoreMap":155},[159,302,303,305,307,310,313],{"class":161,"line":162},[159,304,166],{"class":165},[159,306,275],{"class":169},[159,308,309],{"class":169}," cloudconfig",[159,311,312],{"class":169}," deploy",[159,314,315],{"class":182}," --dry-run\n",[122,317,318],{},"The Cloudflare dry run validates the build, migrations, bindings, and required\nsecrets without changing remote resources.",[122,320,321],{},"Deploy after reviewing the plan:",[150,323,325],{"className":152,"code":324,"language":154,"meta":155,"style":155},"pnpm exec cloudconfig deploy\n",[134,326,327],{"__ignoreMap":155},[159,328,329,331,333,335],{"class":161,"line":162},[159,330,166],{"class":165},[159,332,275],{"class":169},[159,334,309],{"class":169},[159,336,337],{"class":169}," deploy\n",[122,339,340],{},"CloudConfig builds the Worker, creates and binds D1 if needed, checks the remote\nschema, applies pending migrations, publishes the Worker, and uploads secrets.\nConfigured R2 storage is also provisioned and bound.",[126,342,344],{"id":343},"_4-check-the-live-api","4. Check the Live API",[122,346,347,348,351,352,356],{},"Open the printed URL and ",[134,349,350],{},"\u002Fapi\u002F_docs",". Test sign-in, create a record, and read it\nback. If deployment is blocked, use ",[353,354,355],"a",{"href":82},"Troubleshooting","\nto identify the missing setting or migration issue.",[122,358,359,360,364,365,368],{},"You can add a ",[353,361,363],{"href":362},"\u002Fdocs\u002Fdeployment\u002Fsettings#use-your-own-domain","custom domain","\nafter the application works on its ",[134,366,367],{},"workers.dev"," URL.",[370,371,372],"style",{},"html pre.shiki code .snPdu, html code.shiki .snPdu{--shiki-light:#6F42C1;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sIIMD, html code.shiki .sIIMD{--shiki-light:#032F62;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sBjJW, html code.shiki .sBjJW{--shiki-light:#005CC5;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sxrX7, html code.shiki .sxrX7{--shiki-light:#24292E;--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":155,"searchDepth":215,"depth":215,"links":374},[375,376,377,378],{"id":128,"depth":215,"text":129},{"id":246,"depth":215,"text":247},{"id":291,"depth":215,"text":292},{"id":343,"depth":215,"text":344},"Build and publish a Worker with your database, migrations, and secrets.","md",null,{},{"icon":49},{"title":46,"description":379},"pZbw3x7RPFTInnLD7Rf_uJVw7q5W5qhx-rYp7NKkaBE",[387,389],{"title":39,"path":40,"stem":41,"description":388,"icon":44},"Put your app online with Cloudflare, Vercel, or Azure.",{"title":51,"path":52,"stem":53,"description":390,"icon":54},"Understand shared features, native services, verification, and remaining deployment limits.",1792122403883]