Feature

App Deployment

Build interactive apps on canvas, deploy them with a URL.

From canvas to app

Any project can become a running app. Build frames on your canvas (a dashboard, a CRM, a blog), iterate until it’s right, then tell the agent: “Deploy this.” The agent packages everything up and deploys it.

Two deploy targets

TargetHow it worksBest for
LocalRuns as a Docker container on your machine. Gets a public URL via Cloudflare relay. Accessible from anywhere as long as your machine is running.Personal tools, dev/staging, internal team dashboards
Jetro CloudHosted on Jetro’s infrastructure. Always-on, nothing to install on your machine.Production apps, blogs, anything that needs 24/7 uptime
Coming soon

Jetro Cloud deployment is coming soon. Local deployment is available now.

How local deployment works

Local deploy runs your app inside a Docker container on your machine. The container is fully isolated with its own dependencies, and your project data is mounted as a volume so the app can read and write to it.

Jetro connects the container to a Cloudflare relay, giving your app a public URL at your-app.apps.jetro.ai. Anyone with the link can access it from anywhere, as long as your machine is on and the container is running.

Prerequisite

Local deployment requires Docker installed on your machine. See the Prerequisites page.

  1. Agent analyzes the project Identifies target frames, data dependencies, and refresh logic.
  2. Agent writes the app Generates a server, Dockerfile, and everything needed to run your project as a standalone app. Includes routes, storage, live updates, and background data refresh.
  3. Build & deploy Docker builds the image and runs the container on your machine.
  4. Public URL Your app gets a URL at your-app.apps.jetro.ai, or you can bring your own domain.
Analyzing project: 3 frames, 2 refresh tasks, 1 data table
Generated server and app package (4 routes, live updates)
Docker image built, starting container
Container running, connecting relay
Setting up DNS…
✓ Live at yt-tracker.apps.jetro.ai

Custom domains

Bring your own domain on either target. Tell the agent: “Use app.mycompany.com” and it handles the DNS instructions and SSL setup. Just add a CNAME record on your domain and you’re live.

What deployed apps can do

  • Interactive forms. Users input data via the browser, stored in your project database
  • Live refresh. Background tasks fetch data on timers and push updates automatically
  • Persistent data. Your database persists across restarts and redeploys. Great for CRM-style apps
  • Full isolation. Runs in its own Docker container. Clean dependencies, reproducible, easy to stop and remove

Security

Deployed apps support three auth modes:

ModeWhen
Token (default)Simple dashboards. An auto-generated token secures access via a URL parameter.
App-managedApps with their own login system. Jetro’s token is disabled so you don’t have double authentication.
PublicRead-only dashboards. No auth, restricted to safe routes only.

Deployed apps show status directly in the project card in your sidebar: live/stopped indicator, public URL, custom domain status, and controls to stop, restart, redeploy, or remove entirely.