Summary
The web UI lets users pick dockercompose and dockerimage build packs, but the worker pipeline only branches on dockerfile vs. everything-else → nixpacks. Selecting either pack silently runs the nixpacks strategy.
Evidence
web/src/components/BuildPackSelector.tsx:15,21 — dockercompose / dockerimage options.
packages/worker/src/deployments/pipeline.ts:76 — if (app.buildPack === "dockerfile") { ... } else { nixpacks }.
packages/shared/src/constants/build-pack.ts lists all four packs.
Options
Summary
The web UI lets users pick
dockercomposeanddockerimagebuild packs, but the worker pipeline only branches ondockerfilevs. everything-else → nixpacks. Selecting either pack silently runs the nixpacks strategy.Evidence
web/src/components/BuildPackSelector.tsx:15,21—dockercompose/dockerimageoptions.packages/worker/src/deployments/pipeline.ts:76—if (app.buildPack === "dockerfile") { ... } else { nixpacks }.packages/shared/src/constants/build-pack.tslists all four packs.Options
dockercompose(dockercompose build pack — deploy multi-service stacks via Docker Compose #28) anddockerimage(dockerimage build pack — pull pre-built image and run as long-lived container #27), or