Since the Exec Dashboard depends on other ACM services, this repo root contains a docker-compose setup to conveniently run the dashboard and its dependencies locally.
The Makefile provides commands for ease of use.
exec-frontendexec-backendpostgreskartanamembership-portal
Only exec-dashboard frontend and backend are exposed to the host.
-
Configure compose env:
cp .env.compose.example .env.compose # Edit as needed -
Configure backend env:
cp backend/.env.example backend/.env # Edit as needed -
Ensure dependent service env files exist:
../kartana/.env../membership-portal/.env
If your local paths differ, update
KARTANA_ENV_FILEandMEMBERSHIP_PORTAL_ENV_FILEin.env.compose.For Kartana in this stack, set
GOOGLE_SHEETS_KEY_FILEto a JSON string in../kartana/.env. -
Start stack using remote Kartana/Membership Portal images:
make up
make upalways rebuilds Exec Dashboard images (exec-backend,exec-frontend).
Set local build contexts in .env.compose, then run:
make up-localThis uses docker-compose.build.yml and rebuilds local images for Exec Dashboard, Kartana, and Membership Portal.
.env.composeis for compose wiring only (ports, image tags, build contexts, env-file paths).backend/.envis for Exec Dashboard backend runtime config/secrets.../kartana/.envis for Kartana runtime config/secrets.../membership-portal/.envis for Membership Portal runtime config/secrets.
When the same key appears in both env_file and compose environment, the compose environment value wins. This is only used for container-network overrides like internal hostnames and DB URLs.
Membership Portal is overridden to use Docker Postgres networking (RDS_HOST=postgres, RDS_PORT=5432) and shared Postgres credentials from compose.