Run the whole lab (one command)
Run the clinical ecosystem brings the planes
up one stack at a time. The umbrella orchestrator (general-hospital-lab)
does the whole thing from one place — useful for a fresh stand-up, a demo, or a
clean teardown.
It is a thin orchestrator: it owns the shared networks, the bring-up order, the cross-plane provisioning sequence, and a portal landing page. It does not duplicate any stack’s compose — each plane stays its own repo.
Layout
Section titled “Layout”Clone all the repos as siblings under one directory:
~/lab/├── samba-domain-controller (identity + docs-site)├── gh-openemr (application)├── gh-simhospital (activity)├── gh-integration (integration)└── general-hospital-lab (this umbrella)The umbrella finds the others via STACKS=.. in its .env.
Commands
Section titled “Commands”cd general-hospital-labcp .env.example .envmake up # shared networks + all four planes + docs + portal, in ordermake provision # cross-plane wiring (see below)# or both at once:make demo
make status # container status across every planemake portal # (re)build just the landing pagemake down # stop everything (reverse order; keeps volumes)make up runs in dependency order: identity (DC) → application (OpenEMR) →
activity (Simhospital) → integration (OIE) → docs → portal.
make provision does the cross-plane wiring that can only happen once the stacks
are up: OpenEMR’s AD auth + the full clinician cast + demo data + telemetry
opt-out, then the OIE channel:
gh-openemr: fetch-ca · ldap-setup · provision-cast · no-telemetry · seed-demo · seed-immunizationsgh-integration: provision (deploy the ADT→OpenEMR channel)The portal
Section titled “The portal”make portal serves a landing page at portal.l.supported.systems — the front
door, linking the four plane UIs (OpenEMR, the Simhospital dashboard, the
interface engine, and these docs). It’s a tiny static site behind the edge proxy.
When to use which
Section titled “When to use which”- Daily / focused work on one plane → that stack’s own
maketargets. - Fresh stand-up, demo, or teardown of the whole hospital → the umbrella.