# Deploy on Unbroker button

Add a one-click deploy button to any README, for a catalog template or any public GitHub repository.

Canonical URL: https://unbroker.cloud/changelog/2026-10-15-deploy-on-unbroker-button
Published: 2026-10-15
Tags: Apps

## Related reading

- [Cloud Apps](https://unbroker.cloud/deploy)
- [Deploy from Git](https://docs.unbroker.cloud/guides/deploy-from-git)

Put a **Deploy on Unbroker** button in a README and the people who click it land on a ready-to-deploy form. Someone signed out signs in first and comes back to the same form.

```markdown
[![Deploy on Unbroker](https://unbroker.cloud/button.svg)](https://app.unbroker.cloud/apps?template=mailcheap)
```

The button comes in a dark and a light version, and both read well on GitHub's light and dark themes. Every [template page](https://unbroker.cloud/templates) now has a **Deploy button** section with a preview and a snippet to copy.

#### Any public repository

The link also works without a template. Point `repo` at a public GitHub repository, and optionally set the branch, root directory, Dockerfile, port and the variables the app needs:

```text
https://app.unbroker.cloud/apps?repo=https://github.com/acme/app&env=DATABASE_URL,API_KEY
```

The form shows those values and the person deploying can change them. Without a branch, it uses the repository's default branch. Private repositories still go through **New project** with GitHub connected.

#### Templates check their variables before deploying

A template can declare rules for its variables, such as a minimum password length. The deploy form shows the problem under the field and keeps **Deploy** disabled until it is fixed, instead of failing at boot. Templates can also set the memory and CPU each service needs.

See the [Deploy button guide](https://docs.unbroker.cloud/guides/deploy-button) for every parameter.
