Skip to content

Aggregator DPG Setup

The Aggregator DPG is the downstream portal (web), API and worker. It sits in front of the Signals DPG, so its local stack brings up both DPGs plus the shared infra (Postgres, Redis, Keycloak, MinIO, Mailpit).

Pick a track: A — Docker-only (one command, whole ecosystem) or B — hybrid dev (run the apps from source with hot-reload).

Clone both repos side by side, then run everything from aggregator-dpg/local-setup/:

Terminal window
git clone https://github.com/Blue-Dots-Economy/aggregator-dpg.git
git clone https://github.com/Blue-Dots-Economy/signals-dpg.git # sibling — required
cd aggregator-dpg/local-setup
cp .env.example .env # set ADMIN_EMAILS
echo "127.0.0.1 keycloak" | sudo tee -a /etc/hosts # OIDC issuer must resolve
docker compose up -d --build
Open thisURL
Aggregator portalhttp://localhost:3100
Signals UIhttp://localhost:5173
Mailpit inboxhttp://localhost:8025 (catches all dev mail)

Full URL list, cross-DPG wiring and troubleshooting are in the local-setup/LOCAL_SETUP.md guide.

Run the backing services in Docker and the apps from source:

Terminal window
cd aggregator-dpg/local-setup && cp .env.example .env
docker compose up -d postgres signals-redis aggregator-redis \
keycloak keycloak-init mailpit minio minio-init # infra only
cd .. # repo root
pnpm install && pnpm -w build # build workspace packages first
cp apps/api/.env.example apps/api/.env # + apps/web, apps/worker
pnpm --filter @aggregator-dpg/api db:migrate
pnpm --filter @aggregator-dpg/api dev # API :4000
pnpm --filter @aggregator-dpg/web dev # portal :3000

The full guide lists the exact per-app .env values (Signals wiring, Keycloak issuer, ports).

Continue to Configuration or the Adaptor Onboarding walkthrough.