Containers & Deployment
Host-aware deployment for Cloudflare and Fly.io
Stackpanel deployment is app-first: each app opts into deployment, chooses a host, and then host-specific modules generate the files/scripts needed for that host.
The canonical maintainer/agent deployment specification lives in docs/superpowers/specs/2026-03-28-deployment-system.md in the repository. This page remains the public deployment landing page for provider guides and workflow entrypoints.
Routing Model
Deployment selection is resolved in this order:
stackpanel.apps.<name>.deployment.host(explicit per app)stackpanel.deployment.defaultHost(global fallback, default:"cloudflare")
An app is deployable when:
stackpanel.apps.<name>.deployment.enable = true- one framework flag is enabled (for example
framework.tanstack-start.enable = true)
What Runs Where
| Host | Provisioning path | Notes |
|---|---|---|
cloudflare | infra:deploy (Alchemy infra module) | Framework × host maps to a Cloudflare Alchemy resource |
fly | Fly module workflow (flyctl, generated fly.toml) | Container-based deploy flow; not managed by infra deployment module |
The infra deployment module currently provisions Cloudflare apps only. Fly apps are handled by the Fly deployment module.
Minimal Example
{
stackpanel.deployment.defaultHost = "cloudflare";
stackpanel.apps.web = {
path = "apps/web";
framework.tanstack-start.enable = true;
deployment = {
enable = true;
# host omitted -> uses defaultHost (cloudflare)
bindings = [ "CORS_ORIGIN" "BETTER_AUTH_SECRET" ];
secrets = [ "BETTER_AUTH_SECRET" ];
cloudflare.workerName = "stackpanel-web";
};
};
stackpanel.apps.api = {
path = "apps/server";
framework.hono.enable = true;
deployment = {
enable = true;
host = "fly";
fly.appName = "stackpanel-api";
container = {
type = "bun";
port = 3000;
};
};
};
}Provider Guides
Cloudflare
Configure per-app Cloudflare options and deploy with infra:deploy
Fly.io
Generate fly.toml, use wrapped fly-<app> commands, and deploy containers
Infrastructure
Understand infra modules, Alchemy generation, stages, and output sync
Machines
Define machine inventory for Colmena and infrastructure-aware workflows
Writing Infra Modules
Scaffold and develop custom Alchemy modules for the infra system