Deployment
Core commands
The package CLI covers the main operational flows:
ssr-boost devssr-boost buildssr-boost startssr-boost previewssr-boost build-dockerssr-boost build-amplifyssr-boost build-vercel
Build output shape
A normal build creates separate client and server outputs under your Vite outDir.
Typical shape:
build/
client/
server/When server output is built, the package also generates an SSR manifest for route assets.
Preview mode
ssr-boost preview runs watch builds and starts the production server after the output is ready.
This is useful when you want production-like behavior locally without switching to a manual build plus start sequence.
Docker
ssr-boost build-docker --image-name my-appUse optional flags such as:
--docker-options--docker-file--focus-only--mode
AWS Amplify
ssr-boost build-amplifyOptional flags:
--manifest-file--is-optimize--mode
Vercel
ssr-boost build-vercelOptional flags:
--config-file--config-vc-file--is-optimize--mode
Eject and serverless
Build-time flags:
--ejectgenerates a server start entrypoint in build output--serverlessgenerates a serverless entrypoint
These are useful when deployment expects a plain Node file or a serverless wrapper instead of the package CLI.
Static assets base
If Vite uses a custom base, reflect it in server static middleware as well:
export default entryServer(App, routes, {
middlewares: {
expressStatic: {
basename: '/static',
},
},
});That should match:
export default defineConfig({
base: '/static',
});Custom entrypoints
You can define additional entrypoints in plugin config. This is a strong fit for:
- Capacitor shells
- embedded apps
- extra branded entry surfaces
- service-worker-oriented SPA shells
Each entrypoint can override:
indexFileclientFileserverFilebuildOptions
See Recipes for concrete examples.