Deploy Your App
Build your app
Run the build command for your Vue project:This creates a
- Vite (Vue 3)
- Vue CLI
- Nuxt (Static)
dist folder with your production files.Create a Storage Zone
- In the Bunny dashboard, go to Storage → Add Storage Zone
- Enter a name for your zone (e.g.,
my-vue-app) - Select a main storage region closest to your primary audience
- Click Add Storage Zone
Take note of your Storage Zone Password from the FTP & API Access section—you’ll need this for uploads.
Upload your files
Open your Storage Zone and upload the contents of your build folder to the root of your storage zone:
- Vite/Vue CLI: Upload contents of
dist - Nuxt: Upload contents of
.output/public
Automate uploads with the Storage API
Automate uploads with the Storage API
For CI/CD pipelines, use the Storage API:
Configure Vue Router (History Mode)
Vue apps using Vue Router in history mode need all routes to serveindex.html so the client-side router can handle navigation. Configure this using your Storage Zone’s error handling settings.
If you’re using Nuxt with
nuxt generate, each route generates its own HTML
file, so you may not need this configuration unless you have dynamic routes.Navigate to your storage zone
Log in to your Bunny dashboard, go to Storage in the left navigation, and select your storage zone.
Add a Custom Domain
To serve your Vue app from your own domain, follow the Custom Hostname guide.Environment Variables
If your Vue app uses environment variables for API endpoints, ensure they’re set correctly for production:- Vite
- Vue CLI
- Nuxt
Create a Access in your code:
.env.production file:Environment variables are embedded at build time. Rebuild and redeploy after
changing them.
Summary
Your Vue app is now served globally through Bunny’s CDN.