Local Development with the Devserver Image
For trying QuantumBPM on your own machine — without signing up for SaaS and without standing up the full self-hosted stack — we ship a single Docker image that bundles every piece of the platform behind one process. This is the fastest way to model a decision or run a BPMN process locally.
The devserver image is for local development and evaluation only. It runs with authentication disabled, an embedded single-node Postgres, and an embedded Temporal server in the same process — none of which are intended for production traffic, multi-tenant data, or anything you can't afford to lose. For real deployments use the managed SaaS or self-host the production images.
Quickstart
docker run --rm \
-p 9060:9060 \
-v quantumbpm-devserver:/var/lib/devserver \
hub.quantumbpm.com/quantumbpm-public/devserver:latest
Then open http://localhost:9060. The named volume keeps your projects, definitions, and execution history across container restarts; drop the -v flag for a fully ephemeral run.
The first start takes a few extra seconds while embedded Postgres initializes its data directory. Subsequent starts against the same volume come up immediately.
What's Bundled
The image ships four components inside one process:
| Component | Purpose |
|---|---|
| Backend | The full QuantumBPM REST API (DMN evaluation, BPMN runtime, projects, history). |
| SPA | The web console, served from the same port as the API. |
| Embedded Postgres | Application database. Data persists in DEVSERVER_DATA_DIR. |
| Embedded Temporal | Durable execution engine for BPMN workflows. Runs in-process. |
Authentication is disabled — every request is treated as the local developer. There is no organization model, no RBAC enforcement, and no billing path.
Configuration
Only two environment variables are honored. Everything else is hardcoded inside the binary.
| Variable | Default (in container) | Purpose |
|---|---|---|
DEVSERVER_PORT | 9060 | HTTP port the bundled server listens on. Remember to update the -p mapping if you change it. |
DEVSERVER_DATA_DIR | /var/lib/devserver | Where embedded Postgres and Temporal persist state. Mount a volume here for cross-restart persistence. |
Example with a custom port and a host bind-mount:
mkdir -p ./qbpm-data
docker run --rm \
-e DEVSERVER_PORT=8080 \
-p 8080:8080 \
-v "$PWD/qbpm-data:/var/lib/devserver" \
hub.quantumbpm.com/quantumbpm-public/devserver:latest
Resetting State
To wipe everything and start over:
docker volume rm quantumbpm-devserver
…or rm -rf the host directory if you bind-mounted instead.
When to Move Off the Devserver
The devserver is the right tool when you want to:
- Try the platform end-to-end on a laptop without internet roundtrips.
- Demo a model offline.
- Develop and debug an SDK integration against a real backend.
Move off the devserver when you want to:
- Run QuantumBPM in production — the devserver disables authentication, runs a single-node embedded Postgres in the same process, and is not a supported production target.
- Share a workspace across multiple users, with real organization and RBAC enforcement.
- Persist execution history reliably across restarts of multiple replicas.
- Get production support, an SLA, or compliance commitments.
For these, move to the managed SaaS (onboarding) — or to the self-hosted build when you have data residency, compliance, or air-gap requirements. Talk to us at support@quantumbpm.com for both options.