From 515fc0c26486daac36de0065b30af68c4a1d4c63 Mon Sep 17 00:00:00 2001 From: elpresidank Date: Mon, 6 Apr 2026 00:41:01 -0500 Subject: [PATCH] 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) --- ts/Containerfile | 4 +-- ts/deploy/docker-compose.yml | 43 +++++++++++++++++++++++++++-- ts/packages/workbench/Containerfile | 6 ++-- 3 files changed, 47 insertions(+), 6 deletions(-) diff --git a/ts/Containerfile b/ts/Containerfile index 3b65971a..acdf0ab5 100644 --- a/ts/Containerfile +++ b/ts/Containerfile @@ -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 # --------------------------------------------------------------------------- diff --git a/ts/deploy/docker-compose.yml b/ts/deploy/docker-compose.yml index a41b7991..9d8d3b55 100644 --- a/ts/deploy/docker-compose.yml +++ b/ts/deploy/docker-compose.yml @@ -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 diff --git a/ts/packages/workbench/Containerfile b/ts/packages/workbench/Containerfile index b2d3aef7..d31ed69a 100644 --- a/ts/packages/workbench/Containerfile +++ b/ts/packages/workbench/Containerfile @@ -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 # ---------------------------------------------------------------------------