with one click
docker
// Manage the workflow engine's Docker Compose stack. Use when starting, stopping, rebuilding containers, or resetting the database.
// Manage the workflow engine's Docker Compose stack. Use when starting, stopping, rebuilding containers, or resetting the database.
Norsk tekstforfatter og redaktรธr for Digdir: klarsprรฅk, AI-markรธrer, anglisismer, fagtermer, mikrotekst.
Rebase a stacked PR onto main after its parent was squash-merged, using `git rebase --onto` to skip already-merged commits. Use when rebasing a stacked or dependent PR, handling a squash-merged parent PR, or recovering from empty commits or spurious conflicts after `git rebase main`.
Skill for reviewing text content - error messages, labels, help texts and tone of voice. Use this skill only when directly invoked.
Format C# files with CSharpier and verify the build passes. Use when formatting code, fixing build errors from formatting, or before committing changes.
Run k6 load tests against the workflow engine. Use when performance testing, stress testing, or benchmarking.
Manage EF Core database migrations. Use when adding, listing, or removing migrations for the workflow engine.
| name | docker |
| description | Manage the workflow engine's Docker Compose stack. Use when starting, stopping, rebuilding containers, or resetting the database. |
| Profile | Services |
|---|---|
app | workflow-engine + postgres |
dashboard | dashboard |
full | everything (engine + postgres + dashboard + monitoring + mocks) |
Start a profile:
docker compose --profile <profile> up -d
Rebuild and deploy the engine:
docker compose build workflow-engine && docker compose --profile app up -d --no-deps workflow-engine
Rebuild and deploy the dashboard:
docker compose build dashboard && docker compose --profile dashboard up -d --no-deps dashboard
Stop everything:
docker compose --profile full down
View container status:
docker compose ps
View logs for a specific service:
docker compose logs -f <service-name>
| Container | Port(s) | Purpose |
|---|---|---|
workflow-engine | 8080, 8081 | API |
dashboard | 8090 | Monitoring UI |
postgres | 5433 | Database |
pgadmin | 5050 | PostgreSQL admin UI |
lgtm | 7070, 4317, 4318 | Grafana + Prometheus + Loki + Tempo + OTLP |
blackbox-exporter | โ | Prometheus blackbox exporter |
postgres-exporter | 9187 | Prometheus PostgreSQL exporter |
wiremock | 6060 | Mock app callbacks |
Truncate all workflow data (requires running postgres container):
docker compose exec postgres psql -U postgres -d workflow_engine -c 'TRUNCATE "Workflows", "Steps" CASCADE;'
wwwroot/ is bind-mounted โ frontend file edits are live without rebuild (just browser refresh, or automatic via hot-reload).workflow-engine-app directory with dotnet run --project src/WorkflowEngine.App (requires postgres container).