Skip to main content

Deploying

Kazzle apps can be deployed to Kazzle’s hosting or installed on device computers.

Remote deploy

Deploys are asynchronous: the app page, the AI, or kazzle deploy from a checkout queues a server-side deploy job. kazzle deploy uploads your checkout; the deploy runner builds and ships it. For each component:
  1. UI components are built into a Docker image that runs bun run build (your package.json must define a build script)
  2. Process components run their runtime.run command from kazzle.config.ts - deploy fails if it’s missing
  3. Each component gets its own image and deployment
  4. A production URL is assigned
Trigger a deploy from the app page or via the AI:
Deploy my app

Production URLs

Deployed apps get a URL like https://kazzle-{appId}.kazzle.app. Apps with multiple process components get one URL per component. Public apps are accessible to anyone with the URL. Private apps require Kazzle authentication.

Runtime commands in production

PhaseCommandWhen
buildpackage.json build scriptDuring deploy of UI components
runruntime.run in kazzle.config.tsIn production, starts a process component
Production commands must be bare commands (e.g. bun server/index.ts) - the deployed runtime injects PORT, HOST, and secrets directly. See the Kazzle CLI page for the dev/production split.

Local install

Apps can also run on device computers (your local machine) via the Kazzle daemon. The runtime.dev command starts the app in development mode.