learning_ai_clock/web/Dockerfile
saravanakumardb1 582936ad65 feat(repo): migrate chronomind workspace to pnpm
- Add pnpm-workspace.yaml (backend + web + common-plat packages)
- Add root package.json with workspace scripts and pnpm config
- Add packageManager: pnpm@10.6.5 to backend/web manifests
- Remove package-lock.json files, generate pnpm-lock.yaml
- Add root .gitignore (was missing)
- Update CI to use pnpm workspace commands
- Add transpilePackages + webpack symlinks to next.config.ts
- Update docker-prep.sh for backend + web consumers
- Rewrite backend/web Dockerfiles to .docker-deps consumer pattern
- Add .dockerignore

Verified: typecheck + 576 tests (182 backend + 394 web) + builds pass
Docker: backend + web smoke builds pass
2026-03-22 19:11:01 -07:00

31 lines
1.0 KiB
Docker

# Pre-requisite: run ./scripts/docker-prep.sh to pack @bytelyst/* tarballs
# ── Stage 1: Build ────────────────────────────────────
FROM node:22-slim AS builder
WORKDIR /app/web
RUN npm config set strict-ssl false
COPY web/package.json ./package.json
COPY web/.docker-deps/ ./.docker-deps/
RUN npm install --legacy-peer-deps
COPY web/src/ ./src/
COPY web/tsconfig.json web/next.config.ts web/postcss.config.mjs ./
COPY web/public/ ./public/
COPY shared/ ../shared/
ENV NEXT_TELEMETRY_DISABLED=1
ENV NODE_TLS_REJECT_UNAUTHORIZED=0
RUN npm run build
# ── Stage 2: Runtime ──────────────────────────────────
FROM node:22-slim
WORKDIR /app
ENV NODE_ENV=production
ENV NEXT_TELEMETRY_DISABLED=1
COPY --from=builder /app/web/.next/standalone ./
COPY --from=builder /app/web/.next/static ./.next/static
COPY --from=builder /app/web/public ./public
EXPOSE 3000
CMD ["node", "server.js"]