sandbox-agent/frontend/packages/inspector/Dockerfile
2026-03-07 18:54:35 -08:00

52 lines
1.6 KiB
Docker

FROM node:22-alpine AS build
WORKDIR /app
RUN npm install -g pnpm@9
# Copy package files for all workspaces
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./
COPY frontend/packages/inspector/package.json ./frontend/packages/inspector/
COPY sdks/typescript/package.json ./sdks/typescript/
COPY sdks/cli-shared/package.json ./sdks/cli-shared/
COPY sdks/acp-http-client/package.json ./sdks/acp-http-client/
COPY sdks/persist-indexeddb/package.json ./sdks/persist-indexeddb/
COPY sdks/react/package.json ./sdks/react/
# Install dependencies
RUN pnpm install --filter @sandbox-agent/inspector...
# Copy cli-shared source and build it
COPY sdks/cli-shared ./sdks/cli-shared
RUN cd sdks/cli-shared && pnpm exec tsup
# Copy acp-http-client source and build it
COPY sdks/acp-http-client ./sdks/acp-http-client
RUN cd sdks/acp-http-client && pnpm exec tsup
# Copy SDK source (with pre-generated types) and build
COPY sdks/typescript ./sdks/typescript
RUN cd sdks/typescript && pnpm exec tsup
# Copy persist-indexeddb and build (depends on SDK)
COPY sdks/persist-indexeddb ./sdks/persist-indexeddb
RUN cd sdks/persist-indexeddb && pnpm exec tsup
# Copy react and build (depends on SDK)
COPY sdks/react ./sdks/react
RUN cd sdks/react && pnpm exec tsup
# Copy inspector source
COPY frontend/packages/inspector ./frontend/packages/inspector
# Build inspector
RUN cd frontend/packages/inspector && pnpm exec vite build
FROM caddy:alpine
COPY --from=build /app/frontend/packages/inspector/dist /srv/ui
RUN cat > /etc/caddy/Caddyfile <<'EOF'
:80 {
root * /srv
file_server
try_files {path} /ui/index.html
}
EOF
EXPOSE 80