Skip to content

Deploy an app

Deployment starts with your coding agent. You do not need to package or upload the project by hand.

From the project directory, ask:

Deploy this app to Kyno. Inspect the code first, create a root Dockerfile if it is missing, use the PORT environment variable, keep persistent data in /data, and pass local credentials as Kyno secrets.

The agent should:

  1. Inspect the application and its environment requirements.
  2. Confirm that one root Dockerfile describes the app Kyno should run.
  3. Exclude .env, .git, node_modules, and other unnecessary files.
  4. Send non-sensitive settings as variables and credentials as secrets.
  5. Call deploy_files.
  6. Wait for the app to become ready and return its private URL.

deploy_files is the normal path for a project on your computer. It accepts up to 200 files in one call. For larger uploads, an agent can use begin_upload, upload_file, and deploy_upload.

Never upload a .env file. Kyno rejects .env paths, but secrets should still be passed separately instead of copied into source files or Docker build arguments.

Ask:

Deploy the public GitHub repository https://github.com/OWNER/REPOSITORY to Kyno.

Kyno accepts public github.com repositories and an optional branch, tag, or commit reference. The repository must have a root Dockerfile.

Workspace access is managed from People in the Kyno console, not from a deployment tool.

Kyno records the deployment as a durable operation, builds the source in a Firecracker build microVM, creates a root filesystem, and starts the app in a separate Firecracker runtime microVM. A ready app receives a URL under apps.kyno.work.

If deployment fails, ask your agent:

Read the Kyno deployment events for this app, explain the last failure in plain language, fix the project, and redeploy it.