Skip to content

Local Stack (Docker)

Each repo ships a self-contained local-setup/ folder — a docker-compose.yml, a .env.example, and a LOCAL_SETUP.md guide — that brings up the DPG and its backing services (Postgres, Redis, and, for the Aggregator, Keycloak / MinIO / Mailpit). You don’t wire the infra by hand; you copy an env file and run one command.

Both offer the same two tracks:

  • Track A — Docker-only: one docker compose up -d --build. Fastest way to explore.
  • Track B — hybrid dev: backing services in Docker, apps from source with hot-reload.
I want to…UseGuide
Run Signals only (backend + UI)signals-dpg/local-setup/Signals DPG Setup
Run the full ecosystem (Aggregator + Signals)aggregator-dpg/local-setup/Aggregator DPG Setup

The Aggregator’s local-setup/ builds both repos, so clone them as siblings under one parent directory:

<parent>/
├── aggregator-dpg/ # full-ecosystem stack lives in aggregator-dpg/local-setup/
│ └── local-setup/
└── signals-dpg/ # standalone stack lives in signals-dpg/local-setup/
└── local-setup/
ServicePortIn which stack
Aggregator portal3100Aggregator (full)
Signals UI5173both
Aggregator API4000Aggregator (full)
Signals API2742both
Keycloak8080Aggregator (full)
Mailpit (email UI)8025Aggregator (full)
Postgres5432both
Redis5555 / 6379Signals / Aggregator

Next: set up each DPG — Signals or the Aggregator.