Deploy
You have a working flow. Every path below runs on infrastructure you control; managed hosting is the optional alternative at the end.
Build once
Bundle your flow.json into a standalone artifact:
npx walkeros bundle flow.json --output flow.mjsRun it yourself
Docker, the standard path:
docker run -d -p 8080:8080 \
-v $(pwd)/flow.mjs:/app/flow.mjs \
-e BUNDLE=/app/flow.mjs \
walkeros/flow:latestNode, from the config (bundles on start, no separate build step):
npx walkeros run flow.jsonNode, from the bundle:
node flow.mjsIntegrated mode needs none of this: the flow deploys with your application and needs nothing extra. See integrated mode.
The same flow.json drives every path, so switching between them (or between
providers) is a redeploy, not a migration.
Before production
- Test offline: run the event through the built flow with each destination mocked, see bundled mode.
- Gate CI:
walkeros validate flow.json --strictturns contract violations into errors, see validate. - Wire consent before real traffic, see the consent guide.
- Keep
flow.jsonin git: deploys stay reviewable and reversible.
Managed hosting
☁️walkerOS Cloud
Hosting flow settings as a shared team space, managed deploys, and live observability are part of the hosted app. Self-hosting? Docker plus your own repo gets you the same running flow. What Cloud adds →
Next steps
- Docker: image, environment variables, compose
- CLI reference: all commands and options
💡 Need implementation support?
elbwalker offers hands-on support: setup review, measurement planning, destination mapping, and live troubleshooting. Book a 2-hour session (€399)