Skip to content

Quick Start

This walkthrough brings up the full Fleans stack from a published release, deploys a sample workflow through the admin UI, and starts an instance via the REST API.

  • Docker Engine 24+ with the Compose v2 plugin (docker compose version).
  • ~2 GB free disk for images and the Postgres data volume.

No .NET SDK, no source checkout — the bundle pulls signed container images from ghcr.io/nightbaker/fleans-*.

The release pipeline attaches docker-compose-v<VER>.zip to every GitHub Release. Grab the latest:

Terminal window
gh release download v0.3.0 --repo nightBaker/fleans -p 'docker-compose-*.zip'
unzip docker-compose-v0.3.0.zip -d fleans
cd fleans
docker compose up -d

docker compose ps should show every service as running. The admin UI lands at http://localhost:8080 and the REST API at http://localhost:8081.

Fleans deploys workflows through the admin UI, not via a REST endpoint.

  1. Open http://localhost:8080.
  2. Navigate to the Editor page.
  3. Download the sample workflow: my-process.bpmn — a minimal workflow with a single script task that sets a greeting variable.
  4. Import the file, then click Deploy.
<!-- Excerpt from my-process.bpmn -->
<scriptTask id="greet" name="Set Greeting" scriptFormat="csharp">
<script>_context.greeting = "Hello from Fleans!";</script>
</scriptTask>

After clicking Deploy, the Editor shows a green success message bar reading Deployed 'my-process' v1 (N activities, M flows), the breadcrumb displays the process key, and an accent-colored v1 badge appears next to it. Deploying again produces v2, and so on.

Terminal window
curl -X POST http://localhost:8081/Workflow/start \
-H "Content-Type: application/json" \
-d '{"WorkflowId":"my-process"}'

Because my-process contains only a script task, the instance runs to completion immediately. Verify the result in the admin UI: from the Workflows page, click the my-process row to open the process-instances list. The instance appears as Completed, and opening it shows the variables panel containing greeting = "Hello from Fleans!".