Deploy from Git
Deploying from Git is the most common way to run an application in Miabi. You connect a repository, pick a branch, and Miabi clones the code and builds an image — automatically detecting how to build it.

Connecting a repository
When creating an application, choose Git repository as the source. Any Git host reachable over HTTPS or SSH works — GitHub, GitLab, and Bitbucket are simply the common cases; there is no provider to select.
- Repository URL — paste the clone URL (HTTPS or SSH).
- Auth type —
public, an HTTPS token, or an SSH key. - Branch — choose the branch to deploy (for example
mainorproduction).
Miabi builds from the repository root. There is currently no per-application build-context or
subdirectory setting, so monorepos need a Dockerfile at the root.
Git credentials
For private repositories, Miabi needs access. Stored Git credentials (a personal access token or deploy key) are saved per workspace, encrypted at rest, and reused across applications. Add them once and Miabi can clone any private repo you have access to.
Use scoped, read-only deploy keys or tokens where possible. Credentials are never logged and are stored encrypted — see Encryption.
How builds work
Miabi inspects the cloned repository and chooses a build strategy:
- Dockerfile — if a
Dockerfileis detected, Miabi builds the image from it directly. This gives you full control over the runtime. - Buildpacks — if there is no Dockerfile, Miabi uses buildpacks to detect the language and produce a runnable image without you writing any Docker configuration.
The result of either path is an immutable image that becomes a new release.
Build limits
Builds run under a platform-wide time limit so a runaway build can't occupy a runner forever:
| Limit | Where it is set | Default |
|---|---|---|
| Build time | MIABI_BUILD_TIMEOUT_MINUTES (operator env) | 30 minutes |
These are platform settings, not per-application ones — an app has no build-memory or build-time
field. The CPU and Memory limits on an application cap its running container, not its build.
Redeploying
Trigger a new build manually from the Deployments tab at any time, or set up automatic deploys so a push to your branch builds and ships a release with no manual step. See Git push-to-deploy and Pipelines.
Every Git deploy produces a tracked release. If a build ships a regression, roll back instantly from the Releases tab.