fix: Docker build fixes, add agent/librarian/flow-manager to compose

Fix Containerfiles:
- Move tsconfig.json to workspace config layer for early availability
- Add missing workspace package.json entries for pnpm lockfile resolution

Docker Compose:
- Move Grafana from port 3000 to 3030 (avoid conflicts)
- Add agent, librarian, and flow-manager app services
- Add librarian-data volume for document persistence

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
elpresidank 2026-04-06 00:41:01 -05:00
parent 7db5a1023e
commit 515fc0c264
3 changed files with 47 additions and 6 deletions

View file

@ -9,18 +9,18 @@ RUN corepack enable && corepack prepare pnpm@9.15.0 --activate
WORKDIR /app
# Copy workspace config first for layer caching
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml turbo.json tsconfig.base.json ./
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml turbo.json tsconfig.base.json tsconfig.json ./
COPY packages/base/package.json packages/base/tsconfig.json packages/base/
COPY packages/client/package.json packages/client/tsconfig.json packages/client/
COPY packages/flow/package.json packages/flow/tsconfig.json packages/flow/
COPY packages/cli/package.json packages/cli/tsconfig.json packages/cli/
COPY packages/mcp/package.json packages/mcp/tsconfig.json packages/mcp/
COPY packages/workbench/package.json packages/workbench/tsconfig.json packages/workbench/
RUN pnpm install --frozen-lockfile
# Copy source and build
COPY packages/ packages/
COPY tsconfig.json ./
RUN pnpm build
# ---------------------------------------------------------------------------

View file

@ -1,6 +1,6 @@
# TrustGraph TypeScript — Full Stack
# Usage: docker compose up -d
# Observability UI: http://localhost:3000 (Grafana)
# Observability UI: http://localhost:3030 (Grafana)
networks:
trustgraph:
@ -15,6 +15,7 @@ volumes:
loki-data:
tempo-data:
grafana-data:
librarian-data:
services:
# ---------------------------------------------------------------------------
@ -165,7 +166,7 @@ services:
grafana:
image: grafana/grafana:latest
ports:
- "3000:3000"
- "3030:3000"
volumes:
- ./grafana/provisioning/datasources.yml:/etc/grafana/provisioning/datasources/datasources.yml:ro
- ./grafana/provisioning/dashboards.yml:/etc/grafana/provisioning/dashboards/dashboards.yml:ro
@ -283,3 +284,41 @@ services:
networks:
- trustgraph
restart: unless-stopped
agent:
image: trustgraph-ts:local
command: ["node", "entrypoints/agent.mjs"]
environment:
- NATS_URL=nats://nats:4222
depends_on:
nats:
condition: service_healthy
networks:
- trustgraph
restart: unless-stopped
librarian:
image: trustgraph-ts:local
command: ["node", "entrypoints/librarian.mjs"]
environment:
- NATS_URL=nats://nats:4222
volumes:
- librarian-data:/app/data
depends_on:
nats:
condition: service_healthy
networks:
- trustgraph
restart: unless-stopped
flow-manager:
image: trustgraph-ts:local
command: ["node", "entrypoints/flow-manager.mjs"]
environment:
- NATS_URL=nats://nats:4222
depends_on:
nats:
condition: service_healthy
networks:
- trustgraph
restart: unless-stopped

View file

@ -7,15 +7,17 @@ FROM node:22-slim AS builder
RUN corepack enable && corepack prepare pnpm@9.15.0 --activate
WORKDIR /app
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml turbo.json tsconfig.base.json ./
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml turbo.json tsconfig.base.json tsconfig.json ./
COPY packages/base/package.json packages/base/tsconfig.json packages/base/
COPY packages/client/package.json packages/client/tsconfig.json packages/client/
COPY packages/flow/package.json packages/flow/tsconfig.json packages/flow/
COPY packages/cli/package.json packages/cli/tsconfig.json packages/cli/
COPY packages/mcp/package.json packages/mcp/tsconfig.json packages/mcp/
COPY packages/workbench/package.json packages/workbench/tsconfig.json packages/workbench/vite.config.ts packages/workbench/
RUN pnpm install --frozen-lockfile
COPY packages/ packages/
COPY tsconfig.json ./
RUN pnpm build --filter=@trustgraph/workbench
# ---------------------------------------------------------------------------