mirror of
https://github.com/joelhooks/joelclaw.git
synced 2026-09-19 01:24:04 +08:00
50 lines
1.6 KiB
Docker
50 lines
1.6 KiB
Docker
# system-bus-worker Docker image (k8s cluster role)
|
|
#
|
|
# Full workspace install, then copy entire node_modules tree to bun runtime.
|
|
# Reliable but larger image (~500MB). Optimizes for correctness over size.
|
|
|
|
FROM node:22-bookworm-slim AS deps
|
|
ENV PNPM_HOME="/pnpm"
|
|
ENV PATH="$PNPM_HOME:$PATH"
|
|
RUN corepack enable
|
|
|
|
WORKDIR /app
|
|
|
|
# Copy lockfile + workspace config for layer caching
|
|
COPY pnpm-lock.yaml pnpm-workspace.yaml package.json ./
|
|
|
|
# Copy ALL package.json files for workspace resolution
|
|
COPY packages/ packages/
|
|
COPY apps/ apps/
|
|
|
|
# Install all deps (full workspace — ensures all cross-package deps resolve)
|
|
RUN pnpm install --frozen-lockfile --ignore-scripts
|
|
|
|
# Runtime stage — bun
|
|
FROM oven/bun:1.3.9
|
|
|
|
WORKDIR /app
|
|
|
|
# Copy everything from deps stage (source + resolved node_modules)
|
|
COPY --from=deps /app/node_modules /app/node_modules
|
|
COPY --from=deps /app/packages/agent-execution /app/packages/agent-execution
|
|
COPY --from=deps /app/packages/email /app/packages/email
|
|
COPY --from=deps /app/packages/endpoint-resolver /app/packages/endpoint-resolver
|
|
COPY --from=deps /app/packages/inference-router /app/packages/inference-router
|
|
COPY --from=deps /app/packages/mdx-pipeline /app/packages/mdx-pipeline
|
|
COPY --from=deps /app/packages/memory /app/packages/memory
|
|
COPY --from=deps /app/packages/queue /app/packages/queue
|
|
COPY --from=deps /app/packages/recall /app/packages/recall
|
|
COPY --from=deps /app/packages/system-bus /app/packages/system-bus
|
|
COPY --from=deps /app/package.json /app/package.json
|
|
|
|
WORKDIR /app/packages/system-bus
|
|
|
|
ENV NODE_ENV=production
|
|
ENV INNGEST_DEV=0
|
|
ENV WORKER_ROLE=cluster
|
|
|
|
EXPOSE 3111
|
|
|
|
CMD ["bun", "run", "src/serve.ts"]
|