Zephyr Cloud
Preset: zephyr
Zephyr support is built into Nitro through the zephyr preset.
For most Zephyr-specific topics such as BYOC, cloud integrations, environments, and CI/CD authentication, refer to the Zephyr Cloud docs.
BYOC model
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.
This lets you keep Zephyr's deployment workflow while using any supported Zephyr cloud integration. See the Zephyr BYOC docs for the current list of supported providers.
Deploy with Nitro CLI
Use Nitro's deploy command to build and upload your app to Zephyr in one step:
npx nitro deploy --preset zephyr
Nitro will upload the generated output using zephyr-agent. If zephyr-agent is missing, Nitro will prompt to install it locally and will install it automatically in CI.
Deploy during build
Zephyr is a little different here from most Nitro providers: we recommend enabling deployment during nitro build and treating build as the primary deployment step.
If your CI pipeline already runs nitro build, enable deployment during the build step:
import { defineNitroConfig } from "nitro/config";
export default defineNitroConfig({
preset: "zephyr",
zephyr: {
deployOnBuild: true,
},
});
Then your normal build command is enough:
npm run build
yarn build
pnpm build
bun run build
deno run build
After the build finishes, Nitro uploads the generated output to Zephyr, deploys it to the edge, and prints the deployment URL:
◐ Building [Nitro] (preset: zephyr, compatibility: YYYY-MM-DD)
...
ZEPHYR Uploaded local snapshot in 110ms
ZEPHYR Deployed to Zephyr's edge in 700ms.
ZEPHYR
ZEPHYR https://my-app.zephyrcloud.app
CI authentication
Zephyr requires an API token for non-interactive deployments. The example below uses the simpler personal-token style setup with ZE_SECRET_TOKEN together with zephyr.deployOnBuild.
name: Deploy with Zephyr
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
env:
ZE_SECRET_TOKEN: ${{ secrets.ZEPHYR_AUTH_TOKEN }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
- run: npm ci
- run: npm run build
For more advanced CI/CD setups, Zephyr also documents organization-level server-token authentication using ZE_SERVER_TOKEN. See the Zephyr CI/CD server token docs.
Options
zephyr.deployOnBuild
Deploy to Zephyr during nitro build when using the zephyr preset.
- Default:
false