Appaloft Docs
Deploy

One-click deploy

Add a Deploy on Appaloft button to an app README and hand users into Blueprint deployment.

One-click deploy is an entrypoint convention, not another application definition format. The button carries the user into an Appaloft deploy entry; the deployable topology still lives in an appaloft.blueprint/v1 Blueprint.

  1. Maintain appaloft.blueprint.yaml in the app repository, or publish the app through an Appaloft Blueprint catalog.
  2. Generate an Appaloft deploy link.
  3. Put the official badge Markdown in the README.
  4. The user clicks it, then selects project, server, dependency resources, and secrets in Appaloft before accepting deployment.

Official badge asset:

Badge URL
https://appaloft.com/badge/deploy.svg

README example:

README.md
[![Deploy on Appaloft](https://appaloft.com/badge/deploy.svg)](https://app.appaloft.com/deploy?source=blueprint&sourceExtension=cloud-blueprint-marketplace&blueprintSlug=pocketbase&blueprintTitle=PocketBase&step=project&projectMode=new&projectName=PocketBase)

Remote Blueprint URL example:

README.md
[![Deploy on Appaloft](https://appaloft.com/badge/deploy.svg)](https://app.appaloft.com/deploy?source=blueprint&blueprintUrl=https%3A%2F%2Fraw.githubusercontent.com%2Fappaloft%2Fexamples%2Fmain%2Foneclick%2Fappaloft.blueprint.yaml&blueprintTitle=Oneclick&blueprintProfile=production&step=project&projectMode=new&projectName=Oneclick)

You can also use the One-click deploy generator.

The standard entry is /deploy. Query parameters describe the Blueprint to open and the default project state.

ParameterMeaning
source=blueprintFixed value for a Blueprint deploy entry.
blueprintSlugBlueprint slug in a registered catalog; mutually exclusive with blueprintUrl.
blueprintTitleOptional UI display title.
sourceExtensionWeb extension key that provides catalog endpoints. Optional for blueprintSlug; usually omitted for blueprintUrl so the runtime can choose its default remote import entry.
blueprintVariantOptional Blueprint variant.
blueprintProfileOptional profile, for example production.
projectMode=newDefault to creating a project; users can still adjust in the UI.
projectNameOptional default project name.
blueprintUrlPublicly readable remote Blueprint manifest URL; mutually exclusive with blueprintSlug. Direct execution depends on whether the current Appaloft runtime enables a remote import surface.

Do not put real secrets, database passwords, provider tokens, or private repository credentials in the URL. Secrets should be entered in the deploy wizard or referenced through Appaloft secret/resource binding mechanisms.

appaloft.blueprint.yaml
schemaVersion: appaloft.blueprint/v1
id: pocketbase
name: PocketBase
version: 1.0.0
summary: PocketBase service
components:
  - id: app
    name: PocketBase
    kind: service
    runtime:
      strategy: container-image
      image: ghcr.io/muchobien/pocketbase:latest
    ports:
      - name: http
        containerPort: 8090
        protocol: http
        public: true
    routes:
      - port: http
        pathPrefix: /
profiles:
  production:
    label: Production
  • A Blueprint is a portable manifest, not a Cloud Marketplace listing.
  • A deploy handoff URL is entry state, not a new deployment command.
  • The official badge is provided by the Appaloft style convention; app READMEs only reference the image and link.
  • Appaloft Cloud can host app.appaloft.com/deploy and appaloft.com/badge/deploy.svg, while self-hosted Appaloft can use the same URL parameter rules against its own control plane.