image field in your Deployment manifest with a build spec.
How it works
Source code lives in a directory on the node calledcodeDir (default: /var/lib/orun/code). Each subdirectory within codeDir can be a separate build context. You reference the subdirectory name in your Deployment’s build.context field.
orun supports two build modes:
build-once(default) — builds the image when the Deployment is first applied or when the manifest changes. Use this for production or CI-style workflows.watch— monitors the source directory for file-system changes and rebuilds automatically with a 500 ms debounce. Use this during local development for a fast feedback loop.
image and build are mutually exclusive. A Deployment manifest must specify one or the other, not both.Place your source code on the node
Copy or clone your application source into a subdirectory of Or SSH into the node and clone the repository directly:Ensure a
codeDir on the node. Using the default codeDir:Dockerfile exists at the root of the context directory (or set build.dockerfile to a custom path).Create a Deployment manifest with build-once mode
Create The
deployments/my-app.yaml in your manifest repository:build.context value (my-app) is resolved as a subdirectory under codeDir, so orun builds from /var/lib/orun/code/my-app/.Switch to watch mode for active development
Change With watch mode active, orun starts a file-system watcher on
buildMode to watch and push the updated manifest:/var/lib/orun/code/my-app/. Any file change triggers a rebuild after a 500 ms debounce window, then restarts the container with the new image automatically.Build spec field reference
| Field | Required | Default | Description |
|---|---|---|---|
build.context | Yes | — | Subdirectory name within codeDir to use as the build context |
build.dockerfile | No | Dockerfile | Path to the Dockerfile, relative to the build context |
build.args | No | — | Map of build-time arguments passed to docker build --build-arg |
build.buildMode | No | build-once | Rebuild behaviour: "build-once" or "watch" |
codeDir defaults to /var/lib/orun/code on the node. To use a different path, set the codeDir field in the Node manifest (e.g., codeDir: /data/code) and ensure the orun start process is restarted to pick up the change.Deploy your first app
Pull an image from a registry and run it with a Deployment manifest.
Monitor containers and view logs
Watch build output and container status via journald and the status API.
