3. Migrate to Unified Structurizr Docker Image
Date: 2026-04-10
Status
Accepted
Context
Scaffoldizr relied on two separate Structurizr tools:
structurizr/liteDocker image — used byrun.shto serve the workspace locally for authoring and visualization.structurizr-clistandalone binary — used byupdate.shto push the workspace to a remote Structurizr instance, and by the CLI’s--exportflag to compileworkspace.dsltoworkspace.json.
In late 2025, Structurizr announced the consolidation of all its tools — Structurizr Lite, Structurizr CLI, and Structurizr on-premises — into a single unified tool and Docker image: structurizr/structurizr. The cloud service is scheduled to shut down on 30 September 2026.
The previously separate tools (structurizr/lite, structurizr-cli, structurizr/onpremises) are now end-of-life and will receive no further updates. All CLI commands (local, push, pull, export, validate, list, inspect) are now subcommands of the unified image.
Notably, the new push command no longer accepts a -secret flag. Authentication uses a single API key via -key.
Decision
We migrate all Scaffoldizr tooling to exclusively use the unified structurizr/structurizr Docker image:
run.sh: Changed fromstructurizr/litetodocker run ... structurizr/structurizr local. Thearchitecture/folder is mounted as the Structurizr workspace root at/usr/local/structurizr.update.sh: Changed fromstructurizr-cli pushtodocker run ... structurizr/structurizr push. The-secretflag is dropped (no longer supported); only-url,-id, and-keyare used. Thearchitecture/folder is mounted andworkspace.jsonis referenced at/usr/local/structurizr/workspace.json.--exportflag in the CLI: Changed from spawningstructurizr-cli exporttodocker run ... structurizr/structurizr export -w ... -f json -o ....- AI Agent skill (
.claude/skills/scaffoldizr/): Updated allstructurizr-clireferences to use Docker equivalents with the correct-wflag. .env-archtemplate: RemovedSTCTZR_WORKSPACE_SECRETas it has no corresponding flag in the new image.
The structurizr-cli binary dependency is fully dropped. Docker is now the sole runtime dependency for Structurizr operations.
Consequences
Positive:
- Users need only Docker installed — no separate
structurizr-clibinary to download and manage. - All Structurizr operations use a single, consistent interface.
- The project is insulated from the EOL of the standalone tools.
- The
localcommand is a drop-in replacement for Structurizr Lite with the same local authoring workflow. - Authentication is simplified to a single API key.
Negative:
- Docker must be running for any Structurizr operation (local viewing, export, push). Previously,
structurizr-clicould be installed as a standalone binary without Docker. - First-time use of each command requires Docker to pull the
structurizr/structurizrimage (~1GB), adding latency. - Teams using
STCTZR_WORKSPACE_SECRETin existing.env-archfiles can safely remove it — the variable is no longer read.
References
- Introducing Structurizr vNext — Patreon post announcing the consolidation of all Structurizr tools into the unified image.
- Structurizr end-of-life page — Official EOL listing for Structurizr Lite, CLI, on-premises, and cloud service.
- Structurizr commands reference — Full list of commands available in the unified
structurizr/structurizrimage. - local command reference — Options and examples for the
localcommand used inrun.sh.