| 1 | FROM node:24-alpine AS build
|
| 2 | WORKDIR /app
|
| 3 | RUN corepack enable
|
| 4 | COPY package.json pnpm-lock.yaml pnpm-workspace.yaml tsconfig.json tsup.config.ts ./
|
| 5 | COPY apps/runtime-sidecar/package.json apps/runtime-sidecar/package.json
|
| 6 | COPY packages/core/package.json packages/core/package.json
|
| 7 | COPY packages/protocol/package.json packages/protocol/package.json
|
| 8 | COPY packages/sdk/package.json packages/sdk/package.json
|
| 9 | RUN corepack pnpm install --frozen-lockfile
|
| 10 | COPY apps/runtime-sidecar apps/runtime-sidecar
|
| 11 | COPY packages/core packages/core
|
| 12 | COPY packages/protocol packages/protocol
|
| 13 | COPY packages/sdk packages/sdk
|
| 14 | RUN corepack pnpm exec tsup apps/runtime-sidecar/src/index.ts --format esm --target node24 --out-dir dist
|
| 15 |
|
| 16 | FROM node:24-alpine
|
| 17 | WORKDIR /app
|
| 18 | COPY --from=build /app/dist/index.js /app/runtime-sidecar.js
|
| 19 | RUN mkdir -p /app/data && chown -R node:node /app
|
| 20 | USER node
|
| 21 | ENV HOST=0.0.0.0 PORT=8080 OPENCLASP_SESSION_FILE=/app/data/openclasp-sessions.json
|
| 22 | EXPOSE 8080
|
| 23 | CMD ["node", "/app/runtime-sidecar.js"]
|