Skip to content
valence-worksPublic

About

Production-ready Docker images for Elsa Workflows — documentation, releases, and issue tracking.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 

Repository files navigation

Elsa Runtime

Production-ready container images for Elsa Workflows — built, hardened and patched by the maintainer of Elsa.

Elsa Workflows is open source and always will be. Elsa Runtime is the assembled, production-ready distribution of it: pre-built images, a committed security patch cadence, and — on paid tiers — direct access to the person who wrote the engine.

📖 Documentation Wiki · 🐛 Report an issue · 💬 Discussions

⚠️ Pre-launch — read this first

Elsa Runtime is not generally available yet. Right now:

  • Subscriptions are not open yet. Prices are published so you can plan; get in touch to discuss a tier or request access.
  • Community images are free and need no account — ghcr.io/valence-works/runtime-ce-*, pullable without login. They are the same build the paid tiers get.
  • If you pulled valenceworks/elsa-pro-* from Docker Hub, those still work but are no longer updated. Community builds now publish to GHCR; paid builds to a private registry.
  • Elsa 3.8 is still in preview. These images track 3.8.0-preview.*.
  • Images now run non-root (UID 1654) on a chiselled base — 11 OS packages instead of 112, no shell, no package manager. Vulnerability scanning gates the build before publication, and every image is signed and ships an SBOM and build provenance.

This repository is documentation and issue tracking only. There is no source here.


Editions

Community Runtime Runtime Priority Maintainer Access
Price / year Free €1,500 €4,500 €25,000
Availability Open Open Open 3 slots
Registry Public, no account Private, token issued Private, token issued Private, token issued
Hardened, signed, SBOM ✅ same build ✅ ✅ ✅
Security patch commitment — ✅ ✅ ✅
Immutable version tags — ✅ ✅ ✅
Bug reports triaged Public queue 5 business days 2 business days 1 business day
Backports to your pinned minor — — ✅ ✅
Direct channel to the maintainer — — — ✅

Triage is committed; a fix is not. Every report gets a written answer within your tier's window — accepted with a target release, needs information, won't fix with a reason, or already fixed.

Prices are per year, EUR, excluding VAT. Subscriptions are not open yet — Elsa Runtime is in Early Preview; get in touch to discuss a tier or request access. Existing subscribers keep their rate through at least their following renewal if prices change.

Full details, inclusions and exclusions: Editions & Support


Which image do I want?

Image Elsa API Studio UI Use when
runtime-*-server ✅ — Backend only; Studio deployed separately or not at all
runtime-*-studio — ✅ Studio UI pointing at an existing Elsa API
runtime-*-combined ✅ ✅ Everything in one container, one origin — simplest option

Community images carry a ce- prefix (ghcr.io/valence-works/runtime-ce-server) and are public — no account, no login. Paid images drop the prefix (runtime-server) and live in a private registry you are issued a token for. The bits are identical, down to the manifest digest — see Pulling Images. More detail: Choosing an Image


Quick start

The fastest path to a running Elsa with a designer UI — one container, one port.

docker run -d --name elsa-pro -p 8080:8080 \
  -e CShells__Shells__Default__Features__DefaultAdminUser__AdminUsername=admin \
  -e CShells__Shells__Default__Features__DefaultAdminUser__AdminPassword='ChangeThisPassword123!' \
  -e CShells__Shells__Default__Features__Identity__SigningKey="$(openssl rand -base64 32)" \
  ghcr.io/valence-works/runtime-ce-combined:latest

Then open http://localhost:8080 and sign in with the username and password you just set.

What Where
Studio UI http://localhost:8080
Elsa API http://localhost:8080/elsa/api
Health (readiness) http://localhost:8080/health
Liveness http://localhost:8080/alive

Out of the box this uses SQLite inside the container, so data is lost when the container is removed. That is fine for a first look and wrong for anything else — see Persistence & Databases.

That is the free Community image — no account or login needed. Subscribers use valenceruntimeimages.azurecr.io/runtime-combined, which is the same build with commitments attached.

Separate server and Studio

docker network create elsa

docker run -d --name elsa-server --network elsa -p 8080:8080 \
  -e CShells__Shells__Default__Features__DefaultAdminUser__AdminUsername=admin \
  -e CShells__Shells__Default__Features__DefaultAdminUser__AdminPassword='ChangeThisPassword123!' \
  -e CShells__Shells__Default__Features__Identity__SigningKey="$(openssl rand -base64 32)" \
  -e Elsa__Cors__AllowedOrigins__0=http://localhost:8081 \
  ghcr.io/valence-works/runtime-ce-server:latest

docker run -d --name elsa-studio --network elsa -p 8081:8080 \
  -e Studio__HostingModel=WebAssembly \
  -e Studio__Client__Backend__Url=http://localhost:8080/elsa/api \
  ghcr.io/valence-works/runtime-ce-studio:latest

Studio is on http://localhost:8081.

⚠️ In the default WebAssembly mode the browser calls the API directly, so Studio__Client__Backend__Url must be reachable from your browser — not from inside the Docker network — and the server needs a matching CORS origin. This is the single most common setup mistake; Running the Images explains both hosting models.


Documentation

Page What's in it
Getting Started First run, in more detail than above
Choosing an Image Server vs Studio vs Combined, hosting models
Pulling Images Registries, private registry authentication, tags and pinning
Running the Images Docker run, Compose, Kubernetes notes, health probes
Configuration Precedence, /config/config.json, environment variable reference
Persistence & Databases SQLite, PostgreSQL, other providers, volumes
Extending with Nuplane Adding database providers, message buses, schedulers at runtime
Production Checklist What to change before going live
Troubleshooting Common failures and how to diagnose them
Editions & Support Tiers, what's included, where to get help

Getting help

The right place depends on what the problem is — and if you're on a paid tier, you can always use your private channel for anything.

Your problem is Go to
An Elsa engine bug or feature request elsa-workflows/elsa-core — that's where fixes land
An image, packaging or deployment problem Issues on this repo
A question, or "how do I…" Discussions
Billing, licensing, subscriptions Commercial contact — pending
A suspected security vulnerability Security contact — pending. Please do not use public trackers

Paid subscribers: use your private intake channel — it's the only one carrying a response commitment. Public channels here are best-effort.


Licensing

  • Elsa Workflows — the engine — is open source under the MIT License. Unaffected by anything here.
  • Community images are free to use. (Terms to be published.)
  • Paid images are licensed under the Valence Works Commercial License and require a current subscription. (Link pending.)

Elsa Runtime is a product of Valence Works. Elsa Workflows is an open source project by the same maintainer and remains freely available.

About

Production-ready Docker images for Elsa Workflows — documentation, releases, and issue tracking.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors