diff --git a/packages/ingest/Dockerfile b/packages/ingest/Dockerfile new file mode 100644 index 0000000..20b04ea --- /dev/null +++ b/packages/ingest/Dockerfile @@ -0,0 +1,16 @@ +# Built from the monorepo root context. The v2 ingest sweep worker: no HTTP server, +# it loops `sweep` on an interval and talks to core over LOCKSTEP_API_URL. +FROM node:20-alpine AS build +WORKDIR /app +COPY . . +RUN npm install +RUN npm run build -w @lockstep/ingest + +FROM node:20-alpine AS run +WORKDIR /app +ENV NODE_ENV=production +COPY --from=build /app/node_modules ./node_modules +COPY --from=build /app/packages/ingest ./packages/ingest +# Loop: fetch → distill → propose, every 15 min (serve default). Env: LOCKSTEP_API_URL, +# LOCKSTEP_INGEST_TOKEN, COMPOSIO_API_KEY, ANTHROPIC_API_KEY. +CMD ["node", "packages/ingest/dist/index.js", "serve"] diff --git a/railway.ingest.json b/railway.ingest.json new file mode 100644 index 0000000..9184cd9 --- /dev/null +++ b/railway.ingest.json @@ -0,0 +1,11 @@ +{ + "$schema": "https://railway.app/railway.schema.json", + "build": { + "builder": "DOCKERFILE", + "dockerfilePath": "packages/ingest/Dockerfile" + }, + "deploy": { + "restartPolicyType": "ON_FAILURE", + "restartPolicyMaxRetries": 5 + } +}