[{"data":1,"prerenderedAt":748},["ShallowReactive",2],{"navigation":3,"-deploy-providers-zephyr":228,"-deploy-providers-zephyr-surround":743},[4,83,212,218,225],{"title":5,"path":6,"stem":7,"children":8,"icon":82},"","/docs","1.docs/1.index",[9,12,17,22,27,32,37,42,47,52,57,62,67,72,77],{"title":10,"path":6,"stem":7,"icon":11},"Introduction","i-lucide-compass",{"title":13,"path":14,"stem":15,"icon":16},"Quick Start","/docs/quick-start","1.docs/2.quick-start","i-lucide-zap",{"title":18,"path":19,"stem":20,"icon":21},"Renderer","/docs/renderer","1.docs/4.renderer","ri:layout-masonry-line",{"title":23,"path":24,"stem":25,"icon":26},"Routing","/docs/routing","1.docs/5.routing","ri:direction-line",{"title":28,"path":29,"stem":30,"icon":31},"Assets","/docs/assets","1.docs/50.assets","ri:image-2-line",{"title":33,"path":34,"stem":35,"icon":36},"Configuration","/docs/configuration","1.docs/50.configuration","ri:settings-3-line",{"title":38,"path":39,"stem":40,"icon":41},"Database","/docs/database","1.docs/50.database","ri:database-2-line",{"title":43,"path":44,"stem":45,"icon":46},"Lifecycle","/docs/lifecycle","1.docs/50.lifecycle","i-lucide-layers",{"title":48,"path":49,"stem":50,"icon":51},"Plugins","/docs/plugins","1.docs/50.plugins","ri:plug-line",{"title":53,"path":54,"stem":55,"icon":56},"Tasks","/docs/tasks","1.docs/50.tasks","codicon:run-all",{"title":58,"path":59,"stem":60,"icon":61},"Server Entry","/docs/server-entry","1.docs/6.server-entry","ri:server-line",{"title":63,"path":64,"stem":65,"icon":66},"Cache","/docs/cache","1.docs/7.cache","ri:speed-line",{"title":68,"path":69,"stem":70,"icon":71},"KV Storage","/docs/storage","1.docs/8.storage","carbon:datastore",{"title":73,"path":74,"stem":75,"icon":76},"Migration Guide","/docs/migration","1.docs/99.migration","ri:arrow-right-up-line",{"title":78,"path":79,"stem":80,"icon":81},"Nightly Channel","/docs/nightly","1.docs/99.nightly","ri:moon-fill","i-lucide-book-open",{"title":84,"path":85,"stem":86,"children":87,"icon":89},"Deploy","/deploy","2.deploy/0.index",[88,90,111],{"title":84,"path":85,"stem":86,"icon":89},"ri:upload-cloud-2-line",{"title":91,"path":92,"stem":93,"children":94,"page":110},"Runtimes","/deploy/runtimes","2.deploy/10.runtimes",[95,100,105],{"title":96,"path":97,"stem":98,"icon":99},"Node.js","/deploy/runtimes/node","2.deploy/10.runtimes/1.node","akar-icons:node-fill",{"title":101,"path":102,"stem":103,"icon":104},"Bun","/deploy/runtimes/bun","2.deploy/10.runtimes/bun","simple-icons:bun",{"title":106,"path":107,"stem":108,"icon":109},"Deno","/deploy/runtimes/deno","2.deploy/10.runtimes/deno","simple-icons:deno",false,{"title":112,"path":113,"stem":114,"children":115,"page":110},"Providers","/deploy/providers","2.deploy/20.providers",[116,120,124,128,132,136,140,144,148,152,156,160,164,168,172,176,180,184,188,192,196,200,204,208],{"title":117,"path":118,"stem":119},"Alwaysdata","/deploy/providers/alwaysdata","2.deploy/20.providers/alwaysdata",{"title":121,"path":122,"stem":123},"AWS Lambda","/deploy/providers/aws","2.deploy/20.providers/aws",{"title":125,"path":126,"stem":127},"AWS Amplify","/deploy/providers/aws-amplify","2.deploy/20.providers/aws-amplify",{"title":129,"path":130,"stem":131},"Azure","/deploy/providers/azure","2.deploy/20.providers/azure",{"title":133,"path":134,"stem":135},"Cleavr","/deploy/providers/cleavr","2.deploy/20.providers/cleavr",{"title":137,"path":138,"stem":139},"Cloudflare","/deploy/providers/cloudflare","2.deploy/20.providers/cloudflare",{"title":141,"path":142,"stem":143},"Deno Deploy","/deploy/providers/deno-deploy","2.deploy/20.providers/deno-deploy",{"title":145,"path":146,"stem":147},"DigitalOcean","/deploy/providers/digitalocean","2.deploy/20.providers/digitalocean",{"title":149,"path":150,"stem":151},"Firebase","/deploy/providers/firebase","2.deploy/20.providers/firebase",{"title":153,"path":154,"stem":155},"Flightcontrol","/deploy/providers/flightcontrol","2.deploy/20.providers/flightcontrol",{"title":157,"path":158,"stem":159},"Genezio","/deploy/providers/genezio","2.deploy/20.providers/genezio",{"title":161,"path":162,"stem":163},"GitHub Pages","/deploy/providers/github-pages","2.deploy/20.providers/github-pages",{"title":165,"path":166,"stem":167},"GitLab Pages","/deploy/providers/gitlab-pages","2.deploy/20.providers/gitlab-pages",{"title":169,"path":170,"stem":171},"Heroku","/deploy/providers/heroku","2.deploy/20.providers/heroku",{"title":173,"path":174,"stem":175},"IIS","/deploy/providers/iis","2.deploy/20.providers/iis",{"title":177,"path":178,"stem":179},"Koyeb","/deploy/providers/koyeb","2.deploy/20.providers/koyeb",{"title":181,"path":182,"stem":183},"Netlify","/deploy/providers/netlify","2.deploy/20.providers/netlify",{"title":185,"path":186,"stem":187},"Platform.sh","/deploy/providers/platform-sh","2.deploy/20.providers/platform-sh",{"title":189,"path":190,"stem":191},"Render.com","/deploy/providers/render","2.deploy/20.providers/render",{"title":193,"path":194,"stem":195},"StormKit","/deploy/providers/stormkit","2.deploy/20.providers/stormkit",{"title":197,"path":198,"stem":199},"Vercel","/deploy/providers/vercel","2.deploy/20.providers/vercel",{"title":201,"path":202,"stem":203},"Zeabur","/deploy/providers/zeabur","2.deploy/20.providers/zeabur",{"title":205,"path":206,"stem":207},"Zephyr Cloud","/deploy/providers/zephyr","2.deploy/20.providers/zephyr",{"title":209,"path":210,"stem":211},"Zerops","/deploy/providers/zerops","2.deploy/20.providers/zerops",{"title":213,"path":214,"stem":215,"children":216,"icon":36},"Config","/config","3.config/0.index",[217],{"title":213,"path":214,"stem":215,"icon":36},{"title":219,"path":220,"stem":221,"children":222,"icon":224},"Examples","/examples","4.examples/0.index",[223],{"title":219,"path":220,"stem":221,"icon":224},"i-lucide-folder-code",{"title":5,"path":226,"stem":227},"/","index",{"id":229,"title":205,"body":230,"description":737,"extension":738,"meta":739,"navigation":740,"path":206,"seo":741,"stem":207,"__hash__":742},"content/2.deploy/20.providers/zephyr.md",{"type":231,"value":232,"toc":728},"minimark",[233,245,250,256,266,272,277,280,289,293,296,327,337,341,348,354,444,447,451,454,491,495,505,684,696,700,706,714,724],[234,235,236,240,241],"p",{},[237,238,239],"strong",{},"Preset:"," ",[242,243,244],"code",{},"zephyr",[246,247],"read-more",{"title":248,"to":249},"Zephyr Cloud Docs","https://docs.zephyr-cloud.io",[234,251,252,253,255],{},"Zephyr support is built into Nitro through the ",[242,254,244],{}," preset.",[234,257,258,259,265],{},"For most Zephyr-specific topics such as BYOC, cloud integrations, environments, and CI/CD authentication, refer to the ",[260,261,264],"a",{"href":249,"rel":262},[263],"nofollow","Zephyr Cloud docs",".",[267,268,269],"note",{},[234,270,271],{},"Zephyr is a little different from most Nitro deployment providers. Instead of targeting a single hosting vendor directly, Zephyr acts as a deployment control plane on top of either Zephyr-managed infrastructure or your own cloud integrations.",[273,274,276],"h2",{"id":275},"byoc-model","BYOC model",[234,278,279],{},"Zephyr supports a BYOC (Bring Your Own Cloud) model. In Zephyr's architecture, the control plane stays managed by Zephyr, while the data plane (workers and storage) runs in your cloud accounts.",[234,281,282,283,288],{},"This lets you keep Zephyr's deployment workflow while using any supported Zephyr cloud integration. See the ",[260,284,287],{"href":285,"rel":286},"https://docs.zephyr-cloud.io/features/byoc",[263],"Zephyr BYOC docs"," for the current list of supported providers.",[273,290,292],{"id":291},"deploy-with-nitro-cli","Deploy with Nitro CLI",[234,294,295],{},"Use Nitro's deploy command to build and upload your app to Zephyr in one step:",[297,298,302],"pre",{"className":299,"code":300,"language":301,"meta":5,"style":5},"language-bash shiki shiki-themes github-light github-dark github-dark","npx nitro deploy --preset zephyr\n","bash",[242,303,304],{"__ignoreMap":5},[305,306,309,313,317,320,324],"span",{"class":307,"line":308},"line",1,[305,310,312],{"class":311},"shcOC","npx",[305,314,316],{"class":315},"sfrk1"," nitro",[305,318,319],{"class":315}," deploy",[305,321,323],{"class":322},"suiK_"," --preset",[305,325,326],{"class":315}," zephyr\n",[234,328,329,330,333,334,336],{},"Nitro will upload the generated output using ",[242,331,332],{},"zephyr-agent",". If ",[242,335,332],{}," is missing, Nitro will prompt to install it locally and installs it automatically in CI.",[273,338,340],{"id":339},"deploy-during-build","Deploy during build",[234,342,343,344,347],{},"Zephyr is a little different here from most Nitro providers: we recommend enabling deployment during ",[242,345,346],{},"nitro build"," and treating build as the primary deployment step.",[234,349,350,351,353],{},"If your CI pipeline already runs ",[242,352,346],{},", enable deployment during the build step:",[297,355,360],{"className":356,"code":357,"filename":358,"language":359,"meta":5,"style":5},"language-ts shiki shiki-themes github-light github-dark github-dark","import { defineNitroConfig } from \"nitro/config\";\n\nexport default defineNitroConfig({\n  preset: \"zephyr\",\n  zephyr: {\n    deployOnBuild: true,\n  },\n});\n","nitro.config.ts","ts",[242,361,362,381,388,403,415,421,432,438],{"__ignoreMap":5},[305,363,364,368,372,375,378],{"class":307,"line":308},[305,365,367],{"class":366},"so5gQ","import",[305,369,371],{"class":370},"slsVL"," { defineNitroConfig } ",[305,373,374],{"class":366},"from",[305,376,377],{"class":315}," \"nitro/config\"",[305,379,380],{"class":370},";\n",[305,382,384],{"class":307,"line":383},2,[305,385,387],{"emptyLinePlaceholder":386},true,"\n",[305,389,391,394,397,400],{"class":307,"line":390},3,[305,392,393],{"class":366},"export",[305,395,396],{"class":366}," default",[305,398,399],{"class":311}," defineNitroConfig",[305,401,402],{"class":370},"({\n",[305,404,406,409,412],{"class":307,"line":405},4,[305,407,408],{"class":370},"  preset: ",[305,410,411],{"class":315},"\"zephyr\"",[305,413,414],{"class":370},",\n",[305,416,418],{"class":307,"line":417},5,[305,419,420],{"class":370},"  zephyr: {\n",[305,422,424,427,430],{"class":307,"line":423},6,[305,425,426],{"class":370},"    deployOnBuild: ",[305,428,429],{"class":322},"true",[305,431,414],{"class":370},[305,433,435],{"class":307,"line":434},7,[305,436,437],{"class":370},"  },\n",[305,439,441],{"class":307,"line":440},8,[305,442,443],{"class":370},"});\n",[234,445,446],{},"Then your normal build command is enough:",[448,449],"pm-run",{"script":450},"build",[234,452,453],{},"After the build finishes, Nitro uploads the generated output to Zephyr, deploys it to the edge, and prints the deployment URL:",[297,455,459],{"className":456,"code":457,"language":458,"meta":5,"style":5},"language-txt shiki shiki-themes github-light github-dark github-dark","◐ Building [Nitro] (preset: zephyr, compatibility: 2026-03-10)\n...\nZEPHYR   Uploaded local snapshot in 110ms\nZEPHYR   Deployed to Zephyr's edge in 700ms.\nZEPHYR\nZEPHYR   https://my-app.zephyrcloud.app\n","txt",[242,460,461,466,471,476,481,486],{"__ignoreMap":5},[305,462,463],{"class":307,"line":308},[305,464,465],{},"◐ Building [Nitro] (preset: zephyr, compatibility: 2026-03-10)\n",[305,467,468],{"class":307,"line":383},[305,469,470],{},"...\n",[305,472,473],{"class":307,"line":390},[305,474,475],{},"ZEPHYR   Uploaded local snapshot in 110ms\n",[305,477,478],{"class":307,"line":405},[305,479,480],{},"ZEPHYR   Deployed to Zephyr's edge in 700ms.\n",[305,482,483],{"class":307,"line":417},[305,484,485],{},"ZEPHYR\n",[305,487,488],{"class":307,"line":423},[305,489,490],{},"ZEPHYR   https://my-app.zephyrcloud.app\n",[273,492,494],{"id":493},"ci-authentication","CI authentication",[234,496,497,498,501,502,265],{},"Zephyr requires an API token for non-interactive deployments. The example below uses the simpler personal-token style setup with ",[242,499,500],{},"ZE_SECRET_TOKEN"," together with ",[242,503,504],{},"zephyr.deployOnBuild",[297,506,511],{"className":507,"code":508,"filename":509,"language":510,"meta":5,"style":5},"language-yaml shiki shiki-themes github-light github-dark github-dark","name: Deploy with Zephyr\n\non:\n  push:\n    branches: [main]\n\njobs:\n  deploy:\n    runs-on: ubuntu-latest\n    env:\n      ZE_SECRET_TOKEN: ${{ secrets.ZEPHYR_AUTH_TOKEN }}\n    steps:\n      - uses: actions/checkout@v4\n      - uses: actions/setup-node@v4\n        with:\n          node-version: 20\n      - run: npm ci\n      - run: npm run build\n",".github/workflows/deploy.yml","yaml",[242,512,513,525,529,537,544,558,562,569,576,587,595,606,614,628,640,648,659,672],{"__ignoreMap":5},[305,514,515,519,522],{"class":307,"line":308},[305,516,518],{"class":517},"sByVh","name",[305,520,521],{"class":370},": ",[305,523,524],{"class":315},"Deploy with Zephyr\n",[305,526,527],{"class":307,"line":383},[305,528,387],{"emptyLinePlaceholder":386},[305,530,531,534],{"class":307,"line":390},[305,532,533],{"class":322},"on",[305,535,536],{"class":370},":\n",[305,538,539,542],{"class":307,"line":405},[305,540,541],{"class":517},"  push",[305,543,536],{"class":370},[305,545,546,549,552,555],{"class":307,"line":417},[305,547,548],{"class":517},"    branches",[305,550,551],{"class":370},": [",[305,553,554],{"class":315},"main",[305,556,557],{"class":370},"]\n",[305,559,560],{"class":307,"line":423},[305,561,387],{"emptyLinePlaceholder":386},[305,563,564,567],{"class":307,"line":434},[305,565,566],{"class":517},"jobs",[305,568,536],{"class":370},[305,570,571,574],{"class":307,"line":440},[305,572,573],{"class":517},"  deploy",[305,575,536],{"class":370},[305,577,579,582,584],{"class":307,"line":578},9,[305,580,581],{"class":517},"    runs-on",[305,583,521],{"class":370},[305,585,586],{"class":315},"ubuntu-latest\n",[305,588,590,593],{"class":307,"line":589},10,[305,591,592],{"class":517},"    env",[305,594,536],{"class":370},[305,596,598,601,603],{"class":307,"line":597},11,[305,599,600],{"class":517},"      ZE_SECRET_TOKEN",[305,602,521],{"class":370},[305,604,605],{"class":315},"${{ secrets.ZEPHYR_AUTH_TOKEN }}\n",[305,607,609,612],{"class":307,"line":608},12,[305,610,611],{"class":517},"    steps",[305,613,536],{"class":370},[305,615,617,620,623,625],{"class":307,"line":616},13,[305,618,619],{"class":370},"      - ",[305,621,622],{"class":517},"uses",[305,624,521],{"class":370},[305,626,627],{"class":315},"actions/checkout@v4\n",[305,629,631,633,635,637],{"class":307,"line":630},14,[305,632,619],{"class":370},[305,634,622],{"class":517},[305,636,521],{"class":370},[305,638,639],{"class":315},"actions/setup-node@v4\n",[305,641,643,646],{"class":307,"line":642},15,[305,644,645],{"class":517},"        with",[305,647,536],{"class":370},[305,649,651,654,656],{"class":307,"line":650},16,[305,652,653],{"class":517},"          node-version",[305,655,521],{"class":370},[305,657,658],{"class":322},"20\n",[305,660,662,664,667,669],{"class":307,"line":661},17,[305,663,619],{"class":370},[305,665,666],{"class":517},"run",[305,668,521],{"class":370},[305,670,671],{"class":315},"npm ci\n",[305,673,675,677,679,681],{"class":307,"line":674},18,[305,676,619],{"class":370},[305,678,666],{"class":517},[305,680,521],{"class":370},[305,682,683],{"class":315},"npm run build\n",[234,685,686,687,690,691,265],{},"For more advanced CI/CD setups, Zephyr also documents organization-level server-token authentication using ",[242,688,689],{},"ZE_SERVER_TOKEN",". See the ",[260,692,695],{"href":693,"rel":694},"https://docs.zephyr-cloud.io/features/ci-cd-server-token",[263],"Zephyr CI/CD server token docs",[273,697,699],{"id":698},"options","Options",[701,702,704],"h3",{"id":703},"zephyrdeployonbuild",[242,705,504],{},[234,707,708,709,711,712,255],{},"Deploy to Zephyr during ",[242,710,346],{}," when using the ",[242,713,244],{},[715,716,717],"ul",{},[718,719,720,721],"li",{},"Default: ",[242,722,723],{},"false",[725,726,727],"style",{},"html pre.shiki code .shcOC, html code.shiki .shcOC{--shiki-light:#6F42C1;--shiki-default:#B392F0;--shiki-dark:#B392F0}html pre.shiki code .sfrk1, html code.shiki .sfrk1{--shiki-light:#032F62;--shiki-default:#9ECBFF;--shiki-dark:#9ECBFF}html pre.shiki code .suiK_, html code.shiki .suiK_{--shiki-light:#005CC5;--shiki-default:#79B8FF;--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 .so5gQ, html code.shiki .so5gQ{--shiki-light:#D73A49;--shiki-default:#F97583;--shiki-dark:#F97583}html pre.shiki code .slsVL, html code.shiki .slsVL{--shiki-light:#24292E;--shiki-default:#E1E4E8;--shiki-dark:#E1E4E8}html pre.shiki code .sByVh, html code.shiki .sByVh{--shiki-light:#22863A;--shiki-default:#85E89D;--shiki-dark:#85E89D}",{"title":5,"searchDepth":383,"depth":383,"links":729},[730,731,732,733,734],{"id":275,"depth":383,"text":276},{"id":291,"depth":383,"text":292},{"id":339,"depth":383,"text":340},{"id":493,"depth":383,"text":494},{"id":698,"depth":383,"text":699,"children":735},[736],{"id":703,"depth":390,"text":504},"Deploy Nitro apps to Zephyr Cloud.","md",{},{},{"title":205,"description":737},"4t0SrvS4iuVQ7tCepHiFdZCX5NwjZQSKDVa_9S4AjTs",[744,746],{"title":201,"path":202,"stem":203,"description":745,"children":-1},"Deploy Nitro apps to Zeabur.",{"title":209,"path":210,"stem":211,"description":747,"children":-1},"Deploy Nitro apps to Zerops.",1773176192731]