diff --git a/Dockerfile b/Dockerfile index e16c24a9..e312b978 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,39 +1,10 @@ -FROM node:lts-trixie-slim AS base +FROM node:lts-trixie-slim + RUN apt-get update \ && apt-get install -y --no-install-recommends ca-certificates curl git \ && rm -rf /var/lib/apt/lists/* -RUN corepack enable -FROM base AS deps -WORKDIR /app -COPY package.json pnpm-workspace.yaml pnpm-lock.yaml .npmrc ./ -COPY cli/package.json cli/ -COPY server/package.json server/ -COPY ui/package.json ui/ -COPY packages/shared/package.json packages/shared/ -COPY packages/db/package.json packages/db/ -COPY packages/adapter-utils/package.json packages/adapter-utils/ -COPY packages/adapters/claude-local/package.json packages/adapters/claude-local/ -COPY packages/adapters/codex-local/package.json packages/adapters/codex-local/ -COPY packages/adapters/cursor-local/package.json packages/adapters/cursor-local/ -COPY packages/adapters/openclaw-gateway/package.json packages/adapters/openclaw-gateway/ -COPY packages/adapters/opencode-local/package.json packages/adapters/opencode-local/ -COPY packages/adapters/pi-local/package.json packages/adapters/pi-local/ - -RUN pnpm install --no-frozen-lockfile - -FROM base AS build -WORKDIR /app -COPY --from=deps /app /app -COPY . . -RUN pnpm --filter @paperclipai/ui build -RUN pnpm --filter @paperclipai/server build -RUN test -f server/dist/index.js || (echo "ERROR: server build output missing" && exit 1) - -FROM base AS production -WORKDIR /app -COPY --chown=node:node --from=build /app /app -RUN npm install --global --omit=dev @anthropic-ai/claude-code@latest @openai/codex@latest opencode-ai \ +RUN npm install --global paperclipai@latest @anthropic-ai/claude-code@latest @openai/codex@latest opencode-ai \ && mkdir -p /paperclip \ && chown node:node /paperclip @@ -52,4 +23,4 @@ VOLUME ["/paperclip"] EXPOSE 3100 USER node -CMD ["node", "--import", "./server/node_modules/tsx/dist/loader.mjs", "server/dist/index.js"] +CMD ["paperclipai", "start"]