Getting Started
PocketStack turns a browser-compatible Docker Compose pull request into a static, shareable preview. The primary workflow is one GitHub Action; the local CLI uses the same compatibility analyzer and generator.
Browser-compatible only
PocketStack is not a remote Docker runner. An application preview is published only when every active service maps to a browser adapter. Partial and blocked stacks fail the check and publish a static compatibility report instead.
Recommended: preview every pull request
- Create a Cloudflare Pages Direct Upload project.
- Add
CLOUDFLARE_ACCOUNT_IDandCLOUDFLARE_API_TOKENas repository secrets. - Add the PocketStack workflow under
.github/workflows/. - Open or update a pull request that changes your browser-compatible Compose project.
PocketStack analyzes the project, generates static output, deploys the stable pr-<number> alias, and creates or updates one pull-request comment.
Follow the complete PR preview setup →
What compatibility means
Each active service must map to one of six browser adapters: static-web, frontend, mock-http, postgres-pglite, sqlite, or wasi. For example:
services:
web:
image: nginx:alpine
volumes:
- ./site:/usr/share/nginx/html:roThe nginx document-root mount maps to static-web, so the generated preview is the static site itself. By contrast, a Redis daemon has no browser adapter and blocks application deployment. The compatibility matrix explains every adapter and the conversion guide suggests browser-native substitutions.
Inspect the same result locally
Install the CLI, then analyze the Compose file:
pocketstack analyze -f compose.yamlReady projects report a 100% browser-readiness score. Generate the static output with:
pocketstack demo -f compose.yaml -o pocketstack-demoServe the output from any static host:
npx serve pocketstack-demoSome adapters use service workers, WebContainer, or PGlite and require HTTPS plus COOP/COEP headers. PocketStack emits host configuration for them; see hosting.
Try a known-compatible project
- Pocket Supply storefront —
frontend+mock-http - Northstar sprint board —
frontend+postgres-pglite - Clearview analytics —
static-web
For a quick no-install check, PocketStack Studio runs the analyzer in the browser. Studio is useful for exploration; the GitHub Action is the repeatable PR workflow.