syalioune/flowatch

By syalioune

Updated 22 days ago

OSS web GUI for Flowable 7+ — BPMN/DMN modeler + runtime ops. Multi-arch, non-root nginx.

Image
Languages & frameworks
Integration & delivery
0

10K+

syalioune/flowatch repository overview

Flowatch — the OSS GUI for Flowable 7+

GitHub License: Apache 2.0 Tested vs Flowable

A single-page React GUI for Flowable 7+ — the open-source BPMN/DMN process engine. Flowatch wraps the Flowable REST API and embeds the official bpmn-js and dmn-js modelers. The image is a static SPA bundle served by nginx — no Node, no JRE, no Flowable inside. Point it at any reachable Flowable backend from the Settings modal at runtime.

Community OSS GUI for Flowable. Not affiliated with Flowable.com Ltd.

Why this image exists

Flowable 6.x shipped a web UI (modeler + admin + task + IDM) with the OSS engine. Flowable removed it in 7.0 and kept the redesign enterprise-only. Flowatch fills that gap for OSS / public-sector / air-gapped / SME deployments — Flowable-aware down to the REST quirks (DMN sub-app prefix, missing /identity/tenants, multipart deployments).

Read more: github.com/syalioune/flowatch.

Quick start

docker run --rm -p 8081:8080 syalioune/flowatch:latest
# open http://localhost:8081 — set baseUrl in Settings to your Flowable engine

Default Flowable credentials (configurable in Settings, persisted to localStorage): rest-admin / test.

CORS: the browser calls Flowable directly. Either run Flowable behind a reverse proxy that injects CORS headers (see docker-compose.yml for a working example), or run the SPA on the same origin as the engine.

Tags

TagSource
latesttip of main
developtip of develop
X.Y.Z, X.Y, Xsemantic-release tags
sha-<short>per-commit traceability tag

Multi-arch: linux/amd64 + linux/arm64 on every tag.

A GHCR mirror is published in lock-step: ghcr.io/syalioune/flowatch:<tag>.

Runtime characteristics

  • Non-root: runs as uid 101 (nginx) on the unprivileged port 8080. Drops cleanly into Kubernetes restricted PodSecurity baselines; safe with all Linux capabilities dropped.
  • Tiny: ~30 MB compressed. Idle footprint <50 m-cpu, <5 MB RAM.
  • Stateless: no volumes, no config file. Connection settings live in the user's browser localStorage.
  • Base images digest-pinned (node:22-alpine builder, nginxinc/nginx-unprivileged:alpine runtime). Dependabot bumps weekly; runtime stage runs apk -U upgrade on every build to pull in Alpine SecDB patches between pin bumps.

Supply chain

Every image is built in GitHub Actions and ships with:

  • SBOMspdx-json, attached as an OCI attestation
  • SLSA build provenance — attached as an OCI attestation
  • OCI labelsorg.opencontainers.image.{source,revision,version,licenses,…}
  • Trivy scanHIGH/CRITICAL block CI (allowlist in .trivyignore)

Inspect:

docker buildx imagetools inspect syalioune/flowatch:latest \
  --format '{{ json .SBOM }}'

docker buildx imagetools inspect syalioune/flowatch:latest \
  --format '{{ json .Provenance }}'

Verify against your Flowable

Tested end-to-end against flowable/flowable-rest:7.2.0. A full local stack (Postgres + Flowable + nginx CORS proxy + this SPA) is one command from the repo:

git clone https://github.com/syalioune/flowatch && cd flowatch
make stack

Status

Pre-alpha. Runs end-to-end against flowable-rest:7.2.0. Treat current behavior as a starting point — full project status in the GitHub README.

Tag summary

Content type

Image

Digest

sha256:4e42ef549

Size

29.3 MB

Last updated

22 days ago

docker pull syalioune/flowatch:sha-93940dd