Fix Railway deployment config

This commit is contained in:
Nathan Flurry 2026-03-12 11:57:26 -07:00
parent f365342dcc
commit 6e95596799
4 changed files with 404 additions and 277 deletions

View file

@ -4,24 +4,18 @@ FROM node:22-bookworm-slim AS base
ENV PNPM_HOME=/pnpm
ENV PATH=$PNPM_HOME:$PATH
WORKDIR /app
RUN corepack enable && corepack prepare pnpm@10.28.2 --activate
RUN corepack enable && corepack prepare pnpm@9.15.0 --activate
FROM base AS deps
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml turbo.json tsconfig.base.json ./
COPY packages/shared/package.json packages/shared/package.json
COPY packages/backend/package.json packages/backend/package.json
COPY packages/rivetkit-vendor/rivetkit/package.json packages/rivetkit-vendor/rivetkit/package.json
COPY packages/rivetkit-vendor/workflow-engine/package.json packages/rivetkit-vendor/workflow-engine/package.json
COPY packages/rivetkit-vendor/traces/package.json packages/rivetkit-vendor/traces/package.json
COPY packages/rivetkit-vendor/sqlite-vfs/package.json packages/rivetkit-vendor/sqlite-vfs/package.json
COPY packages/rivetkit-vendor/sqlite-vfs-linux-x64/package.json packages/rivetkit-vendor/sqlite-vfs-linux-x64/package.json
COPY packages/rivetkit-vendor/sqlite-vfs-linux-arm64/package.json packages/rivetkit-vendor/sqlite-vfs-linux-arm64/package.json
COPY packages/rivetkit-vendor/sqlite-vfs-darwin-arm64/package.json packages/rivetkit-vendor/sqlite-vfs-darwin-arm64/package.json
COPY packages/rivetkit-vendor/sqlite-vfs-darwin-x64/package.json packages/rivetkit-vendor/sqlite-vfs-darwin-x64/package.json
COPY packages/rivetkit-vendor/sqlite-vfs-win32-x64/package.json packages/rivetkit-vendor/sqlite-vfs-win32-x64/package.json
COPY packages/rivetkit-vendor/runner/package.json packages/rivetkit-vendor/runner/package.json
COPY packages/rivetkit-vendor/runner-protocol/package.json packages/rivetkit-vendor/runner-protocol/package.json
COPY packages/rivetkit-vendor/virtual-websocket/package.json packages/rivetkit-vendor/virtual-websocket/package.json
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml turbo.json ./
COPY docs/openapi.json docs/openapi.json
COPY foundry/tsconfig.base.json foundry/tsconfig.base.json
COPY foundry/packages/shared/package.json foundry/packages/shared/package.json
COPY foundry/packages/backend/package.json foundry/packages/backend/package.json
COPY sdks/acp-http-client/package.json sdks/acp-http-client/package.json
COPY sdks/cli-shared/package.json sdks/cli-shared/package.json
COPY sdks/persist-rivet/package.json sdks/persist-rivet/package.json
COPY sdks/typescript/package.json sdks/typescript/package.json
RUN pnpm fetch --frozen-lockfile --filter @sandbox-agent/foundry-backend...
FROM base AS build
@ -29,8 +23,12 @@ COPY --from=deps /pnpm/store /pnpm/store
COPY . .
RUN pnpm install --frozen-lockfile --prefer-offline --filter @sandbox-agent/foundry-backend...
RUN pnpm --filter @sandbox-agent/foundry-shared build
RUN pnpm --filter @sandbox-agent/persist-rivet build
RUN pnpm --filter acp-http-client build
RUN pnpm --filter @sandbox-agent/cli-shared build
RUN SKIP_OPENAPI_GEN=1 pnpm --filter sandbox-agent build
RUN pnpm --filter @sandbox-agent/foundry-backend build
RUN pnpm --filter @sandbox-agent/foundry-backend deploy --prod --legacy /out
RUN pnpm --filter @sandbox-agent/foundry-backend deploy --prod /out
FROM oven/bun:1.2 AS runtime
ENV NODE_ENV=production

View file

@ -13,23 +13,25 @@
"start": "bun dist/index.js start"
},
"dependencies": {
"@standard-schema/spec": "^1.0.0",
"@daytonaio/sdk": "0.141.0",
"@hono/node-server": "^1.19.7",
"@hono/node-ws": "^1.3.0",
"@iarna/toml": "^2.2.5",
"@sandbox-agent/foundry-shared": "workspace:*",
"@sandbox-agent/persist-rivet": "workspace:*",
"drizzle-kit": "^0.31.8",
"drizzle-orm": "^0.44.5",
"hono": "^4.11.9",
"pino": "^10.3.1",
"rivetkit": "https://pkg.pr.new/rivet-dev/rivet/rivetkit@4409",
"sandbox-agent": "workspace:*",
"uuid": "^13.0.0",
"ws": "^8.19.0",
"zod": "^4.1.5"
},
"devDependencies": {
"@types/bun": "^1.3.9",
"drizzle-kit": "^0.31.8",
"tsup": "^8.5.0"
}
}

643
pnpm-lock.yaml generated

File diff suppressed because it is too large Load diff

View file

@ -1,6 +1,6 @@
[build]
builder = "DOCKERFILE"
dockerfilePath = "Dockerfile"
dockerfilePath = "foundry/Dockerfile"
[deploy]
restartPolicyType = "ON_FAILURE"